# Process this file with autoconf to produce a configure script.
#   Copyright (C) 1995, 1997, 1998, 1999, 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.13)
AC_INIT(libF77/Version.c)

# This works around the fact that libtool configuration may change LD
# for this particular configuration, but some shells, instead of
# keeping the changes in LD private, export them just because LD is
# exported.
ORIGINAL_LD_FOR_MULTILIBS=$LD

AC_CANONICAL_SYSTEM
target_alias=${target_alias-$target}
AC_SUBST(target_alias)

GLIBCPP_CONFIGURE(.)
GLIBCPP_EXPORT_INSTALL_INFO

# If the language specific compiler does not exist, but the "gcc" directory 
# does, we do not build anything. Note, $r is set by the top-level Makefile.
# Note that when we look for the compiler, we search both with and without
# extension to handle cross and canadian cross builds. 
compiler_name=f771
rm -f skip-this-dir
AC_MSG_CHECKING(if compiler $compiler_name has been built)
AC_CACHE_VAL(g77_cv_compiler_exists,
[g77_cv_compiler_exists=yes
if test -n "$r"; then
  if test -d "$r"/gcc; then
    if test -f "$r"/gcc/$compiler_name \
       || test -f "$r"/gcc/$compiler_name.exe; then
      true
    else
      g77_cv_compiler_exists=no
      echo "rm -f config.cache config.log multilib.out" > skip-this-dir
    fi
  fi
fi
])
AC_MSG_RESULT($g77_cv_compiler_exists)
if test x$g77_cv_compiler_exists = xno
then
  rm -f Makefile conftest* confdefs* core
  exit 0
fi

dnl Checks for programs.

AM_PROG_LIBTOOL

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'.])])

dnl Checks for g77 integer types built into gcc's C front end.
AC_MSG_CHECKING(for built-in g77 integer types)
AC_CACHE_VAL(libf2c_cv_has_g77_builtin_types,
[AC_TRY_COMPILE(,
  [__g77_integer g77i;
__g77_uinteger g77ui;
__g77_longint g77l;
__g77_ulongint g77ul;],
  libf2c_cv_has_g77_builtin_types=yes,
  libf2c_cv_has_g77_builtin_types=no)])
AC_MSG_RESULT($libf2c_cv_has_g77_builtin_types)
if test $libf2c_cv_has_g77_builtin_types = no; then
  AC_MSG_ERROR([gcc doesn't define all of the built in types __g77_integer,
__g77_uinteger, __g77_longint, and __g77_ulongint.  You may not be using
a new enough version of gcc, or your target may not have type sizes which
accommodate those types.])
fi

# 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

AC_CONFIG_SUBDIRS(libU77 libI77 libF77)
# Do Makefile first since g2c.h depends on it and shouldn't get an
# earlier timestamp.  Of course, it does when the multilib gunk below
# edits Makefile, sigh; see additional touch below.
AC_OUTPUT(Makefile g2c.h:g2c.hin,
 [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
if test -n "$CONFIG_FILES"; then
  LD="${ORIGINAL_LD_FOR_MULTILIBS}"
  if test -n "${with_target_subdir}"; then
    # FIXME: We shouldn't need to set ac_file
    ac_file=Makefile
    . ${toplevel_srcdir}/config-ml.in
    touch g2c.h   # to keep it more recent than Makefile
  fi
fi],
srcdir=${srcdir}
host=${host}
target=${target}
with_target_subdir=${with_target_subdir}
with_multisubdir=${with_multisubdir}
ac_configure_args="--enable-multilib ${ac_configure_args}"
toplevel_srcdir=${toplevel_srcdir}
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
)


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