]> git.ipfire.org Git - thirdparty/gcc.git/blob - lto-plugin/configure.ac
75cf46ac5c72c914a9f515dd5e3b7792ecdd4cd2
[thirdparty/gcc.git] / lto-plugin / configure.ac
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])
15
16 # The plug-in depends on pthreads
17 LDFLAGS="-pthread"
18
19 # Check whether -static-libgcc is supported.
20 saved_LDFLAGS="$LDFLAGS"
21 LDFLAGS="$LDFLAGS -static-libgcc"
22 AC_MSG_CHECKING([for -static-libgcc])
23 AC_LINK_IFELSE([AC_LANG_SOURCE([
24 int main() {}])], [have_static_libgcc=yes], [have_static_libgcc=no])
25 AC_MSG_RESULT($have_static_libgcc);
26 LDFLAGS="$saved_LDFLAGS"
27 # Need -Wc to get it through libtool.
28 if test "x$have_static_libgcc" = xyes; then
29 ac_lto_plugin_ldflags="-Wc,-static-libgcc"
30 fi
31 AC_SUBST(ac_lto_plugin_ldflags)
32
33 GCC_CET_HOST_FLAGS(CET_HOST_FLAGS)
34 AC_SUBST(CET_HOST_FLAGS)
35
36 if test x"$host_subdir" = x.; then
37 gcc_build_dir=../gcc
38 else
39 gcc_build_dir=../../$host_subdir/gcc
40 fi
41 AC_SUBST(gcc_build_dir)
42
43 # Used for constructing correct paths for offload compilers.
44 accel_dir_suffix=
45 real_target_noncanonical=${target_noncanonical}
46 if test x"$enable_as_accelerator_for" != x; then
47 accel_dir_suffix=/accel/${target_noncanonical}
48 real_target_noncanonical=${enable_as_accelerator_for}
49 fi
50 AC_SUBST(accel_dir_suffix)
51 AC_SUBST(real_target_noncanonical)
52
53 # Determine what GCC version number to use in filesystem paths.
54 GCC_BASE_VER
55
56 AC_MSG_CHECKING([whether symbol versioning is supported])
57 lto_plugin_use_symver=no
58 if test x$gcc_no_link = xyes; then
59 # If we cannot link, we cannot build shared libraries, so do not use
60 # symbol versioning.
61 lto_plugin_use_symver=no
62 else
63 save_LDFLAGS="$LDFLAGS"
64 LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map"
65 cat > conftest.map <<EOF
66 {
67 global: *foo*; bar; local: *;
68 };
69 EOF
70 AC_TRY_LINK([int foo;],[],[lto_plugin_use_symver=gnu],[lto_plugin_use_symver=no])
71 if test x$lto_plugin_use_symver = xno; then
72 case "$target_os" in
73 solaris2*)
74 LDFLAGS="$save_LDFLAGS"
75 LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map"
76 # Sun ld cannot handle wildcards and treats all entries as undefined.
77 cat > conftest.map <<EOF
78 {
79 global: foo; local: *;
80 };
81 EOF
82 AC_TRY_LINK([int foo;],[],[lto_plugin_use_symver=sun],[lto_plugin_use_symver=no])
83 ;;
84 esac
85 fi
86 LDFLAGS="$save_LDFLAGS"
87 fi
88 AC_MSG_RESULT($lto_plugin_use_symver)
89 AM_CONDITIONAL(LTO_PLUGIN_USE_SYMVER, [test "x$lto_plugin_use_symver" != xno])
90 AM_CONDITIONAL(LTO_PLUGIN_USE_SYMVER_GNU, [test "x$lto_plugin_use_symver" = xgnu])
91 AM_CONDITIONAL(LTO_PLUGIN_USE_SYMVER_SUN, [test "x$lto_plugin_use_symver" = xsun])
92
93 # Check for thread headers.
94 AC_CHECK_HEADER(pthread.h,
95 [AC_DEFINE(HAVE_PTHREAD_H, 1, [Define to 1 if pthread.h is present.])])
96
97 AM_PROG_LIBTOOL
98 ACX_LT_HOST_FLAGS
99 AC_SUBST(target_noncanonical)
100 AC_TYPE_INT64_T
101 AC_TYPE_UINT64_T
102 AC_HEADER_SYS_WAIT
103 AC_CONFIG_FILES(Makefile)
104 AC_CONFIG_HEADERS(config.h)
105 AC_OUTPUT