1# -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.
3
4AC_PREREQ([2.64])
5AC_INIT(package-unused, version-unused, libmpx)
6
7# -------
8# Options
9# -------
10AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
11AC_ARG_ENABLE(version-specific-runtime-libs,
12[  --enable-version-specific-runtime-libs    Specify that runtime libraries should be installed in a compiler-specific directory ],
13[case "$enableval" in
14 yes) version_specific_libs=yes ;;
15 no)  version_specific_libs=no ;;
16 *)   AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);;
17 esac],
18[version_specific_libs=no])
19AC_MSG_RESULT($version_specific_libs)
20
21# Do not delete or change the following two lines.  For why, see
22# http://gcc.gnu.org/ml/libstdc++/2003-07/msg00451.html
23AC_CANONICAL_SYSTEM
24target_alias=${target_alias-$host_alias}
25AC_SUBST(target_alias)
26
27# See if supported.
28unset LIBMPX_SUPPORTED
29AC_MSG_CHECKING([for target support for Intel MPX runtime library])
30echo "int i[[sizeof (void *) == 4 ? 1 : -1]] = { __x86_64__ };" > conftest.c
31if AC_TRY_COMMAND([${CC} ${CFLAGS} -c -o conftest.o conftest.c 1>&AS_MESSAGE_LOG_FD])
32then
33    LIBMPX_SUPPORTED=no
34else
35    LIBMPX_SUPPORTED=yes
36fi
37rm -f conftest.o conftest.c
38AC_MSG_RESULT($LIBMPX_SUPPORTED)
39AM_CONDITIONAL(LIBMPX_SUPPORTED, [test "x$LIBMPX_SUPPORTED" = "xyes"])
40
41link_libmpx="-lpthread"
42AC_SUBST(link_libmpx)
43
44AM_INIT_AUTOMAKE(foreign no-dist no-dependencies)
45AM_ENABLE_MULTILIB(, ..)
46AM_MAINTAINER_MODE
47
48AC_GNU_SOURCE
49AC_CHECK_FUNCS([secure_getenv])
50
51# Calculate toolexeclibdir
52# Also toolexecdir, though it's only used in toolexeclibdir
53case ${version_specific_libs} in
54  yes)
55    # Need the gcc compiler version to know where to install libraries
56    # and header files if --enable-version-specific-runtime-libs option
57    # is selected.
58    toolexecdir='$(libdir)/gcc/$(target_alias)'
59    toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
60    ;;
61  no)
62    if test -n "$with_cross_host" &&
63       test x"$with_cross_host" != x"no"; then
64      # Install a library built with a cross compiler in tooldir, not libdir.
65      toolexecdir='$(exec_prefix)/$(target_alias)'
66      toolexeclibdir='$(toolexecdir)/lib'
67    else
68      toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
69      toolexeclibdir='$(libdir)'
70    fi
71    multi_os_directory=`$CC -print-multi-os-directory`
72    case $multi_os_directory in
73      .) ;; # Avoid trailing /.
74      *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
75    esac
76    ;;
77esac
78AC_SUBST(toolexecdir)
79AC_SUBST(toolexeclibdir)
80
81# Check for programs.
82m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
83m4_define([_AC_ARG_VAR_PRECIOUS],[])
84AC_PROG_CC
85m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
86
87AM_PROG_CC_C_O
88
89AC_SUBST(CFLAGS)
90
91# Newer automakes demand CCAS and CCASFLAGS.
92: ${CCAS='$(CC)'}
93: ${CCASFLAGS='$(CFLAGS)'}
94AC_SUBST(CCAS)
95AC_SUBST(CCASFLAGS)
96
97AC_CHECK_TOOL(AS, as)
98AC_CHECK_TOOL(AR, ar)
99AC_CHECK_TOOL(RANLIB, ranlib, :)
100
101# Check we may build wrappers library
102echo "test:  bndmov %bnd0, %bnd1" > conftest.s
103if AC_TRY_COMMAND([$AS -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
104then
105    mpx_as=yes
106else
107    mpx_as=no
108    echo "configure: no MPX support fo as" >&AS_MESSAGE_LOG_FD
109fi
110rm -f conftest.o conftest.s
111AM_CONDITIONAL(MPX_AS_SUPPORTED, [test "x$mpx_as" = "xyes"])
112
113# Configure libtool
114AC_LIBTOOL_DLOPEN
115AM_PROG_LIBTOOL
116AC_SUBST(enable_shared)
117AC_SUBST(enable_static)
118
119XCFLAGS="-Wall -Wextra"
120# Add CET specific flags if CET is enabled
121GCC_CET_FLAGS(CET_FLAGS)
122XCFLAGS="$XCFLAGS $CET_FLAGS"
123
124AC_SUBST(XCFLAGS)
125
126if test "${multilib}" = "yes"; then
127  multilib_arg="--enable-multilib"
128else
129  multilib_arg=
130fi
131
132# Determine what GCC version number to use in filesystem paths.
133GCC_BASE_VER
134
135AC_CONFIG_FILES([Makefile libmpx.spec])
136AC_CONFIG_HEADERS(config.h)
137AC_CONFIG_FILES(AC_FOREACH([DIR], [mpxrt mpxwrap], [DIR/Makefile ]),
138  [cat > vpsed$$ << \_EOF
139s!`test -f '$<' || echo '$(srcdir)/'`!!
140_EOF
141   sed -f vpsed$$ $ac_file > tmp$$
142   mv tmp$$ $ac_file
143   rm vpsed$$
144   echo 'MULTISUBDIR =' >> $ac_file
145   ml_norecursion=yes
146   . ${multi_basedir}/config-ml.in
147   AS_UNSET([ml_norecursion])
148])
149
150AC_OUTPUT
151