source: trunk/third/gcc/libf2c/libI77/configure.in @ 18474

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