Hallo Ralf!

Ralf Wildenhues wrote:
See nits below, and this one: all of them FAIL with 2.59/1.9.6 (without
libobjdir fixes):

[...]
| nonrecursive.at:66: $AUTORECONF --force --verbose --install
| stderr:
| autoreconf: Entering directory `.'
| autoreconf: configure.ac: not using Gettext
| autoreconf: running: aclocal --force -I libltdl/m4
| autoreconf: configure.ac: tracing
| autoreconf: configure.ac: not using Libtool
| autoreconf: running: autoconf --force
| autoreconf: running: autoheader --force
| autoreconf: running: automake --add-missing --copy --force-missing
| configure.ac: installing `libltdl/config/install-sh'
| configure.ac: installing `libltdl/config/missing'
| configure.ac:8: installing `libltdl/config/config.guess'
| configure.ac:8: installing `libltdl/config/config.sub'
| Makefile.am: installing `libltdl/config/compile'
| configure.ac:11: required file `./lt__dirent.c' not found
| configure.ac:11: required file `./argz.c' not found
| configure.ac:11: required file `./lt__strl.c' not found
| Makefile.am: installing `libltdl/config/depcomp'
| autoreconf: automake failed with exit status: 1

Can you make them SKIP in this case, so we don't get oodles of bogus bug
reports?

No need.  Fixed the tests to work irrespective of SUBDIR_LIBOBJS support.

The pushdef/popdef is with me, thank you.

Done.

If so, then I recommend adding AC_PROG_CC before as well.

Done.

and surely AC_PROG_CC should come before AM_INIT_AUTOMAKE?

Not at all, why?  INIT sounds like: do this first.  Right?
Sounds right to me.  Everything that has to become before this _needs_
to be documented very explicitly.  Quoting automake.info (Complete):

Done.

Okay to commit?

 Makefile.am           |    1
 tests/nonrecursive.at |  150 
++++++++++++++++++++++++++++++++++++++++++++++++++ tests/testsuite.at    |    9 
+++
 3 files changed, 160 insertions(+)

Index: libtool--devo--1.0/ChangeLog
from  Gary V. Vaughan  <[EMAIL PROTECTED]>
        * tests/nonrecursive.at: New tests for libltdl as a subdirectory,
        configured and compiled from the toplevel project.
        * tests/testsuite.at: Use it.
        (LT_AT_AUTOHEADER): New macro.
        * Makefile.am (TESTSUITE_AT): Depend on nonrecursive.at.

Index: libtool--devo--1.0/Makefile.am
===================================================================
--- libtool--devo--1.0.orig/Makefile.am
+++ libtool--devo--1.0/Makefile.am
@@ -357,6 +357,7 @@ TESTSUITE_AT        = tests/testsuite.at \
                  tests/duplicate_members.at \
                  tests/inherited_flags.at \
                  tests/libtoolize.at \
+                 tests/nonrecursive.at \
                  tests/old-m4-iface.at \
                  tests/standalone.at \
                  tests/deplibs-ident.at \
Index: libtool--devo--1.0/tests/nonrecursive.at
===================================================================
--- /dev/null
+++ libtool--devo--1.0/tests/nonrecursive.at
@@ -0,0 +1,150 @@
+# Hand crafted tests for GNU Libtool.                         -*- Autotest -*-
+# Copyright 2005 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+AT_BANNER([Nonrecursive Automake Libltdl.])
+
+# _LTDL_SETUP
+# -----------
+m4_pushdef([_LTDL_SETUP],
+[AT_DATA([configure.ac],
+[[AC_INIT([subdirectory-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
+LT_CONFIG_LTDL_DIR([libltdl], [nonrecursive])
+AC_CONFIG_AUX_DIR([libltdl/config])
+AC_CONFIG_MACRO_DIR([libltdl/m4])
+AC_CONFIG_LIBOBJ_DIR([libltdl])
+AM_INIT_AUTOMAKE([foreign subdir-objects])
+AC_PROG_CC
+AM_PROG_CC_C_O
+LT_INIT
+LT_WITH_LTDL
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+]])
+
+AT_DATA([Makefile.am],
+[[ACLOCAL_AMFLAGS = -I libltdl/m4
+BUILT_SOURCES          =
+
+noinst_LTLIBRARIES     =
+lib_LTLIBRARIES                = foo.la
+EXTRA_LTLIBRARIES      =
+
+EXTRA_DIST             =
+
+CLEANFILES             =
+MOSTLYCLEANFILES       =
+
+include libltdl/Makefile.inc
+
+foo_la_LDFLAGS         = -module -avoid-version
+]])
+
+echo 'static int dummy = 0;' > foo.c
+])# _LTDL_SETUP
+
+## ------------------------ ##
+## Softlinked libltdl tree. ##
+## ------------------------ ##
+
+AT_SETUP([compiling softlinked libltdl])
+
+_LTDL_SETUP
+
+LT_AT_LIBTOOLIZE([--ltdl])
+AT_CHECK([if test -f libltdl/configure.ac; then false; fi])
+
+# Support vanilla autoconf-2.59 & automake-1.9.6
+for file in argz.c lt__dirent.c lt__strl.c; do
+  cp libltdl/$file $file
+done
+
+LT_AT_ACLOCAL([-I libltdl/m4])
+LT_AT_AUTOHEADER
+LT_AT_AUTOMAKE([--add-missing --copy])
+LT_AT_AUTOCONF
+
+LT_AT_CONFIGURE
+LT_AT_MAKE
+
+AT_CHECK([test -f libltdl/libltdlc.la])
+
+AT_CLEANUP
+
+
+## -------------------- ##
+## Copied libltdl tree. ##
+## -------------------- ##
+
+AT_SETUP([compiling copied libltdl])
+
+_LTDL_SETUP
+
+LT_AT_LIBTOOLIZE([--copy --ltdl])
+AT_CHECK([if test -f libltdl/configure.ac; then false; fi])
+
+# Support vanilla autoconf-2.59 & automake-1.9.6
+for file in argz.c lt__dirent.c lt__strl.c; do
+  cp libltdl/$file $file
+done
+
+LT_AT_ACLOCAL([-I libltdl/m4])
+LT_AT_AUTOHEADER
+LT_AT_AUTOMAKE([--add-missing --copy])
+LT_AT_AUTOCONF
+
+LT_AT_CONFIGURE
+LT_AT_MAKE
+
+AT_CHECK([test -f libltdl/libltdlc.la])
+
+AT_CLEANUP
+
+
+## ------------------------- ##
+## Installable libltdl tree. ##
+## ------------------------- ##
+
+AT_SETUP([installable libltdl])
+
+_LTDL_SETUP
+
+prefix=`pwd`/_inst
+
+LT_AT_LIBTOOLIZE([--copy --ltdl])
+AT_CHECK([if test -f libltdl/configure.ac; then false; fi])
+
+# Support vanilla autoconf-2.59 & automake-1.9.6
+for file in argz.c lt__dirent.c lt__strl.c; do
+  cp libltdl/$file $file
+done
+
+LT_AT_ACLOCAL([-I libltdl/m4])
+LT_AT_AUTOHEADER
+LT_AT_AUTOMAKE([--add-missing --copy])
+LT_AT_AUTOCONF
+
+LT_AT_CONFIGURE([--enable-ltdl-install --prefix=$prefix])
+LT_AT_MAKE([all install])
+
+AT_CHECK([test -f $prefix/lib/libltdl.la])
+AT_CHECK([test -f $prefix/include/ltdl.h])
+
+AT_CLEANUP
+
+dnl Be careful not to let the definition leak into other tests
+m4_popdef([_LTDL_SETUP])
Index: libtool--devo--1.0/tests/testsuite.at
===================================================================
--- libtool--devo--1.0.orig/tests/testsuite.at
+++ libtool--devo--1.0/tests/testsuite.at
@@ -76,6 +76,13 @@ m4_define([LT_AT_AUTOMAKE],
 ])


+# LT_AT_AUTOHEADER([OPTIONS])
+# ---------------------------
+m4_define([LT_AT_AUTOHEADER],
+[AT_CHECK([$AUTOHEADER $1], [0], [ignore], [ignore])
+])
+
+
 # LT_AT_AUTORECONF([OPTIONS])
 # --------------------------
 m4_define([LT_AT_AUTORECONF],
@@ -156,6 +163,8 @@ m4_include([am-subdir.at])
 m4_include([standalone.at])
 # subproject libltdl compilation
 m4_include([subproject.at])
+# nonrecursive libltdl compilation
+m4_include([nonrecursive.at])
 # C++ templates tests
 m4_include([template.at])
 # Behaviour of LT_OUTPUT

Cheers,
        Gary.
--
Gary V. Vaughan      ())_.  [EMAIL PROTECTED],gnu.org}
Research Scientist   ( '/   http://tkd.kicks-ass.net
GNU Hacker           / )=   http://www.gnu.org/software/libtool
Technical Author   `(_~)_   http://sources.redhat.com/autobook

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to