1 # Copyright (c) 2014 Intel Corporation. All Rights Reserved.
3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions
7 # * Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer.
9 # * Redistributions in binary form must reproduce the above copyright
10 # notice, this list of conditions and the following disclaimer in the
11 # documentation and/or other materials provided with the distribution.
12 # * Neither the name of Intel Corporation nor the names of its
13 # contributors may be used to endorse or promote products derived
14 # from this software without specific prior written permission.
16 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20 # HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 # Process this file with autoconf to produce a configure script, like so:
29 # aclocal -I .. -I ../config && autoconf && automake
31 AC_INIT([MIC Offload Runtime Library], [1.0], ,[liboffloadmic])
34 target_alias=${target_alias-$host_alias}
35 AC_SUBST(target_alias)
37 AM_INIT_AUTOMAKE(foreign no-dist)
42 AC_CONFIG_FILES([Makefile liboffloadmic_host.spec liboffloadmic_target.spec])
43 AM_ENABLE_MULTILIB(, ..)
44 AC_CONFIG_SUBDIRS(plugin)
46 AC_CHECK_HEADERS([mm_malloc.h], [], [AC_MSG_ERROR(["Couldn't find mm_malloc.h"])])
47 AC_CHECK_FUNCS([__secure_getenv secure_getenv])
49 # Get target configure.
50 . ${srcdir}/configure.tgt
51 if test -n "$UNSUPPORTED"; then
52 AC_MSG_ERROR([Configuration ${target} is unsupported])
55 if test "${multilib}" = "yes"; then
56 multilib_arg="--enable-multilib"
61 AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
62 AC_ARG_ENABLE([version-specific-runtime-libs],
63 AC_HELP_STRING([--enable-version-specific-runtime-libs],
64 [Specify that runtime libraries should be installed in a compiler-specific directory]),
66 yes) enable_version_specific_runtime_libs=yes ;;
67 no) enable_version_specific_runtime_libs=no ;;
68 *) AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);;
70 [enable_version_specific_runtime_libs=no])
71 AC_MSG_RESULT($enable_version_specific_runtime_libs)
73 # Make sure liboffloadmic is enabled
74 case "$enable_liboffloadmic" in
78 AC_MSG_ERROR([Liboffloadmic is disabled]) ;;
80 AM_CONDITIONAL(LIBOFFLOADMIC_HOST, [test x"$enable_liboffloadmic" = xhost])
82 GCC_WITH_TOOLEXECLIBDIR
84 # Calculate toolexeclibdir.
85 # Also toolexecdir, though it's only used in toolexeclibdir.
86 case ${enable_version_specific_runtime_libs} in
88 # Need the gcc compiler version to know where to install libraries
89 # and header files if --enable-version-specific-runtime-libs option
91 toolexecdir='$(libdir)/gcc/$(target_alias)'
92 toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
95 if test -n "$with_cross_host" &&
96 test x"$with_cross_host" != x"no"; then
97 # Install a library built with a cross compiler in tooldir, not libdir.
98 toolexecdir='$(exec_prefix)/$(target_alias)'
99 case ${with_toolexeclibdir} in
101 toolexeclibdir='$(toolexecdir)/lib'
104 toolexeclibdir=${with_toolexeclibdir}
108 toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
109 toolexeclibdir='$(libdir)'
111 multi_os_directory=`$CC -print-multi-os-directory`
112 case $multi_os_directory in
113 .) ;; # Avoid trailing /.
114 *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
121 # Forbid libtool to hardcode RPATH, because we want to be able to specify
122 # library search directory using LD_LIBRARY_PATH
123 hardcode_into_libs=no
124 AC_SUBST(toolexecdir)
125 AC_SUBST(toolexeclibdir)
127 AC_SUBST(lt_cv_dlopen_libs)
129 if test $enable_shared = yes; then
130 link_offloadmic_host="-loffloadmic_host %{static: $LIBS}"
131 link_offloadmic_target="-loffloadmic_target %{static: $LIBS}"
133 link_offloadmic_host="-loffloadmic_host $LIBS"
134 link_offloadmic_target="-loffloadmic_target $LIBS"
136 AC_SUBST(link_offloadmic_host)
137 AC_SUBST(link_offloadmic_target)
139 # Determine what GCC version number to use in filesystem paths.