Suppress -fstack-protector warning on hppa.
[official-gcc.git] / lto-plugin / configure.ac
blob0a7202782ae432373e94757208797d52ba50c0cc
1 AC_INIT([LTO plugin for ld], 0.1,,[lto-plugin])
2 AC_CANONICAL_SYSTEM
3 GCC_TOPLEV_SUBDIRS
4 AM_INIT_AUTOMAKE([foreign no-dist])
5 AM_MAINTAINER_MODE
6 AC_ARG_WITH(libiberty,
7   [AS_HELP_STRING([--with-libiberty=PATH],
8     [specify the directory where to find libiberty [../libiberty]])],
9   [], with_libiberty=../libiberty)
10 AC_SUBST(with_libiberty)
11 AC_USE_SYSTEM_EXTENSIONS
12 AC_PROG_CC
13 AC_SYS_LARGEFILE
14 ACX_PROG_CC_WARNING_OPTS([-Wall], [ac_lto_plugin_warn_cflags])
16 # Check whether -static-libgcc is supported.
17 saved_LDFLAGS="$LDFLAGS"
18 LDFLAGS="$LDFLAGS -static-libgcc"
19 AC_MSG_CHECKING([for -static-libgcc])
20 AC_LINK_IFELSE([AC_LANG_SOURCE([
21   int main() {}])], [have_static_libgcc=yes], [have_static_libgcc=no])
22 AC_MSG_RESULT($have_static_libgcc); 
23 LDFLAGS="$saved_LDFLAGS"
24 # Need -Wc to get it through libtool.
25 if test "x$have_static_libgcc" = xyes; then
26    ac_lto_plugin_ldflags="-Wc,-static-libgcc"
28 AC_SUBST(ac_lto_plugin_ldflags)
30 GCC_CET_HOST_FLAGS(CET_HOST_FLAGS)
31 AC_SUBST(CET_HOST_FLAGS)
33 if test x"$host_subdir" = x.; then
34    gcc_build_dir=../gcc
35 else
36    gcc_build_dir=../../$host_subdir/gcc
38 AC_SUBST(gcc_build_dir)
40 # Used for constructing correct paths for offload compilers.
41 accel_dir_suffix=
42 real_target_noncanonical=${target_noncanonical}
43 if test x"$enable_as_accelerator_for" != x; then
44   accel_dir_suffix=/accel/${target_noncanonical}
45   real_target_noncanonical=${enable_as_accelerator_for}
47 AC_SUBST(accel_dir_suffix)
48 AC_SUBST(real_target_noncanonical)
50 # Determine what GCC version number to use in filesystem paths.
51 GCC_BASE_VER
53 AC_MSG_CHECKING([whether symbol versioning is supported])
54 lto_plugin_use_symver=no
55 if test x$gcc_no_link = xyes; then
56   # If we cannot link, we cannot build shared libraries, so do not use
57   # symbol versioning.
58   lto_plugin_use_symver=no
59 else
60   save_LDFLAGS="$LDFLAGS"
61   LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map"
62   cat > conftest.map <<EOF
64   global: *foo*; bar; local: *;
66 EOF
67   AC_TRY_LINK([int foo;],[],[lto_plugin_use_symver=gnu],[lto_plugin_use_symver=no])
68   if test x$lto_plugin_use_symver = xno; then
69     case "$target_os" in
70       solaris2*)
71         LDFLAGS="$save_LDFLAGS"
72         LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map"
73         # Sun ld cannot handle wildcards and treats all entries as undefined.
74         cat > conftest.map <<EOF
76   global: foo; local: *;
78 EOF
79         AC_TRY_LINK([int foo;],[],[lto_plugin_use_symver=sun],[lto_plugin_use_symver=no])
80           ;;
81     esac
82   fi
83   LDFLAGS="$save_LDFLAGS"
85 AC_MSG_RESULT($lto_plugin_use_symver)
86 AM_CONDITIONAL(LTO_PLUGIN_USE_SYMVER, [test "x$lto_plugin_use_symver" != xno])
87 AM_CONDITIONAL(LTO_PLUGIN_USE_SYMVER_GNU, [test "x$lto_plugin_use_symver" = xgnu])
88 AM_CONDITIONAL(LTO_PLUGIN_USE_SYMVER_SUN, [test "x$lto_plugin_use_symver" = xsun])
90 # Check for thread headers.
91 use_locking=no
92 ac_lto_plugin_extra_ldflags=
94 case $host in
95   riscv*)
96     # do not use locking as pthread depends on libatomic
97     ;;
98   *-linux*)
99     use_locking=yes
100     ;;
101 esac
103 if test x$use_locking = xyes; then
104   AC_CHECK_HEADER(pthread.h,
105     [AC_DEFINE(HAVE_PTHREAD_LOCKING, 1, [Define if the system provides pthread locking mechanism.])])
107   ac_lto_plugin_extra_ldflags="-pthread"
110 AC_SUBST(ac_lto_plugin_extra_ldflags)
112 AM_PROG_LIBTOOL
113 ACX_LT_HOST_FLAGS
114 AC_SUBST(target_noncanonical)
115 AC_TYPE_INT64_T
116 AC_TYPE_UINT64_T
117 AC_HEADER_SYS_WAIT
118 AC_CONFIG_FILES(Makefile)
119 AC_CONFIG_HEADERS(config.h)
120 AC_OUTPUT