@@ -12,7 +12,7 @@ AC_INIT([MATIO],[1.5.30],[t-beu@users.sourceforge.net],[],[https://sourceforge.n
1212AC_CONFIG_SRCDIR ( [ src/matio.h] )
1313AC_CONFIG_AUX_DIR ( [ config] )
1414AC_CONFIG_MACRO_DIR ( [ config] )
15- AM_INIT_AUTOMAKE ( [ foreign 1.8 no-dependencies] )
15+ AM_INIT_AUTOMAKE ( [ foreign 1.8 no-dependencies subdir-objects ] )
1616m4_ifdef ( [ AM_SILENT_RULES ] , [ AM_SILENT_RULES ] )
1717AM_MAINTAINER_MODE
1818AC_PREREQ ( [ 2.60] )
@@ -26,16 +26,45 @@ PACKAGE_RELEASE_DATE="6 January 2026"
2626AC_DEFINE_UNQUOTED ( [ MATIO_VERSION_STR] ,"1.5.30" ,[ Matio version number] )
2727AC_SUBST ( PACKAGE_RELEASE_DATE )
2828
29- AC_ARG_VAR ( [ FCLDFLAGS] ,[ Fortran compiler-specific flags at link time] )
3029AC_ARG_VAR ( [ LT_CFLAGS] ,[ C compiler flags passed to libtool in compile mode] )
3130AC_ARG_VAR ( [ LT_LDFLAGS] ,[ Flags passed to libtool in link mode] )
3231
32+ dnl
33+ # Enable fortran interface
34+ AC_ARG_ENABLE ( fortran ,
35+ [ --enable-fortran enable fortran interface to mat library] ,
36+ [ if test "$enableval" = "no" ; then
37+ enable_fortran=no
38+ else
39+ enable_fortran=yes
40+ fi] ,
41+ enable_fortran=no )
42+
3343dnl
3444dnl Build programs, C compiler, F77 compiler, make, install, etc.
3545dnl
3646AC_PROG_CC ( [ pgcc icc gcc cc] )
3747AC_USE_SYSTEM_EXTENSIONS
3848
49+ if test "$enable_fortran" = "yes"
50+ then
51+ AC_PROG_FC ( [ pgf95 pgf90 ifort gfortran g95] )
52+ AC_FC_WRAPPERS
53+ AC_FC_LIBRARY_LDFLAGS
54+ AC_CONFIG_FILES ( [ src/fortran/matio_t.inc] )
55+ dnl gfortran >= 10 requires -fallow-argument-mismatch for legacy interfaces
56+ AC_MSG_CHECKING ( [ whether $FC needs -fallow-argument-mismatch] )
57+ case "$FC" in
58+ *gfortran*)
59+ FCFLAGS="$FCFLAGS -fallow-argument-mismatch"
60+ AC_MSG_RESULT ( [ yes] )
61+ ;;
62+ *)
63+ AC_MSG_RESULT ( [ no] )
64+ ;;
65+ esac
66+ fi
67+
3968AC_ARG_ENABLE ( coverage ,
4069[ --enable-coverage Enable coverage testing] ,
4170[ CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"] )
@@ -105,6 +134,10 @@ then
105134 FCFLAGS="$PROFILE_FCFLAGS $FCFLAGS"
106135fi
107136
137+ dnl
138+ dnl Try to avoid having libtool search for a fortran compiler
139+ dnl
140+ F77=$FC
108141AC_ENABLE_SHARED
109142AC_ENABLE_STATIC
110143LT_INIT
@@ -368,6 +401,18 @@ esac
368401AM_CONDITIONAL([ LINUX] , [ test "x$linux" = "xyes"] )
369402AM_CONDITIONAL([ WINNT] , [ test "x$winnt" = "xyes"] )
370403AM_CONDITIONAL([ SUN] , [ test "x$sun" = "xyes"] )
404+ AM_CONDITIONAL([ ENABLE_FORTRAN] , [ test "x$enable_fortran" = "xyes"] )
405+
406+ dnl
407+ dnl Without this, the linker line is incorrect on platforms without a fortran
408+ dnl compiler even if we are not using fortran sources
409+ dnl
410+ if test "x$enable_fortran" != "xyes"; then
411+ FCLINK='$(LINK)'
412+ else
413+ FCLINK='$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@'
414+ fi
415+ AC_SUBST ( FCLINK )
371416
372417winnt="no"
373418case "${host_os}" in
@@ -396,9 +441,13 @@ AC_MSG_RESULT([])
396441AC_MSG_RESULT ( [ MATIO Configuration Summary ] )
397442AC_MSG_RESULT ( [ ==============================================================] )
398443AC_MSG_RESULT ( [ C Compiler: $CC] )
444+ AC_MSG_RESULT ( [ Fortran Compiler: $FC] )
399445AC_MSG_RESULT ( [ CFLAGS: $CFLAGS] )
446+ AC_MSG_RESULT ( [ FCFLAGS: $FCFLAGS] )
447+ AC_MSG_RESULT ( [ FCLIBS: $FCLIBS] )
400448AC_MSG_RESULT ( [ Shared Libraries: $enable_shared] )
401449AC_MSG_RESULT ( [ Static Libraries: $enable_static] )
450+ AC_MSG_RESULT ( [ Fortran Interface: $enable_fortran] )
402451AC_MSG_RESULT ( [ default MAT version: $file_ver] )
403452AC_MSG_RESULT ( [ ] )
404453AC_MSG_RESULT ( [ Features --------------------------------------------] )
0 commit comments