commit ad8c4b8efb4c77c961516db6ed8917a6421e3d56 from: Alexander Barton date: Sat Apr 20 16:51:39 2019 UTC Update autogen.sh & INSTALL for pkg-config requirements commit - ad86a41eeed9f85d74bb50a25fa0bf4515aaf3af commit + ad8c4b8efb4c77c961516db6ed8917a6421e3d56 blob - 9996329be0ca6e2a816ece350f3b507aedbfa2b0 blob + 96ad4af13cf45d8480449ea816280e3ca430c884 --- INSTALL +++ INSTALL @@ -127,10 +127,10 @@ on modern UNIX-like systems that are supported by GNU automake ("configure") should be no problem. The normal installation procedure after getting (and expanding) the source -files (using a distribution archive or GIT) is as following: +files (using a distribution archive or Git) is as following: 0) Satisfy prerequisites - 1) ./autogen.sh [only necessary when using GIT] + 1) ./autogen.sh [only necessary when using Git] 2) ./configure 3) make 4) make install @@ -154,10 +154,13 @@ doc/ directory: sample-ngircd.conf. 0): Satisfy prerequisites When building from source, you'll need some other software to build ngIRCd: -for example a working C compiler, make tool, GNU automake and autoconf (only -when not using a distribution archive), and a few libraries depending on the -features you want to compile in (like IDENT support, SSL, and PAM). +for example a working C compiler, make tool, and a few libraries depending on +the feature set you want to enable at compile time (like IDENT, SSL, and PAM). +And if you aren't using a distribution archive ("tar.gz" file), but cloned the +plain source archive, you need a few additional tools to generate the build +system itself: GNU automake and autoconf, as well as pkg-config. + If you are using one of the "big" operating systems or Linux distributions, you can use the following commands to install all the required packages to build the sources including all optional features and to run the test suite: @@ -166,29 +169,29 @@ build the sources including all optional features and yum install \ autoconf automake expect gcc glibc-devel gnutls-devel \ - libident-devel make pam-devel tcp_wrappers-devel telnet zlib-devel + libident-devel make pam-devel pkg-config tcp_wrappers-devel telnet zlib-devel * Debian / Ubuntu based distributions: apt-get install \ autoconf automake build-essential expect libgnutls-dev \ - libident-dev libpam-dev libwrap0-dev libz-dev telnet + libident-dev libpam-dev pkg-config libwrap0-dev libz-dev telnet 1): "autogen.sh" -The first step, autogen.sh, is only necessary if the configure-script isn't -already generated. This never happens in official ("stable") releases in -tar.gz-archives, but when using GIT. +The first step, autogen.sh, is ONLY necessary if the "configure" script itself +isn't already generated. This never happens in official ("stable") releases in +"tar.gz" archives, but when cloning the source code repository using Git. This step is therefore only interesting for developers. autogen.sh produces the Makefile.in's, which are necessary for the configure script itself, and some more files for make. To run autogen.sh you'll need -GNU autoconf and GNU automake: at least autoconf 2.61 and automake 1.10 are -required, newer is better. But don't use automake 1.12 or newer for creating -distribution archives: it will work but lack "de-ANSI-fication" support in the -generated Makefile's! Stick with automake 1.11.x for this purpose ... +GNU autoconf, GNU automake and pkg-config: at least autoconf 2.61 and automake +1.10 are required, newer is better. But don't use automake 1.12 or newer for +creating distribution archives: it will work but lack "de-ANSI-fication" support +in the generated Makefile's! Stick with automake 1.11.x for this purpose ... So automake 1.11.x and autoconf 2.67+ is recommended. Again: "end users" do not need this step and neither need GNU autoconf nor GNU blob - 3a3f717aa0ad5896d6e05930b278f2cbe5d1d68f blob + bb5482278ea9d0c52f9582fbda19810e76d997cd --- autogen.sh +++ autogen.sh @@ -103,7 +103,8 @@ Search() Notfound() { echo "Error: $* not found!" - echo "Please install recent versions of GNU autoconf and GNU automake." + echo 'Please install supported versions of GNU autoconf, GNU automake' + echo 'and pkg-config: see the INSTALL file for details.' exit 1 } @@ -161,6 +162,7 @@ AUTOMAKE_VERSION=$(echo $AUTOMAKE | cut -d'-' -f2-) [ -z "$GO" ] && [ -n "$CONFIGURE_ARGS" ] && GO=1 # Verify that all tools have been found +command -v pkg-config >/dev/null || Notfound pkg-config [ -z "$ACLOCAL" ] && Notfound aclocal [ -z "$AUTOHEADER" ] && Notfound autoheader [ -z "$AUTOMAKE" ] && Notfound automake