From 126e7f7253988012fdafa3f052214c7fb7805eb0 Mon Sep 17 00:00:00 2001 From: Dan Fandrich Date: Thu, 21 May 2015 09:10:31 +0200 Subject: [PATCH] testcurl.pl: allow source to be in an arbitrary directory This way, the build directory can be located on an entirely different filesystem from the source code (e.g. a tmpfs). --- tests/testcurl.pl | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/tests/testcurl.pl b/tests/testcurl.pl index 2dc3de159..80520bfc9 100755 --- a/tests/testcurl.pl +++ b/tests/testcurl.pl @@ -61,6 +61,7 @@ use strict; use Cwd; +use Cwd 'abs_path'; # Turn on warnings (equivalent to -w, which can't be used with /usr/bin/env) #BEGIN { $^W = 1; } @@ -387,6 +388,10 @@ if (-d $CURLDIR) { mydie "$CURLDIR is not a daily source dir or checked out from git!" } } + +# make the path absolute so we can use it everywhere +$CURLDIR = abs_path("$CURLDIR"); + $build="build-$$"; $buildlogname="buildlog-$$"; $buildlog="$pwd/$buildlogname"; @@ -459,7 +464,7 @@ if ($git) { logit " $_"; } - chdir "$pwd/$CURLDIR"; + chdir "$CURLDIR"; } if($nobuildconf) { @@ -558,7 +563,7 @@ chdir "$pwd/$build"; if ($configurebuild) { # run configure script - print `../$CURLDIR/configure $confopts 2>&1`; + print `$CURLDIR/configure $confopts 2>&1`; if (-f "lib/Makefile") { logit "configure seems to have finished fine"; @@ -568,26 +573,26 @@ if ($configurebuild) { } else { logit "copying files to build dir ..."; if (($^O eq 'MSWin32') && ($targetos !~ /netware/)) { - system("xcopy /s /q ..\\$CURLDIR ."); + system("xcopy /s /q $CURLDIR ."); system("buildconf.bat"); } elsif ($targetos =~ /netware/) { - system("cp -afr ../$CURLDIR/* ."); - system("cp -af ../$CURLDIR/Makefile.dist Makefile"); + system("cp -afr $CURLDIR/* ."); + system("cp -af $CURLDIR/Makefile.dist Makefile"); system("$make -i -C lib -f Makefile.netware prebuild"); system("$make -i -C src -f Makefile.netware prebuild"); - if (-d "../$CURLDIR/ares") { + if (-d "$CURLDIR/ares") { system("$make -i -C ares -f Makefile.netware prebuild"); } } elsif ($^O eq 'linux') { - system("cp -afr ../$CURLDIR/* ."); - system("cp -af ../$CURLDIR/Makefile.dist Makefile"); - system("cp -af ../$CURLDIR/include/curl/curlbuild.h.dist ./include/curl/curlbuild.h"); + system("cp -afr $CURLDIR/* ."); + system("cp -af $CURLDIR/Makefile.dist Makefile"); + system("cp -af $CURLDIR/include/curl/curlbuild.h.dist ./include/curl/curlbuild.h"); system("$make -i -C lib -f Makefile.$targetos prebuild"); system("$make -i -C src -f Makefile.$targetos prebuild"); - if (-d "../$CURLDIR/ares") { - system("cp -af ../$CURLDIR/ares/ares_build.h.dist ./ares/ares_build.h"); + if (-d "$CURLDIR/ares") { + system("cp -af $CURLDIR/ares/ares_build.h.dist ./ares/ares_build.h"); system("$make -i -C ares -f Makefile.$targetos prebuild"); } }