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 # If the language specific compiler does not exist, but the "gcc" directory does,
39 # we do not build anything. Note, $r is set by the top-level Makefile.
42 AC_MSG_CHECKING(if compiler $compiler_name has been built)
43 AC_CACHE_VAL(f77_cv_compiler_exists,
44 [f77_cv_compiler_exists=yes
46 if test -d "$r"/gcc; then
47 if test -f "$r"/gcc/$compiler_name; then
50 f77_cv_compiler_exists=no
51 echo "rm -f config.cache config.log multilib.out" > skip-this-dir
56 AC_MSG_RESULT($f77_cv_compiler_exists)
57 if test x$f77_cv_compiler_exists = xno
59 rm -f Makefile conftest* confdefs* core
63 dnl Checks for programs.
64 # For g77 we'll set CC to point at the built gcc, but this will get it into
68 dnl These should be inherited in the recursive make, but ensure they are
72 if test "$RANLIB"; then :
80 dnl Checks for header files.
81 # Sanity check for the cross-compilation case:
82 AC_CHECK_HEADER(stdio.h,:,
83 [AC_MSG_ERROR([Can't find stdio.h.
84 You must have a usable C system for the target already installed, at least
85 including headers and, preferably, the library, before you can configure
86 the G77 runtime system. If necessary, install gcc now with \`LANGUAGES=c',
87 then the target library, then build with \`LANGUAGES=f77'.])])
89 # We have to firkle with the info in hconfig.h to figure out suitable types
90 # (via com.h). proj.h and com.h are in gcc/f/, config.h which they need
91 # is in gcc/ and the config files are in gcc/config/.
92 AC_MSG_CHECKING(f2c integer type)
94 ac_cpp="$late_ac_cpp -I../../gcc/f -I../../gcc -I../../gcc/config"
95 if test "$srcdir" != . ; then
96 ac_cpp="$ac_cpp -I$srcdir/../gcc/f -I$srcdir/../gcc -I$srcdir/../gcc/config"
98 AC_CACHE_VAL(g77_cv_sys_f2cinteger,
99 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
100 AC_EGREP_CPP(F2C_INTEGER=long int,
102 #define FFECOM_DETERMINE_TYPES 1
104 #if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG
106 #elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT
109 # error "Cannot find a suitable type for F2C_INTEGER"
112 g77_cv_sys_f2cinteger="long int",)
113 if test "$g77_cv_sys_f2cinteger" = ""; then
114 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
115 AC_EGREP_CPP(F2C_INTEGER=int,
117 #define FFECOM_DETERMINE_TYPES 1
119 #if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG
121 #elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT
124 # error "Cannot find a suitable type for F2C_INTEGER"
127 g77_cv_sys_f2cinteger=int,)
129 if test "$g77_cv_sys_f2cinteger" = ""; then
131 AC_MSG_ERROR([Can't determine type for f2c integer; config.log may help.])
134 AC_MSG_RESULT($g77_cv_sys_f2cinteger)
135 F2C_INTEGER=$g77_cv_sys_f2cinteger
137 AC_SUBST(F2C_INTEGER)
139 AC_MSG_CHECKING(f2c long int type)
141 ac_cpp="$late_ac_cpp -I../../gcc/f -I../../gcc -I../../gcc/config"
142 if test "$srcdir" != . ; then
143 ac_cpp="$ac_cpp -I$srcdir/../gcc/f -I$srcdir/../gcc -I$srcdir/../gcc/config"
145 AC_CACHE_VAL(g77_cv_sys_f2clongint,
146 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
147 AC_EGREP_CPP(F2C_LONGINT=long int,
149 #define FFECOM_DETERMINE_TYPES 1
151 #if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG
153 #elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG
154 F2C_LONGINT=long long int
156 # error "Cannot find a suitable type for F2C_LONGINT"
159 g77_cv_sys_f2clongint="long int",)
160 if test "$g77_cv_sys_f2clongint" = ""; then
161 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
162 AC_EGREP_CPP(F2C_LONGINT=long long int,
164 #define FFECOM_DETERMINE_TYPES 1
166 #if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG
168 #elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG
169 F2C_LONGINT=long long int
171 # error "Cannot find a suitable type for F2C_LONGINT"
174 g77_cv_sys_f2clongint="long long int",)
176 if test "$g77_cv_sys_f2clongint" = ""; then
178 AC_MSG_ERROR([Can't determine type for f2c long int; config.log may help.])
181 AC_MSG_RESULT($g77_cv_sys_f2clongint)
182 F2C_LONGINT=$g77_cv_sys_f2clongint
184 AC_SUBST(F2C_LONGINT)
186 # avoid confusion in case the `makefile's from the f2c distribution have
188 test -f libF77/makefile && mv libF77/makefile libF77/makefile.ori
189 test -f libI77/makefile && mv libI77/makefile libI77/makefile.ori
190 test -f libU77/makefile && mv libU77/makefile libU77/makefile.ori
192 # Get the version trigger filename from the toplevel
193 if [[ "${with_gcc_version_trigger+set}" = set ]]; then
194 gcc_version_trigger=$with_gcc_version_trigger
195 gcc_version=`sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/' < ${gcc_version_trigger}`
201 AC_SUBST(gcc_version)
202 AC_SUBST(gcc_version_trigger)
204 AC_SUBST(target_alias)
205 AC_CONFIG_SUBDIRS(libU77 libI77 libF77)
206 # Do Makefile first since g2c.h depends on it and shouldn't get an
207 # earlier timestamp. Of course, it does when the multilib gunk below
208 # edits Makefile, sigh; see additional touch below.
209 AC_OUTPUT(Makefile g2c.h:g2c.hin,
210 [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
211 if test -n "$CONFIG_FILES"; then
212 if test -n "${with_target_subdir}"; then
213 # FIXME: We shouldn't need to set ac_file
215 . ${topsrcdir}/config-ml.in
216 touch g2c.h # to keep it more recent than Makefile
222 with_target_subdir=${with_target_subdir}
223 with_multisubdir=${with_multisubdir}
224 ac_configure_args="--enable-multilib ${ac_configure_args}"
225 CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
226 topsrcdir=${topsrcdir}
231 dnl comment-start: "dnl "
233 dnl comment-start-skip: "\\bdnl\\b\\s *"