1 AC_INIT([LTO plugin for ld], 0.1,,[lto-plugin])
4 AM_INIT_AUTOMAKE([foreign no-dist])
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
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"
29 # Enable --enable-host-bind-now
30 AC_ARG_ENABLE(host-bind-now,
31 [AS_HELP_STRING([--enable-host-bind-now],
32 [link host code as BIND_NOW])])
33 AC_SUBST(enable_host_bind_now)
35 if test x$enable_host_bind_now = xyes; then
36 ac_lto_plugin_ldflags="$ac_lto_plugin_ldflags -Wl,-z,now"
39 AC_SUBST(ac_lto_plugin_ldflags)
41 GCC_CET_HOST_FLAGS(CET_HOST_FLAGS)
42 AC_SUBST(CET_HOST_FLAGS)
44 if test x"$host_subdir" = x.; then
47 gcc_build_dir=../../$host_subdir/gcc
49 AC_SUBST(gcc_build_dir)
51 # Used for constructing correct paths for offload compilers.
53 real_target_noncanonical=${target_noncanonical}
54 if test x"$enable_as_accelerator_for" != x; then
55 accel_dir_suffix=/accel/${target_noncanonical}
56 real_target_noncanonical=${enable_as_accelerator_for}
58 AC_SUBST(accel_dir_suffix)
59 AC_SUBST(real_target_noncanonical)
61 # Determine what GCC version number to use in filesystem paths.
64 AC_MSG_CHECKING([whether symbol versioning is supported])
65 lto_plugin_use_symver=no
66 if test x$gcc_no_link = xyes; then
67 # If we cannot link, we cannot build shared libraries, so do not use
69 lto_plugin_use_symver=no
71 save_LDFLAGS="$LDFLAGS"
72 LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map"
73 cat > conftest.map <<EOF
75 global: *foo*; bar; local: *;
78 AC_TRY_LINK([int foo;],[],[lto_plugin_use_symver=gnu],[lto_plugin_use_symver=no])
79 if test x$lto_plugin_use_symver = xno; then
82 LDFLAGS="$save_LDFLAGS"
83 LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map"
84 # Sun ld cannot handle wildcards and treats all entries as undefined.
85 cat > conftest.map <<EOF
87 global: foo; local: *;
90 AC_TRY_LINK([int foo;],[],[lto_plugin_use_symver=sun],[lto_plugin_use_symver=no])
94 LDFLAGS="$save_LDFLAGS"
96 AC_MSG_RESULT($lto_plugin_use_symver)
97 AM_CONDITIONAL(LTO_PLUGIN_USE_SYMVER, [test "x$lto_plugin_use_symver" != xno])
98 AM_CONDITIONAL(LTO_PLUGIN_USE_SYMVER_GNU, [test "x$lto_plugin_use_symver" = xgnu])
99 AM_CONDITIONAL(LTO_PLUGIN_USE_SYMVER_SUN, [test "x$lto_plugin_use_symver" = xsun])
101 # Check for thread headers.
103 ac_lto_plugin_extra_ldflags=
107 # do not use locking as pthread depends on libatomic
114 if test x$use_locking = xyes; then
115 AC_CHECK_HEADER(pthread.h,
116 [AC_DEFINE(HAVE_PTHREAD_LOCKING, 1, [Define if the system provides pthread locking mechanism.])])
118 ac_lto_plugin_extra_ldflags="-pthread"
121 AC_SUBST(ac_lto_plugin_extra_ldflags)
124 AM_CONDITIONAL([ENABLE_DARWIN_AT_RPATH], [test x$enable_darwin_at_rpath = xyes])
126 AC_SUBST(target_noncanonical)
130 AC_CONFIG_FILES(Makefile)
131 AC_CONFIG_HEADERS(config.h)