1 # Process this file with autoconf to produce a configure script.
2 # Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc.
3 # Contributed by Dave Love (d.love@dl.ac.uk).
5 #This file is part of GNU Fortran.
7 #GNU Fortran is free software; you can redistribute it and/or modify
8 #it under the terms of the GNU General Public License as published by
9 #the Free Software Foundation; either version 2, or (at your option)
12 #GNU Fortran is distributed in the hope that it will be useful,
13 #but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 #GNU General Public License for more details.
17 #You should have received a copy of the GNU General Public License
18 #along with GNU Fortran; see the file COPYING. If not, write to
19 #the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
23 AC_INIT(libF77/Version.c)
25 if test "${srcdir}" = "." ; then
26 if test "${with_target_subdir}" != "." ; then
27 topsrcdir=${with_multisrctop}../..
29 topsrcdir=${with_multisrctop}..
32 topsrcdir=${srcdir}/..
34 dnl This is needed for a multilibbed build in the source tree so
35 dnl that install-sh and config.sub get found.
36 AC_CONFIG_AUX_DIR($topsrcdir)
38 dnl Checks for programs.
39 # For g77 we'll set CC to point at the built gcc, but this will get it into
43 dnl These should be inherited in the recursive make, but ensure they are
47 if test "$RANLIB"; then :
55 dnl Checks for header files.
56 # Sanity check for the cross-compilation case:
57 AC_CHECK_HEADER(stdio.h,:,
58 [AC_MSG_ERROR([Can't find stdio.h.
59 You must have a usable C system for the target already installed, at least
60 including headers and, preferably, the library, before you can configure
61 the G77 runtime system. If necessary, install gcc now with \`LANGUAGES=c',
62 then the target library, then build with \`LANGUAGES=f77'.])])
64 # We have to firkle with the info in hconfig.h to figure out suitable types
65 # (via com.h). proj.h and com.h are in gcc/f/, config.h which they need
66 # is in gcc/ and the config files are in gcc/config/.
67 AC_MSG_CHECKING(f2c integer type)
69 ac_cpp="$late_ac_cpp -I../../gcc/f -I../../gcc -I../../gcc/config"
70 if test "$srcdir" != . ; then
71 ac_cpp="$ac_cpp -I$srcdir/../gcc/f -I$srcdir/../gcc -I$srcdir/../gcc/config"
73 AC_CACHE_VAL(g77_cv_sys_f2cinteger,
74 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
75 AC_EGREP_CPP(F2C_INTEGER=long int,
77 #define FFECOM_DETERMINE_TYPES 1
79 #if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG
81 #elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT
84 # error "Cannot find a suitable type for F2C_INTEGER"
87 g77_cv_sys_f2cinteger="long int",)
88 if test "$g77_cv_sys_f2cinteger" = ""; then
89 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
90 AC_EGREP_CPP(F2C_INTEGER=int,
92 #define FFECOM_DETERMINE_TYPES 1
94 #if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG
96 #elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT
99 # error "Cannot find a suitable type for F2C_INTEGER"
102 g77_cv_sys_f2cinteger=int,)
104 if test "$g77_cv_sys_f2cinteger" = ""; then
106 AC_MSG_ERROR([Can't determine type for f2c integer; config.log may help.])
109 AC_MSG_RESULT($g77_cv_sys_f2cinteger)
110 F2C_INTEGER=$g77_cv_sys_f2cinteger
112 AC_SUBST(F2C_INTEGER)
114 AC_MSG_CHECKING(f2c long int type)
116 ac_cpp="$late_ac_cpp -I../../gcc/f -I../../gcc -I../../gcc/config"
117 if test "$srcdir" != . ; then
118 ac_cpp="$ac_cpp -I$srcdir/../gcc/f -I$srcdir/../gcc -I$srcdir/../gcc/config"
120 AC_CACHE_VAL(g77_cv_sys_f2clongint,
121 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
122 AC_EGREP_CPP(F2C_LONGINT=long int,
124 #define FFECOM_DETERMINE_TYPES 1
126 #if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG
128 #elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG
129 F2C_LONGINT=long long int
131 # error "Cannot find a suitable type for F2C_LONGINT"
134 g77_cv_sys_f2clongint="long int",)
135 if test "$g77_cv_sys_f2clongint" = ""; then
136 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
137 AC_EGREP_CPP(F2C_LONGINT=long long int,
139 #define FFECOM_DETERMINE_TYPES 1
141 #if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG
143 #elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG
144 F2C_LONGINT=long long int
146 # error "Cannot find a suitable type for F2C_LONGINT"
149 g77_cv_sys_f2clongint="long long int",)
151 if test "$g77_cv_sys_f2clongint" = ""; then
153 AC_MSG_ERROR([Can't determine type for f2c long int; config.log may help.])
156 AC_MSG_RESULT($g77_cv_sys_f2clongint)
157 F2C_LONGINT=$g77_cv_sys_f2clongint
159 AC_SUBST(F2C_LONGINT)
161 # avoid confusion in case the `makefile's from the f2c distribution have
163 test -f libF77/makefile && mv libF77/makefile libF77/makefile.ori
164 test -f libI77/makefile && mv libI77/makefile libI77/makefile.ori
165 test -f libU77/makefile && mv libU77/makefile libU77/makefile.ori
167 # Get the version trigger filename from the toplevel
168 if [[ "${with_gcc_version_trigger+set}" = set ]]; then
169 gcc_version_trigger=$with_gcc_version_trigger
170 gcc_version=`sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/' < ${gcc_version_trigger}`
176 AC_SUBST(gcc_version)
177 AC_SUBST(gcc_version_trigger)
179 AC_SUBST(target_alias)
180 AC_CONFIG_SUBDIRS(libU77 libI77 libF77)
181 # Do Makefile first since g2c.h depends on it and shouldn't get an
182 # earlier timestamp. Of course, it does when the multilib gunk below
183 # edits Makefile, sigh; see additional touch below.
184 AC_OUTPUT(Makefile g2c.h:g2c.hin,
185 [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
186 if test -n "$CONFIG_FILES"; then
187 if test -n "${with_target_subdir}"; then
188 # FIXME: We shouldn't need to set ac_file
190 . ${topsrcdir}/config-ml.in
191 touch g2c.h # to keep it more recent than Makefile
197 with_target_subdir=${with_target_subdir}
198 with_multisubdir=${with_multisubdir}
199 ac_configure_args="--enable-multilib ${ac_configure_args}"
200 CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
201 topsrcdir=${topsrcdir}
206 dnl comment-start: "dnl "
208 dnl comment-start-skip: "\\bdnl\\b\\s *"