#!/bin/bash set -e function echo_usage { echo "usage: configure [options]" echo " -b " echo " paket: liberic | libmeric" } if [ $# -lt 2 ] then echo_usage exit 1 fi cwd=$(pwd) paket=$1 build=$2 ARCH=i386 # prepare environment # serach for ERiC- directory eric_dir=$(ls -d ERiC-*) case $paket in liberic) eric_version=${eric_dir#ERiC-} ;; libmeric) # checkout build utilities if [ ! -e Make ]; then svn co https://wagnertech.de/svn/projekte/tools/Make fi ln -sf Make/makefile . # load util functions for C/C++ - build . Make/c_configure.sh ;; *) echo "invalid package: $paket" echo_usage exit 1 esac # checkout etc echo "Checkout data" if [ -d src ] then rm -rf src fi if [ -e $paket ] then rm -rf $paket fi rm *.stamp || true mkdir src pushd src svn co -r $build https://wagnertech.de/svn/mebil/etc # check existence of control file ls etc/$paket.control >/dev/null # in parallel write cp script and make.pre echo "#!/bin/bash" > $cwd/cp.sh echo "# mBuild cp script (auto generated)" >> $cwd/cp.sh echo "set -e" >> $cwd/cp.sh echo "# mBuild make.pre script (auto generated)" > $cwd/make.pre echo "project = $paket" >> $cwd/make.pre echo "arch = $ARCH" >> $cwd/make.pre echo "COPY = ./cp.sh" >> $cwd/make.pre echo "_arch = _${ARCH}" >> $cwd/make.pre case $paket in liberic) echo "mkdir -p $paket/usr/lib/ERiC-$eric_version" >> $cwd/cp.sh echo "ln -sf /usr/lib/ERiC-$eric_version $paket/usr/lib/eric" >> $cwd/cp.sh echo "cp -a $cwd/$eric_dir/Linux-i686/lib/* $paket/usr/lib/ERiC-$eric_version/" >> $cwd/cp.sh # copy package control sed "s/%VERSION%/$eric_version-$build/" etc/$paket.control |sed "s/%ARCH%/$ARCH/" >../$paket.control echo "$paket.control written." ;; libmeric) svn co -r $build https://wagnertech.de/svn/mebil/csrc/eric echo "Prepare compile environment" pushd eric ln -sf $cwd/$eric_dir/Linux-i686/Beispiel/ericdemo-cpp/ericdemo/anwendungsfehler* . ln -sf $cwd/$eric_dir/Linux-i686/Beispiel/ericdemo-cpp/ericdemo/eric* . ln -sf $cwd/$eric_dir/Linux-i686/Beispiel/ericdemo-cpp/ericdemo/resolve* . ln -sf $cwd/$eric_dir/Linux-i686/Beispiel/ericdemo-cpp/ericdemo/system* . ln -sf $cwd/$eric_dir/Linux-i686/Beispiel/ericdemo-cpp/ericdemo/datensatz* . ln -sf $cwd/$eric_dir/Linux-i686/Beispiel/ericdemo-cpp/ericdemo/callbackhandler* . popd install_cpp_make eric add_include_dir $cwd/$eric_dir/Linux-i686/include eric echo "mkdir -p $paket/usr/lib" >> $cwd/cp.sh echo "cp src/eric/libmERiC.so $paket/usr/lib/" >> $cwd/cp.sh echo "COMPILE = cd src/eric && make TARGET=libmERiC.so" >> $cwd/make.pre # copy package control sed "s/%BUILD%/$build/" etc/$paket.control |sed "s/%ARCH%/$ARCH/" >../$paket.control echo "$paket.control written." ;; *) echo "invalid package: $paket" echo_usage exit 1 esac popd chmod 755 cp.sh # extract version version=$(grep Version $paket.control |sed "s/Version: //") echo "version = $version" >> $cwd/make.pre echo "configure ended successfully."