summaryrefslogtreecommitdiffstats
path: root/fortran/test/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'fortran/test/Makefile.am')
-rw-r--r--fortran/test/Makefile.am61
1 files changed, 36 insertions, 25 deletions
diff --git a/fortran/test/Makefile.am b/fortran/test/Makefile.am
index 608b1e9..735ab7a 100644
--- a/fortran/test/Makefile.am
+++ b/fortran/test/Makefile.am
@@ -36,12 +36,40 @@ else
AM_LDFLAGS+=-static
endif
+# Check if the compiler supports the Fortran 2003 standard
+# which should include the intrinsic module iso_c_binding
+if FORTRAN_2003_CONDITIONAL_F
+ ff_PREFIX = F03
+else
+ ff_PREFIX = F90
+endif
+
# Our main targets, the tests themselves
-TEST_PROG=fortranlib_test fflush1 fflush2 fortranlib_test_1_8 fortranlib_test_F03
+TEST_PROG=fortranlib_test fflush1 fflush2 fortranlib_test_1_8
+
+if FORTRAN_2003_CONDITIONAL_F
+ TEST_PROG += fortranlib_test_F03
+endif
check_PROGRAMS=$(TEST_PROG)
-libh5test_fortran_la_SOURCES = tf_gen.F90 tf.F90 t.c
+if FORTRAN_HAVE_STORAGE_SIZE
+if FORTRAN_HAVE_C_SIZEOF
+ libh5test_fortran_la_SOURCES = tf_F08.f90
+else
+ libh5test_fortran_la_SOURCES = tf_F03.f90
+endif
+else
+if FORTRAN_2003_CONDITIONAL_F
+ libh5test_fortran_la_SOURCES = tf_F03.f90
+else
+ libh5test_fortran_la_SOURCES = tf_F90.f90
+endif
+endif
+
+# tf.f90 depends on either tf_F08.f90 or tf_F03.f90 so they need to be
+# compiled first
+libh5test_fortran_la_SOURCES += tf.f90 t.c
# Source files are used for both the library and fortranlib_test.
# Automake will complain about this without the following workaround.
@@ -51,11 +79,13 @@ fortranlib_test_CFLAGS=$(AM_CFLAGS)
fortranlib_test_SOURCES = tH5F.f90 tH5D.f90 tH5R.f90 tH5S.f90 tH5T.f90 tH5VL.f90 tH5Z.f90 \
tH5Sselect.f90 tH5P.f90 tH5A.f90 tH5I.f90 tH5G.f90 tH5E.f90 tHDF5.f90 fortranlib_test.f90
-fortranlib_test_1_8_SOURCES = tH5O.f90 tH5A_1_8.f90 tH5G_1_8.f90 tH5MISC_1_8.f90 tHDF5_1_8.f90 \
+fortranlib_test_1_8_SOURCES = tH5O.f90 tH5A_1_8.f90 tH5G_1_8.f90 tH5MISC_1_8.f90 tHDF5_1_8.f90\
fortranlib_test_1_8.f90
-fortranlib_test_F03_SOURCES = tH5E_F03.f90 tH5F_F03.f90 tH5L_F03.f90 \
- tH5O_F03.f90 tH5P_F03.f90 tH5T_F03.F90 tHDF5_F03.f90 fortranlib_test_F03.f90
+if FORTRAN_2003_CONDITIONAL_F
+ fortranlib_test_F03_SOURCES = tH5E_F03.f90 tH5F_F03.f90 tH5L_F03.f90 \
+ tH5O_F03.f90 tH5P_F03.f90 tH5T_F03.f90 tHDF5_F03.f90 fortranlib_test_F03.f90
+endif
fflush1_SOURCES=fflush1.f90
@@ -76,32 +106,13 @@ maintainer-clean-local: clean-local
distclean-local: clean-local
clean-local:
@if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \
- $(RM) *.$(F9XMODEXT) tf_gen.F90; \
+ $(RM) *.$(F9XMODEXT); \
fi
# Mark this directory as part of the Fortran API (this affects output
# from tests in conclude.am)
FORTRAN_API=yes
-# helper program we need to build.
-noinst_PROGRAMS = H5_test_buildiface
-
-# H5_test_buildiface.F90 generates all the test APIs that have a KIND type associated
-# with them.
-
-tf_gen.F90: H5_test_buildiface$(EXEEXT)
- $(RUNSERIAL) ./H5_test_buildiface$(EXEEXT)
-
-# H5_test_buildiface.F90 is included in the distribution, and Automake knows
-# how to compile a fortran program given its sources.
-
-H5_test_buildiface_SOURCES = H5_test_buildiface.F90
-
-# The build of the H5_test_buildiface does depend on any libraries, so set it
-# to nothing.
-
-H5_test_buildiface_LDADD =
-
# fflush2 depends on files created by fflush1
fflush2.chkexe_: fflush1.chkexe_