Skip to content

Commit

Permalink
testcurl.pl: allow source to be in an arbitrary directory
Browse files Browse the repository at this point in the history
This way, the build directory can be located on an entirely different
filesystem from the source code (e.g. a tmpfs).
  • Loading branch information
dfandrich committed May 21, 2015
1 parent b0143a2 commit 126e7f7
Showing 1 changed file with 16 additions and 11 deletions.
27 changes: 16 additions & 11 deletions tests/testcurl.pl
Expand Up @@ -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; }
Expand Down Expand Up @@ -387,6 +388,10 @@ sub get_host_triplet {
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";
Expand Down Expand Up @@ -459,7 +464,7 @@ sub get_host_triplet {
logit " $_";
}

chdir "$pwd/$CURLDIR";
chdir "$CURLDIR";
}

if($nobuildconf) {
Expand Down Expand Up @@ -558,7 +563,7 @@ sub findinpath {

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";
Expand All @@ -568,26 +573,26 @@ sub findinpath {
} 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");
}
}
Expand Down

0 comments on commit 126e7f7

Please sign in to comment.