about summary refs log tree commit diff
path: root/configure.ng
AgeCommit message (Collapse)Author
2024-04-06Add support for the "sd_notify" protocolAlexander Barton
This allows the "ngircd.service" systemd(8) unit to use the "notify" service type, which allows for better status tracking by the service manager.
2024-03-31Try to set file descriptor limit to its maximum and show info on startupAlexander Barton
The number of possible parallel connections is limited by the process file descriptor limit (among other things). Therefore try to upgrade the current "soft" limit to its "hard" maximum (but limit it to 100000), and show an information or even warning, wenn still less than the configured "MaxConnections" setting. Please note that ngIRCd and its linked libraries (like PAM) need file descriptors not only for incoming and outgoing IRC connections, but for reading files and inter-process communication, too! Therefore the actual connection limit is _less_ than the file descriptor limit! This introduces the new MAX_FD_LIMIT (100000) #define.
2024-01-20Update the mailing list address to ngircd@lists.barton.deAlexander Barton
2024-01-19Use -Werror when testing for -Wno-format-truncationAlexander Barton
Clang does not know the -Wno-format-truncation option of (current) GCC, but accepts unknown -W... options (exit core 0) but issues a warning message on every invocation. So for example on macOS, where Clang is used as "gcc", a new warning message was shown for every file to compile, since we enabled -Wno-format-truncation in commit 1d527eaf: warning: unknown warning option '-Wno-format-truncation' [-Wunknown-warning-option] Clang no longer acceps unknown -W... options by enabling -Werror, which this patch adds to the CFLAGS while testing for -Wno-format-truncation, which fixes this issue. This fixes commit 1d527eaf.
2024-01-18Disable GCC -Wformat-truncation when suportedAlexander Barton
Pass -Wno-format-truncation when this is supported by GCC so silence warnings like this: conf.c: In function ‘Read_Config’: conf.c:985:60: warning: ‘snprintf’ output may be truncated before the last format character [-Wformat-truncation=] 985 | snprintf(file, sizeof(file), "%s/%s", | ^ conf.c:985:25: note: ‘snprintf’ output 2 or more bytes (assuming 257) into a destination of size 256 985 | snprintf(file, sizeof(file), "%s/%s", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 986 | Conf_IncludeDir, entry->d_name); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The warning is correct, but this is basically why we use snprintf() in the first place.
2024-01-16Autodetect support for IPv6 by defaultAlexander Barton
Until now, IPv6 support was disabled by default, which seems a bit outdated in 2024. Note: You still can pass "--enable-ipv6" or "--disable-ipv6" to the ./configure script to forcefully activate or deactivate IPv6 support.
2024-01-11Remove unmaintained contrib/MacOSX/ folderAlexander Barton
This includes removing the Xcode project. The sample launchd(8) configuration properties list file was moved to "contrib/de.barton.ngircd.plist" and kept.
2023-02-05configure.ng: Include <string.h> for memset in WORKING_GETADDRINFO probeFlorian Weimer
Otherwise, the probe always fails with compilers which do not support implicit function declarations.
2022-12-29Remove outdated macOS "Package Maker" configurationAlexander Barton
The tool is unavailable for many macOS versions and many years, so remove all related files.
2020-04-25updating testsuite to support ssl-testsJohann Hartwig Hauschild
2020-03-29Convert INSTALL and README files to MarkdownAlexander Barton
This requires some changes to the build system, for example to comply with the expectations of the GNU autoconf/automake tools ...
2019-11-10Log received signals (using strsignal(3), when available)Alexander Barton
2019-07-01Make sure HAVE_LIBSSL is defined, even when using pkg-configAlexander Barton
Without this, the configure script assumes and states that OpenSSL will be used, but the code won't include support for it because there we use the "HAVE_LIBSSL" define to test for it ("#ifdef HAVE_LIBSSL"). So define the latter when pkg-config(1) is used, too. This fixes #257, a regression introduced by commit ad86a41ee :-/
2019-04-20configure.ng: use pkg-config to find PpenSSL dependenciesFabrice Fontaine
OpenSSL can depends on lz or latomic so use pkg-config to find those dependencies and fallback to existing mechanism. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Closes #256.
2018-02-25configure.ng: Split list into separate linesAlexander Barton
2016-12-05Fix building ngIRCd with OpenSSL 1.1Christoph Biedl
At the moment, ngIRCd fails to build against OpenSSL 1.1 since the configure check probes for the SSL_library_init symbol which was removed, but probing for a different function availabe in both versions solves that problem: SSL_new(). And as SSL_library_init is no longer needed, the patch boils down to probing SSL_new to assert libssl is available, and disabling the SSL_library_init invokation from OpenSSL 1.1 on, see also another application[1] (NSCA-ng) that did pretty much the same. Patch was compile-tested on both Debian jessie (OpenSSL 1.0.2) and stretch (OpenSSL 1.1). [1] <https://www.nsca-ng.org/cgi-bin/repository/nsca-ng/commit/?id=8afc22031ff174f02caad4afc83fa5dff2c29f8a> (Patch by Christoph, commit message cherry-picked from the email thread on the mailing list by Alex. Thanks!)
2015-06-06Make setgroups(3) function optionalAlexander Barton
For example, Interix is missing this function, which prevented ngIRCd to build on this platform. When setgroups(3) isn't available, a warning message is issued when ngIRCd starts up.
2014-03-17configure[.ng]: <sys/types.h> is a required header fileAlexander Barton
ngIRCd already includes <sys/types.h> in a lot of places without checking for its existence (for example in "ngircd.c", "io.c", ...), therefore make it a required header file.
2014-01-26configure: Only link "contrib/Debian" if it existsAlexander Barton
This isn't the case on "VPATH builds", for example.
2014-01-17Use $(MKDIR_P) instead of $(mkinstalldirs) in Makefile'sAlexander Barton
And test for "mkdir -p" using AC_PROG_MKDIR_P in "configure".
2014-01-17Fix configure script and "make check" for TCP WrappersAlexander Barton
Add missing #include's and static variables. Problem spotted on OpenBSD.
2014-01-17Add libwrap at the end of the configure runAlexander Barton
If libwrap becomes added earlier, other tests may fail because of not all external variables required by libwrap are available when linking: for example allow_severity and deny_severity. This patch adds generic support for the LDFLAGS_END and LIBS_END variables (CFLAGS_END has been implemented already). Problem spotted on OpenBSD.
2014-01-04Partially revert bc098794: don't require autoconf 2.67Alexander Barton
GNU autoconf 2.61 is still sufficient to generate the configure script, even after updating configure.{ng|in}, so don't require a newer version.
2014-01-02Update configure.ng for autoconf 2.67Alexander Barton
We already require GNU autoconf 2.67 for generating our build system (at least this is what the INSTALL document states), so update the build system accordingly and implement all changes that autoupdate(1) suggests: - Update AC_PREREQ and AC_INIT - Use AC_LINK_IFELSE, AC_RUN_IFELSE, and AC_COMPILE_IFELSE - Remove AC_TYPE_SIGNAL (we don't use RETSIGTYPE)
2013-12-27Check for working getaddrinfo() functionAlexander Barton
At least AIX 4.3.3 and 5.1 have a broken implementation of getaddrinfo() which doesn't handle "0" as numeric service correctly. This patch adds a configure check for this case and changes all calling functions to only use getaddrinfo() if it "works". See <http://www.stacken.kth.se/lists/heimdal-discuss/2004-05/msg00059.html>
2013-11-12configure: clean up function definitionsAlexander Barton
2013-11-10Only use unsetenv() when it is availableAlexander Barton
AIX 4.3 dosn't support it, for example.
2013-10-23Check and call arc4random_stir() if presentFederico G. Schwindt
FreeBSD prior to 10.0 does not automatically stir on fork(). Same with current NetBSD. If arc4random_stir() is present assume is needed and call it instead of srand().
2013-10-16Add support for arc4randomFederico G. Schwindt
If arc4random is present it will be used over the srand/rand interface. This fixes some warnings in OpenBSD-current.
2013-08-26private strndup() implementation in case libc does not provide itFederico G. Schwindt
2013-08-11configure: Don't quote IO backend type(s)Alexander Barton
It's not needed and inconsistent compared to the other settings. Reported by "allerbest" (Götz Hoffart) on #ngircd, thanks!
2013-03-24Make configure[.ng] compatible with autoconf 1.10 againAlexander Barton
The incompatibility has been introduced by commit d0c9f4a6, "configure: search for iconv_open as well as libiconv_open".
2013-02-15configure: search for iconv_open as well as libiconv_openAlexander Barton
On some installations iconv_open() is actually libiconv_open(). iconv_open() is the glibc version while libiconv_open() is the libiconv version. This patch enables ngIRCd to detect both cases. Tested on OpenBSD 5.1. Closes bug #151.
2013-02-15configure: conversation -> conversionAlexander Barton
2013-01-24configure: "netinet/in_systm.h" is optionalAlexander Barton
The header file "netinet/in_systm.h" already is optional in ngIRCd, so don't require it in the configure script. Now ngIRCd can be built on Minix 3 again :-)
2013-01-06configure: use AS_HELP_STRING for --with-iconvAlexander Barton
2013-01-05autogen.sh: Enforce serial test harness on automake >=1.13Alexander Barton
2013-01-01Use "${docdir}/Commands.txt" as help text fileAlexander Barton
2012-11-10Remove Anope "ngircd" protocol module patchesAlexander Barton
Starting with Anope 1.9.8, the ngIRCd protocol module is included in the Anope distribution, so there's no longer any need to support our own (but now heavily outdated!) patches. Therefore remove them.
2012-10-11Search gethostbyname() in libbind and libnetworkAlexander Barton
This is required for Haiku (BeOS clone) at least.
2012-10-06Merge branch 'bug109-CHARCONV'Alexander Barton
This closes bug #109. * bug109-CHARCONV: Debian: require "telnet" or "telnet-ssl" for building Debian ngircd-full[-dbg]: enable CHARCONV Add "CHARCONV" to "feature string" when enabled Implement new IRC+ "CHARCONV" command Added new configure option "--with-iconv" Conflicts: src/ngircd/messages.h
2012-09-24configure: only use AM_PROG_AR when availableAlexander Barton
This fixes commit 78d189fb on systems with older automake ...
2012-09-24configure.ng: use AM_PROG_AR to check ar(1) commandAlexander Barton
This fixes automake-1.12/am/library.am: warning: 'libngipaddr.a': linking libraries using a non-POSIX .../automake-1.12/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.in' src/ipaddr/Makefile.am:12: while processing library 'libngipaddr.a' and similar warnings of automake.
2012-09-24Merge branch 'automake-am11-am12'Alexander Barton
* automake-am11-am12: autogen.sh: detect automake version format a.b.c and a.b configure.ng: don't require GIT tree to detect version string Include .mailmap file in distribution archives Include all build-system files into distribution archives Change build system to support new and old GNU automake
2012-09-24configure.ng: don't require GIT tree to detect version stringAlexander Barton
2012-09-23Change build system to support new and old GNU automakeAlexander Barton
Starting with GNU automake 1.12, the "de-ANSI-fication support" has been removed, which ngIRCd used to enable building itself on very old systems. Now the problem is, that using automake >= 1.12 isn't working because of the now unsupported M4 macros. Therefore the solution that this patch implements is to dynamically generate the automake input files with our own ./autogen.sh script: configure.ng => configure.in Makefile.ng => Makefile.am This is quite an ugly approach, but it works and enables us to: 1. use current automake >= 1.12 for development and "private builds", 2. still build distribution archives using automake 1.11.x that have "de-ANSI-fication support" enabled in the generated Makefile's. And if you are using Makefile's generated with a automake version newer than 1.11.x (without "de-ANSI-fication support"), the ./configure script warns you not to use this generated build system to generate distribution archives. Drawback of this patch: you MUST use our autogen.sh script, you can't call the autoconf/automake commands directly any more; but autoreconf should still work ...