# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
# 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
-# 2014, 2015, 2016, 2019 Free Software Foundation, Inc.
+# 2014, 2015, 2016, 2019, 2022 Free Software Foundation, Inc.
#
# 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
m4_include(config/proginstall.m4)
m4_include(config/elf.m4)
m4_include(config/ax_cxx_compile_stdcxx.m4)
-m4_include(config/gcc-plugin.m4)
m4_include([libtool.m4])
m4_include([ltoptions.m4])
m4_include([ltsugar.m4])
# these libraries are used by various programs built for the host environment
#f
-host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libelf libiconv libctf"
+host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf"
# these tools are built for the host environment
# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
target-libgloss \
target-newlib \
target-libgomp \
- target-liboffloadmic \
target-libatomic \
target-libitm \
target-libstdc++-v3 \
noconfigdirs="$noconfigdirs zlib"
fi
+# Don't compile the bundled readline/libreadline.a if --with-system-readline
+# is provided.
+if test x$with_system_readline = xyes ; then
+ noconfigdirs="$noconfigdirs readline"
+fi
+
# some tools are so dependent upon X11 that if we're not building with X,
# it's not even worth trying to configure, much less build, that tool.
# Check for target supported by gold.
case "${target}" in
i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-* \
- | aarch64*-*-* | tilegx*-*-* | mips*-*-* | s390*-*-*)
+ | aarch64*-*-* | mips*-*-* | s390*-*-* | loongarch*-*-*)
configdirs="$configdirs gold"
if test x${ENABLE_GOLD} = xdefault; then
default_ld=gold
noconfigdirs="$noconfigdirs target-libstdc++-v3"
fi]
-# If this is accelerator compiler and its target is intelmic we enable
-# target liboffloadmic by default. If this is compiler with offloading
-# for intelmic we enable host liboffloadmic by default. Otherwise
-# liboffloadmic is disabled by default.
-AC_ARG_ENABLE([liboffloadmic],
-AC_HELP_STRING([[--enable-liboffloadmic[=ARG]]],
- [build liboffloadmic @<:@ARG={no,host,target}@:>@]),
-[case "$enableval" in
- no | host | target)
- enable_liboffloadmic=$enableval ;;
- *)
- AC_MSG_ERROR([--enable-liboffloadmic=no/host/target]) ;;
-esac],
-[if test x"$enable_as_accelerator_for" != x; then
- case "${target}" in
- *-intelmic-* | *-intelmicemul-*)
- enable_liboffloadmic=target
- extra_liboffloadmic_configure_flags="--enable-liboffloadmic=target"
- ;;
- *)
- enable_liboffloadmic=no
- ;;
- esac
-else
- case "${enable_offload_targets}" in
- *-intelmic-* | *-intelmicemul-*)
- enable_liboffloadmic=host
- extra_liboffloadmic_configure_flags="--enable-liboffloadmic=host"
- ;;
- *)
- enable_liboffloadmic=no
- ;;
- esac
-fi])
-AC_SUBST(extra_liboffloadmic_configure_flags)
-
# Enable libgomp by default on hosted POSIX systems, and a few others.
if test x$enable_libgomp = x ; then
case "${target}" in
fi
fi
-# Disable liboffloadmic on unsupported systems.
-if test -d ${srcdir}/liboffloadmic; then
- if test x$enable_liboffloadmic != xno; then
- AC_MSG_CHECKING([for liboffloadmic support])
- if (srcdir=${srcdir}/liboffloadmic; \
- . ${srcdir}/configure.tgt; \
- test -n "$UNSUPPORTED")
- then
- AC_MSG_RESULT([no])
- noconfigdirs="$noconfigdirs target-liboffloadmic"
- else
- AC_MSG_RESULT([yes])
- fi
- fi
-fi
-
# Disable libitm on unsupported systems.
if test -d ${srcdir}/libitm; then
if test x$enable_libitm = x; then
esac
# Disable libstdc++-v3 for some systems.
-# Allow user to override this if they pass --enable-libstdc++-v3
+# Allow user to override this if they pass --enable-libstdcxx
if test "${ENABLE_LIBSTDCXX}" = "default" ; then
case "${target}" in
*-*-vxworks*)
hppa*64*-*-hpux*)
noconfigdirs="$noconfigdirs target-libffi"
;;
- hppa*-hp-hpux11*)
- ;;
- hppa*-*-hpux*)
- noconfigdirs="$noconfigdirs target-libffi"
- ;;
ia64*-*-*vms*)
noconfigdirs="$noconfigdirs target-libffi"
;;
i[[3456789]]86-*-*)
libgloss_dir=i386
;;
+ loongarch*-*-*)
+ libgloss_dir=loongarch
+ ;;
m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
libgloss_dir=m68hc11
;;
*-*-dragonfly*)
;;
*-*-freebsd*)
- if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \
+ if test "x$with_gmp" = x \
&& ! test -d ${srcdir}/gmp \
&& test -f /usr/local/include/gmp.h; then
with_gmp=/usr/local
h8500-*-*)
noconfigdirs="$noconfigdirs target-libgloss"
;;
- hppa1.1-*-osf* | hppa1.1-*-bsd* )
- ;;
hppa*64*-*-hpux*)
noconfigdirs="$noconfigdirs gdb"
;;
- hppa*-*-hpux11*)
- noconfigdirs="$noconfigdirs gdb ld"
- ;;
hppa*64*-*-linux*)
;;
hppa*-*-linux*)
tic6x-*-*)
noconfigdirs="$noconfigdirs sim"
;;
- tilepro*-*-* | tilegx*-*-*)
- noconfigdirs="$noconfigdirs sim"
- ;;
v810-*-*)
noconfigdirs="$noconfigdirs bfd binutils gas gdb ld opcodes target-libgloss"
;;
wasm32-*-*)
noconfigdirs="$noconfigdirs ld"
;;
+ loongarch*-*-linux*)
+ ;;
+ loongarch*-*-*)
+ noconfigdirs="$noconfigdirs gprof"
+ ;;
esac
# If we aren't building newlib, then don't build libgloss, since libgloss
alpha*-linux*)
host_makefile_frag="config/mh-alpha-linux"
;;
- hppa*-hp-hpux10*)
- host_makefile_frag="config/mh-pa-hpux10"
- ;;
hppa*-hp-hpux*)
host_makefile_frag="config/mh-pa"
;;
# Specify a location for mpfr
# check for this first so it ends up on the link line before gmp.
-AC_ARG_WITH(mpfr-dir,
-[AS_HELP_STRING([--with-mpfr-dir=PATH], [this option has been REMOVED])],
-[AC_MSG_ERROR([The --with-mpfr-dir=PATH option has been removed.
-Use --with-mpfr=PATH or --with-mpfr-include=PATH plus --with-mpfr-lib=PATH])])
-
AC_ARG_WITH(mpfr,
[AS_HELP_STRING([--with-mpfr=PATH],
[specify prefix directory for installed MPFR package.
fi
# Specify a location for gmp
-AC_ARG_WITH(gmp-dir,
-[AS_HELP_STRING([--with-gmp-dir=PATH], [this option has been REMOVED])],
-[AC_MSG_ERROR([The --with-gmp-dir=PATH option has been removed.
-Use --with-gmp=PATH or --with-gmp-include=PATH plus --with-gmp-lib=PATH])])
-
AC_ARG_WITH(gmp,
[AS_HELP_STRING([--with-gmp=PATH],
[specify prefix directory for the installed GMP package.
[AS_HELP_STRING([--enable-host-shared],
[build host code as shared libraries])],
[host_shared=$enableval
- case $target in
+ case $host in
x86_64-*-darwin* | aarch64-*-darwin*)
if test x$host_shared != xyes ; then
# PIC is the default, and actually cannot be switched off.
fi ;;
*) ;;
esac],
-[case $target in
+[case $host in
x86_64-*-darwin* | aarch64-*-darwin*) host_shared=yes ;;
*) host_shared=no ;;
esac])
AC_SUBST(host_shared)
+# Enable --enable-host-pie.
+AC_ARG_ENABLE(host-pie,
+[AS_HELP_STRING([--enable-host-pie],
+ [build host code as PIE])])
+AC_SUBST(enable_host_pie)
+
+if test x$enable_host_shared = xyes; then
+ PICFLAG=-fPIC
+elif test x$enable_host_pie = xyes; then
+ PICFLAG=-fPIE
+else
+ PICFLAG=
+fi
+
+AC_SUBST(PICFLAG)
+
# By default, C and C++ are the only stage 1 languages.
stage1_languages=,c,
fi
esac
-# Disable libitm, libsanitizer, libvtv, liboffloadmic if we're not building C++
+# Disable libitm, libsanitizer, libvtv if we're not building C++
case ,${enable_languages}, in
*,c++,*)
# Disable libitm, libsanitizer if we're not building libstdc++
esac
;;
*)
- noconfigdirs="$noconfigdirs target-liboffloadmic target-libitm target-libsanitizer target-libvtv"
+ noconfigdirs="$noconfigdirs target-libitm target-libsanitizer target-libvtv"
;;
esac
# Sometimes we have special requirements for the host libiberty.
extra_host_libiberty_configure_flags=
-extra_host_zlib_configure_flags=
case " $configdirs " in
- *" lto-plugin "* | *" libcc1 "*)
+ *" lto-plugin "* | *" libcc1 "* | *" gdbserver "*)
# When these are to be built as shared libraries, the same applies to
# libiberty.
extra_host_libiberty_configure_flags=--enable-shared
;;
+esac
+AC_SUBST(extra_host_libiberty_configure_flags)
+
+# Sometimes we have special requirements for the host zlib.
+extra_host_zlib_configure_flags=
+case " $configdirs " in
*" bfd "*)
# When bfd is to be built as a shared library, the same applies to
# zlib.
fi
;;
esac
-AC_SUBST(extra_host_libiberty_configure_flags)
AC_SUBST(extra_host_zlib_configure_flags)
# Produce a warning message for the subdirs we can't configure.
mep*)
FLAGS_FOR_TARGET="$FLAGS_FOR_TARGET -mlibrary"
;;
+ # The VxWorks support for shared libraries is getting in
+ # incrementally. Make sure it doesn't get activated implicitly:
+ *vxworks*)
+ if test "${enable_shared-unset}" = unset ; then
+ enable_shared=no
+ # So the build of libraries knows ...
+ target_configargs="${target_configargs} --disable-shared"
+ # So gcc knows ...
+ host_configargs="${host_configargs} --disable-shared"
+ fi
+ ;;
esac
# Makefile fragments.
AC_SUBST(GDC)
AC_SUBST(GDCFLAGS)
-GCC_PLUGIN_OPTION(PLUGIN_OPTION)
-AR_PLUGIN_OPTION=
-RANLIB_PLUGIN_OPTION=
-if test -n "$PLUGIN_OPTION"; then
- if $AR --help 2>&1 | grep -q "\--plugin"; then
- AR_PLUGIN_OPTION="$PLUGIN_OPTION"
- fi
- if $RANLIB --help 2>&1 | grep -q "\--plugin"; then
- RANLIB_PLUGIN_OPTION="$PLUGIN_OPTION"
- fi
-fi
-AC_SUBST(AR_PLUGIN_OPTION)
-AC_SUBST(RANLIB_PLUGIN_OPTION)
-
# Target tools.
AC_ARG_WITH([build-time-tools],
[AS_HELP_STRING([--with-build-time-tools=PATH],
compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"
case "$target" in
hppa*64*-*-hpux*) ;;
- hppa*-*-hpux*) compare_exclusions="$compare_exclusions | */libgcc/lib2funcs* | gcc/function-tests.o" ;;
powerpc*-ibm-aix*) compare_exclusions="$compare_exclusions | *libgomp*\$(objext)" ;;
esac
AC_SUBST(compare_exclusions)