AT_CLEANUP
-AT_SETUP([DX_GNULIB_SYMFILES])
-AT_KEYWORDS([DX_GNULIB_SYMFILES macro])
-
-echo : >compile
+m4_define([TEST_SYMFILES_INIT],
+[echo : >compile
TEST_CONFIGURE_AC([[AM_INIT_AUTOMAKE([foreign])
AM_PROG_CC_C_O
AC_SUBST([GLSRC], [.])
AC_CONFIG_FILES([Makefile])
]])
-AT_DATA([symfiles.lst],
-[[b.foo
-d.bar
-]])
-
cp "$srcdir/snippet/glconfig.mk" .
AT_DATA([Makefile.am],
[[CLEANFILES =
.PHONY: do_test
include $(top_srcdir)/glconfig.mk
+]])])
+
+AT_SETUP([DX_GNULIB_SYMFILES])
+AT_KEYWORDS([DX_GNULIB_SYMFILES macro])
+
+TEST_SYMFILES_INIT
+AT_DATA([symfiles.lst],
+[[b.foo
+d.bar
]])
TEST_AUTORECONF
AT_CLEANUP
+AT_SETUP([DX_GNULIB_SYMFILES separate srcdir])
+AT_KEYWORDS([DX_GNULIB_SYMFILES macro vpath])
+
+TEST_SYMFILES_INIT
+AT_DATA([symfiles.lst])
+TEST_AUTORECONF
+
+mkdir build && cd build
+TEST_CONFIGURE([], [../configure])
+AT_CHECK([make -s do_test], [0], [[
+///
+a.o
+b.o
+c.o
+d.o
+e.o
+]])
+cd ..
+
+AT_CLEANUP
+
+AT_SETUP([DX_GNULIB_SYMFILES shortname])
+AT_KEYWORDS([DX_GNULIB_SYMFILES macro])
+
+TEST_SYMFILES_INIT
+
+sed '/GNULIB_SYMFILES/c\
+[DX_GNULIB_SYMFILES([symfiles.lst], [x])]' configure.ac >configure.tmp
+sed '/gnulib_objects/s|$| a/b.o a/b/c.o|' Makefile.am >Makefile.tmp
+mv -f configure.tmp configure.ac
+mv -f Makefile.tmp Makefile.am
+
+AT_DATA([symfiles.lst],
+[[b.c
+c.c
+d.c
+e.c
+]])
+TEST_AUTORECONF
+
+TEST_CONFIGURE
+AT_CHECK([make -s do_test], [0],
+[[b.glsym
+c.glsym
+d.glsym
+e.glsym
+///
+a/b/x-c.o
+a/x-b.o
+x-a.o
+]])
+
+AT_CLEANUP
+
AT_SETUP([DX_GNULIB_SYMFILES distribution])
AT_KEYWORDS([DX_GNULIB_SYMFILES macro])