From 01dc7e145ae18ee678ac03beeed469cdcb5e5798 Mon Sep 17 00:00:00 2001 From: mquinson Date: Tue, 22 Dec 2009 17:47:00 +0000 Subject: [PATCH] split up config and function definitions; if ~/simgrid-svn/buildtools/scripts/simgrid_build.conf does not exist, get config from ~/.simgrid_build.conf git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6930 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- buildtools/scripts/make_dist.sh | 8 ++- buildtools/scripts/simgrid_build.conf | 72 +------------------ buildtools/scripts/simgrid_build.functions | 72 +++++++++++++++++++ .../scripts/test_dist_with_autotools.sh | 7 +- buildtools/scripts/test_dist_with_cmake.sh | 7 +- 5 files changed, 90 insertions(+), 76 deletions(-) create mode 100644 buildtools/scripts/simgrid_build.functions diff --git a/buildtools/scripts/make_dist.sh b/buildtools/scripts/make_dist.sh index 4bdfc3921c..beb084f728 100755 --- a/buildtools/scripts/make_dist.sh +++ b/buildtools/scripts/make_dist.sh @@ -2,7 +2,13 @@ # This script creates a new dist archive from the svn set -e # fail fast on errors -source ~/simgrid-svn/buildtools/scripts/simgrid_build.conf # get config + +# get config +if [ -e ~/simgrid-svn/buildtools/scripts/simgrid_build.conf ] ; then + source ~/simgrid-svn/buildtools/scripts/simgrid_build.conf +else + source ~/.simgrid_build.conf +fi echo "get Linux dependencies" sudo aptitude install -y libtool automake1.10 autoconf libgcj10-dev gcc g++ bash flex flexml doxygen bibtex bibtool iconv bibtex2html addr2line valgrind transfig diff --git a/buildtools/scripts/simgrid_build.conf b/buildtools/scripts/simgrid_build.conf index 0e92d1b92f..ae3a339357 100644 --- a/buildtools/scripts/simgrid_build.conf +++ b/buildtools/scripts/simgrid_build.conf @@ -7,75 +7,5 @@ SIMGRID_SVN_ROOT=~/simgrid-svn # Root of build directories and so on SIMGRID_BASEDIR=~/simgrid - - ############ Do not change anything below, unless your first name is Martin or Pierre ############## - -# get_version: define the version number of the svn into a version variable -get_version() { - if [ x$version = x ] ; then - cd ${SIMGRID_SVN_ROOT} - svn up - version="simgrid-3.3.4-svn-r"`svnversion` - export version - fi -} - -# wait_archive: wait until the archive gets defined into the right position -wait_archive() { - while [ ! -e ${SIMGRID_BASEDIR}/${version}.tar.gz ] ; do - echo ${SIMGRID_BASEDIR}/${version}.tar.gz not found. Wait five seconds. - sleep 5 - done -} - -# make_dist: rebuild an archive from the svn -make_dist() { - get_version - if [ ! -e ${SIMGRID_BASEDIR}/${version}.tar.gz ] ; then - cd ${SIMGRID_BASEDIR} - echo "rebuild the missing files for compilation" - if [ ! -e configure ] ; then - ./bootstrap - fi - if [ ! -e Makefile ] ; then - # Disable compilation optim to make it built faster - ./configure --enable-maintainer-mode --disable-compile-optimizations - fi - echo "Make the archive" - make all dist - - echo "Copy the archive in position" - mkdir -p ${SIMGRID_BASEDIR} - mv ${version}.tar.gz ${SIMGRID_BASEDIR} - else - echo "${SIMGRID_BASEDIR}/${version}.tar.gz already exists. Don't rebuild" - fi -} - -# clean_node: remove everything about this node -clean_node() { - OS=`uname` - node=`uname -n` - # OS specific working directory - BUILDDIR=${SIMGRID_BASEDIR}/$OS/$node/$version - export BUILDDIR - - # Clean any leftover from previous install - if [ -e $BUILDDIR ] ; then - echo "remove old directory $BUILDDIR" - rm -rf $BUILDDIR - fi - mkdir -p $BUILDDIR -} - -# open_archive: wait for archive to be built, cleanup previous -open_archive() { - get_version - clean_node - wait_archive - cd $BUILDDIR/.. - tar xfz ${SIMGRID_BASEDIR}/${version}.tar.gz - cd $BUILDDIR -} - +source ${SIMGRID_SVN_ROOT}/buildtools/scripts/simgrid_build.functions diff --git a/buildtools/scripts/simgrid_build.functions b/buildtools/scripts/simgrid_build.functions new file mode 100644 index 0000000000..5c1c53aae0 --- /dev/null +++ b/buildtools/scripts/simgrid_build.functions @@ -0,0 +1,72 @@ +# This file defines a bunch of useful functions to automatize the build of SimGrid. + + + +# get_version: define the version number of the svn into a version variable +get_version() { + if [ x$version = x ] ; then + cd ${SIMGRID_SVN_ROOT} + svn up + version="simgrid-3.3.4-svn-r"`svnversion` + export version + fi +} + +# wait_archive: wait until the archive gets defined into the right position +wait_archive() { + while [ ! -e ${SIMGRID_BASEDIR}/${version}.tar.gz ] ; do + echo ${SIMGRID_BASEDIR}/${version}.tar.gz not found. Wait five seconds. + sleep 5 + done +} + +# make_dist: rebuild an archive from the svn +make_dist() { + get_version + if [ ! -e ${SIMGRID_BASEDIR}/${version}.tar.gz ] ; then + cd ${SIMGRID_BASEDIR} + echo "rebuild the missing files for compilation" + if [ ! -e configure ] ; then + ./bootstrap + fi + if [ ! -e Makefile ] ; then + # Disable compilation optim to make it built faster + ./configure --enable-maintainer-mode --disable-compile-optimizations + fi + echo "Make the archive" + make all dist + + echo "Copy the archive in position" + mkdir -p ${SIMGRID_BASEDIR} + mv ${version}.tar.gz ${SIMGRID_BASEDIR} + else + echo "${SIMGRID_BASEDIR}/${version}.tar.gz already exists. Don't rebuild" + fi +} + +# clean_node: remove everything about this node +clean_node() { + OS=`uname` + node=`uname -n` + # OS specific working directory + BUILDDIR=${SIMGRID_BASEDIR}/$OS/$node/$version + export BUILDDIR + + # Clean any leftover from previous install + if [ -e $BUILDDIR ] ; then + echo "remove old directory $BUILDDIR" + rm -rf $BUILDDIR + fi + mkdir -p $BUILDDIR +} + +# open_archive: wait for archive to be built, cleanup previous +open_archive() { + get_version + clean_node + wait_archive + cd $BUILDDIR/.. + tar xfz ${SIMGRID_BASEDIR}/${version}.tar.gz + cd $BUILDDIR +} + diff --git a/buildtools/scripts/test_dist_with_autotools.sh b/buildtools/scripts/test_dist_with_autotools.sh index c773f45b5c..7b9d7597f7 100755 --- a/buildtools/scripts/test_dist_with_autotools.sh +++ b/buildtools/scripts/test_dist_with_autotools.sh @@ -2,8 +2,11 @@ # This script waits that the make_dist script finishes building the right archive in ~/simgrid # and then builds it using the autotools - -source ~/simgrid-svn/buildtools/scripts/simgrid_build.conf +if [ -e ~/simgrid-svn/buildtools/scripts/simgrid_build.conf ] ; then + source ~/simgrid-svn/buildtools/scripts/simgrid_build.conf +else + source ~/.simgrid_build.conf +fi open_archive if [ ! -e Makefile ] ; then diff --git a/buildtools/scripts/test_dist_with_cmake.sh b/buildtools/scripts/test_dist_with_cmake.sh index 034be4526f..be5483949d 100755 --- a/buildtools/scripts/test_dist_with_cmake.sh +++ b/buildtools/scripts/test_dist_with_cmake.sh @@ -2,8 +2,11 @@ # This script waits that the make_dist script finishes building the right archive in ~/simgrid # and then builds it using cmake. Warning, cmake is only a wrapper for now, you still need the autotools - -source ~/simgrid-svn/buildtools/scripts/simgrid_build.conf +if [ -e ~/simgrid-svn/buildtools/scripts/simgrid_build.conf ] ; then + source ~/simgrid-svn/buildtools/scripts/simgrid_build.conf +else + source ~/.simgrid_build.conf +fi open_archive -- 2.20.1