LTLIBOBJS
LIBOBJS
get_gcc_base_ver
+OMP_DEPEND_KIND
OMP_NEST_LOCK_25_KIND
OMP_LOCK_25_KIND
OMP_NEST_LOCK_25_ALIGN
OMP_NEST_LOCK_SIZE
OMP_LOCK_ALIGN
OMP_LOCK_SIZE
+INTPTR_T_KIND
USE_FORTRAN_FALSE
USE_FORTRAN_TRUE
link_gomp
+tmake_file
XLDFLAGS
XCFLAGS
config_path
LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE
OPT_LDFLAGS
SECTION_LDFLAGS
-PLUGIN_HSA_FALSE
-PLUGIN_HSA_TRUE
+PLUGIN_GCN_FALSE
+PLUGIN_GCN_TRUE
PLUGIN_NVPTX_FALSE
PLUGIN_NVPTX_TRUE
offload_additional_lib_paths
offload_additional_options
offload_targets
offload_plugins
-PLUGIN_HSA_LIBS
-PLUGIN_HSA_LDFLAGS
-PLUGIN_HSA_CPPFLAGS
-PLUGIN_HSA
-HSA_RUNTIME_LIB
-HSA_RUNTIME_INCLUDE
-PLUGIN_NVPTX_LIBS
-PLUGIN_NVPTX_LDFLAGS
-PLUGIN_NVPTX_CPPFLAGS
-PLUGIN_NVPTX
-CUDA_DRIVER_LIB
-CUDA_DRIVER_INCLUDE
+DL_LIBS
libtool_VERSION
ac_ct_FC
FCFLAGS
enable_generated_files_in_srcdir
enable_silent_rules
enable_multilib
+with_toolexeclibdir
enable_dependency_tracking
+enable_werror
enable_shared
enable_static
with_pic
with_gnu_ld
enable_libtool_lock
enable_maintainer_mode
-with_cuda_driver
-with_cuda_driver_include
-with_cuda_driver_lib
-with_hsa_runtime
-with_hsa_runtime_include
-with_hsa_runtime_lib
enable_linux_futex
enable_tls
enable_symvers
do not reject slow dependency extractors
--disable-dependency-tracking
speeds up one-time build
+ --disable-werror disable building with -Werror
--enable-shared[=PKGS] build shared libraries [default=yes]
--enable-static[=PKGS] build static libraries [default=yes]
--enable-fast-install[=PKGS]
--enable-tls Use thread-local storage [default=yes]
--enable-symvers=STYLE enables symbol versioning of the shared library
[default=yes]
- --enable-cet enable Intel CET in target libraries [default=no]
+ --enable-cet enable Intel CET in target libraries [default=auto]
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-toolexeclibdir=DIR
+ install libraries built with a cross compiler within
+ DIR
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-cuda-driver=PATH specify prefix directory for installed CUDA driver
- package. Equivalent to
- --with-cuda-driver-include=PATH/include plus
- --with-cuda-driver-lib=PATH/lib
- --with-cuda-driver-include=PATH
- specify directory for installed CUDA driver include
- files
- --with-cuda-driver-lib=PATH
- specify directory for the installed CUDA driver
- library
- --with-hsa-runtime=PATH specify prefix directory for installed HSA run-time
- package. Equivalent to
- --with-hsa-runtime-include=PATH/include plus
- --with-hsa-runtime-lib=PATH/lib
- --with-hsa-runtime-include=PATH
- specify directory for installed HSA run-time include
- files
- --with-hsa-runtime-lib=PATH
- specify directory for the installed HSA run-time
- library
--with-gcc-major-version-only
use only GCC major number in filesystem paths
} # ac_fn_c_check_header_mongrel
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
# --------------------------------------------
# Tries to find the compile-time value of EXPR in a program that includes
as_fn_set_status $ac_retval
} # ac_fn_c_compute_int
+
+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+# -------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_c_check_type ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=no"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_type
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
ac_config_commands="$ac_config_commands default-1"
+
+# Check whether --with-toolexeclibdir was given.
+if test "${with_toolexeclibdir+set}" = set; then :
+ withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in
+ /)
+ ;;
+ */)
+ with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'`
+ ;;
+esac
+else
+ with_toolexeclibdir=no
+fi
+
+
+
# Calculate toolexeclibdir
# Also toolexecdir, though it's only used in toolexeclibdir
case ${enable_version_specific_runtime_libs} in
test x"$with_cross_host" != x"no"; then
# Install a library built with a cross compiler in tooldir, not libdir.
toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
+ case ${with_toolexeclibdir} in
+ no)
+ toolexeclibdir='$(toolexecdir)/lib'
+ ;;
+ *)
+ toolexeclibdir=${with_toolexeclibdir}
+ ;;
+ esac
else
toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
toolexeclibdir='$(libdir)'
# in both places for now and restore CFLAGS at the end of config.
save_CFLAGS="$CFLAGS"
+# Check whether --enable-werror was given.
+if test "${enable_werror+set}" = set; then :
+ enableval=$enable_werror;
+fi
+
# Add -Wall -Werror if we are using GCC.
-if test "x$GCC" = "xyes"; then
- XCFLAGS="$XCFLAGS -Wall -Werror"
+if test "x$GCC" = "xyes"; then :
+ XCFLAGS="$XCFLAGS -Wall"
+fi
+if test "x$enable_werror" != "xno" && test "x$GCC" = "xyes"; then :
+ XCFLAGS="$XCFLAGS -Werror"
fi
# Find other programs we need.
;;
# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
lt_cv_deplibs_check_method=pass_all
;;
tpf*)
lt_cv_deplibs_check_method=pass_all
;;
+vxworks*)
+ # Assume VxWorks cross toolchains are built on Linux, possibly
+ # as canadian for Windows hosts.
+ lt_cv_deplibs_check_method=pass_all
+ ;;
esac
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
$as_echo "$lt_cv_ld_force_load" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
+ # Allow for Darwin 4-7 (macOS 10.0-10.3) although these are not expect to
+ # build without first building modern cctools / linker.
+ case $host_cpu-$host_os in
+ *-rhapsody* | *-darwin1.[012])
_lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
+ *-darwin1.*)
_lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ *-darwin*)
+ # darwin 5.x (macOS 10.1) onwards we only need to adjust when the
+ # deployment target is forced to an earlier version.
+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host in
+ UNSET,*-darwin[89]*|UNSET,*-darwin[12][0123456789]*)
+ ;;
10.[012][,.]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ ;;
+ *)
+ ;;
+ esac
;;
esac
if test "$lt_cv_apple_cc_single_mod" = "yes"; then
archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
tmp_diet=no
if test "$host_os" = linux-dietlibc; then
case $cc_basename in
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
case $host_cpu in
hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
else
case $host_cpu in
hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
esac
;;
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
haiku*)
version_type=linux
need_lib_prefix=no
;;
# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+
+# uclinux* changes (here and below) have been submitted to the libtool
+# project, but have not yet been accepted: they are GCC-local changes
+# for the time being. (See
+# https://lists.gnu.org/archive/html/libtool-patches/2018-05/msg00000.html)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu* | uclinuxfdpiceabi)
version_type=linux
need_lib_prefix=no
need_version=no
shlibpath_var=LD_LIBRARY_PATH
;;
+# Shared libraries for VwWorks, >= 7 only at this stage
+# and (fpic) still incompatible with "large" code models
+# in a few configurations. Only for RTP mode in any case,
+# and upon explicit request at configure time.
+vxworks7*)
+ dynamic_linker=no
+ case ${with_multisubdir}-${enable_shared} in
+ *large*)
+ ;;
+ *mrtp*-yes)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker="$host_os module_loader"
+ ;;
+ esac
+ ;;
*)
dynamic_linker=no
;;
archive_expsym_cmds_FC='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
tmp_diet=no
if test "$host_os" = linux-dietlibc; then
case $cc_basename in
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
case $host_cpu in
hppa*64*)
- archive_cmds_FC='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds_FC='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
archive_cmds_FC='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
else
case $host_cpu in
hppa*64*)
- archive_cmds_FC='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds_FC='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
archive_cmds_FC='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
esac
;;
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
haiku*)
version_type=linux
need_lib_prefix=no
;;
# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+
+# uclinux* changes (here and below) have been submitted to the libtool
+# project, but have not yet been accepted: they are GCC-local changes
+# for the time being. (See
+# https://lists.gnu.org/archive/html/libtool-patches/2018-05/msg00000.html)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu* | uclinuxfdpiceabi)
version_type=linux
need_lib_prefix=no
need_version=no
shlibpath_var=LD_LIBRARY_PATH
;;
+# Shared libraries for VwWorks, >= 7 only at this stage
+# and (fpic) still incompatible with "large" code models
+# in a few configurations. Only for RTP mode in any case,
+# and upon explicit request at configure time.
+vxworks7*)
+ dynamic_linker=no
+ case ${with_multisubdir}-${enable_shared} in
+ *large*)
+ ;;
+ *mrtp*-yes)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker="$host_os module_loader"
+ ;;
+ esac
+ ;;
*)
dynamic_linker=no
;;
done
-
-
-inttype_headers=`echo inttypes.h sys/inttypes.h | sed -e 's/,/ /g'`
-
-acx_cv_header_stdint=stddef.h
-acx_cv_header_stdint_kind="(already complete)"
-for i in stdint.h $inttype_headers; do
- unset ac_cv_type_uintptr_t
- unset ac_cv_type_uintmax_t
- unset ac_cv_type_int_least32_t
- unset ac_cv_type_int_fast32_t
- unset ac_cv_type_uint64_t
- $as_echo_n "looking for a compliant stdint.h in $i, " >&6
- ac_fn_c_check_type "$LINENO" "uintmax_t" "ac_cv_type_uintmax_t" "#include <sys/types.h>
-#include <$i>
-"
-if test "x$ac_cv_type_uintmax_t" = xyes; then :
- acx_cv_header_stdint=$i
+XPCFLAGS=""
+case "$host" in
+ *-*-rtems*)
+ # RTEMS supports Pthreads, but the library is not available at GCC build time.
+ ;;
+ nvptx*-*-* | amdgcn*-*-*)
+ # NVPTX does not support Pthreads, has its own code replacement.
+ libgomp_use_pthreads=no
+ # NVPTX is an accelerator-only target
+ libgomp_offloaded_only=yes
+ ;;
+ *)
+ # Check to see if -pthread or -lpthread is needed. Prefer the former.
+ # In case the pthread.h system header is not found, this test will fail.
+ CFLAGS="$CFLAGS -pthread"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <pthread.h>
+ void *g(void *d) { return NULL; }
+int
+main ()
+{
+pthread_t t; pthread_create(&t,NULL,g,NULL);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ XPCFLAGS=" -Wc,-pthread"
else
- continue
-fi
-
- ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#include <sys/types.h>
-#include <$i>
-"
-if test "x$ac_cv_type_uintptr_t" = xyes; then :
+ CFLAGS="$save_CFLAGS" LIBS="-lpthread $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <pthread.h>
+ void *g(void *d) { return NULL; }
+int
+main ()
+{
+pthread_t t; pthread_create(&t,NULL,g,NULL);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
else
- acx_cv_header_stdint_kind="(mostly complete)"
+ as_fn_error $? "Pthreads are required to build libgomp" "$LINENO" 5
fi
-
- ac_fn_c_check_type "$LINENO" "int_least32_t" "ac_cv_type_int_least32_t" "#include <sys/types.h>
-#include <$i>
-"
-if test "x$ac_cv_type_int_least32_t" = xyes; then :
-
-else
- acx_cv_header_stdint_kind="(mostly complete)"
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+esac
- ac_fn_c_check_type "$LINENO" "int_fast32_t" "ac_cv_type_int_fast32_t" "#include <sys/types.h>
-#include <$i>
-"
-if test "x$ac_cv_type_int_fast32_t" = xyes; then :
-
-else
- acx_cv_header_stdint_kind="(mostly complete)"
-fi
+if test x$libgomp_use_pthreads != xno; then
- ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include <sys/types.h>
-#include <$i>
-"
-if test "x$ac_cv_type_uint64_t" = xyes; then :
+$as_echo "#define LIBGOMP_USE_PTHREADS 1" >>confdefs.h
-else
- acx_cv_header_stdint_kind="(lacks uint64_t)"
fi
- break
-done
-if test "$acx_cv_header_stdint" = stddef.h; then
- acx_cv_header_stdint_kind="(lacks uintmax_t)"
- for i in stdint.h $inttype_headers; do
- unset ac_cv_type_uintptr_t
- unset ac_cv_type_uint32_t
- unset ac_cv_type_uint64_t
- $as_echo_n "looking for an incomplete stdint.h in $i, " >&6
- ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "#include <sys/types.h>
-#include <$i>
-"
-if test "x$ac_cv_type_uint32_t" = xyes; then :
- acx_cv_header_stdint=$i
-else
- continue
-fi
+if test x$libgomp_offloaded_only = xyes; then
- ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include <sys/types.h>
-#include <$i>
-"
-if test "x$ac_cv_type_uint64_t" = xyes; then :
+$as_echo "#define LIBGOMP_OFFLOADED_ONLY 1" >>confdefs.h
fi
- ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#include <sys/types.h>
-#include <$i>
-"
-if test "x$ac_cv_type_uintptr_t" = xyes; then :
+if test "x$enable_offload_defaulted" = xyes; then
-fi
+$as_echo "#define OFFLOAD_DEFAULTED 1" >>confdefs.h
- break
- done
fi
-if test "$acx_cv_header_stdint" = stddef.h; then
- acx_cv_header_stdint_kind="(u_intXX_t style)"
- for i in sys/types.h $inttype_headers; do
- unset ac_cv_type_u_int32_t
- unset ac_cv_type_u_int64_t
- $as_echo_n "looking for u_intXX_t types in $i, " >&6
- ac_fn_c_check_type "$LINENO" "u_int32_t" "ac_cv_type_u_int32_t" "#include <sys/types.h>
-#include <$i>
-"
-if test "x$ac_cv_type_u_int32_t" = xyes; then :
- acx_cv_header_stdint=$i
-else
- continue
-fi
-
- ac_fn_c_check_type "$LINENO" "u_int64_t" "ac_cv_type_u_int64_t" "#include <sys/types.h>
-#include <$i>
-"
-if test "x$ac_cv_type_u_int64_t" = xyes; then :
-
-fi
-
- break
- done
-fi
-if test "$acx_cv_header_stdint" = stddef.h; then
- acx_cv_header_stdint_kind="(using manual detection)"
-fi
-
-test -z "$ac_cv_type_uintptr_t" && ac_cv_type_uintptr_t=no
-test -z "$ac_cv_type_uint64_t" && ac_cv_type_uint64_t=no
-test -z "$ac_cv_type_u_int64_t" && ac_cv_type_u_int64_t=no
-test -z "$ac_cv_type_int_least32_t" && ac_cv_type_int_least32_t=no
-test -z "$ac_cv_type_int_fast32_t" && ac_cv_type_int_fast32_t=no
-
-# ----------------- Summarize what we found so far
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what to include in gstdint.h" >&5
-$as_echo_n "checking what to include in gstdint.h... " >&6; }
-
-case `$as_basename -- gstdint.h ||
-$as_expr X/gstdint.h : '.*/\([^/][^/]*\)/*$' \| \
- Xgstdint.h : 'X\(//\)$' \| \
- Xgstdint.h : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/gstdint.h |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'` in
- stdint.h) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: are you sure you want it there?" >&5
-$as_echo "$as_me: WARNING: are you sure you want it there?" >&2;} ;;
- inttypes.h) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: are you sure you want it there?" >&5
-$as_echo "$as_me: WARNING: are you sure you want it there?" >&2;} ;;
- *) ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_header_stdint $acx_cv_header_stdint_kind" >&5
-$as_echo "$acx_cv_header_stdint $acx_cv_header_stdint_kind" >&6; }
-
-# ----------------- done included file, check C basic types --------
-
-# Lacking an uintptr_t? Test size of void *
-case "$acx_cv_header_stdint:$ac_cv_type_uintptr_t" in
- stddef.h:* | *:no) # The cast to long int works around a bug in the HP C Compiler
+# The cast to long int works around a bug in the HP C Compiler
# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
# This bug is HP SR number 8606223364.
#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
_ACEOF
- ;;
-esac
-
-# Lacking an uint64_t? Test size of long
-case "$acx_cv_header_stdint:$ac_cv_type_uint64_t:$ac_cv_type_u_int64_t" in
- stddef.h:*:* | *:no:no) # The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
-$as_echo_n "checking size of long... " >&6; }
-if ${ac_cv_sizeof_long+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_long" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
-$as_echo "$ac_cv_sizeof_long" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG $ac_cv_sizeof_long
-_ACEOF
-
- ;;
-esac
-
-if test $acx_cv_header_stdint = stddef.h; then
- # Lacking a good header? Test size of everything and deduce all types.
- # The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
-$as_echo_n "checking size of int... " >&6; }
-if ${ac_cv_sizeof_int+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_int" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (int)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_int=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
-$as_echo "$ac_cv_sizeof_int" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_INT $ac_cv_sizeof_int
-_ACEOF
-
-
- # The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
-$as_echo_n "checking size of short... " >&6; }
-if ${ac_cv_sizeof_short+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_short" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (short)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_short=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5
-$as_echo "$ac_cv_sizeof_short" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_SHORT $ac_cv_sizeof_short
-_ACEOF
-
-
- # The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5
-$as_echo_n "checking size of char... " >&6; }
-if ${ac_cv_sizeof_char+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_char" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (char)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_char=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5
-$as_echo "$ac_cv_sizeof_char" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_CHAR $ac_cv_sizeof_char
-_ACEOF
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for type equivalent to int8_t" >&5
-$as_echo_n "checking for type equivalent to int8_t... " >&6; }
- case "$ac_cv_sizeof_char" in
- 1) acx_cv_type_int8_t=char ;;
- *) as_fn_error $? "no 8-bit type, please report a bug" "$LINENO" 5
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_int8_t" >&5
-$as_echo "$acx_cv_type_int8_t" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for type equivalent to int16_t" >&5
-$as_echo_n "checking for type equivalent to int16_t... " >&6; }
- case "$ac_cv_sizeof_int:$ac_cv_sizeof_short" in
- 2:*) acx_cv_type_int16_t=int ;;
- *:2) acx_cv_type_int16_t=short ;;
- *) as_fn_error $? "no 16-bit type, please report a bug" "$LINENO" 5
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_int16_t" >&5
-$as_echo "$acx_cv_type_int16_t" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for type equivalent to int32_t" >&5
-$as_echo_n "checking for type equivalent to int32_t... " >&6; }
- case "$ac_cv_sizeof_int:$ac_cv_sizeof_long" in
- 4:*) acx_cv_type_int32_t=int ;;
- *:4) acx_cv_type_int32_t=long ;;
- *) as_fn_error $? "no 32-bit type, please report a bug" "$LINENO" 5
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_int32_t" >&5
-$as_echo "$acx_cv_type_int32_t" >&6; }
-fi
-
-# These tests are here to make the output prettier
-
-if test "$ac_cv_type_uint64_t" != yes && test "$ac_cv_type_u_int64_t" != yes; then
- case "$ac_cv_sizeof_long" in
- 8) acx_cv_type_int64_t=long ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for type equivalent to int64_t" >&5
-$as_echo_n "checking for type equivalent to int64_t... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${acx_cv_type_int64_t-'using preprocessor symbols'}" >&5
-$as_echo "${acx_cv_type_int64_t-'using preprocessor symbols'}" >&6; }
-fi
-
-# Now we can use the above types
-
-if test "$ac_cv_type_uintptr_t" != yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for type equivalent to intptr_t" >&5
-$as_echo_n "checking for type equivalent to intptr_t... " >&6; }
- case $ac_cv_sizeof_void_p in
- 2) acx_cv_type_intptr_t=int16_t ;;
- 4) acx_cv_type_intptr_t=int32_t ;;
- 8) acx_cv_type_intptr_t=int64_t ;;
- *) as_fn_error $? "no equivalent for intptr_t, please report a bug" "$LINENO" 5
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_type_intptr_t" >&5
-$as_echo "$acx_cv_type_intptr_t" >&6; }
-fi
-
-# ----------------- done all checks, emit header -------------
-ac_config_commands="$ac_config_commands gstdint.h"
-
-
-
-
-XPCFLAGS=""
-case "$host" in
- *-*-rtems*)
- # RTEMS supports Pthreads, but the library is not available at GCC build time.
- ;;
- nvptx*-*-*)
- # NVPTX does not support Pthreads, has its own code replacement.
- libgomp_use_pthreads=no
- # NVPTX is an accelerator-only target
- libgomp_offloaded_only=yes
- ;;
- *)
- # Check to see if -pthread or -lpthread is needed. Prefer the former.
- # In case the pthread.h system header is not found, this test will fail.
- CFLAGS="$CFLAGS -pthread"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <pthread.h>
- void *g(void *d) { return NULL; }
-int
-main ()
-{
-pthread_t t; pthread_create(&t,NULL,g,NULL);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- XPCFLAGS=" -Wc,-pthread"
-else
- CFLAGS="$save_CFLAGS" LIBS="-lpthread $LIBS"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <pthread.h>
- void *g(void *d) { return NULL; }
-int
-main ()
-{
-pthread_t t; pthread_create(&t,NULL,g,NULL);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-else
- as_fn_error $? "Pthreads are required to build libgomp" "$LINENO" 5
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-esac
-
-if test x$libgomp_use_pthreads != xno; then
-
-$as_echo "#define LIBGOMP_USE_PTHREADS 1" >>confdefs.h
-
-fi
-
-if test x$libgomp_offloaded_only = xyes; then
-
-$as_echo "#define LIBGOMP_OFFLOADED_ONLY 1" >>confdefs.h
-fi
# Plugins for offload execution, configure.ac fragment. -*- mode: autoconf -*-
#
-# Copyright (C) 2014-2019 Free Software Foundation, Inc.
+# Copyright (C) 2014-2022 Free Software Foundation, Inc.
#
# Contributed by Mentor Embedded.
#
# <http://www.gnu.org/licenses/>.
plugin_support=yes
+DL_LIBS=
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5
$as_echo_n "checking for dlsym in -ldl... " >&6; }
if ${ac_cv_lib_dl_dlsym+:} false; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5
$as_echo "$ac_cv_lib_dl_dlsym" >&6; }
if test "x$ac_cv_lib_dl_dlsym" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBDL 1
-_ACEOF
-
- LIBS="-ldl $LIBS"
-
+ DL_LIBS=-ldl
else
plugin_support=no
fi
-# Look for the CUDA driver package.
-CUDA_DRIVER_INCLUDE=
-CUDA_DRIVER_LIB=
-
-
-CUDA_DRIVER_CPPFLAGS=
-CUDA_DRIVER_LDFLAGS=
-
-# Check whether --with-cuda-driver was given.
-if test "${with_cuda_driver+set}" = set; then :
- withval=$with_cuda_driver;
-fi
-
-
-# Check whether --with-cuda-driver-include was given.
-if test "${with_cuda_driver_include+set}" = set; then :
- withval=$with_cuda_driver_include;
-fi
-
-
-# Check whether --with-cuda-driver-lib was given.
-if test "${with_cuda_driver_lib+set}" = set; then :
- withval=$with_cuda_driver_lib;
-fi
-
-case "x$with_cuda_driver" in
- x) ;;
- xno)
- CUDA_DRIVER_INCLUDE=no
- CUDA_DRIVER_LIB=no
- ;;
- *) CUDA_DRIVER_INCLUDE=$with_cuda_driver/include
- CUDA_DRIVER_LIB=$with_cuda_driver/lib
- ;;
-esac
-if test "x$with_cuda_driver_include" != x; then
- CUDA_DRIVER_INCLUDE=$with_cuda_driver_include
-fi
-if test "x$with_cuda_driver_lib" != x; then
- CUDA_DRIVER_LIB=$with_cuda_driver_lib
-fi
-if test "x$CUDA_DRIVER_INCLUDE" != x \
- && test "x$CUDA_DRIVER_INCLUDE" != xno; then
- CUDA_DRIVER_CPPFLAGS=-I$CUDA_DRIVER_INCLUDE
-fi
-if test "x$CUDA_DRIVER_LIB" != x \
- && test "x$CUDA_DRIVER_LIB" != xno; then
- CUDA_DRIVER_LDFLAGS=-L$CUDA_DRIVER_LIB
-fi
-
PLUGIN_NVPTX=0
-PLUGIN_NVPTX_CPPFLAGS=
-PLUGIN_NVPTX_LDFLAGS=
-PLUGIN_NVPTX_LIBS=
-PLUGIN_NVPTX_DYNAMIC=0
-
-
-
-
-
-# Look for HSA run-time, its includes and libraries
-
-HSA_RUNTIME_INCLUDE=
-HSA_RUNTIME_LIB=
-
-
-HSA_RUNTIME_CPPFLAGS=
-HSA_RUNTIME_LDFLAGS=
-
-
-# Check whether --with-hsa-runtime was given.
-if test "${with_hsa_runtime+set}" = set; then :
- withval=$with_hsa_runtime;
-fi
-
-
-# Check whether --with-hsa-runtime-include was given.
-if test "${with_hsa_runtime_include+set}" = set; then :
- withval=$with_hsa_runtime_include;
-fi
-
-
-# Check whether --with-hsa-runtime-lib was given.
-if test "${with_hsa_runtime_lib+set}" = set; then :
- withval=$with_hsa_runtime_lib;
-fi
-
-if test "x$with_hsa_runtime" != x; then
- HSA_RUNTIME_INCLUDE=$with_hsa_runtime/include
- HSA_RUNTIME_LIB=$with_hsa_runtime/lib
-fi
-if test "x$with_hsa_runtime_include" != x; then
- HSA_RUNTIME_INCLUDE=$with_hsa_runtime_include
-fi
-if test "x$with_hsa_runtime_lib" != x; then
- HSA_RUNTIME_LIB=$with_hsa_runtime_lib
-fi
-if test "x$HSA_RUNTIME_INCLUDE" != x; then
- HSA_RUNTIME_CPPFLAGS=-I$HSA_RUNTIME_INCLUDE
-fi
-if test "x$HSA_RUNTIME_LIB" != x; then
- HSA_RUNTIME_LDFLAGS=-L$HSA_RUNTIME_LIB
-fi
-
-PLUGIN_HSA=0
-PLUGIN_HSA_CPPFLAGS=
-PLUGIN_HSA_LDFLAGS=
-PLUGIN_HSA_LIBS=
-
-
-
-
-
+PLUGIN_GCN=0
# Parse '--enable-offload-targets', figure out the corresponding libgomp
# plugins, and configure to find the corresponding offload compilers.
# 'offload_plugins' and 'offload_targets' will be populated in the same order.
tgt_plugin=intelmic
;;
nvptx*)
- tgt_plugin=nvptx
- PLUGIN_NVPTX=$tgt
- if test "x$CUDA_DRIVER_LIB" != xno \
- && test "x$CUDA_DRIVER_LIB" != xno; then
- PLUGIN_NVPTX_CPPFLAGS=$CUDA_DRIVER_CPPFLAGS
- PLUGIN_NVPTX_LDFLAGS=$CUDA_DRIVER_LDFLAGS
- PLUGIN_NVPTX_LIBS='-lcuda'
-
- PLUGIN_NVPTX_save_CPPFLAGS=$CPPFLAGS
- CPPFLAGS="$PLUGIN_NVPTX_CPPFLAGS $CPPFLAGS"
- PLUGIN_NVPTX_save_LDFLAGS=$LDFLAGS
- LDFLAGS="$PLUGIN_NVPTX_LDFLAGS $LDFLAGS"
- PLUGIN_NVPTX_save_LIBS=$LIBS
- LIBS="$PLUGIN_NVPTX_LIBS $LIBS"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include "cuda.h"
-int
-main ()
-{
-CUresult r = cuCtxPushCurrent (NULL);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- PLUGIN_NVPTX=1
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CPPFLAGS=$PLUGIN_NVPTX_save_CPPFLAGS
- LDFLAGS=$PLUGIN_NVPTX_save_LDFLAGS
- LIBS=$PLUGIN_NVPTX_save_LIBS
- fi
- case $PLUGIN_NVPTX in
- nvptx*)
- if (test "x$CUDA_DRIVER_INCLUDE" = x \
- || test "x$CUDA_DRIVER_INCLUDE" = xno) \
- && (test "x$CUDA_DRIVER_LIB" = x \
- || test "x$CUDA_DRIVER_LIB" = xno); then
- PLUGIN_NVPTX=1
- PLUGIN_NVPTX_CPPFLAGS='-I$(srcdir)/plugin/cuda'
- PLUGIN_NVPTX_LIBS='-ldl'
- PLUGIN_NVPTX_DYNAMIC=1
- else
- PLUGIN_NVPTX=0
- as_fn_error $? "CUDA driver package required for nvptx support" "$LINENO" 5
- fi
- ;;
+ case "${target}" in
+ aarch64*-*-* | powerpc64le-*-* | x86_64-*-*)
+ case "$ac_cv_sizeof_void_p" in
+ 4)
+ # PR libgomp/65099: Currently, we only support offloading in
+ # 64-bit configurations.
+ PLUGIN_NVPTX=0
+ ;;
+ *)
+ tgt_plugin=nvptx
+ PLUGIN_NVPTX=1
+ ;;
+ esac
+ ;;
+ *-*-*)
+ # Target architecture not supported.
+ PLUGIN_NVPTX=0
+ ;;
esac
;;
- hsa*)
+ amdgcn*)
case "${target}" in
x86_64-*-*)
- case " ${CC} ${CFLAGS} " in
- *" -m32 "*)
- PLUGIN_HSA=0
+ case "$ac_cv_sizeof_void_p" in
+ 4)
+ PLUGIN_GCN=0
;;
*)
- tgt_plugin=hsa
- PLUGIN_HSA=$tgt
- PLUGIN_HSA_CPPFLAGS=$HSA_RUNTIME_CPPFLAGS
- PLUGIN_HSA_LDFLAGS="$HSA_RUNTIME_LDFLAGS"
- PLUGIN_HSA_LIBS="-ldl"
-
- PLUGIN_HSA_save_CPPFLAGS=$CPPFLAGS
- CPPFLAGS="$PLUGIN_HSA_CPPFLAGS $CPPFLAGS"
- PLUGIN_HSA_save_LDFLAGS=$LDFLAGS
- LDFLAGS="$PLUGIN_HSA_LDFLAGS $LDFLAGS"
- PLUGIN_HSA_save_LIBS=$LIBS
- LIBS="$PLUGIN_HSA_LIBS $LIBS"
-
- PLUGIN_HSA=1
- CPPFLAGS=$PLUGIN_HSA_save_CPPFLAGS
- LDFLAGS=$PLUGIN_HSA_save_LDFLAGS
- LIBS=$PLUGIN_HSA_save_LIBS
- case $PLUGIN_HSA in
- hsa*)
- HSA_PLUGIN=0
- as_fn_error $? "HSA run-time package required for HSA support" "$LINENO" 5
- ;;
- esac
+ tgt_plugin=gcn
+ PLUGIN_GCN=1
;;
esac
- ;;
+ ;;
*-*-*)
- PLUGIN_HSA=0
- ;;
- esac
- ;;
+ PLUGIN_GCN=0
+ ;;
+ esac
+ ;;
*)
as_fn_error $? "unknown offload target specified" "$LINENO" 5
;;
offload_targets=$offload_targets,$tgt
fi
# Configure additional search paths.
- if test "$tgt_plugin" = hsa; then
- # Offloading compilation is all handled by the target compiler.
- :
- elif test x"$tgt_dir" != x; then
- offload_additional_options="$offload_additional_options -B$tgt_dir/libexec/gcc/\$(target_alias)/\$(gcc_version) -B$tgt_dir/bin"
+ if test x"$tgt_dir" != x; then
+ offload_additional_options="$offload_additional_options -B$tgt_dir/\$(libexecdir:\$(exec_prefix)/%=%)/gcc/\$(target_alias)/\$(gcc_version) -B$tgt_dir/bin"
offload_additional_lib_paths="$offload_additional_lib_paths:$tgt_dir/lib64:$tgt_dir/lib:$tgt_dir/lib32"
else
offload_additional_options="$offload_additional_options -B\$(libexecdir)/gcc/\$(target_alias)/\$(gcc_version) -B\$(bindir)"
PLUGIN_NVPTX_FALSE=
fi
-
-cat >>confdefs.h <<_ACEOF
-#define PLUGIN_NVPTX $PLUGIN_NVPTX
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PLUGIN_NVPTX_DYNAMIC $PLUGIN_NVPTX_DYNAMIC
-_ACEOF
-
- if test $PLUGIN_HSA = 1; then
- PLUGIN_HSA_TRUE=
- PLUGIN_HSA_FALSE='#'
+ if test $PLUGIN_GCN = 1; then
+ PLUGIN_GCN_TRUE=
+ PLUGIN_GCN_FALSE='#'
else
- PLUGIN_HSA_TRUE='#'
- PLUGIN_HSA_FALSE=
-fi
-
-
-cat >>confdefs.h <<_ACEOF
-#define PLUGIN_HSA $PLUGIN_HSA
-_ACEOF
-
-
-if test "$HSA_RUNTIME_LIB" != ""; then
- HSA_RUNTIME_LIB="$HSA_RUNTIME_LIB/"
+ PLUGIN_GCN_TRUE='#'
+ PLUGIN_GCN_FALSE=
fi
-cat >>confdefs.h <<_ACEOF
-#define HSA_RUNTIME_LIB "$HSA_RUNTIME_LIB"
-_ACEOF
-
-
# Check for functions needed.
for ac_func in getloadavg clock_gettime strtoull
case "$target" in
- *-linux*)
+ *-linux* | *-uclinux*)
case "$enable_linux_futex" in
default)
# If headers don't have gettid/futex syscalls definition, then
if ac_fn_c_try_link "$LINENO"; then :
chktls_save_LDFLAGS="$LDFLAGS"
case $host in
- *-*-linux*)
+ *-*-linux* | -*-uclinuxfdpic*)
LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS"
;;
esac
# Start by getting the version number. I think the libtool test already
# does some of this, but throws away the result.
libgomp_ld_is_gold=no
+ libgomp_ld_is_mold=no
if $LD --version 2>/dev/null | grep 'GNU gold'> /dev/null 2>&1; then
libgomp_ld_is_gold=yes
+ elif $LD --version 2>/dev/null | grep 'mold'> /dev/null 2>&1; then
+ libgomp_ld_is_mold=yes
fi
ldver=`$LD --version 2>/dev/null |
enable_symvers=gnu
elif test $libgomp_ld_is_gold = yes ; then
enable_symvers=gnu
+ elif test $libgomp_ld_is_mold = yes ; then
+ enable_symvers=gnu
else
# The right tools, the right setup, but too old. Fallbacks?
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === Linker version $libgomp_gnu_ld_version is too old for" >&5
esac
else
- enable_cet=no
+ enable_cet=auto
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CET support" >&5
$as_echo_n "checking for CET support... " >&6; }
+# NB: Avoid nested save_CFLAGS and save_LDFLAGS.
case "$host" in
i[34567]86-*-linux* | x86_64-*-linux*)
case "$enable_cet" in
auto)
# Check if target supports multi-byte NOPs
- # and if assembler supports CET insn.
+ # and if compiler and assembler support CET insn.
+ cet_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -fcf-protection"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
enable_cet=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$cet_save_CFLAGS"
;;
yes)
# Check if assembler supports CET.
+# Conditionalize the makefile for this target machine.
+tmake_file_=
+for f in ${tmake_file}
+do
+ if test -f ${srcdir}/config/$f
+ then
+ tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
+ fi
+done
+tmake_file="${tmake_file_}"
+
+
# Cleanup and exit.
CFLAGS="$save_CFLAGS"
cat >confcache <<\_ACEOF
fi
done
+if ac_fn_c_compute_int "$LINENO" "sizeof (__INTPTR_TYPE__)" "INTPTR_T_KIND" ""; then :
+
+fi
+
+
+if ac_fn_c_compute_int "$LINENO" "sizeof (__int128)" "OMP_INT128_SIZE" ""; then :
+
+else
+ OMP_INT128_SIZE=0
+fi
+
+
+if ac_fn_c_compute_int "$LINENO" "2*sizeof (__INTPTR_TYPE__)" "OMP_DEPEND_KIND" ""; then :
+
+else
+ OMP_DEPEND_KIND=0
+fi
+
+
if ac_fn_c_compute_int "$LINENO" "sizeof (omp_lock_t)" "OMP_LOCK_SIZE" ""; then :
else
if test $OMP_NEST_LOCK_25_SIZE -gt 8 || test $OMP_NEST_LOCK_25_ALIGN -gt $OMP_NEST_LOCK_25_SIZE; then
OMP_NEST_LOCK_25_KIND=8
fi
+if test "$ac_cv_fc_compiler_gnu" = yes; then
+ if test $OMP_DEPEND_KIND -eq 16; then
+ if test $OMP_INT128_SIZE -ne 16; then
+ as_fn_error $? "unsupported system, cannot find Fortran int kind=16, needed for omp_depend_kind" "$LINENO" 5
+ fi
+ else
+ if test $OMP_DEPEND_KIND -ne 8; then
+ as_fn_error $? "unsupported system, cannot find Fortran integer kind for omp_depend_kind" "$LINENO" 5
+ fi
+ fi
+fi
+
+
ac_config_files="$ac_config_files testsuite/libgomp-test-support.pt.exp:testsuite/libgomp-test-support.exp.in"
+ac_config_files="$ac_config_files testsuite/libgomp-site-extra.exp"
+
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
as_fn_error $? "conditional \"PLUGIN_NVPTX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${PLUGIN_HSA_TRUE}" && test -z "${PLUGIN_HSA_FALSE}"; then
- as_fn_error $? "conditional \"PLUGIN_HSA\" was never defined.
+if test -z "${PLUGIN_GCN_TRUE}" && test -z "${PLUGIN_GCN_FALSE}"; then
+ as_fn_error $? "conditional \"PLUGIN_GCN\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE}" && test -z "${LIBGOMP_BUILD_VERSIONED_SHLIB_FALSE}"; then
-GCC="$GCC"
-CC="$CC"
-acx_cv_header_stdint="$acx_cv_header_stdint"
-acx_cv_type_int8_t="$acx_cv_type_int8_t"
-acx_cv_type_int16_t="$acx_cv_type_int16_t"
-acx_cv_type_int32_t="$acx_cv_type_int32_t"
-acx_cv_type_int64_t="$acx_cv_type_int64_t"
-acx_cv_type_intptr_t="$acx_cv_type_intptr_t"
-ac_cv_type_uintmax_t="$ac_cv_type_uintmax_t"
-ac_cv_type_uintptr_t="$ac_cv_type_uintptr_t"
-ac_cv_type_uint64_t="$ac_cv_type_uint64_t"
-ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t"
-ac_cv_type_u_int32_t="$ac_cv_type_u_int32_t"
-ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t"
-ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t"
-ac_cv_sizeof_void_p="$ac_cv_sizeof_void_p"
-
-
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
"default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "gstdint.h") CONFIG_COMMANDS="$CONFIG_COMMANDS gstdint.h" ;;
"omp.h") CONFIG_FILES="$CONFIG_FILES omp.h" ;;
"omp_lib.h") CONFIG_FILES="$CONFIG_FILES omp_lib.h" ;;
"omp_lib.f90") CONFIG_FILES="$CONFIG_FILES omp_lib.f90" ;;
"testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
"libgomp.spec") CONFIG_FILES="$CONFIG_FILES libgomp.spec" ;;
"testsuite/libgomp-test-support.pt.exp") CONFIG_FILES="$CONFIG_FILES testsuite/libgomp-test-support.pt.exp:testsuite/libgomp-test-support.exp.in" ;;
+ "testsuite/libgomp-site-extra.exp") CONFIG_FILES="$CONFIG_FILES testsuite/libgomp-site-extra.exp" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
# ### END LIBTOOL TAG CONFIG: FC
_LT_EOF
- ;;
- "gstdint.h":C)
-if test "$GCC" = yes; then
- echo "/* generated for " `$CC --version | sed 1q` "*/" > tmp-stdint.h
-else
- echo "/* generated for $CC */" > tmp-stdint.h
-fi
-
-sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- #ifndef GCC_GENERATED_STDINT_H
- #define GCC_GENERATED_STDINT_H 1
-
- #include <sys/types.h>
-EOF
-
-if test "$acx_cv_header_stdint" != stdint.h; then
- echo "#include <stddef.h>" >> tmp-stdint.h
-fi
-if test "$acx_cv_header_stdint" != stddef.h; then
- echo "#include <$acx_cv_header_stdint>" >> tmp-stdint.h
-fi
-
-sed 's/^ *//' >> tmp-stdint.h <<EOF
- /* glibc uses these symbols as guards to prevent redefinitions. */
- #ifdef __int8_t_defined
- #define _INT8_T
- #define _INT16_T
- #define _INT32_T
- #endif
- #ifdef __uint32_t_defined
- #define _UINT32_T
- #endif
-
-EOF
-
-# ----------------- done header, emit basic int types -------------
-if test "$acx_cv_header_stdint" = stddef.h; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- #ifndef _UINT8_T
- #define _UINT8_T
- #ifndef __uint8_t_defined
- #define __uint8_t_defined
- #ifndef uint8_t
- typedef unsigned $acx_cv_type_int8_t uint8_t;
- #endif
- #endif
- #endif
-
- #ifndef _UINT16_T
- #define _UINT16_T
- #ifndef __uint16_t_defined
- #define __uint16_t_defined
- #ifndef uint16_t
- typedef unsigned $acx_cv_type_int16_t uint16_t;
- #endif
- #endif
- #endif
-
- #ifndef _UINT32_T
- #define _UINT32_T
- #ifndef __uint32_t_defined
- #define __uint32_t_defined
- #ifndef uint32_t
- typedef unsigned $acx_cv_type_int32_t uint32_t;
- #endif
- #endif
- #endif
-
- #ifndef _INT8_T
- #define _INT8_T
- #ifndef __int8_t_defined
- #define __int8_t_defined
- #ifndef int8_t
- typedef $acx_cv_type_int8_t int8_t;
- #endif
- #endif
- #endif
-
- #ifndef _INT16_T
- #define _INT16_T
- #ifndef __int16_t_defined
- #define __int16_t_defined
- #ifndef int16_t
- typedef $acx_cv_type_int16_t int16_t;
- #endif
- #endif
- #endif
-
- #ifndef _INT32_T
- #define _INT32_T
- #ifndef __int32_t_defined
- #define __int32_t_defined
- #ifndef int32_t
- typedef $acx_cv_type_int32_t int32_t;
- #endif
- #endif
- #endif
-EOF
-elif test "$ac_cv_type_u_int32_t" = yes; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* int8_t int16_t int32_t defined by inet code, we do the u_intXX types */
- #ifndef _INT8_T
- #define _INT8_T
- #endif
- #ifndef _INT16_T
- #define _INT16_T
- #endif
- #ifndef _INT32_T
- #define _INT32_T
- #endif
-
- #ifndef _UINT8_T
- #define _UINT8_T
- #ifndef __uint8_t_defined
- #define __uint8_t_defined
- #ifndef uint8_t
- typedef u_int8_t uint8_t;
- #endif
- #endif
- #endif
-
- #ifndef _UINT16_T
- #define _UINT16_T
- #ifndef __uint16_t_defined
- #define __uint16_t_defined
- #ifndef uint16_t
- typedef u_int16_t uint16_t;
- #endif
- #endif
- #endif
-
- #ifndef _UINT32_T
- #define _UINT32_T
- #ifndef __uint32_t_defined
- #define __uint32_t_defined
- #ifndef uint32_t
- typedef u_int32_t uint32_t;
- #endif
- #endif
- #endif
-EOF
-else
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* Some systems have guard macros to prevent redefinitions, define them. */
- #ifndef _INT8_T
- #define _INT8_T
- #endif
- #ifndef _INT16_T
- #define _INT16_T
- #endif
- #ifndef _INT32_T
- #define _INT32_T
- #endif
- #ifndef _UINT8_T
- #define _UINT8_T
- #endif
- #ifndef _UINT16_T
- #define _UINT16_T
- #endif
- #ifndef _UINT32_T
- #define _UINT32_T
- #endif
-EOF
-fi
-
-# ------------- done basic int types, emit int64_t types ------------
-if test "$ac_cv_type_uint64_t" = yes; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* system headers have good uint64_t and int64_t */
- #ifndef _INT64_T
- #define _INT64_T
- #endif
- #ifndef _UINT64_T
- #define _UINT64_T
- #endif
-EOF
-elif test "$ac_cv_type_u_int64_t" = yes; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* system headers have an u_int64_t (and int64_t) */
- #ifndef _INT64_T
- #define _INT64_T
- #endif
- #ifndef _UINT64_T
- #define _UINT64_T
- #ifndef __uint64_t_defined
- #define __uint64_t_defined
- #ifndef uint64_t
- typedef u_int64_t uint64_t;
- #endif
- #endif
- #endif
-EOF
-elif test -n "$acx_cv_type_int64_t"; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* architecture has a 64-bit type, $acx_cv_type_int64_t */
- #ifndef _INT64_T
- #define _INT64_T
- #ifndef int64_t
- typedef $acx_cv_type_int64_t int64_t;
- #endif
- #endif
- #ifndef _UINT64_T
- #define _UINT64_T
- #ifndef __uint64_t_defined
- #define __uint64_t_defined
- #ifndef uint64_t
- typedef unsigned $acx_cv_type_int64_t uint64_t;
- #endif
- #endif
- #endif
-EOF
-else
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* some common heuristics for int64_t, using compiler-specific tests */
- #if defined __STDC_VERSION__ && (__STDC_VERSION__-0) >= 199901L
- #ifndef _INT64_T
- #define _INT64_T
- #ifndef __int64_t_defined
- #ifndef int64_t
- typedef long long int64_t;
- #endif
- #endif
- #endif
- #ifndef _UINT64_T
- #define _UINT64_T
- #ifndef uint64_t
- typedef unsigned long long uint64_t;
- #endif
- #endif
-
- #elif defined __GNUC__ && defined (__STDC__) && __STDC__-0
- /* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and
- does not implement __extension__. But that compiler doesn't define
- __GNUC_MINOR__. */
- # if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__)
- # define __extension__
- # endif
-
- # ifndef _INT64_T
- # define _INT64_T
- # ifndef int64_t
- __extension__ typedef long long int64_t;
- # endif
- # endif
- # ifndef _UINT64_T
- # define _UINT64_T
- # ifndef uint64_t
- __extension__ typedef unsigned long long uint64_t;
- # endif
- # endif
-
- #elif !defined __STRICT_ANSI__
- # if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
-
- # ifndef _INT64_T
- # define _INT64_T
- # ifndef int64_t
- typedef __int64 int64_t;
- # endif
- # endif
- # ifndef _UINT64_T
- # define _UINT64_T
- # ifndef uint64_t
- typedef unsigned __int64 uint64_t;
- # endif
- # endif
- # endif /* compiler */
-
- #endif /* ANSI version */
-EOF
-fi
-
-# ------------- done int64_t types, emit intptr types ------------
-if test "$ac_cv_type_uintptr_t" != yes; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* Define intptr_t based on sizeof(void*) = $ac_cv_sizeof_void_p */
- #ifndef __uintptr_t_defined
- #ifndef uintptr_t
- typedef u$acx_cv_type_intptr_t uintptr_t;
- #endif
- #endif
- #ifndef __intptr_t_defined
- #ifndef intptr_t
- typedef $acx_cv_type_intptr_t intptr_t;
- #endif
- #endif
-EOF
-fi
-
-# ------------- done intptr types, emit int_least types ------------
-if test "$ac_cv_type_int_least32_t" != yes; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* Define int_least types */
- typedef int8_t int_least8_t;
- typedef int16_t int_least16_t;
- typedef int32_t int_least32_t;
- #ifdef _INT64_T
- typedef int64_t int_least64_t;
- #endif
-
- typedef uint8_t uint_least8_t;
- typedef uint16_t uint_least16_t;
- typedef uint32_t uint_least32_t;
- #ifdef _UINT64_T
- typedef uint64_t uint_least64_t;
- #endif
-EOF
-fi
-
-# ------------- done intptr types, emit int_fast types ------------
-if test "$ac_cv_type_int_fast32_t" != yes; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* Define int_fast types. short is often slow */
- typedef int8_t int_fast8_t;
- typedef int int_fast16_t;
- typedef int32_t int_fast32_t;
- #ifdef _INT64_T
- typedef int64_t int_fast64_t;
- #endif
-
- typedef uint8_t uint_fast8_t;
- typedef unsigned int uint_fast16_t;
- typedef uint32_t uint_fast32_t;
- #ifdef _UINT64_T
- typedef uint64_t uint_fast64_t;
- #endif
-EOF
-fi
-
-if test "$ac_cv_type_uintmax_t" != yes; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* Define intmax based on what we found */
- #ifndef intmax_t
- #ifdef _INT64_T
- typedef int64_t intmax_t;
- #else
- typedef long intmax_t;
- #endif
- #endif
- #ifndef uintmax_t
- #ifdef _UINT64_T
- typedef uint64_t uintmax_t;
- #else
- typedef unsigned long uintmax_t;
- #endif
- #endif
-EOF
-fi
-
-sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- #endif /* GCC_GENERATED_STDINT_H */
-EOF
-
-if test -r gstdint.h && cmp -s tmp-stdint.h gstdint.h; then
- rm -f tmp-stdint.h
-else
- mv -f tmp-stdint.h gstdint.h
-fi
-
;;
esac