Skip to content
Snippets Groups Projects
configure.in 76.4 KiB
Newer Older
#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
#   1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
Jason Merrill's avatar
Jason Merrill committed
#
# This file 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 of the License, or
# (at your option) any later version.
#
# This program 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 this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

##############################################################################
### WARNING: this file contains embedded tabs.  Do not run untabify on this file.

sinclude(config/acx.m4)

AC_INIT(move-if-change)
AC_CANONICAL_SYSTEM
AC_ARG_PROGRAM

# Get 'install' or 'install-sh' and its variants.
AC_PROG_INSTALL
ACX_PROG_LN
### we might need to use some other shell than /bin/sh for running subshells
### If we are on Windows, search for the shell.  This will permit people
### to not have /bin/sh, but to be able to see /SOME/PATH/sh configure
### without also having to set CONFIG_SHELL.  This code will work when
### using bash, which sets OSTYPE.
case "${OSTYPE}" in
*win32*)
  if test x${CONFIG_SHELL} = x ; then
    if test ! -f /bin/sh ; then
      if test x${SHELL} != x && test -f ${SHELL} ; then
	CONFIG_SHELL=${SHELL}
	export CONFIG_SHELL
      else
	for prog in sh sh.exe bash bash.exe; do
	  IFS="${IFS=	}"; save_ifs="$IFS"; IFS="${IFS}:"
	  for dir in $PATH; do
	    test -z "$dir" && dir=.
	    if test -f $dir/$prog; then
	      CONFIG_SHELL=$dir/$prog
	      export CONFIG_SHELL
	      break
	    fi
	  done
	  IFS="$save_ifs"
	  test -n "${CONFIG_SHELL}" && break
	done
      fi
    fi
  fi
  ;;
esac

config_shell=${CONFIG_SHELL-/bin/sh}

progname=$0
# if PWD already has a value, it is probably wrong.
if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi

# Export original configure arguments for use by sub-configures.  These
# will be expanded by make, so quote '$'.
tmp="$progname $@"
sed -e 's,\$,$$,g' <<EOF_SED > conftestsed.out
$tmp
TOPLEVEL_CONFIGURE_ARGUMENTS=`cat conftestsed.out`
rm -f conftestsed.out
AC_SUBST(TOPLEVEL_CONFIGURE_ARGUMENTS)

moveifchange=${srcdir}/move-if-change

# Set srcdir to "." if that's what it is.
# This is important for multilib support.
pwd=`${PWDCMD-pwd}`
srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}`
if test "${pwd}" = "${srcpwd}" ; then
  srcdir=.
fi

topsrcdir=$srcpwd
Jason Merrill's avatar
Jason Merrill committed

extra_host_args=
# Define the trigger file to make sure configure will re-run whenever
# the gcc version number changes.
if test "${with_gcc_version_trigger+set}" = set ; then
  gcc_version_trigger="$with_gcc_version_trigger"
  gcc_version=`grep version_string ${with_gcc_version_trigger} | sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/'`
  # If gcc's sources are available, define the trigger file.
  if test -f ${topsrcdir}/gcc/version.c ; then
    gcc_version_trigger=${topsrcdir}/gcc/version.c
    gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/'`
    case "$ac_configure_args" in
      *--with-gcc-version-trigger=$gcc_version_trigger* )
        ;;
      * )
        # Add to all subconfigure arguments: build, host, and target.
        ac_configure_args="$ac_configure_args --with-gcc-version-trigger=$gcc_version_trigger"
Jason Merrill's avatar
Jason Merrill committed
### To add a new directory to the tree, first choose whether it is a target
### or a host dependent tool.  Then put it into the appropriate list
### (library or tools, host or target), doing a dependency sort.

# Subdirs will be configured in the order listed in build_configdirs, 
# configdirs, or target_configdirs; see the serialization section below.

# Dependency sorting is only needed when *configuration* must be done in 
# a particular order.  In all cases a dependency should be specified in 
# the Makefile, whether or not it's implicitly specified here.
Jason Merrill's avatar
Jason Merrill committed

# Double entries in build_configdirs, configdirs, or target_configdirs may
# cause circular dependencies and break everything horribly.
Jason Merrill's avatar
Jason Merrill committed

# these library is used by various programs built for the build
# environment
#
build_libs="build-libiberty"

# these tools are built for the build environment
build_tools="build-texinfo build-byacc build-flex build-bison build-m4 build-fixincludes"
Jason Merrill's avatar
Jason Merrill committed
# these libraries are used by various programs built for the host environment
#
host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp"
Jason Merrill's avatar
Jason Merrill committed

# these tools are built for the host environment
# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
# know that we are building the simulator.
# binutils, gas and ld appear in that order because it makes sense to run
# "make check" in that particular order.
host_tools="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar"
# libgcj represents the runtime libraries only used by gcj.
libgcj="target-libffi \
	target-boehm-gc \
	target-zlib \
	target-qthreads \
	target-libjava"

Jason Merrill's avatar
Jason Merrill committed
# these libraries are built for the target environment, and are built after
# the host libraries and the host tools (which may be a cross compiler)
#
target_libraries="target-libiberty \
		target-libgloss \
		target-newlib \
		target-libmudflap \
		target-libgfortran \
		${libgcj} \
Arnaud Charlet's avatar
Arnaud Charlet committed
		target-libobjc \
		target-libada"
Jason Merrill's avatar
Jason Merrill committed

# these tools are built using the target libraries, and are intended to
# run only in the target environment
Jason Merrill's avatar
Jason Merrill committed
#
# note: any program that *uses* libraries that are in the "target_libraries"
Jason Merrill's avatar
Jason Merrill committed
# list belongs in this list.  those programs are also very likely
# candidates for the "native_only" list which follows
#
Nathanael Nerode's avatar
Nathanael Nerode committed
target_tools="target-examples target-groff target-gperf target-rda"
Jason Merrill's avatar
Jason Merrill committed

################################################################################

## All tools belong in one of the four categories, and are assigned above
## We assign ${configdirs} this way to remove all embedded newlines.  This
## is important because configure will choke if they ever get through.
## ${configdirs} is directories we build using the host tools.
## ${target_configdirs} is directories we build using the target tools.
configdirs=`echo ${host_libs} ${host_tools}`
target_configdirs=`echo ${target_libraries} ${target_tools}`
build_configdirs=`echo ${build_libs} ${build_tools}`
Nathanael Nerode's avatar
Nathanael Nerode committed

Jason Merrill's avatar
Jason Merrill committed
################################################################################

srcname="gnu development package"

# This gets set non-empty for some net releases of packages.
appdirs=""

# Define is_cross_compiler to save on calls to 'test'.
is_cross_compiler=
if test x"${host}" = x"${target}" ; then
  is_cross_compiler=no
else
  is_cross_compiler=yes
Loading
Loading full blame...