]>
Commit | Line | Data |
---|---|---|
b53c05f5 | 1 | # Process this file with autoconf to produce a configure script. |
3bc9ce39 | 2 | # Copyright (C) 1995, 1997, 1998, 2001, 2002 Free Software Foundation, Inc. |
b53c05f5 DL |
3 | # Contributed by Dave Love (d.love@dl.ac.uk). |
4 | # | |
5 | #This file is part of GNU Fortran. | |
6 | # | |
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. | |
11 | # | |
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. | |
16 | # | |
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. | |
21 | ||
d5b2f1be | 22 | AC_PREREQ(2.13) |
b53c05f5 | 23 | AC_INIT(ftell_.c) |
05b7b1c1 | 24 | AC_CONFIG_HEADER(config.h) |
b53c05f5 | 25 | |
7c6b0e92 GK |
26 | dnl FIXME AC_PROG_CC wants CC to be able to link things, but it may |
27 | dnl not be able to. | |
28 | define([AC_PROG_CC_WORKS],[]) | |
29 | ||
b53c05f5 DL |
30 | # For g77 we'll set CC to point at the built gcc, but this will get it into |
31 | # the makefiles | |
32 | AC_PROG_CC | |
33 | ||
c6d05307 | 34 | # These defines are necessary to get 64-bit file size support. |
b33ee5f1 | 35 | # NetBSD 1.4 header files does not support XOPEN_SOURCE == 600, but it |
c6d05307 KW |
36 | # handles 64-bit file sizes without needing these defines. |
37 | AC_MSG_CHECKING(whether _XOPEN_SOURCE may be defined) | |
b33ee5f1 | 38 | AC_TRY_COMPILE([#define _XOPEN_SOURCE 600L |
c6d05307 KW |
39 | #include <unistd.h>],, |
40 | may_use_xopen_source=yes, | |
41 | may_use_xopen_source=no) | |
42 | AC_MSG_RESULT($may_use_xopen_source) | |
43 | if test $may_use_xopen_source = yes; then | |
b33ee5f1 | 44 | AC_DEFINE(_XOPEN_SOURCE, 600L, [Get Single Unix Specification semantics]) |
c6d05307 KW |
45 | # The following is needed by irix6.2 so that struct timeval is declared. |
46 | AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, [Get Single Unix Specification semantics]) | |
47 | # The following is needed by Solaris2.5.1 so that struct timeval is declared. | |
48 | AC_DEFINE(__EXTENSIONS__, 1, [Solaris extensions]) | |
49 | AC_DEFINE(_FILE_OFFSET_BITS, 64, [Get 64-bit file size support]) | |
50 | AC_DEFINE(_LARGEFILE_SOURCE, 1, [Define for HP-UX ftello and fseeko extension.]) | |
51 | fi | |
52 | ||
53 | dnl Checks for programs. | |
54 | ||
dedc4a53 JP |
55 | LIBTOOL='$(SHELL) ../libtool' |
56 | AC_SUBST(LIBTOOL) | |
57 | ||
b53c05f5 DL |
58 | test "$AR" || AR=ar |
59 | AC_SUBST(AR) | |
60 | AC_PROG_MAKE_SET | |
61 | ||
62 | dnl Checks for libraries. | |
63 | ||
64 | dnl Checks for header files. | |
65 | # Sanity check for the cross-compilation case: | |
66 | AC_CHECK_HEADER(stdio.h,:, | |
67 | [AC_MSG_ERROR([Can't find stdio.h. | |
68 | You must have a usable C system for the target already installed, at least | |
69 | including headers and, preferably, the library, before you can configure | |
70 | the G77 runtime system. If necessary, install gcc now with \`LANGUAGES=c', | |
71 | then the target library, then build with \`LANGUAGES=f77'.])]) | |
72 | ||
73 | AC_HEADER_STDC | |
b53c05f5 DL |
74 | AC_MSG_CHECKING(for posix) |
75 | AC_CACHE_VAL(g77_cv_header_posix, | |
76 | AC_EGREP_CPP(yes, | |
77 | [#include <sys/types.h> | |
78 | #include <unistd.h> | |
79 | #ifdef _POSIX_VERSION | |
80 | yes | |
81 | #endif | |
82 | ], | |
83 | g77_cv_header_posix=yes, | |
84 | g77_cv_header_posix=no)) | |
85 | AC_MSG_RESULT($g77_cv_header_posix) | |
86 | ||
87 | # We can rely on the GNU library being posix-ish. I guess checking the | |
88 | # header isn't actually like checking the functions, though... | |
89 | AC_MSG_CHECKING(for GNU library) | |
90 | AC_CACHE_VAL(g77_cv_lib_gnu, | |
91 | AC_EGREP_CPP(yes, | |
92 | [#include <stdio.h> | |
93 | #ifdef __GNU_LIBRARY__ | |
94 | yes | |
95 | #endif | |
96 | ], | |
97 | g77_cv_lib_gnu=yes, g77_cv_lib_gnu=no)) | |
98 | AC_MSG_RESULT($g77_cv_lib_gnu) | |
99 | ||
100 | # Apparently cygwin needs to be special-cased. | |
101 | AC_MSG_CHECKING([for cyg\`win'32]) | |
102 | AC_CACHE_VAL(g77_cv_sys_cygwin32, | |
103 | AC_EGREP_CPP(yes, | |
104 | [#ifdef __CYGWIN32__ | |
105 | yes | |
106 | #endif | |
107 | ], | |
108 | g77_cv_sys_cygwin32=yes, | |
109 | g77_cv_sys_cygwin32=no)) | |
110 | AC_MSG_RESULT($g77_cv_sys_cygwin32) | |
111 | ||
112 | # ditto for mingw32. | |
113 | AC_MSG_CHECKING([for mingw32]) | |
114 | AC_CACHE_VAL(g77_cv_sys_mingw32, | |
115 | AC_EGREP_CPP(yes, | |
116 | [#ifdef __MINGW32__ | |
117 | yes | |
118 | #endif | |
119 | ], | |
120 | g77_cv_sys_mingw32=yes, | |
121 | g77_cv_sys_mingw32=no)) | |
122 | AC_MSG_RESULT($g77_cv_sys_mingw32) | |
123 | ||
124 | ||
b53c05f5 DL |
125 | dnl Checks for typedefs, structures, and compiler characteristics. |
126 | AC_C_CONST | |
127 | AC_TYPE_SIZE_T | |
128 | ||
129 | dnl Checks for library functions. | |
130 | ||
131 | # This should always succeed on unix. | |
132 | # Apparently positive result on cygwin loses re. NON_UNIX_STDIO | |
133 | # (as of cygwin b18). Likewise on mingw. | |
134 | AC_CHECK_FUNC(fstat) | |
135 | AC_MSG_CHECKING([need for NON_UNIX_STDIO]) | |
136 | if test $g77_cv_sys_cygwin32 = yes \ | |
137 | || test $g77_cv_sys_mingw32 = yes \ | |
138 | || test $ac_cv_func_fstat = no; then | |
139 | AC_MSG_RESULT(yes) | |
5cad287e | 140 | AC_DEFINE(NON_UNIX_STDIO, 1, [Define if we do not have Unix Stdio.]) |
b53c05f5 DL |
141 | else |
142 | AC_MSG_RESULT(no) | |
143 | fi | |
144 | ||
f8d92613 TM |
145 | AC_CHECK_FUNCS(fseeko) |
146 | AC_CHECK_FUNCS(ftello) | |
97897047 | 147 | AC_CHECK_FUNCS(ftruncate) |
adcee32c | 148 | AC_CHECK_FUNCS(mkstemp) |
b53c05f5 | 149 | AC_CHECK_FUNCS(tempnam) |
82598228 | 150 | AC_CHECK_FUNCS(tmpnam) |
b53c05f5 DL |
151 | |
152 | # posix will guarantee the right behaviour for sprintf, else we can't be | |
153 | # sure; HEADER_STDC wouldn't be the right check in sunos4, for instance. | |
154 | # However, on my sunos4/gcc setup unistd.h leads us wrongly to believe | |
155 | # we're posix-conformant, so always do the test. | |
156 | AC_MSG_CHECKING(for ansi/posix sprintf result) | |
157 | dnl This loses if included as an argument to AC_CACHE_VAL because the | |
158 | dnl changequote doesn't take effect and the [] vanish. | |
159 | dnl fixme: use cached value | |
160 | AC_TRY_RUN(changequote(<<, >>)dnl | |
161 | <<#include <stdio.h> | |
162 | /* does sprintf return the number of chars transferred? */ | |
163 | main () {char foo[2]; (sprintf(foo, "1") == 1) ? exit(0) : exit(1);} | |
164 | >>changequote([, ]), | |
165 | g77_cv_sys_sprintf_ansi=yes, | |
166 | g77_cv_sys_sprintf_ansi=no, | |
167 | g77_cv_sys_sprintf_ansi=no) | |
168 | AC_CACHE_VAL(g77_cv_sys_sprintf_ansi, | |
169 | g77_cv_sys_sprintf_ansi=$g77_cv_sys_sprintf_ansi) | |
170 | dnl We get a misleading `(cached)' message... | |
171 | AC_MSG_RESULT($g77_cv_sys_sprintf_ansi) | |
172 | ||
173 | # The cygwin patch takes steps to avoid defining USE_STRLEN here -- I don't | |
174 | # understand why. | |
175 | if test $g77_cv_sys_sprintf_ansi != yes; then | |
5cad287e | 176 | AC_DEFINE(USE_STRLEN, 1, [Define if we use strlen.]) |
b53c05f5 DL |
177 | fi |
178 | ||
179 | # define NON_ANSI_RW_MODES on unix (can't hurt) | |
180 | AC_MSG_CHECKING(NON_ANSI_RW_MODES) | |
181 | AC_EGREP_CPP(yes, | |
182 | [#ifdef unix | |
183 | yes | |
184 | #endif | |
185 | #ifdef __unix | |
186 | yes | |
187 | #endif | |
188 | #ifdef __unix__ | |
189 | yes | |
190 | #endif | |
191 | ], is_unix=yes, is_unix=no) | |
192 | # NON_ANSI_RW_MODES shouldn't be necessary on cygwin for binary mounts. | |
193 | if test $g77_cv_sys_cygwin32 = yes || test $g77_cv_sys_mingw32 = yes; then | |
194 | AC_MSG_RESULT(no) | |
195 | else | |
196 | if test $is_unix = yes; then | |
5cad287e | 197 | AC_DEFINE(NON_ANSI_RW_MODES, 1, [Define if we have non ANSI RW modes.]) |
b53c05f5 DL |
198 | AC_MSG_RESULT(yes) |
199 | else | |
200 | AC_MSG_RESULT(no) | |
201 | fi | |
202 | fi | |
203 | ||
204 | # This EOF_CHAR is a misfeature on unix. | |
5cad287e | 205 | AC_DEFINE(NO_EOF_CHAR_CHECK, 1, [Always defined.]) |
b53c05f5 | 206 | |
05b7b1c1 AJ |
207 | AC_TYPE_OFF_T |
208 | ||
5cad287e | 209 | AC_DEFINE(Skip_f2c_Undefs, 1, [Define to skip f2c undefs.]) |
b53c05f5 DL |
210 | |
211 | AC_OUTPUT(Makefile) | |
212 | ||
213 | dnl We might have configuration options to: | |
214 | dnl * change unit preconnexion in err.c (f_init.c) | |
215 | dnl * -DALWAYS_FLUSH | |
216 | dnl * -DOMIT_BLANK_CC | |
217 | ||
218 | dnl Local Variables: | |
219 | dnl comment-start: "dnl " | |
220 | dnl comment-end: "" | |
221 | dnl comment-start-skip: "\\bdnl\\b\\s *" | |
222 | dnl End: |