configure.ac


Log

Author Commit Date CI Message
Guillem Jover 1fb25b7d 2021-02-09T06:14:25 Release libbsd 0.11.3
Guillem Jover 31f034e3 2021-02-09T05:57:37 Switch libmd wrapper to use dlsym() Switch from the previous versioned symbol implementation which required users to also link against the message digest provider explicitly, or they would fail to find the symbols, to an implementation that loads the symbols from the linked library providing the functions using dlsym(), thus preserving backwards compatibility.
Guillem Jover a4e0db2b 2021-02-09T06:04:38 build: Use a single variable to track libraries to link against Using various variables means we have to keep these in sync in various places. Just use a single variable that we can use anywhere where this is needed.
Guillem Jover 43d34c9d 2021-02-09T06:02:46 build: Fix message digest library checks They were not failing when not finding the SHA-2 functions and were hardcoding -lmd regardless of what library had been found.
Guillem Jover edea268c 2021-02-08T03:59:56 Release libbsd 0.11.2
Guillem Jover a4de4d95 2021-02-07T02:03:59 Release libbsd 0.11.1
Guillem Jover 37a9b56c 2021-02-06T23:43:12 Import pwcache module from OpenBSD
Guillem Jover 2462cd88 2021-02-07T00:23:43 Release libbsd 0.11.0
Guillem Jover 847e682f 2021-02-07T00:09:30 Use libmd hashing function implementations instead of embedding our own This splits the implementation responsibilities, and reduces embedded code copies, which was one of the driving points with this project to start with, so it's nice to give a good example.
Guillem Jover 3d6b6ead 2019-11-16T00:04:18 build: Detect support for --version-script in ld
Guillem Jover a11c98a6 2019-08-07T18:34:09 Release libbsd 0.10.0
Aaron Dierking 4bed4839 2018-06-14T11:38:32 build: Detect Windows/MinGW at configure time Extend the host OS checks to define an OS_WINDOWS automake conditional if the host is MinGW-like. This will be useful for future Windows-specific build tweaks. [guillem@hadrons.org: - Rename WINDOWS conditional to OS_WINDOWS. ] Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover b0ebb0d4 2019-08-06T23:16:42 build: Use __register_atfork() only if really available This is a glibc-specific symbol that has no public declaration. But is being used by the OpenBSD and this implementation as a hack to avoid having to link against the pthread library. This interface is at least included in LSB 5.0 [L], and using pthread_atfork() is otherwise problematic anyway [P]. [L] <https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib---register-atfork.html> [P] <http://austingroupbugs.net/view.php?id=851> One problem is that we were using it whenever __GLIBC__ is defined, which is supposed to be defined only on an actual glibc, but uClibc defines that macro, but it does not provide the symbol on its noMMU variant. We add a new configure check that will try to link a program that uses that symbol to make sure it is present. Closes: !2 Reported-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Guillem Jover 73aea4f8 2019-08-06T23:11:50 build: Fix check for clock_gettime() within librt The check was always setting the libraries to link to include -lrt, as the success case includes the builtin one. Handle the various values.
Guillem Jover 574c7a13 2018-06-18T00:36:44 Protect C language extensions with two leading and trailing underscores This should make their usage safer against user macros.
Aaron Dierking 0500a1bd 2018-06-14T11:38:32 Don't require <grp.h> This is only used in the overlay test and Windows does not provide it. Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 1ca09c18 2018-05-22T16:03:59 Release libbsd 0.9.1
Guillem Jover e007233c 2018-05-21T04:41:56 Release libbsd 0.9.0
Guillem Jover 0b61c5ff 2018-01-13T16:20:35 Release libbsd 0.8.7
Guillem Jover bbf90ac3 2017-07-17T01:01:13 Release libbsd 0.8.6
Guillem Jover 415e3cb2 2017-06-24T16:10:14 Release libbsd 0.8.5
Guillem Jover 8bff4b1f 2017-06-19T03:16:56 Release libbsd 0.8.4
Guillem Jover c8a1b08b 2017-06-09T05:14:24 build: Match any glibc and musl ABIs on the host_os AS_CASE Reported-by: Helmut Grohne <helmut@subdivi.de>
Guillem Jover 4fec871c 2017-06-09T04:52:45 build: Quote the arguments to AC_CONDITIONAL
Guillem Jover 3945693e 2017-06-09T04:52:45 build: Move AC_TYPE_UID_T close to the other AC_TYPE_* checks
Guillem Jover c253365d 2017-06-09T04:52:45 build: Move configure.ac comment into actual AC_CASE
Guillem Jover 8248e5f7 2017-06-07T23:09:40 build: Use src/strlcpy.c in AC_CONFIG_SRCDIR The src/fgetln.c file contains a function considered obsolete, use one that is not.
Guillem Jover d6c35f61 2017-01-10T04:33:15 Do not provide funopen() on musl Fixes: https://bugs.debian.org/818246
Guillem Jover 368af99f 2016-08-28T17:13:20 Fix the __progname check to avoid the optimizer discarding the symbol Because we were assigning to another unused variable, when building the check with optimizations enabled, which is the default when using gcc as the compiler, the variable was being discarded. Instead pass it to printf() so that it cannot do so.
Guillem Jover 9bed430e 2016-04-23T10:13:23 Release libbsd 0.8.3
Guillem Jover b7ce33cf 2016-02-12T22:56:09 build: Support clock_gettime() provided in librt In older glibc versions (< 2.17) clock_gettime() is in librt. Add a check for this to avoid build breakage for programs/libraries that use libbsd on such systems. Based-on-patch-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 2fb148a2 2016-01-27T15:25:23 Release libbsd 0.8.2
Guillem Jover 229f8579 2015-12-14T03:39:48 Release libbsd 0.8.1
Guillem Jover 2b030da0 2015-11-30T03:59:42 Release libbsd 0.8.0
Guillem Jover 874a0e51 2015-09-23T19:39:47 Update arc4random module from OpenBSD and LibreSSL Rework arc4random_stir() and arc4random_addrandom() code over the new internal API, and documentation in the man page. Adapt the code to the local build system. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=85827
Guillem Jover 9a9a8b2d 2015-09-23T19:39:47 Add private getentropy module from OpenBSD and LibreSSL Adapt the code to the local build system.
Guillem Jover 58bef83f 2015-11-16T01:12:24 test: Add unit test for arc4random()
Guillem Jover 3881c4fc 2014-11-02T00:23:00 Update closefrom() function Import from sudo. Adapt the build system to detect the required features.
Guillem Jover e390651b 2014-07-29T03:00:08 Release libbsd 0.7.0
Guillem Jover e8d3d041 2014-07-20T01:48:20 build: Remove hard requirement for GNU .init_array section support In case the support is not available, just stop building the libbsd-ctor.a library, which is a nice to have thing, but should not have been a hard requirement from the start. This should allow to build libbsd on non-glibc based systems using another libc.
Guillem Jover f41fdcf1 2013-10-21T05:07:56 Add funopen() function This is a wrapper over the glibc fopencookie() function. We diverge from the FreeBSD, OpenBSD and DragonFlyBSD declarations, because seekfn() there wrongly uses fpos_t, assuming it's an integral type, and any code using that on a system where fpos_t is a struct (such as GNU-based systems or NetBSD) will fail to build. In which case, as the code has to be modified anyway, we might just as well use the correct declaration.
Guillem Jover ee04e8de 2013-10-10T09:49:04 build: Set subdir-objects automake option Bump automake minimal version to 1.9.
Guillem Jover 11941746 2013-07-14T10:58:20 Release libbsd 0.6.0
Guillem Jover c5b95902 2013-07-11T12:25:54 Move setproctitle() automatic initialization to its own library The automatic initialization cannot be part of the main shared library, because there is no thread-safe way to change the environ global variable. This is not a problem if the initializaion happens just at program load time, but becomes one if the shared library is directly or indirectly dlopen()ed during the execution of the program, which could have either kept references to the old environ or could change it in some other thread. This has been observed for example on systems using Samba NSS modules. To avoid any other possible fallout, the constructor is split into a new static library that needs to be linked explicitly into programs using setproctitle(). As an additional safety measure the pkg-config linker flags will mark the program as not allowing to be dlopen()ed so that we avoid the problem described above. Reported-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=66679
Guillem Jover 3077d2ff 2013-07-12T22:15:58 build: Move version ABI from Makefile to configure.ac It's easier to find there, and the value can be reused in case we have to provide another shared library.
Guillem Jover 6faea4d2 2013-05-29T02:23:56 Force setproctitle() into .init_array section The GNU .init_array support is an extension over the standard System V ABI .init_array support, which passes the main() arguments to the init function. This support comes in three parts. First the dynamic linker (from glibc) needs to support it. Then function pointers need to be placed in the section, for example by using __attribute__((constructor)), that the compiler (gcc or clang for example) might place in section .ctors and the linker (from binutils) will move to .init_array on the output object, or by placing them directly into .init_array by the compiler when compiling. If this does not happen and the function pointers end up in .ctors, then they will not get passed the main() arguments, which we do really need in this case. But this relies on recent binutils or gcc having native .init_array support, and not having it disabled through --disable-initfini-array. To guarantee we get the correct behaviour, let's just place the function pointer in the .init_array section directly, so we only require a recent enough glibc. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=65029
Guillem Jover 06f0585c 2013-05-21T10:31:59 build: Compress the distribution tarball with xz instead of gzip
Guillem Jover e9933255 2013-05-25T17:11:53 Make setproctitle() available in 0.2 and 0.5 version nodes Make the 0.5 version the default, so that code wanting the actual implemented version can get a proper versioned depdendency. For code linked against the old version, make it available as an alias.
Guillem Jover 35785f8d 2012-11-25T21:10:53 Modify setproctitle() to conform to project coding style Use local getprogname()/setprogname() instead of reimplementing them locally. Use clearenv() if available, not just on glibc. Use bool instead of _Bool. Use paranthesis on sizeof. Fold the SPT_MIN macro into spt_min(). Make spt_init() static. Avoid unnecessary gotos.
Guillem Jover 14524b54 2012-06-03T07:39:42 build: Set default compiler variables from configure This centralizes the setting so there's no duplication anymore, makes sure the user supplied variables are never overridden, and are only set when using gcc. Reported-by: Samuli Suominen <ssuominen@gentoo.org>
Guillem Jover 75299746 2012-01-03T08:58:01 Base getprogname() on program_invocation_short_name presence instead of glibc
Guillem Jover d5d91869 2012-01-03T09:08:35 Base fpurge() implementation on __fpurge presence instead of glibc
Guillem Jover f8e80630 2012-01-03T08:40:18 Base fgetln() implementation on getline presence instead of glibc
Guillem Jover 943939d0 2011-12-31T08:39:44 Add new closefrom() function Code taken from sudo, man page from FreeBSD.
Guillem Jover 87232260 2011-07-06T16:29:26 Use system __progname variable in progname module if available
Guillem Jover b5cc17d6 2011-07-05T23:27:31 Use getexecname() if available for getprogname() This function is present on Solaris.
Guillem Jover 23973e22 2012-03-23T10:43:33 build: Add a test suite infrastructure
Guillem Jover dcaa93d9 2010-12-17T11:13:04 build: Switch to autotools