summaryrefslogtreecommitdiff
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* configure.ac: fix link with -llzmaFabrice Fontaine2023-03-061-4/+4
| | | | | | | | | | | | | | | | Add liblzma_LIBS to LIBS to avoid the following build failure when building with a static-only liblzma.a: /home/autobuild/autobuild/instance-5/output-1/host/lib/gcc/xtensa-buildroot-linux-uclibc/11.3.0/../../../../xtensa-buildroot-linux-uclibc/bin/ld: libkmod/.libs/libkmod-internal.a(libkmod-file.o):(.text.xz_uncompress+0x10): undefined reference to `lzma_code' For consistency, also update libzstd, zlib and libcrypto Fixes: - http://autobuild.buildroot.org/results/83a4a7ecc77f39639d3e5bc8554bd01a62a3ede0 References: https://github.com/kmod-project/kmod/pull/25 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
* configure: manage libkmod.pc.in and version.py.in via AC_CONFIG_FILESEmil Velikov2023-02-211-0/+2
| | | | | | | | | | | | | Replace the manual sed command, build rules and dist/clean for using AC_CONFIG_FILES. It does the exact same thing, with an added bonus... Currently we're missing version.py.in in the EXTRA_DIST. Thus a simple "touch Makefile" should retrigger the regeneration of version.py. Which would presumably fail, since the input file isn't in the distribution tarball. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
* testsuite: Handle different sysconfdirLucas De Marchi2023-02-101-3/+0
| | | | | | | | Instead of skipping tests if sysconfdir isn't /etc, just handle it during the rootfs setup logic. Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
* kmod: configure.ac: In _Noreturn check, include <stdlib.h> for exitFlorian Weimer2022-12-261-1/+2
| | | | | | | | Otherwise, an implicit functiona declaration is used, causing a C99 compatibility issue. Signed-off-by: Florian Weimer <fweimer@redhat.com> Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
* kmod 30v30Lucas De Marchi2022-06-301-1/+1
|
* kmod 29v29Lucas De Marchi2021-05-201-1/+1
|
* testsuite: Automatically skip tests that fail when sysconfdir != /etc.Marius Bakke2021-01-071-0/+2
|
* kmod 28v28Lucas De Marchi2021-01-071-1/+1
|
* add Zstandard compression supportTorge Matthies2020-09-101-1/+12
| | | | | | | | | | | | | I changed the style of the hackargs variable in autogen.sh to multiline because said line was becoming a bit long with the new --with-zstd arg added. A previous version of this patch has been running on my two Arch Linux installations (with an accompanying mkinitcpio patch) for several months over many kernel updates without any issues. Any additional testing and/or patch review would of course be appreciated. Signed-off-by: Torge Matthies <openglfreak@googlemail.com>
* kmod 27v27Lucas De Marchi2020-02-181-1/+1
|
* build: Stop using doltAdrian Bunk2019-02-201-1/+0
| | | | | | | | | | | | | This does regress "make -12" from 0.7s to 0.9s on my Coffee Lake machine, but even on slower hardware this will not amount to a noticable slowdown. On the other hand using dolt can create problems for people doing cross-compilation, e.g. Yocto has two hacks just for dolt in kmod: https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-kernel/kmod/kmod.inc?id=a17abae00785c76cfffe5381a22fb2c86b982e82 (Lucas: remove leftover entry in Makefile and reformat commit message)
* Link against libcrypto, not all of opensslDave Reisner2019-02-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | In the previous build setup, libkmod.so would link to not just libcrypto.so, but also libssl.so: $ readelf -d /lib/libkmod.so | grep NEEDED 0x0000000000000001 (NEEDED) Shared library: [liblzma.so.5] 0x0000000000000001 (NEEDED) Shared library: [libz.so.1] 0x0000000000000001 (NEEDED) Shared library: [libssl.so.1.1] 0x0000000000000001 (NEEDED) Shared library: [libcrypto.so.1.1] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] We don't need any symbols from libssl, though. This patch ensures that we pass 'libcrypto' to pkgconfig rather than 'openssl', getting only the library that we need: $ readelf -d ./libkmod/.libs/libkmod.so.2.3.4 | grep NEEDED 0x0000000000000001 (NEEDED) Shared library: [liblzma.so.5] 0x0000000000000001 (NEEDED) Shared library: [libz.so.1] 0x0000000000000001 (NEEDED) Shared library: [libcrypto.so.1.1] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
* kmod 26v26Lucas De Marchi2019-02-071-1/+1
|
* build: check openssl versionLucas De Marchi2019-02-041-1/+1
|
* libkmod-signature: implement pkcs7 parsing with opensslYauheni Kaliuta2019-02-041-0/+11
| | | | | | | | | | | | | | | The patch adds data fetching from the PKCS#7 certificate using openssl library (which is used by scripts/sign-file.c in the linux kernel to sign modules). In general the certificate can contain many signatures, but since kmod (modinfo) supports only one signature at the moment, only first one is taken. With the current sign-file.c certificate doesn't contain signer key's fingerprint, so "serial number" is used for the key id. Signed-off-by: Yauheni Kaliuta <yauheni.kaliuta@redhat.com>
* kmod 25v25Lucas De Marchi2018-01-081-1/+1
|
* build: use tool from configureLucas De Marchi2018-01-021-0/+1
| | | | | This way we make sure the tool will be the one we actually configured before going through sudo.
* kmod 24v24Lucas De Marchi2017-02-231-1/+1
|
* kmod 23v23Lucas De Marchi2016-07-201-1/+1
|
* kmod 22v22Lucas De Marchi2015-11-171-1/+1
|
* kmod 21v21Lucas De Marchi2015-06-091-1/+1
|
* build: add relevant features to KMOD_FEATURES in config.hLucas De Marchi2015-06-081-0/+7
| | | | | | | | Not all the features (i.e. those available in --enable-* or --with-*) are really relevant to the final user. Create a KMOD_FEATURES definition in config.h containing these features. Reviewed-by: Andreas Mohr <andim2@users.sf.net>
* tools: Hide new commands behind experimental flagLucas De Marchi2015-06-061-0/+9
| | | | | Hide the commands behind a flag so we can continue doing releases while the commands aren't ready.
* build: cache modules from playgroundcached-modulesLucas De Marchi2015-05-311-0/+6
| | | | | | | | | | Now that we are able to build our own test modules, also allow to use cached modules so a) kernel headers are not required and b) distro maintainers are happy. It's still need a "--disable-test-modules" in the configure since the default is enabled. There's no license problems anymore since all modules come from our own repository, we ship the sources and the modules can be easily rebuilt.
* build: use doltLucas De Marchi2015-03-051-0/+1
| | | | | | | | | | | | | | | | | | | | | Drop-in replacement to libtool: http://dolt.freedesktop.org/. More details: http://marc.info/?l=freedesktop-xorg&m=120791871615872&w=3 kmod is relatively fast to compile, so it doesn't matter much. Nonetheless, less forks the better. Compilation time using ./bootstrap-configure --disable-manpages and make -j4 libtool real 0m6.453s user 0m21.067s sys 0m0.773s dolt real 0m4.792s user 0m15.920s sys 0m0.637s
* kmod 20v20Lucas De Marchi2015-03-011-1/+1
|
* build: we are kmod, not systemdLucas De Marchi2015-02-271-2/+2
| | | | Fix copy and paste mistake.
* shared: avoid checking for __STDC_VERSION__Lucas De Marchi2015-02-261-0/+8
| | | | | | | | | | Since we pass -std=gnu99 to the compiler __STDC_VERSION__ is defined to 199901. Even in this case we can use _Noreturn. Delegate the testing to the configure phase with a compile test. In future we want to stop using AC_PROG_CC_99 and start using the new AC_PROG_CC from autoconf 2.70, which tries to choose the most recent standard.
* build: simplify and organize configureLucas De Marchi2015-02-261-18/+11
| | | | | | | | | | | - There's no need for the various AC_PROG_CC* macros - No need for AC_C_BIGENDIAN: the only place we care about endianness, we use __BYTE_ORDER - Organize calls to be in similar order as systemd - Disable --disable-largefile. We already had possible bugs in the index implementation if this were passed. It's now fixed, but it's never tested. Disable it. - Bump autoconf requirement to 2.64
* shared: add helper function to add and check for overflowLucas De Marchi2015-02-101-0/+2
| | | | | | | | | | Use _builtin_uaddll_overflow/_builtin_uaddl_overflow when available, abstracting the type to use it with uint64_t. Otherwise fallback to the implementation as added in 67466f2 ("Prevent offset + size overflow."). This also adds the tests for this new helper in the testsuite.
* build: check for required builtin functionsLucas De Marchi2015-02-101-0/+3
| | | | | | These builtins are implemented by both gcc and clang since a long time and we don't provide fallback for them. Let the configure phase check for them.
* Revert "build: enable LTO and _FORTIFY_SOURCE with optimization"Lucas De Marchi2015-01-261-11/+1
| | | | | | | This reverts commit 27bcc9111b63e94d091c3fa47e81fe52b806cd3e. Let the distro decide about this flag. It's relatively recent and doesn't work well with gcc 4.[678] making the testsuite to fail.
* build: pass --no-undefined to linkerLucas De Marchi2015-01-251-0/+1
| | | | Do not allow undefined symbols.
* build: enable LTO and _FORTIFY_SOURCE with optimizationLucas De Marchi2015-01-251-1/+11
| | | | If building with optimization enabled, enable LTO.
* build-sys: integrate coverage reportLucas De Marchi2015-01-071-1/+24
| | | | | Just pass --enable-coverage to configure and then "make coverage" to have the coverage report at coverage dir.
* build-sys: rename cflags/ldflags variableLucas De Marchi2015-01-021-2/+2
| | | | Not all of them are for warnings or gc.
* build: Do not force diagnostics-color flagMike Auty2014-12-171-1/+0
| | | | | | | | | | The -fdiagnostics-color flag is only available on GCC >= 4.9, for older versions this could raise an error in certain circumstances (such as when using ccache). Instead, since -fdiagnostic-color=auto by default in gcc-4.9, simply set the required environment variable to the default one if it's undefined. Based mostly on the systemd commit f44541bc by Michal Schmidt.
* kmod 19v19Lucas De Marchi2014-11-161-1/+1
|
* Add back-up implementation of be32toh()Randy MacLeod2014-09-291-0/+3
| | | | | | | | | | Older systems may not have the be32toh function defined. Check for this and fall back to checking the endianness and calling bswap_32 directly if needed. This works on both old and new systems. [Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>: address comments raised by Lucas De Marchi [1], update commit message] [1] http://www.spinics.net/lists/linux-modules/msg01129.html
* kmod 18v18Lucas De Marchi2014-06-141-1/+1
|
* Add strndupa to missing.hLucas De Marchi2014-04-071-0/+3
|
* kmod 17v17Lucas De Marchi2014-04-061-1/+1
|
* build-sys: add hooks to build python bindingsLucas De Marchi2014-03-261-0/+19
| | | | | | | | Add --enable-python configure switch so we build the python bindings. We also pass version.py through SED_PROCESS macro, so the version is kept in sync with kmod. Acked-by: Andy Grover <agrover@redhat.com>
* build-sys: try harder to shut up compiler wrt strict-aliasingLucas De Marchi2014-03-241-1/+1
| | | | | | | | | | | With -Wstrict-aliasing=2 we get the following warning: libkmod/libkmod-signature.c:124:20: note: in expansion of macro 'get_unaligned' sig_len = be32toh(get_unaligned(&modsig->sig_len)); However there's nothing wrong with it. modsig->sig_len is uint32_t and get_unaligned in this case returns uint32_t. There's notstrict aliasing violation.
* build-sys: Remove bogus line causing warningLucas De Marchi2014-03-241-1/+0
| | | | | | ./configure: line 14316: xyes: command not found We are not using have_manpages, so remove it.
* build-sys: Do not require xsltproc for installation of man pagesLucas De Marchi2014-03-061-4/+2
| | | | | | | | | | | | | | | | Same reason as found in this commit to systemd: commit 4ca39b280fce3c60d2fdecbd478fd9bf7f9d3e64 Author: Mike Gilbert <floppym@gentoo.org> Date: Sun Feb 23 11:21:13 2014 -0500 configure: Do not require xsltproc for installation of man pages The release tarballs ship with pre-generated man pages, so we do not need xsltproc for a typical end-user build. Developers will probably have xsltproc anyway, but if not they will now encounter a build-time failure instead of an error in configure.
* kmod 16v16Lucas De Marchi2013-12-221-1/+1
|
* build: Allow disabling maintainer modeAnders Olofsson2013-11-101-0/+1
| | | | | | | | | | | | | | | | | This allows make rules for generated build files (i.e. configure, Makefile.in, ... ) to be skipped. This is useful when the source is stored without timestamps (for example in CVS or GIT). When the build rules trigger to regenerate the build files, it tries to use the same autotools version (currently 1.14) as was originally used for the release. Since many of our build machines run Debian Squeeze, they only have autotools 1.11 available and the build fails. Currently, we have to work around this by touching all the generated files before building to avoid triggering the make rule. With this patch, we would be able to just run configure with --disable-maintainer-mode instead. The patch sets the default to enable to not change the default behavior.
* build-sys: enable colored diagnostics if availableLucas De Marchi2013-10-261-0/+1
|
* build: remove check for typeofLucas De Marchi2013-09-061-1/+0
| | | | | | | It's used in so many places without checking, that's really pointless to check for it in macro.h. Also remove AC_C_TYPEOF from configure.ac since we don't use -ansi.