diff options
author | RĂ¼diger Timm <rt@openoffice.org> | 2005-03-29 11:03:00 +0000 |
---|---|---|
committer | RĂ¼diger Timm <rt@openoffice.org> | 2005-03-29 11:03:00 +0000 |
commit | f52a5a617594cef5424e124a9fc4ce4985e28397 (patch) | |
tree | 437f60222b4f02ec793833aa705ab7b512608a18 /odk/configure.pl | |
parent | 49fad317a6885cc685c94b55f500553dc666c966 (diff) |
INTEGRATION: CWS sdkbugfix02 (1.9.8); FILE MERGED
2005/03/24 16:44:25 jsc 1.9.8.6: #i39684# workaround cd-
2005/03/23 10:35:37 jsc 1.9.8.5: #i39684# adapt sdk directory search
2005/03/21 12:19:47 jsc 1.9.8.4: i39684# adapt path to sdk
2005/03/18 09:29:48 jsc 1.9.8.3: #i39684# adapt path to config.guess to work from everywhere, not only in sdk root dir
2005/03/17 09:29:24 jsc 1.9.8.2: RESYNC: (1.9-1.10); FILE MERGED
2005/03/03 15:43:50 jsc 1.9.8.1: #41142# special handling of make (gmake) under FreeBSD
Diffstat (limited to 'odk/configure.pl')
-rw-r--r-- | odk/configure.pl | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/odk/configure.pl b/odk/configure.pl index e6e373976920..8ab7878c3c44 100644 --- a/odk/configure.pl +++ b/odk/configure.pl @@ -6,13 +6,14 @@ use IO::File; -$main::OO_SDK_NAME=readSDKName(); -$main::currentWorkingDir = `pwd`; -chop ($main::currentWorkingDir); -$main::operatingSystem = `./config.guess | cut -d"-" -f3,4`; +$currentdir=`/bin/pwd`; +$main::sdkpath = `(cd $ARGV[0] && pwd && cd $currentdir ) | head -n 1`; +chop ($main::sdkpath); +$main::OO_SDK_NAME=readSDKName($main::sdkpath); +$main::operatingSystem = `$main::sdkpath/config.guess | cut -d"-" -f3,4`; chop ($main::operatingSystem); $main::OO_SDK_HOME = ""; -$main::OO_SDK_HOME_SUGGESTION = $main::currentWorkingDir; +$main::OO_SDK_HOME_SUGGESTION = $main::sdkpath; $main::OFFICE_HOME = ""; $main::OFFICE_HOME_SUGGESTION = searchprog("soffice"); @@ -43,7 +44,12 @@ if ( ! $main::OFFICE_HOME_SUGGESTION eq "" ) } $main::OO_SDK_MAKE_HOME = ""; -$main::OO_SDK_MAKE_HOME_SUGGESTION = searchprog("make"); +$main::makeName = "make"; +if ( $main::operatingSystem eq "FreeBSD" ) +{ + $main::makeName = "gmake"; +} +$main::OO_SDK_MAKE_HOME_SUGGESTION = searchprog($main::makeName); $main::makeVersion = "3.79.1"; $main::correctVersion = 0; @@ -137,7 +143,7 @@ while ( (! -d "$main::OFFICE_HOME" ) || # prepare GNU make path while ( (!$main::correctVersion) && ((! -d "$main::OO_SDK_MAKE_HOME" ) || - ((-d "$main::OO_SDK_MAKE_HOME") && (! -e "$main::OO_SDK_MAKE_HOME/make"))) ) + ((-d "$main::OO_SDK_MAKE_HOME") && (! -e "$main::OO_SDK_MAKE_HOME/$main::makeName"))) ) { print " Enter GNU make ($main::makeVersion or higher) tools directory [$main::OO_SDK_MAKE_HOME_SUGGESTION]: "; $main::OO_SDK_MAKE_HOME = readStdIn(); @@ -147,14 +153,14 @@ while ( (!$main::correctVersion) && $main::OO_SDK_MAKE_HOME = $main::OO_SDK_MAKE_HOME_SUGGESTION; } if ( (! -d "$main::OO_SDK_MAKE_HOME") || - ((-d "$main::OO_SDK_MAKE_HOME") && (! -e "$main::OO_SDK_MAKE_HOME/make")) ) + ((-d "$main::OO_SDK_MAKE_HOME") && (! -e "$main::OO_SDK_MAKE_HOME/$main::makeName")) ) { $main::OO_SDK_MAKE_HOME = ""; print " Error: GNU make is required, please specify a GNU make tools directory.\n"; } else { #check version - my $testVersion = `$OO_SDK_MAKE_HOME/make --version`; + my $testVersion = `$OO_SDK_MAKE_HOME/$main::makeName --version`; if ( $testVersion eq "") { print " Set the environment variable OO_SDK_MAKE_HOME to your GNU build tools directory.\n"; @@ -165,10 +171,10 @@ while ( (!$main::correctVersion) && { $testVersion = $1; } - $main::correctVersion = testVersion($main::makeVersion, $testVersion, "$main::OO_SDK_MAKE_HOME/make", 1); + $main::correctVersion = testVersion($main::makeVersion, $testVersion, "$main::OO_SDK_MAKE_HOME/$main::makeName", 1); if ( !$main::correctVersion ) { - print " The 'make' command found at '$main::OO_SDK_MAKE_HOME' has a wrong version\n"; + print " The '$main::makeName' command found at '$main::OO_SDK_MAKE_HOME' has a wrong version\n"; $main::OO_SDK_MAKE_HOME = ""; } } @@ -418,10 +424,10 @@ while ( $main::SDK_AUTO_DEPLOYMENT eq "" || } prepareScriptFile("setsdkenv_unix.sh.in", "setsdkenv_unix.sh", 1); -chmod 0644, "$main::currentWorkingDir/setsdkenv_unix.sh"; +chmod 0644, "$main::sdkpath/setsdkenv_unix.sh"; prepareScriptFile("setsdkenv_unix.csh.in", "setsdkenv_unix.csh", 2); -chmod 0644, "$main::currentWorkingDir/setsdkenv_unix.csh"; +chmod 0644, "$main::sdkpath/setsdkenv_unix.csh"; print "\n"; print " *********************************************************************\n"; @@ -515,7 +521,9 @@ sub testVersion sub readSDKName { - my $mkfilename = "./settings/dk.mk"; + my $sdkpath = shift; + my $mkfilename = "$sdkpath/settings/dk.mk"; + open ( FILEIN, $mkfilename ) || die "ERROR: could not open '$mkfilename' for reading"; @lines = <FILEIN>; @@ -551,8 +559,8 @@ sub prepareScriptFile() # 2 = csh my $shellMode = shift; - open ( FILEIN, "$main::currentWorkingDir/$inputFile" ) || die "\nERROR: could not open '$main::currentWorkingDir/$inputFile' for reading"; - open ( FILEOUT, ">$main::currentWorkingDir/$outputFile" ) || die "\nERROR: could not open '$main::currentWorkingDir/$outputFile' for writing"; + open ( FILEIN, "$main::sdkpath/$inputFile" ) || die "\nERROR: could not open '$main::sdkpath/$inputFile' for reading"; + open ( FILEOUT, ">$main::sdkpath/$outputFile" ) || die "\nERROR: could not open '$main::sdkpath/$outputFile' for writing"; while ( <FILEIN> ) { |