aboutsummaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure384
1 files changed, 316 insertions, 68 deletions
diff --git a/configure b/configure
index 9e09dfd..28f0913 100755
--- a/configure
+++ b/configure
@@ -613,6 +613,7 @@ DSYMUTIL_FOR_TARGET
DLLTOOL_FOR_TARGET
AS_FOR_TARGET
AR_FOR_TARGET
+GM2_FOR_TARGET
GDC_FOR_TARGET
GOC_FOR_TARGET
GFORTRAN_FOR_TARGET
@@ -688,7 +689,11 @@ get_gcc_base_ver
extra_host_zlib_configure_flags
extra_host_libiberty_configure_flags
stage1_languages
+host_libs_picflag
+PICFLAG
host_shared
+gcc_host_pie
+host_pie
extra_linker_plugin_flags
extra_linker_plugin_configure_flags
islinc
@@ -722,7 +727,6 @@ CPPFLAGS
LDFLAGS
CFLAGS
CC
-extra_liboffloadmic_configure_flags
target_subdir
host_subdir
build_subdir
@@ -810,9 +814,9 @@ enable_year2038
enable_libquadmath
enable_libquadmath_support
enable_libada
+enable_libgm2
enable_libssp
enable_libstdcxx
-enable_liboffloadmic
enable_bootstrap
enable_pgo_build
with_mpc
@@ -836,6 +840,7 @@ enable_isl_version_check
enable_lto
enable_linker_plugin_configure_flags
enable_linker_plugin_flags
+enable_host_pie
enable_host_shared
enable_stage1_languages
enable_objc_gc
@@ -888,6 +893,7 @@ GCC_FOR_TARGET
GFORTRAN_FOR_TARGET
GOC_FOR_TARGET
GDC_FOR_TARGET
+GM2_FOR_TARGET
AR_FOR_TARGET
AS_FOR_TARGET
DLLTOOL_FOR_TARGET
@@ -1553,10 +1559,9 @@ Optional Features:
--disable-libquadmath-support
disable libquadmath support for Fortran
--enable-libada build libada directory
+ --enable-libgm2 build libgm2 directory
--enable-libssp build libssp directory
--disable-libstdcxx do not build libstdc++-v3 directory
- --enable-liboffloadmic=ARG
- build liboffloadmic [ARG={no,host,target}]
--enable-bootstrap enable bootstrapping [yes if native build]
--enable-pgo-build[=lto]
enable the PGO build
@@ -1569,6 +1574,7 @@ Optional Features:
--enable-linker-plugin-flags=FLAGS
additional flags for configuring and building linker
plugins [none]
+ --enable-host-pie build position independent host executables
--enable-host-shared build host code as shared libraries
--enable-stage1-languages[=all]
choose additional languages to build during stage1.
@@ -1691,6 +1697,8 @@ Some influential environment variables:
GOC for the target
GDC_FOR_TARGET
GDC for the target
+ GM2_FOR_TARGET
+ GM2 for the target
AR_FOR_TARGET
AR for the target
AS_FOR_TARGET
@@ -2829,7 +2837,7 @@ host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktr
# binutils, gas and ld appear in that order because it makes sense to run
# "make check" in that particular order.
# If --enable-gold is used, "gold" may replace "ld".
-host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gdbserver gprof etc expect dejagnu m4 utils guile fastjar gnattools libcc1 gotools c++tools"
+host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gdbserver gprof etc expect dejagnu m4 utils guile fastjar gnattools libcc1 gm2tools gotools c++tools"
# 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)
@@ -2839,7 +2847,6 @@ target_libraries="target-libgcc \
target-libgloss \
target-newlib \
target-libgomp \
- target-liboffloadmic \
target-libatomic \
target-libitm \
target-libstdc++-v3 \
@@ -2851,6 +2858,7 @@ target_libraries="target-libgcc \
target-libffi \
target-libobjc \
target-libada \
+ target-libgm2 \
target-libgo \
target-libphobos \
target-zlib"
@@ -3069,7 +3077,7 @@ case "${ENABLE_GOLD}" in
*-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
| *-*-linux* | *-*-gnu* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
| *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
- | *-*-solaris2* | *-*-nto* | *-*-nacl*)
+ | *-*-solaris2* | *-*-nto* | *-*-nacl* | *-*-haiku*)
case "${target}" in
*-*-linux*aout* | *-*-linux*oldld*)
;;
@@ -3240,6 +3248,17 @@ if test "${ENABLE_LIBADA}" != "yes" ; then
noconfigdirs="$noconfigdirs gnattools"
fi
+# Check whether --enable-libgm2 was given.
+if test "${enable_libgm2+set}" = set; then :
+ enableval=$enable_libgm2; ENABLE_LIBGM2=$enableval
+else
+ ENABLE_LIBGM2=no
+fi
+
+if test "${ENABLE_LIBGM2}" != "yes" ; then
+ noconfigdirs="$noconfigdirs gm2tools"
+fi
+
# Check whether --enable-libssp was given.
if test "${enable_libssp+set}" = set; then :
enableval=$enable_libssp; ENABLE_LIBSSP=$enableval
@@ -3259,44 +3278,6 @@ if test "${ENABLE_LIBSTDCXX}" = "no" ; then
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.
-# Check whether --enable-liboffloadmic was given.
-if test "${enable_liboffloadmic+set}" = set; then :
- enableval=$enable_liboffloadmic; case "$enableval" in
- no | host | target)
- enable_liboffloadmic=$enableval ;;
- *)
- as_fn_error $? "--enable-liboffloadmic=no/host/target" "$LINENO" 5 ;;
-esac
-else
- 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
-fi
-
-
-
# Enable libgomp by default on hosted POSIX systems, and a few others.
if test x$enable_libgomp = x ; then
case "${target}" in
@@ -3335,25 +3316,6 @@ $as_echo "yes" >&6; }
fi
fi
-# Disable liboffloadmic on unsupported systems.
-if test -d ${srcdir}/liboffloadmic; then
- if test x$enable_liboffloadmic != xno; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for liboffloadmic support" >&5
-$as_echo_n "checking for liboffloadmic support... " >&6; }
- if (srcdir=${srcdir}/liboffloadmic; \
- . ${srcdir}/configure.tgt; \
- test -n "$UNSUPPORTED")
- then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- noconfigdirs="$noconfigdirs target-liboffloadmic"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- fi
- fi
-fi
-
# Disable libitm on unsupported systems.
if test -d ${srcdir}/libitm; then
if test x$enable_libitm = x; then
@@ -8761,6 +8723,39 @@ fi
+# Handle --enable-host-pie
+# If host PIE executables are the default (or must be forced on) for some host,
+# we must pass that configuration to the gcc directory.
+gcc_host_pie=
+# Check whether --enable-host-pie was given.
+if test "${enable_host_pie+set}" = set; then :
+ enableval=$enable_host_pie; host_pie=$enableval
+ case $host in
+ *-*-darwin2*)
+ if test x$host_pie != xyes ; then
+ # for Darwin20+ this is required.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: PIE executables are required for the configured host, host-pie setting ignored." >&5
+$as_echo "$as_me: WARNING: PIE executables are required for the configured host, host-pie setting ignored." >&2;}
+ host_pie=yes
+ gcc_host_pie=--enable-host-pie
+ fi ;;
+ *) ;;
+ esac
+else
+ case $host in
+ *-*-darwin2*)
+ # Default to PIE (mandatory for aarch64).
+ host_pie=yes
+ gcc_host_pie=--enable-host-pie
+ ;;
+ *) host_pie=no ;;
+ esac
+fi
+
+
+
+
+
# Enable --enable-host-shared.
# Checked early to determine whether jit is an 'all' language
# Check whether --enable-host-shared was given.
@@ -8770,20 +8765,61 @@ if test "${enable_host_shared+set}" = set; then :
x86_64-*-darwin* | aarch64-*-darwin*)
if test x$host_shared != xyes ; then
# PIC is the default, and actually cannot be switched off.
- echo configure.ac: warning: PIC code is required for the configured target, host-shared setting ignored. 1>&2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: PIC code is required for the configured host; host-shared setting ignored." >&5
+$as_echo "$as_me: WARNING: PIC code is required for the configured host; host-shared setting ignored." >&2;}
+ host_shared=yes
+ fi ;;
+ *-*-darwin*)
+ if test x$host_pie = xyes -a x$host_shared != xyes ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: PIC code is required for PIE host executables host-shared setting ignored." >&5
+$as_echo "$as_me: WARNING: PIC code is required for PIE host executables host-shared setting ignored." >&2;}
host_shared=yes
fi ;;
*) ;;
esac
else
case $host in
+ # 64B x86_64 and Aarch64 Darwin default to PIC.
x86_64-*-darwin* | aarch64-*-darwin*) host_shared=yes ;;
- *) host_shared=no ;;
+ # 32B and powerpc64 Darwin must use PIC to link PIE exes.
+ *-*-darwin*) host_shared=$host_pie ;;
+ *) host_shared=no;;
esac
fi
+
+if test x$host_shared = xyes; then
+ case $host in
+ *-*-darwin*)
+ # Since host shared is the default for 64b Darwin, and also enabled for
+ # host_pie, ensure that we present the PIE flag when host_pie is active.
+ if test x$host_pie = xyes; then
+ PICFLAG=-fPIE
+ fi
+ ;;
+ *)
+ PICFLAG=-fPIC
+ ;;
+ esac
+elif test x$host_pie = xyes; then
+ PICFLAG=-fPIE
+else
+ PICFLAG=
+fi
+
+
+
+# If we are building PIC/PIE host executables, and we are building dependent
+# libs (e.g. GMP) in-tree those libs need to be configured to generate PIC
+# code.
+host_libs_picflag=
+if test "$host_shared" = "yes" -o "$host_pie" = "yes"; then
+host_libs_picflag='--with-pic'
+fi
+
+
# By default, C and C++ are the only stage 1 languages.
stage1_languages=,c,
@@ -9209,7 +9245,7 @@ $as_echo "using paths configured with --with-target-bdw-gc options" >&6; }
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++
@@ -9221,7 +9257,7 @@ case ,${enable_languages}, in
esac
;;
*)
- noconfigdirs="$noconfigdirs target-liboffloadmic target-libitm target-libsanitizer target-libvtv"
+ noconfigdirs="$noconfigdirs target-libitm target-libsanitizer target-libvtv"
;;
esac
@@ -10024,7 +10060,9 @@ esac
# These force 'configure's to be done one at a time, to avoid problems
# with contention over a shared config.cache.
rm -f serdep.tmp
+if test "x${enable_serial_build_configure}" = xyes || test "x${enable_serial_host_configure}" = xyes || test "x${enable_serial_target_configure}" = xyes; then
echo '# serdep.tmp' > serdep.tmp
+fi
olditem=
test "x${enable_serial_build_configure}" = xyes &&
for item in ${build_configdirs} ; do
@@ -12988,6 +13026,7 @@ fi
+GDCFLAGS=${GDCFLAGS-${CFLAGS}}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -plugin option" >&5
@@ -14110,6 +14149,167 @@ fi
+if test -n "$GM2_FOR_TARGET"; then
+ ac_cv_prog_GM2_FOR_TARGET=$GM2_FOR_TARGET
+elif test -n "$ac_cv_prog_GM2_FOR_TARGET"; then
+ GM2_FOR_TARGET=$ac_cv_prog_GM2_FOR_TARGET
+fi
+
+if test -n "$ac_cv_prog_GM2_FOR_TARGET"; then
+ for ncn_progname in gm2; do
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_GM2_FOR_TARGET+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$GM2_FOR_TARGET"; then
+ ac_cv_prog_GM2_FOR_TARGET="$GM2_FOR_TARGET" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_GM2_FOR_TARGET="${ncn_progname}"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+GM2_FOR_TARGET=$ac_cv_prog_GM2_FOR_TARGET
+if test -n "$GM2_FOR_TARGET"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GM2_FOR_TARGET" >&5
+$as_echo "$GM2_FOR_TARGET" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ done
+fi
+
+if test -z "$ac_cv_prog_GM2_FOR_TARGET" && test -n "$with_build_time_tools"; then
+ for ncn_progname in gm2; do
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ncn_progname} in $with_build_time_tools" >&5
+$as_echo_n "checking for ${ncn_progname} in $with_build_time_tools... " >&6; }
+ if test -x $with_build_time_tools/${ncn_progname}; then
+ ac_cv_prog_GM2_FOR_TARGET=$with_build_time_tools/${ncn_progname}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ break
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ done
+fi
+
+if test -z "$ac_cv_prog_GM2_FOR_TARGET"; then
+ for ncn_progname in gm2; do
+ if test -n "$ncn_target_tool_prefix"; then
+ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_GM2_FOR_TARGET+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$GM2_FOR_TARGET"; then
+ ac_cv_prog_GM2_FOR_TARGET="$GM2_FOR_TARGET" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_GM2_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+GM2_FOR_TARGET=$ac_cv_prog_GM2_FOR_TARGET
+if test -n "$GM2_FOR_TARGET"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GM2_FOR_TARGET" >&5
+$as_echo "$GM2_FOR_TARGET" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+ if test -z "$ac_cv_prog_GM2_FOR_TARGET" && test $build = $target ; then
+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_GM2_FOR_TARGET+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$GM2_FOR_TARGET"; then
+ ac_cv_prog_GM2_FOR_TARGET="$GM2_FOR_TARGET" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_GM2_FOR_TARGET="${ncn_progname}"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+GM2_FOR_TARGET=$ac_cv_prog_GM2_FOR_TARGET
+if test -n "$GM2_FOR_TARGET"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GM2_FOR_TARGET" >&5
+$as_echo "$GM2_FOR_TARGET" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+ test -n "$ac_cv_prog_GM2_FOR_TARGET" && break
+ done
+fi
+
+if test -z "$ac_cv_prog_GM2_FOR_TARGET" ; then
+ set dummy gm2
+ if test $build = $target ; then
+ GM2_FOR_TARGET="$2"
+ else
+ GM2_FOR_TARGET="${ncn_target_tool_prefix}$2"
+ fi
+else
+ GM2_FOR_TARGET="$ac_cv_prog_GM2_FOR_TARGET"
+fi
+
+
+
cat > conftest.c << \EOF
#ifdef __GNUC__
gcc_yay;
@@ -18042,6 +18242,51 @@ $as_echo "pre-installed" >&6; }
fi
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target gm2" >&5
+$as_echo_n "checking where to find the target gm2... " >&6; }
+if test "x${build}" != "x${host}" ; then
+ if expr "x$GM2_FOR_TARGET" : "x/" > /dev/null; then
+ # We already found the complete path
+ ac_dir=`dirname $GM2_FOR_TARGET`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5
+$as_echo "pre-installed in $ac_dir" >&6; }
+ else
+ # Canadian cross, just use what we found
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed" >&5
+$as_echo "pre-installed" >&6; }
+ fi
+else
+ ok=yes
+ case " ${configdirs} " in
+ *" gcc "*) ;;
+ *) ok=no ;;
+ esac
+ case ,${enable_languages}, in
+ *,m2,*) ;;
+ *) ok=no ;;
+ esac
+ if test $ok = yes; then
+ # An in-tree tool is available and we can use it
+ GM2_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/gm2 -B$$r/$(HOST_SUBDIR)/gcc/'
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: just compiled" >&5
+$as_echo "just compiled" >&6; }
+ elif expr "x$GM2_FOR_TARGET" : "x/" > /dev/null; then
+ # We already found the complete path
+ ac_dir=`dirname $GM2_FOR_TARGET`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5
+$as_echo "pre-installed in $ac_dir" >&6; }
+ elif test "x$target" = "x$host"; then
+ # We can use an host tool
+ GM2_FOR_TARGET='$(GM2)'
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: host tool" >&5
+$as_echo "host tool" >&6; }
+ else
+ # We need a cross tool
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed" >&5
+$as_echo "pre-installed" >&6; }
+ fi
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target ld" >&5
$as_echo_n "checking where to find the target ld... " >&6; }
if test "x${build}" != "x${host}" ; then
@@ -18603,6 +18848,9 @@ fi
# Specify what files to not compare during bootstrap.
compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"
+compare_exclusions="$compare_exclusions | gcc/m2/gm2-compiler-boot/M2Version*"
+compare_exclusions="$compare_exclusions | gcc/m2/gm2-compiler-boot/SYSTEM*"
+compare_exclusions="$compare_exclusions | gcc/m2/gm2version*"
case "$target" in
hppa*64*-*-hpux*) ;;
powerpc*-ibm-aix*) compare_exclusions="$compare_exclusions | *libgomp*\$(objext)" ;;