X-Git-Url: http://git.draconx.ca/gitweb/dxcommon.git/blobdiff_plain/e7d29006d05055ab5b7af44078668c1915d35262..ccd4df684019395c163eb3174c5e8bf2d3d8bdfc:/tests/macros.at diff --git a/tests/macros.at b/tests/macros.at index 5202790..a085ad6 100644 --- a/tests/macros.at +++ b/tests/macros.at @@ -340,11 +340,8 @@ exit 1]) AT_CLEANUP -AT_SETUP([DX_GNULIB_SYMFILES]) -AT_KEYWORDS([DX_GNULIB_SYMFILES macro]) - -echo : >compile -TEST_CONFIGURE_AC([[AM_INIT_AUTOMAKE([foreign]) +m4_define([TEST_SYMFILES_INIT], +[TEST_CONFIGURE_AC([[AM_INIT_AUTOMAKE([foreign]) AM_PROG_CC_C_O AC_SUBST([GLSRC], [.]) DX_AUTOMAKE_COMPAT @@ -352,11 +349,6 @@ DX_GNULIB_SYMFILES([symfiles.lst]) AC_CONFIG_FILES([Makefile]) ]]) -AT_DATA([symfiles.lst], -[[b.foo -d.bar -]]) - cp "$srcdir/snippet/glconfig.mk" . AT_DATA([Makefile.am], [[CLEANFILES = @@ -377,6 +369,15 @@ do_test: .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 @@ -406,6 +407,60 @@ e.o 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]) @@ -429,3 +484,116 @@ done exit 1]) AT_CLEANUP + +AT_SETUP([DX_EXPORTED_SH]) +AT_KEYWORDS([DX_EXPORTED_SH exported.sh macro]) + +AT_DATA([helpopt.nm], +[[0000000000000000 r .LC0 +000000000000001e r .LC1 +0000000000000025 r .LC2 + U __errno_location + U __printf_chk + U __stack_chk_fail +0000000000000000 T arg_to_int +0000000000000000 b dummy.0 + U help_print_optstring +0000000000000000 T main +00000000000000c0 T print_opt + U strchr + U strerror + U strtol + U tap_bail_out +]]) + +AT_DATA([helpopt-shared.lo], +[[pic_object=helpopt.nm +non_pic_object=none +]]) + +AT_DATA([helpopt-static.lo], +[[non_pic_object=helpopt.nm +pic_object=none +]]) + +AT_DATA([helpopt.lo], +[[non_pic_object=helpopt.nm +pic_object=helpopt.nm +]]) + +AT_DATA([expout], +[[arg_to_int +main +print_opt +]]) + +TEST_CONFIGURE_AC([[AC_PROVIDE([LT_INIT]) +AC_SUBST([NM], [cat]) +lt_cv_sys_global_symbol_pipe="sed -n -e '/ T /p'" +DX_EXPORTED_SH +]]) +TEST_AUTORECONF +TEST_CONFIGURE + +AT_CHECK([$SHELL exported.sh helpopt.nm], [0], [expout]) +AT_CHECK([$SHELL exported.sh helpopt-shared.lo], [0], [expout]) +AT_CHECK([$SHELL exported.sh helpopt-static.lo], [0], [expout]) +AT_CHECK([$SHELL exported.sh helpopt.lo], [0], [expout]) +AT_CHECK([$SHELL exported.sh nonexistent], [1], [], [ignore]) + +AT_CLEANUP + +AT_SETUP([DX_W32_GUI]) + +AT_DATA([test.in], [[@dx_cv_w32_gui@ +@dx_cv_w32_gui_flags@ +]]) + +TEST_CONFIGURE_AC([[DX_W32_GUI +AC_SUBST([dx_cv_w32_gui]) +AC_SUBST([dx_cv_w32_gui_flags]) +AC_CONFIG_FILES([test]) +]]) +TEST_AUTORECONF + +myconf="cross_compiling=yes --host=none CC=$srcdir/t/ccw32.sh" + +TEST_CONFIGURE([TEST_SUBSYS=2 TEST_GUI_FLAG=-mwindows $myconf]) +AT_CHECK([cat test], [0], [none needed + +]) + +TEST_CONFIGURE([TEST_SUBSYS=3 TEST_GUI_FLAG=-mwindows $myconf]) +AT_CHECK([cat test], [0], [-mwindows +-mwindows +]) + +TEST_CONFIGURE([TEST_SUBSYS=4 TEST_GUI_FLAG=xxx $myconf]) +AT_CHECK([cat test], [0], [unknown + +]) + +AT_CLEANUP + +AT_SETUP([DX_W32_GUI distribution]) +AT_KEYWORDS([DX_W32_GUI macro]) + +TEST_CONFIGURE_AC([[AM_INIT_AUTOMAKE([foreign]) +DX_W32_GUI +AC_CONFIG_FILES([Makefile]) +]]) + +AT_DATA([Makefile.am], +[[foo: ; printf '%s\n' $(DX_BASEDIR) $(DISTFILES) +]]) +TEST_AUTORECONF + +TEST_CONFIGURE +AT_CHECK([make -s foo], [0], [stdout]) +AT_CHECK([exec 3