diff options
Diffstat (limited to 't/subpkg.sh')
-rwxr-xr-x | t/subpkg.sh | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/t/subpkg.sh b/t/subpkg.sh new file mode 100755 index 000000000..82bf33818 --- /dev/null +++ b/t/subpkg.sh @@ -0,0 +1,113 @@ +#! /bin/sh +# Copyright (C) 2002-2012 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, see <http://www.gnu.org/licenses/>. + +# Check subpackage handling. + +required=cc +. ./defs || Exit 1 + +mkdir m4 + +cat >m4/foo.m4 <<'EOF' +AC_DEFUN([FOO],[ + AC_PROG_CC + AC_OUTPUT +]) +EOF + +cat >>configure.ac <<'END' +AC_CONFIG_SUBDIRS([lib]) +FOO +END + +cat >Makefile.am <<'EOF' +SUBDIRS = lib +# Yes, This program is named LDADD. So what? +bin_PROGRAMS = LDADD +LDADD_LDADD = lib/liblib.a + +# It's ok to override distdir. +distdir = subpack-1 + +# Make sure $(distdir) and $(top_distdir) work as expected. +dist-hook: + test -f $(distdir)/LDADD.c + test -f $(top_distdir)/LDADD.c + +ACLOCAL_AMFLAGS = -I m4 +EOF + +cat >LDADD.c <<'EOF' +int lib (void); +int main (void) +{ + return lib (); +} +EOF + +mkdir lib +mkdir lib/src + +cat >lib/configure.ac <<'EOF' +AC_INIT([lib], [2.3]) +AM_INIT_AUTOMAKE +AM_PROG_AR +AC_PROG_RANLIB +AC_CONFIG_HEADERS([config.h:config.hin]) +AC_CONFIG_FILES([Makefile]) +FOO +EOF + +cat >lib/Makefile.am <<'EOF' +noinst_LIBRARIES = liblib.a +liblib_a_SOURCES = src/x.c + +dist-hook: + test ! -f $(distdir)/LDADD.c + test -f $(top_distdir)/LDADD.c + test -f $(distdir)/src/x.c + test ! -f $(top_distdir)/src/x.c + +ACLOCAL_AMFLAGS = -I ../m4 +EOF + +cat >lib/src/x.c <<'EOF' +#include <config.h> +int lib (void) +{ + return 0; +} +EOF + +$ACLOCAL -I m4 +$AUTOCONF +$AUTOMAKE -Wno-override + +cd lib +$ACLOCAL -I ../m4 +$FGREP 'm4_include([../m4/foo.m4])' aclocal.m4 +$AUTOCONF +$AUTOHEADER +$AUTOMAKE -Wno-override --add-missing +cd .. + +./configure +$MAKE +$MAKE distcheck +test ! -d subpack-1 # Make sure distcheck cleans up after itself. +test -f subpack-1.tar.gz + +: |