Alexander Barton : platformtest.sh: Allow using separate source and build trees
Module: ngircd.git Branch: master Commit: 2560e5f1560b6b4a225e77de67876a588543c53d URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=2560e5f15... Author: Alexander Barton <alex@barton.de> Date: Sat Jan 11 01:33:24 2014 +0100 platformtest.sh: Allow using separate source and build trees Now you can call platformtest.sh using its complete path name from an other directory which is then used for building. See <http://www.gnu.org/software/automake/manual/html_node/VPATH-Builds.html> Please not that the build system itself is still (re-)genrated in the original source tree. This can be avoided by passing the "-x" switch to the platformtest.sh script. --- contrib/platformtest.sh | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/contrib/platformtest.sh b/contrib/platformtest.sh index f34a889..1067a6e 100755 --- a/contrib/platformtest.sh +++ b/contrib/platformtest.sh @@ -29,6 +29,9 @@ R_MAKE= R_CHECK= R_RUN= +SRC_D=`dirname "$0"` +MY_D="$PWD" + [ -n "$MAKE" ] || MAKE="make" export MAKE CC @@ -52,35 +55,41 @@ while [ $# -gt 0 ]; do done echo "$NAME: Checking ngIRCd base source directory ..." -grep "ngIRCd" ./ChangeLog >/dev/null 2>&1 +grep "ngIRCd" "$SRC_D/ChangeLog" >/dev/null 2>&1 if [ $? -ne 0 ]; then - grep "ngIRCd" ../ChangeLog >/dev/null 2>&1 + grep "ngIRCd" "$SRC_D/../ChangeLog" >/dev/null 2>&1 if [ $? -ne 0 ]; then echo "$NAME: ngIRCd base source directory not found!?" exit 1 fi - cd .. + SRC_D="$SRC_D/.." fi +echo "$NAME: - source directory: $SRC_D" +echo "$NAME: - working directory: $MY_D" echo "$NAME: Checking for GIT tree ..." -if [ -d .git ]; then +if [ -d "$SRC_D/.git" ]; then echo "$NAME: Checking for \"git\" command ..." git version >/dev/null 2>&1 if [ $? -eq 0 -a -n "$CLEAN" ]; then echo "$NAME: Running \"git clean\" ..." + cd "$SRC_D" || exit 1 [ -n "$VERBOSE" ] && git clean -dxf || git clean -dxf >/dev/null + cd "$MY_D" || exit 1 fi fi -echo "$NAME: Checking for \"./configure\" script ..." -if [ ! -r ./configure ]; then - echo "$NAME: Running \"./autogen.sh\" ..." +echo "$NAME: Checking for \"$SRC_D/configure\" script ..." +if [ ! -r "$SRC_D/configure" ]; then + echo "$NAME: Running \"$SRC_D/autogen.sh\" ..." + cd "$SRC_D" || exit 1 [ -n "$VERBOSE" ] && ./autogen.sh || ./autogen.sh >/dev/null + cd "$MY_D" || exit 1 fi -if [ -r ./configure ]; then - echo "$NAME: Running \"./configure\" script ..." - [ -n "$VERBOSE" ] && ./configure || ./configure >/dev/null +if [ -r "$SRC_D/configure" ]; then + echo "$NAME: Running \"$SRC_D/configure\" script ..." + [ -n "$VERBOSE" ] && "$SRC_D/configure" -C || "$SRC_D/configure" -C >/dev/null if [ $? -eq 0 -a -r ./Makefile ]; then R_CONFIGURE=1 echo "$NAME: Running \"$MAKE\" ..."
Teilnehmer (1)
-
alex@arthur.barton.de