# Process this file with autoconf to produce a configure script. # Copyright (C) 1995, 1997, 1998, 2001, 2002 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_PREREQ(2.12.1) AC_INIT(ftell_.c) AC_CONFIG_HEADER(config.h) dnl FIXME AC_PROG_CC wants CC to be able to link things, but it may dnl not be able to. define([AC_PROG_CC_WORKS],[]) # For g77 we'll set CC to point at the built gcc, but this will get it into # the makefiles AC_PROG_CC # These defines are necessary to get 64-bit file size support. # NetBSD 1.4 header files does not support XOPEN_SOURCE == 500, but it # handles 64-bit file sizes without needing these defines. AC_MSG_CHECKING(whether _XOPEN_SOURCE may be defined) AC_TRY_COMPILE([#define _XOPEN_SOURCE 500L #include ],, may_use_xopen_source=yes, may_use_xopen_source=no) AC_MSG_RESULT($may_use_xopen_source) if test $may_use_xopen_source = yes; then AC_DEFINE(_XOPEN_SOURCE, 500L, [Get Single Unix Specification semantics]) # The following is needed by irix6.2 so that struct timeval is declared. AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, [Get Single Unix Specification semantics]) # The following is needed by Solaris2.5.1 so that struct timeval is declared. AC_DEFINE(__EXTENSIONS__, 1, [Solaris extensions]) AC_DEFINE(_FILE_OFFSET_BITS, 64, [Get 64-bit file size support]) AC_DEFINE(_LARGEFILE_SOURCE, 1, [Define for HP-UX ftello and fseeko extension.]) fi dnl Checks for programs. LIBTOOL='$(SHELL) ../libtool' AC_SUBST(LIBTOOL) test "$AR" || AR=ar AC_SUBST(AR) AC_PROG_MAKE_SET dnl Checks for libraries. 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'.])]) AC_HEADER_STDC AC_MSG_CHECKING(for posix) AC_CACHE_VAL(g77_cv_header_posix, AC_EGREP_CPP(yes, [#include #include #ifdef _POSIX_VERSION yes #endif ], g77_cv_header_posix=yes, g77_cv_header_posix=no)) AC_MSG_RESULT($g77_cv_header_posix) # We can rely on the GNU library being posix-ish. I guess checking the # header isn't actually like checking the functions, though... AC_MSG_CHECKING(for GNU library) AC_CACHE_VAL(g77_cv_lib_gnu, AC_EGREP_CPP(yes, [#include #ifdef __GNU_LIBRARY__ yes #endif ], g77_cv_lib_gnu=yes, g77_cv_lib_gnu=no)) AC_MSG_RESULT($g77_cv_lib_gnu) # Apparently cygwin needs to be special-cased. AC_MSG_CHECKING([for cyg\`win'32]) AC_CACHE_VAL(g77_cv_sys_cygwin32, AC_EGREP_CPP(yes, [#ifdef __CYGWIN32__ yes #endif ], g77_cv_sys_cygwin32=yes, g77_cv_sys_cygwin32=no)) AC_MSG_RESULT($g77_cv_sys_cygwin32) # ditto for mingw32. AC_MSG_CHECKING([for mingw32]) AC_CACHE_VAL(g77_cv_sys_mingw32, AC_EGREP_CPP(yes, [#ifdef __MINGW32__ yes #endif ], g77_cv_sys_mingw32=yes, g77_cv_sys_mingw32=no)) AC_MSG_RESULT($g77_cv_sys_mingw32) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_SIZE_T dnl Checks for library functions. # This should always succeed on unix. # Apparently positive result on cygwin loses re. NON_UNIX_STDIO # (as of cygwin b18). Likewise on mingw. AC_CHECK_FUNC(fstat) AC_MSG_CHECKING([need for NON_UNIX_STDIO]) if test $g77_cv_sys_cygwin32 = yes \ || test $g77_cv_sys_mingw32 = yes \ || test $ac_cv_func_fstat = no; then AC_MSG_RESULT(yes) AC_DEFINE(NON_UNIX_STDIO, 1, [Define if we do not have Unix Stdio.]) else AC_MSG_RESULT(no) fi AC_CHECK_FUNCS(fseeko) AC_CHECK_FUNCS(ftello) AC_CHECK_FUNCS(ftruncate) AC_CHECK_FUNCS(mkstemp) AC_CHECK_FUNCS(tempnam) AC_CHECK_FUNCS(tmpnam) # posix will guarantee the right behaviour for sprintf, else we can't be # sure; HEADER_STDC wouldn't be the right check in sunos4, for instance. # However, on my sunos4/gcc setup unistd.h leads us wrongly to believe # we're posix-conformant, so always do the test. AC_MSG_CHECKING(for ansi/posix sprintf result) dnl This loses if included as an argument to AC_CACHE_VAL because the dnl changequote doesn't take effect and the [] vanish. dnl fixme: use cached value AC_TRY_RUN(changequote(<<, >>)dnl <<#include /* does sprintf return the number of chars transferred? */ main () {char foo[2]; (sprintf(foo, "1") == 1) ? exit(0) : exit(1);} >>changequote([, ]), g77_cv_sys_sprintf_ansi=yes, g77_cv_sys_sprintf_ansi=no, g77_cv_sys_sprintf_ansi=no) AC_CACHE_VAL(g77_cv_sys_sprintf_ansi, g77_cv_sys_sprintf_ansi=$g77_cv_sys_sprintf_ansi) dnl We get a misleading `(cached)' message... AC_MSG_RESULT($g77_cv_sys_sprintf_ansi) # The cygwin patch takes steps to avoid defining USE_STRLEN here -- I don't # understand why. if test $g77_cv_sys_sprintf_ansi != yes; then AC_DEFINE(USE_STRLEN, 1, [Define if we use strlen.]) fi # define NON_ANSI_RW_MODES on unix (can't hurt) AC_MSG_CHECKING(NON_ANSI_RW_MODES) AC_EGREP_CPP(yes, [#ifdef unix yes #endif #ifdef __unix yes #endif #ifdef __unix__ yes #endif ], is_unix=yes, is_unix=no) # NON_ANSI_RW_MODES shouldn't be necessary on cygwin for binary mounts. if test $g77_cv_sys_cygwin32 = yes || test $g77_cv_sys_mingw32 = yes; then AC_MSG_RESULT(no) else if test $is_unix = yes; then AC_DEFINE(NON_ANSI_RW_MODES, 1, [Define if we have non ANSI RW modes.]) AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi fi # This EOF_CHAR is a misfeature on unix. AC_DEFINE(NO_EOF_CHAR_CHECK, 1, [Always defined.]) AC_TYPE_OFF_T AC_DEFINE(Skip_f2c_Undefs, 1, [Define to skip f2c undefs.]) AC_OUTPUT(Makefile) dnl We might have configuration options to: dnl * change unit preconnexion in err.c (f_init.c) dnl * -DALWAYS_FLUSH dnl * -DOMIT_BLANK_CC dnl Local Variables: dnl comment-start: "dnl " dnl comment-end: "" dnl comment-start-skip: "\\bdnl\\b\\s *" dnl End: