| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 | 
							- #!/bin/bash
 
- ROOT_DIR=$(dirname $0)
 
- cat > ./mic-config.log << EOF
 
- This file was created by StarPU mic-configure
 
-  $ $0 $*
 
- EOF
 
- prefix="/usr/local"
 
- coi_dir="/opt/intel/mic/coi"
 
- scif_dir="/opt/intel/mic/scif"
 
- mic_host="x86_64-k1om-linux"
 
- native_mic=0
 
- for arg in $*
 
- do
 
- 	case $arg in
 
- 		--prefix=*)
 
- 			prefix="${arg#--prefix=}"
 
- 			;;
 
- 		--with-coi-dir=*)
 
- 			coi_dir="${arg#--with-coi-dir=}"
 
- 			;;
 
- 		--with-scif-dir=*)
 
- 			scif_dir="${arg#--with-scif-dir=}"
 
- 			;;
 
- 		--mic-host=*)
 
- 			mic_host="${arg#--mic-host=}"
 
- 			;;
 
- 	        --enable-native-mic)
 
- 		        native_mic=1
 
- 		        ;;
 
- 	esac
 
- done
 
- # Test gcc compiler
 
- x=$(type -t ${mic_host}-gcc)
 
- if [ -z "$x" ]
 
- 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" ]
 
-     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="gcc"
 
- fi
 
- dev_list="host mic"
 
- if [ "$native_mic" -eq "1" ]
 
- then
 
-     dev_list="mic"
 
- fi
 
- for arch in $dev_list #host mic
 
- do
 
- 	# We call the configure script from a build directory further in the
 
- 	# arborescence
 
- 	case $ROOT_DIR in
 
- 		/*) command="${ROOT_DIR}/configure";;
 
- 		*) command="../${ROOT_DIR}/configure";;
 
- 	esac
 
- 	if [ $compiler = "icc" -a "$arch" = "mic" ] ; then
 
- 	    export CC="icc -mmic"
 
- 	    export CXX="icc -mmic"
 
- 	fi
 
- 	params="--with-coi-dir=$coi_dir --with-scif-dir=$scif_dir --prefix=$prefix/$arch"
 
- 	if test x$arch = xmic ; then
 
- 	    if [ "$native_mic" -eq "1" ]
 
- 	    then
 
- 		params="$params --disable-build-doc --with-coi-lib-dir=$coi_dir/device-linux-release/lib --with-scif-lib-dir=$scif_dir/device-linux-release/lib --host=$mic_host --enable-maxcpus=250"
 
- 	    else
 
- 		# TODO: fix hwloc detection to look for another pkg-config place, and not just believe in the host version of hwloc.pc...
 
- 		params="$params --enable-mic --disable-build-doc -without-hwloc --with-coi-lib-dir=$coi_dir/device-linux-release/lib --with-scif-lib-dir=$scif_dir/device-linux-release/lib --host=$mic_host"
 
- 	    fi
 
- 	else
 
- 		params="$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
 
- 	if [ ! -d "build_${arch}" ] ; then
 
- 		mkdir "build_${arch}"
 
- 	fi
 
- 	cd "build_${arch}"
 
- 	if test x$arch = xmic ; then
 
- 		LDFLAGS=-export-dynamic $command $* $params
 
- 	else
 
- 		$command $* $params
 
- 	fi
 
- 	if [ "$?" != 0 ]
 
- 	then
 
- 		exit $?
 
- 	fi
 
- 	cd ..
 
- done
 
- if [ "$native_mic" -eq "1" ]
 
- then
 
- cat > Makefile << EOF
 
- all:
 
- 	\$(MAKE) -C build_mic
 
- clean:
 
- 	\$(MAKE) -C build_mic clean
 
- distclean: clean
 
- 	rm -f Makefile
 
- check:
 
- 	\$(MAKE) -C build_mic check
 
- showcheck:
 
- 	\$(MAKE) -C build_mic showcheck
 
- install:
 
- 	\$(MAKE) -C build_mic install
 
- 	ln -sf "${prefix}/mic/lib/pkgconfig/starpu-1.2.pc" "${prefix}/mic/lib/pkgconfig/starpu-1.2-mic.pc"
 
- EOF
 
- else
 
- cat > Makefile << EOF
 
- all:
 
- 	\$(MAKE) -C build_host
 
- 	\$(MAKE) -C build_mic
 
- clean:
 
- 	\$(MAKE) -C build_host clean
 
- 	\$(MAKE) -C build_mic clean
 
- distclean: clean
 
- 	rm -f Makefile
 
- check:
 
- 	\$(MAKE) -C build_host check
 
- 	\$(MAKE) -C build_mic check
 
- showcheck:
 
- 	\$(MAKE) -C build_host showcheck
 
- 	\$(MAKE) -C build_mic showcheck
 
- install:
 
- 	\$(MAKE) -C build_host install
 
- 	\$(MAKE) -C build_mic install
 
- 	ln -sf "${prefix}/mic/lib/pkgconfig/starpu-1.2.pc" "${prefix}/mic/lib/pkgconfig/starpu-1.2-mic.pc"
 
- EOF
 
- fi
 
 
  |