[Bf-committers] Tinderbox with autotools hack
LarstiQ
bf-committers@blender.org
Tue, 14 Jan 2003 22:55:46 +0100
--zYM0uCDKw75PZbzx
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hello all,
attached is a diff that makes use of the autotoolized build system.
Current problems: uncoditionally runs bootstrap and configure.
Possible solutions: timestamping, stamping, bonsai (wee, overkill)
It also introduces some not-so-nice extra syntax to deal with the
autotools/regular cases.
Hope this is of use to anyone.
LarstiQ
--zYM0uCDKw75PZbzx
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment; filename="tinderbox-autotools.diff"
--- develop/blender/intern/tools/tinderbox/tinderbox-blender.pl 2003-01-07 02:26:30.000000000 +0100
+++ tinderbox-blender-autotools.pl 2003-01-08 04:02:07.000000000 +0100
@@ -85,6 +85,7 @@
$ReportStatus = 1; # Send results to server or not
$BuildOnce = 0; # Build once, don't send results to server
$BuildClassic = 0; # Build classic source
+ $BuildAutotools = 1;# Build with the autotools
#relative path to binary
if ($UNAME eq 'Darwin') {
@@ -106,6 +107,9 @@
# $BinaryName{'blenderplugin'} = 'npBlender3DPlugin.so';
# $BinaryName{'blenderpluginXPCOM'} = 'Blender3DPlugin.so';
}
+ if ($BuildAutotools) {
+ $BinaryName{'blendercreator'} = 'blender';
+ }
# Set these to what makes sense for your system
if ($UNAME eq 'FreeBSD') {
@@ -297,7 +301,11 @@
# Set GuessConfig and ConfigGuess
print LOG "ConfigGuess = $ConfigGuess\n";
- $BuildObjDir = "$ENV{'HOME'}/develop/blender/obj/";
+ if ($BuildAutotools) {
+ $BuildObjDir = "$ENV{'HOME'}/develop/";
+ } else {
+ $BuildObjDir = "$ENV{'HOME'}/develop/blender/obj/";
+ }
open (GETOBJ, "$ConfigGuess 2>&1 |") || die "$ConfigGuess: $!\n";
while (<GETOBJ>) {
$GuessConfig = $_;
@@ -320,24 +328,35 @@
close(PULL);
}
- chdir($Topinterndir) || die "chdir($Topinterndir): $!\n";
- print `pwd` . " -> chdir($Topinterndir)\n";
-
- my $MakeCmd = "$Make MAKE='$Make' all 2>&1";
- print "$MakeCmd\n";
- print LOG "$MakeCmd |\n";
- open(BUILD, "$MakeCmd |\n");
- while (<BUILD>) {
- print $_;
- print LOG $_;
- }
- close(BUILD);
+ if ($BuildAutotools) {
+ chdir("blender") || die "chdir(blender): $!\n";
+ print `pwd` . " -> chdir(blender)\n";
+ system("./bootstrap");
+ $Topsrcdir = $BuildObjName;
+ mkdir($Topsrcdir, 0777);
+ chdir($Topsrcdir) || die "chdir($Topsrcdir): $1\n";
+ print `pwd` . " -> chdir($Topsrcdir)\n";
+ system("../blender/configure");
+ } else {
+ chdir($Topinterndir) || die "chdir($Topinterndir): $!\n";
+ print `pwd` . " -> chdir($Topinterndir)\n";
+
+ my $MakeCmd = "$Make MAKE='$Make' all 2>&1";
+ print "$MakeCmd\n";
+ print LOG "$MakeCmd |\n";
+ open(BUILD, "$MakeCmd |\n");
+ while (<BUILD>) {
+ print $_;
+ print LOG $_;
+ }
+ close(BUILD);
- chdir("$StartDir") || die "Couldn't enter $StartDir";
- chdir("develop") || die "Couldn't enter develop";
+ chdir("$StartDir") || die "Couldn't enter $StartDir";
+ chdir("develop") || die "Couldn't enter develop";
- chdir($Topsrcdir) || die "chdir($Topsrcdir): $!\n";
- print `pwd` . " -> chdir($Topsrcdir)\n";
+ chdir($Topsrcdir) || die "chdir($Topsrcdir): $!\n";
+ print `pwd` . " -> chdir($Topsrcdir)\n";
+ }
@felist = split(/,/, $FE);
--zYM0uCDKw75PZbzx--