IFS=:; set x $gl_f
gl_of=$[2]; gl_am=$gl_of.am # TODO fully handle user-specified input files
IFS=$gl_save_IFS
- test -f "$gl_am" || test -f "$srcdir/gl_am" || continue
+ test -f "$gl_am" || test -f "$srcdir/$gl_am" || continue
$MAKE -f - glconfig-objects GLCONFIG_OBJECTS="$ac_tmp/gl_objs.lst" \
<"$gl_of" >/dev/null 2>&1 && test -f "$ac_tmp/gl_objs.lst" || continue
sed 's|[[.][^/.]*$]| &|' "$ac_tmp/gl_objs.lst" | LC_ALL=C sort -u \
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 distribution])
AT_KEYWORDS([DX_GNULIB_SYMFILES macro])
m4_define([TEST_CONFIGURE], [AT_KEYWORDS([configure])dnl
AT_CHECK([export CC
-CONFIG_SHELL=$TEST_SHELL $TEST_SHELL ./configure --quiet CONFIG_SHELL=$TEST_SHELL $1])])
+CONFIG_SHELL=$TEST_SHELL $TEST_SHELL m4_default([$2],
+[./configure]) --quiet CONFIG_SHELL=$TEST_SHELL $1])])
m4_include([tests/macros.at])
m4_include([tests/snippets.at])