|
@@ -12,8 +12,10 @@ prefix="/usr/local"
|
|
|
coi_dir="/opt/intel/mic/coi"
|
|
|
scif_dir="/opt/intel/mic/scif"
|
|
|
mic_host="x86_64-k1om-linux"
|
|
|
-host_params=""
|
|
|
-mic_params=""
|
|
|
+declare -a host_params
|
|
|
+declare -a mic_params
|
|
|
+unset host_params
|
|
|
+unset mic_params
|
|
|
native_mic=0
|
|
|
for arg in "$@"
|
|
|
do
|
|
@@ -33,32 +35,59 @@ do
|
|
|
--enable-native-mic)
|
|
|
native_mic=1
|
|
|
;;
|
|
|
+ --with-compiler=*)
|
|
|
+ compiler="${arg#--with-compiler=}"
|
|
|
+ ;;
|
|
|
--with-mic-param=*)
|
|
|
- mic_params="$mic_params ${arg#--with-mic-param=}"
|
|
|
+ mic_params+=("${arg#--with-mic-param=}")
|
|
|
;;
|
|
|
--with-host-param=*)
|
|
|
- host_params="$host_params ${arg#--with-host-param=}"
|
|
|
+ host_params+=("${arg#--with-host-param=}")
|
|
|
+ ;;
|
|
|
+ --help)
|
|
|
+ cat << EOF
|
|
|
+mic-configure specific options:
|
|
|
+
|
|
|
+ --with-coi-dir=DIR Specify directory that contains
|
|
|
+ device-linux-release/lib/libcoi_device and
|
|
|
+ host-linux-release/lib/libcoi_host and
|
|
|
+ --with-scif-dir=DIR Specify directory that contains
|
|
|
+ device-linux-release/lib/libscif_device and
|
|
|
+ host-linux-release/lib/libscif_host and
|
|
|
+ --mic-host=HOST Specify the precise Phi host to build for
|
|
|
+ (default: k1om)
|
|
|
+ --with-compiler=[icc|gcc]
|
|
|
+ Specify whether to build with icc or with gcc
|
|
|
+ --enable-native-mic Only build the Phi binaries
|
|
|
+ --with-mic-param=--OPTION
|
|
|
+ Pass --OPTION to the Phi configure script
|
|
|
+ --with-host-param=--OPTION
|
|
|
+ Pass --OPTION to the host configure script
|
|
|
+EOF
|
|
|
;;
|
|
|
esac
|
|
|
done
|
|
|
|
|
|
-# Test gcc compiler
|
|
|
-x=$(type -t ${mic_host}-gcc)
|
|
|
-if [ -z "$x" ]
|
|
|
+if [ -z "$compiler" ]
|
|
|
then
|
|
|
- # Test icc compiler
|
|
|
- echo "int main(int argc, char **argv) { return 0; }" > /tmp/icc_$USER_$$.c
|
|
|
- icc -mmic /tmp/icc_$USER_$$.c > /dev/null 2>/tmp/icc_$USER_$$.err
|
|
|
- l=$(grep -c "invalid argument" /tmp/icc_$USER_$$.err)
|
|
|
- if [ "$l" != "0" ]
|
|
|
+ # Test gcc compiler
|
|
|
+ x=$(type -t ${mic_host}-gcc)
|
|
|
+ if [ -z "$x" ]
|
|
|
then
|
|
|
- echo "[error] no compiler found. please add path to either ${mic_host}-gcc or to an enabled mic icc compiler in your PATH"
|
|
|
- exit 1
|
|
|
+ # Test icc compiler
|
|
|
+ echo "int main(int argc, char **argv) { return 0; }" > /tmp/icc_$USER_$$.c
|
|
|
+ icc -mmic /tmp/icc_$USER_$$.c > /dev/null 2>/tmp/icc_$USER_$$.err
|
|
|
+ l=$(grep -c "invalid argument" /tmp/icc_$USER_$$.err)
|
|
|
+ if [ "$l" != "0" ]
|
|
|
+ then
|
|
|
+ echo "[error] no compiler found. please add path to either ${mic_host}-gcc or to an enabled mic icc compiler in your PATH"
|
|
|
+ exit 1
|
|
|
+ else
|
|
|
+ compiler="icc"
|
|
|
+ fi
|
|
|
else
|
|
|
- compiler="icc"
|
|
|
+ compiler="gcc"
|
|
|
fi
|
|
|
-else
|
|
|
- compiler="gcc"
|
|
|
fi
|
|
|
|
|
|
dev_list="host mic"
|
|
@@ -96,23 +125,24 @@ do
|
|
|
fi
|
|
|
fi
|
|
|
|
|
|
- params="--prefix=$prefix/$arch"
|
|
|
+ declare -a params
|
|
|
+ params=("--prefix=$prefix/$arch")
|
|
|
|
|
|
if [ "$native_mic" -eq "0" ]
|
|
|
then
|
|
|
- params="$params --enable-mic --with-coi-dir=$coi_dir --with-scif-dir=$scif_dir"
|
|
|
+ params+=(--enable-mic "--with-coi-dir=$coi_dir" "--with-scif-dir=$scif_dir")
|
|
|
fi
|
|
|
|
|
|
if test x$arch = xmic ; then
|
|
|
- params="$params --disable-build-doc --host=$mic_host"
|
|
|
+ params+=(--disable-build-doc --host=$mic_host)
|
|
|
if [ "$native_mic" -eq "1" ]
|
|
|
then
|
|
|
- params="$params --enable-maxcpus=250"
|
|
|
+ params+=(--enable-maxcpus=250)
|
|
|
else
|
|
|
- params="$params --with-coi-lib-dir=$coi_dir/device-linux-release/lib --with-scif-lib-dir=$scif_dir/device-linux-release/lib"
|
|
|
+ params+=("--with-coi-lib-dir=$coi_dir/device-linux-release/lib" "--with-scif-lib-dir=$scif_dir/device-linux-release/lib")
|
|
|
fi
|
|
|
else
|
|
|
- params="$params --with-coi-lib-dir=$coi_dir/host-linux-release/lib --with-scif-lib-dir=$scif_dir/host-linux-release/lib"
|
|
|
+ params+=("--with-coi-lib-dir=$coi_dir/host-linux-release/lib" "--with-scif-lib-dir=$scif_dir/host-linux-release/lib")
|
|
|
fi
|
|
|
|
|
|
# If the build directory doesn't exist yet, create it
|
|
@@ -128,9 +158,9 @@ do
|
|
|
C_INCLUDE_PATH=$SINK_C_INCLUDE_PATH \
|
|
|
CPLUS_INCLUDE_PATH=$SINK_CPLUS_INCLUDE_PATH \
|
|
|
PKG_CONFIG_PATH=$SINK_PKG_CONFIG_PATH \
|
|
|
- $command "$@" $params $mic_params
|
|
|
+ $command "$@" "${params[@]}" "${mic_params[@]}"
|
|
|
else
|
|
|
- $command "$@" $params $host_params
|
|
|
+ $command "$@" "${params[@]}""${host_params[@]}"
|
|
|
fi
|
|
|
if [ "$?" != 0 ]
|
|
|
then
|