Kaydet (Commit) 0a78e6e8 authored tarafından Ariel Constenla-Haile's avatar Ariel Constenla-Haile

#i121442# - Add sed and cat as dependencies

üst d4d147f0
......@@ -62,6 +62,8 @@ var oo_sdk_ure_home=getUreHome();
var oo_sdk_make_home=getMakeHome();
var oo_sdk_zip_home=getZipHome();
var oo_sdk_cat_home=getCatHome();
var oo_sdk_sed_home=getSedHome();
var oo_sdk_manifest_used="";
var oo_sdk_windowssdk="";
var oo_sdk_cpp_home=getCppHome();
......@@ -393,6 +395,110 @@ function getZipHome()
}
}
function getCatHome()
{
var sSuggestedHome = WshSysEnv("OO_SDK_CAT_HOME");
while(true)
{
stdout.Write("\n Enter a cat (2.0 or higher) tools directory [" +
sSuggestedHome + "]:");
var sHome = stdin.ReadLine();
if (sHome.length == 0)
{
//No user input, use default.
if ( ! aFileSystemObject.FolderExists(sSuggestedHome))
{
stdout.WriteLine("\n Error: Could not find directory \"" +
sSuggestedHome + "\". cat is required, please " +
"specify a cat tools directory." +
"\nYou can get cat from " +
"http://sourceforge.net/projects/unxutils/files/latest/download");
sSuggestedHome = "";
continue;
}
sHome = sSuggestedHome;
}
else
{
//validate the user input
if ( ! aFileSystemObject.FolderExists(sHome))
{
stdout.WriteLine("\n Error: The directory \"" + sHome +
"\" does not exist. cat is required, please " +
"specify a cat tools directory." +
"\nYou can get cat from " +
"http://sourceforge.net/projects/unxutils/files/latest/download");
continue;
}
}
//Check for the make executable
var sCatPath = sHome + "\\cat.exe";
if (! aFileSystemObject.FileExists(sCatPath))
{
stdout.WriteLine("\n Error: Could not find \"" + sCatPath +
"\". cat is required, please specify a cat tools " +
"directory." +
"\nYou can get cat from " +
"http://sourceforge.net/projects/unxutils/files/latest/download");
continue;
}
return sHome;
}
}
function getSedHome()
{
var sSuggestedHome = WshSysEnv("OO_SDK_SED_HOME");
while(true)
{
stdout.Write("\n Enter a sed (3.02 or higher) tools directory [" +
sSuggestedHome + "]:");
var sHome = stdin.ReadLine();
if (sHome.length == 0)
{
//No user input, use default.
if ( ! aFileSystemObject.FolderExists(sSuggestedHome))
{
stdout.WriteLine("\n Error: Could not find directory \"" +
sSuggestedHome + "\". sed is required, please " +
"specify a sed tools directory." +
"\nYou can get sed from " +
"http://sourceforge.net/projects/unxutils/files/latest/download");
sSuggestedHome = "";
continue;
}
sHome = sSuggestedHome;
}
else
{
//validate the user input
if ( ! aFileSystemObject.FolderExists(sHome))
{
stdout.WriteLine("\n Error: The directory \"" + sHome +
"\" does not exist. sed is required, please " +
"specify a sed tools directory." +
"\nYou can get sed from " +
"http://sourceforge.net/projects/unxutils/files/latest/download");
continue;
}
}
//Check for the make executable
var sSedPath = sHome + "\\sed.exe";
if (! aFileSystemObject.FileExists(sSedPath))
{
stdout.WriteLine("\n Error: Could not find \"" + sSedPath +
"\". sed is required, please specify a sed tools " +
"directory." +
"\nYou can get sed from " +
"http://sourceforge.net/projects/unxutils/files/latest/download");
continue;
}
return sHome;
}
}
function getCppHome()
{
var sSuggestedHome = WshSysEnv("OO_SDK_CPP_HOME");
......@@ -839,6 +945,14 @@ function writeBatFile(fdir, file)
"REM Example: set OO_SDK_ZIP_HOME=D:\\infozip\\bin\n" +
"set OO_SDK_ZIP_HOME=" + oo_sdk_zip_home +
"\n\n" +
"REM Directory of the cat tool.\n" +
"REM Example: set OO_SDK_CAT_HOME=C:\\UnxUtils\\usr\\local\\wbin\n" +
"set OO_SDK_CAT_HOME=" + oo_sdk_cat_home +
"\n\n" +
"REM Directory of the sed tool.\n" +
"REM Example: set OO_SDK_SED_HOME=C:\\UnxUtils\\usr\\local\\wbin\n" +
"set OO_SDK_SED_HOME=" + oo_sdk_sed_home +
"\n\n" +
"REM Directory of the C++ compiler.\n" +
"REM Example:set OO_SDK_CPP_HOME=C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\bin\n" +
"set OO_SDK_CPP_HOME=" + oo_sdk_cpp_home +
......@@ -893,6 +1007,18 @@ function writeBatFile(fdir, file)
" goto :error\n" +
" )\n" +
"\n" +
"REM Check installation path for the cat tool.\n" +
"if not defined OO_SDK_CAT_HOME (\n" +
" echo Error: the variable OO_SDK_CAT_HOME is missing!\n" +
" goto :error\n" +
" )\n" +
"\n" +
"REM Check installation path for the sed tool.\n" +
"if not defined OO_SDK_SED_HOME (\n" +
" echo Error: the variable OO_SDK_SED_HOME is missing!\n" +
" goto :error\n" +
" )\n" +
"\n" +
"REM Set library path. \n" +
"set LIB=%OO_SDK_HOME%\\lib;%LIB%\n" +
"if defined CPP_WINDOWS_SDK (\n" +
......@@ -944,10 +1070,16 @@ function writeBatFile(fdir, file)
"\n" +
"REM Add directory of the command make to the path, if necessary.\n" +
"if defined OO_SDK_MAKE_HOME set PATH=%OO_SDK_MAKE_HOME%;%PATH%\n" +
"\n" +
"REM Add directory of the zip tool to the path, if necessary.\n" +
"if defined OO_SDK_ZIP_HOME set PATH=%OO_SDK_ZIP_HOME%;%PATH%\n" +
"\n" +
"\n" +
"REM Add directory of the zip tool to the path, if necessary.\n" +
"if defined OO_SDK_ZIP_HOME set PATH=%OO_SDK_ZIP_HOME%;%PATH%\n" +
"\n" +
"REM Add directory of the cat tool to the path, if necessary.\n" +
"if defined OO_SDK_CAT_HOME set PATH=%OO_SDK_CAT_HOME%;%PATH%\n" +
"\n" +
"REM Add directory of the sed tool to the path, if necessary.\n" +
"if defined OO_SDK_SED_HOME set PATH=%OO_SDK_SED_HOME%;%PATH%\n" +
"\n" +
"REM Add directory of the C++ compiler to the path, if necessary.\n" +
"if defined OO_SDK_CPP_HOME set PATH=%OO_SDK_CPP_HOME%;%PATH%\n" +
"\n" +
......@@ -979,6 +1111,8 @@ function writeBatFile(fdir, file)
"echo * URE = %OO_SDK_URE_HOME%\n" +
"echo * Make = %OO_SDK_MAKE_HOME%\n" +
"echo * Zip = %OO_SDK_ZIP_HOME%\n" +
"echo * cat = %OO_SDK_CAT_HOME%\n" +
"echo * sed = %OO_SDK_SED_HOME%\n" +
"echo * C++ Compiler = %OO_SDK_CPP_HOME%\n" +
"echo * C# and VB.NET compilers = %OO_SDK_CLI_HOME%\n" +
"echo * Java = %OO_SDK_JAVA_HOME%\n" +
......@@ -996,6 +1130,3 @@ function writeBatFile(fdir, file)
);
newFile.Close();
}
......@@ -76,6 +76,16 @@ $main::OO_SDK_ZIP_HOME = "";
$main::OO_SDK_ZIP_HOME_SUGGESTION = searchprog("zip");
$main::zipVersion = "2.3";
$main::OO_SDK_CAT_HOME = "";
$main::OO_SDK_CAT_HOME_SUGGESTION = searchprog("cat");
# TODO cat version
# $main::catVersion = "";
$main::OO_SDK_SED_HOME = "";
$main::OO_SDK_SED_HOME_SUGGESTION = searchprog("sed");
# TODO sed version
# $main::sedVersion = "";
$main::OO_SDK_CPP_HOME = "";
$main::cppName = "gcc";
$main::cppVersion = "4.0.1";
......@@ -326,6 +336,54 @@ while ( (!$main::correctVersion) &&
}
}
# prepare cat path
$main::correctVersion = 0;
while ( (!$main::correctVersion) &&
((! -d "$main::OO_SDK_CAT_HOME" ) ||
((-d "$main::OO_SDK_CAT_HOME") && (! -e "$main::OO_SDK_CAT_HOME/cat"))) )
{
print " Enter cat tool directory [$main::OO_SDK_CAT_HOME_SUGGESTION]: ";
$main::OO_SDK_CAT_HOME = readStdIn();
chop($main::OO_SDK_CAT_HOME);
if ( $main::OO_SDK_CAT_HOME eq "" )
{
$main::OO_SDK_CAT_HOME = $main::OO_SDK_CAT_HOME_SUGGESTION;
}
if ( (! -d "$main::OO_SDK_CAT_HOME") ||
((-d "$main::OO_SDK_CAT_HOME") && (! -e "$main::OO_SDK_CAT_HOME/cat")) )
{
$main::OO_SDK_CAT_HOME = "";
print " Error: cat tool is required, please specify a cat tool directory.\n";
}
# else ...
# TODO check version
# NOTE: only Linux cat understands --version
}
# prepare sed path
$main::correctVersion = 0;
while ( (!$main::correctVersion) &&
((! -d "$main::OO_SDK_SED_HOME" ) ||
((-d "$main::OO_SDK_SED_HOME") && (! -e "$main::OO_SDK_SED_HOME/sed"))) )
{
print " Enter sed tool directory [$main::OO_SDK_SED_HOME_SUGGESTION]: ";
$main::OO_SDK_SED_HOME = readStdIn();
chop($main::OO_SDK_SED_HOME);
if ( $main::OO_SDK_SED_HOME eq "" )
{
$main::OO_SDK_SED_HOME = $main::OO_SDK_SED_HOME_SUGGESTION;
}
if ( (! -d "$main::OO_SDK_SED_HOME") ||
((-d "$main::OO_SDK_SED_HOME") && (! -e "$main::OO_SDK_SED_HOME/sed")) )
{
$main::OO_SDK_SED_HOME = "";
print " Error: sed tool is required, please specify a sed tool directory.\n";
}
# else ...
# TODO check version
# NOTE: only Linux sed understands --version
}
# prepare C++ compiler path
$main::correctVersion = 0;
while ( (!$main::correctVersion) &&
......@@ -535,12 +593,9 @@ else
$main::SDK_AUTO_DEPLOYMENT = "NO";
}
prepareScriptFile("setsdkenv_unix.sh.in", "setsdkenv_unix.sh", 1);
prepareScriptFile("setsdkenv_unix.sh.in", "setsdkenv_unix.sh");
chmod 0644, "$main::OO_SDK_CONFIG_HOME/$main::hostname/setsdkenv_unix.sh";
prepareScriptFile("setsdkenv_unix.csh.in", "setsdkenv_unix.csh", 2);
chmod 0644, "$main::OO_SDK_CONFIG_HOME/$main::hostname/setsdkenv_unix.csh";
print "\n";
print " ************************************************************************\n";
print " * ... your SDK environment has been prepared.\n";
......@@ -548,7 +603,6 @@ print " * For each time you want to use this configured SDK environment, you\n";
print " * have to run the \"setsdkenv_unix\" script file!\n";
print " * Alternatively can you source one of the scripts\n";
print " * \"$main::OO_SDK_CONFIG_HOME/$main::hostname/setsdkenv_unix.sh\"\n";
print " * \"$main::OO_SDK_CONFIG_HOME/$main::hostname/setsdkenv_unix.csh\"\n";
print " * to get an environment without starting a new shell.\n";
print " ************************************************************************\n\n";
......@@ -761,12 +815,12 @@ sub testVersion
for ($i=0; $i <= $length; $i++ )
{
if ( @testVersion->[$i] > @mustBeVersion->[$i] )
if ( @testVersion[$i] > @mustBeVersion[$i] )
{
return 1; # 1 indicates a correct version
}
if ( @testVersion->[$i] < @mustBeVersion->[$i] )
if ( @testVersion[$i] < @mustBeVersion[$i] )
{
if ( $#checkOnly == 1 ) {
print " The command '$toolName' has the version $tmpTestVersion.\n";
......@@ -794,9 +848,6 @@ sub prepareScriptFile()
{
my $inputFile = shift;
my $outputFile = shift;
# shell mode 1 = sh
# 2 = csh
my $shellMode = shift;
if ( ! -d "$main::OO_SDK_CONFIG_HOME/$main::hostname" )
{
......@@ -815,6 +866,8 @@ sub prepareScriptFile()
$_ =~ 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_CAT_HOME\@#$main::OO_SDK_CAT_HOME#go;
$_ =~ s#\@OO_SDK_SED_HOME\@#$main::OO_SDK_SED_HOME#go;
$_ =~ s#\@OO_SDK_CPP_HOME\@#$main::OO_SDK_CPP_HOME#go;
$_ =~ s#\@OO_SDK_CC_55_OR_HIGHER\@#$main::OO_SDK_CC_55_OR_HIGHER#go;
$_ =~ s#\@OO_SDK_JAVA_HOME\@#$main::OO_SDK_JAVA_HOME#go;
......
......@@ -136,6 +136,16 @@
a new requirement to make the SDK independent of a Java SDK.<br>
If you do not have these already, you can download them from <a target="_blank" href="http://www.info-zip.org" title="link to www.ubfi-zip.org (online)">http://www.info-zip.org</a>. Note: The cygwin zip.exe does not work for the build under
the 4NT shell. You have to use the native w32 version.</td>
</tr>
<tr valign="middle">
<td colspan="2"><img class="line" src="images/sdk_line-1.gif"></td>
</tr>
<tr valign="top">
<td><b>cat and sed tools<b></td>
<td class="content80">The cat and set tools are used to create some extensions.
<p><b>Note for Windows users</b>: If you do not have these already, you can download them from
<a target="_blank" href="http://sourceforge.net/projects/unxutils/files/latest/downloadg" title="link to UnxUtils (online)">http://sourceforge.net/projects/unxutils/files/latest/download</a>.</p>
</td>
</tr>
<tr valign="middle">
<td colspan="2"><img class="line" src="images/sdk_line-1.gif"></td>
......@@ -150,11 +160,11 @@
<td colspan="2">
<p>The SDK provides an implicit configuration mechanism, which
configures the SDK build environment to your personal needs the first
time you use the SDK environment. This configuration step creates one or
two new setsdkenv_XXX scripts in the user's home directory:</P>
time you use the SDK environment. This configuration step creates a
new setsdkenv_XXX script in the user's home directory:</P>
<ul>
<li><b>$HOME/$OO_SDK_NAME/setsdkenv_unix.sh</b> and <b>$HOME/$OO_SDK_NAME/setsdkenv_unix.csh</b>&nbsp;&nbsp;-> for Unix
<li><b>C:\Documents and Settings\&lt;username&gt;\Application Data\%OO_SDK_NAME%\setsdkenv_windows.bat</b></a>&nbsp;&nbsp;-> for Windows2000/XP or later
<li><b>$HOME/$OO_SDK_NAME/setsdkenv_unix.sh</b>&nbsp;&nbsp;-> for Unix
<li><b>C:\Documents and Settings\&lt;username&gt;\Application Data\%OO_SDK_NAME%\setsdkenv_windows.bat</b>&nbsp;&nbsp;-> for Windows2000/XP or later
</ul>
<p>The automatically started configure script (Unix and Windows2000/XP)
requests relevant information and directories (SDK, the Office, GNU make,
......@@ -234,6 +244,14 @@
<td class="cell20"><b>OO_SDK_ZIP_HOME</b></td>
<td class="cell80">Path to the 'zip' tool.</td>
</tr>
<tr>
<td class="cell20"><b>OO_SDK_CAT_HOME</b></td>
<td class="cell80">Path to the 'cat' tool.</td>
</tr>
<tr>
<td class="cell20"><b>OO_SDK_SED_HOME</b></td>
<td class="cell80">Path to the 'sed' tool.</td>
</tr>
<tr>
<td class="cell20"><b>OO_SDK_OUTPUT_DIR</b></td>
<td class="cell80">Path to an existing directory where the example output
......
......@@ -50,6 +50,14 @@ OO_SDK_MAKE_HOME=@OO_SDK_MAKE_HOME@
# Example: OO_SDK_ZIP_HOME=/usr/bin
OO_SDK_ZIP_HOME=@OO_SDK_ZIP_HOME@
# Directory of the cat command.
# Example: OO_SDK_CAT_HOME=/usr/bin
OO_SDK_CAT_HOME=@OO_SDK_CAT_HOME@
# Directory of the sed command.
# Example: OO_SDK_SED_HOME=/usr/bin
OO_SDK_SED_HOME=@OO_SDK_SED_HOME@
# Directory of the C++ compiler.
# Example: OO_SDK_CPP_HOME=/usr/bin
OO_SDK_CPP_HOME=@OO_SDK_CPP_HOME@
......@@ -267,6 +275,20 @@ then
export OO_SDK_ZIP_HOME
fi
# Add directory of the sed tool to the path, if necessary.
if [ -n "${OO_SDK_SED_HOME}" ]
then
PATH=${OO_SDK_SED_HOME}:${PATH}
export OO_SDK_SED_HOME
fi
# Add directory of the cat tool to the path, if necessary.
if [ -n "${OO_SDK_CAT_HOME}" ]
then
PATH=${OO_SDK_CAT_HOME}:${PATH}
export OO_SDK_CAT_HOME
fi
# Add directory of the C++ tools to the path, if necessary.
if [ -n "${OO_SDK_CPP_HOME}" ]
then
......@@ -343,15 +365,17 @@ fi
# Prepare shell with all necessary environment variables.
echo
echo " ************************************************************************"
echo " *"
echo " * SDK environment is prepared for ${platform}"
echo " *"
echo " *"
echo " * SDK environment is prepared for ${platform}"
echo " *"
echo " * SDK = $OO_SDK_HOME"
echo " * Office = $OFFICE_HOME"
echo " * Office Base = $OFFICE_BASE_HOME"
echo " * URE = $OO_SDK_URE_HOME"
echo " * Make = $OO_SDK_MAKE_HOME"
echo " * Zip = $OO_SDK_ZIP_HOME"
echo " * cat = $OO_SDK_CAT_HOME"
echo " * sed = $OO_SDK_SED_HOME"
echo " * C++ Compiler = $OO_SDK_CPP_HOME"
echo " * Java = $OO_SDK_JAVA_HOME"
echo " * SDK Output directory = $OO_SDK_OUT"
......
......@@ -49,6 +49,14 @@ REM Directory of the zip tool.
REM Example: set OO_SDK_ZIP_HOME=D:\infozip\bin
set OO_SDK_ZIP_HOME=
REM Directory of the cat tool.
REM Example: set OO_SDK_CAT_HOME=C:\UnxUtils\usr\local\wbin\
set OO_SDK_CAT_HOME=
REM Directory of the sed tool.
REM Example: set OO_SDK_SED_HOME=C:\UnxUtils\usr\local\wbin\
set OO_SDK_SED_HOME=
REM Directory of the C++ compiler.
REM Example:set OO_SDK_CPP_HOME=C:\Program Files\Microsoft Visual Studio 9.0\VC\bin
REM Example:set CPP_WINDOWS_SDK=C:\Program Files\\Microsoft SDKs\Windows\v6.0A\
......@@ -105,6 +113,18 @@ if not defined OO_SDK_ZIP_HOME (
goto :error
)
REM Check installation path for the cat tool.
if not defined OO_SDK_CAT_HOME (
echo Error: the variable OO_SDK_CAT_HOME is missing!
goto :error
)
REM Check installation path for the sed tool.
if not defined OO_SDK_SED_HOME (
echo Error: the variable OO_SDK_SED_HOME is missing!
goto :error
)
REM Set library path.
set LIB=%OO_SDK_HOME%\lib;%LIB%
if defined CPP_WINDOWS_SDK (
......@@ -160,6 +180,12 @@ if defined OO_SDK_MAKE_HOME set PATH=%OO_SDK_MAKE_HOME%;%PATH%
REM Add directory of the zip tool to the path, if necessary.
if defined OO_SDK_ZIP_HOME set PATH=%OO_SDK_ZIP_HOME%;%PATH%
REM Add directory of the cat tool to the path, if necessary.
if defined OO_SDK_CAT_HOME set PATH=%OO_SDK_CAT_HOME%;%PATH%
REM Add directory of the sed tool to the path, if necessary.
if defined OO_SDK_SED_HOME set PATH=%OO_SDK_SED_HOME%;%PATH%
REM Add directory of the C++ compiler to the path, if necessary.
if defined OO_SDK_CPP_HOME set PATH=%OO_SDK_CPP_HOME%;%PATH%
......@@ -187,6 +213,8 @@ echo * Office Base = %OFFICE_BASE_HOME%
echo * URE = %OO_SDK_URE_HOME%
echo * Make = %OO_SDK_MAKE_HOME%
echo * Zip = %OO_SDK_ZIP_HOME%
echo * cat = %OO_SDK_CAT_HOME%
echo * sed = %OO_SDK_SED_HOME%
echo * C++ Compiler = %OO_SDK_CPP_HOME%
echo * C# and VB.NET compilers = %OO_SDK_CLI_HOME%
echo * Java = %OO_SDK_JAVA_HOME%
......
#**************************************************************
#
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
......@@ -7,17 +7,18 @@
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
#
# http://www.apache.org/licenses/LICENSE-2.0
#
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
#
#**************************************************************
ifneq "$(OO_SDK_OUT)" ""
OUT=$(subst \,/,$(OO_SDK_OUT))/$(OS)example.out
else
......@@ -68,6 +69,8 @@ SDK_JAVA="$(OO_SDK_JAVA_HOME)/$(JAVABIN)/java" $(JAVA_OPTIONS)
SDK_JAVAC="$(OO_SDK_JAVA_HOME)/$(JAVABIN)/javac"
SDK_JAR="$(OO_SDK_JAVA_HOME)/$(JAVABIN)/jar"
SDK_ZIP="$(OO_SDK_ZIP_HOME)/zip"
SDK_CAT="$(OO_SDK_CAT_HOME)/cat"
SDK_SED="$(OO_SDK_SED_HOME)/sed"
IDLC="$(OO_SDK_HOME)/bin/idlc"
CPPUMAKER="$(OO_SDK_HOME)/bin/cppumaker"
JAVAMAKER="$(OO_SDK_HOME)/bin/javamaker"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment