mirror of
https://github.com/moparisthebest/curl
synced 2024-08-13 17:03:50 -04:00
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).
This commit is contained in:
parent
b0143a2a33
commit
126e7f7253
@ -61,6 +61,7 @@
|
|||||||
use strict;
|
use strict;
|
||||||
|
|
||||||
use Cwd;
|
use Cwd;
|
||||||
|
use Cwd 'abs_path';
|
||||||
|
|
||||||
# Turn on warnings (equivalent to -w, which can't be used with /usr/bin/env)
|
# Turn on warnings (equivalent to -w, which can't be used with /usr/bin/env)
|
||||||
#BEGIN { $^W = 1; }
|
#BEGIN { $^W = 1; }
|
||||||
@ -387,6 +388,10 @@ if (-d $CURLDIR) {
|
|||||||
mydie "$CURLDIR is not a daily source dir or checked out from git!"
|
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-$$";
|
$build="build-$$";
|
||||||
$buildlogname="buildlog-$$";
|
$buildlogname="buildlog-$$";
|
||||||
$buildlog="$pwd/$buildlogname";
|
$buildlog="$pwd/$buildlogname";
|
||||||
@ -459,7 +464,7 @@ if ($git) {
|
|||||||
logit " $_";
|
logit " $_";
|
||||||
}
|
}
|
||||||
|
|
||||||
chdir "$pwd/$CURLDIR";
|
chdir "$CURLDIR";
|
||||||
}
|
}
|
||||||
|
|
||||||
if($nobuildconf) {
|
if($nobuildconf) {
|
||||||
@ -558,7 +563,7 @@ chdir "$pwd/$build";
|
|||||||
|
|
||||||
if ($configurebuild) {
|
if ($configurebuild) {
|
||||||
# run configure script
|
# run configure script
|
||||||
print `../$CURLDIR/configure $confopts 2>&1`;
|
print `$CURLDIR/configure $confopts 2>&1`;
|
||||||
|
|
||||||
if (-f "lib/Makefile") {
|
if (-f "lib/Makefile") {
|
||||||
logit "configure seems to have finished fine";
|
logit "configure seems to have finished fine";
|
||||||
@ -568,26 +573,26 @@ if ($configurebuild) {
|
|||||||
} else {
|
} else {
|
||||||
logit "copying files to build dir ...";
|
logit "copying files to build dir ...";
|
||||||
if (($^O eq 'MSWin32') && ($targetos !~ /netware/)) {
|
if (($^O eq 'MSWin32') && ($targetos !~ /netware/)) {
|
||||||
system("xcopy /s /q ..\\$CURLDIR .");
|
system("xcopy /s /q $CURLDIR .");
|
||||||
system("buildconf.bat");
|
system("buildconf.bat");
|
||||||
}
|
}
|
||||||
elsif ($targetos =~ /netware/) {
|
elsif ($targetos =~ /netware/) {
|
||||||
system("cp -afr ../$CURLDIR/* .");
|
system("cp -afr $CURLDIR/* .");
|
||||||
system("cp -af ../$CURLDIR/Makefile.dist Makefile");
|
system("cp -af $CURLDIR/Makefile.dist Makefile");
|
||||||
system("$make -i -C lib -f Makefile.netware prebuild");
|
system("$make -i -C lib -f Makefile.netware prebuild");
|
||||||
system("$make -i -C src -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");
|
system("$make -i -C ares -f Makefile.netware prebuild");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elsif ($^O eq 'linux') {
|
elsif ($^O eq 'linux') {
|
||||||
system("cp -afr ../$CURLDIR/* .");
|
system("cp -afr $CURLDIR/* .");
|
||||||
system("cp -af ../$CURLDIR/Makefile.dist Makefile");
|
system("cp -af $CURLDIR/Makefile.dist Makefile");
|
||||||
system("cp -af ../$CURLDIR/include/curl/curlbuild.h.dist ./include/curl/curlbuild.h");
|
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 lib -f Makefile.$targetos prebuild");
|
||||||
system("$make -i -C src -f Makefile.$targetos prebuild");
|
system("$make -i -C src -f Makefile.$targetos prebuild");
|
||||||
if (-d "../$CURLDIR/ares") {
|
if (-d "$CURLDIR/ares") {
|
||||||
system("cp -af ../$CURLDIR/ares/ares_build.h.dist ./ares/ares_build.h");
|
system("cp -af $CURLDIR/ares/ares_build.h.dist ./ares/ares_build.h");
|
||||||
system("$make -i -C ares -f Makefile.$targetos prebuild");
|
system("$make -i -C ares -f Makefile.$targetos prebuild");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user