jenkins development: jenkins_build.sh restructured

v0.27.3
Robin Mills 11 years ago
parent 7ba53d2e89
commit 04bb957d4b

@ -8,12 +8,15 @@
# - script has build-in defaults for some environment variable # - script has build-in defaults for some environment variable
# #
## ##
result=0
## ##
# functions # functions
run_tests() { run_tests() {
if [ "$tests" == true ]; then if [ "$result" == "0" ]; then
make tests if [ "$tests" == true ]; then
make tests
fi
fi fi
} }
@ -47,11 +50,15 @@ fi
## ##
# set up some defaults (used when running this script from the terminal) # set up some defaults (used when running this script from the terminal)
if [ -z "$tests" ]; then export tests=true ; fi echo "1 target = $target platform = $PLATFORM WORKSPACE = $WORKSPACE"
if [ $PLATFORM == "macosx" -a -z "$macosx" ]; then export macosx=true ; export label=macosx ; fi if [ $PLATFORM == "macosx" -a -z "$macosx" ]; then export macosx=true ; export target=macosx ; fi
if [ $PLATFORM == "cygwin" -a -z "cygwin" ]; then export cygwin=true ; export label=cygwin ; fi if [ $PLATFORM == "linux" -a -z "$linux" ]; then export linux=true ; export target=linux ; fi
if [ $PLATFORM == "linux" -a -z "$linux" ]; then export linux=true ; export label=linux ; fi if [ -z "$cygwin" -a ! -z $CYGWIN ]; then export cygwin=$CYGWIN ; fi
if [ $PLATFORM == "mingw" -a -z "$mingw" ]; then export mingw=true ; export label=mingw ; fi if [ -z "$tests" ]; then export tests=true ; fi
if [ -z "$WORKSPACE" ]; then export WORKSPACE="$0/$PLATFORM" ; fi
if [ -z "$target" ]; then export target=$(basename $(echo $WORKSPACE | sed -E -e 's#\\#/#g')) ; fi
echo "2 target = $target platform = $PLATFORM WORKSPACE = $WORKSPACE"
export PATH=$PATH:/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/usr/lib/pkgconfig:/opt/local/bin:$PWD/usr/bin:/opt/local/bin:/opt/local/sbin:/opt/pkgconfig:bin export PATH=$PATH:/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/usr/lib/pkgconfig:/opt/local/bin:$PWD/usr/bin:/opt/local/bin:/opt/local/sbin:/opt/pkgconfig:bin
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$PWD/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$PWD/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
@ -75,7 +82,7 @@ fi
## ##
# create ./configure # create ./configure
# we need to inspect configure to know if libssh and libcurl are options for this build # we need to inspect configure to know if libssh and libcurl are options for this build
make config # &>/dev/null make config &>/dev/null
## ##
# decide what to do about curl and ssh # decide what to do about curl and ssh
@ -94,58 +101,66 @@ fi
## ##
# what kind of build is this? # what kind of build is this?
NONE=0 build=NONE
UNIX=1
CYGW=2 if [ $PLATFORM == "linux" -a "$target" == "linux" -a "$linux" == "true" ]; then build=UNIX ; fi
MSVC=3 if [ $PLATFORM == "macosx" -a "$target" == "macosx" -a "$macosx" == "true" ]; then build=UNIX ; fi
MING=$NONE if [ $PLATFORM == "cygwin" -a "$target" == "cygwin" -a "$cygwin" == "true" ]; then build=CYGW ; fi
build=$NONE if [ $PLATFORM == "cygwin" -a "$target" == "mingw" -a "$mingw" == "true" ]; then build=MING ; fi
if [ $PLATFORM == "cygwin" -a "$target" == "msvc" -a "$msvc" == "true" ]; then build=MSVC ; fi
if [ $PLATFORM == "linux" -a "$label" == "linux" -a "$linux" == "true" ]; then build=$UNIX ; fi
if [ $PLATFORM == "macosx" -a "$label" == "macosx" -a "$macosx" == "true" ]; then build=$UNIX ; fi echo "3 target = $target platform = $PLATFORM build = $build"
if [ $PLATFORM == "cygwin" -a "$label" == "cygwin" -a "$cygwin" == "true" ]; then build=$CYGW ; fi
if [ $PLATFORM == "cygwin" -a "$label" == "mingw" -a "$mingw" == "true" ]; then build=$MING ; fi
if [ $PLATFORM == "cygwin" -a "$label" == "msvc" -a "$MSVC" == "true" ]; then build=$MSVC ; fi
case "$build" in case "$build" in
"$UNIX" ) UNIX)
echo ------------- echo -------------
echo ./configure --prefix=$PWD/usr $withcurl $withssh echo ./configure --prefix=$PWD/usr $withcurl $withssh
echo ------------- echo -------------
./configure --prefix=$PWD/usr $withcurl $withssh ./configure --prefix=$PWD/usr $withcurl $withssh
make "LDFLAGS=-L${PWD}/usr/lib -L${PWD}/xmpsdk/src/.libs" make "LDFLAGS=-L${PWD}/usr/lib -L${PWD}/xmpsdk/src/.libs"
make install make install
make samples "CXXFLAGS=-I${PWD}/usr/include -I${PWD}/src" "LDFLAGS=-L${PWD}/usr/lib -L${PWD}/xmpsdk/src/.libs -lexiv2" make samples "CXXFLAGS=-I${PWD}/usr/include -I${PWD}/src" "LDFLAGS=-L${PWD}/usr/lib -L${PWD}/xmpsdk/src/.libs -lexiv2"
run_tests result=$?
run_tests
;; ;;
"$CYGW" ) CYGW)
# export LIBS=-lintl # export LIBS=-lintl
# I've given up: # I've given up:
# 1. trying to get Cygwin to build with gettext and friends # 1. trying to get Cygwin to build with gettext and friends
# 2. trying to get Cygwin to install into a local directory # 2. trying to get Cygwin to install into a local directory
./configure --disable-nls $withcurl $withssh ./configure --disable-nls $withcurl $withssh
make make
make install result=$?
make samples make install
run_tests make samples
run_tests
;; ;;
"$MSVC" ) MING)
rm -rf $PWD/bin echo "**************************************"
mkdir $PWD/bin echo " MinGW build not implemented yet. ***"
echo "**************************************"
;;
MSVC)
rm -rf $PWD/bin
mkdir $PWD/bin
PATH=$PATH:/cygdrive/c/Windows/System32 PATH=$PATH:/cygdrive/c/Windows/System32
cmd.exe /c "cd $(cygpath -aw .) && call jenkins_build.bat" cmd.exe /c "cd $(cygpath -aw .) && call jenkins_build.bat"
result=$?
;; ;;
"$NONE") NONE)
echo "*************************************************" echo "**************************************"
echo "*** no build for platform $PLATFORM requested ***" echo "*** no build requested for $target ***"
echo "*************************************************" echo "**************************************"
;; ;;
esac esac
set -v set -v
# That's all Folks! # That's all Folks!
## ##
exit $result

Loading…
Cancel
Save