From 39a2a444a32896bd2dab37c9b247ccfd11ff4693 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Mon, 30 Oct 2017 19:29:12 +0100 Subject: [PATCH] buildsystem: drop custom buildconf script, rely on autoreconf The buildconf script is currently required, because we need to copy a header around, because it is used both from the library and the examples sources. However, having a custom 'buildconf'-like script is not needed if we can ensure that the header / exists by the time it is needed. For That, we can just append the src/ directory to the headers search path for the examples. And then it means we no longer need to generate the same header twice, so we remove the second one from configure.ac. Now, we can just call "autoreconf -fi" to generate the autotools files, instead of relying on the canned sequence in "buildconf", since autoreconf has now long known what to do at the correct moment (future versions of autotools, automake, autopoint, autoheader etc... may require an other ordering, or other intermediate steps, etc...). Eventually, get rid of buildconf now it is no longer needed. In fact, we really keep it for legacy, but have it just call autoreconf (and print a nice user-friendly warning). Update gitignore accordingly, too. Signed-off-by: "Yann E. MORIN" Cc: Sam Voss [Fabrice: Remove .gitignore so patch applies on 1.9.0] Signed-off-by: Fabrice Fontaine --- .gitignore | 2 ++ buildconf | 24 +++++------------------- configure.ac | 2 +- example/.gitignore | 2 -- example/Makefile.am | 2 +- 5 files changed, 9 insertions(+), 23 deletions(-) diff --git a/buildconf b/buildconf index 558dcb66..728b3397 100755 --- a/buildconf +++ b/buildconf @@ -1,22 +1,8 @@ #!/bin/sh -LIBTOOLIZE="libtoolize" +echo "***" >&2 +echo "*** Do not use buildconf. Instead, just use: autoreconf -fi" >&2 +echo "*** Doing it for you now, but buildconf may disapear in the future." >&2 +echo "***" >&2 -if [ "x`which $LIBTOOLIZE`" = "x" ]; then - LIBTOOLIZE="glibtoolize" -fi - -if [ "x`which $LIBTOOLIZE`" = "x" ]; then - echo "Neither libtoolize nor glibtoolize could be found!" - exit 1 -fi - -${LIBTOOLIZE} --copy --automake --force -${ACLOCAL:-aclocal} -I m4 $ACLOCAL_FLAGS -${AUTOHEADER:-autoheader} -# copy the private libssh2_config.h.in to the examples dir so that -# it can be included without pointing the include path to the private -# source dir -cp src/libssh2_config.h.in example/libssh2_config.h.in -${AUTOCONF:-autoconf} -${AUTOMAKE:-automake} --add-missing --copy +${AUTORECONF:-autoreconf} -fi "${@}" diff --git a/configure.ac b/configure.ac index c6ff7535..6939d0d6 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_INIT(libssh2, [-], libssh2-devel@cool.haxx.se) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR([src]) -AC_CONFIG_HEADERS([src/libssh2_config.h example/libssh2_config.h]) +AC_CONFIG_HEADERS([src/libssh2_config.h]) AM_MAINTAINER_MODE m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) diff --git a/example/Makefile.am b/example/Makefile.am index 5cf5f071..41f65b12 100644 --- a/example/Makefile.am +++ b/example/Makefile.am @@ -13,5 +13,5 @@ if HAVE_SYS_UN_H noinst_PROGRAMS += x11 endif -AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/example +AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/example -I../src LDADD = $(top_builddir)/src/libssh2.la