autoconf/automake/libtool und Compiler-Flags

21/02/2009 - 20:02 von hmalissa | Report spam
Hallo!

Ich habe ein paar Routinen in Fortran geschrieben und zu einer
statischen Bibliothek zusammengefaßt, das funktioniert ganz wunderbar.
Auch das Einbinden von autoconf/automake/libtool funktioniert auf
Anhieb überraschend einfach - ich verwende diese Tools zum ersten mal.
Ich habe ein Makefile.am erstellt mit:

lib_LIBRARIES = libxyz.a
libxyz_a_SOURCES = x.f y.f z.f

und ein configure.ac mit:

AC_PREREQ(2.50)
AC_INIT(libxyz.a,1)
AM_INIT_AUTOMAKE
AC_PROG_F77
AC_PROG_LIBTOOL
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

Dann: libtoolize && aclocal && autoconf && automake -a.
Funktioniert klaglos.
Jetzt meine Frage: das configure-script sucht sich ja den erstbesten
Fortran-Compiler, den es findet. Das ist in manchen Fàllen der
gfortran und in anderen der g77. Ich würde gerne die Compiler-Option "-
std=legacy" verwenden, wenn es sich um gfortran handelt, aber nicht,
wenn es ein anderer Compiler ist. Wie kann ich einen Compiler-Flag
sozusagen "selektiv" anwenden?
 

Lesen sie die antworten

#1 Markus Raab
21/02/2009 - 20:12 | Warnen spam
hmalissa wrote:

Jetzt meine Frage: das configure-script sucht sich ja den erstbesten
Fortran-Compiler, den es findet. Das ist in manchen Fàllen der
gfortran und in anderen der g77. Ich würde gerne die Compiler-Option "-
std=legacy" verwenden, wenn es sich um gfortran handelt, aber nicht,
wenn es ein anderer Compiler ist. Wie kann ich einen Compiler-Flag
sozusagen "selektiv" anwenden?



Für C-Compiler wird die Environment Variable CC berücksichtigt.

Laut ./configure --help gibt es für Fortran:
F77 Fortran 77 compiler command
FFLAGS Fortran 77 compiler flags

Ich bin aber kein Fortran Entwickler, also ich kann dir keine Garantie dafür
geben dass man das machen kann was du vorhast, aber es klingt eher so als
wàre ein eigener Switch dafür unnötig.

mfg Markus

Ähnliche fragen