1# Plugin for offload execution on Intel MIC devices.
2#
3# Copyright (C) 2014 Free Software Foundation, Inc.
4#
5# Contributed by Andrey Turetskiy <andrey.turetskiy@intel.com>.
6#
7# This file is part of the GNU Offloading and Multi Processing Library
8# (libgomp).
9#
10# Libgomp is free software; you can redistribute it and/or modify it
11# under the terms of the GNU General Public License as published by
12# the Free Software Foundation; either version 3, or (at your option)
13# any later version.
14#
15# Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
16# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
18# more details.
19#
20# Under Section 7 of GPL version 3, you are granted additional
21# permissions described in the GCC Runtime Library Exception, version
22# 3.1, as published by the Free Software Foundation.
23#
24# You should have received a copy of the GNU General Public License and
25# a copy of the GCC Runtime Library Exception along with this program;
26# see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
27# <http://www.gnu.org/licenses/>.
28
29# Process this file with autoconf to produce a configure script, like so:
30# aclocal -I ../.. -I ../../config && autoconf && automake
31
32AC_PREREQ([2.64])
33AC_INIT([Intel MIC Offload Plugin], [1.0], ,[libgomp-plugin-intelmic])
34
35AC_CONFIG_AUX_DIR(../..)
36
37AC_CANONICAL_SYSTEM
38target_alias=${target_alias-$host_alias}
39AC_SUBST(target_alias)
40
41AM_INIT_AUTOMAKE([1.9.0 foreign no-dist])
42
43AM_MAINTAINER_MODE
44
45AC_PROG_CC
46AC_PROG_CXX
47AC_CONFIG_FILES([Makefile])
48AM_ENABLE_MULTILIB(, ../..)
49
50if test "${multilib}" = "yes"; then
51  multilib_arg="--enable-multilib"
52else
53  multilib_arg=
54fi
55
56# Make sure liboffloadmic is enabled
57case "$enable_liboffloadmic" in
58  host | target)
59    ;;
60  *)
61    AC_MSG_ERROR([Liboffloadmic is disabled]) ;;
62esac
63AM_CONDITIONAL(PLUGIN_HOST, [test x"$enable_liboffloadmic" = xhost])
64
65# Get accel target and path to build or install tree of accel compiler
66accel_search_dir=
67accel_target=
68if test x"$enable_liboffloadmic" = xhost; then
69  for accel in `echo $enable_offload_targets | sed -e 's#,# #g'`; do
70    accel_name=`echo $accel | sed 's/=.*//'`
71    accel_dir=`echo $accel | grep '=' | sed 's/.*=//'`
72    case "$accel_name" in
73      *-intelmic-* | *-intelmicemul-*)
74	accel_target=$accel_name
75	accel_search_dir=$accel_dir
76	;;
77    esac
78  done
79  if test x"$accel_target" = x; then
80    AC_MSG_ERROR([--enable-offload-targets does not contain intelmic target])
81  fi
82fi
83AC_SUBST(accel_search_dir)
84AC_SUBST(accel_target)
85
86AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
87AC_ARG_ENABLE([version-specific-runtime-libs],
88  AC_HELP_STRING([--enable-version-specific-runtime-libs],
89		 [Specify that runtime libraries should be installed in a compiler-specific directory]),
90  [case "$enableval" in
91    yes) enable_version_specific_runtime_libs=yes ;;
92    no)  enable_version_specific_runtime_libs=no ;;
93    *)   AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);;
94   esac],
95  [enable_version_specific_runtime_libs=no])
96AC_MSG_RESULT($enable_version_specific_runtime_libs)
97
98
99# Calculate toolexeclibdir.
100# Also toolexecdir, though it's only used in toolexeclibdir.
101case ${enable_version_specific_runtime_libs} in
102  yes)
103    # Need the gcc compiler version to know where to install libraries
104    # and header files if --enable-version-specific-runtime-libs option
105    # is selected.
106    toolexecdir='$(libdir)/gcc/$(target_alias)'
107    toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
108    ;;
109  no)
110    if test -n "$with_cross_host" &&
111       test x"$with_cross_host" != x"no"; then
112      # Install a library built with a cross compiler in tooldir, not libdir.
113      toolexecdir='$(exec_prefix)/$(target_alias)'
114      toolexeclibdir='$(toolexecdir)/lib'
115    else
116      toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
117      toolexeclibdir='$(libdir)'
118    fi
119    multi_os_directory=`$CC -print-multi-os-directory`
120    case $multi_os_directory in
121      .) ;; # Avoid trailing /.
122      *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
123    esac
124    ;;
125esac
126
127AC_LIBTOOL_DLOPEN
128AM_PROG_LIBTOOL
129# Forbid libtool to hardcode RPATH, because we want to be able to specify
130# library search directory using LD_LIBRARY_PATH
131hardcode_into_libs=no
132AC_SUBST(toolexecdir)
133AC_SUBST(toolexeclibdir)
134
135# Determine what GCC version number to use in filesystem paths.
136GCC_BASE_VER
137
138# Must be last
139AC_OUTPUT
140