| # 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: |