# Process this file with autoconf to produce a configure script. # Copyright (C) 1995, 1997, 1998, 1999 Free Software Foundation, Inc. # Contributed by Dave Love (d.love@dl.ac.uk). # #This file is part of GNU Fortran. # #GNU Fortran is free software; you can redistribute it and/or modify #it under the terms of the GNU General Public License as published by #the Free Software Foundation; either version 2, or (at your option) #any later version. # #GNU Fortran 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 General Public License for more details. # #You should have received a copy of the GNU General Public License #along with GNU Fortran; see the file COPYING. If not, write to #the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #02111-1307, USA. AC_PREREQ(2.13) AC_INIT(libF77/Version.c) if test "${srcdir}" = "." ; then if test "${with_target_subdir}" != "." ; then topsrcdir=${with_multisrctop}../.. else topsrcdir=${with_multisrctop}.. fi else topsrcdir=${srcdir}/.. fi dnl This is needed for a multilibbed build in the source tree so dnl that install-sh and config.sub get found. AC_CONFIG_AUX_DIR($topsrcdir) # If the language specific compiler does not exist, but the "gcc" directory # does, we do not build anything. Note, $r is set by the top-level Makefile. # Note that when we look for the compiler, we search both with and without # extension to handle cross and canadian cross builds. compiler_name=f771 rm -f skip-this-dir AC_MSG_CHECKING(if compiler $compiler_name has been built) AC_CACHE_VAL(g77_cv_compiler_exists, [g77_cv_compiler_exists=yes if test -n "$r"; then if test -d "$r"/gcc; then if test -f "$r"/gcc/$compiler_name \ || test -f "$r"/gcc/$compiler_name.exe; then true else g77_cv_compiler_exists=no echo "rm -f config.cache config.log multilib.out" > skip-this-dir fi fi fi ]) AC_MSG_RESULT($g77_cv_compiler_exists) if test x$g77_cv_compiler_exists = xno then rm -f Makefile conftest* confdefs* core exit 0 fi dnl Checks for programs. # For g77 we'll set CC to point at the built gcc, but this will get it into # the makefiles AC_PROG_CC dnl These should be inherited in the recursive make, but ensure they are dnl defined: test "$AR" || AR=ar AC_SUBST(AR) if test "$RANLIB"; then : AC_SUBST(RANLIB) else AC_PROG_RANLIB fi AC_PROG_INSTALL AC_PROG_MAKE_SET dnl Checks for header files. # Sanity check for the cross-compilation case: AC_CHECK_HEADER(stdio.h,:, [AC_MSG_ERROR([Can't find stdio.h. You must have a usable C system for the target already installed, at least including headers and, preferably, the library, before you can configure the G77 runtime system. If necessary, install gcc now with \`LANGUAGES=c', then the target library, then build with \`LANGUAGES=f77'.])]) # We have to firkle with the info in hconfig.h to figure out suitable types # (via com.h). proj.h and com.h are in gcc/f/, config.h which they need # is in gcc/ and the config files are in gcc/config/. AC_MSG_CHECKING(f2c integer type) # Set this back later below! late_ac_cpp=$ac_cpp late_cflags=$CFLAGS extra_includes="-I$topsrcdir/gcc/f -I$topsrcdir/gcc -I$topsrcdir/include -I$topsrcdir/gcc/config -I$r/gcc" ac_cpp="$late_ac_cpp -DIN_GCC -DHAVE_CONFIG_H $extra_includes" # The AC_EGREP_CPPs below have been known to fail when the header # path is wrong after things have been moved about; the cpp error status # counts for nothing. First check that there aren't any errors from # the headers. CFLAGS="$CFLAGS -DHAVE_CONFIG_H -DIN_GCC $extra_includes" AC_TRY_COMPILE([#include "proj.h" #define FFECOM_DETERMINE_TYPES 1 #include "com.h"],,, AC_MSG_ERROR([Can't run check for integer sizes -- see config.log])) CFLAGS=$late_cflags AC_CACHE_VAL(g77_cv_sys_f2cinteger, echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC AC_EGREP_CPP(F2C_INTEGER=long int, [#include "proj.h" #define FFECOM_DETERMINE_TYPES 1 #include "com.h" #if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG F2C_INTEGER=long int #elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT F2C_INTEGER=int #else # error "Cannot find a suitable type for F2C_INTEGER" #endif ], g77_cv_sys_f2cinteger="long int",) if test "$g77_cv_sys_f2cinteger" = ""; then echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC AC_EGREP_CPP(F2C_INTEGER=int, [#include "proj.h" #define FFECOM_DETERMINE_TYPES 1 #include "com.h" #if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG F2C_INTEGER=long int #elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT F2C_INTEGER=int #else # error "Cannot find a suitable type for F2C_INTEGER" #endif ], g77_cv_sys_f2cinteger=int,) fi if test "$g77_cv_sys_f2cinteger" = ""; then AC_MSG_RESULT("") AC_MSG_ERROR([Can't determine type for f2c integer; config.log may help.]) fi ) AC_MSG_RESULT($g77_cv_sys_f2cinteger) F2C_INTEGER=$g77_cv_sys_f2cinteger AC_SUBST(F2C_INTEGER) AC_MSG_CHECKING(f2c long int type) AC_CACHE_VAL(g77_cv_sys_f2clongint, echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC AC_EGREP_CPP(F2C_LONGINT=long int, [#include "proj.h" #define FFECOM_DETERMINE_TYPES 1 #include "com.h" #if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG F2C_LONGINT=long int #elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG F2C_LONGINT=long long int #else # error "Cannot find a suitable type for F2C_LONGINT" #endif ], g77_cv_sys_f2clongint="long int",) if test "$g77_cv_sys_f2clongint" = ""; then echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC AC_EGREP_CPP(F2C_LONGINT=long long int, [#include "proj.h" #define FFECOM_DETERMINE_TYPES 1 #include "com.h" #if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG F2C_LONGINT=long int #elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG F2C_LONGINT=long long int #else # error "Cannot find a suitable type for F2C_LONGINT" #endif ], g77_cv_sys_f2clongint="long long int",) fi if test "$g77_cv_sys_f2clongint" = ""; then AC_MSG_RESULT("") AC_MSG_ERROR([Can't determine type for f2c long int; config.log may help.]) fi ) AC_MSG_RESULT($g77_cv_sys_f2clongint) F2C_LONGINT=$g77_cv_sys_f2clongint AC_SUBST(F2C_LONGINT) ac_cpp=$late_ac_cpp # avoid confusion in case the `makefile's from the f2c distribution have # got put here test -f libF77/makefile && mv libF77/makefile libF77/makefile.ori test -f libI77/makefile && mv libI77/makefile libI77/makefile.ori test -f libU77/makefile && mv libU77/makefile libU77/makefile.ori # Get the version trigger filename from the toplevel if [[ "${with_gcc_version_trigger+set}" = set ]]; then gcc_version_trigger=$with_gcc_version_trigger gcc_version=`sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/' < ${gcc_version_trigger}` else gcc_version_trigger= gcc_version=UNKNOWN fi AC_SUBST(gcc_version) AC_SUBST(gcc_version_trigger) AC_CANONICAL_SYSTEM AC_SUBST(target_alias) AC_CONFIG_SUBDIRS(libU77 libI77 libF77) # Do Makefile first since g2c.h depends on it and shouldn't get an # earlier timestamp. Of course, it does when the multilib gunk below # edits Makefile, sigh; see additional touch below. AC_OUTPUT(Makefile g2c.h:g2c.hin, [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h if test -n "$CONFIG_FILES"; then if test -n "${with_target_subdir}"; then # FIXME: We shouldn't need to set ac_file ac_file=Makefile . ${topsrcdir}/config-ml.in touch g2c.h # to keep it more recent than Makefile fi fi], srcdir=${srcdir} host=${host} target=${target} with_target_subdir=${with_target_subdir} with_multisubdir=${with_multisubdir} ac_configure_args="--enable-multilib ${ac_configure_args}" CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} topsrcdir=${topsrcdir} ) dnl Local Variables: dnl comment-start: "dnl " dnl comment-end: "" dnl comment-start-skip: "\\bdnl\\b\\s *" dnl End: