1999-01-31 17:52 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu>
[official-gcc.git] / libf2c / configure.in
blob1e4a2ad70a7355b155089fe305f1946f51744c2a
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)
10 #any later version.
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
20 #02111-1307, USA.
22 AC_PREREQ(2.12.1)
23 AC_INIT(libF77/Version.c)
25 if test "${srcdir}" = "."  ; then
26   if test "${with_target_subdir}" != "." ; then
27     topsrcdir=${with_multisrctop}../..
28   else
29     topsrcdir=${with_multisrctop}..
30   fi
31 else
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.
40 compiler_name=f771
41 rm -f skip-this-dir
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
45         if test -n "$r"; then
46                 if test -d "$r"/gcc; then
47                         if test -f "$r"/gcc/$compiler_name; then
48                                 true
49                         else
50                                 f77_cv_compiler_exists=no
51                                 echo "rm -f config.cache config.log multilib.out" > skip-this-dir
52                         fi
53                 fi
54         fi
55         ])
56 AC_MSG_RESULT($f77_cv_compiler_exists)
57 if test x$f77_cv_compiler_exists = xno
58 then
59         rm -f Makefile conftest* confdefs* core
60         exit 0
63 dnl Checks for programs.
64 # For g77 we'll set CC to point at the built gcc, but this will get it into
65 # the makefiles
66 AC_PROG_CC
68 dnl These should be inherited in the recursive make, but ensure they are
69 dnl defined:
70 test "$AR" || AR=ar
71 AC_SUBST(AR)
72 if test "$RANLIB"; then :
73   AC_SUBST(RANLIB)
74 else
75   AC_PROG_RANLIB
77 AC_PROG_INSTALL
78 AC_PROG_MAKE_SET
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)
93 late_ac_cpp=$ac_cpp
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,
101 [#include "proj.h"
102 #define FFECOM_DETERMINE_TYPES 1
103 #include "com.h"
104 #if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG
105 F2C_INTEGER=long int
106 #elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT
107 F2C_INTEGER=int
108 #else
109 #  error "Cannot find a suitable type for F2C_INTEGER"
110 #endif
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,
116 [#include "proj.h"
117 #define FFECOM_DETERMINE_TYPES 1
118 #include "com.h"
119 #if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG
120 F2C_INTEGER=long int
121 #elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT
122 F2C_INTEGER=int
123 #else
124 #  error "Cannot find a suitable type for F2C_INTEGER"
125 #endif
127    g77_cv_sys_f2cinteger=int,)
129 if test "$g77_cv_sys_f2cinteger" = ""; then
130   AC_MSG_RESULT("")
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
136 ac_cpp=$late_ac_cpp
137 AC_SUBST(F2C_INTEGER)
139 AC_MSG_CHECKING(f2c long int type)
140 late_ac_cpp=$ac_cpp
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,
148 [#include "proj.h"
149 #define FFECOM_DETERMINE_TYPES 1
150 #include "com.h"
151 #if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG
152 F2C_LONGINT=long int
153 #elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG
154 F2C_LONGINT=long long int
155 #else
156 #  error "Cannot find a suitable type for F2C_LONGINT"
157 #endif
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,
163 [#include "proj.h"
164 #define FFECOM_DETERMINE_TYPES 1
165 #include "com.h"
166 #if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG
167 F2C_LONGINT=long int
168 #elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG
169 F2C_LONGINT=long long int
170 #else
171 #  error "Cannot find a suitable type for F2C_LONGINT"
172 #endif
174    g77_cv_sys_f2clongint="long long int",)
176 if test "$g77_cv_sys_f2clongint" = ""; then
177   AC_MSG_RESULT("")
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
183 ac_cpp=$late_ac_cpp
184 AC_SUBST(F2C_LONGINT)
186 # avoid confusion in case the `makefile's from the f2c distribution have
187 # got put here
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}`
196 else
197         gcc_version_trigger=
198         gcc_version=UNKNOWN
201 AC_SUBST(gcc_version)
202 AC_SUBST(gcc_version_trigger)
203 AC_CANONICAL_SYSTEM
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
214     ac_file=Makefile
215     . ${topsrcdir}/config-ml.in
216     touch g2c.h   # to keep it more recent than Makefile
217   fi
218 fi],
219 srcdir=${srcdir}
220 host=${host}
221 target=${target}
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}
230 dnl Local Variables:
231 dnl comment-start: "dnl "
232 dnl comment-end: ""
233 dnl comment-start-skip: "\\bdnl\\b\\s *"
234 dnl End: