summaryrefslogtreecommitdiff
path: root/odk/config
diff options
context:
space:
mode:
authorAriel Constenla-Haile <arielch@apache.org>2012-12-06 12:31:44 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-06-26 09:11:40 +0100
commit2250429dda5539466e2c3d1e33e555c4d66131e6 (patch)
tree55712f35f2e51433b25b4bb3f52267e785076190 /odk/config
parent7a123cae332c99b047b3d6392b5df803d1aa2c79 (diff)
Related: #i121442# Add sed and cat as dependencies to odk
(cherry picked from commit 0a78e6e85d8e921705b7ea90038f822d47fb58ab) Conflicts: odk/cfgWin.js odk/configure.pl odk/docs/install.html odk/setsdkenv_unix.sh.in odk/setsdkenv_windows.template odk/settings/std.mk Change-Id: Ie124ffbb857e796923981e13dc3116c7af341056
Diffstat (limited to 'odk/config')
-rw-r--r--odk/config/cfgWin.js138
-rwxr-xr-x[-rw-r--r--]odk/config/configure.pl60
-rw-r--r--odk/config/setsdkenv_unix.sh.in24
-rw-r--r--[-rwxr-xr-x]odk/config/setsdkenv_windows.template28
4 files changed, 248 insertions, 2 deletions
diff --git a/odk/config/cfgWin.js b/odk/config/cfgWin.js
index 99dca7f3bc3a..070210325379 100644
--- a/odk/config/cfgWin.js
+++ b/odk/config/cfgWin.js
@@ -57,6 +57,8 @@ var oo_sdk_ure_home=office_home + "\\URE";
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();
@@ -317,6 +319,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");
@@ -760,6 +866,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 +
@@ -809,6 +923,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" +
@@ -856,8 +982,14 @@ function writeBatFile(fdir, file)
"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" +
+ "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" +
@@ -889,6 +1021,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" +
diff --git a/odk/config/configure.pl b/odk/config/configure.pl
index 9a460c89066b..04bfb4bfb076 100644..100755
--- a/odk/config/configure.pl
+++ b/odk/config/configure.pl
@@ -64,6 +64,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";
@@ -305,6 +315,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) &&
@@ -789,6 +847,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;
diff --git a/odk/config/setsdkenv_unix.sh.in b/odk/config/setsdkenv_unix.sh.in
index b0dc53664f79..bffab3d0b2d4 100644
--- a/odk/config/setsdkenv_unix.sh.in
+++ b/odk/config/setsdkenv_unix.sh.in
@@ -46,6 +46,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@
@@ -234,6 +242,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
@@ -301,6 +323,8 @@ echo " * Office = $OFFICE_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"
diff --git a/odk/config/setsdkenv_windows.template b/odk/config/setsdkenv_windows.template
index 8b1eb594e658..ce55568b24fc 100755..100644
--- a/odk/config/setsdkenv_windows.template
+++ b/odk/config/setsdkenv_windows.template
@@ -44,6 +44,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\
@@ -94,6 +102,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 (
@@ -144,6 +164,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%
@@ -170,6 +196,8 @@ echo * Office = %OFFICE_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%