guile/test-suite/standalone/Makefile.am

261 lines
7.6 KiB
Text
Raw Normal View History

2006-02-03 23:38:51 +00:00
## Process this file with automake to produce Makefile.in.
##
## Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
## 2011, 2012, 2013 Free Software Foundation, Inc.
2006-02-03 23:38:51 +00:00
##
## This file is part of GUILE.
##
## GUILE is free software; you can redistribute it and/or modify it
## under the terms of the GNU Lesser General Public License as
## published by the Free Software Foundation; either version 3, or
## (at your option) any later version.
2006-02-03 23:38:51 +00:00
##
## GUILE 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 Lesser General Public License for more details.
2006-02-03 23:38:51 +00:00
##
## You should have received a copy of the GNU Lesser General Public
## License along with GUILE; see the file COPYING.LESSER. If not,
## write to the Free Software Foundation, Inc., 51 Franklin Street,
## Fifth Floor, Boston, MA 02110-1301 USA
2006-02-03 23:38:51 +00:00
include $(top_srcdir)/am/snarf
2003-04-07 17:38:03 +00:00
# initializations so we can use += below.
TESTS =
noinst_LTLIBRARIES =
check_PROGRAMS =
check_SCRIPTS =
BUILT_SOURCES =
EXTRA_DIST =
2003-04-07 17:38:03 +00:00
TESTS_ENVIRONMENT = \
top_srcdir="$(top_srcdir)" \
srcdir="$(srcdir)" \
builddir="$(builddir)" \
@LOCALCHARSET_TESTS_ENVIRONMENT@ \
GUILE_AUTO_COMPILE=0 "${top_builddir}/meta/uninstalled-env"
2003-04-07 17:38:03 +00:00
## Check for headers in $(srcdir) and build dir before $(CPPFLAGS), which
Pick up in tree headers rather than installed ones From Ken Raeburn: The Mac build off of "master" fails for me currently in srfi-13.c, with the comparison-always-false warning Greg discussed. I hacked around that, but then guile-readline doesn't build: Making all in guile-readline ../libguile/guile-snarf -o readline.x ../../guile-readline/readline.c - DHAVE_CONFIG_H -I. -I.. -I../../guile-readline/.. -I../../guile- readline/lib -I./lib -g -O2 In file included from ../../guile-readline/readline.c:29: ../../guile-readline/../libguile.h:25:17: error: gmp.h: No such file or directory In file included from ../../guile-readline/../libguile.h:95, from ../../guile-readline/readline.c:29: ../../guile-readline/../libguile/strings.h:26:21: error: uniconv.h: No such file or directory Neither the path specified for libgmp nor the path specified for libunistring at configure time is included here. I don't think any of this is Mac-specific; I'm surprised that it works on GNU/Linux systems. Perhaps I'm building it in ways that are unusual for the other developers (build dir != src dir, libgmp and guile-1.8 installed in the same place, libgmp and libunistring installed in different nonstandard directories)? If I use CPPFLAGS=... and LDFLAGS=... instead of --with-libfoo-prefix configure options to specify paths to find libgmp and libunistring, the tests still pick old, installed Guile headers (which this time I've poisoned to highlight the problem) from those locations instead of the in-tree versions: Making all in test-suite Making all in standalone ../../libguile/guile-snarf -o test-asmobs-lib.x ../../../test-suite/ standalone/test-asmobs-lib.c -DHAVE_CONFIG_H -I. -I../../../test-suite/ standalone -I../.. -I/opt/local/include -I/Users/raeburn/dev/guile/ libunistring-0.9.1/I/include -g -O2 -I../../.. -I../../../lib -I../../ lib -I../.. In file included from /opt/local/include/libguile.h:30, from ../../../test-suite/standalone/test-asmobs- lib.c:23: /opt/local/include/libguile/__scm.h:3:2: error: #error Poison! I might be building Guile as part of a larger package (*cough*Emacs*cough*) that wants to include stuff from the same system directories (e.g., for MacPorts, pkgsrc, whatever) where an old version of Guile is installed, and thus Guile gets passed CPPFLAGS/ LDFLAGS settings that add that old version to the search paths. So I think the CPPFLAGS/LDFLAGS version needs to be made to work, as well as the --with-libfoo-prefix version. With the attached patch, I can get guile to build with CPPFLAGS= and LDFLAGS= ... someone more familiar than I am with automake will have to fix the guile-readline stuff.
2009-08-26 23:06:13 +01:00
## may point us to an old, installed version of guile.
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir) \
-I$(top_srcdir)/lib -I$(top_builddir)/lib
2008-03-13 14:03:58 +00:00
test_cflags = \
Pick up in tree headers rather than installed ones From Ken Raeburn: The Mac build off of "master" fails for me currently in srfi-13.c, with the comparison-always-false warning Greg discussed. I hacked around that, but then guile-readline doesn't build: Making all in guile-readline ../libguile/guile-snarf -o readline.x ../../guile-readline/readline.c - DHAVE_CONFIG_H -I. -I.. -I../../guile-readline/.. -I../../guile- readline/lib -I./lib -g -O2 In file included from ../../guile-readline/readline.c:29: ../../guile-readline/../libguile.h:25:17: error: gmp.h: No such file or directory In file included from ../../guile-readline/../libguile.h:95, from ../../guile-readline/readline.c:29: ../../guile-readline/../libguile/strings.h:26:21: error: uniconv.h: No such file or directory Neither the path specified for libgmp nor the path specified for libunistring at configure time is included here. I don't think any of this is Mac-specific; I'm surprised that it works on GNU/Linux systems. Perhaps I'm building it in ways that are unusual for the other developers (build dir != src dir, libgmp and guile-1.8 installed in the same place, libgmp and libunistring installed in different nonstandard directories)? If I use CPPFLAGS=... and LDFLAGS=... instead of --with-libfoo-prefix configure options to specify paths to find libgmp and libunistring, the tests still pick old, installed Guile headers (which this time I've poisoned to highlight the problem) from those locations instead of the in-tree versions: Making all in test-suite Making all in standalone ../../libguile/guile-snarf -o test-asmobs-lib.x ../../../test-suite/ standalone/test-asmobs-lib.c -DHAVE_CONFIG_H -I. -I../../../test-suite/ standalone -I../.. -I/opt/local/include -I/Users/raeburn/dev/guile/ libunistring-0.9.1/I/include -g -O2 -I../../.. -I../../../lib -I../../ lib -I../.. In file included from /opt/local/include/libguile.h:30, from ../../../test-suite/standalone/test-asmobs- lib.c:23: /opt/local/include/libguile/__scm.h:3:2: error: #error Poison! I might be building Guile as part of a larger package (*cough*Emacs*cough*) that wants to include stuff from the same system directories (e.g., for MacPorts, pkgsrc, whatever) where an old version of Guile is installed, and thus Guile gets passed CPPFLAGS/ LDFLAGS settings that add that old version to the search paths. So I think the CPPFLAGS/LDFLAGS version needs to be made to work, as well as the --with-libfoo-prefix version. With the attached patch, I can get guile to build with CPPFLAGS= and LDFLAGS= ... someone more familiar than I am with automake will have to fix the guile-readline stuff.
2009-08-26 23:06:13 +01:00
-I$(top_srcdir)/test-suite/standalone -I. \
$(EXTRA_DEFS) $(GUILE_CFLAGS) $(GCC_CFLAGS)
AM_LDFLAGS = $(GUILE_CFLAGS)
2003-04-07 17:38:03 +00:00
# How to link with libguile (same as `Libs' in `guile-2.0.pc'.)
LIBGUILE_LDADD = \
${top_builddir}/libguile/libguile-@GUILE_EFFECTIVE_VERSION@.la \
$(BDW_GC_LIBS)
Pick up in tree headers rather than installed ones From Ken Raeburn: The Mac build off of "master" fails for me currently in srfi-13.c, with the comparison-always-false warning Greg discussed. I hacked around that, but then guile-readline doesn't build: Making all in guile-readline ../libguile/guile-snarf -o readline.x ../../guile-readline/readline.c - DHAVE_CONFIG_H -I. -I.. -I../../guile-readline/.. -I../../guile- readline/lib -I./lib -g -O2 In file included from ../../guile-readline/readline.c:29: ../../guile-readline/../libguile.h:25:17: error: gmp.h: No such file or directory In file included from ../../guile-readline/../libguile.h:95, from ../../guile-readline/readline.c:29: ../../guile-readline/../libguile/strings.h:26:21: error: uniconv.h: No such file or directory Neither the path specified for libgmp nor the path specified for libunistring at configure time is included here. I don't think any of this is Mac-specific; I'm surprised that it works on GNU/Linux systems. Perhaps I'm building it in ways that are unusual for the other developers (build dir != src dir, libgmp and guile-1.8 installed in the same place, libgmp and libunistring installed in different nonstandard directories)? If I use CPPFLAGS=... and LDFLAGS=... instead of --with-libfoo-prefix configure options to specify paths to find libgmp and libunistring, the tests still pick old, installed Guile headers (which this time I've poisoned to highlight the problem) from those locations instead of the in-tree versions: Making all in test-suite Making all in standalone ../../libguile/guile-snarf -o test-asmobs-lib.x ../../../test-suite/ standalone/test-asmobs-lib.c -DHAVE_CONFIG_H -I. -I../../../test-suite/ standalone -I../.. -I/opt/local/include -I/Users/raeburn/dev/guile/ libunistring-0.9.1/I/include -g -O2 -I../../.. -I../../../lib -I../../ lib -I../.. In file included from /opt/local/include/libguile.h:30, from ../../../test-suite/standalone/test-asmobs- lib.c:23: /opt/local/include/libguile/__scm.h:3:2: error: #error Poison! I might be building Guile as part of a larger package (*cough*Emacs*cough*) that wants to include stuff from the same system directories (e.g., for MacPorts, pkgsrc, whatever) where an old version of Guile is installed, and thus Guile gets passed CPPFLAGS/ LDFLAGS settings that add that old version to the search paths. So I think the CPPFLAGS/LDFLAGS version needs to be made to work, as well as the --with-libfoo-prefix version. With the attached patch, I can get guile to build with CPPFLAGS= and LDFLAGS= ... someone more familiar than I am with automake will have to fix the guile-readline stuff.
2009-08-26 23:06:13 +01:00
snarfcppopts = \
-I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib -I$(top_builddir) \
-I. $(DEFS) $(DEFAULT_INCLUDES) $(CPPFLAGS) $(CFLAGS)
2008-03-13 14:03:58 +00:00
2007-01-15 23:42:45 +00:00
SUFFIXES = .x
.c.x:
$(AM_V_SNARF)$(GUILE_SNARF) -o $@ $< $(snarfcppopts)
2003-04-07 17:38:03 +00:00
CLEANFILES = *.x
2003-04-07 17:38:03 +00:00
.DELETE_ON_ERROR:
check_SCRIPTS += test-system-cmds
TESTS += test-system-cmds
check_SCRIPTS += test-bad-identifiers
TESTS += test-bad-identifiers
check_SCRIPTS += test-require-extension
TESTS += test-require-extension
check_SCRIPTS += test-guile-snarf
TESTS += test-guile-snarf
check_SCRIPTS += test-import-order
TESTS += test-import-order
EXTRA_DIST += test-import-order-a.scm test-import-order-b.scm \
test-import-order-c.scm test-import-order-d.scm
check_SCRIPTS += test-command-line-encoding
TESTS += test-command-line-encoding
check_SCRIPTS += test-command-line-encoding2
TESTS += test-command-line-encoding2
check_SCRIPTS += test-language
TESTS += test-language
EXTRA_DIST += test-language.el test-language.js
2003-04-07 17:38:03 +00:00
# test-num2integral
test_num2integral_SOURCES = test-num2integral.c
test_num2integral_CFLAGS = ${test_cflags}
test_num2integral_LDADD = $(LIBGUILE_LDADD)
2003-04-07 17:38:03 +00:00
check_PROGRAMS += test-num2integral
TESTS += test-num2integral
# test-round
test_round_CFLAGS = ${test_cflags}
test_round_LDADD = $(LIBGUILE_LDADD)
check_PROGRAMS += test-round
TESTS += test-round
if HAVE_SHARED_LIBRARIES
2003-04-07 17:38:03 +00:00
# test-asmobs
noinst_LTLIBRARIES += libtest-asmobs.la
libtest_asmobs_la_SOURCES = test-asmobs-lib.c
2003-04-07 17:38:03 +00:00
libtest_asmobs_la_CFLAGS = ${test_cflags}
libtest_asmobs_la_LDFLAGS = -module -no-undefined -rpath `pwd` # so libtool will really build an .so
libtest_asmobs_la_LIBADD = $(LIBGUILE_LDADD)
BUILT_SOURCES += test-asmobs-lib.x
2003-04-07 17:38:03 +00:00
check_SCRIPTS += test-asmobs
TESTS += test-asmobs
# test-ffi
noinst_LTLIBRARIES += libtest-ffi.la
libtest_ffi_la_SOURCES = test-ffi-lib.c
libtest_ffi_la_CFLAGS = ${test_cflags}
libtest_ffi_la_LDFLAGS = -module -no-undefined -rpath `pwd` # so libtool will really build an .so
libtest_ffi_la_LIBADD = $(LIBGUILE_LDADD)
check_SCRIPTS += test-ffi
TESTS += test-ffi
endif HAVE_SHARED_LIBRARIES
2006-02-03 23:38:51 +00:00
# test-list
test_list_SOURCES = test-list.c
test_list_CFLAGS = ${test_cflags}
test_list_LDADD = $(LIBGUILE_LDADD)
2006-02-03 23:38:51 +00:00
check_PROGRAMS += test-list
TESTS += test-list
# test-unwind
test_unwind_SOURCES = test-unwind.c
test_unwind_CFLAGS = ${test_cflags}
test_unwind_LDADD = $(LIBGUILE_LDADD)
check_PROGRAMS += test-unwind
TESTS += test-unwind
2004-07-06 13:13:14 +00:00
# test-conversion
test_conversion_SOURCES = test-conversion.c
test_conversion_CFLAGS = ${test_cflags}
test_conversion_LDADD = $(LIBGUILE_LDADD)
2004-07-06 13:13:14 +00:00
check_PROGRAMS += test-conversion
TESTS += test-conversion
# test-loose-ends
test_loose_ends_SOURCES = test-loose-ends.c
test_loose_ends_CFLAGS = ${test_cflags}
test_loose_ends_LDADD = $(LIBGUILE_LDADD)
check_PROGRAMS += test-loose-ends
TESTS += test-loose-ends
# test-fast-slot-ref
check_SCRIPTS += test-fast-slot-ref
TESTS += test-fast-slot-ref
# test-mb-regexp
check_SCRIPTS += test-mb-regexp
TESTS += test-mb-regexp
2007-01-15 23:42:45 +00:00
# test-use-srfi
2007-02-20 07:23:19 +00:00
check_SCRIPTS += test-use-srfi
2007-01-15 23:42:45 +00:00
TESTS += test-use-srfi
# test-scm-c-read
test_scm_c_read_SOURCES = test-scm-c-read.c
test_scm_c_read_CFLAGS = ${test_cflags}
test_scm_c_read_LDADD = $(LIBGUILE_LDADD)
check_PROGRAMS += test-scm-c-read
TESTS += test-scm-c-read
# test-scm-take-locale-symbol
test_scm_take_locale_symbol_SOURCES = test-scm-take-locale-symbol.c
test_scm_take_locale_symbol_CFLAGS = ${test_cflags}
test_scm_take_locale_symbol_LDADD = $(LIBGUILE_LDADD)
check_PROGRAMS += test-scm-take-locale-symbol
TESTS += test-scm-take-locale-symbol
# test-scm-take-u8vector
test_scm_take_u8vector_SOURCES = test-scm-take-u8vector.c
test_scm_take_u8vector_CFLAGS = ${test_cflags}
test_scm_take_u8vector_LDADD = $(LIBGUILE_LDADD)
check_PROGRAMS += test-scm-take-u8vector
TESTS += test-scm-take-u8vector
# test-scm-take-u8vector
test_scm_to_latin1_string_SOURCES = test-scm-to-latin1-string.c
test_scm_to_latin1_string_CFLAGS = ${test_cflags}
test_scm_to_latin1_string_LDADD = $(LIBGUILE_LDADD)
check_PROGRAMS += test-scm-to-latin1-string
TESTS += test-scm-to-latin1-string
# test-scm-values
test_scm_values_SOURCES = test-scm-values.c
test_scm_values_CFLAGS = ${test_cflags}
test_scm_values_LDADD = $(LIBGUILE_LDADD)
check_PROGRAMS += test-scm-values
TESTS += test-scm-values
if HAVE_SHARED_LIBRARIES
# test-extensions
noinst_LTLIBRARIES += libtest-extensions.la
libtest_extensions_la_SOURCES = test-extensions-lib.c
libtest_extensions_la_CFLAGS = ${test_cflags}
libtest_extensions_la_LDFLAGS = -module -no-undefined -rpath `pwd` # so libtool will really build an .so
libtest_extensions_la_LIBADD = $(LIBGUILE_LDADD)
check_SCRIPTS += test-extensions
TESTS += test-extensions
endif HAVE_SHARED_LIBRARIES
if BUILD_PTHREAD_SUPPORT
# test-with-guile-module
test_with_guile_module_CFLAGS = ${test_cflags}
test_with_guile_module_LDADD = $(LIBGUILE_LDADD)
check_PROGRAMS += test-with-guile-module
TESTS += test-with-guile-module
test_scm_with_guile_CFLAGS = ${test_cflags}
test_scm_with_guile_LDADD = $(LIBGUILE_LDADD)
check_PROGRAMS += test-scm-with-guile
TESTS += test-scm-with-guile
test_scm_spawn_thread_CFLAGS = ${test_cflags}
test_scm_spawn_thread_LDADD = $(LIBGUILE_LDADD)
check_PROGRAMS += test-scm-spawn-thread
TESTS += test-scm-spawn-thread
test_pthread_create_CFLAGS = ${test_cflags}
test_pthread_create_LDADD = $(LIBGUILE_LDADD)
check_PROGRAMS += test-pthread-create
TESTS += test-pthread-create
test_pthread_create_secondary_CFLAGS = ${test_cflags} $(BDW_GC_CFLAGS)
test_pthread_create_secondary_LDADD = $(LIBGUILE_LDADD)
check_PROGRAMS += test-pthread-create-secondary
TESTS += test-pthread-create-secondary
else
EXTRA_DIST += test-with-guile-module.c test-scm-with-guile.c
endif
test_smob_mark_SOURCES = test-smob-mark.c
test_smob_mark_CFLAGS = ${test_cflags}
test_smob_mark_LDADD = $(LIBGUILE_LDADD)
check_PROGRAMS += test-smob-mark
TESTS += test-smob-mark
EXTRA_DIST += ${check_SCRIPTS}