aboutsummaryrefslogtreecommitdiff
path: root/libf2c/configure.in
blob: 1b338c63e12e8bfa66f27fffcedf9442eb9c598f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
# Process this file with autoconf to produce a configure script.
#   Copyright (C) 1995, 1997, 1998 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_INIT(libF77/Version.c)

AC_REVISION(1.12)

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 $srcdir/.., config.h which they need
# is in ../.. and the config files are in $srcdir/../../config.
AC_MSG_CHECKING(f2c integer type)
late_ac_cpp=$ac_cpp
ac_cpp="$late_ac_cpp -I../../gcc/f  -I../../gcc -I../../gcc/config"
if test "$subdir" != . ; then
  ac_cpp="$ac_cpp -I$srcdir/../gcc/f -I$srcdir/../gcc -I$srcdir/../gcc/config"
fi
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_cpp=$late_ac_cpp
AC_SUBST(F2C_INTEGER)

AC_MSG_CHECKING(f2c long int type)
late_ac_cpp=$ac_cpp
ac_cpp="$late_ac_cpp -I../../gcc/f  -I../../gcc -I../../gcc/config"
if test "$subdir" != . ; then
  ac_cpp="$ac_cpp -I$srcdir/../gcc/f -I$srcdir/../gcc -I$srcdir/../gcc/config"
fi
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_cpp=$late_ac_cpp
AC_SUBST(F2C_LONGINT)

# 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)
AC_OUTPUT(Makefile g2c.h:g2c.hin)

dnl Local Variables:
dnl comment-start: "dnl "
dnl comment-end: ""
dnl comment-start-skip: "\\bdnl\\b\\s *"
dnl End: