| # Process this file with autoconf to produce a configure script. |
| # Copyright (C) 1995, 1997, 1998 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_INIT(libF77/Version.c) |
| |
| AC_REVISION(1.12) |
| |
| 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 $srcdir/.., config.h which they need |
| # is in ../.. and the config files are in $srcdir/../../config. |
| AC_MSG_CHECKING(f2c integer type) |
| late_ac_cpp=$ac_cpp |
| ac_cpp="$late_ac_cpp -I../../gcc/f -I../../gcc -I../../gcc/config" |
| if test "$subdir" != . ; then |
| ac_cpp="$ac_cpp -I$srcdir/../gcc/f -I$srcdir/../gcc -I$srcdir/../gcc/config" |
| fi |
| 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_cpp=$late_ac_cpp |
| AC_SUBST(F2C_INTEGER) |
| |
| AC_MSG_CHECKING(f2c long int type) |
| late_ac_cpp=$ac_cpp |
| ac_cpp="$late_ac_cpp -I../../gcc/f -I../../gcc -I../../gcc/config" |
| if test "$subdir" != . ; then |
| ac_cpp="$ac_cpp -I$srcdir/../gcc/f -I$srcdir/../gcc -I$srcdir/../gcc/config" |
| fi |
| 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_cpp=$late_ac_cpp |
| AC_SUBST(F2C_LONGINT) |
| |
| # 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) |
| AC_OUTPUT(Makefile g2c.h:g2c.hin) |
| |
| dnl Local Variables: |
| dnl comment-start: "dnl " |
| dnl comment-end: "" |
| dnl comment-start-skip: "\\bdnl\\b\\s *" |
| dnl End: |