summaryrefslogtreecommitdiff
path: root/odk/configure.pl
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2005-06-17 08:37:25 +0000
committerOliver Bolte <obo@openoffice.org>2005-06-17 08:37:25 +0000
commitfd30eb18109344e4852efaa453d8e3318bebb54a (patch)
tree9a85adf54412ab1d87fe386fa23d6b3a8a2622ca /odk/configure.pl
parentcdd1edd5f7deb2b501e2ebd669b5470c327a0e58 (diff)
INTEGRATION: CWS sb31 (1.11.4); FILE MERGED
2005/06/02 13:20:43 sb 1.11.4.2: RESYNC: (1.11-1.12); FILE MERGED 2005/05/04 12:51:20 sb 1.11.4.1: #121393# Adapted the SDK to work with either an Office or a URE.
Diffstat (limited to 'odk/configure.pl')
-rw-r--r--odk/configure.pl159
1 files changed, 103 insertions, 56 deletions
diff --git a/odk/configure.pl b/odk/configure.pl
index aa6e318782b1..2db43545e077 100644
--- a/odk/configure.pl
+++ b/odk/configure.pl
@@ -15,33 +15,12 @@ chop ($main::operatingSystem);
$main::OO_SDK_HOME = "";
$main::OO_SDK_HOME_SUGGESTION = $main::sdkpath;
+$main::OFFICE_OR_URE = "";
+$main::OFFICE_OR_URE_SUGGESTION = "Office";
+
$main::OFFICE_HOME = "";
-$main::OFFICE_HOME_SUGGESTION = searchprog("soffice");
-if ( ! $main::OFFICE_HOME_SUGGESTION eq "" )
-{
- my $tmpOffice = readlink "$main::OFFICE_HOME_SUGGESTION/soffice";
- if ( $tmpOffice eq "" )
- {
- $tmpOffice = "$main::OFFICE_HOME_SUGGESTION/soffice";
- }
-
- my $offset = rindex($tmpOffice, "/program/soffice");
- if ( $offset != -1 )
- {
- $main::OFFICE_HOME_SUGGESTION = substr($tmpOffice, 0, $offset);
- } else
- {
- $offset = rindex($tmpOffice, "/soffice");
- if ( $offset != -1 )
- {
- $main::OFFICE_HOME_SUGGESTION = substr($tmpOffice, 0, $offset);
- } else
- {
- $main::OFFICE_HOME_SUGGESTION = "";
- }
- }
-}
+$main::OO_SDK_URE_HOME = "";
$main::OO_SDK_MAKE_HOME = "";
$main::makeName = "make";
@@ -104,41 +83,101 @@ while ( (! -d "$main::OO_SDK_HOME" ) ||
}
}
-# prepare Office path
-while ( (! -d "$main::OFFICE_HOME" ) ||
- ((-d "$main::OFFICE_HOME") && (! -d "$main::OFFICE_HOME/program")) )
+# Office or URE:
+while ($main::OFFICE_OR_URE ne "office" && $main::OFFICE_OR_URE ne "ure")
{
- print " Enter the Office installation directory [$main::OFFICE_HOME_SUGGESTION]: ";
- $main::OFFICE_HOME = readStdIn();
- chop($main::OFFICE_HOME);
- if ( $main::OFFICE_HOME eq "" )
- {
- $main::OFFICE_HOME = $main::OFFICE_HOME_SUGGESTION;
- }
+ print " Use an installed Office or an installed UNO Runtime Environment",
+ " (Office/URE) [$main::OFFICE_OR_URE_SUGGESTION]: ";
+ $main::OFFICE_OR_URE = <STDIN>;
+ chop $main::OFFICE_OR_URE;
+ $main::OFFICE_OR_URE = $main::OFFICE_OR_URE_SUGGESTION if
+ $main::OFFICE_OR_URE eq "";
+ $main::OFFICE_OR_URE = lc $main::OFFICE_OR_URE;
+}
- if ( ! -d "$main::OFFICE_HOME" )
- {
- $main::OFFICE_HOME = "";
- print " Error: An office installation is required, please specify the path to a valid installation.\n";
- } else
+if ( $main::OFFICE_OR_URE eq "office" )
+{
+ # prepare Office path
+ $main::OFFICE_HOME_SUGGESTION = searchprog("soffice");
+ if ( ! $main::OFFICE_HOME_SUGGESTION eq "" )
{
- # special work for a network installation, no prgram directory but a link to the soffice binary
- if ( (! -d "$main::OFFICE_HOME/program") && (-e "$main::OFFICE_HOME/soffice") )
+ my $tmpOffice = readlink "$main::OFFICE_HOME_SUGGESTION/soffice";
+
+ if ( $tmpOffice eq "" )
{
- my $soserver = `ls -l $OFFICE_HOME_SUGGESTION/soffice | sed -n 's/.* -> //p'`;
- $soserver= substr($soserver, 0, rindex($soserver, "program") - 1);
+ $tmpOffice = "$main::OFFICE_HOME_SUGGESTION/soffice";
+ }
- if ( ! -d $soserver )
+ my $offset = rindex($tmpOffice, "/program/soffice");
+ if ( $offset != -1 )
+ {
+ $main::OFFICE_HOME_SUGGESTION = substr($tmpOffice, 0, $offset);
+ } else
+ {
+ $offset = rindex($tmpOffice, "/soffice");
+ if ( $offset != -1 )
{
- $main::OFFICE_HOME = "";
- print " Error: An office installation is required, please specify the path to a valid installation.\n";
+ $main::OFFICE_HOME_SUGGESTION = substr($tmpOffice, 0, $offset);
} else
{
- $main::OFFICE_HOME = $soserver;
+ $main::OFFICE_HOME_SUGGESTION = "";
+ }
+ }
+ }
+ while ( (! -d "$main::OFFICE_HOME" ) ||
+ ((-d "$main::OFFICE_HOME") && (! -d "$main::OFFICE_HOME/program")) )
+ {
+ print " Enter the Office installation directory [$main::OFFICE_HOME_SUGGESTION]: ";
+ $main::OFFICE_HOME = readStdIn();
+ chop($main::OFFICE_HOME);
+ if ( $main::OFFICE_HOME eq "" )
+ {
+ $main::OFFICE_HOME = $main::OFFICE_HOME_SUGGESTION;
+ }
+
+ if ( ! -d "$main::OFFICE_HOME" )
+ {
+ $main::OFFICE_HOME = "";
+ print " Error: An office installation is required, please specify the path to a valid installation.\n";
+ } else
+ {
+ # special work for a network installation, no prgram directory but a link to the soffice binary
+ if ( (! -d "$main::OFFICE_HOME/program") && (-e "$main::OFFICE_HOME/soffice") )
+ {
+ my $soserver = `ls -l $OFFICE_HOME_SUGGESTION/soffice | sed -n 's/.* -> //p'`;
+ $soserver= substr($soserver, 0, rindex($soserver, "program") - 1);
+
+ if ( ! -d $soserver )
+ {
+ $main::OFFICE_HOME = "";
+ print " Error: An office installation is required, please specify the path to a valid installation.\n";
+ } else
+ {
+ $main::OFFICE_HOME = $soserver;
+ }
}
}
}
}
+else
+{
+ # prepare URE path
+ $main::OO_SDK_URE_HOME_SUGGESTION = "/opt/openoffice.org/ure";
+ $main::OO_SDK_URE_HOME_SUGGESTION = "" unless
+ -e "$main::OO_SDK_URE_HOME_SUGGESTION/bin/uno";
+ for (;;)
+ {
+ print " Enter the URE installation directory",
+ " [$main::OO_SDK_URE_HOME_SUGGESTION]: ";
+ $main::OO_SDK_URE_HOME = readStdIn();
+ chop $main::OO_SDK_URE_HOME;
+ $main::OO_SDK_URE_HOME = $main::OO_SDK_URE_HOME_SUGGESTION if
+ $main::OO_SDK_URE_HOME eq "" &&
+ $main::OO_SDK_URE_HOME_SUGGESTION ne "";
+ last if -e "$main::OO_SDK_URE_HOME/bin/uno";
+ print " Error: A valid URE installation is required.\n";
+ }
+}
# prepare GNU make path
while ( (!$main::correctVersion) &&
@@ -410,18 +449,25 @@ while ( (!$main::skipOutputDir) &&
}
# prepare auto deployment
-while ( $main::SDK_AUTO_DEPLOYMENT eq "" ||
- ((! $main::SDK_AUTO_DEPLOYMENT eq "YES") &&
- (! $main::SDK_AUTO_DEPLOYMENT eq "NO")) )
+if ( $main::OFFICE_OR_URE eq "office" )
{
- print " Automatic deployment of UNO components (YES/NO) [$main::SDK_AUTO_DEPLOYMENT_SUGGESTION]: ";
- $main::SDK_AUTO_DEPLOYMENT = <STDIN>;
- chop($main::SDK_AUTO_DEPLOYMENT);
- if ( $main::SDK_AUTO_DEPLOYMENT eq "" )
+ while ( $main::SDK_AUTO_DEPLOYMENT eq "" ||
+ ((! $main::SDK_AUTO_DEPLOYMENT eq "YES") &&
+ (! $main::SDK_AUTO_DEPLOYMENT eq "NO")) )
{
- $main::SDK_AUTO_DEPLOYMENT = $main::SDK_AUTO_DEPLOYMENT_SUGGESTION;
+ print " Automatic deployment of UNO components (YES/NO) [$main::SDK_AUTO_DEPLOYMENT_SUGGESTION]: ";
+ $main::SDK_AUTO_DEPLOYMENT = <STDIN>;
+ chop($main::SDK_AUTO_DEPLOYMENT);
+ if ( $main::SDK_AUTO_DEPLOYMENT eq "" )
+ {
+ $main::SDK_AUTO_DEPLOYMENT = $main::SDK_AUTO_DEPLOYMENT_SUGGESTION;
+ }
}
}
+else
+{
+ $main::SDK_AUTO_DEPLOYMENT = "NO";
+}
prepareScriptFile("setsdkenv_unix.sh.in", "setsdkenv_unix.sh", 1);
chmod 0644, "$main::sdkpath/setsdkenv_unix.sh";
@@ -567,6 +613,7 @@ sub prepareScriptFile()
$_ =~ s#\@OO_SDK_NAME\@#$main::OO_SDK_NAME#go;
$_ =~ s#\@OO_SDK_HOME\@#$main::OO_SDK_HOME#go;
$_ =~ s#\@OFFICE_HOME\@#$main::OFFICE_HOME#go;
+ $_ =~ s#\@OO_SDK_URE_HOME\@#$main::OO_SDK_URE_HOME#go;
$_ =~ s#\@OO_SDK_MAKE_HOME\@#$main::OO_SDK_MAKE_HOME#go;
$_ =~ s#\@OO_SDK_ZIP_HOME\@#$main::OO_SDK_ZIP_HOME#go;
$_ =~ s#\@OO_SDK_CPP_HOME\@#$main::OO_SDK_CPP_HOME#go;