mirror of https://github.com/nirenjan/libx52.git
cleanup: Remove autotools build infrastructure
The autotools build infrastructure was deprecated back in 0.3.3, and any bugs in the Meson build infrastructure have been fixed now. This eliminates the legacy build scripts which were hard to maintain.pull/66/head
parent
8b139a05c4
commit
7bdaea442e
|
|
@ -1,9 +1,6 @@
|
||||||
#!/bin/bash -x
|
#!/bin/bash -x
|
||||||
# Install dependencies to build and test on Ubuntu runners
|
# Install dependencies to build and test on Ubuntu runners
|
||||||
brew install \
|
brew install \
|
||||||
autoconf \
|
|
||||||
automake \
|
|
||||||
libtool \
|
|
||||||
pkg-config \
|
pkg-config \
|
||||||
python3 \
|
python3 \
|
||||||
gettext \
|
gettext \
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,6 @@
|
||||||
# Install dependencies to build and test on Ubuntu runners
|
# Install dependencies to build and test on Ubuntu runners
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y \
|
sudo apt-get install -y \
|
||||||
autoconf \
|
|
||||||
automake \
|
|
||||||
libtool \
|
|
||||||
pkg-config \
|
pkg-config \
|
||||||
python3 \
|
python3 \
|
||||||
gettext \
|
gettext \
|
||||||
|
|
@ -17,7 +14,6 @@ sudo apt-get install -y \
|
||||||
libcmocka-dev \
|
libcmocka-dev \
|
||||||
faketime \
|
faketime \
|
||||||
meson \
|
meson \
|
||||||
ninja-build \
|
ninja-build
|
||||||
libinih-dev
|
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ Build has been tested on the following operating systems (x86-64 only):
|
||||||
| Platform | Install instructions |
|
| Platform | Install instructions |
|
||||||
| -------- | -------------------- |
|
| -------- | -------------------- |
|
||||||
| Ubuntu | `sudo apt-get install meson gettext libhidapi-dev libevdev-dev libusb-1.0-0-dev libinih-dev pkg-config python3 git` |
|
| Ubuntu | `sudo apt-get install meson gettext libhidapi-dev libevdev-dev libusb-1.0-0-dev libinih-dev pkg-config python3 git` |
|
||||||
| MacOS + Homebrew | `brew install meson gettext hidapi libtool libusb pkg-config python3 git` |
|
| MacOS + Homebrew | `brew install meson gettext hidapi libusb pkg-config python3 git` |
|
||||||
| Arch Linux | `pacman -S base-devel meson libusb hidapi libevdev libinih python git` |
|
| Arch Linux | `pacman -S base-devel meson libusb hidapi libevdev libinih python git` |
|
||||||
| Fedora | `sudo dnf install meson gettext-devel findutils hidapi-devel libusb-devel libevdev-devel inih-devel pkg-config python3 git` |
|
| Fedora | `sudo dnf install meson gettext-devel findutils hidapi-devel libusb-devel libevdev-devel inih-devel pkg-config python3 git` |
|
||||||
|
|
||||||
|
|
@ -47,13 +47,13 @@ Build has been tested on the following operating systems (x86-64 only):
|
||||||
git clone https://github.com/nirenjan/libx52.git
|
git clone https://github.com/nirenjan/libx52.git
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Run autogen.sh
|
2. Configure the build (from the repository root)
|
||||||
```
|
```
|
||||||
cd ./libx52
|
cd libx52
|
||||||
meson setup build -Dprefix=/usr
|
meson setup build -Dprefix=/usr
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Run the following commands:
|
3. Compile and install:
|
||||||
```
|
```
|
||||||
meson compile -C build && meson install -C build
|
meson compile -C build && meson install -C build
|
||||||
```
|
```
|
||||||
|
|
|
||||||
110
Makefile.am
110
Makefile.am
|
|
@ -1,110 +0,0 @@
|
||||||
# Top level Automake for libx52
|
|
||||||
#
|
|
||||||
# Copyright (C) 2012-2018 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
|
|
||||||
|
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
|
||||||
|
|
||||||
# Build any support libraries first
|
|
||||||
SUBDIRS = subprojects
|
|
||||||
|
|
||||||
if USE_NLS
|
|
||||||
SUBDIRS += po
|
|
||||||
endif
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Defaults
|
|
||||||
#######################################################################
|
|
||||||
bin_PROGRAMS =
|
|
||||||
check_PROGRAMS =
|
|
||||||
lib_LTLIBRARIES =
|
|
||||||
check_LTLIBRARIES =
|
|
||||||
pkgconfig_DATA =
|
|
||||||
TESTS =
|
|
||||||
EXTRA_DIST =
|
|
||||||
CLEANFILES =
|
|
||||||
BUILT_SOURCES =
|
|
||||||
|
|
||||||
x52includedir = $(includedir)/libx52
|
|
||||||
x52include_HEADERS =
|
|
||||||
|
|
||||||
LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/tap-driver.sh
|
|
||||||
|
|
||||||
########################################################################
|
|
||||||
# Get build version
|
|
||||||
########################################################################
|
|
||||||
BUILT_SOURCES += version-info.h
|
|
||||||
CLEANFILES += version-info.h
|
|
||||||
|
|
||||||
version-info.h: ${top_srcdir}/version-info
|
|
||||||
CC=${CC} ${top_srcdir}/version-info ${top_srcdir} >$@
|
|
||||||
|
|
||||||
########################################################################
|
|
||||||
# Include automake stubs
|
|
||||||
########################################################################
|
|
||||||
include libx52/Makefile.am
|
|
||||||
include libx52util/Makefile.am
|
|
||||||
include libx52io/Makefile.am
|
|
||||||
include libusbx52/Makefile.am
|
|
||||||
|
|
||||||
include cli/Makefile.am
|
|
||||||
include joytest/Makefile.am
|
|
||||||
include evtest/Makefile.am
|
|
||||||
include daemon/Makefile.am
|
|
||||||
include udev/Makefile.am
|
|
||||||
|
|
||||||
include bugreport/Makefile.am
|
|
||||||
include docs/Makefile.am
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Doxygen support
|
|
||||||
#######################################################################
|
|
||||||
if HAVE_DOXYGEN
|
|
||||||
DXGEN = $(DXGEN_@AM_V@)
|
|
||||||
DXGEN_ = $(DXGEN_@AM_DEFAULT_V@)
|
|
||||||
DXGEN_0 = @printf " DXGEN $<\n";
|
|
||||||
|
|
||||||
SYSCONFDIR=@sysconfdir@
|
|
||||||
LOCALSTATEDIR=@localstatedir@
|
|
||||||
export SYSCONFDIR
|
|
||||||
export LOCALSTATEDIR
|
|
||||||
docs/.stamp: Doxyfile
|
|
||||||
$(DXGEN)$(DOXYGEN) $<
|
|
||||||
$(AM_V_at)touch $@
|
|
||||||
|
|
||||||
all-local: docs/.stamp
|
|
||||||
clean-local:
|
|
||||||
rm -rf $(top_builddir)/docs
|
|
||||||
|
|
||||||
man1_MANS = docs/man/man1/x52cli.1 docs/man/man1/x52bugreport.1
|
|
||||||
$(man1_MANS): docs/.stamp
|
|
||||||
|
|
||||||
# Install Doxygen generated HTML documentation and manpages
|
|
||||||
install-data-local:
|
|
||||||
$(INSTALL) -d $(DESTDIR)$(docdir)
|
|
||||||
cp -R -P $(top_builddir)/docs/html $(DESTDIR)$(docdir)
|
|
||||||
|
|
||||||
uninstall-local:
|
|
||||||
rm -rf $(DESTDIR)$(docdir)
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Extra files that need to be in the distribution
|
|
||||||
EXTRA_DIST += \
|
|
||||||
ABOUT-NLS \
|
|
||||||
AUTHORS \
|
|
||||||
ChangeLog.md \
|
|
||||||
CONTRIBUTING.md \
|
|
||||||
Doxyfile.in \
|
|
||||||
DoxygenLayout.xml \
|
|
||||||
INSTALL.md \
|
|
||||||
LICENSE \
|
|
||||||
README.md \
|
|
||||||
config.rpath \
|
|
||||||
version-info \
|
|
||||||
Version \
|
|
||||||
gettext.h \
|
|
||||||
usb-ids.h \
|
|
||||||
po/README.md
|
|
||||||
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/sh -x
|
|
||||||
|
|
||||||
autoreconf --install
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
# Automake for libx52-bugreport
|
|
||||||
#
|
|
||||||
# Copyright (C) 2021 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
|
|
||||||
|
|
||||||
bin_PROGRAMS += x52bugreport
|
|
||||||
|
|
||||||
# Bug report program that reports the build and linked library versions
|
|
||||||
x52bugreport_SOURCES = bugreport/bugreport.c
|
|
||||||
x52bugreport_CFLAGS = \
|
|
||||||
-I$(top_srcdir)/libx52io \
|
|
||||||
@LIBUSB_CFLAGS@ \
|
|
||||||
@HIDAPI_CFLAGS@ \
|
|
||||||
$(WARN_CFLAGS)
|
|
||||||
|
|
||||||
x52bugreport_LDFLAGS = \
|
|
||||||
@LIBUSB_LIBS@ \
|
|
||||||
@HIDAPI_LIBS@ \
|
|
||||||
$(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
x52bugreport_LDADD = libx52io.la
|
|
||||||
|
|
||||||
$(x52bugreport_OBJECTS): version-info.h
|
|
||||||
|
|
||||||
EXTRA_DIST += bugreport/bugreport.dox
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
# Automake for x52cli
|
|
||||||
#
|
|
||||||
# Copyright (C) 2012-2018 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
|
|
||||||
|
|
||||||
bin_PROGRAMS += x52cli
|
|
||||||
|
|
||||||
# Command line utility that front ends the core library
|
|
||||||
x52cli_SOURCES = cli/x52_cli.c
|
|
||||||
x52cli_CFLAGS = -I $(top_srcdir)/libx52 $(WARN_CFLAGS)
|
|
||||||
x52cli_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
x52cli_LDADD = libx52.la
|
|
||||||
|
|
||||||
if HAVE_CMOCKA
|
|
||||||
TESTS += test-cli
|
|
||||||
check_PROGRAMS += test-cli
|
|
||||||
|
|
||||||
test_cli_SOURCES = cli/x52_cli.c cli/test_x52_cli.c
|
|
||||||
test_cli_CFLAGS = @CMOCKA_CFLAGS@ -DX52_CLI_TESTING -I $(top_srcdir)/libx52
|
|
||||||
test_cli_LDFLAGS = @CMOCKA_LIBS@ $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
# Add a dependency on test_x52_cli_tests.c
|
|
||||||
cli/test_x52_cli.c: cli/test_x52_cli_tests.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
EXTRA_DIST += cli/test_x52_cli_tests.c
|
|
||||||
153
configure.ac
153
configure.ac
|
|
@ -1,153 +0,0 @@
|
||||||
# Autoconf settings for libx52
|
|
||||||
#
|
|
||||||
# Copyright (C) 2012-2021 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
|
|
||||||
|
|
||||||
AC_INIT([libx52], [m4_esyscmd_s([cat ./Version])], [nirenjan@gmail.com])
|
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
|
||||||
AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
|
|
||||||
AC_REQUIRE_AUX_FILE([tap-driver.sh])
|
|
||||||
AC_PROG_CC
|
|
||||||
AC_PROG_CC_STDC
|
|
||||||
AC_PROG_AWK
|
|
||||||
AC_PROG_SED
|
|
||||||
AC_PROG_MKDIR_P
|
|
||||||
AM_PROG_AR
|
|
||||||
AM_PATH_PYTHON([3.5])
|
|
||||||
LT_INIT
|
|
||||||
PKG_PROG_PKG_CONFIG
|
|
||||||
PKG_INSTALLDIR
|
|
||||||
AX_COMPILER_FLAGS
|
|
||||||
VISIBILITY_CFLAGS=
|
|
||||||
if test "x$GCC" = xyes; then
|
|
||||||
VISIBILITY_CFLAGS="-fvisibility=hidden"
|
|
||||||
fi
|
|
||||||
AC_SUBST([VISIBILITY_CFLAGS])
|
|
||||||
AC_CANONICAL_HOST
|
|
||||||
AX_GCC_FUNC_ATTRIBUTE([constructor])
|
|
||||||
AX_GCC_FUNC_ATTRIBUTE([destructor])
|
|
||||||
AX_GCC_FUNC_ATTRIBUTE([format])
|
|
||||||
AX_GCC_FUNC_ATTRIBUTE([noreturn])
|
|
||||||
AC_C_TYPEOF
|
|
||||||
|
|
||||||
AC_MSG_NOTICE([Detected host OS is ${host_os}])
|
|
||||||
build_linux=no
|
|
||||||
# Detect target system
|
|
||||||
case "${host_os}" in
|
|
||||||
linux*)
|
|
||||||
build_linux=yes
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
AM_CONDITIONAL([LINUX], [test "x${build_linux}" = "xyes"])
|
|
||||||
|
|
||||||
# Internationalization
|
|
||||||
AM_GNU_GETTEXT([external])
|
|
||||||
AM_GNU_GETTEXT_VERSION(0.19)
|
|
||||||
AM_CONDITIONAL([USE_NLS], [test "x${USE_NLS}" == "xyes"])
|
|
||||||
|
|
||||||
# Check for libusb-1.0
|
|
||||||
PKG_CHECK_MODULES([LIBUSB], [libusb-1.0])
|
|
||||||
AC_SUBST([LIBUSB_PC], [libusb-1.0])
|
|
||||||
|
|
||||||
# systemd support
|
|
||||||
PKG_CHECK_MODULES([SYSTEMD], [systemd], [have_systemd=yes], [have_systemd=no])
|
|
||||||
AC_ARG_ENABLE([systemd],
|
|
||||||
[AS_HELP_STRING([--disable-systemd], [Disable systemd support])]
|
|
||||||
)
|
|
||||||
AC_ARG_WITH([systemdsystemunitdir],
|
|
||||||
[AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd unit files])],
|
|
||||||
[systemdsystemunitdir=$withval],
|
|
||||||
[systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]
|
|
||||||
)
|
|
||||||
AC_SUBST([systemdsystemunitdir], [$systemdsystemunitdir])
|
|
||||||
AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = "xyes" -a "x$enable_systemd" != "xno"])
|
|
||||||
AM_COND_IF([HAVE_SYSTEMD],,
|
|
||||||
[
|
|
||||||
AC_MSG_NOTICE([systemd not found or disabled. Enabling timestamps in logs])
|
|
||||||
AX_APPEND_FLAG([-DPINELOG_SHOW_DATE=1], [PINELOG_CFLAGS])
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
# evdev support
|
|
||||||
# This is only on Linux machines, so we need to set an automake conditional
|
|
||||||
PKG_CHECK_MODULES([EVDEV], [libevdev], [have_evdev=yes], [have_evdev=no])
|
|
||||||
AM_CONDITIONAL([HAVE_EVDEV], [test "x$have_evdev" = "xyes"])
|
|
||||||
|
|
||||||
# Pinelog configuration
|
|
||||||
AX_APPEND_FLAG([-DPINELOG_SHOW_LEVEL=1], [PINELOG_CFLAGS])
|
|
||||||
AX_APPEND_FLAG([-DPINELOG_SHOW_BACKTRACE=1], [PINELOG_CFLAGS])
|
|
||||||
AX_APPEND_FLAG([-DPINELOG_BUFFER_SZ=1024], [PINELOG_CFLAGS])
|
|
||||||
AC_SUBST([PINELOG_CFLAGS])
|
|
||||||
|
|
||||||
# Check for hidapi. This uses a different pkg-config file on Linux vs other
|
|
||||||
# hosts, so check accordingly
|
|
||||||
AM_COND_IF([LINUX], [hidapi_backend=hidapi-hidraw], [hidapi_backend=hidapi])
|
|
||||||
PKG_CHECK_MODULES([HIDAPI], [${hidapi_backend}])
|
|
||||||
AC_SUBST([HIDAPI_PC], [${hidapi_backend}])
|
|
||||||
|
|
||||||
# Check for inih library, this is now packaged with recent distros
|
|
||||||
PKG_CHECK_MODULES([INIH], [inih])
|
|
||||||
|
|
||||||
# Check for pthreads
|
|
||||||
ACX_PTHREAD
|
|
||||||
|
|
||||||
# make distcheck doesn't work if some files are installed outside $prefix.
|
|
||||||
# Check for a prefix ending in /_inst, if this is found, we can assume this
|
|
||||||
# to be a make distcheck, and disable some of the installcheck stuff.
|
|
||||||
AS_CASE([$prefix], [*/_inst],
|
|
||||||
[AC_MSG_NOTICE([[Prefix ends in /_inst; this looks like a 'make distcheck']])
|
|
||||||
is_make_distcheck=yes])
|
|
||||||
AM_CONDITIONAL([IS_MAKE_DISTCHECK], [test "x$is_make_distcheck" = xyes])
|
|
||||||
AC_MSG_CHECKING([final decision IS_MAKE_DISTCHECK (running "make distcheck"?)])
|
|
||||||
AM_COND_IF([IS_MAKE_DISTCHECK], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])])
|
|
||||||
|
|
||||||
# udev support
|
|
||||||
PKG_CHECK_MODULES([UDEV], [udev], [have_udev=yes], [have_udev=no])
|
|
||||||
AM_CONDITIONAL([HAVE_UDEV], [test "x$have_udev" = xyes])
|
|
||||||
AC_ARG_WITH([udevrulesdir],
|
|
||||||
AS_HELP_STRING([--with-udevrulesdir=DIR], [Directory for udev rules]),
|
|
||||||
[udevrulesdir=$withval],
|
|
||||||
[udevrulesdir=$($PKG_CONFIG --variable=udevdir udev)"/rules.d"])
|
|
||||||
AC_SUBST([udevrulesdir], [$udevrulesdir])
|
|
||||||
|
|
||||||
AC_ARG_WITH([input-group],
|
|
||||||
AS_HELP_STRING([--with-input-group=GROUP], [Group allowed to access input devices]),
|
|
||||||
[input_group=$withval],
|
|
||||||
[input_group=plugdev])
|
|
||||||
AC_SUBST([input_group], [$input_group])
|
|
||||||
|
|
||||||
# Doxygen Support
|
|
||||||
AC_CHECK_PROGS([DOXYGEN], [doxygen])
|
|
||||||
AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"])
|
|
||||||
AM_COND_IF([HAVE_DOXYGEN],
|
|
||||||
[AC_CONFIG_FILES([Doxyfile])],
|
|
||||||
[AC_MSG_WARN(["Doxygen not found; continuing without doxygen support"])])
|
|
||||||
|
|
||||||
# cmocka unit tests
|
|
||||||
PKG_CHECK_MODULES([CMOCKA], [cmocka >= 1.1], [have_cmocka=yes], [have_cmocka=no])
|
|
||||||
AM_CONDITIONAL([HAVE_CMOCKA], [test "x$have_cmocka" = xyes])
|
|
||||||
AM_COND_IF([HAVE_CMOCKA], [],
|
|
||||||
[AC_MSG_WARN(["cmocka not found; disabling unit test build"])])
|
|
||||||
|
|
||||||
# Check for the presence of tm_gmtoff in struct tm. If we have this, then we
|
|
||||||
# can use it to determine the true GMT offset
|
|
||||||
AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,
|
|
||||||
[AC_MSG_WARN(["Cannot find tm_gmtoff in struct tm, using slower method"])],
|
|
||||||
[#define _GNU_SOURCE
|
|
||||||
#include <time.h>
|
|
||||||
])
|
|
||||||
|
|
||||||
# Configuration headers
|
|
||||||
AC_CONFIG_HEADERS([config.h])
|
|
||||||
|
|
||||||
AC_CONFIG_FILES([ po/Makefile.in
|
|
||||||
Makefile
|
|
||||||
subprojects/Makefile
|
|
||||||
libx52/libx52.pc
|
|
||||||
libx52io/libx52io.pc
|
|
||||||
libx52util/libx52util.pc
|
|
||||||
subprojects/pinelog/Makefile
|
|
||||||
udev/60-saitek-x52-x52pro.rules
|
|
||||||
])
|
|
||||||
AC_OUTPUT
|
|
||||||
|
|
@ -1,146 +0,0 @@
|
||||||
# Automake for x52d
|
|
||||||
#
|
|
||||||
# Copyright (C) 2021 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
|
|
||||||
bin_PROGRAMS += x52d x52ctl
|
|
||||||
|
|
||||||
# Service daemon that manages the X52 device
|
|
||||||
x52d_SOURCES = \
|
|
||||||
daemon/x52d_main.c \
|
|
||||||
daemon/x52d_config_parser.c \
|
|
||||||
daemon/x52d_config_dump.c \
|
|
||||||
daemon/x52d_config.c \
|
|
||||||
daemon/x52d_device.c \
|
|
||||||
daemon/x52d_client.c \
|
|
||||||
daemon/x52d_clock.c \
|
|
||||||
daemon/x52d_mouse.c \
|
|
||||||
daemon/x52d_notify.c \
|
|
||||||
daemon/x52d_led.c \
|
|
||||||
daemon/x52d_command.c \
|
|
||||||
daemon/x52d_comm_internal.c \
|
|
||||||
daemon/x52d_comm_client.c
|
|
||||||
|
|
||||||
x52d_CFLAGS = \
|
|
||||||
-I $(top_srcdir) \
|
|
||||||
-I $(top_srcdir)/libx52io \
|
|
||||||
-I $(top_srcdir)/libx52 \
|
|
||||||
-I $(top_srcdir)/libx52util \
|
|
||||||
-I $(top_srcdir)/subprojects/pinelog \
|
|
||||||
-DSYSCONFDIR=\"$(sysconfdir)\" \
|
|
||||||
-DLOCALEDIR=\"$(localedir)\" \
|
|
||||||
-DLOGDIR=\"$(localstatedir)/log\" \
|
|
||||||
-DRUNDIR=\"$(localstatedir)/run\" \
|
|
||||||
@INIH_CFLAGS@ @PTHREAD_CFLAGS@ $(WARN_CFLAGS)
|
|
||||||
|
|
||||||
x52d_LDFLAGS = @INIH_LIBS@ @PTHREAD_LIBS@ $(WARN_LDFLAGS)
|
|
||||||
x52d_LDADD = \
|
|
||||||
subprojects/pinelog/libpinelog.la \
|
|
||||||
libx52.la \
|
|
||||||
@LTLIBINTL@
|
|
||||||
|
|
||||||
if HAVE_EVDEV
|
|
||||||
x52d_SOURCES += \
|
|
||||||
daemon/x52d_io.c \
|
|
||||||
daemon/x52d_mouse_evdev.c
|
|
||||||
|
|
||||||
x52d_CFLAGS += -DHAVE_EVDEV @EVDEV_CFLAGS@
|
|
||||||
x52d_LDFLAGS += @EVDEV_LIBS@
|
|
||||||
x52d_LDADD += libx52io.la
|
|
||||||
endif
|
|
||||||
|
|
||||||
lib_LTLIBRARIES += libx52dcomm.la
|
|
||||||
|
|
||||||
# Client library to communicate with X52 daemon
|
|
||||||
libx52dcomm_la_SOURCES = \
|
|
||||||
daemon/x52d_comm_client.c \
|
|
||||||
daemon/x52d_comm_internal.c
|
|
||||||
libx52dcomm_la_CFLAGS = \
|
|
||||||
-I $(top_srcdir) \
|
|
||||||
-DSYSCONFDIR=\"$(sysconfdir)\" \
|
|
||||||
-DLOCALEDIR=\"$(localedir)\" \
|
|
||||||
-DLOGDIR=\"$(localstatedir)/log\" \
|
|
||||||
-DRUNDIR=\"$(localstatedir)/run\" \
|
|
||||||
$(VISIBILITY_CFLAGS) \
|
|
||||||
$(WARN_CFLAGS)
|
|
||||||
libx52dcomm_la_LDFLAGS = \
|
|
||||||
-export-symbols-regex '^x52d_(dial_command|dial_notify|format_command|send_command|recv_notification)$' \
|
|
||||||
$(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
x52include_HEADERS += daemon/x52dcomm.h
|
|
||||||
|
|
||||||
x52ctl_SOURCES = daemon/x52ctl.c
|
|
||||||
x52ctl_CFLAGS = \
|
|
||||||
-I $(top_srcdir) \
|
|
||||||
$(WARN_CFLAGS)
|
|
||||||
x52ctl_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
x52ctl_LDADD = libx52dcomm.la @LTLIBINTL@
|
|
||||||
|
|
||||||
x52dconfdir = @sysconfdir@/x52d
|
|
||||||
x52dconf_DATA = daemon/x52d.conf
|
|
||||||
|
|
||||||
install-exec-hook:
|
|
||||||
$(MKDIR_P) $(DESTDIR)$(localstatedir)/log
|
|
||||||
$(MKDIR_P) $(DESTDIR)$(localstatedir)/run
|
|
||||||
|
|
||||||
EXTRA_DIST += \
|
|
||||||
daemon/daemon.dox \
|
|
||||||
daemon/protocol.dox \
|
|
||||||
daemon/x52d.service.in \
|
|
||||||
daemon/x52d_client.h \
|
|
||||||
daemon/x52d_clock.h \
|
|
||||||
daemon/x52d_config.def \
|
|
||||||
daemon/x52d_config.h \
|
|
||||||
daemon/x52d_const.h \
|
|
||||||
daemon/x52d_device.h \
|
|
||||||
daemon/x52d_io.h \
|
|
||||||
daemon/x52d_mouse.h \
|
|
||||||
daemon/x52d_notify.h \
|
|
||||||
daemon/x52d_command.h \
|
|
||||||
daemon/x52dcomm.h \
|
|
||||||
daemon/x52dcomm-internal.h \
|
|
||||||
daemon/x52d.conf
|
|
||||||
|
|
||||||
# Test cases
|
|
||||||
EXTRA_DIST += \
|
|
||||||
daemon/test_daemon_comm.py \
|
|
||||||
daemon/tests/config/args.tc \
|
|
||||||
daemon/tests/config/clock.tc \
|
|
||||||
daemon/tests/config/led.tc \
|
|
||||||
daemon/tests/config/mouse.tc \
|
|
||||||
daemon/tests/logging/error.tc \
|
|
||||||
daemon/tests/logging/global.tc \
|
|
||||||
daemon/tests/logging/module.tc \
|
|
||||||
daemon/tests/cli.tc
|
|
||||||
|
|
||||||
TESTS += daemon/test_daemon_comm.py
|
|
||||||
|
|
||||||
if HAVE_CMOCKA
|
|
||||||
check_PROGRAMS += x52d-mouse-test
|
|
||||||
|
|
||||||
x52d_mouse_test_SOURCES = \
|
|
||||||
daemon/x52d_mouse_test.c \
|
|
||||||
daemon/x52d_mouse.c
|
|
||||||
x52d_mouse_test_CFLAGS = \
|
|
||||||
-DLOCALEDIR='"$(localedir)"' \
|
|
||||||
-I $(top_srcdir) \
|
|
||||||
-I $(top_srcdir)/libx52 \
|
|
||||||
-I $(top_srcdir)/libx52io \
|
|
||||||
-I $(top_srcdir)/subprojects/pinelog \
|
|
||||||
$(WARN_CFLAGS) @CMOCKA_CFLAGS@
|
|
||||||
x52d_mouse_test_LDFLAGS = @CMOCKA_LIBS@ $(WARN_LDFLAGS)
|
|
||||||
x52d_mouse_test_LDADD = \
|
|
||||||
subprojects/pinelog/libpinelog.la \
|
|
||||||
@LTLIBINTL@
|
|
||||||
|
|
||||||
TESTS += x52d-mouse-test
|
|
||||||
endif
|
|
||||||
|
|
||||||
if HAVE_SYSTEMD
|
|
||||||
if !IS_MAKE_DISTCHECK
|
|
||||||
SED_ARGS = s,%bindir%,$(bindir),g
|
|
||||||
x52d.service: daemon/x52d.service.in
|
|
||||||
$(AM_V_GEN) $(SED) -e '$(SED_ARGS)' $< > $@
|
|
||||||
systemdsystemunit_DATA = x52d.service
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
# Automake for documentation
|
|
||||||
#
|
|
||||||
# Copyright (C) 2021 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
|
|
||||||
|
|
||||||
EXTRA_DIST += \
|
|
||||||
docs/main.dox \
|
|
||||||
docs/caveats.dox \
|
|
||||||
docs/integration.dox
|
|
||||||
|
|
@ -13,10 +13,9 @@ up the list of devices manually and simulate various scenarios.
|
||||||
|
|
||||||
# Design Overview
|
# Design Overview
|
||||||
|
|
||||||
Unfortunately, the automake infrastructure does not support the use of
|
The build system does not wire up `LD_PRELOAD` for this library: using it is
|
||||||
LD_PRELOAD because it is deemed "non-portable" in the automake sense. As a
|
left to the test runner, which must arrange for the stub to be preloaded and
|
||||||
result, this is now up to a test runner application to implement a method to
|
control the data passed between processes.
|
||||||
control the data passed between two processes.
|
|
||||||
|
|
||||||
# Data Structures
|
# Data Structures
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
# Automake for x52evtest
|
|
||||||
#
|
|
||||||
# Copyright (C) 2012-2020 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
|
|
||||||
|
|
||||||
bin_PROGRAMS += x52evtest
|
|
||||||
|
|
||||||
# Event test utility that works similarly to the Linux evtest
|
|
||||||
x52evtest_SOURCES = evtest/ev_test.c
|
|
||||||
x52evtest_CFLAGS = -I $(top_srcdir)/libx52io -I $(top_srcdir) -DLOCALEDIR=\"$(localedir)\" $(WARN_CFLAGS)
|
|
||||||
x52evtest_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
x52evtest_LDADD = libx52io.la
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
# Automake for x52test
|
|
||||||
#
|
|
||||||
# Copyright (C) 2012-2018 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
|
|
||||||
|
|
||||||
bin_PROGRAMS += x52test
|
|
||||||
|
|
||||||
# Test utility that exercises all the library functions
|
|
||||||
x52test_SOURCES = \
|
|
||||||
joytest/x52_test.c \
|
|
||||||
joytest/x52_test_mfd.c \
|
|
||||||
joytest/x52_test_led.c \
|
|
||||||
joytest/x52_test_clock.c
|
|
||||||
x52test_CFLAGS = -I $(top_srcdir)/libx52 -I $(top_srcdir) -DLOCALEDIR=\"$(localedir)\" $(WARN_CFLAGS)
|
|
||||||
x52test_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
x52test_LDADD = libx52.la
|
|
||||||
|
|
||||||
# Extra files that need to be in the distribution
|
|
||||||
EXTRA_DIST += joytest/x52_test_common.h
|
|
||||||
|
|
@ -18,8 +18,7 @@ and therefore, do not require this driver.
|
||||||
|
|
||||||
# Building
|
# Building
|
||||||
|
|
||||||
This directory is deliberately not integrated with the top level Autotools
|
This directory is deliberately not integrated with the top-level Meson build.
|
||||||
based build framework.
|
|
||||||
|
|
||||||
Install the Linux headers for the currently running kernel. On Ubuntu, this
|
Install the Linux headers for the currently running kernel. On Ubuntu, this
|
||||||
can be done by running `sudo apt-get install -y linux-headers-$(uname -r)`.
|
can be done by running `sudo apt-get install -y linux-headers-$(uname -r)`.
|
||||||
|
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
# Automake for libusbx52 and associated utilities
|
|
||||||
#
|
|
||||||
# Copyright (C) 2012-2018 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
|
|
||||||
|
|
||||||
# libusb stub library for use by test programs
|
|
||||||
check_LTLIBRARIES += libusbx52.la
|
|
||||||
|
|
||||||
libusbx52_la_SOURCES = libusbx52/usb_x52_stub.c libusbx52/fopen_env.c
|
|
||||||
libusbx52_la_CFLAGS = -I $(top_srcdir)/libusbx52 @LIBUSB_CFLAGS@ $(WARN_CFLAGS)
|
|
||||||
libusbx52_la_LDFLAGS = -rpath /nowhere -module $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
# Utility programs for use by tests
|
|
||||||
check_PROGRAMS += x52test_create_device_list x52test_log_actions
|
|
||||||
|
|
||||||
x52test_create_device_list_SOURCES = libusbx52/util/create_device_list.c $(libusbx52_la_SOURCES)
|
|
||||||
x52test_create_device_list_CFLAGS = $(libusbx52_la_CFLAGS)
|
|
||||||
x52test_create_device_list_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
x52test_log_actions_SOURCES = libusbx52/util/log_actions.c $(libusbx52_la_SOURCES)
|
|
||||||
x52test_log_actions_CFLAGS = -I $(top_srcdir)/libx52 $(libusbx52_la_CFLAGS)
|
|
||||||
x52test_log_actions_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
EXTRA_DIST += libusbx52/README.md libusbx52/libusbx52.h
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
# Automake for libx52
|
|
||||||
#
|
|
||||||
# Copyright (C) 2012-2018 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
|
|
||||||
|
|
||||||
lib_LTLIBRARIES += libx52.la
|
|
||||||
|
|
||||||
# Core libx52 library
|
|
||||||
# This library handles the USB communication between the host and the X52
|
|
||||||
# Libtool Version Info
|
|
||||||
# See: https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
|
|
||||||
libx52_v_CUR=6
|
|
||||||
libx52_v_AGE=4
|
|
||||||
libx52_v_REV=2
|
|
||||||
libx52_la_SOURCES = \
|
|
||||||
libx52/x52_control.c \
|
|
||||||
libx52/x52_core.c \
|
|
||||||
libx52/x52_date_time.c \
|
|
||||||
libx52/x52_mfd_led.c \
|
|
||||||
libx52/x52_strerror.c \
|
|
||||||
libx52/x52_stringify.c
|
|
||||||
libx52_la_CFLAGS = \
|
|
||||||
@LIBUSB_CFLAGS@ \
|
|
||||||
-DLOCALEDIR=\"$(localedir)\" \
|
|
||||||
-I $(top_srcdir) \
|
|
||||||
$(VISIBILITY_CFLAGS) \
|
|
||||||
$(WARN_CFLAGS)
|
|
||||||
libx52_la_LDFLAGS = \
|
|
||||||
-export-symbols-regex '^libx52_' \
|
|
||||||
-version-info $(libx52_v_CUR):$(libx52_v_REV):$(libx52_v_AGE) @LIBUSB_LIBS@ \
|
|
||||||
$(WARN_LDFLAGS)
|
|
||||||
libx52_la_LIBADD = @LTLIBINTL@
|
|
||||||
|
|
||||||
# Header files that need to be copied
|
|
||||||
x52include_HEADERS += libx52/libx52.h
|
|
||||||
|
|
||||||
# pkg-config files
|
|
||||||
pkgconfig_DATA += libx52/libx52.pc
|
|
||||||
|
|
||||||
if HAVE_CMOCKA
|
|
||||||
TESTS += libx52test libx52-string-test
|
|
||||||
check_PROGRAMS += libx52test libx52-string-test
|
|
||||||
|
|
||||||
nodist_libx52test_SOURCES = libx52/test_libx52.c
|
|
||||||
libx52test_SOURCES = $(libx52_la_SOURCES)
|
|
||||||
libx52test_CFLAGS = @CMOCKA_CFLAGS@ @LIBUSB_CFLAGS@ -DLOCALEDIR='"$(localedir)"' -I $(top_srcdir) -I $(top_srcdir)/libx52
|
|
||||||
libx52test_CFLAGS += -Dlibusb_control_transfer=__wrap_libusb_control_transfer
|
|
||||||
libx52test_LDFLAGS = @CMOCKA_LIBS@ @LIBUSB_LIBS@
|
|
||||||
libx52test_LDADD = libx52.la
|
|
||||||
|
|
||||||
CLEANFILES += libx52/test_libx52.c
|
|
||||||
test_libx52_c_DEPENDS = \
|
|
||||||
$(srcdir)/libx52/x52_test_gen.py \
|
|
||||||
$(srcdir)/libx52/x52_tests.json
|
|
||||||
|
|
||||||
libx52/test_libx52.c: $(test_libx52_c_DEPENDS)
|
|
||||||
$(AM_V_GEN) $(PYTHON) $(test_libx52_c_DEPENDS) > $@
|
|
||||||
|
|
||||||
libx52_string_test_SOURCES = \
|
|
||||||
libx52/test_strings.c \
|
|
||||||
libx52/x52_stringify.c \
|
|
||||||
libx52/x52_strerror.c
|
|
||||||
libx52_string_test_CFLAGS = @CMOCKA_CFLAGS@ -I $(top_srcdir) -I $(top_srcdir)/libx52
|
|
||||||
libx52_string_test_LDFLAGS = @CMOCKA_LIBS@
|
|
||||||
libx52_string_test_LDADD = libx52.la
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Extra files that need to be in the distribution
|
|
||||||
EXTRA_DIST += \
|
|
||||||
libx52/libx52.h libx52/x52_commands.h libx52/x52_common.h libx52/README.md
|
|
||||||
|
|
||||||
# Add test files to the distribution
|
|
||||||
EXTRA_DIST += libx52/x52_test_gen.py libx52/x52_tests.json
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
prefix=@prefix@
|
|
||||||
exec_prefix=@exec_prefix@
|
|
||||||
libdir=@libdir@
|
|
||||||
includedir=@includedir@
|
|
||||||
|
|
||||||
Name: libx52
|
|
||||||
Description: Linux/Unix library to control Saitek X52/X52Pro joystick extended functionality.
|
|
||||||
Version: 2.4.0
|
|
||||||
Libs: -L${libdir} -lx52
|
|
||||||
Cflags: -I${includedir}/libx52
|
|
||||||
Requires.private: @LIBUSB_PC@
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
# Automake for libx52io
|
|
||||||
#
|
|
||||||
# Copyright (C) 2012-2020 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
|
|
||||||
|
|
||||||
lib_LTLIBRARIES += libx52io.la
|
|
||||||
|
|
||||||
# X52 IO library
|
|
||||||
# This library handles the HID parsing of the X52 USB reports
|
|
||||||
# Libtool Version Info
|
|
||||||
# See: https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
|
|
||||||
libx52io_v_CUR=1
|
|
||||||
libx52io_v_AGE=0
|
|
||||||
libx52io_v_REV=0
|
|
||||||
libx52io_la_SOURCES = \
|
|
||||||
libx52io/io_core.c \
|
|
||||||
libx52io/io_axis.c \
|
|
||||||
libx52io/io_parser.c \
|
|
||||||
libx52io/io_strings.c \
|
|
||||||
libx52io/io_device.c
|
|
||||||
libx52io_la_CFLAGS = @HIDAPI_CFLAGS@ -DLOCALEDIR=\"$(localedir)\" -I $(top_srcdir) $(VISIBILITY_CFLAGS) $(WARN_CFLAGS)
|
|
||||||
libx52io_la_LDFLAGS = \
|
|
||||||
-export-symbols-regex '^libx52io_' \
|
|
||||||
-version-info $(libx52io_v_CUR):$(libx52io_v_REV):$(libx52io_v_AGE) @HIDAPI_LIBS@ \
|
|
||||||
$(WARN_LDFLAGS)
|
|
||||||
libx52io_la_LIBADD = @LTLIBINTL@
|
|
||||||
|
|
||||||
# Header files that need to be copied
|
|
||||||
x52include_HEADERS += libx52io/libx52io.h
|
|
||||||
|
|
||||||
# pkg-config files
|
|
||||||
pkgconfig_DATA += libx52io/libx52io.pc
|
|
||||||
|
|
||||||
if HAVE_CMOCKA
|
|
||||||
TESTS += test-axis test-parser
|
|
||||||
check_PROGRAMS += test-axis test-parser
|
|
||||||
|
|
||||||
test_axis_SOURCES = libx52io/test_axis.c $(libx52io_la_SOURCES)
|
|
||||||
test_axis_CFLAGS = @CMOCKA_CFLAGS@ $(libx52io_la_CFLAGS)
|
|
||||||
test_axis_LDFLAGS = @CMOCKA_LIBS@ @HIDAPI_LIBS@ $(WARN_LDFLAGS)
|
|
||||||
test_axis_LDADD = @LTLIBINTL@
|
|
||||||
|
|
||||||
test_parser_SOURCES = libx52io/test_parser.c $(libx52io_la_SOURCES)
|
|
||||||
test_parser_CFLAGS = @CMOCKA_CFLAGS@ $(libx52io_la_CFLAGS)
|
|
||||||
test_parser_LDFLAGS = @CMOCKA_LIBS@ @HIDAPI_LIBS@ $(WARN_LDFLAGS)
|
|
||||||
test_parser_LDADD = @LTLIBINTL@
|
|
||||||
|
|
||||||
# Add a dependency on test_parser_tests.c
|
|
||||||
libx52io/test_parser.c: libx52io/test_parser_tests.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Extra files that need to be in the distribution
|
|
||||||
EXTRA_DIST += \
|
|
||||||
libx52io/libx52io.h \
|
|
||||||
libx52io/io_common.h \
|
|
||||||
libx52io/test_parser_tests.c
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
prefix=@prefix@
|
|
||||||
exec_prefix=@exec_prefix@
|
|
||||||
libdir=@libdir@
|
|
||||||
includedir=@includedir@
|
|
||||||
|
|
||||||
Name: libx52io
|
|
||||||
Description: Linux/Unix library to read and parse X52 input
|
|
||||||
Version: 1.0.0
|
|
||||||
Libs: -L${libdir} -lx52io
|
|
||||||
Cflags: -I${includedir}/libx52
|
|
||||||
Requires.private: @HIDAPI_PC@
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
||||||
# Automake for libx52util
|
|
||||||
#
|
|
||||||
# Copyright (C) 2012-2018 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
|
|
||||||
|
|
||||||
lib_LTLIBRARIES += libx52util.la
|
|
||||||
|
|
||||||
# libx52 utility library
|
|
||||||
# This library provides extra utilities for ease of use
|
|
||||||
nodist_libx52util_la_SOURCES = libx52util/util_char_map.c
|
|
||||||
libx52util_la_SOURCES = libx52util/x52_char_map_lookup.c
|
|
||||||
libx52util_la_CFLAGS = -I $(top_srcdir)/libx52util $(VISIBILITY_CFLAGS) $(WARN_CFLAGS)
|
|
||||||
libx52util_la_LDFLAGS = \
|
|
||||||
-export-symbols-regex '^libx52util_' \
|
|
||||||
-version-info 1:1:0 \
|
|
||||||
$(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
# Header files that need to be copied
|
|
||||||
x52include_HEADERS += libx52util/libx52util.h
|
|
||||||
|
|
||||||
# pkg-config files
|
|
||||||
pkgconfig_DATA += libx52util/libx52util.pc
|
|
||||||
|
|
||||||
# Autogenerated file that needs to be cleaned up
|
|
||||||
char_map_TARGETS = \
|
|
||||||
libx52util/util_char_map.c \
|
|
||||||
libx52util/x52_char_map.bin
|
|
||||||
|
|
||||||
CLEANFILES += $(char_map_TARGETS)
|
|
||||||
|
|
||||||
char_map_DEPENDS = \
|
|
||||||
$(srcdir)/libx52util/x52_char_map_gen.py \
|
|
||||||
$(srcdir)/libx52util/x52_char_map.cfg
|
|
||||||
|
|
||||||
$(char_map_TARGETS): $(char_map_DEPENDS)
|
|
||||||
$(AM_V_GEN) $(PYTHON) $(char_map_DEPENDS) $(char_map_TARGETS)
|
|
||||||
|
|
||||||
TESTS += libx52util/test-runner.sh
|
|
||||||
|
|
||||||
check_PROGRAMS += libx52util-bmp-test
|
|
||||||
libx52util_bmp_test_SOURCES = libx52util/x52_char_map_test.c
|
|
||||||
libx52util_bmp_test_CFLAGS = -I $(top_srcdir)/libx52util
|
|
||||||
libx52util_bmp_test_LDADD = libx52util.la
|
|
||||||
|
|
||||||
# Extra files that need to be in the distribution
|
|
||||||
EXTRA_DIST += libx52util/x52_char_map.cfg \
|
|
||||||
libx52util/x52_char_map.h \
|
|
||||||
libx52util/x52_char_map_gen.py
|
|
||||||
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
prefix=@prefix@
|
|
||||||
exec_prefix=@exec_prefix@
|
|
||||||
libdir=@libdir@
|
|
||||||
includedir=@includedir@
|
|
||||||
|
|
||||||
Name: libx52util
|
|
||||||
Description: Extra utility functions to manage X52 extended functionality
|
|
||||||
Version: 1.0.0
|
|
||||||
Libs: -L${libdir} -lx52util
|
|
||||||
Cflags: -I${includedir}/libx52
|
|
||||||
|
|
@ -22,10 +22,11 @@ Once you add new strings to be translated, update `po/POTFILES.in` to include
|
||||||
any new files that have to be translated. The file path is relative to the root
|
any new files that have to be translated. The file path is relative to the root
|
||||||
of the project.
|
of the project.
|
||||||
|
|
||||||
The next step is to rebuild the translation template `libx52.pot`. To do
|
The next step is to rebuild the translation template `libx52.pot`. From the
|
||||||
this, run `make -C po update-po` from your build directory (where you ran
|
repository root, run `meson compile -C build libx52-update-po` (adjust `build`
|
||||||
`configure`). This also updates any translation files (with `.po` extension) to
|
to your build directory), or `ninja -C build libx52-update-po`. This also
|
||||||
include the new source strings.
|
updates any translation files (with `.po` extension) to include the new source
|
||||||
|
strings.
|
||||||
|
|
||||||
# Adding new languages (translators)
|
# Adding new languages (translators)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
# Top-level automake for libx52 and associated libraries
|
|
||||||
#
|
|
||||||
# Copyright (C) 2012-2018 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
|
|
||||||
|
|
||||||
SUBDIRS = pinelog
|
|
||||||
|
|
||||||
|
|
@ -1,231 +0,0 @@
|
||||||
# Top level Automake for pinelog
|
|
||||||
#
|
|
||||||
# Copyright (C) 2012-2018 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: MIT
|
|
||||||
|
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
|
||||||
|
|
||||||
# Extra files that need to be in the distribution
|
|
||||||
EXTRA_DIST = \
|
|
||||||
LICENSE \
|
|
||||||
README.md \
|
|
||||||
pinelog.h
|
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libpinelog.la
|
|
||||||
|
|
||||||
# pinelog logging library
|
|
||||||
libpinelog_la_SOURCES = pinelog.c
|
|
||||||
libpinelog_la_CFLAGS = @PINELOG_CFLAGS@ $(WARN_CFLAGS) -I $(top_builddir)
|
|
||||||
libpinelog_la_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
test_SRCFILES = test_pinelog.c $(libpinelog_la_SOURCES)
|
|
||||||
bench_SRCFILES = bench_pinelog.c $(libpinelog_la_SOURCES)
|
|
||||||
test_CFLAGS = \
|
|
||||||
-DPINELOG_FATAL_STR='"F"' \
|
|
||||||
-DPINELOG_ERROR_STR='"E"' \
|
|
||||||
-DPINELOG_WARNING_STR='"W"' \
|
|
||||||
-DPINELOG_INFO_STR='"I"' \
|
|
||||||
-DPINELOG_DEBUG_STR='"D"' \
|
|
||||||
-DPINELOG_TRACE_STR='"T"' \
|
|
||||||
-DPINELOG_DEFAULT_LEVEL=PINELOG_LVL_TRACE \
|
|
||||||
-DPINELOG_DEFAULT_STREAM=stderr \
|
|
||||||
-DPINELOG_TEST -I $(top_builddir)
|
|
||||||
|
|
||||||
LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/tap-driver.sh --comments
|
|
||||||
TESTS = \
|
|
||||||
fp_test_ts_lvl_tr \
|
|
||||||
fp_test_ts_lvl_notr \
|
|
||||||
fp_test_ts_nolvl_tr \
|
|
||||||
fp_test_ts_nolvl_notr \
|
|
||||||
fp_test_nots_lvl_tr \
|
|
||||||
fp_test_nots_lvl_notr \
|
|
||||||
fp_test_nots_nolvl_tr \
|
|
||||||
fp_test_nots_nolvl_notr \
|
|
||||||
fp_bench_ts_lvl_tr \
|
|
||||||
fp_bench_ts_lvl_notr \
|
|
||||||
fp_bench_ts_nolvl_tr \
|
|
||||||
fp_bench_ts_nolvl_notr \
|
|
||||||
fp_bench_nots_lvl_tr \
|
|
||||||
fp_bench_nots_lvl_notr \
|
|
||||||
fp_bench_nots_nolvl_tr \
|
|
||||||
fp_bench_nots_nolvl_notr \
|
|
||||||
str_test_ts_lvl_tr \
|
|
||||||
str_test_ts_lvl_notr \
|
|
||||||
str_test_ts_nolvl_tr \
|
|
||||||
str_test_ts_nolvl_notr \
|
|
||||||
str_test_nots_lvl_tr \
|
|
||||||
str_test_nots_lvl_notr \
|
|
||||||
str_test_nots_nolvl_tr \
|
|
||||||
str_test_nots_nolvl_notr \
|
|
||||||
str_bench_ts_lvl_tr \
|
|
||||||
str_bench_ts_lvl_notr \
|
|
||||||
str_bench_ts_nolvl_tr \
|
|
||||||
str_bench_ts_nolvl_notr \
|
|
||||||
str_bench_nots_lvl_tr \
|
|
||||||
str_bench_nots_lvl_notr \
|
|
||||||
str_bench_nots_nolvl_tr \
|
|
||||||
str_bench_nots_nolvl_notr
|
|
||||||
|
|
||||||
check_PROGRAMS = $(TESTS)
|
|
||||||
fp_test_ts_lvl_tr_SOURCES = $(test_SRCFILES)
|
|
||||||
fp_test_ts_lvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
fp_test_ts_lvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
fp_test_ts_lvl_notr_SOURCES = $(test_SRCFILES)
|
|
||||||
fp_test_ts_lvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
fp_test_ts_lvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
fp_test_ts_nolvl_tr_SOURCES = $(test_SRCFILES)
|
|
||||||
fp_test_ts_nolvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
fp_test_ts_nolvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
fp_test_ts_nolvl_notr_SOURCES = $(test_SRCFILES)
|
|
||||||
fp_test_ts_nolvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
fp_test_ts_nolvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
fp_test_nots_lvl_tr_SOURCES = $(test_SRCFILES)
|
|
||||||
fp_test_nots_lvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
fp_test_nots_lvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
fp_test_nots_lvl_notr_SOURCES = $(test_SRCFILES)
|
|
||||||
fp_test_nots_lvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
fp_test_nots_lvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
fp_test_nots_nolvl_tr_SOURCES = $(test_SRCFILES)
|
|
||||||
fp_test_nots_nolvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
fp_test_nots_nolvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
fp_test_nots_nolvl_notr_SOURCES = $(test_SRCFILES)
|
|
||||||
fp_test_nots_nolvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
fp_test_nots_nolvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
fp_bench_ts_lvl_tr_SOURCES = $(bench_SRCFILES)
|
|
||||||
fp_bench_ts_lvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
fp_bench_ts_lvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
fp_bench_ts_lvl_notr_SOURCES = $(bench_SRCFILES)
|
|
||||||
fp_bench_ts_lvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
fp_bench_ts_lvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
fp_bench_ts_nolvl_tr_SOURCES = $(bench_SRCFILES)
|
|
||||||
fp_bench_ts_nolvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
fp_bench_ts_nolvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
fp_bench_ts_nolvl_notr_SOURCES = $(bench_SRCFILES)
|
|
||||||
fp_bench_ts_nolvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
fp_bench_ts_nolvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
fp_bench_nots_lvl_tr_SOURCES = $(bench_SRCFILES)
|
|
||||||
fp_bench_nots_lvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
fp_bench_nots_lvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
fp_bench_nots_lvl_notr_SOURCES = $(bench_SRCFILES)
|
|
||||||
fp_bench_nots_lvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
fp_bench_nots_lvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
fp_bench_nots_nolvl_tr_SOURCES = $(bench_SRCFILES)
|
|
||||||
fp_bench_nots_nolvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
fp_bench_nots_nolvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
fp_bench_nots_nolvl_notr_SOURCES = $(bench_SRCFILES)
|
|
||||||
fp_bench_nots_nolvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
fp_bench_nots_nolvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
test_CFLAGS += -DPINELOG_BUFFER_SZ=4096
|
|
||||||
str_test_ts_lvl_tr_SOURCES = $(test_SRCFILES)
|
|
||||||
str_test_ts_lvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
str_test_ts_lvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
str_test_ts_lvl_notr_SOURCES = $(test_SRCFILES)
|
|
||||||
str_test_ts_lvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
str_test_ts_lvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
str_test_ts_nolvl_tr_SOURCES = $(test_SRCFILES)
|
|
||||||
str_test_ts_nolvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
str_test_ts_nolvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
str_test_ts_nolvl_notr_SOURCES = $(test_SRCFILES)
|
|
||||||
str_test_ts_nolvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
str_test_ts_nolvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
str_test_nots_lvl_tr_SOURCES = $(test_SRCFILES)
|
|
||||||
str_test_nots_lvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
str_test_nots_lvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
str_test_nots_lvl_notr_SOURCES = $(test_SRCFILES)
|
|
||||||
str_test_nots_lvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
str_test_nots_lvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
str_test_nots_nolvl_tr_SOURCES = $(test_SRCFILES)
|
|
||||||
str_test_nots_nolvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
str_test_nots_nolvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
str_test_nots_nolvl_notr_SOURCES = $(test_SRCFILES)
|
|
||||||
str_test_nots_nolvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
str_test_nots_nolvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
str_bench_ts_lvl_tr_SOURCES = $(bench_SRCFILES)
|
|
||||||
str_bench_ts_lvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
str_bench_ts_lvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
str_bench_ts_lvl_notr_SOURCES = $(bench_SRCFILES)
|
|
||||||
str_bench_ts_lvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
str_bench_ts_lvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
str_bench_ts_nolvl_tr_SOURCES = $(bench_SRCFILES)
|
|
||||||
str_bench_ts_nolvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
str_bench_ts_nolvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
str_bench_ts_nolvl_notr_SOURCES = $(bench_SRCFILES)
|
|
||||||
str_bench_ts_nolvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=1 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
str_bench_ts_nolvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
str_bench_nots_lvl_tr_SOURCES = $(bench_SRCFILES)
|
|
||||||
str_bench_nots_lvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
str_bench_nots_lvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
str_bench_nots_lvl_notr_SOURCES = $(bench_SRCFILES)
|
|
||||||
str_bench_nots_lvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=1 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
str_bench_nots_lvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
str_bench_nots_nolvl_tr_SOURCES = $(bench_SRCFILES)
|
|
||||||
str_bench_nots_nolvl_tr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=1
|
|
||||||
str_bench_nots_nolvl_tr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
str_bench_nots_nolvl_notr_SOURCES = $(bench_SRCFILES)
|
|
||||||
str_bench_nots_nolvl_notr_CFLAGS = $(WARN_CFLAGS) $(test_CFLAGS) \
|
|
||||||
-DPINELOG_SHOW_DATE=0 -DPINELOG_SHOW_LEVEL=0 -DPINELOG_SHOW_BACKTRACE=0
|
|
||||||
str_bench_nots_nolvl_notr_LDFLAGS = $(WARN_LDFLAGS)
|
|
||||||
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/sh -x
|
|
||||||
|
|
||||||
autoreconf --install
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
# Autoconf settings for pinelog
|
|
||||||
#
|
|
||||||
# Copyright (C) 2021 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: MIT
|
|
||||||
|
|
||||||
AC_INIT([pinelog], [1.0.0], [nirenjan@nirenjan.org])
|
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
|
||||||
AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
|
|
||||||
AC_REQUIRE_AUX_FILE([tap-driver.sh])
|
|
||||||
AC_PROG_CC
|
|
||||||
AC_PROG_CC_STDC
|
|
||||||
AC_PROG_AWK
|
|
||||||
AM_PROG_AR
|
|
||||||
LT_INIT
|
|
||||||
PKG_PROG_PKG_CONFIG
|
|
||||||
PKG_INSTALLDIR
|
|
||||||
AX_COMPILER_FLAGS
|
|
||||||
|
|
||||||
AC_SUBST([PINELOG_CFLAGS])
|
|
||||||
|
|
||||||
AC_CONFIG_FILES([Makefile])
|
|
||||||
AC_OUTPUT
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
# ============================================================================
|
|
||||||
# https://www.gnu.org/software/autoconf-archive/ax_append_compile_flags.html
|
|
||||||
# ============================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_APPEND_COMPILE_FLAGS([FLAG1 FLAG2 ...], [FLAGS-VARIABLE], [EXTRA-FLAGS], [INPUT])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# For every FLAG1, FLAG2 it is checked whether the compiler works with the
|
|
||||||
# flag. If it does, the flag is added FLAGS-VARIABLE
|
|
||||||
#
|
|
||||||
# If FLAGS-VARIABLE is not specified, the current language's flags (e.g.
|
|
||||||
# CFLAGS) is used. During the check the flag is always added to the
|
|
||||||
# current language's flags.
|
|
||||||
#
|
|
||||||
# If EXTRA-FLAGS is defined, it is added to the current language's default
|
|
||||||
# flags (e.g. CFLAGS) when the check is done. The check is thus made with
|
|
||||||
# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to
|
|
||||||
# force the compiler to issue an error when a bad flag is given.
|
|
||||||
#
|
|
||||||
# INPUT gives an alternative input source to AC_COMPILE_IFELSE.
|
|
||||||
#
|
|
||||||
# NOTE: This macro depends on the AX_APPEND_FLAG and
|
|
||||||
# AX_CHECK_COMPILE_FLAG. Please keep this macro in sync with
|
|
||||||
# AX_APPEND_LINK_FLAGS.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
|
|
||||||
#
|
|
||||||
# Copying and distribution of this file, with or without modification, are
|
|
||||||
# permitted in any medium without royalty provided the copyright notice
|
|
||||||
# and this notice are preserved. This file is offered as-is, without any
|
|
||||||
# warranty.
|
|
||||||
|
|
||||||
#serial 7
|
|
||||||
|
|
||||||
AC_DEFUN([AX_APPEND_COMPILE_FLAGS],
|
|
||||||
[AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
|
|
||||||
AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
|
|
||||||
for flag in $1; do
|
|
||||||
AX_CHECK_COMPILE_FLAG([$flag], [AX_APPEND_FLAG([$flag], [$2])], [], [$3], [$4])
|
|
||||||
done
|
|
||||||
])dnl AX_APPEND_COMPILE_FLAGS
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# https://www.gnu.org/software/autoconf-archive/ax_append_flag.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_APPEND_FLAG(FLAG, [FLAGS-VARIABLE])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# FLAG is appended to the FLAGS-VARIABLE shell variable, with a space
|
|
||||||
# added in between.
|
|
||||||
#
|
|
||||||
# If FLAGS-VARIABLE is not specified, the current language's flags (e.g.
|
|
||||||
# CFLAGS) is used. FLAGS-VARIABLE is not changed if it already contains
|
|
||||||
# FLAG. If FLAGS-VARIABLE is unset in the shell, it is set to exactly
|
|
||||||
# FLAG.
|
|
||||||
#
|
|
||||||
# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
|
|
||||||
# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
|
|
||||||
#
|
|
||||||
# Copying and distribution of this file, with or without modification, are
|
|
||||||
# permitted in any medium without royalty provided the copyright notice
|
|
||||||
# and this notice are preserved. This file is offered as-is, without any
|
|
||||||
# warranty.
|
|
||||||
|
|
||||||
#serial 8
|
|
||||||
|
|
||||||
AC_DEFUN([AX_APPEND_FLAG],
|
|
||||||
[dnl
|
|
||||||
AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_SET_IF
|
|
||||||
AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])])
|
|
||||||
AS_VAR_SET_IF(FLAGS,[
|
|
||||||
AS_CASE([" AS_VAR_GET(FLAGS) "],
|
|
||||||
[*" $1 "*], [AC_RUN_LOG([: FLAGS already contains $1])],
|
|
||||||
[
|
|
||||||
AS_VAR_APPEND(FLAGS,[" $1"])
|
|
||||||
AC_RUN_LOG([: FLAGS="$FLAGS"])
|
|
||||||
])
|
|
||||||
],
|
|
||||||
[
|
|
||||||
AS_VAR_SET(FLAGS,[$1])
|
|
||||||
AC_RUN_LOG([: FLAGS="$FLAGS"])
|
|
||||||
])
|
|
||||||
AS_VAR_POPDEF([FLAGS])dnl
|
|
||||||
])dnl AX_APPEND_FLAG
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# https://www.gnu.org/software/autoconf-archive/ax_append_link_flags.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_APPEND_LINK_FLAGS([FLAG1 FLAG2 ...], [FLAGS-VARIABLE], [EXTRA-FLAGS], [INPUT])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# For every FLAG1, FLAG2 it is checked whether the linker works with the
|
|
||||||
# flag. If it does, the flag is added FLAGS-VARIABLE
|
|
||||||
#
|
|
||||||
# If FLAGS-VARIABLE is not specified, the linker's flags (LDFLAGS) is
|
|
||||||
# used. During the check the flag is always added to the linker's flags.
|
|
||||||
#
|
|
||||||
# If EXTRA-FLAGS is defined, it is added to the linker's default flags
|
|
||||||
# when the check is done. The check is thus made with the flags: "LDFLAGS
|
|
||||||
# EXTRA-FLAGS FLAG". This can for example be used to force the linker to
|
|
||||||
# issue an error when a bad flag is given.
|
|
||||||
#
|
|
||||||
# INPUT gives an alternative input source to AC_COMPILE_IFELSE.
|
|
||||||
#
|
|
||||||
# NOTE: This macro depends on the AX_APPEND_FLAG and AX_CHECK_LINK_FLAG.
|
|
||||||
# Please keep this macro in sync with AX_APPEND_COMPILE_FLAGS.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
|
|
||||||
#
|
|
||||||
# Copying and distribution of this file, with or without modification, are
|
|
||||||
# permitted in any medium without royalty provided the copyright notice
|
|
||||||
# and this notice are preserved. This file is offered as-is, without any
|
|
||||||
# warranty.
|
|
||||||
|
|
||||||
#serial 7
|
|
||||||
|
|
||||||
AC_DEFUN([AX_APPEND_LINK_FLAGS],
|
|
||||||
[AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG])
|
|
||||||
AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
|
|
||||||
for flag in $1; do
|
|
||||||
AX_CHECK_LINK_FLAG([$flag], [AX_APPEND_FLAG([$flag], [m4_default([$2], [LDFLAGS])])], [], [$3], [$4])
|
|
||||||
done
|
|
||||||
])dnl AX_APPEND_LINK_FLAGS
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# Check whether the given FLAG works with the current language's compiler
|
|
||||||
# or gives an error. (Warnings, however, are ignored)
|
|
||||||
#
|
|
||||||
# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
|
|
||||||
# success/failure.
|
|
||||||
#
|
|
||||||
# If EXTRA-FLAGS is defined, it is added to the current language's default
|
|
||||||
# flags (e.g. CFLAGS) when the check is done. The check is thus made with
|
|
||||||
# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to
|
|
||||||
# force the compiler to issue an error when a bad flag is given.
|
|
||||||
#
|
|
||||||
# INPUT gives an alternative input source to AC_COMPILE_IFELSE.
|
|
||||||
#
|
|
||||||
# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
|
|
||||||
# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
|
|
||||||
# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
|
|
||||||
#
|
|
||||||
# Copying and distribution of this file, with or without modification, are
|
|
||||||
# permitted in any medium without royalty provided the copyright notice
|
|
||||||
# and this notice are preserved. This file is offered as-is, without any
|
|
||||||
# warranty.
|
|
||||||
|
|
||||||
#serial 6
|
|
||||||
|
|
||||||
AC_DEFUN([AX_CHECK_COMPILE_FLAG],
|
|
||||||
[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
|
|
||||||
AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
|
|
||||||
AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
|
|
||||||
ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
|
|
||||||
_AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
|
|
||||||
AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
|
|
||||||
[AS_VAR_SET(CACHEVAR,[yes])],
|
|
||||||
[AS_VAR_SET(CACHEVAR,[no])])
|
|
||||||
_AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
|
|
||||||
AS_VAR_IF(CACHEVAR,yes,
|
|
||||||
[m4_default([$2], :)],
|
|
||||||
[m4_default([$3], :)])
|
|
||||||
AS_VAR_POPDEF([CACHEVAR])dnl
|
|
||||||
])dnl AX_CHECK_COMPILE_FLAGS
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# https://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# Check whether the given FLAG works with the linker or gives an error.
|
|
||||||
# (Warnings, however, are ignored)
|
|
||||||
#
|
|
||||||
# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
|
|
||||||
# success/failure.
|
|
||||||
#
|
|
||||||
# If EXTRA-FLAGS is defined, it is added to the linker's default flags
|
|
||||||
# when the check is done. The check is thus made with the flags: "LDFLAGS
|
|
||||||
# EXTRA-FLAGS FLAG". This can for example be used to force the linker to
|
|
||||||
# issue an error when a bad flag is given.
|
|
||||||
#
|
|
||||||
# INPUT gives an alternative input source to AC_LINK_IFELSE.
|
|
||||||
#
|
|
||||||
# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
|
|
||||||
# macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
|
|
||||||
# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
|
|
||||||
#
|
|
||||||
# Copying and distribution of this file, with or without modification, are
|
|
||||||
# permitted in any medium without royalty provided the copyright notice
|
|
||||||
# and this notice are preserved. This file is offered as-is, without any
|
|
||||||
# warranty.
|
|
||||||
|
|
||||||
#serial 6
|
|
||||||
|
|
||||||
AC_DEFUN([AX_CHECK_LINK_FLAG],
|
|
||||||
[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
|
|
||||||
AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl
|
|
||||||
AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [
|
|
||||||
ax_check_save_flags=$LDFLAGS
|
|
||||||
LDFLAGS="$LDFLAGS $4 $1"
|
|
||||||
AC_LINK_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
|
|
||||||
[AS_VAR_SET(CACHEVAR,[yes])],
|
|
||||||
[AS_VAR_SET(CACHEVAR,[no])])
|
|
||||||
LDFLAGS=$ax_check_save_flags])
|
|
||||||
AS_VAR_IF(CACHEVAR,yes,
|
|
||||||
[m4_default([$2], :)],
|
|
||||||
[m4_default([$3], :)])
|
|
||||||
AS_VAR_POPDEF([CACHEVAR])dnl
|
|
||||||
])dnl AX_CHECK_LINK_FLAGS
|
|
||||||
|
|
@ -1,158 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# https://www.gnu.org/software/autoconf-archive/ax_compiler_flags.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_COMPILER_FLAGS([CFLAGS-VARIABLE], [LDFLAGS-VARIABLE], [IS-RELEASE], [EXTRA-BASE-CFLAGS], [EXTRA-YES-CFLAGS], [UNUSED], [UNUSED], [UNUSED], [EXTRA-BASE-LDFLAGS], [EXTRA-YES-LDFLAGS], [UNUSED], [UNUSED], [UNUSED])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# Check for the presence of an --enable-compile-warnings option to
|
|
||||||
# configure, defaulting to "error" in normal operation, or "yes" if
|
|
||||||
# IS-RELEASE is equal to "yes". Return the value in the variable
|
|
||||||
# $ax_enable_compile_warnings.
|
|
||||||
#
|
|
||||||
# Depending on the value of --enable-compile-warnings, different compiler
|
|
||||||
# warnings are checked to see if they work with the current compiler and,
|
|
||||||
# if so, are appended to CFLAGS-VARIABLE and LDFLAGS-VARIABLE. This
|
|
||||||
# allows a consistent set of baseline compiler warnings to be used across
|
|
||||||
# a code base, irrespective of any warnings enabled locally by individual
|
|
||||||
# developers. By standardising the warnings used by all developers of a
|
|
||||||
# project, the project can commit to a zero-warnings policy, using -Werror
|
|
||||||
# to prevent compilation if new warnings are introduced. This makes
|
|
||||||
# catching bugs which are flagged by warnings a lot easier.
|
|
||||||
#
|
|
||||||
# By providing a consistent --enable-compile-warnings argument across all
|
|
||||||
# projects using this macro, continuous integration systems can easily be
|
|
||||||
# configured the same for all projects. Automated systems or build
|
|
||||||
# systems aimed at beginners may want to pass the --disable-Werror
|
|
||||||
# argument to unconditionally prevent warnings being fatal.
|
|
||||||
#
|
|
||||||
# --enable-compile-warnings can take the values:
|
|
||||||
#
|
|
||||||
# * no: Base compiler warnings only; not even -Wall.
|
|
||||||
# * yes: The above, plus a broad range of useful warnings.
|
|
||||||
# * error: The above, plus -Werror so that all warnings are fatal.
|
|
||||||
# Use --disable-Werror to override this and disable fatal
|
|
||||||
# warnings.
|
|
||||||
#
|
|
||||||
# The set of base and enabled flags can be augmented using the
|
|
||||||
# EXTRA-*-CFLAGS and EXTRA-*-LDFLAGS variables, which are tested and
|
|
||||||
# appended to the output variable if --enable-compile-warnings is not
|
|
||||||
# "no". Flags should not be disabled using these arguments, as the entire
|
|
||||||
# point of AX_COMPILER_FLAGS is to enforce a consistent set of useful
|
|
||||||
# compiler warnings on code, using warnings which have been chosen for low
|
|
||||||
# false positive rates. If a compiler emits false positives for a
|
|
||||||
# warning, a #pragma should be used in the code to disable the warning
|
|
||||||
# locally. See:
|
|
||||||
#
|
|
||||||
# https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Diagnostic-Pragmas.html#Diagnostic-Pragmas
|
|
||||||
#
|
|
||||||
# The EXTRA-* variables should only be used to supply extra warning flags,
|
|
||||||
# and not general purpose compiler flags, as they are controlled by
|
|
||||||
# configure options such as --disable-Werror.
|
|
||||||
#
|
|
||||||
# IS-RELEASE can be used to disable -Werror when making a release, which
|
|
||||||
# is useful for those hairy moments when you just want to get the release
|
|
||||||
# done as quickly as possible. Set it to "yes" to disable -Werror. By
|
|
||||||
# default, it uses the value of $ax_is_release, so if you are using the
|
|
||||||
# AX_IS_RELEASE macro, there is no need to pass this parameter. For
|
|
||||||
# example:
|
|
||||||
#
|
|
||||||
# AX_IS_RELEASE([git-directory])
|
|
||||||
# AX_COMPILER_FLAGS()
|
|
||||||
#
|
|
||||||
# CFLAGS-VARIABLE defaults to WARN_CFLAGS, and LDFLAGS-VARIABLE defaults
|
|
||||||
# to WARN_LDFLAGS. Both variables are AC_SUBST-ed by this macro, but must
|
|
||||||
# be manually added to the CFLAGS and LDFLAGS variables for each target in
|
|
||||||
# the code base.
|
|
||||||
#
|
|
||||||
# If C++ language support is enabled with AC_PROG_CXX, which must occur
|
|
||||||
# before this macro in configure.ac, warning flags for the C++ compiler
|
|
||||||
# are AC_SUBST-ed as WARN_CXXFLAGS, and must be manually added to the
|
|
||||||
# CXXFLAGS variables for each target in the code base. EXTRA-*-CFLAGS can
|
|
||||||
# be used to augment the base and enabled flags.
|
|
||||||
#
|
|
||||||
# Warning flags for g-ir-scanner (from GObject Introspection) are
|
|
||||||
# AC_SUBST-ed as WARN_SCANNERFLAGS. This variable must be manually added
|
|
||||||
# to the SCANNERFLAGS variable for each GIR target in the code base. If
|
|
||||||
# extra g-ir-scanner flags need to be enabled, the AX_COMPILER_FLAGS_GIR
|
|
||||||
# macro must be invoked manually.
|
|
||||||
#
|
|
||||||
# AX_COMPILER_FLAGS may add support for other tools in future, in addition
|
|
||||||
# to the compiler and linker. No extra EXTRA-* variables will be added
|
|
||||||
# for those tools, and all extra support will still use the single
|
|
||||||
# --enable-compile-warnings configure option. For finer grained control
|
|
||||||
# over the flags for individual tools, use AX_COMPILER_FLAGS_CFLAGS,
|
|
||||||
# AX_COMPILER_FLAGS_LDFLAGS and AX_COMPILER_FLAGS_* for new tools.
|
|
||||||
#
|
|
||||||
# The UNUSED variables date from a previous version of this macro, and are
|
|
||||||
# automatically appended to the preceding non-UNUSED variable. They should
|
|
||||||
# be left empty in new uses of the macro.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2014, 2015 Philip Withnall <philip@tecnocode.co.uk>
|
|
||||||
# Copyright (c) 2015 David King <amigadave@amigadave.com>
|
|
||||||
#
|
|
||||||
# Copying and distribution of this file, with or without modification, are
|
|
||||||
# permitted in any medium without royalty provided the copyright notice
|
|
||||||
# and this notice are preserved. This file is offered as-is, without any
|
|
||||||
# warranty.
|
|
||||||
|
|
||||||
#serial 14
|
|
||||||
|
|
||||||
# _AX_COMPILER_FLAGS_LANG([LANGNAME])
|
|
||||||
m4_defun([_AX_COMPILER_FLAGS_LANG],
|
|
||||||
[m4_ifdef([_AX_COMPILER_FLAGS_LANG_]$1[_enabled], [],
|
|
||||||
[m4_define([_AX_COMPILER_FLAGS_LANG_]$1[_enabled], [])dnl
|
|
||||||
AX_REQUIRE_DEFINED([AX_COMPILER_FLAGS_]$1[FLAGS])])dnl
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([AX_COMPILER_FLAGS],[
|
|
||||||
# C support is enabled by default.
|
|
||||||
_AX_COMPILER_FLAGS_LANG([C])
|
|
||||||
# Only enable C++ support if AC_PROG_CXX is called. The redefinition of
|
|
||||||
# AC_PROG_CXX is so that a fatal error is emitted if this macro is called
|
|
||||||
# before AC_PROG_CXX, which would otherwise cause no C++ warnings to be
|
|
||||||
# checked.
|
|
||||||
AC_PROVIDE_IFELSE([AC_PROG_CXX],
|
|
||||||
[_AX_COMPILER_FLAGS_LANG([CXX])],
|
|
||||||
[m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AX_COMPILER_FLAGS_LANG([CXX])])])
|
|
||||||
AX_REQUIRE_DEFINED([AX_COMPILER_FLAGS_LDFLAGS])
|
|
||||||
|
|
||||||
# Default value for IS-RELEASE is $ax_is_release
|
|
||||||
ax_compiler_flags_is_release=m4_tolower(m4_normalize(ifelse([$3],,
|
|
||||||
[$ax_is_release],
|
|
||||||
[$3])))
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([compile-warnings],
|
|
||||||
AS_HELP_STRING([--enable-compile-warnings=@<:@no/yes/error@:>@],
|
|
||||||
[Enable compiler warnings and errors]),,
|
|
||||||
[AS_IF([test "$ax_compiler_flags_is_release" = "yes"],
|
|
||||||
[enable_compile_warnings="yes"],
|
|
||||||
[enable_compile_warnings="error"])])
|
|
||||||
AC_ARG_ENABLE([Werror],
|
|
||||||
AS_HELP_STRING([--disable-Werror],
|
|
||||||
[Unconditionally make all compiler warnings non-fatal]),,
|
|
||||||
[enable_Werror=maybe])
|
|
||||||
|
|
||||||
# Return the user's chosen warning level
|
|
||||||
AS_IF([test "$enable_Werror" = "no" -a \
|
|
||||||
"$enable_compile_warnings" = "error"],[
|
|
||||||
enable_compile_warnings="yes"
|
|
||||||
])
|
|
||||||
|
|
||||||
ax_enable_compile_warnings=$enable_compile_warnings
|
|
||||||
|
|
||||||
AX_COMPILER_FLAGS_CFLAGS([$1],[$ax_compiler_flags_is_release],
|
|
||||||
[$4],[$5 $6 $7 $8])
|
|
||||||
m4_ifdef([_AX_COMPILER_FLAGS_LANG_CXX_enabled],
|
|
||||||
[AX_COMPILER_FLAGS_CXXFLAGS([WARN_CXXFLAGS],
|
|
||||||
[$ax_compiler_flags_is_release],
|
|
||||||
[$4],[$5 $6 $7 $8])])
|
|
||||||
AX_COMPILER_FLAGS_LDFLAGS([$2],[$ax_compiler_flags_is_release],
|
|
||||||
[$9],[$10 $11 $12 $13])
|
|
||||||
AX_COMPILER_FLAGS_GIR([WARN_SCANNERFLAGS],[$ax_compiler_flags_is_release])
|
|
||||||
])dnl AX_COMPILER_FLAGS
|
|
||||||
|
|
@ -1,161 +0,0 @@
|
||||||
# =============================================================================
|
|
||||||
# https://www.gnu.org/software/autoconf-archive/ax_compiler_flags_cflags.html
|
|
||||||
# =============================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_COMPILER_FLAGS_CFLAGS([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-YES-FLAGS])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# Add warning flags for the C compiler to VARIABLE, which defaults to
|
|
||||||
# WARN_CFLAGS. VARIABLE is AC_SUBST-ed by this macro, but must be
|
|
||||||
# manually added to the CFLAGS variable for each target in the code base.
|
|
||||||
#
|
|
||||||
# This macro depends on the environment set up by AX_COMPILER_FLAGS.
|
|
||||||
# Specifically, it uses the value of $ax_enable_compile_warnings to decide
|
|
||||||
# which flags to enable.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2014, 2015 Philip Withnall <philip@tecnocode.co.uk>
|
|
||||||
# Copyright (c) 2017, 2018 Reini Urban <rurban@cpan.org>
|
|
||||||
#
|
|
||||||
# Copying and distribution of this file, with or without modification, are
|
|
||||||
# permitted in any medium without royalty provided the copyright notice
|
|
||||||
# and this notice are preserved. This file is offered as-is, without any
|
|
||||||
# warranty.
|
|
||||||
|
|
||||||
#serial 17
|
|
||||||
|
|
||||||
AC_DEFUN([AX_COMPILER_FLAGS_CFLAGS],[
|
|
||||||
AC_REQUIRE([AC_PROG_SED])
|
|
||||||
AX_REQUIRE_DEFINED([AX_APPEND_COMPILE_FLAGS])
|
|
||||||
AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
|
|
||||||
AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
|
|
||||||
|
|
||||||
# Variable names
|
|
||||||
m4_define([ax_warn_cflags_variable],
|
|
||||||
[m4_normalize(ifelse([$1],,[WARN_CFLAGS],[$1]))])
|
|
||||||
|
|
||||||
AC_LANG_PUSH([C])
|
|
||||||
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
|
||||||
[#ifndef __cplusplus
|
|
||||||
#error "no C++"
|
|
||||||
#endif]])],
|
|
||||||
[ax_compiler_cxx=yes;],
|
|
||||||
[ax_compiler_cxx=no;])
|
|
||||||
|
|
||||||
# Always pass -Werror=unknown-warning-option to get Clang to fail on bad
|
|
||||||
# flags, otherwise they are always appended to the warn_cflags variable, and
|
|
||||||
# Clang warns on them for every compilation unit.
|
|
||||||
# If this is passed to GCC, it will explode, so the flag must be enabled
|
|
||||||
# conditionally.
|
|
||||||
AX_CHECK_COMPILE_FLAG([-Werror=unknown-warning-option],[
|
|
||||||
ax_compiler_flags_test="-Werror=unknown-warning-option"
|
|
||||||
],[
|
|
||||||
ax_compiler_flags_test=""
|
|
||||||
])
|
|
||||||
|
|
||||||
# Check that -Wno-suggest-attribute=format is supported
|
|
||||||
AX_CHECK_COMPILE_FLAG([-Wno-suggest-attribute=format],[
|
|
||||||
ax_compiler_no_suggest_attribute_flags="-Wno-suggest-attribute=format"
|
|
||||||
],[
|
|
||||||
ax_compiler_no_suggest_attribute_flags=""
|
|
||||||
])
|
|
||||||
|
|
||||||
# Base flags
|
|
||||||
AX_APPEND_COMPILE_FLAGS([ dnl
|
|
||||||
-fno-strict-aliasing dnl
|
|
||||||
$3 dnl
|
|
||||||
],ax_warn_cflags_variable,[$ax_compiler_flags_test])
|
|
||||||
|
|
||||||
AS_IF([test "$ax_enable_compile_warnings" != "no"],[
|
|
||||||
if test "$ax_compiler_cxx" = "no" ; then
|
|
||||||
# C-only flags. Warn in C++
|
|
||||||
AX_APPEND_COMPILE_FLAGS([ dnl
|
|
||||||
-Wnested-externs dnl
|
|
||||||
-Wmissing-prototypes dnl
|
|
||||||
-Wstrict-prototypes dnl
|
|
||||||
-Wdeclaration-after-statement dnl
|
|
||||||
-Wimplicit-function-declaration dnl
|
|
||||||
-Wold-style-definition dnl
|
|
||||||
-Wjump-misses-init dnl
|
|
||||||
],ax_warn_cflags_variable,[$ax_compiler_flags_test])
|
|
||||||
fi
|
|
||||||
|
|
||||||
# "yes" flags
|
|
||||||
AX_APPEND_COMPILE_FLAGS([ dnl
|
|
||||||
-Wall dnl
|
|
||||||
-Wextra dnl
|
|
||||||
-Wundef dnl
|
|
||||||
-Wwrite-strings dnl
|
|
||||||
-Wpointer-arith dnl
|
|
||||||
-Wmissing-declarations dnl
|
|
||||||
-Wredundant-decls dnl
|
|
||||||
-Wno-unused-parameter dnl
|
|
||||||
-Wno-missing-field-initializers dnl
|
|
||||||
-Wformat=2 dnl
|
|
||||||
-Wcast-align dnl
|
|
||||||
-Wformat-nonliteral dnl
|
|
||||||
-Wformat-security dnl
|
|
||||||
-Wsign-compare dnl
|
|
||||||
-Wstrict-aliasing dnl
|
|
||||||
-Wshadow dnl
|
|
||||||
-Winline dnl
|
|
||||||
-Wpacked dnl
|
|
||||||
-Wmissing-format-attribute dnl
|
|
||||||
-Wmissing-noreturn dnl
|
|
||||||
-Winit-self dnl
|
|
||||||
-Wredundant-decls dnl
|
|
||||||
-Wmissing-include-dirs dnl
|
|
||||||
-Wunused-but-set-variable dnl
|
|
||||||
-Warray-bounds dnl
|
|
||||||
-Wreturn-type dnl
|
|
||||||
-Wswitch-enum dnl
|
|
||||||
-Wswitch-default dnl
|
|
||||||
-Wduplicated-cond dnl
|
|
||||||
-Wduplicated-branches dnl
|
|
||||||
-Wlogical-op dnl
|
|
||||||
-Wrestrict dnl
|
|
||||||
-Wnull-dereference dnl
|
|
||||||
-Wdouble-promotion dnl
|
|
||||||
$4 dnl
|
|
||||||
$5 dnl
|
|
||||||
$6 dnl
|
|
||||||
$7 dnl
|
|
||||||
],ax_warn_cflags_variable,[$ax_compiler_flags_test])
|
|
||||||
])
|
|
||||||
AS_IF([test "$ax_enable_compile_warnings" = "error"],[
|
|
||||||
# "error" flags; -Werror has to be appended unconditionally because
|
|
||||||
# it's not possible to test for
|
|
||||||
#
|
|
||||||
# suggest-attribute=format is disabled because it gives too many false
|
|
||||||
# positives
|
|
||||||
AX_APPEND_FLAG([-Werror],ax_warn_cflags_variable)
|
|
||||||
|
|
||||||
AX_APPEND_COMPILE_FLAGS([ dnl
|
|
||||||
[$ax_compiler_no_suggest_attribute_flags] dnl
|
|
||||||
],ax_warn_cflags_variable,[$ax_compiler_flags_test])
|
|
||||||
])
|
|
||||||
|
|
||||||
# In the flags below, when disabling specific flags, always add *both*
|
|
||||||
# -Wno-foo and -Wno-error=foo. This fixes the situation where (for example)
|
|
||||||
# we enable -Werror, disable a flag, and a build bot passes CFLAGS=-Wall,
|
|
||||||
# which effectively turns that flag back on again as an error.
|
|
||||||
for flag in $ax_warn_cflags_variable; do
|
|
||||||
AS_CASE([$flag],
|
|
||||||
[-Wno-*=*],[],
|
|
||||||
[-Wno-*],[
|
|
||||||
AX_APPEND_COMPILE_FLAGS([-Wno-error=$(AS_ECHO([$flag]) | $SED 's/^-Wno-//')],
|
|
||||||
ax_warn_cflags_variable,
|
|
||||||
[$ax_compiler_flags_test])
|
|
||||||
])
|
|
||||||
done
|
|
||||||
|
|
||||||
AC_LANG_POP([C])
|
|
||||||
|
|
||||||
# Substitute the variables
|
|
||||||
AC_SUBST(ax_warn_cflags_variable)
|
|
||||||
])dnl AX_COMPILER_FLAGS
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# https://www.gnu.org/software/autoconf-archive/ax_compiler_flags_gir.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_COMPILER_FLAGS_GIR([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-YES-FLAGS])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# Add warning flags for the g-ir-scanner (from GObject Introspection) to
|
|
||||||
# VARIABLE, which defaults to WARN_SCANNERFLAGS. VARIABLE is AC_SUBST-ed
|
|
||||||
# by this macro, but must be manually added to the SCANNERFLAGS variable
|
|
||||||
# for each GIR target in the code base.
|
|
||||||
#
|
|
||||||
# This macro depends on the environment set up by AX_COMPILER_FLAGS.
|
|
||||||
# Specifically, it uses the value of $ax_enable_compile_warnings to decide
|
|
||||||
# which flags to enable.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2015 Philip Withnall <philip@tecnocode.co.uk>
|
|
||||||
#
|
|
||||||
# Copying and distribution of this file, with or without modification, are
|
|
||||||
# permitted in any medium without royalty provided the copyright notice
|
|
||||||
# and this notice are preserved. This file is offered as-is, without any
|
|
||||||
# warranty.
|
|
||||||
|
|
||||||
#serial 6
|
|
||||||
|
|
||||||
AC_DEFUN([AX_COMPILER_FLAGS_GIR],[
|
|
||||||
AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
|
|
||||||
|
|
||||||
# Variable names
|
|
||||||
m4_define([ax_warn_scannerflags_variable],
|
|
||||||
[m4_normalize(ifelse([$1],,[WARN_SCANNERFLAGS],[$1]))])
|
|
||||||
|
|
||||||
# Base flags
|
|
||||||
AX_APPEND_FLAG([$3],ax_warn_scannerflags_variable)
|
|
||||||
|
|
||||||
AS_IF([test "$ax_enable_compile_warnings" != "no"],[
|
|
||||||
# "yes" flags
|
|
||||||
AX_APPEND_FLAG([ dnl
|
|
||||||
--warn-all dnl
|
|
||||||
$4 dnl
|
|
||||||
$5 dnl
|
|
||||||
$6 dnl
|
|
||||||
$7 dnl
|
|
||||||
],ax_warn_scannerflags_variable)
|
|
||||||
])
|
|
||||||
AS_IF([test "$ax_enable_compile_warnings" = "error"],[
|
|
||||||
# "error" flags
|
|
||||||
AX_APPEND_FLAG([ dnl
|
|
||||||
--warn-error dnl
|
|
||||||
],ax_warn_scannerflags_variable)
|
|
||||||
])
|
|
||||||
|
|
||||||
# Substitute the variables
|
|
||||||
AC_SUBST(ax_warn_scannerflags_variable)
|
|
||||||
])dnl AX_COMPILER_FLAGS
|
|
||||||
|
|
@ -1,111 +0,0 @@
|
||||||
# ==============================================================================
|
|
||||||
# https://www.gnu.org/software/autoconf-archive/ax_compiler_flags_ldflags.html
|
|
||||||
# ==============================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_COMPILER_FLAGS_LDFLAGS([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-YES-FLAGS])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# Add warning flags for the linker to VARIABLE, which defaults to
|
|
||||||
# WARN_LDFLAGS. VARIABLE is AC_SUBST-ed by this macro, but must be
|
|
||||||
# manually added to the LDFLAGS variable for each target in the code base.
|
|
||||||
#
|
|
||||||
# This macro depends on the environment set up by AX_COMPILER_FLAGS.
|
|
||||||
# Specifically, it uses the value of $ax_enable_compile_warnings to decide
|
|
||||||
# which flags to enable.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2014, 2015 Philip Withnall <philip@tecnocode.co.uk>
|
|
||||||
# Copyright (c) 2017, 2018 Reini Urban <rurban@cpan.org>
|
|
||||||
#
|
|
||||||
# Copying and distribution of this file, with or without modification, are
|
|
||||||
# permitted in any medium without royalty provided the copyright notice
|
|
||||||
# and this notice are preserved. This file is offered as-is, without any
|
|
||||||
# warranty.
|
|
||||||
|
|
||||||
#serial 9
|
|
||||||
|
|
||||||
AC_DEFUN([AX_COMPILER_FLAGS_LDFLAGS],[
|
|
||||||
AX_REQUIRE_DEFINED([AX_APPEND_LINK_FLAGS])
|
|
||||||
AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
|
|
||||||
AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
|
|
||||||
AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG])
|
|
||||||
|
|
||||||
# Variable names
|
|
||||||
m4_define([ax_warn_ldflags_variable],
|
|
||||||
[m4_normalize(ifelse([$1],,[WARN_LDFLAGS],[$1]))])
|
|
||||||
|
|
||||||
# Always pass -Werror=unknown-warning-option to get Clang to fail on bad
|
|
||||||
# flags, otherwise they are always appended to the warn_ldflags variable,
|
|
||||||
# and Clang warns on them for every compilation unit.
|
|
||||||
# If this is passed to GCC, it will explode, so the flag must be enabled
|
|
||||||
# conditionally.
|
|
||||||
AX_CHECK_COMPILE_FLAG([-Werror=unknown-warning-option],[
|
|
||||||
ax_compiler_flags_test="-Werror=unknown-warning-option"
|
|
||||||
],[
|
|
||||||
ax_compiler_flags_test=""
|
|
||||||
])
|
|
||||||
|
|
||||||
AX_CHECK_LINK_FLAG([-Wl,--as-needed], [
|
|
||||||
AX_APPEND_LINK_FLAGS([-Wl,--as-needed],
|
|
||||||
[AM_LDFLAGS],[$ax_compiler_flags_test])
|
|
||||||
])
|
|
||||||
AX_CHECK_LINK_FLAG([-Wl,-z,relro], [
|
|
||||||
AX_APPEND_LINK_FLAGS([-Wl,-z,relro],
|
|
||||||
[AM_LDFLAGS],[$ax_compiler_flags_test])
|
|
||||||
])
|
|
||||||
AX_CHECK_LINK_FLAG([-Wl,-z,now], [
|
|
||||||
AX_APPEND_LINK_FLAGS([-Wl,-z,now],
|
|
||||||
[AM_LDFLAGS],[$ax_compiler_flags_test])
|
|
||||||
])
|
|
||||||
AX_CHECK_LINK_FLAG([-Wl,-z,noexecstack], [
|
|
||||||
AX_APPEND_LINK_FLAGS([-Wl,-z,noexecstack],
|
|
||||||
[AM_LDFLAGS],[$ax_compiler_flags_test])
|
|
||||||
])
|
|
||||||
# textonly, retpolineplt not yet
|
|
||||||
|
|
||||||
# macOS and cygwin linker do not have --as-needed
|
|
||||||
AX_CHECK_LINK_FLAG([-Wl,--no-as-needed], [
|
|
||||||
ax_compiler_flags_as_needed_option="-Wl,--no-as-needed"
|
|
||||||
], [
|
|
||||||
ax_compiler_flags_as_needed_option=""
|
|
||||||
])
|
|
||||||
|
|
||||||
# macOS linker speaks with a different accent
|
|
||||||
ax_compiler_flags_fatal_warnings_option=""
|
|
||||||
AX_CHECK_LINK_FLAG([-Wl,--fatal-warnings], [
|
|
||||||
ax_compiler_flags_fatal_warnings_option="-Wl,--fatal-warnings"
|
|
||||||
])
|
|
||||||
AX_CHECK_LINK_FLAG([-Wl,-fatal_warnings], [
|
|
||||||
ax_compiler_flags_fatal_warnings_option="-Wl,-fatal_warnings"
|
|
||||||
])
|
|
||||||
|
|
||||||
# Base flags
|
|
||||||
AX_APPEND_LINK_FLAGS([ dnl
|
|
||||||
$ax_compiler_flags_as_needed_option dnl
|
|
||||||
$3 dnl
|
|
||||||
],ax_warn_ldflags_variable,[$ax_compiler_flags_test])
|
|
||||||
|
|
||||||
AS_IF([test "$ax_enable_compile_warnings" != "no"],[
|
|
||||||
# "yes" flags
|
|
||||||
AX_APPEND_LINK_FLAGS([$4 $5 $6 $7],
|
|
||||||
ax_warn_ldflags_variable,
|
|
||||||
[$ax_compiler_flags_test])
|
|
||||||
])
|
|
||||||
AS_IF([test "$ax_enable_compile_warnings" = "error"],[
|
|
||||||
# "error" flags; -Werror has to be appended unconditionally because
|
|
||||||
# it's not possible to test for
|
|
||||||
#
|
|
||||||
# suggest-attribute=format is disabled because it gives too many false
|
|
||||||
# positives
|
|
||||||
AX_APPEND_LINK_FLAGS([ dnl
|
|
||||||
$ax_compiler_flags_fatal_warnings_option dnl
|
|
||||||
],ax_warn_ldflags_variable,[$ax_compiler_flags_test])
|
|
||||||
])
|
|
||||||
|
|
||||||
# Substitute the variables
|
|
||||||
AC_SUBST(ax_warn_ldflags_variable)
|
|
||||||
])dnl AX_COMPILER_FLAGS
|
|
||||||
|
|
@ -1,242 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# https://www.gnu.org/software/autoconf-archive/ax_gcc_func_attribute.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_GCC_FUNC_ATTRIBUTE(ATTRIBUTE)
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# This macro checks if the compiler supports one of GCC's function
|
|
||||||
# attributes; many other compilers also provide function attributes with
|
|
||||||
# the same syntax. Compiler warnings are used to detect supported
|
|
||||||
# attributes as unsupported ones are ignored by default so quieting
|
|
||||||
# warnings when using this macro will yield false positives.
|
|
||||||
#
|
|
||||||
# The ATTRIBUTE parameter holds the name of the attribute to be checked.
|
|
||||||
#
|
|
||||||
# If ATTRIBUTE is supported define HAVE_FUNC_ATTRIBUTE_<ATTRIBUTE>.
|
|
||||||
#
|
|
||||||
# The macro caches its result in the ax_cv_have_func_attribute_<attribute>
|
|
||||||
# variable.
|
|
||||||
#
|
|
||||||
# The macro currently supports the following function attributes:
|
|
||||||
#
|
|
||||||
# alias
|
|
||||||
# aligned
|
|
||||||
# alloc_size
|
|
||||||
# always_inline
|
|
||||||
# artificial
|
|
||||||
# cold
|
|
||||||
# const
|
|
||||||
# constructor
|
|
||||||
# constructor_priority for constructor attribute with priority
|
|
||||||
# deprecated
|
|
||||||
# destructor
|
|
||||||
# dllexport
|
|
||||||
# dllimport
|
|
||||||
# error
|
|
||||||
# externally_visible
|
|
||||||
# fallthrough
|
|
||||||
# flatten
|
|
||||||
# format
|
|
||||||
# format_arg
|
|
||||||
# gnu_format
|
|
||||||
# gnu_inline
|
|
||||||
# hot
|
|
||||||
# ifunc
|
|
||||||
# leaf
|
|
||||||
# malloc
|
|
||||||
# noclone
|
|
||||||
# noinline
|
|
||||||
# nonnull
|
|
||||||
# noreturn
|
|
||||||
# nothrow
|
|
||||||
# optimize
|
|
||||||
# pure
|
|
||||||
# sentinel
|
|
||||||
# sentinel_position
|
|
||||||
# unused
|
|
||||||
# used
|
|
||||||
# visibility
|
|
||||||
# warning
|
|
||||||
# warn_unused_result
|
|
||||||
# weak
|
|
||||||
# weakref
|
|
||||||
#
|
|
||||||
# Unsupported function attributes will be tested with a prototype
|
|
||||||
# returning an int and not accepting any arguments and the result of the
|
|
||||||
# check might be wrong or meaningless so use with care.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2013 Gabriele Svelto <gabriele.svelto@gmail.com>
|
|
||||||
#
|
|
||||||
# Copying and distribution of this file, with or without modification, are
|
|
||||||
# permitted in any medium without royalty provided the copyright notice
|
|
||||||
# and this notice are preserved. This file is offered as-is, without any
|
|
||||||
# warranty.
|
|
||||||
|
|
||||||
#serial 13
|
|
||||||
|
|
||||||
AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [
|
|
||||||
AS_VAR_PUSHDEF([ac_var], [ax_cv_have_func_attribute_$1])
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([for __attribute__(($1))], [ac_var], [
|
|
||||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([
|
|
||||||
m4_case([$1],
|
|
||||||
[alias], [
|
|
||||||
int foo( void ) { return 0; }
|
|
||||||
int bar( void ) __attribute__(($1("foo")));
|
|
||||||
],
|
|
||||||
[aligned], [
|
|
||||||
int foo( void ) __attribute__(($1(32)));
|
|
||||||
],
|
|
||||||
[alloc_size], [
|
|
||||||
void *foo(int a) __attribute__(($1(1)));
|
|
||||||
],
|
|
||||||
[always_inline], [
|
|
||||||
inline __attribute__(($1)) int foo( void ) { return 0; }
|
|
||||||
],
|
|
||||||
[artificial], [
|
|
||||||
inline __attribute__(($1)) int foo( void ) { return 0; }
|
|
||||||
],
|
|
||||||
[cold], [
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[const], [
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[constructor_priority], [
|
|
||||||
int foo( void ) __attribute__((__constructor__(65535/2)));
|
|
||||||
],
|
|
||||||
[constructor], [
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[deprecated], [
|
|
||||||
int foo( void ) __attribute__(($1("")));
|
|
||||||
],
|
|
||||||
[destructor], [
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[dllexport], [
|
|
||||||
__attribute__(($1)) int foo( void ) { return 0; }
|
|
||||||
],
|
|
||||||
[dllimport], [
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[error], [
|
|
||||||
int foo( void ) __attribute__(($1("")));
|
|
||||||
],
|
|
||||||
[externally_visible], [
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[fallthrough], [
|
|
||||||
void foo( int x ) {switch (x) { case 1: __attribute__(($1)); case 2: break ; }};
|
|
||||||
],
|
|
||||||
[flatten], [
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[format], [
|
|
||||||
int foo(const char *p, ...) __attribute__(($1(printf, 1, 2)));
|
|
||||||
],
|
|
||||||
[gnu_format], [
|
|
||||||
int foo(const char *p, ...) __attribute__((format(gnu_printf, 1, 2)));
|
|
||||||
],
|
|
||||||
[format_arg], [
|
|
||||||
char *foo(const char *p) __attribute__(($1(1)));
|
|
||||||
],
|
|
||||||
[gnu_inline], [
|
|
||||||
inline __attribute__(($1)) int foo( void ) { return 0; }
|
|
||||||
],
|
|
||||||
[hot], [
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[ifunc], [
|
|
||||||
int my_foo( void ) { return 0; }
|
|
||||||
static int (*resolve_foo(void))(void) { return my_foo; }
|
|
||||||
int foo( void ) __attribute__(($1("resolve_foo")));
|
|
||||||
],
|
|
||||||
[leaf], [
|
|
||||||
__attribute__(($1)) int foo( void ) { return 0; }
|
|
||||||
],
|
|
||||||
[malloc], [
|
|
||||||
void *foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[noclone], [
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[noinline], [
|
|
||||||
__attribute__(($1)) int foo( void ) { return 0; }
|
|
||||||
],
|
|
||||||
[nonnull], [
|
|
||||||
int foo(char *p) __attribute__(($1(1)));
|
|
||||||
],
|
|
||||||
[noreturn], [
|
|
||||||
void foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[nothrow], [
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[optimize], [
|
|
||||||
__attribute__(($1(3))) int foo( void ) { return 0; }
|
|
||||||
],
|
|
||||||
[pure], [
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[sentinel], [
|
|
||||||
int foo(void *p, ...) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[sentinel_position], [
|
|
||||||
int foo(void *p, ...) __attribute__(($1(1)));
|
|
||||||
],
|
|
||||||
[returns_nonnull], [
|
|
||||||
void *foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[unused], [
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[used], [
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[visibility], [
|
|
||||||
int foo_def( void ) __attribute__(($1("default")));
|
|
||||||
int foo_hid( void ) __attribute__(($1("hidden")));
|
|
||||||
int foo_int( void ) __attribute__(($1("internal")));
|
|
||||||
int foo_pro( void ) __attribute__(($1("protected")));
|
|
||||||
],
|
|
||||||
[warning], [
|
|
||||||
int foo( void ) __attribute__(($1("")));
|
|
||||||
],
|
|
||||||
[warn_unused_result], [
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[weak], [
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
],
|
|
||||||
[weakref], [
|
|
||||||
static int foo( void ) { return 0; }
|
|
||||||
static int bar( void ) __attribute__(($1("foo")));
|
|
||||||
],
|
|
||||||
[
|
|
||||||
m4_warn([syntax], [Unsupported attribute $1, the test may fail])
|
|
||||||
int foo( void ) __attribute__(($1));
|
|
||||||
]
|
|
||||||
)], [])
|
|
||||||
],
|
|
||||||
dnl GCC doesn't exit with an error if an unknown attribute is
|
|
||||||
dnl provided but only outputs a warning, so accept the attribute
|
|
||||||
dnl only if no warning were issued.
|
|
||||||
[AS_IF([grep -- -Wattributes conftest.err],
|
|
||||||
[AS_VAR_SET([ac_var], [no])],
|
|
||||||
[AS_VAR_SET([ac_var], [yes])])],
|
|
||||||
[AS_VAR_SET([ac_var], [no])])
|
|
||||||
])
|
|
||||||
|
|
||||||
AS_IF([test yes = AS_VAR_GET([ac_var])],
|
|
||||||
[AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_FUNC_ATTRIBUTE_$1), 1,
|
|
||||||
[Define to 1 if the system has the `$1' function attribute])], [])
|
|
||||||
|
|
||||||
AS_VAR_POPDEF([ac_var])
|
|
||||||
])
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# https://www.gnu.org/software/autoconf-archive/ax_require_defined.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_REQUIRE_DEFINED(MACRO)
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# AX_REQUIRE_DEFINED is a simple helper for making sure other macros have
|
|
||||||
# been defined and thus are available for use. This avoids random issues
|
|
||||||
# where a macro isn't expanded. Instead the configure script emits a
|
|
||||||
# non-fatal:
|
|
||||||
#
|
|
||||||
# ./configure: line 1673: AX_CFLAGS_WARN_ALL: command not found
|
|
||||||
#
|
|
||||||
# It's like AC_REQUIRE except it doesn't expand the required macro.
|
|
||||||
#
|
|
||||||
# Here's an example:
|
|
||||||
#
|
|
||||||
# AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG])
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2014 Mike Frysinger <vapier@gentoo.org>
|
|
||||||
#
|
|
||||||
# Copying and distribution of this file, with or without modification, are
|
|
||||||
# permitted in any medium without royalty provided the copyright notice
|
|
||||||
# and this notice are preserved. This file is offered as-is, without any
|
|
||||||
# warranty.
|
|
||||||
|
|
||||||
#serial 2
|
|
||||||
|
|
||||||
AC_DEFUN([AX_REQUIRE_DEFINED], [dnl
|
|
||||||
m4_ifndef([$1], [m4_fatal([macro ]$1[ is not defined; is a m4 file missing?])])
|
|
||||||
])dnl AX_REQUIRE_DEFINED
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
#define ENABLE_NLS 0
|
#define ENABLE_NLS 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* NLS can be disabled through the configure --disable-nls option. */
|
/* NLS can be disabled at build time (e.g. Meson option -Dnls=disabled). */
|
||||||
#if ENABLE_NLS
|
#if ENABLE_NLS
|
||||||
|
|
||||||
/* Get declarations of GNU message catalog functions. */
|
/* Get declarations of GNU message catalog functions. */
|
||||||
|
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
# udev rules installation
|
|
||||||
#
|
|
||||||
# Copyright (C) 2020 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
|
|
||||||
|
|
||||||
EXTRA_DIST += udev/60-saitek-x52-x52pro.rules
|
|
||||||
|
|
||||||
if HAVE_UDEV
|
|
||||||
|
|
||||||
# udev rules need to go to (typically) /lib/udev/rules.d. This location is only
|
|
||||||
# writable by root, and if we're running make distcheck, we're most likely not
|
|
||||||
# running as root. Therefore, disable this if we're running make distcheck
|
|
||||||
if !IS_MAKE_DISTCHECK
|
|
||||||
udevrules_DATA = udev/60-saitek-x52-x52pro.rules
|
|
||||||
|
|
||||||
# Update udev only if being installed by root
|
|
||||||
install-data-hook:
|
|
||||||
$(AM_V_at)if [ "$$(id -u)" = "0" ]; then \
|
|
||||||
echo "Installing udev rules" && \
|
|
||||||
udevadm control --reload-rules && \
|
|
||||||
udevadm trigger --subsystem-match=usb --attr-match=idVendor=06a3 --action=add \
|
|
||||||
;fi ; true
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif
|
|
||||||
Loading…
Reference in New Issue