1# Copyright (c) 2014 Intel Corporation. All Rights Reserved. 2# 3# Redistribution and use in source and binary forms, with or without 4# modification, are permitted provided that the following conditions 5# are met: 6# 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. 15# 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. 27 28# Process this file with autoconf to produce a configure script, like so: 29# aclocal -I .. -I ../config && autoconf && automake 30 31AC_INIT([MIC Offload Runtime Library], [1.0], ,[liboffloadmic]) 32 33AC_CANONICAL_SYSTEM 34target_alias=${target_alias-$host_alias} 35AC_SUBST(target_alias) 36 37AM_INIT_AUTOMAKE(foreign no-dist) 38AM_MAINTAINER_MODE 39 40AC_PROG_CC 41AC_PROG_CXX 42AC_CONFIG_FILES([Makefile liboffloadmic_host.spec liboffloadmic_target.spec]) 43AM_ENABLE_MULTILIB(, ..) 44AC_CONFIG_SUBDIRS(plugin) 45AC_FUNC_ALLOCA 46AC_CHECK_HEADERS([mm_malloc.h], [], [AC_MSG_ERROR(["Couldn't find mm_malloc.h"])]) 47AC_CHECK_FUNCS([__secure_getenv secure_getenv]) 48 49# Get target configure. 50. ${srcdir}/configure.tgt 51if test -n "$UNSUPPORTED"; then 52 AC_MSG_ERROR([Configuration ${target} is unsupported]) 53fi 54 55if test "${multilib}" = "yes"; then 56 multilib_arg="--enable-multilib" 57else 58 multilib_arg= 59fi 60 61AC_MSG_CHECKING([for --enable-version-specific-runtime-libs]) 62AC_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]), 65 [case "$enableval" in 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]);; 69 esac], 70 [enable_version_specific_runtime_libs=no]) 71AC_MSG_RESULT($enable_version_specific_runtime_libs) 72 73# Make sure liboffloadmic is enabled 74case "$enable_liboffloadmic" in 75 host | target) 76 ;; 77 *) 78 AC_MSG_ERROR([Liboffloadmic is disabled]) ;; 79esac 80AM_CONDITIONAL(LIBOFFLOADMIC_HOST, [test x"$enable_liboffloadmic" = xhost]) 81 82GCC_WITH_TOOLEXECLIBDIR 83 84# Calculate toolexeclibdir. 85# Also toolexecdir, though it's only used in toolexeclibdir. 86case ${enable_version_specific_runtime_libs} in 87 yes) 88 # Need the gcc compiler version to know where to install libraries 89 # and header files if --enable-version-specific-runtime-libs option 90 # is selected. 91 toolexecdir='$(libdir)/gcc/$(target_alias)' 92 toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)' 93 ;; 94 no) 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 100 no) 101 toolexeclibdir='$(toolexecdir)/lib' 102 ;; 103 *) 104 toolexeclibdir=${with_toolexeclibdir} 105 ;; 106 esac 107 else 108 toolexecdir='$(libdir)/gcc-lib/$(target_alias)' 109 toolexeclibdir='$(libdir)' 110 fi 111 multi_os_directory=`$CC -print-multi-os-directory` 112 case $multi_os_directory in 113 .) ;; # Avoid trailing /. 114 *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;; 115 esac 116 ;; 117esac 118 119AC_LIBTOOL_DLOPEN 120AM_PROG_LIBTOOL 121# Forbid libtool to hardcode RPATH, because we want to be able to specify 122# library search directory using LD_LIBRARY_PATH 123hardcode_into_libs=no 124AC_SUBST(toolexecdir) 125AC_SUBST(toolexeclibdir) 126 127AC_SUBST(lt_cv_dlopen_libs) 128 129if test $enable_shared = yes; then 130 link_offloadmic_host="-loffloadmic_host %{static: $LIBS}" 131 link_offloadmic_target="-loffloadmic_target %{static: $LIBS}" 132else 133 link_offloadmic_host="-loffloadmic_host $LIBS" 134 link_offloadmic_target="-loffloadmic_target $LIBS" 135fi 136AC_SUBST(link_offloadmic_host) 137AC_SUBST(link_offloadmic_target) 138 139# Determine what GCC version number to use in filesystem paths. 140GCC_BASE_VER 141 142# Must be last 143AC_OUTPUT 144