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
22 AC_INIT(libF77/Version.c)
24 if test "${srcdir}" = "." ; then
25 if test "${with_target_subdir}" != "." ; then
26 topsrcdir=${with_multisrctop}../..
28 topsrcdir=${with_multisrctop}..
31 topsrcdir=${srcdir}/..
33 dnl This is needed for a multilibbed build in the source tree so
34 dnl that install-sh and config.sub get found.
35 AC_CONFIG_AUX_DIR($topsrcdir)
37 dnl Checks for programs.
38 # For g77 we'll set CC to point at the built gcc, but this will get it into
42 dnl These should be inherited in the recursive make, but ensure they are
46 if test "$RANLIB"; then :
54 dnl Checks for header files.
55 # Sanity check for the cross-compilation case:
56 AC_CHECK_HEADER(stdio.h,:,
57 [AC_MSG_ERROR([Can't find stdio.h.
58 You must have a usable C system for the target already installed, at least
59 including headers and, preferably, the library, before you can configure
60 the G77 runtime system. If necessary, install gcc now with \`LANGUAGES=c',
61 then the target library, then build with \`LANGUAGES=f77'.])])
63 # We have to firkle with the info in hconfig.h to figure out suitable types
64 # (via com.h). proj.h and com.h are in gcc/f/, config.h which they need
65 # is in gcc/ and the config files are in gcc/config/.
66 AC_MSG_CHECKING(f2c integer type)
68 ac_cpp="$late_ac_cpp -I../../gcc/f -I../../gcc -I../../gcc/config"
69 if test "$srcdir" != . ; then
70 ac_cpp="$ac_cpp -I$srcdir/../gcc/f -I$srcdir/../gcc -I$srcdir/../gcc/config"
72 AC_CACHE_VAL(g77_cv_sys_f2cinteger,
73 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
74 AC_EGREP_CPP(F2C_INTEGER=long int,
76 #define FFECOM_DETERMINE_TYPES 1
78 #if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG
80 #elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT
83 # error "Cannot find a suitable type for F2C_INTEGER"
86 g77_cv_sys_f2cinteger="long int",)
87 if test "$g77_cv_sys_f2cinteger" = ""; then
88 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
89 AC_EGREP_CPP(F2C_INTEGER=int,
91 #define FFECOM_DETERMINE_TYPES 1
93 #if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG
95 #elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT
98 # error "Cannot find a suitable type for F2C_INTEGER"
101 g77_cv_sys_f2cinteger=int,)
103 if test "$g77_cv_sys_f2cinteger" = ""; then
105 AC_MSG_ERROR([Can't determine type for f2c integer; config.log may help.])
108 AC_MSG_RESULT($g77_cv_sys_f2cinteger)
109 F2C_INTEGER=$g77_cv_sys_f2cinteger
111 AC_SUBST(F2C_INTEGER)
113 AC_MSG_CHECKING(f2c long int type)
115 ac_cpp="$late_ac_cpp -I../../gcc/f -I../../gcc -I../../gcc/config"
116 if test "$srcdir" != . ; then
117 ac_cpp="$ac_cpp -I$srcdir/../gcc/f -I$srcdir/../gcc -I$srcdir/../gcc/config"
119 AC_CACHE_VAL(g77_cv_sys_f2clongint,
120 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
121 AC_EGREP_CPP(F2C_LONGINT=long int,
123 #define FFECOM_DETERMINE_TYPES 1
125 #if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG
127 #elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG
128 F2C_LONGINT=long long int
130 # error "Cannot find a suitable type for F2C_LONGINT"
133 g77_cv_sys_f2clongint="long int",)
134 if test "$g77_cv_sys_f2clongint" = ""; then
135 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
136 AC_EGREP_CPP(F2C_LONGINT=long long int,
138 #define FFECOM_DETERMINE_TYPES 1
140 #if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG
142 #elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG
143 F2C_LONGINT=long long int
145 # error "Cannot find a suitable type for F2C_LONGINT"
148 g77_cv_sys_f2clongint="long long int",)
150 if test "$g77_cv_sys_f2clongint" = ""; then
152 AC_MSG_ERROR([Can't determine type for f2c long int; config.log may help.])
155 AC_MSG_RESULT($g77_cv_sys_f2clongint)
156 F2C_LONGINT=$g77_cv_sys_f2clongint
158 AC_SUBST(F2C_LONGINT)
160 # avoid confusion in case the `makefile's from the f2c distribution have
162 test -f libF77/makefile && mv libF77/makefile libF77/makefile.ori
163 test -f libI77/makefile && mv libI77/makefile libI77/makefile.ori
164 test -f libU77/makefile && mv libU77/makefile libU77/makefile.ori
166 # Get the version trigger filename from the toplevel
167 if [[ "${with_gcc_version_trigger+set}" = set ]]; then
168 gcc_version_trigger=$with_gcc_version_trigger
169 gcc_version=`sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/' < ${gcc_version_trigger}`
175 AC_SUBST(gcc_version)
176 AC_SUBST(gcc_version_trigger)
178 AC_SUBST(target_alias)
179 AC_CONFIG_SUBDIRS(libU77 libI77 libF77)
180 # Do Makefile first since g2c.h depends on it and shouldn't get an
181 # earlier timestamp. Of course, it does when the multilib gunk below
182 # edits Makefile, sigh; see additional touch below.
183 AC_OUTPUT(Makefile g2c.h:g2c.hin,
184 [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
185 if test -n "$CONFIG_FILES"; then
186 if test -n "${with_target_subdir}"; then
187 # FIXME: We shouldn't need to set ac_file
189 . ${topsrcdir}/config-ml.in
190 touch g2c.h # to keep it more recent than Makefile
196 with_target_subdir=${with_target_subdir}
197 with_multisubdir=${with_multisubdir}
198 ac_configure_args="--enable-multilib ${ac_configure_args}"
199 CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
200 topsrcdir=${topsrcdir}
205 dnl comment-start: "dnl "
207 dnl comment-start-skip: "\\bdnl\\b\\s *"