aboutsummaryrefslogtreecommitdiff
path: root/tests/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Makefile.am')
-rw-r--r--tests/Makefile.am90
1 files changed, 90 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644
index 0000000..2c64f9b
--- /dev/null
+++ b/tests/Makefile.am
@@ -0,0 +1,90 @@
+# Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+# This Makefile.am is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+AUTOMAKE_OPTIONS = 1.6 gnu
+
+# tversion is run
+# * at the beginning so that the user gets a possible version error
+# before any other one (the version error may be the cause of the
+# other errors), and
+# * at the end so that the error message is also near the end of the
+# output.
+check_PROGRAMS = tversion tinternals tinits tisqrt tsgn tcheck \
+ tisnan texceptions tset_exp tset mpf_compat mpfr_compat \
+ reuse tabs tacos tacosh tadd tadd1sp tadd_d tadd_ui tagm \
+ tai tasin tasinh tatan tatanh taway tbuildopt tcan_round \
+ tcbrt tcmp tcmp2 tcmp_d tcmp_ld tcmp_ui tcmpabs \
+ tcomparisons tconst_catalan tconst_euler tconst_log2 \
+ tconst_pi tcopysign tcos tcosh tcot tcoth tcsc tcsch \
+ td_div td_sub tdigamma tdim tdiv tdiv_d tdiv_ui teint teq \
+ terf texp texp10 texp2 texpm1 tfactorial tfits tfma tfmod \
+ tfms tfprintf tfrac tfrexp tgamma tget_flt tget_d tget_d_2exp \
+ tget_f tget_ld_2exp tget_set_d64 tget_sj tget_str tget_z \
+ tgmpop tgrandom thyperbolic thypot tinp_str tj0 tj1 tjn tl2b \
+ tlgamma tli2 tlngamma tlog tlog10 tlog1p tlog2 tmin_prec \
+ tminmax tmodf tmul tmul_2exp tmul_d tmul_ui tnext \
+ tout_str toutimpl tpow tpow3 tpow_all tpow_z tprintf \
+ trandom trec_sqrt tremquo trint troot tround_prec tsec \
+ tsech tset_d tset_f tset_ld tset_q tset_si tset_sj \
+ tset_str tset_z tset_z_exp tsi_op tsin tsin_cos tsinh \
+ tsinh_cosh tsprintf tsqr tsqrt tsqrt_ui tstckintc tstdint tstrtofr \
+ tsub tsub1sp tsub_d tsub_ui tsubnormal tsum tswap ttan \
+ ttanh ttrunc tui_div tui_pow tui_sub turandom \
+ tvalist ty0 ty1 tyn tzeta tzeta_ui tversion
+
+AM_CPPFLAGS = -DSRCDIR='"$(srcdir)"'
+
+EXTRA_DIST = tgeneric.c tgeneric_ui.c mpf_compat.h inp_str.data tmul.dat
+
+LDADD = libfrtests.la $(MPFR_LIBM) $(top_builddir)/src/libmpfr.la
+INCLUDES = -I$(top_srcdir)/src -I$(top_builddir)/src
+
+# LOADLIBES (documented in the "GNU make" manual and equivalent to LDLIBS)
+# enables to compile a program foo.c in the test directory by simply doing
+# "make foo".
+# Warning! This is not guaranteed to work, as libtool is not used. In
+# particular, this may not work as expected under GNU/Linux if --with-gmp
+# has been used, unless the directory is in your $LD_LIBRARY_PATH.
+# Moreover, dependencies are not tracked. Thus you may want to run
+# "make tversion" (for instance) just before, to make sure that every
+# dependency has been rebuilt.
+LOADLIBES=$(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(top_builddir)/tests/.libs/libfrtests.a $(top_builddir)/src/.libs/libmpfr.a $(LIBS) $(MPFR_LIBM)
+
+check_LTLIBRARIES = libfrtests.la
+libfrtests_la_SOURCES = mpfr-test.h memory.c rnd_mode.c tests.c cmp_str.c random2.c
+
+$(top_builddir)/src/libmpfr.la:
+ cd $(top_builddir)/src && $(MAKE) $(AM_MAKEFLAGS) libmpfr.la
+
+TESTS = $(check_PROGRAMS)
+TESTS_ENVIRONMENT = MPFR_QUIET=1 $(VALGRIND)
+
+# The -no-install option prevents libtool from generating wrapper scripts
+# for the tests.
+# This is useful to easily run the test scripts under valgrind or gdb.
+# See discussion http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28033
+# http://article.gmane.org/gmane.comp.lib.gnulib.bugs/28140 in particular.
+#
+# The -L$(top_builddir)/src/.libs option is necessary for some platforms,
+# such as HP-UX, when --with-gmp or --with-gmp-lib is used and an old MPFR
+# library is already installed in the corresponding lib directory: its
+# purpose is to make sure that the local .libs comes first in the library
+# search path (otherwise the tests are linked against the old MPFR library
+# by the LINK command -- see the generated Makefile). See:
+# https://sympa.inria.fr/sympa/arc/mpfr/2011-10/msg00042.html
+# https://sympa.inria.fr/sympa/arc/mpfr/2011-10/msg00043.html
+# https://sympa.inria.fr/sympa/arc/mpfr/2011-10/msg00044.html
+# https://sympa.inria.fr/sympa/arc/mpfr/2011-10/msg00066.html
+# https://sympa.inria.fr/sympa/arc/mpfr/2011-10/msg00065.html
+# and
+# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9728
+#
+AM_LDFLAGS = -no-install -L$(top_builddir)/src/.libs