summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsb <sb@openoffice.org>2010-01-05 13:09:26 +0100
committersb <sb@openoffice.org>2010-01-05 13:09:26 +0100
commite5586f047f2c3174c4a94fd5609f6beb98d1ece1 (patch)
tree6ff36e60059a6bffa3a1353051f50de67f720b3a
parent054ac6a46caf148d0052e773b212483d79896436 (diff)
parent2be04fff7b9d51a3f1cf61ddb9cd76286b48b375 (diff)
sb111: merged in DEV300_m68
-rw-r--r--configure.in136
-rw-r--r--scp2/prj/build.lst2
-rw-r--r--scp2/source/ooo/file_library_ooo.scp6
-rw-r--r--scp2/source/ooo/file_ooo.scp18
-rw-r--r--scp2/source/ooo/file_resource_ooo.scp2
-rw-r--r--scp2/source/ooo/module_hidden_ooo.scp1
-rwxr-xr-xscp2/source/ooo/module_lang_template.scp1
-rw-r--r--set_soenv.in22
-rw-r--r--soldep/bootstrp/XMLBuildListParser.pm1966
-rw-r--r--soldep/bootstrp/XmlBuildList.cxx436
-rw-r--r--soldep/bootstrp/makefile.mk11
-rw-r--r--soldep/bootstrp/minormk.cxx2
-rwxr-xr-xsoldep/inc/XmlBuildListDef.hxx50
-rw-r--r--soldep/inc/soldep/XmlBuildList.hxx160
-rw-r--r--soldep/inc/soldep/depper.hxx2
-rw-r--r--soldep/inc/soldep/objwin.hxx2
-rw-r--r--soldep/prj/d.lst1
-rw-r--r--soldep/source/connctr.cxx528
-rw-r--r--soldep/source/depapp.cxx290
-rw-r--r--soldep/source/depapp.hxx2
-rw-r--r--soldep/source/objwin.cxx1560
-rw-r--r--soldep/source/soldep.cxx3510
-rwxr-xr-xsolenv/bin/deliver.pl2
-rwxr-xr-x[-rw-r--r--]solenv/config/sdev300.ini1938
-rw-r--r--solenv/inc/libs.mk12
-rw-r--r--solenv/inc/minor.mk6
-rw-r--r--solenv/inc/rules.mk2
-rw-r--r--solenv/inc/settings.mk32
-rw-r--r--solenv/inc/shlinfo.rc2
-rw-r--r--solenv/inc/target.mk10
-rw-r--r--solenv/inc/version.hrc4
-rw-r--r--solenv/inc/version_so.hrc4
-rwxr-xr-x[-rw-r--r--]soltools/adjustvisibility/makefile.mk5
-rwxr-xr-xsoltools/mkdepend/collectdircontent.cxx2
-rwxr-xr-x[-rw-r--r--]soltools/mkdepend/makefile.mk20
-rw-r--r--soltools/prj/build.lst2
-rwxr-xr-x[-rw-r--r--]soltools/util/makefile.pmk18
-rw-r--r--splitbuild/base.lst1
-rw-r--r--splitbuild/binfilter.lst1
-rwxr-xr-xsplitbuild/bm4
-rw-r--r--splitbuild/build.lst1
-rw-r--r--splitbuild/calc.lst1
-rw-r--r--splitbuild/common.lst1
-rw-r--r--splitbuild/content.lst1
-rw-r--r--splitbuild/draw.lst1
-rw-r--r--splitbuild/extensions.lst1
-rw-r--r--splitbuild/extern.lst1
-rwxr-xr-xsplitbuild/filter.lst1
-rw-r--r--splitbuild/framework.lst1
-rw-r--r--splitbuild/gui.lst1
-rw-r--r--splitbuild/prj/build.lst2
-rw-r--r--splitbuild/prj/d.lst1
-rw-r--r--splitbuild/start.lst1
-rw-r--r--splitbuild/uno.lst1
-rw-r--r--splitbuild/writer.lst1
55 files changed, 3812 insertions, 6977 deletions
diff --git a/configure.in b/configure.in
index 3505be436cf6..17cc81f905f5 100644
--- a/configure.in
+++ b/configure.in
@@ -1451,7 +1451,8 @@ if test "$COMPATH" = "." ; then
dnl double square bracket to get single because of M4 quote...
COMPATH=`echo $COMPATH | $SED "s@/[[^/:]]*\\\$@@"`;
fi
-
+COMPATH=`echo $COMPATH | $SED "s@/[[Bb]][[Ii]][[Nn]]\\\$@@"`;
+echo $COMPATH
dnl ===================================================================
dnl Test the gcc version, 3 is OK
dnl ===================================================================
@@ -1595,7 +1596,7 @@ dnl ===================================================================
if test "$_os" = "SunOS"; then
if test "$CC" = "cc"; then
AC_PATH_PROGS(_cc, cc)
- COMPATH=`echo $_cc | $SED -n "s/\/cc//p"`
+ COMPATH=`echo $_cc | $SED -n "s/\/bin\/cc//p"`
AC_MSG_CHECKING([the SunStudio C/C++ compiler version])
dnl cc -V outputs to standard error!!!!
_sunstudio_string=`$CC -V 2>&1 | grep '^cc' | sed -e 's/.* C //'`
@@ -1639,7 +1640,7 @@ dnl ===================================================================
if test "$_os" = "IRIX" -o "$_os" = "IRIX64"; then
if test "$CC" = "cc"; then
AC_PATH_PROGS(_cc, cc)
- COMPATH=`echo $_cc | $SED -n "s/\/cc//p"`
+ COMPATH=`echo $_cc | $SED -n "s/\/bin\/cc//p"`
AC_MSG_CHECKING([the SGI MIPSpro C compiler version])
dnl cc -version outputs to standard error!!!!
_mipspro_version=`$CC -version 2>&1 | $AWK '{ print $4 }'`
@@ -1664,7 +1665,7 @@ dnl ===================================================================
if test "$_os" = "OSF1"; then
if test "$CC" = "cc"; then
AC_PATH_PROGS(_cc, cc)
- COMPATH=`echo $_cc | $SED -n "s/\/cc//p"`
+ COMPATH=`echo $_cc | $SED -n "s/\/bin\/cc//p"`
AC_MSG_WARN([******* $_cc , $COMPATH])
AC_MSG_CHECKING([the Compaq C compiler version])
dnl cc -V outputs to standard error!!!!
@@ -1790,8 +1791,8 @@ if test "$_os" = "WINNT"; then
CC=`cygpath -u "$CC"`
# Remove /cl.exe from CC case insensitive
AC_MSG_RESULT([found ($CC)])
- COMPATH=`echo $CC | $SED 's@/[[cC]][[lL]]\.[[eE]][[xX]][[eE]]@@'`
- export INCLUDE=`cygpath -d "$COMPATH/../Include"`
+ COMPATH=`echo $CC | $SED 's@\/[[Bb]][[Ii]][[Nn]]\/[[cC]][[lL]]\.[[eE]][[xX]][[eE]]@@'`
+ export INCLUDE=`cygpath -d "$COMPATH/Include"`
dnl Check which Microsoft C/C++ compiler is found
AC_MSG_CHECKING([the Version of Microsoft C/C++ Compiler])
dnl The following find microsoft, matches nn.nn.nnnn then pulls numbers out.
@@ -2220,7 +2221,7 @@ _ACEOF
if test -e "$MINGW_CLIB_DIR/libgcc_s.a"; then
AC_MSG_CHECKING([dynamic libgcc name])
MINGW_GCCDLL_pattern=`nm $MINGW_CLIB_DIR/libgcc_s.a | sed -ne 's@.* _libgcc\(.*\)_dll_iname@libgcc\1.dll@p' | uniq | sed -e 's@_@?@g'`
- MINGW_GCCDLL=`cd $COMPATH && ls $MINGW_GCCDLL_pattern 2>/dev/null`
+ MINGW_GCCDLL=`cd $COMPATH/bin && ls $MINGW_GCCDLL_pattern 2>/dev/null`
if test -n "$MINGW_GCCDLL"; then
MINGW_SHARED_GCCLIB=YES
AC_MSG_RESULT([use $MINGW_GCCDLL])
@@ -2237,7 +2238,7 @@ _ACEOF
if test -e "$MINGW_CLIB_DIR/libstdc++_s.a" ; then
AC_MSG_CHECKING([dynamic libstdc++ name])
MINGW_GXXDLL_pattern=`nm $MINGW_CLIB_DIR/libstdc++_s.a | sed -ne 's@.* _libstdc__\(.*\)_dll_iname@libstdc++\1.dll@p' | uniq | sed -e 's@_@?@g'`
- MINGW_GXXDLL=`cd $COMPATH && ls $MINGW_GXXDLL_pattern 2>/dev/null`
+ MINGW_GXXDLL=`cd $COMPATH/bin && ls $MINGW_GXXDLL_pattern 2>/dev/null`
if test -n "$MINGW_GXXDLL"; then
MINGW_SHARED_GXXLIB=YES
AC_MSG_RESULT([use $MINGW_GXXDLL])
@@ -2977,7 +2978,7 @@ if test "$SOLAR_JAVA" != ""; then
AC_MSG_RESULT([checked (ecj)])
#TODO: what's to do here? some switch to do 1.5 compiling?
JAVAFLAGS="-source 1.5 -target 1.5"
- _gij_longver="50000"
+ _gij_longver="40200"
fi
fi
@@ -3032,7 +3033,7 @@ fi
if test "$SOLAR_JAVA" != ""; then
dnl first check if we have been asked to autodetect JAVA_HOME with a recent gij
if test "$JDK" == "gcj" -a -z "$JAVA_HOME"; then
- if test "x$with_jdk_home" = "x" -a "$_gij_longver" -ge "50000"; then
+ if test "x$with_jdk_home" = "x" -a "$_gij_longver" -ge "40200"; then
cat > findhome.java <<_ACEOF
[import java.io.File;
@@ -3072,7 +3073,7 @@ _ACEOF
fi
dnl second sanity check JAVA_HOME if possible
- if test "$JDK" != "gcj" -o "$_gij_longver" -ge "50000"; then
+ if test "$JDK" != "gcj" -o "$_gij_longver" -ge "40200"; then
# check if JAVA_HOME was (maybe incorrectly?) set automatically to /usr
if test "$JAVA_HOME" = "/usr" -a "x$with_jdk_home" = "x"; then
@@ -3852,25 +3853,14 @@ if test -n "$with_system_db" -o -n "$with_system_libs" && \
], []
)
AC_MSG_CHECKING([whether db is at least 4.1])
- for v in `seq 1 7`; do
- AC_TRY_RUN([
+ AC_TRY_RUN([
#include <db.h>
int main(int argc, char **argv) {
- if(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == $v) return 0;
+ if(DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)) return 0;
else return 1;
}
- ], [DB_VERSION_MINOR=$v], [])
- done
- if test "$DB_VERSION_MINOR" -gt "1"; then
- AC_MSG_RESULT([OK])
- DB_VERSION=4.$DB_VERSION_MINOR
- else
- AC_MSG_ERROR([no. you need at least db 4.1])
- fi
- # does not work :/
- #AC_CHECK_LIB(db, db_create, [],
- # [AC_MSG_ERROR([db library not installed or functional])], [])
+ ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([no. you need at least db 4.1])])
AC_HAVE_LIBRARY(db, [],
[AC_MSG_ERROR([db not installed or functional])], [])
SCPDEFS="$SCPDEFS -DSYSTEM_DB"
@@ -4689,7 +4679,8 @@ if test "$_os" != "WINNT" -a "$_os" != "OS2" -a "$_os" != "Darwin"; then
[#include <X11/Intrinsic.h>])
else
AC_MSG_RESULT([yes])
- AC_CHECK_HEADERS(X11/Xaw/Label.h,[],[AC_MSG_ERROR([Xaw include headers not found])])
+ AC_CHECK_HEADERS(X11/Xaw/Label.h,[],[AC_MSG_ERROR([Xaw include headers not found])],
+ [#include <X11/Intrinsic.h>])
AC_CHECK_LIB(Xaw, main, [],
[AC_MSG_ERROR(Xaw library not found or functional)], [])
fi
@@ -5418,8 +5409,8 @@ if test "$_os" = "WINNT"; then
if test -x ./external/msi/instmsia.exe -a -x ./external/msi/instmsiw.exe; then
AC_MSG_RESULT([found])
else
- MSIAPATH=`/bin/find "$COMPATH/../.." -iname instmsia.exe | head -n 1`
- MSIWPATH=`/bin/find "$COMPATH/../.." -iname instmsiw.exe | head -n 1`
+ MSIAPATH=`/bin/find "$COMPATH/.." -iname instmsia.exe | head -n 1`
+ MSIWPATH=`/bin/find "$COMPATH/.." -iname instmsiw.exe | head -n 1`
if test -n "$MSIAPATH" -a -n "$MSIWPATH"; then
cp "$MSIAPATH" ./external/msi/ && chmod +x ./external/msi/instmsia.exe && MSIACOPY="OK"
cp "$MSIWPATH" ./external/msi/ && chmod +x ./external/msi/instmsiw.exe && MSIWCOPY="OK"
@@ -5936,37 +5927,74 @@ AC_SUBST(LIBSERIALIZER_JAR)
if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "YES"; then
AC_MSG_CHECKING([which Apache commons-* libs to use])
if test "$with_system_apache_commons" = "yes"; then
- SYSTEM_APACHE_COMMONS=YES
- AC_MSG_RESULT([external])
+ SYSTEM_APACHE_COMMONS=YES
+ AC_MSG_RESULT([external])
if test "$ENABLE_MEDIAWIKI" = "YES"; then
- if test -z "$COMMONS_CODEC_JAR"; then
- COMMONS_CODEC_JAR=/usr/share/java/commons-codec-1.3.jar
- fi
- AC_CHECK_FILE($COMMONS_CODEC_JAR, [],
- [AC_MSG_ERROR(commons-codec.jar not found.)], [])
- if test -z "$COMMONS_LANG_JAR"; then
- COMMONS_LANG_JAR=/usr/share/java/commons-lang-2.3.jar
- fi
- AC_CHECK_FILE($COMMONS_LANG_JAR, [],
- [AC_MSG_ERROR(commons-lang.jar not found.)], [])
- if test -z "$COMMONS_HTTPCLIENT_JAR"; then
- COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient-3.1.jar
- fi
- AC_CHECK_FILE($COMMONS_HTTPCLIENT_JAR, [],
- [AC_MSG_ERROR(commons-httpclient.jar not found.)], [])
+ if test -z $COMMONS_CODEC_JAR; then
+ AC_CHECK_FILE(/usr/share/java/commons-codec-1.3.jar,
+ [ COMMONS_CODEC_JAR=/usr/share/java/commons-codec-1.3.jar ],
+ [
+ AC_CHECK_FILE(/usr/share/java/commons-codec.jar,
+ [ COMMONS_CODEC_JAR=/usr/share/java/commons-codecs.jar ],
+ [AC_MSG_ERROR(commons-codec.jar replacement not found.)]
+ )
+ ]
+ )
+ else
+ AC_CHECK_FILE($COMMONS_CODEC_JAR, [],
+ [AC_MSG_ERROR(commons-codec.jar not found.)], [])
+ fi
+
+ if test -z $COMMONS_LANG_JAR; then
+ AC_CHECK_FILE(/usr/share/java/commons-lang-2.3.jar,
+ [ COMMONS_LANG_JAR=/usr/share/java/commons-lang-2.3.jar ],
+ [
+ AC_CHECK_FILE(/usr/share/java/commons-lang.jar,
+ [ COMMONS_LANG_JAR=/usr/share/java/commons-lang.jar ],
+ [AC_MSG_ERROR(commons-lang.jar replacement not found.)]
+ )
+ ]
+ )
+ else
+ AC_CHECK_FILE($COMMONS_LANG_JAR, [],
+ [AC_MSG_ERROR(commons-lang.jar not found.)], [])
+ fi
+
+ if test -z $COMMONS_HTTPCLIENT_JAR; then
+ AC_CHECK_FILE(/usr/share/java/commons-httpclient-3.1.jar,
+ [ COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient-3.1.jar ],
+ [
+ AC_CHECK_FILE(/usr/share/java/commons-httpclient.jar,
+ [ COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient.jar ],
+ [AC_MSG_ERROR(commons-httpclient.jar replacement not found.)]
+ )
+ ]
+ )
+ else
+ AC_CHECK_FILE($COMMONS_HTTPCLIENT_JAR, [],
+ [AC_MSG_ERROR(commons-httpclient.jar not found.)], [])
+ fi
fi
if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "YES"; then
- if test -z "$COMMONS_LOGGING_JAR"; then
- COMMONS_LOGGING_JAR=/usr/share/java/commons-logging-1.1.1.jar
- fi
- AC_CHECK_FILE($COMMONS_LOGGING_JAR, [],
- [AC_MSG_ERROR(commons-logging.jar not found.)], [])
-
+ if test -z $COMMONS_LOGGING_JAR; then
+ AC_CHECK_FILE(/usr/share/java/commons-logging-1.1.1.jar,
+ [ COMMONS_LOGGING_JAR=/usr/share/java/commons-logging-1.1.1.jar ],
+ [
+ AC_CHECK_FILE(/usr/share/java/commons-logging.jar,
+ [ COMMONS_LOGGING_JAR=/usr/share/java/commons-logging.jar ],
+ [AC_MSG_ERROR(commons-logging.jar replacement not found.)]
+ )
+ ]
+ )
+ else
+ AC_CHECK_FILE($COMMONS_LOGGING_JAR, [],
+ [AC_MSG_ERROR(commons-logging.jar not found.)], [])
+ fi
fi
else
- AC_MSG_RESULT([internal])
- SYSTEM_APACHE_COMMONS=NO
- BUILD_TYPE="$BUILD_TYPE APACHE_COMMONS TOMCAT"
+ AC_MSG_RESULT([internal])
+ SYSTEM_APACHE_COMMONS=NO
+ BUILD_TYPE="$BUILD_TYPE APACHE_COMMONS TOMCAT"
fi
fi
AC_SUBST(SYSTEM_APACHE_COMMONS)
diff --git a/scp2/prj/build.lst b/scp2/prj/build.lst
index 342053a288cb..abf5f14740da 100644
--- a/scp2/prj/build.lst
+++ b/scp2/prj/build.lst
@@ -1,4 +1,4 @@
-cp scp2 : l10n setup_native transex3 PYTHON:python ICU:icu REDLAND:redland LIBXSLT:libxslt NULL
+cp scp2 : l10n i18npool setup_native transex3 PYTHON:python ICU:icu REDLAND:redland LIBXSLT:libxslt NULL
cp scp2 usr1 - all cp_mkout NULL
cp scp2\macros nmake - all cp_langmacros NULL
cp scp2\source\templates nmake - all cp_langtemplates NULL
diff --git a/scp2/source/ooo/file_library_ooo.scp b/scp2/source/ooo/file_library_ooo.scp
index 03cdfdb580b5..0a286e3da4e2 100644
--- a/scp2/source/ooo/file_library_ooo.scp
+++ b/scp2/source/ooo/file_library_ooo.scp
@@ -1369,15 +1369,15 @@ SPECIAL_UNO_LIB_FILE(gid_File_Lib_Srtrs1,srtrs1)
STD_LIB_FILE( gid_File_Lib_Sts , sts)
-STD_LIB_FILE_PATCH( gid_File_Lib_Svl, svl )
+STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Svl, svl )
STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Svtools, svt )
-SPECIAL_UNO_COMPONENT_LIB_FILE( gid_File_Lib_Svtmisc, svtmisc.uno )
STD_LIB_FILE_PATCH( gid_File_Lib_Svx_Core, svxcore)
-STD_LIB_FILE_PATCH( gid_File_Lib_Svx_Msfilter, svxmsfilter)
STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Svx, svx)
STD_UNO_LIB_FILE( gid_File_Lib_TextConversionDlgs, textconversiondlgs)
+STD_LIB_FILE_PATCH( gid_File_Lib_Msfilter, msfilter)
+
STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Sw , sw)
STD_LIB_FILE_PATCH( gid_File_Lib_Swui, swui)
diff --git a/scp2/source/ooo/file_ooo.scp b/scp2/source/ooo/file_ooo.scp
index c5532e2ada32..4fcc73bef25d 100644
--- a/scp2/source/ooo/file_ooo.scp
+++ b/scp2/source/ooo/file_ooo.scp
@@ -503,17 +503,6 @@ End
#endif
#ifdef SOLAR_JAVA
-#ifndef GCJ
-File gid_File_Jar_Sandbox
- TXT_FILE_BODY;
- Name = JARFILENAME(sandbox);
- Dir = gid_Dir_Classes;
- Styles = (PACKED);
-End
-#endif
-#endif
-
-#ifdef SOLAR_JAVA
UNO_JAR_FILE( gid_File_Jar_Scriptframework, ScriptFramework )
UNO_JAR_FILE( gid_File_Jar_Scriptproviderforbeanshell, ScriptProviderForBeanShell )
UNO_JAR_FILE( gid_File_Jar_Scriptproviderforjava, ScriptProviderForJava )
@@ -1839,6 +1828,13 @@ File gid_File_ImagesCrystal_Zip
Styles = (PACKED);
End
+File gid_File_ImagesOxygen_Zip
+ TXT_FILE_BODY;
+ Dir = gid_Dir_Share_Config;
+ Name = "images_oxygen.zip";
+ Styles = (PACKED);
+End
+
File gid_File_ImagesHicontrast_Zip
TXT_FILE_BODY;
Dir = gid_Dir_Share_Config;
diff --git a/scp2/source/ooo/file_resource_ooo.scp b/scp2/source/ooo/file_resource_ooo.scp
index 14b02d2dfa83..c0371115788f 100644
--- a/scp2/source/ooo/file_resource_ooo.scp
+++ b/scp2/source/ooo/file_resource_ooo.scp
@@ -106,6 +106,8 @@ STD_RES_FILE_ONLY_PATCH( gid_File_Res_Svp, svp )
STD_RES_FILE( gid_File_Res_Svx, svx )
STD_RES_FILE( gid_File_Res_TextConversionDlgs, textconversiondlgs )
+STD_RES_FILE( gid_File_Res_Cui, cui )
+
STD_RES_FILE( gid_File_Res_Sw, sw )
STD_RES_FILE( gid_File_Res_Tk, tk )
diff --git a/scp2/source/ooo/module_hidden_ooo.scp b/scp2/source/ooo/module_hidden_ooo.scp
index 49d6986f4f27..f06d40b51119 100644
--- a/scp2/source/ooo/module_hidden_ooo.scp
+++ b/scp2/source/ooo/module_hidden_ooo.scp
@@ -712,6 +712,7 @@ Module gid_Module_Root_Files_Images
Styles = (HIDDEN_ROOT);
Files = (gid_File_Images_Zip,
gid_File_ImagesCrystal_Zip,
+ gid_File_ImagesOxygen_Zip,
gid_File_ImagesHicontrast_Zip,
gid_File_ImagesIndustrial_Zip,
gid_File_ImagesTango_Zip,
diff --git a/scp2/source/ooo/module_lang_template.scp b/scp2/source/ooo/module_lang_template.scp
index 686a4ef719c8..6901254c4ef7 100755
--- a/scp2/source/ooo/module_lang_template.scp
+++ b/scp2/source/ooo/module_lang_template.scp
@@ -95,6 +95,7 @@ Module gid_Module_Langpack_Resource_Template
gid_File_Res_Svt,
gid_File_Res_Svp,
gid_File_Res_Svx,
+ gid_File_Res_Cui,
gid_File_Res_TextConversionDlgs,
gid_File_Res_Sw,
gid_File_Res_Tab,
diff --git a/set_soenv.in b/set_soenv.in
index 16edc29334d0..e1655da4a928 100644
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -646,7 +646,6 @@ elsif ( $platform =~ m/cygwin/ )
$PATH_SEPERATOR = ';';
$outfile = "winmingw.set";
$COM = "GCC";
- $COMPATH =~ s/\/bin$//i;
$CVER = "C341";
$OUTPATH = "wntgcci";
$INPATH = $OUTPATH.$PROEXT;
@@ -655,8 +654,6 @@ elsif ( $platform =~ m/cygwin/ )
else # The MSVC section starts here
{ $outfile = "winenv.set";
$COM = "MSC";
- # COMPATH for MSC is differently used
- $COMPATH =~ s/\/bin$//i;
$OUTPATH = "wntmsci@COMEX@";
$INPATH = $OUTPATH.$PROEXT;
$COMEX = '@COMEX@';
@@ -979,12 +976,10 @@ if ( $platform =~ m/darwin/ )
$WORK_STAMP = "@SOURCEVERSION@";
# Location of the source.
$SOLARSRC = '$SRC_ROOT';
-
-# SOURCE_ROOT_DIR equals $SOLARSRC/..
-my @list1 = split( /\// , $SOLARSRC );
-pop @list1;
-$SOURCE_ROOT_DIR = join ( '/' , @list1 );
-
+# Location of the repository.
+my @splitlist = split( /\//, $SRC_ROOT );
+pop @splitlist;
+$SOURCE_ROOT_DIR = join("/", @splitlist);
#
$DEVROOT = '$SRC_ROOT';
# Set solenv and solver to given or default values.
@@ -1323,9 +1318,7 @@ if ($platform =~ m/solaris/)
$L.$LIB.
$L.$USR_LIB;
if ( $CC =~ "gcc" ) {
- my $temp = $COMPATH;
- $temp =~ s:/bin$::;
- $SOLARLIB .= $L.$temp.$LIB;
+ $SOLARLIB .= $L.$COMPATH.$LIB;
}
$SOLARLIB .= $L.$USR_LOCAL.$LIB.
$L.$USR_DT.$LIB.
@@ -1394,9 +1387,8 @@ $SOLARINC .= '/SC5 ';
}
# Platform dependent include path at the top of this list of include paths
if ($platform =~ m/solaris/)
-{ my $temp;
- $temp =~ s:$COMPATH:/bin\$:;
- $SOLARINC .= $I.$temp.$ds."include";
+{
+ $SOLARINC .= $I.$COMPATH.$ds."include";
}
if ($platform =~ m/linux/)
{
diff --git a/soldep/bootstrp/XMLBuildListParser.pm b/soldep/bootstrp/XMLBuildListParser.pm
deleted file mode 100644
index 857723657568..000000000000
--- a/soldep/bootstrp/XMLBuildListParser.pm
+++ /dev/null
@@ -1,1966 +0,0 @@
-:
-eval 'exec perl -wS $0 ${1+"$@"}'
- if 0;
-
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2008 by Sun Microsystems, Inc.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# $RCSfile: XMLBuildListParser.pm,v $
-#
-# $Revision: 1.3 $
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-
-#************************************************************
-# Data structure and XML parser/creator for the changeover *
-# of the current build.lst to build.xlist files *
-# programmer: Pascal Junck, Sun Microsystems GmbH *
-#************************************************************
-
-# The current XMLBuildListParser is the second step for the changeover to XML.
-# It was written to create a complex structure with more possibilities to store informations
-# of the 'build.lst' files in the new XML files. The important informations were parsed by the
-# 'buildlst_parser.pl' from the old files and then are (temporary) stored by the set and add
-# methods in the module 'XMLBuildListParser' and 'XML::Parser'. By the API of this module it's
-# possible to create the new XML 'build.xlist' files.
-
-# If the '$Product' or the '$JobPlatform' (as also '$BuildReqPlatform') have no value,
-# their value are automatically 'all'.
-# It doesn't matter whether it's the set/add or the get method, that receives or sends
-# these optional parameters.
-# In the created XML file the default values aren't set, because of the constraints of the
-# 'Document Type Definition'(DTD).
-# If there is no product/platform attribute in the 'build.xlist' it means a default of 'all'!
-
-# The important parameters are:
-
-# $ModuleName = it's the name of the current module
-
-# $DependencyType = here are the three possible scalar dependency values
-# for all other depending modules(of the current module):
-# 'md-simple', 'md-always' and 'md-force'
-
-# $Products = which products can be used for the module dependencies
-# and might have more different whitespace separated values
-# e.g.'so oo' (scalar type)
-
-# $Dir = it means a string(scalar) with the current working directory,
-# with a '/'(current directory) at the beginning of the string
-
-# $JobType = it means a job e.g. 'make'
-
-# $Platforms = in this scalar parameter might be more than one different value,
-# like: 'wnt unx mac' and 'all'('all' includes the three values)
-# it must be whitespace separated
-
-# @DependingDirs = a list(array) of all inner depending directories
-# of the current working directory
-
-# %BuildReq = means a hash with build requirement pairs:
-# 'BuildReqName'(key) => 'BuildReqPlatform'(value)
-
-
-
-############################## begin of main ########################################
-
-use strict;
-
-use XML::Parser;
-
-package XMLBuildListParser;
-
-# global variable for printing out all results at parsing
-# if the debug variable is set to '1' it prints the results to STDOUT
-my $Debug = 0;
-
-
-############################# begin of subroutines ###################################
-
-sub new
-{
- my $invocant = shift;
- my $class = ref($invocant) || $invocant;
-
- my $self = {};
-
- # no real instance data yet, might change if package is extended
- bless($self, $class);
- $$self{'error_string'} = '';
- $self->beginXMLStructure();
-
- return $self;
-}
-
-# VG: procedure for a better error handling
-sub getError
-{
- my $self = shift;
- return $$self{'error_string'};
-};
-
-########################################################################################
-# sub: loadXMLFile
-# gets: $File
-# optional: -
-# returns: -
-# description: get the 'path' of the 'build.xlist'(s), load it in the 'xml parser tree'
-# and fill it in the own data_structure to make it available for the API
-########################################################################################
-sub loadXMLFile
-{
- my $self = shift;
- my $File = shift;
-
- if (-f $File)
- {
- my $TreeParse = new XML::Parser(Style => 'Tree');
-
- my $File_ref;
-
- eval
- {
- $File_ref = $TreeParse->parsefile($File);
- };
-
- if ($@)
- {
- $@ =~ s/[\r\n]//g;
- print"ERROR: $@" if ($Debug);
- $$self{'error_string'} = 'ERROR: ' . $@ . ". Error occured while trying to parse $File";
-
- return 0;
- }
- else
- {
- filterXMLFile($File_ref);
-
- $$self{"ModuleData"} = $File_ref;
-
- return 1;
- }
- }
- else
- {
- $$self{'error_string'} = "ERROR: cannot find file $File";
- return 0;
- }
-}
-
-########################################################################################
-# sub: filterXMLFile
-# gets: $ArrayContent_ref
-# optional: -
-# returns: -
-# description: filters all '0' and whitespace based pairs of the XML file
-# -> all spaces, tabs and new lines
-########################################################################################
-sub filterXMLFile
-{
- my $ArrayContent_ref = shift;
-
- # get the number of elements of the array_ref
- my $Count = getContentCount($ArrayContent_ref);
-
- for (my $i = 0; $i < $Count;)
- {
- # get each content pair
- my $Content_ref = getContent($ArrayContent_ref, $i);
-
- # in each content pair the first element is either
- # a tag name or the value '0'
- my $FirstContent = getTagName($Content_ref);
-
- # we need the second part of the content pair to check
- # which value is inside
- my $SecondContent = getSecondContent($Content_ref);
-
- my $tempArray_ref = "";
- if (($FirstContent eq "task") or ($FirstContent eq "depend"))
- {
- my $dir = $Content_ref->[1]->[0]->{dir};
- $dir =~ s/\/$//;
- $Content_ref->[1]->[0]->{dir} = $dir;
- $i++;
- filterXMLFile($Content_ref);
- }
- elsif ($FirstContent eq "0")
- {
- # only if there is in the first part a '0' and in the
- # second part are whitespaces...
- if ($SecondContent =~ /\s+/)
- {
- # ...make a ref at this position
- $tempArray_ref = @$ArrayContent_ref[1];
-
- # and delete this element pair
- removeContent($tempArray_ref, $i);
-
- # now we have one element pair fewer
- $Count--;
- }
- else
- {
- # is there a '0' but in the second part not a whitespace,
- # increase 'i' by 1
- $i++;
- }
- }
- else
- {
- # if it's a tag name, increase 'i' by one and call recursive
- # the 'filterXMLFile' with the 'content ref'
- $i++;
-
- # look further after the '0' and whitespace content
- filterXMLFile($Content_ref);
- }
- }
-}
-
-########################################################################################
-# sub: removeContent
-# gets: $File_ref, $Count
-# optional: -
-# returns: -
-# description: removes the '0' and the whitespace based pairs of the XML structure
-# whitespace could be: tabs, new lines and whitespace itself
-########################################################################################
-sub removeContent
-{
- my $tempArray_ref = shift;
- my $i = shift;
-
- my $Start = (2*$i) + 1;
-
- splice(@$tempArray_ref, $Start, 2);
-}
-
-########################################################################################
-# sub: beginXMLStructure
-# gets: $ModuleData_ref
-# optional: -
-# returns: -
-# description: create a new beginning of the XML file structure
-########################################################################################
-sub beginXMLStructure
-{
- my $self = shift;
-
- # global variable for the complete filled data structure
- my $ModuleData_ref = createTag("build-list", {});
-
- $$self{"ModuleData"} = $ModuleData_ref;
-}
-
-########################################################################################
-# sub: insertContent
-# gets: $HigherLevelTag_ref, $currentTag_ref, $Pos
-# optional: -
-# returns: -
-# description: insert a content at the right (alphabetical sorted) position
-########################################################################################
-sub insertContent
-{
- my $HigherLevelTag_ref = shift;
- my $currentTag_ref = shift;
- my $Pos = shift;
-
- my $Array_ref = $HigherLevelTag_ref->[1];
-
- $Pos = ($Pos*2)+1;
-
- splice(@$Array_ref, $Pos, 0, @$currentTag_ref);
-}
-
-########################################################################################
-# sub: saveXMLFile
-# gets: $Path
-# optional: -
-# returns: -
-# description: creates a XML file of the whole data structure
-########################################################################################
-sub saveXMLFile
-{
- my $self = shift;
- my $Path = shift;
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- # open the filehandle 'CREATE_XML' for creating the XML files
- open (SAVE_XML, ">".$Path)
- or die "Error. Open the file <build.xlist> wasn't successful!\n\n";
-
- select SAVE_XML;
-
- print"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
- print"<!DOCTYPE build-list SYSTEM \"build_xlist.dtd\">\n";
- print"<!--\n"
- ."***************************************************************************\n"
- ."* \n"
- ."* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. \n"
- ."* \n"
- ."* Copyright 2008 by Sun Microsystems, Inc. \n"
- ."* \n"
- ."* OpenOffice.org - a multi-platform office productivity suite \n"
- ."* \n"
- ."* \$RCSfile: XMLBuildListParser.pm,v $ \n"
- ."* \n"
- ."* \$Revision: 1.3 $ \n"
- ."* \n"
- ."* This file is part of OpenOffice.org. \n"
- ."* \n"
- ."* OpenOffice.org is free software: you can redistribute it and/or modify \n"
- ."* it under the terms of the GNU Lesser General Public License version 3 \n"
- ."* only, as published by the Free Software Foundation. \n"
- ."* \n"
- ."* OpenOffice.org is distributed in the hope that it will be useful, \n"
- ."* but WITHOUT ANY WARRANTY; without even the implied warranty of \n"
- ."* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the \n"
- ."* GNU Lesser General Public License version 3 for more details \n"
- ."* (a copy is included in the LICENSE file that accompanied this code). \n"
- ."* \n"
- ."* You should have received a copy of the GNU Lesser General Public License \n"
- ."* version 3 along with OpenOffice.org. If not, see \n"
- ."* <http://www.openoffice.org/license.html> \n"
- ."* for a copy of the LGPLv3 License. \n"
- ."* \n"
- ."***************************************************************************\n"
- ."-->\n";
-
- printTag($ModuleData_ref);
-
- # flush the buffer
- # it's the same like the both lines below here, but we make it manually without module 'IO'
- # use IO::Handle;
- # SAVE_XML -> autoflush(1);
- $| = 1;
-
- select STDOUT;
-
- close (SAVE_XML);
-
-}
-
-########################################################################################
-# sub: printTag
-# gets: $Tag_ref
-# optional: -
-# returns: -
-# description: prints out each tag of the existing data structure (XML tree)
-########################################################################################
-sub printTag
-{
- my $Tag_ref = shift;
-
- # the first time we call this function the 'pos counter' has the default value of '0',
- # because it is for the begin tag -> it shouldn't have a distance to the left side
- my $PosCounter = shift || 0;
-
- # makes it possible that each tag has a specified distance from the left sided margin
- my $Distance = " " x $PosCounter;
-
- # it's possible that the content is a text(case 1) between a begin and end tag
- # or a tag name(case 2)
- # case 1: ( 0 , "Text between the begin and end tag" )
- my $TagName = getTagName($Tag_ref);
-
- if ($TagName eq "0")
- {
- print"$Tag_ref->[1]";
- }
- # case 2: ( "TagName" , (...) )
- else
- {
- # open the tag
- # only a new line if it is not the first tag
- print"\n" if ($PosCounter != 0);
- print $Distance."<".$TagName;
-
- my $Attributes_ref = getAttributesRef($Tag_ref);
-
- # print all sorted attributes of this tag
- foreach my $Attribute (sort keys %$Attributes_ref)
- {
- my $value = $$Attributes_ref{$Attribute};
- print" $Attribute=\"$value\"";
- }
-
- # get the number of elements of the array
- my $ContentCount = getContentCount($Tag_ref);
-
- # close the tag
- # if it is an empty tag create a '/' before we close it with '>'
- print"/" if ($ContentCount == 0);
- print">";
-
- # get and print all tags recursive
- for (my $i = 0; $i < $ContentCount; $i++)
- {
- # here we get the content of the current tag,
- # we rise the 'pos counter' that each level of tags
- # has a specified distance from the left side
- printTag(getContent($Tag_ref, $i), $PosCounter + 2);
- }
-
- # check that the tag has a text between the begin and end tag
- # first: had the tag further inner tags?
- if ($ContentCount > 0)
- {
- my $Content_ref = getContent($Tag_ref, 0);
- my $TagName = getTagName($Tag_ref);
- my $TagContent = getTagName($Content_ref);
-
- # if a tag has a begin tag and a following text, create the end tag behind the text
- print"</$TagName>" if ($TagContent eq "0");
-
- print"\n".$Distance."</$TagName>" if ($TagContent ne "0");
- }
- }
-}
-
-########################################################################################
-# sub: getTagName
-# gets: $Content_ref
-# optional: -
-# returns: $TagName
-# description: gets a reference of an array and returns the tag name at position '0'
-########################################################################################
-sub getTagName
-{
- my $Content_ref = shift;
-
- my $TagName = $$Content_ref[0];
-
- return $TagName;
-}
-
-########################################################################################
-# sub: getSecondContent
-# gets: $Content_ref
-# optional: -
-# returns: $SecondContent
-# description: gets a reference of an array and returns the second value(index '1')
-########################################################################################
-sub getSecondContent
-{
- my $Content_ref = shift;
-
- my $SecondContent = $$Content_ref[1];
-
- return $SecondContent;
-}
-
-########################################################################################
-# sub: createSortKey
-# gets: $DependencyType, $DepModuleName
-# optional: -
-# returns: $SortKey
-# description: creates a key with a number(depending of the dependency type)
-# and a string and returns it
-########################################################################################
-sub createSortKey
-{
- my $DependencyType = shift;
- my $DepModuleName = shift;
-
- my $DepTypeAsValue = 0;
-
- if ($DependencyType eq "md-simple")
- {
- $DepTypeAsValue = 1;
- }
- elsif ($DependencyType eq "md-always")
- {
- $DepTypeAsValue = 2;
- }
- elsif ($DependencyType eq "md-force")
- {
- $DepTypeAsValue = 3;
- }
-
- my $SortKey = $DepTypeAsValue.$DepModuleName;
-
- return $SortKey;
-}
-
-########################################################################################
-# sub: searchTag
-# gets: $TagName, $Tag_ref
-# optional: -
-# returns: $TagValues_ref
-# description: gets a reference and goes in the lower level tag,
-# looks after the specified tag name and returns the reference
-# of itself and the neighbour element
-########################################################################################
-sub searchTag
-{
- my $TagName = shift;
- my $Tag_ref = shift;
-
- my $TagSerie_ref = $Tag_ref->[1];
-
- # (all elements of the array) - 1 => highest index of the array
- my $IndexEnd = scalar(@$TagSerie_ref)-1;
-
- my $TagValues_ref = undef;
-
- for (my $i = 1; $i <= $IndexEnd; $i += 2)
- {
- if ($TagSerie_ref->[$i] eq $TagName)
- {
- @$TagValues_ref = @$TagSerie_ref[$i..$i+1];
-
- last;
- }
- }
-
- return $TagValues_ref;
-}
-
-########################################################################################
-# sub: createTag
-# gets: $TagName, $Attribute_ref
-# optional: -
-# returns: $Tag_ref
-# description: creates an anonymous array with a tag name and the reference of its
-# attributes; then returns the reference of this array
-########################################################################################
-sub createTag
-{
- my $TagName = shift;
- my $Attribute_ref = shift;
-
- my $Tag_ref = [$TagName, [$Attribute_ref]];
-
- return $Tag_ref;
-}
-
-########################################################################################
-# sub: createText
-# gets: $Text
-# optional: -
-# returns: $TagText_ref
-# description: creates an anonymous array(which contains a '0' and a string)
-# for the data structure and returns a reference of it
-########################################################################################
-sub createText
-{
- my $Text = shift;
-
- my $TagText_ref = [0, $Text];
-
- return $TagText_ref;
-}
-
-########################################################################################
-# sub: addContent
-# gets: $Tag_ref, $NextInfos_ref
-# optional: -
-# returns: -
-# description: creates and adds a tag with its following content
-########################################################################################
-sub addContent
-{
- # '$NextInfos_ref' has two infos:
- # either: '0' and a string -> [Tag, [{}, 0 , string ]]
- # or: 'tag' and a ref of a anonymous array -> [Tag, [{}, newTag, [.....] ]]
- my $Tag_ref = shift;
- my $NextInfos_ref = shift;
-
- my $SecondPart_ref = $Tag_ref->[1];
-
- # '$Tag_ref' gets now the right structure:
- # e.g. ['tag1', [{}, 0, "text of tag1" ...]...]
- # or ['tag1', [{}, 'tag2', [...] ...]...]
- push(@$SecondPart_ref, @$NextInfos_ref);
-}
-
-########################################################################################
-# sub: getContent
-# gets: $Tag_ref, $i
-# optional: -
-# returns: \@Content (ref of array 'content')
-# description: creates and returns a reference of an array with two elements,
-# which are a part of the array of the current tag
-########################################################################################
-sub getContent
-{
- my $Tag_ref = shift;
- my $i = shift;
-
- # e.g.
- # [ "tag 1", [ {} , 0 , "string", "tag 2", [{}..], "tag 3", [{}..], ..] ..]
- # $Tag_ref [ [0] [1] ..]
- # $Content_ref [ [0] [1] [2] [3] [4] [5] [6] ..]
-
- my $Content_ref = $$Tag_ref[1];
-
- # '$start' contains: elements with the index 1, 3, 5 ...(and so on)
- # '$end' contains: elements with the index 2, 4, 6 ...(and so on)
- my $start = (2 * $i) + 1;
- my $end = $start + 1;
-
- my @Content = @$Content_ref[$start..$end];
-
- return \@Content;
-}
-
-########################################################################################
-# sub: getAttribute
-# gets: $Tag_ref, $AttributeName
-# optional: -
-# returns: $Attribute
-# description: finds and returns an attribute as a string
-########################################################################################
-sub getAttribute
-{
- my $Tag_ref = shift;
- my $AttributeName = shift;
-
- # [ "tag1", [ { attribute1 = "..", attribute2 = ".." } , "tag2"... ] ]
- # Tag_ref [ [0] [1] ] ]
- # [ [0]->'attribute1' , [0]->'attribute2' , [1] ... ] ]
-
- # get the scalar of the value of the 'AttributeName' in the anonymous hash
- my $Attribute = $Tag_ref->[1]->[0]->{$AttributeName};
-
- return $Attribute;
-}
-
-########################################################################################
-# sub: getAttributeRef
-# gets: $Tag_ref
-# optional: -
-# returns: $Attribute_ref
-# description: finds and returns the reference of the hash which contains the attributes
-########################################################################################
-sub getAttributesRef
-{
- my $Tag_ref = shift;
-
- # [ "tag1", [ { attribute1 = "..", attribute2 = ".." } , "tag2"... ] ]
- # Tag_ref [ [0] [1] ] ]
- # [ [0] , [1] ] ]
-
- # get the reference of the anonymous hash
- my $Attribute_ref = $Tag_ref->[1]->[0];
-
- return $Attribute_ref;
-}
-
-########################################################################################
-# sub: getContentCount
-# gets: $Tag_ref
-# optional: -
-# returns: $IndexValue
-# description: returns the sum of elements pairs of the array (less the anonymous hash)
-########################################################################################
-sub getContentCount
-{
- my $Tag_ref = shift;
-
- # get the content array (address of the inner array)
- my $Content_ref = $$Tag_ref[1];
-
- # get the number of the element pairs of the array (without the anonymous hash)
- my $IndexValue = scalar(@$Content_ref);
- $IndexValue = ($IndexValue-1)/2;
-
- return $IndexValue;
-}
-
-########################################################################################
-# sub: getIterationData
-# gets: $TagName
-# optional: -
-# returns: $IndexValue, $TagDepend_ref
-# description: gets a tag name and returns the sum of elements pairs of the array
-# (less the anonymous hash) and the reference of the anonymous array
-########################################################################################
-sub getIterationData
-{
- my $self = shift;
- my $TagName = shift;
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- my $TagDepend_ref = searchTag($TagName, $ModuleData_ref);
- my $IndexValue = getContentCount($TagDepend_ref);
-
- return ($IndexValue, $TagDepend_ref);
-}
-
-########################################################################################
-# sub: printErrorMessage
-# gets: $BuildReqPlatforms or $Platforms or $Products
-# optional: -
-# returns: -
-# description: it's an error, if a platform or a product content (e.g.'so oo')
-# has at least one valid value and also the value 'all',
-# because 'all' includes all other possible values
-########################################################################################
-sub printErrorMessage
-{
- my $self = shift;
- my $Content = shift;
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- my $Module_ref = searchTag("module-name", $ModuleData_ref);
- my $ModuleContent_ref = getContent($Module_ref, 0);
- my $Module = @$ModuleContent_ref[1];
-
- print"Error in module <$Module> in Content <$Content>!\n";
- print"The value 'all' includes all currently existing valid values.\n\n";
-}
-
-########################################################################################
-# sub: adjustRedundancy
-# gets: $Task_ref, $JobPlatform, $BuildReq_ref
-# optional: -
-# returns: -
-# description: the tag <task> (it means 'job') should be created with no redundant infos,
-# like: <task dir="/uno" platform="unx"> ...
-# <task dir="/uno" platform="wnt"> ...
-# <build-requirement name="test10" platform="wnt">
-#
-# it should be: <task dir="/uno" platform="unx wnt">
-# <build-requirement name="test10" platform="wnt">
-########################################################################################
-sub adjustRedundancy
-{
- my $Task_ref = shift;
- my $JobPlatform = shift;
- my $BuildReq_ref = shift;
-
- my %sortedJobPlatforms = ();
- my @JobPlatforms = ();
- my $PlatformContent = "";
-
- # get the 'task platforms' in one content
- my $Attributes_ref = getAttributesRef($Task_ref);
-
- # get the existing 'task platform'
- my $existingPlatform = getAttribute($Task_ref, "platform");
- $existingPlatform = "all" if (!($existingPlatform));
-
- if ( ($existingPlatform ne "all") && ($JobPlatform ne "all") )
- {
- # get the sorted platform content
- $sortedJobPlatforms{$JobPlatform} = "";
- $sortedJobPlatforms{$existingPlatform} = "";
-
- @JobPlatforms = sort keys %sortedJobPlatforms;
-
- $PlatformContent = join " ", @JobPlatforms;
-
- $$Attributes_ref{"platform"} = $PlatformContent;
- }
- elsif ( ($existingPlatform ne "all") && ($JobPlatform eq "all") )
- {
- delete $$Attributes_ref{"platform"};
- }
-
- if ($BuildReq_ref)
- {
- my $JobType_ref = getContent($Task_ref, 0);
-
- # if it exists add the 'build requirements' at the
- # previous(with the same directory as the current) <task> tag
- addBuildReq($JobType_ref, $BuildReq_ref);
- }
-}
-
-########################################################################################
-# sub: addBuildReq
-# gets: $JobTypeInfos_ref, $BuildReq_ref
-# optional: -
-# returns: -
-# description: add the 'build requirements' to the existing data structure
-# case 1: if the 'job directory' is not redundant
-# case 2: if it is redundant create it to the first existing 'job'
-########################################################################################
-sub addBuildReq
-{
- my $JobTypeInfos_ref = shift;
- my $BuildReq_ref = shift;
-
- my @sortedBuildReqPlatforms = ();
-
- foreach my $BuildReqName (sort keys %$BuildReq_ref)
- {
- my $BuildReqPlatforms = $$BuildReq_ref{$BuildReqName};
-
- $BuildReqPlatforms = "all" if (!($BuildReqPlatforms));
-
- my $Attributes_ref = {"name" => "$BuildReqName"};
-
- # it's wrong, if in a platform content(e.g. "unx wnt") are at least
- # one or more platform(s) and within a 'all' term,
- # because 'all' is default and means it includes all other possible values!
- if ( ($BuildReqPlatforms ne "all") && ($BuildReqPlatforms =~ /\ball\b/) )
- {
- printErrorMessage($BuildReqPlatforms);
- }
- elsif (!($BuildReqPlatforms =~ /\ball\b/))
- {
- @sortedBuildReqPlatforms = sort(split(/\s+/, $BuildReqPlatforms));
- $BuildReqPlatforms = join " ", @sortedBuildReqPlatforms;
-
- $$Attributes_ref{"platform"} = "$BuildReqPlatforms";
- }
-
- # create the tag <build-requirement>
- my $BuildReqInfos_ref = createTag("build-requirement", $Attributes_ref);
-
- # append the <build-requirement> tag to the <'$JobType'> tag
- addContent($JobTypeInfos_ref, $BuildReqInfos_ref);
- }
-}
-
-########################################################################################
-# sub: checkJobRedundancy
-# gets: $Task_ref, $JobType, $DependingDirs_ref, $JobPlatform, $BuildReq_ref
-# optional: -
-# returns: $LineIsRedundant
-# description: checks whether the values of the 'job' line are redundant, like:
-# 'job dir', 'job'(e.g.: make) and 'depending dirs'
-########################################################################################
-sub checkJobRedundancy
-{
- my $Task_ref = shift;
- my $JobType = shift;
- my $DependingDirs_ref = shift;
- my $JobPlatform = shift;
- my $BuildReq_ref = shift;
-
- my $LineIsRedundant = 0;
-
-
- # get the ref of the existing 'depending directories'
- # if they also equal with the current 'depending directories',
- # make one tag instead of two, which differences only in the platform
- # (and the 'build requirement', if it exists)
- my $JobType_ref = getContent($Task_ref, 0);
- my $JobName = getTagName($JobType_ref);
-
- # get the existing 'task platform'
- my $existingPlatform = getAttribute($Task_ref, "platform");
-
- # are the jobs equal?
- if ($JobType eq $JobName)
- {
- my @existingDepDirs = ();
-
- my $IndexEnd = getContentCount($JobType_ref);
-
- # get all existing 'depending dirs' of this redundant 'job'
- for (my $j = 0; $j < $IndexEnd; $j++)
- {
- my $Content_ref = getContent($JobType_ref, $j);
-
- my $TagName = getTagName($Content_ref);
-
- # create an array of the 'depending directories'
- if ($TagName eq "depend")
- {
- my $DepDir = getAttribute($Content_ref, "depend");
-
- push(@existingDepDirs, $DepDir);
- }
- }
-
- # if now the current 'depending dirs' equal with the existing,
- # we know that is redundant and have to create only one instead
- # of two tags, e.g.
- # before: <task dir="/uno" platform="unx">...
- # <task dir="/uno" platform="wnt"> ...
- # <build-requirement name="test10" platform="wnt">
- #
- # it should be: <task dir="/uno" platform="unx wnt">
- # <build-requirement name="test10" platform="wnt">
- if (@$DependingDirs_ref eq @existingDepDirs)
- {
- $LineIsRedundant = 1;
-
- # check redundant directories and create no redundant 'task dirs'
- adjustRedundancy($Task_ref, $JobPlatform, $BuildReq_ref);
- }
- }
-
- return $LineIsRedundant;
-}
-
-########################################################################################
-# sub: existsTag
-# gets: $TagName
-# optional: -
-# returns: $TagExists_ref
-# description: checks whether that a tag exists and returns the ref of the content
-########################################################################################
-sub existsTag
-{
- my $self = shift;
- my $TagName = shift;
-
- my $TagExists_ref = undef;
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- # check whether that the <module-depend> tag exists
- $TagExists_ref = searchTag($TagName, $ModuleData_ref);
-
- return $TagExists_ref;
-}
-
-########################################################################################
-# API - (internal) 'set/add' methods #
-########################################################################################
-
-########################################################################################
-# sub: setModuleName
-# gets: $ModuleName
-# optional: -
-# returns: -
-# description: gets the name of the current module and set it at the right position
-# in the data structure
-########################################################################################
-sub setModuleName
-{
- my $self = shift;
- my $ModuleName = shift;
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- my $Tag_ref = createTag("module-name", {});
- my $TagText_ref = createText($ModuleName);
-
- addContent($Tag_ref, $TagText_ref);
-
- addContent($ModuleData_ref, $Tag_ref);
-}
-
-########################################################################################
-# sub: addModuleDependencies
-# gets: $ModuleName, $DependencyType, $Products
-# optional: $Products(default: 'all' -> includes currently 'so' and 'oo')
-# but the default should not set in the data structure,
-# it's only a 'Document Type Definition' based term
-# returns: -
-# description: add the module dependencies and their attributes into the data structure
-########################################################################################
-sub addModuleDependencies
-{
- my $self = shift;
- my $ModuleName = shift;
- my $DependencyType = shift;
- my $Products = shift || "all";
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- my @sortedProducts = ();
-
- # change all possible upper cases to lower cases
- $Products =~ s/($Products)/\L$Products/;
-
- # before we add the module dependencies, we have to prove that the <module-depend> tag was set
- # because this tag must be set once before the module dependency tags begin
- my $ModuleDepend_ref = searchTag("module-depend", $ModuleData_ref);
-
- # if it doesn't exist, create this tag '<module-depend>'
- if (!($ModuleDepend_ref))
- {
- $ModuleDepend_ref = createTag("module-depend", {});
-
- # add it to the global data structure
- addContent($ModuleData_ref, $ModuleDepend_ref);
- }
-
- my $Attributes_ref = {"module" => "$ModuleName"};
-
- # it's wrong, if in a product content(e.g. "so") are at least
- # one or more product(s) and within a 'all' term,
- # because 'all' is default and means it includes all other possible values!
- if ( ($Products ne "all") && ($Products =~ /\ball\b/) )
- {
- printErrorMessage($Products);
- }
- elsif (!($Products =~ /\ball\b/))
- {
- @sortedProducts = sort(split(/\s+/ ,$Products));
- $Products = join " ", @sortedProducts;
-
- $$Attributes_ref{"product"} = "$Products";
- }
-
- my $ModuleDependenciesInfos_ref = createTag("$DependencyType", $Attributes_ref);
-
- my $currentKey = createSortKey($DependencyType, $ModuleName);
-
- # search and get the position in which we have to insert the current 'module depend name'
- # at first get the current 'module depend name'
- my $currentName = getAttribute($ModuleDependenciesInfos_ref, "module");
-
- # get the information about the number of 'Contents'(= elements) of the array
- my $ContentCount = getContentCount($ModuleDepend_ref);
-
- # we have to sort the serie of the 'name' contents,
- # therefore we need a 'Pos'(position) of the array in which we want to sort in the 'name' content
- my $Pos = 0;
-
- # and we need a control variable 'isInsert'
- # that we won't add the 'name' and the content more than one time
- my $isInsert = 0;
-
- for (my $i = 0; $i < $ContentCount; $i++)
- {
- # get each 'Content' of the array = ('task', ARRAY(...))
- my $Content_ref = getContent($ModuleDepend_ref, $i);
- my $TagName = getTagName($Content_ref);
-
- # get the existing 'task dir' to compare it with the current 'task dir'
- my $existingName = getAttribute($Content_ref, "module");
-
- my $existingKey = createSortKey(getTagName($Content_ref), $existingName);
-
- # compare both dirs...
- # only if the 'current dir' is lower than a 'existing dir'
- # insert it in the data structure
- if ($currentKey lt $existingKey)
- {
- $Pos = $i;
-
- insertContent($ModuleDepend_ref, $ModuleDependenciesInfos_ref, $Pos);
-
- $isInsert = 1;
-
- last;
- }
- }
- # only if the 'current name' is greater (or equal) than the other 'existing names'
- # insert it at the end of the data structure
- addContent($ModuleDepend_ref, $ModuleDependenciesInfos_ref) if ($isInsert == 0);
-}
-
-########################################################################################
-# sub: addJob
-# gets: $Dir, $JobType, $JobPlatform, $DependingDirs_ref, $BuildReq_ref,
-# $JobPlatform, $DependingDirs_ref, $BuildReq_ref
-# optional: $JobPlatform(default: 'all' -> includes all other possible values),
-# $DependingDirs_ref, $BuildReq_ref
-# returns: -
-# description: add the infos about a job from the old build lists(by ascii parser) and
-# sort it in the data structure
-########################################################################################
-sub addJob
-{
- my $self = shift;
- my $Dir = shift;
- my $JobType = shift;
- my $JobPlatform = shift || "all";
- my $DependingDirs_ref = shift;
- my $BuildReq_ref = shift;
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- # before we add the "build" tag, we have to prove that the <build> tag was set
- # because this tag must be set once before the job tag(s) follows
- my $buildTag_ref = searchTag("build", $ModuleData_ref);
-
- # if it doesn't exist, create the tag '<build>'
- if (!($buildTag_ref))
- {
- # If the tag wasn't found, create it
- $buildTag_ref = createTag("build", {});
-
- # add it to the global data structure
- addContent($ModuleData_ref, $buildTag_ref);
- }
-
- my $Attributes_ref = {"dir" => "$Dir"};
-
- # it's wrong, if a 'job platform' content(e.g. "unx wnt") has at least
- # one or more 'job platform(s)' and an 'all' term,
- # because 'all' is default and means it includes all other possible values
- if ( ($JobPlatform ne "all") && ($JobPlatform =~ /\ball\b/) )
- {
- printErrorMessage($JobPlatform);
- }
- elsif (!($JobPlatform =~ /\ball\b/))
- {
- my @sortedPlatforms = sort(split /\s+/, $JobPlatform);
- $JobPlatform = join " ", @sortedPlatforms;
-
- $$Attributes_ref{"platform"} = "$JobPlatform";
- }
-
- # create the tags: <task>, <make> and (if it exists)...
- # <depend> and/or <build-requirement>
- my $taskInfos_ref = createTag("task", $Attributes_ref);
-
- # search and get the position in which we have to insert the current task
- # at first get the current 'task directory'
- my $currentDir = getAttribute($taskInfos_ref, "dir");
-
- # get the information about the number of 'Contents'(= elements) of the array
- my $IndexValue = getContentCount($buildTag_ref);
-
- # we have to sort the serie of the 'task contents',
- # therefore we need a '$pos'(position) of the array in which we want to sort in the 'task content'
- my $Pos = 0;
-
- # and we need a control variable 'isInsert'
- # that we won't add the 'task content' more than one time
- my $isInsert = 0;
-
- # control variable for the redundancy check
- my $LineIsRedundant = 0;
-
- # go in the array of the corresponding <build> tag element
- for (my $i = 0; $i < $IndexValue; $i++)
- {
- # get each content of the <build> tag => ('task1', ARRAY1(...), task2...)
- my $Task_ref = getContent($buildTag_ref, $i);
-
- # get the existing 'task dir' to compare it with the current 'task dir'
- my $existingDir = getAttribute($Task_ref, "dir");
-
- # is the 'job dir' redundant?
- if ($currentDir eq $existingDir)
- {
- $LineIsRedundant = checkJobRedundancy($Task_ref, $JobType, $DependingDirs_ref, $JobPlatform, $BuildReq_ref);
- }
-
- # if it's not a redundant line, compare both dirs:
- # only if the 'current dir' is lower than an 'existing dir'
- # insert it in the data structure
- if ( ($LineIsRedundant == 0) && ($currentDir lt $existingDir) )
- {
- $Pos = $i;
-
- insertContent($buildTag_ref, $taskInfos_ref, $Pos);
-
- $isInsert = 1;
-
- last;
- }
- }
-
- # only if the 'current dir' is greater (or equal) than the other 'existing dirs'
- # and it is not redundant insert it at the end of the data structure
- if ( ($isInsert == 0) && ($LineIsRedundant == 0) )
- {
- addContent($buildTag_ref, $taskInfos_ref);
- }
-
- if ($LineIsRedundant == 0)
- {
- # create the <'$JobType'> tag
- my $JobTypeInfos_ref = createTag($JobType, {});
-
- # append the <'$JobType'> tag to the <task> tag
- addContent($taskInfos_ref, $JobTypeInfos_ref);
-
- # before we add the "depend" infos
- # we have to get the alphabetical sorted 'Depending Directories'
- @$DependingDirs_ref = sort(@$DependingDirs_ref) if ($DependingDirs_ref);
-
- foreach my $DependDir (@$DependingDirs_ref)
- {
- my $DependInfos_ref = createTag("depend", {"dir" => "$DependDir"});
-
- # append the <depend> tag to the <'$JobType'> tag
- addContent($JobTypeInfos_ref, $DependInfos_ref);
- }
-
- # if a 'build requirement' exists, create the tag <build-requirement>
- if ($BuildReq_ref)
- {
- addBuildReq($JobTypeInfos_ref, $BuildReq_ref);
- }
- }
-}
-
-########################################################################################
-# end of (internal) 'set/add' methods #
-########################################################################################
-
-
-########################################################################################
-# API - (external) 'get' methods #
-########################################################################################
-
-########################################################################################
-# sub: getModuleDependencies
-# gets: $Product, $DependencyType
-# optional: $Product(default: 'all', means all currently used valid values),
-# $DependencyType(default: 'md-simple', 'md-always' and 'md-force')
-# returns: @ModuleDependencies
-# description: gets a ref of an array (with the products) and creates and
-# returns an array with the sorted depending modules
-########################################################################################
-sub getModuleName {
- my $self = shift;
- if ($self->existsTag("module-name")) {
- my ($IndexValue, $ModuleDepend_ref) = $self->getIterationData("module-name");
- return $$ModuleDepend_ref[1][2];
- };
- return "";
-
-};
-sub getModuleDependencies
-{
- my $self = shift;
- my $Products_ref = shift;
- my $DependencyType = shift || "all";
-
- push(@$Products_ref, "all") if (!scalar @$Products_ref);
-
- my $Product = "";
- my %tempModuleDeps = ();
- my @ModuleDependencies = ();
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- # check whether that the <module-depend> tag exists
- if ($self->existsTag("module-depend"))
- {
- # change all possible upper cases to lower cases
- $DependencyType =~ s/($DependencyType)/\L$DependencyType/ if ($DependencyType ne "all");
-
- foreach $Product (@$Products_ref)
- {
- # change all possible upper cases to lower cases
- $Product =~ s/($Product)/\L$Product/;
-
- my $ProductContent = undef;
- my $ModuleDependencyName = "";
-
- # get the number of elements and the ref of the <module-depend> tag
- my ($IndexValue, $ModuleDepend_ref) = $self->getIterationData("module-depend");
-
- for (my $i = 0; $i < $IndexValue; $i++)
- {
- my $Content_ref = getContent($ModuleDepend_ref, $i);
-
- my $ModuleDependencyName = getAttribute($Content_ref, "module");
-
- # get the name of each existing tag
- my $TagName = getTagName($Content_ref);
-
- $ProductContent = getAttribute($Content_ref, "product");
-
- # if the attribute 'product' wasn't set in the internal data structure,
- # it means the default of 'all' is valid and includes all other possible values
- $ProductContent = "all" if (!($ProductContent));
-
- if ($Product ne "all")
- {
- if ($DependencyType ne "all")
- {
- # if the caller wants all (e.g.)'so' product based dependency types,
- # we must get the 'so' and the 'all' matching products
- # because 'all' matches also the product 'so'
- if ( ($DependencyType eq $TagName) &&
- ((($ProductContent eq "all") || $ProductContent =~ /\b($Product)\b/)) )
- {
- $tempModuleDeps{$ModuleDependencyName} = "";
-
- print"ModuleDeps (Product != 'all' && DepType != 'all') = <$ModuleDependencyName>\n" if ($Debug);
- }
- }
- # we get from the caller only the 'product' parameter,
- # 'dependency type' is now 'all'(default) and includes all possible values
- elsif ( ($ProductContent =~ /\b($Product)\b/) || ($ProductContent eq "all") )
- {
- $tempModuleDeps{$ModuleDependencyName} = "";
-
- print"ModuleDeps (Product != 'all' && DepType = 'all') = <$ModuleDependencyName>\n" if ($Debug);
- }
- }
- # now the product is 'all' and we only need to check the 'dependency type'
- elsif ($DependencyType ne "all")
- {
- if ($DependencyType eq $TagName)
- {
- $tempModuleDeps{$ModuleDependencyName} = "";
-
- print"ModuleDeps (Product = 'all' && DepType != 'all') = <$ModuleDependencyName>\n" if ($Debug);
- }
- }
- else
- {
- $tempModuleDeps{$ModuleDependencyName} = "";
-
- print"ModuleDeps (Product = 'all' && DepType = 'all') = <$ModuleDependencyName>\n" if ($Debug);
- }
- }
- }
-
- @ModuleDependencies = sort keys %tempModuleDeps;
- }
-
- print"ModuleDependencies = <@ModuleDependencies>\n" if ($Debug);
-
- return @ModuleDependencies;
-}
-
-########################################################################################
-# sub: getModuleDepType
-# gets: $DepModuleName
-# optional: -
-# returns: $DependencyType
-# description: gets a module name and returns the dependency type of it
-########################################################################################
-sub getModuleDepType
-{
- my $self = shift;
- my $DepModuleName = shift;
-
- my $DependencyType = "";
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- # check whether that the <module-depend> tag exists
- if ($self->existsTag("module-depend"))
- {
- # change all possible upper cases to lower cases
- $DepModuleName =~ s/($DepModuleName)/\L$DepModuleName/;
-
- my ($IndexValue, $ModuleDepend_ref) = $self->getIterationData("module-depend");
-
- for (my $i = 0; $i < $IndexValue; $i++)
- {
- my $Content_ref = getContent($ModuleDepend_ref, $i);
- my $existingModuleName = getAttribute($Content_ref, "module");
-
- if ($DepModuleName eq $existingModuleName)
- {
- $DependencyType = getTagName($Content_ref);
- last;
- }
- }
- }
-
- print"DependencyType = <$DependencyType>\n" if ($Debug);
-
- return $DependencyType;
-}
-
-########################################################################################
-# sub: getModuleProducts
-# gets: $DepModuleName
-# optional: -
-# returns: @ModuleProducts
-# description: gets a module name and returns the associated products
-########################################################################################
-sub getModuleProducts
-{
- my $self = shift;
- my $DepModuleName = shift;
-
- my @ModuleProducts = ();
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- # check whether that the <module-depend> tag exists
- if ($self->existsTag("module-depend"))
- {
- # change all possible upper cases to lower cases
- $DepModuleName =~ s/($DepModuleName)/\L$DepModuleName/;
-
- my $ProductContent = undef;
-
- my ($IndexValue, $ModuleDepend_ref) = $self->getIterationData("module-depend");
-
- for (my $i = 0; $i < $IndexValue; $i++)
- {
- my $Content_ref = getContent($ModuleDepend_ref, $i);
-
- my $existingModuleName = getAttribute($Content_ref, "module");
-
- # if the attribute 'product' wasn't set in the internal data structure,
- # it means the default of 'all' is valid and includes all other possible values
- $ProductContent = getAttribute($Content_ref, "product");
-
- if ($DepModuleName eq $existingModuleName)
- {
- $ProductContent = "all" if (!($ProductContent));
-
- @ModuleProducts = split /\s+/, $ProductContent;
-
- last;
- }
- }
- }
-
- print"Products = <@ModuleProducts>\n" if ($Debug);
-
- return @ModuleProducts;
-}
-
-########################################################################################
-# sub: getProducts
-# gets: -
-# optional: -
-# returns: @ModuleProducts
-# description: returns the products of the whole depending modules
-# each found product name may occurs only once in the module products array
-########################################################################################
-sub getProducts
-{
- my $self = shift;
- my $ProductContent = undef;
- my @tempProducts = ();
- my @ModuleProducts = ();
- my %Products = ();
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- # check whether that the <module-depend> tag exists
- if ($self->existsTag("module-depend"))
- {
- my ($IndexValue, $ModuleDepend_ref) = $self->getIterationData("module-depend");
-
- for (my $i = 0; $i < $IndexValue; $i++)
- {
- my $Content_ref = getContent($ModuleDepend_ref, $i);
-
- $ProductContent = getAttribute($Content_ref, "product");
-
- # if the attribute 'product' wasn't set in the internal data structure,
- # it means the default of 'all' is valid and includes all other possible values
- # but here we need only all 'not-all' values!
- if (!($ProductContent))
- {
- $ProductContent="";
- }
- else
- {
- # here are the products of the current depending module
- @tempProducts = split /\s+/, $ProductContent;
-
- foreach my $Product (@tempProducts)
- {
- $Products{$Product} = "";
- }
- }
- }
-
- # fill the sorted 'module products' in the array
- @ModuleProducts = sort keys %Products;
- }
-
- print"All ModuleProducts = <@ModuleProducts>\n" if ($Debug);
-
- return @ModuleProducts;
-}
-
-########################################################################################
-# sub: getJobDirectories
-# gets: $JobType, $JobPlatform
-# optional: $JobType, $JobPlatform(default: 'all' -> includes all possible values)
-# returns: @JobDirectories
-# description: creates and returns an array with the sorted directories, which
-# fulfil the expected values of the job type and the job platform
-########################################################################################
-sub getJobDirectories
-{
- my $self = shift;
- my $JobType = shift;
- my $JobPlatform = shift || "all";
-
- my @JobDirectories = ();
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- # check whether that the <build> tag exists
- if ($self->existsTag("build"))
- {
- # change all possible upper cases to lower cases
- $JobType =~ s/($JobType)/\L$JobType/ if ($JobType);
- $JobPlatform =~ s/($JobPlatform)/\L$JobPlatform/ if ($JobPlatform ne "all");
-
- my $PlatformContent = undef;
- my %tempJobDirectories = ();
-
- # get the ref of the <build> tag
- my ($IndexValue, $Build_ref) = $self->getIterationData("build");
-
- for (my $i = 0; $i < $IndexValue; $i++)
- {
- my $Content_ref = getContent($Build_ref, $i);
-
- my $PlatformContent = getAttribute($Content_ref, "platform");
- my $existingDir = getAttribute($Content_ref, "dir");
-
- # three cases are possible...
- if ($JobType)
- {
- my $JobType_ref = getContent($Content_ref, 0);
- my $existingJobType = getTagName($JobType_ref);
-
- # if the attribute 'job platform' wasn't set in the internal data structure,
- # it means the default of 'all' is valid and includes all other possible values
- $PlatformContent = "all" if (!($PlatformContent));
-
- # first case: we get from the caller the parameters 'job type' and 'job platform'
- if ($JobPlatform ne "all")
- {
- # if the caller wants all e.g.'wnt' job platform based directories,
- # we have to get the 'wnt' or the 'all' matching platform
- # because 'all' includes also 'wnt'
- if ( ($JobType eq $existingJobType) &&
- (($PlatformContent =~ /\b($JobPlatform)\b/) || ($PlatformContent eq "all")) )
- {
- $tempJobDirectories{$existingDir} = "";
- }
- }
- # second case: we get from the caller only the 'job type' parameter
- # 'job platform' is now 'all'(default) and includes all possible values
- elsif ($JobType eq $existingJobType)
- {
- $tempJobDirectories{$existingDir} = "";
- }
- }
- # third case: we get from the caller no parameter; now we take each existing 'job directory',
- # no matter which 'job type' and 'job platform' it has
- else
- {
- $tempJobDirectories{$existingDir} = "";
- }
- }
-
- # sort each unique 'job directory' alphabetical
- @JobDirectories = sort keys %tempJobDirectories;
- }
- print"JobDirectories = <@JobDirectories>\n" if ($Debug);
-
- return @JobDirectories;
-}
-
-########################################################################################
-# sub: getDirDependencies
-# gets: $Dir, $JobType, $JobPlatform
-# optional: $JobPlatform(default: 'all' -> includes all possible values)
-# returns: @JobDependencies
-# description: creates and returns an array with the sorted depending directories
-########################################################################################
-sub getDirDependencies
-{
- my $self = shift;
- my $Dir = shift;
- my $JobType = shift;
- my $JobPlatform = shift || "all";
-
- my @JobDependencies = ();
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- # check whether that the <build> tag exists
- if ($self->existsTag("build"))
- {
- # change all possible upper cases to lower cases
- $JobType =~ s/($JobType)/\L$JobType/;
- $JobPlatform =~ s/($JobPlatform)/\L$JobPlatform/ if ($JobPlatform ne "all");
-
- my $PlatformContent = undef;
- my %tempJobDependencies = ();
-
- # first we need a reference of the higher level tag <build>
- my ($IndexValue, $Build_ref) = $self->getIterationData("build");
-
- # get all 'job directories' with the matching values of the 'job type' and the 'job platform'
- my @tempDepDirs = ();
- @tempDepDirs = $self->getJobDirectories($JobType, $JobPlatform);
-
- # get each content of the <build> tag
- for (my $i = 0; $i < $IndexValue; $i++)
- {
- # get the ref of the content of the <build> tag
- my $Task_ref = getContent($Build_ref, $i);
-
- # get both attributes: 'job dir' and 'job platform'
- my $existingDir = getAttribute($Task_ref, "dir");
- my $PlatformContent = getAttribute($Task_ref, "platform");
-
- # if the attribute 'job platform' wasn't set in the internal data structure,
- # it means the default of 'all' is valid and includes all other possible values
- $PlatformContent = "all" if (!($PlatformContent));
-
- # get the 'job type' ref which is inside the <task> tag on position '0'
- my $JobType_ref = getContent($Task_ref, 0);
-
- my $existingJobType = getTagName($JobType_ref);
-
- if ( ($Dir eq $existingDir) && ($JobType eq $existingJobType) )
- {
- # each 'job type' can have several 'depends' and 'build requirements'
- # here we get the number of the including elements
- my $IndexEnd = getContentCount($JobType_ref);
-
- for (my $j = 0; $j < $IndexEnd; $j++)
- {
- # create a ref of the existing content
- my $Content_ref = getContent($JobType_ref, $j);
-
- # the content_ref can be 'depend' or 'build requirement'
- # but we only need the 'depend' informations
- next if (getTagName($Content_ref) ne "depend");
-
- # get the 'depend dir'
- my $DependDir = getAttribute($Content_ref, "dir");
-
- # look in the list of all existing 'job directories'
- foreach my $DepDir (@tempDepDirs)
- {
- # get it, if one of these 'job dirs' is equal with one of the 'depending dirs'
- if ($DepDir eq $DependDir)
- {
- # get all unique values only once
- $tempJobDependencies{$DepDir} = "";
- }
- }
- }
- }
- }
-
- # get the unique sorted values in the array
- @JobDependencies = sort keys %tempJobDependencies;
- }
-
- print"Depending Dirs = <@JobDependencies>\n" if ($Debug);
-
- return @JobDependencies;
-}
-
-########################################################################################
-# sub: getJobTypes
-# gets: $Dir
-# optional: -
-# returns: @JobTypes
-# description: creates and returns an array with the sorted 'job types'
-########################################################################################
-sub getJobTypes
-{
- my $self = shift;
- my $Dir = shift;
-
- my @JobTypes = ();
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- # check whether that the <build> tag exists
- if ($self->existsTag("build"))
- {
- # it's for creating unique 'job types' which exists only once in the (later) array
- my %tempJobTypes = ();
-
- # first we need a reference of the higher level tag <build>
- my ($IndexValue, $Build_ref) = $self->getIterationData("build");
-
- for (my $i = 0; $i < $IndexValue; $i++)
- {
- # get the ref of the <build> tag
- my $Task_ref = getContent($Build_ref, $i);
- my $existingDir = getAttribute($Task_ref, "dir");
-
- # we only need the 'task(s)' with the matching dir
- next if ($Dir ne $existingDir);
-
- # get the ref of the <task> tag at the position '0'
- my $JobType_ref = getContent($Task_ref, 0);
- my $JobType = getTagName($JobType_ref);
-
- # get the 'job type' as a key in the hash
- # so we can guarantee that each 'job type' stays unique!
- $tempJobTypes{$JobType} = "";
- }
-
- # fill the unique sorted 'job types' in the array
- @JobTypes = sort keys %tempJobTypes;
- }
-
- print"JobTypes = <@JobTypes>\n" if ($Debug);
-
- return @JobTypes;
-}
-
-########################################################################################
-# sub: getJobBuildReqs
-# gets: $Dir, $BuildReqPlatform
-# optional: $BuildReqPlatform(default: 'all' -> includes all possible values)
-# returns: @JobBuildRequirements
-# description: creates and returns an array with the sorted 'job build requirements'
-########################################################################################
-sub getJobBuildReqs
-{
- my $self = shift;
- my $Dir = shift;
- my $BuildReqPlatform = shift || "all";
-
- my @JobBuildRequirements = ();
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- # check whether that the <build> tag exists
- if ($self->existsTag("build"))
- {
- # change all possible upper cases to lower cases
- $BuildReqPlatform =~ s/($BuildReqPlatform)/\L$BuildReqPlatform/ if ($BuildReqPlatform ne "all");
-
- my $BuildReqPlatformContent = undef;
- my %tempJobBuildRequirements = ();
-
- # first we need a reference of the higher level tag <build>
- my ($IndexValue, $Build_ref) = $self->getIterationData("build");
-
- for (my $i = 0; $i < $IndexValue; $i++)
- {
- # get the ref to the content of the array of the <build> tag
- my $Task_ref = getContent($Build_ref, $i);
-
- # get the attribute 'task dir'
- my $existingDir = getAttribute($Task_ref, "dir");
-
- # get the 'job type' ref which is inside the <task> tag
- my $JobType_ref = getContent($Task_ref, 0);
-
- # each 'job type' can have several 'depends' and 'build requirements'
- # here we get the number of the included elements
- my $IndexEnd = getContentCount($JobType_ref);
-
- for (my $j = 0; $j < $IndexEnd; $j++)
- {
- # create a ref of the existing content
- my $Content_ref = getContent($JobType_ref, $j);
-
- # the content_ref can be 'build requirement' or 'depend'
- # but we need only the 'build requirement' informations
- next if (getTagName($Content_ref) ne "build-requirement");
-
- my $BuildReqName = getAttribute($Content_ref, "name");
- $BuildReqPlatformContent = getAttribute($Content_ref, "platform");
-
- $BuildReqPlatformContent = "all" if (!($BuildReqPlatformContent));
-
- if ($BuildReqPlatform ne "all")
- {
- # compare the parameters: 'dir' and 'platform'
- # other values('wnt', 'unx' and 'mac') for 'platform'
- # including the value 'all' in the existing 'platform' list
- # get each 'build requirement name' only once (unique)
- if ( ($Dir eq $existingDir) &&
- (($BuildReqPlatformContent =~ /\b($BuildReqPlatform)\b/) || ($BuildReqPlatformContent =~ /\ball\b/)) )
- {
- $tempJobBuildRequirements{$BuildReqName} = "";
-
- print"JobBuildRequirements (if) = <$BuildReqName>\n" if ($Debug);
- }
- }
- # if the 'build requirement platform' was not allocated, it is "all" (default)
- # now we only need to compare the directories
- elsif ($Dir eq $existingDir)
- {
- $tempJobBuildRequirements{$BuildReqName} = "";
-
- print"JobBuildRequirements (elsif) = <$BuildReqName>\n" if ($Debug);
- }
- }
- }
-
- # fill the unique sorted 'build requirement names' in the array
- @JobBuildRequirements = sort keys %tempJobBuildRequirements;
- }
-
- print"JobBuildRequirements = <@JobBuildRequirements>\n" if ($Debug);
-
- return @JobBuildRequirements;
-}
-
-########################################################################################
-# sub: getJobBuildReqPlatforms
-# gets: $Dir, $BuildReqName
-# optional: -
-# returns: @JobBuildReqPlatforms
-# description: creates and returns an array with
-# the sorted 'job build requirement platforms'
-########################################################################################
-sub getJobBuildReqPlatforms
-{
- my $self = shift;
- my $Dir = shift;
- my $JobBuildReqName = shift;
-
- my @JobBuildReqPlatforms = ();
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- # check whether that the <build> tag exists
- if ($self->existsTag("build"))
- {
- # change all possible upper cases to lower cases
- $JobBuildReqName =~ s/($JobBuildReqName)/\L$JobBuildReqName/;
-
- my $BuildReqPlatformContent = undef;
- my @tempPlatforms = ();
- my %tempJobBuildReqPlatforms = ();
-
- # first we need a reference of the higher level tag <build>
- my ($IndexValue, $Build_ref) = $self->getIterationData("build");
-
- for (my $i = 0; $i < $IndexValue; $i++)
- {
- # get the ref to the content of the array of the <build> tag
- my $Task_ref = getContent($Build_ref, $i);
-
- # get the attribute 'task dir'
- my $existingDir = getAttribute($Task_ref, "dir");
-
- # get the 'job type' ref which is inside the <task> tag
- my $JobType_ref = getContent($Task_ref, 0);
-
- # each 'job type' can have several 'depends' and 'build requirements'
- # here we get the number of the included elements
- my $IndexEnd = getContentCount($JobType_ref);
-
- for (my $j = 0; $j < $IndexEnd; $j++)
- {
- # create a ref of the existing content
- my $Content_ref = getContent($JobType_ref, $j);
-
- # the content_ref can be 'build requirement' or 'depend'
- # but we need only the 'build requirement' informations
- next if (getTagName($Content_ref) ne "build-requirement");
-
- my $existingJobBuildReqName = getAttribute($Content_ref, "name");
- $BuildReqPlatformContent = getAttribute($Content_ref, "platform");
-
- $BuildReqPlatformContent = "all" if (!($BuildReqPlatformContent));
-
- if ( ($Dir eq $existingDir) && ($JobBuildReqName eq $existingJobBuildReqName) )
- {
- # here are the platforms of the current 'build requirement'
- @tempPlatforms = split /\s+/, $BuildReqPlatformContent;
-
- foreach my $BuildReqPlatform (@tempPlatforms)
- {
- $tempJobBuildReqPlatforms{$BuildReqPlatform} = "";
- } #########
- }
- }
- }
-
- # fill the unique sorted 'build requirement platforms' in the array
- @JobBuildReqPlatforms = sort keys %tempJobBuildReqPlatforms;
- }
-
- print"JobBuildReqPlatforms = <@JobBuildReqPlatforms>\n" if ($Debug);
-
- return @JobBuildReqPlatforms;
-}
-
-########################################################################################
-# sub: getJobPlatforms
-# gets: $Dir
-# optional: -
-# returns: @JobPlatforms
-# description: creates and returns an array with the sorted depending 'job platforms'
-########################################################################################
-sub getJobPlatforms
-{
- my $self = shift;
- my $Dir = shift;
-
- my @JobPlatforms = ();
-
- my $ModuleData_ref = $$self{"ModuleData"};
-
- # check whether that the <build> tag exists
- if ($self->existsTag("build"))
- {
- my $PlatformContent = undef;
- my %tempJobPlatforms = ();
-
- # control variable: if a value 'all' exists in the platform content
- # it doesn't matter which platforms are also existing,
- # because 'all' includes all possible values!
- my $allExists = 0;
-
- # first we need a reference of the higher level tag <build>
- my ($IndexValue, $Build_ref) = $self->getIterationData("build");
-
- for (my $i = 0; $i < $IndexValue; $i++)
- {
- my $Task_ref = getContent($Build_ref, $i);
-
- # get the attributes of the <task> tag
- my $existingTaskDir = getAttribute($Task_ref, "dir");
- $PlatformContent = getAttribute($Task_ref, "platform");
-
- # if it is not set in the data structure,
- # it has automatically the default value 'all'
- $PlatformContent = "all" if (!($PlatformContent));
-
- if ($Dir eq $existingTaskDir)
- {
- # if a platform value 'all' exists, we remember it
- # and don't look further after other platforms
- if ($PlatformContent =~ /\ball\b/)
- {
- $allExists = 1;
-
- @JobPlatforms = "all";
-
- last;
- }
-
- my @tempPlatforms = ();
-
- push(@tempPlatforms, split(/\s+/, $PlatformContent));
-
- foreach my $Platform (@tempPlatforms)
- {
- $tempJobPlatforms{$Platform} = "";
- }
- }
- }
-
- # fill the unique sorted 'job platforms' in the array,
- # but only if the content "all" is not present in the platform content
- @JobPlatforms = sort keys %tempJobPlatforms if ($allExists == 0);
- }
-
- print"JobPlatforms = <@JobPlatforms>\n" if ($Debug);
-
- return @JobPlatforms;
-}
-
-########################################################################################
-# end of 'get' methods #
-########################################################################################
-
-1 ;
diff --git a/soldep/bootstrp/XmlBuildList.cxx b/soldep/bootstrp/XmlBuildList.cxx
deleted file mode 100644
index 670a3eb7f771..000000000000
--- a/soldep/bootstrp/XmlBuildList.cxx
+++ /dev/null
@@ -1,436 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: XmlBuildList.cxx,v $
- * $Revision: 1.5 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <EXTERN.h> /* from the Perl distribution */
-
-#ifdef WNT
-#include <tools/prewin.h>
-#include "perl.h"
-#include <tools/postwin.h>
-#else
-#include "perl.h"
-#endif
-#undef Copy /* from Perl handy.h */
-
-#include <soldep/XmlBuildList.hxx>
-#include "XmlBuildListDef.hxx"
-
-#ifdef __cplusplus
-# define EXTERN_C extern "C"
-#else
-# define EXTERN_C extern
-#endif
-
-static PerlInterpreter *my_perl; /*** The Perl interpreter ***/
-static const char * DEP_MD_SIMPLE_STR = "md-simple";
-
-EXTERN_C void boot_DynaLoader (pTHX_ CV* cv);
-static void xs_init (pTHX);
-static void dl_init (pTHX);
-
-static void xs_init(pTHX)
-{
- char *file = __FILE__;
- dXSUB_SYS;
- {
- /* DynaLoader is a special case */
- newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file);
- }
-}
-
-static void dl_init(pTHX)
-{
- char *file = __FILE__;
- dTARG;
- dSP;
-/* Dynamicboot strapping code*/
- SAVETMPS;
- targ=sv_newmortal();
- FREETMPS;
-/* end Dynamic bootstrapping code */
-#ifdef MACOSX
- *file=0; // how does this works???
- sp=0;
-#endif
-}
-
-FullByteStringList::FullByteStringList()
- : FullByteStingListImpl(),
- nRef (0)
-{
-}
-
-FullByteStringList::~FullByteStringList()
-{
- ByteString* pStr = First();
- while (pStr)
- {
- delete pStr;
- pStr = Next();
- }
-}
-
-ULONG FullByteStringList::GetPos (ByteString& rStr)
-{
- ULONG nCurPos = GetCurPos();
- ULONG nPos = 0;
- ByteString* pStr = First();
- while (pStr)
- {
- if (*pStr == rStr)
- {
- GetObject (nCurPos);
- return nPos;
- }
- pStr = Next();
- nPos ++;
- }
- GetObject (nCurPos);
- return LIST_ENTRY_NOTFOUND;
-}
-
-FullByteStringListWrapper& FullByteStringListWrapper::operator=( const FullByteStringListWrapper& rFullByteStringListWrapper )
-{
- if (pStringList)
- if (pStringList->GetRef() == 0)
- delete pStringList;
- else
- pStringList->DecRef();
-
- pStringList = rFullByteStringListWrapper.GetStringList();
- if (pStringList)
- pStringList->IncRef();
- return *this;
-}
-
-FullByteStringListWrapper::~FullByteStringListWrapper ()
-{
- if (pStringList)
- {
- if (pStringList->GetRef() == 0)
- delete pStringList;
- else
- pStringList->DecRef();
- }
-}
-
-//
-// Function initializes Perl
-// ATTENTION: No check built in - YET TO DO
-//
-void XmlBuildList::initPerl(const char* ModulePath) {
- if (PerlInitialized)
- return;
- my_perl = perl_alloc();
- if (!my_perl)
- throw XmlBuildListException("Cannot initialize perl");
- perl_construct(my_perl);
- char* embedding[] = {"", "-e", "0"};
- int exitstatus = perl_parse(my_perl, xs_init, 3, embedding, (char **)NULL);
- if (!exitstatus) {
- dl_init(aTHX);
- exitstatus = perl_run(my_perl);
- }
- //perl_run(my_perl);
- // Create a variable (s. perlguts)
- SV* sv = get_sv("main::module_path", TRUE);
- sv_setpv(sv, ModulePath);
- eval_pv("use lib $main::module_path; use XMLBuildListParser;", FALSE);
- checkOperationSuccess();
- eval_pv("$main::build_lst_obj = XMLBuildListParser->new();", FALSE);
- checkOperationSuccess();
- eval_pv("@array = ();", FALSE);
- checkOperationSuccess();
- PerlInitialized = TRUE;
-};
-
-// Function proves if the $@ perl variable is set, if yes -
-// last operation was unsuccessfull -> throws exception
-void XmlBuildList::checkOperationSuccess() {
- char* op_result = SvPV_nolen(get_sv("main::@", FALSE));
- if (strcmp(op_result, ""))
- throw XmlBuildListException(op_result);
-}
-
-//
-// Function generates a regular array with NULL as last element
-// from the Perl-object @array
-//
-FullByteStringList* XmlBuildList::extractArray() {
- FullByteStringList* pStringList = new FullByteStringList();
- AV* theArrayObj = get_av("main::array", FALSE);
- I32 arrayLength = av_len(theArrayObj); // $#array value
- if (arrayLength == -1)
- return pStringList;
-
- SV** string_ptr;
- char* pStoredString;
- // populate vector with strings (char*)
- for (int i = 0; i <= arrayLength; i++) {
- string_ptr = av_fetch(theArrayObj, i, NULL);
- //pStoredString = savepv(SvPV_nolen(*string_ptr));
- pStoredString = SvPV_nolen(*string_ptr);
- ByteString* pStr = new ByteString(pStoredString);
- pStringList->Insert(pStr, LIST_APPEND);
- };
- return pStringList;
-};
-
-
-char* XmlBuildList::getError() {
- eval_pv("$main::string1 = $main::build_lst_obj->getError();", FALSE);
- checkOperationSuccess();
- return SvPV_nolen(get_sv("main::string1", FALSE));
-};
-
-/*****************************************************************************/
-XmlBuildList::XmlBuildList(const ByteString& rModulePath)
-/*****************************************************************************/
- : PerlInitialized (FALSE)
-{
- initPerl(rModulePath.GetBuffer());
- string_obj1 = get_sv("main::string1", TRUE);
- string_obj2 = get_sv("main::string2", TRUE);
- string_obj3 = get_sv("main::string3", TRUE);
- if (!(string_obj1 && string_obj2 && string_obj3))
- throw XmlBuildListException("Cannot initialize Perl string objects");
-};
-
-//
-// Function uninitializes Perl
-//
-/*****************************************************************************/
-XmlBuildList::~XmlBuildList()
-/*****************************************************************************/
-{
- if (!PerlInitialized)
- return;
- perl_destruct(my_perl);
- perl_free(my_perl);
- PerlInitialized = FALSE;
-};
-
-/*****************************************************************************/
-void XmlBuildList::loadXMLFile(const ByteString& rBuildList)
-/*****************************************************************************/
-{
- sv_setpv(string_obj1, rBuildList.GetBuffer());
- eval_pv("$main::string2 = $main::build_lst_obj->loadXMLFile($main::string1);", FALSE);
- checkOperationSuccess();
- if(!SvTRUE(string_obj2)) {
- const char* Message = getError();
- throw XmlBuildListException(Message);
- };
-};
-
-/*****************************************************************************/
-FullByteStringListWrapper XmlBuildList::getProducts()
-/*****************************************************************************/
-{
- eval_pv("@array = $main::build_lst_obj->getProducts();", FALSE);
- checkOperationSuccess();
- FullByteStringList* pList = extractArray();
- return FullByteStringListWrapper(pList);
-}
-
-/*****************************************************************************/
-FullByteStringListWrapper XmlBuildList::getJobDirectories(const ByteString& rJobType, const ByteString& rJobPlatform)
-/*****************************************************************************/
-{
- sv_setpv(string_obj1, rJobType.GetBuffer());
- sv_setpv(string_obj2, rJobPlatform.GetBuffer());
- eval_pv("@array = $main::build_lst_obj->getJobDirectories($main::string1, $main::string2);", FALSE);
- checkOperationSuccess();
- FullByteStringList* pList = extractArray();
- return FullByteStringListWrapper(pList);
-}
-
-/*****************************************************************************/
-FullByteStringListWrapper XmlBuildList::getModuleDependencies(const ByteString& rProduct, const ByteString& rDependencyType)
-/*****************************************************************************/
-{
- FullByteStringList* pProducts = new FullByteStringList();
- FullByteStringListWrapper aProducts (pProducts);
- if (rProduct != "")
- aProducts.Insert (new ByteString(rProduct), LIST_APPEND);
- return getModuleDependencies(aProducts, rDependencyType);
-};
-
-/*****************************************************************************/
-FullByteStringListWrapper XmlBuildList::getModuleDependencies(FullByteStringListWrapper& rProducts, const ByteString& rDependencyType)
-/*****************************************************************************/
-{
- eval_pv("@products = ();", FALSE);
- checkOperationSuccess();
- AV* theArrayObj = get_av("main::products", FALSE);
- FullByteStringList* pProducts = rProducts.GetStringList();
- ByteString* pStr = pProducts->First();
- while (pStr)
- {
- sv_setpv(string_obj2, pStr->GetBuffer());
- av_push(theArrayObj, string_obj2);
- pStr = pProducts->Next();
- }
-
- sv_setpv(string_obj1, rDependencyType.GetBuffer());
- eval_pv("@array = $main::build_lst_obj->getModuleDependencies(\\@products, $main::string1);", FALSE);
- checkOperationSuccess();
- FullByteStringList* pList = extractArray();
- return FullByteStringListWrapper(pList);
-};
-
-/*****************************************************************************/
-FullByteStringListWrapper XmlBuildList::getJobBuildReqs(const ByteString& rJobDir, const ByteString& rBuildReqPlatform)
-/*****************************************************************************/
-{
- sv_setpv(string_obj1, rJobDir.GetBuffer());
- sv_setpv(string_obj2, rBuildReqPlatform.GetBuffer());
- eval_pv("@array = $main::build_lst_obj->getJobBuildReqs($main::string1, $main::string2);", FALSE);
- checkOperationSuccess();
- FullByteStringList* pList = extractArray();
- return FullByteStringListWrapper(pList);
-}
-
-/*****************************************************************************/
-ByteString XmlBuildList::getModuleDepType(const ByteString& rDepModuleName)
-/*****************************************************************************/
-{
- sv_setpv(string_obj1, rDepModuleName.GetBuffer());
- eval_pv("$main::string1 = $main::build_lst_obj->getModuleDepType($main::string1);", FALSE);
- checkOperationSuccess();
- char* pString = SvPV_nolen(get_sv("main::string1", FALSE));
- ByteString sDependencyType(pString);
- return sDependencyType;
-}
-
-/*****************************************************************************/
-sal_Bool XmlBuildList::hasModuleDepType(FullByteStringListWrapper& rProducts, const ByteString& rDependencyType)
-/*****************************************************************************/
-{
- FullByteStringListWrapper aDepencendModules = getModuleDependencies(rProducts, rDependencyType);
- if (aDepencendModules.Count()>0)
- {
- return sal_True;
- }
- return sal_False;
-}
-
-/*****************************************************************************/
-FullByteStringListWrapper XmlBuildList::getModuleDepTypes(FullByteStringListWrapper& rProducts)
-/*****************************************************************************/
-{
- FullByteStringList * pList = new FullByteStringList();
-
- ByteString aDepType = ByteString( DEP_MD_SIMPLE_STR );
- bool bHasType = hasModuleDepType(rProducts, aDepType);
- if (bHasType)
- pList->Insert(new ByteString (aDepType));
-
- aDepType = ByteString(DEP_MD_ALWAYS_STR);
- bHasType = hasModuleDepType(rProducts, aDepType);
- if (bHasType)
- pList->Insert(new ByteString (aDepType));
-
- aDepType = ByteString(DEP_MD_FORCE_STR);
- bHasType = hasModuleDepType(rProducts, aDepType);
- if (bHasType)
- pList->Insert(new ByteString (aDepType));
-
- return FullByteStringListWrapper (pList);
-}
-
-/*****************************************************************************/
-FullByteStringListWrapper XmlBuildList::getModuleProducts(const ByteString& rDepModuleName)
-/*****************************************************************************/
-{
- sv_setpv(string_obj1, rDepModuleName.GetBuffer());
- eval_pv("@array = $main::build_lst_obj->getModuleProducts($main::string1);", FALSE);
- checkOperationSuccess();
- FullByteStringList* pList = extractArray();
- return FullByteStringListWrapper(pList);
-};
-
-/*****************************************************************************/
-ByteString XmlBuildList::getModuleName()
-/*****************************************************************************/
-{
- eval_pv("$main::string1 = $main::build_lst_obj->getModuleName();", FALSE);
- checkOperationSuccess();
- char* pString = SvPV_nolen(get_sv("main::string1", FALSE));
- ByteString sModuleName(pString);
- return sModuleName;
-}
-
-/*****************************************************************************/
-FullByteStringListWrapper XmlBuildList::getDirDependencies(const ByteString& rJobDir, const ByteString& rJobType, const ByteString& rJobPlatform)
-/*****************************************************************************/
-{
- sv_setpv(string_obj1, rJobDir.GetBuffer());
- sv_setpv(string_obj2, rJobType.GetBuffer());
- sv_setpv(string_obj3, rJobPlatform.GetBuffer());
- eval_pv("@array = $main::build_lst_obj->getDirDependencies($main::string1, $main::string2, $main::string3);", FALSE);
- checkOperationSuccess();
- FullByteStringList* pList = extractArray();
- return FullByteStringListWrapper(pList);
-};
-
-/*****************************************************************************/
-FullByteStringListWrapper XmlBuildList::getJobTypes(const ByteString& rJobDir)
-/*****************************************************************************/
-{
- sv_setpv(string_obj1, rJobDir.GetBuffer());
- eval_pv("@array = $main::build_lst_obj->getJobTypes($main::string1);", FALSE);
- checkOperationSuccess();
- FullByteStringList* pList = extractArray();
- return FullByteStringListWrapper(pList);
-};
-
-/*****************************************************************************/
-FullByteStringListWrapper XmlBuildList::getJobPlatforms(const ByteString& rJobDir)
-/*****************************************************************************/
-{
- sv_setpv(string_obj1, rJobDir.GetBuffer());
- eval_pv("@array = $main::build_lst_obj->getJobPlatforms($main::string1);", FALSE);
- checkOperationSuccess();
- FullByteStringList* pList = extractArray();
- return FullByteStringListWrapper(pList);
-};
-
-/*****************************************************************************/
-FullByteStringListWrapper XmlBuildList::getJobBuildReqPlatforms(const ByteString& rJobDir, const ByteString& rBuildReqName)
-/*****************************************************************************/
-{
- sv_setpv(string_obj1, rJobDir.GetBuffer());
- sv_setpv(string_obj2, rBuildReqName.GetBuffer());
- eval_pv("@array = $main::build_lst_obj->getJobBuildReqPlatforms($main::string1, $main::string2);", FALSE);
- checkOperationSuccess();
- FullByteStringList* pList = extractArray();
- return FullByteStringListWrapper(pList);
-};
diff --git a/soldep/bootstrp/makefile.mk b/soldep/bootstrp/makefile.mk
index d38b25982b86..ac56f781b791 100644
--- a/soldep/bootstrp/makefile.mk
+++ b/soldep/bootstrp/makefile.mk
@@ -1,7 +1,7 @@
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
+#
# Copyright 2008 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
@@ -35,10 +35,8 @@ PRJNAME=soldep
TARGET=bootstrpdt
ENABLE_EXCEPTIONS=true
-
# --- Settings -----------------------------------------------------
-#.INCLUDE : $(PRJ)$/util$/perl.mk
.INCLUDE : settings.mk
# fixme, code is not yet 64 bit clean
@@ -50,7 +48,7 @@ all:
# --- Files --------------------------------------------------------
EXCEPTIONSFILES= \
- $(SLO)$/prj.obj
+ $(SLO)$/prj.obj
SLOFILES=\
$(SLO)$/dep.obj \
@@ -58,7 +56,8 @@ SLOFILES=\
$(SLO)$/prodmap.obj \
$(SLO)$/appdef.obj \
$(SLO)$/hashtbl.obj \
- $(SLO)$/prj.obj \
+ $(SLO)$/prj.obj
+
SHL1TARGET =$(TARGET)$(DLLPOSTFIX)
SHL1IMPLIB =$(TARGET)
@@ -69,7 +68,7 @@ SHL1STDLIBS=\
$(TOOLSLIB) \
$(BTSTRPLIB) \
$(VOSLIB) \
- $(SALLIB)
+ $(SALLIB)
DEF1NAME =$(SHL1TARGET)
DEF1DEPN =$(MISC)$/$(SHL1TARGET).flt
diff --git a/soldep/bootstrp/minormk.cxx b/soldep/bootstrp/minormk.cxx
index 2d87f0a35fc6..2a8a69dbc3b5 100644
--- a/soldep/bootstrp/minormk.cxx
+++ b/soldep/bootstrp/minormk.cxx
@@ -29,10 +29,10 @@
************************************************************************/
#include "minormk.hxx"
+#include "prodmap.hxx"
#include <appdef.hxx>
#include <tools/fsys.hxx>
#include <tools/geninfo.hxx>
-#include "prodmap.hxx"
//
// class MinorMk
diff --git a/soldep/inc/XmlBuildListDef.hxx b/soldep/inc/XmlBuildListDef.hxx
deleted file mode 100755
index 7f68059e18f5..000000000000
--- a/soldep/inc/XmlBuildListDef.hxx
+++ /dev/null
@@ -1,50 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: XmlBuildListDef.hxx,v $
- * $Revision: 1.4 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _XMLBUILDLISTDEF_HXX
-#define _XMLBUILDLISTDEF_HXX
-
-enum DepTypes
-{
- mdsimple,
- mdalways,
- mdforce
-};
-
-#define DEP_MD_SIMPLE 1;
-//#define DEP_MD_ALWAYS 2;
-//#define DEP_MD_FORCE 4;
-
-//static const char * DEP_MD_ALWAYS_STR = "md-always";
-//static const char * DEP_MD_FORCE_STR = "md-force";
-
-#endif
-
-
diff --git a/soldep/inc/soldep/XmlBuildList.hxx b/soldep/inc/soldep/XmlBuildList.hxx
deleted file mode 100644
index cfab946d453c..000000000000
--- a/soldep/inc/soldep/XmlBuildList.hxx
+++ /dev/null
@@ -1,160 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: XmlBuildList.hxx,v $
- * $Revision: 1.4 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _XMLBUILDLIST_HXX
-#define _XMLBUILDLIST_HXX
-
-#ifndef _STRING_HXX
-#include <tools/string.hxx>
-#endif
-
-#ifndef _LIST_HXX
-#include <tools/list.hxx>
-#endif
-
-#include <sal/types.h>
-
-class FullByteStringListWrapper;
-
-struct STRUCT_SV;
-
-DECLARE_LIST ( FullByteStingListImpl, ByteString* )
-
-class FullByteStringList : public FullByteStingListImpl
-{
- friend class FullByteStringListWrapper;
- ULONG nRef;
- void IncRef() { nRef ++; }
- void DecRef() { nRef --; }
- ULONG GetRef() { return nRef; }
-public:
- FullByteStringList();
- ~FullByteStringList();
- ULONG GetPos (ByteString& rStr);
- ULONG GetPos( const ByteString* p ) const { return FullByteStingListImpl::GetPos(p); }
- ULONG GetPos( const ByteString* p, ULONG nStartIndex,
- BOOL bForward = TRUE ) const { return
- FullByteStingListImpl::GetPos(p, nStartIndex, bForward); }
-};
-
-class FullByteStringListWrapper
-{
-private:
- FullByteStringList* pStringList;
-
-public:
- FullByteStringListWrapper (FullByteStringList* pList) {pStringList = pList;}
- ~FullByteStringListWrapper ();
-
- FullByteStringList* GetStringList() const {return pStringList;}
-
- void Insert( ByteString* p ){pStringList->Insert(p);}
- void Insert( ByteString* p, ULONG nIndex ){pStringList->Insert(p, nIndex);}
- void Insert( ByteString* pNew, ByteString* pOld ){pStringList->Insert(pNew, pOld);}
-
- ByteString* Remove(){return pStringList->Remove();}
- ByteString* Remove( ULONG nIndex ){return pStringList->Remove(nIndex);}
- ByteString* Remove( ByteString* p )
- { return pStringList->Remove(p); }
-
- ByteString* Replace( ByteString* p ){ return pStringList->Replace(p); }
- ByteString* Replace( ByteString* p, ULONG nIndex ){ return pStringList->Replace(p, nIndex); }
- ByteString* Replace( ByteString* pNew, ByteString* pOld )
- { return pStringList->Replace( pNew, pOld ); }
-
- ULONG Count() const { return pStringList->Count(); }
- void Clear(){pStringList->Clear(); }
-
- ByteString* GetCurObject() const { return pStringList->GetCurObject(); }
- ULONG GetCurPos() const { return pStringList->GetCurPos(); }
- ByteString* GetObject( ULONG nIndex ) const { return pStringList->GetObject( nIndex ); }
- ULONG GetPos( const ByteString* p ) const { return pStringList->GetPos(p); }
- ULONG GetPos( const ByteString* p, ULONG nStartIndex,
- BOOL bForward = TRUE ) const { return
- pStringList->GetPos(p, nStartIndex, bForward); }
- ULONG GetPos (ByteString& rStr) { return pStringList->GetPos(rStr); }
-
- ByteString* Seek( ULONG nIndex ) { return pStringList->Seek(nIndex); }
- ByteString* Seek( ByteString* p ) { return pStringList->Seek(p); }
-
- ByteString* First() { return pStringList->First(); };
- ByteString* Last() { return pStringList->Last(); };
- ByteString* Next() { return pStringList->Next(); };
- ByteString* Prev() { return pStringList->Prev(); };
-
- FullByteStringListWrapper & operator= ( const FullByteStringListWrapper &);
-};
-
-
-class XmlBuildListException {
- private:
- const char* ExceptionMessage;
- public:
- XmlBuildListException(const char* Message)
- :ExceptionMessage(Message) {};
- const char* getMessage() {return ExceptionMessage;};
-};
-
-class XmlBuildList {
- protected:
- bool PerlInitialized;
- void initPerl(const char* ModulePath);
- // Set of arrays for each function, which uses char* arrays
- // as a return value. Each call to such function clears its array up
- // before it's being populated
- FullByteStringList* extractArray();
- // C objects for $string1 & $string2 Perl variables
- STRUCT_SV* string_obj1;
- STRUCT_SV* string_obj2;
- STRUCT_SV* string_obj3;
- char* getError();
- void checkOperationSuccess();
- public:
- // alternative to constructor
- XmlBuildList(const ByteString& rModulePath);
- ~XmlBuildList();
- void loadXMLFile(const ByteString& rBuildList);
- FullByteStringListWrapper getProducts();
- FullByteStringListWrapper getJobDirectories(const ByteString& rJobType, const ByteString& rJobPlatform);
- FullByteStringListWrapper getModuleDependencies(const ByteString& rProduct, const ByteString& rDependencyType);
- FullByteStringListWrapper getModuleDependencies(FullByteStringListWrapper& rProducts, const ByteString& rDependencyType);
- FullByteStringListWrapper getJobBuildReqs(const ByteString& rJobDir, const ByteString& rBuildReqPlatform);
- ByteString getModuleDepType(const ByteString& rDepModuleName);
- FullByteStringListWrapper getModuleDepTypes(FullByteStringListWrapper& rProducts);
- sal_Bool hasModuleDepType(FullByteStringListWrapper& rProducts, const ByteString& rDependencyType);
- FullByteStringListWrapper getModuleProducts(const ByteString& rDepModuleName);
- ByteString getModuleName();
- FullByteStringListWrapper getDirDependencies(const ByteString& rJobDir, const ByteString& rJobType, const ByteString& rJobPlatform);
- FullByteStringListWrapper getJobTypes(const ByteString& rJobDir);
- FullByteStringListWrapper getJobPlatforms(const ByteString& rJobDir);
- FullByteStringListWrapper getJobBuildReqPlatforms(const ByteString& rJobDir, const ByteString& rBuildReqName);
-};
-
-#endif
diff --git a/soldep/inc/soldep/depper.hxx b/soldep/inc/soldep/depper.hxx
index 42517832c645..7caffca8662e 100644
--- a/soldep/inc/soldep/depper.hxx
+++ b/soldep/inc/soldep/depper.hxx
@@ -74,7 +74,7 @@ class FixedText;
#define OBJWIN_X_SPACING 50
#define OBJWIN_Y_SPACING 12
#define DEPPER_MAX_DEPTH 100
-#define DEPPER_MAX_WIDTH 9
+#define DEPPER_MAX_WIDTH 12
#define DEPPER_MAX_LEVEL_WIDTH 10 * DEPPER_MAX_WIDTH
diff --git a/soldep/inc/soldep/objwin.hxx b/soldep/inc/soldep/objwin.hxx
index 13568561c95d..884507a2fa81 100644
--- a/soldep/inc/soldep/objwin.hxx
+++ b/soldep/inc/soldep/objwin.hxx
@@ -139,6 +139,7 @@ public:
BOOL ConnectionExistsInAnyDirection( ObjectWin *pWin );
void DrawOutput( OutputDevice* pDevice, const Point& rOffset );
+ BOOL IsTop();
};
DECL_DEST_LIST( TmpObjWinList, ObjWinList, ObjectWin* )
@@ -155,6 +156,7 @@ public:
~ObjectList() {};
void ResetSelectedObject();
ObjectWin* GetPtrByName( const ByteString& rText );
+ ObjectList* FindTopLevelModules();
};
#endif
diff --git a/soldep/prj/d.lst b/soldep/prj/d.lst
index 25dd1b8530c9..73301a558e61 100644
--- a/soldep/prj/d.lst
+++ b/soldep/prj/d.lst
@@ -27,7 +27,6 @@ mkdir: %COMMON_DEST%\res%_EXT%\img\additional
..\inc\soldep\prj.hxx %_DEST%\inc%_EXT%\soldep\prj.hxx
..\inc\dep.hxx %_DEST%\inc%_EXT%\soldep\dep.hxx
..\inc\prodmap.hxx %_DEST%\inc%_EXT%\soldep\prodmap.hxx
-..\inc\soldep\XmlBuildList.hxx %_DEST%\inc%_EXT%\soldep\XmlBuildList.hxx
..\inc\appdef.hxx %_DEST%\inc%_EXT%\soldep\appdef.hxx
..\inc\soldep\soldlg.hrc %_DEST%\inc%_EXT%\soldep\soldlg.hrc
diff --git a/soldep/source/connctr.cxx b/soldep/source/connctr.cxx
index 8eaba9ace236..acba58ce48d9 100644
--- a/soldep/source/connctr.cxx
+++ b/soldep/source/connctr.cxx
@@ -1,168 +1,168 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: connctr.cxx,v $
- * $Revision: 1.6 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifdef _MSC_VER
-#pragma warning(disable:4100)
-#endif
-#include <soldep/connctr.hxx>
-#include <soldep/objwin.hxx>
-#include <soldep/depwin.hxx>
-#include "math.h"
-
-BOOL Connector::msbHideMode = FALSE;
-
-Connector::Connector( DepWin* pParent, WinBits nWinStyle ) :
-mpStartWin( 0L ),
-mpEndWin( 0L ),
-mnStartId( 0 ),
-mnEndId( 0 ),
-bVisible( FALSE ),
-len( 70 )
-{
- mpParent = pParent;
- if ( mpParent )
- mpParent->AddConnector( this );
-}
-
-Connector::~Connector()
-{
- if ( mpStartWin )
- mpStartWin->RemoveConnector( this );
- if ( mpEndWin )
- mpEndWin->RemoveConnector( this );
- if ( mpParent )
- mpParent->RemoveConnector( this );
- mpParent->Invalidate( Rectangle( mStart, mEnd ));
- mpParent->Invalidate( Rectangle( mEnd - Point( 3, 3), mEnd + Point( 3, 3)));
-}
-
-void Connector::Initialize( ObjectWin* pStartWin, ObjectWin* pEndWin, BOOL bVis )
-{
- mpStartWin = pStartWin;
- mpEndWin = pEndWin;
- mpStartWin->AddConnector( this );
- mpEndWin->AddConnector( this );
- mCenter = GetMiddle();
- mStart = pStartWin->GetFixPoint( mCenter );
- mEnd = pEndWin->GetFixPoint( mCenter );
- mnStartId = pStartWin->GetId();
- mnEndId = pEndWin->GetId();
- bVisible = bVis;
-
-// if ( mpParent->IsPaintEnabled())
- if ( IsVisible() )
- {
- mpParent->DrawLine( mEnd, mStart );
- mpParent->DrawEllipse( Rectangle( mEnd - Point( 2, 2), mEnd + Point( 2, 2)));
- }
- UpdateVisibility(); //null_Project
-}
-
-void Connector::UpdateVisibility()
-{
- bVisible = mpStartWin->IsVisible() && mpEndWin->IsVisible();
-}
-
-
-Point Connector::GetMiddle()
-{
- Point aStartPoint = mpStartWin->GetPosPixel();
- Size aStartSize = mpStartWin->GetSizePixel();
- int nMoveHorz, nMoveVert;
- aStartPoint.Move( aStartSize.Width() / 2, aStartSize.Height() / 2 );
-
- Point aEndPoint = mpEndWin->GetPosPixel();
- Size aEndSize = mpEndWin->GetSizePixel();
-
- aEndPoint.Move( aEndSize.Width() / 2, aEndSize.Height() / 2 );
-
- Point aRetPoint = aEndPoint;
-
- nMoveHorz = aStartPoint.X() - aEndPoint.X();
- if ( nMoveHorz )
- nMoveHorz /= 2;
- nMoveVert = aStartPoint.Y() - aEndPoint.Y();
- if ( nMoveVert )
- nMoveVert /= 2;
- aRetPoint.Move( nMoveHorz, nMoveVert );
- return aRetPoint;
-
-}
-
-void Connector::Paint( const Rectangle& rRect )
-{
- //MyApp *pApp = (MyApp*)GetpApp();
- //SolDep *pSoldep = pApp->GetSolDep();
- if (msbHideMode)
- {
- if (!(mpStartWin->IsNullObject())) //null_project
- {
- if ( mpStartWin->GetMarkMode() == 0 || mpStartWin->GetMarkMode() == MARKMODE_DEPENDING )
- {
- mpStartWin->SetViewMask(0); //objwin invisible
- } else
- {
- mpStartWin->SetViewMask(1); //objwin visible
- }
- }
- if (!(mpEndWin->IsNullObject()))
- {
- if ( mpEndWin->GetMarkMode() == 0 || mpEndWin->GetMarkMode() == MARKMODE_DEPENDING )
- {
- mpEndWin->SetViewMask(0); //objwin invisible
- } else
- {
- mpEndWin->SetViewMask(1); //objwin visible
- }
- }
- UpdateVisibility();
- } else //IsHideMode
- {
- //bVisible = TRUE;
- if (!(mpStartWin->IsNullObject())) //null_project
- {
- mpStartWin->SetViewMask(1);
- }
- if (!(mpEndWin->IsNullObject())) //null_project
- {
- mpEndWin->SetViewMask(1);
- }
- UpdateVisibility();
- }
- if ( (mpStartWin->GetBodyText() != ByteString("null")) && //null_project
- (mpEndWin->GetBodyText() != ByteString("null")) && IsVisible()) //null_project
- {
- mpParent->DrawLine( mEnd, mStart );
- mpParent->DrawEllipse( Rectangle( mEnd - Point( 2, 2), mEnd + Point( 2, 2)));
- }
-}
-
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: connctr.cxx,v $
+ * $Revision: 1.6 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifdef _MSC_VER
+#pragma warning(disable:4100)
+#endif
+#include <soldep/connctr.hxx>
+#include <soldep/objwin.hxx>
+#include <soldep/depwin.hxx>
+#include "math.h"
+
+BOOL Connector::msbHideMode = FALSE;
+
+Connector::Connector( DepWin* pParent, WinBits nWinStyle ) :
+mpStartWin( 0L ),
+mpEndWin( 0L ),
+mnStartId( 0 ),
+mnEndId( 0 ),
+bVisible( FALSE ),
+len( 70 )
+{
+ mpParent = pParent;
+ if ( mpParent )
+ mpParent->AddConnector( this );
+}
+
+Connector::~Connector()
+{
+ if ( mpStartWin )
+ mpStartWin->RemoveConnector( this );
+ if ( mpEndWin )
+ mpEndWin->RemoveConnector( this );
+ if ( mpParent )
+ mpParent->RemoveConnector( this );
+ mpParent->Invalidate( Rectangle( mStart, mEnd ));
+ mpParent->Invalidate( Rectangle( mEnd - Point( 3, 3), mEnd + Point( 3, 3)));
+}
+
+void Connector::Initialize( ObjectWin* pStartWin, ObjectWin* pEndWin, BOOL bVis )
+{
+ mpStartWin = pStartWin;
+ mpEndWin = pEndWin;
+ mpStartWin->AddConnector( this );
+ mpEndWin->AddConnector( this );
+ mCenter = GetMiddle();
+ mStart = pStartWin->GetFixPoint( mCenter );
+ mEnd = pEndWin->GetFixPoint( mCenter );
+ mnStartId = pStartWin->GetId();
+ mnEndId = pEndWin->GetId();
+ bVisible = bVis;
+
+// if ( mpParent->IsPaintEnabled())
+ if ( IsVisible() )
+ {
+ mpParent->DrawLine( mEnd, mStart );
+ mpParent->DrawEllipse( Rectangle( mEnd - Point( 2, 2), mEnd + Point( 2, 2)));
+ }
+ UpdateVisibility(); //null_Project
+}
+
+void Connector::UpdateVisibility()
+{
+ bVisible = mpStartWin->IsVisible() && mpEndWin->IsVisible();
+}
+
+
+Point Connector::GetMiddle()
+{
+ Point aStartPoint = mpStartWin->GetPosPixel();
+ Size aStartSize = mpStartWin->GetSizePixel();
+ int nMoveHorz, nMoveVert;
+ aStartPoint.Move( aStartSize.Width() / 2, aStartSize.Height() / 2 );
+
+ Point aEndPoint = mpEndWin->GetPosPixel();
+ Size aEndSize = mpEndWin->GetSizePixel();
+
+ aEndPoint.Move( aEndSize.Width() / 2, aEndSize.Height() / 2 );
+
+ Point aRetPoint = aEndPoint;
+
+ nMoveHorz = aStartPoint.X() - aEndPoint.X();
+ if ( nMoveHorz )
+ nMoveHorz /= 2;
+ nMoveVert = aStartPoint.Y() - aEndPoint.Y();
+ if ( nMoveVert )
+ nMoveVert /= 2;
+ aRetPoint.Move( nMoveHorz, nMoveVert );
+ return aRetPoint;
+
+}
+
+void Connector::Paint( const Rectangle& rRect )
+{
+ //MyApp *pApp = (MyApp*)GetpApp();
+ //SolDep *pSoldep = pApp->GetSolDep();
+ if (msbHideMode)
+ {
+ if (!(mpStartWin->IsNullObject())) //null_project
+ {
+ if ( mpStartWin->GetMarkMode() == 0 || mpStartWin->GetMarkMode() == MARKMODE_DEPENDING )
+ {
+ mpStartWin->SetViewMask(0); //objwin invisible
+ } else
+ {
+ mpStartWin->SetViewMask(1); //objwin visible
+ }
+ }
+ if (!(mpEndWin->IsNullObject()))
+ {
+ if ( mpEndWin->GetMarkMode() == 0 || mpEndWin->GetMarkMode() == MARKMODE_DEPENDING )
+ {
+ mpEndWin->SetViewMask(0); //objwin invisible
+ } else
+ {
+ mpEndWin->SetViewMask(1); //objwin visible
+ }
+ }
+ UpdateVisibility();
+ } else //IsHideMode
+ {
+ //bVisible = TRUE;
+ if (!(mpStartWin->IsNullObject())) //null_project
+ {
+ mpStartWin->SetViewMask(1);
+ }
+ if (!(mpEndWin->IsNullObject())) //null_project
+ {
+ mpEndWin->SetViewMask(1);
+ }
+ UpdateVisibility();
+ }
+ if ( (mpStartWin->GetBodyText() != ByteString("null")) && //null_project
+ (mpEndWin->GetBodyText() != ByteString("null")) && IsVisible()) //null_project
+ {
+ mpParent->DrawLine( mEnd, mStart );
+ mpParent->DrawEllipse( Rectangle( mEnd - Point( 2, 2), mEnd + Point( 2, 2)));
+ }
+}
+
void Connector::DrawOutput( OutputDevice* pDevice, const Point& rOffset )
{
if ( (mpStartWin->GetBodyText() != ByteString("null")) && //null_project
@@ -174,102 +174,102 @@ void Connector::DrawOutput( OutputDevice* pDevice, const Point& rOffset )
pDevice->DrawEllipse( aRect );
}
}
-
-void Connector::UpdatePosition( ObjectWin* pWin, BOOL bPaint )
-{
-// more than one call ?
-//
- Point OldStart, OldEnd;
- static ULONG nCallCount = 0;
-
- //MyApp *pApp = (MyApp*)GetpApp();
- //SolDep *pSoldep = pApp->GetSolDep();
- if (msbHideMode)
- bVisible = 1;
-
- if ( nCallCount ) // only one call
- nCallCount++;
- else
- {
- nCallCount++;
- while ( nCallCount )
- {
- if ( bPaint )
- {
- OldStart = mStart;
- OldEnd = mEnd;
- }
- mCenter = GetMiddle();
- mStart=mpStartWin->GetFixPoint( mCenter, bPaint );
- mEnd=mpEndWin->GetFixPoint( mCenter, bPaint );
- if ( bPaint )
- {
- mpParent->Invalidate( Rectangle( OldStart, OldEnd ));
- mpParent->Invalidate( Rectangle( OldEnd - Point( 2, 2), OldEnd + Point( 2, 2)));
-//Don't paint "null_project" connectors
- if ( (mpStartWin->GetBodyText() != ByteString("null")) && //null_project
- (mpEndWin->GetBodyText() != ByteString("null"))) //null_project
- {
- Paint ( Rectangle( mEnd - Point( 3, 3), mEnd + Point( 3, 3)));
- Paint ( Rectangle( mEnd, mStart ));
- }
- }
- nCallCount--;
- }
- }
-}
-
-USHORT Connector::Save( SvFileStream& rOutFile )
-{
- rOutFile << mpStartWin->GetId();
- rOutFile << mpEndWin->GetId();
-
- return 0;
-}
-
-USHORT Connector::Load( SvFileStream& rInFile )
-{
- rInFile >> mnStartId;
- rInFile >> mnEndId;
-
- return 0;
-}
-
-ObjectWin* Connector::GetOtherWin( ObjectWin* pWin )
-{
-// get correspondent object ptr
- if ( mpStartWin == pWin )
- return mpEndWin;
- else
- if ( mpEndWin == pWin )
- return mpStartWin;
-
- return NULL;
-}
-
-ULONG Connector::GetOtherId( ULONG nId )
-{
-// get correspondent object id
- if ( mnStartId == nId )
- return mnEndId;
- else
- if ( mnEndId == nId )
- return mnStartId;
-
- return NULL;
-}
-
-ULONG Connector::GetLen()
-{
- double dx, dy;
-
- dx = mStart.X() - mEnd.X();
- dy = mStart.Y() - mEnd.Y();
-
- return (ULONG) sqrt( dx * dx + dy * dy );
-}
-
-BOOL Connector::IsStart( ObjectWin* pWin )
-{
- return pWin == mpStartWin;
-}
+
+void Connector::UpdatePosition( ObjectWin* pWin, BOOL bPaint )
+{
+// more than one call ?
+//
+ Point OldStart, OldEnd;
+ static ULONG nCallCount = 0;
+
+ //MyApp *pApp = (MyApp*)GetpApp();
+ //SolDep *pSoldep = pApp->GetSolDep();
+ if (msbHideMode)
+ bVisible = 1;
+
+ if ( nCallCount ) // only one call
+ nCallCount++;
+ else
+ {
+ nCallCount++;
+ while ( nCallCount )
+ {
+ if ( bPaint )
+ {
+ OldStart = mStart;
+ OldEnd = mEnd;
+ }
+ mCenter = GetMiddle();
+ mStart=mpStartWin->GetFixPoint( mCenter, bPaint );
+ mEnd=mpEndWin->GetFixPoint( mCenter, bPaint );
+ if ( bPaint )
+ {
+ mpParent->Invalidate( Rectangle( OldStart, OldEnd ));
+ mpParent->Invalidate( Rectangle( OldEnd - Point( 2, 2), OldEnd + Point( 2, 2)));
+//Don't paint "null_project" connectors
+ if ( (mpStartWin->GetBodyText() != ByteString("null")) && //null_project
+ (mpEndWin->GetBodyText() != ByteString("null"))) //null_project
+ {
+ Paint ( Rectangle( mEnd - Point( 3, 3), mEnd + Point( 3, 3)));
+ Paint ( Rectangle( mEnd, mStart ));
+ }
+ }
+ nCallCount--;
+ }
+ }
+}
+
+USHORT Connector::Save( SvFileStream& rOutFile )
+{
+ rOutFile << mpStartWin->GetId();
+ rOutFile << mpEndWin->GetId();
+
+ return 0;
+}
+
+USHORT Connector::Load( SvFileStream& rInFile )
+{
+ rInFile >> mnStartId;
+ rInFile >> mnEndId;
+
+ return 0;
+}
+
+ObjectWin* Connector::GetOtherWin( ObjectWin* pWin )
+{
+// get correspondent object ptr
+ if ( mpStartWin == pWin )
+ return mpEndWin;
+ else
+ if ( mpEndWin == pWin )
+ return mpStartWin;
+
+ return NULL;
+}
+
+ULONG Connector::GetOtherId( ULONG nId )
+{
+// get correspondent object id
+ if ( mnStartId == nId )
+ return mnEndId;
+ else
+ if ( mnEndId == nId )
+ return mnStartId;
+
+ return NULL;
+}
+
+ULONG Connector::GetLen()
+{
+ double dx, dy;
+
+ dx = mStart.X() - mEnd.X();
+ dy = mStart.Y() - mEnd.Y();
+
+ return (ULONG) sqrt( dx * dx + dy * dy );
+}
+
+BOOL Connector::IsStart( ObjectWin* pWin )
+{
+ return pWin == mpStartWin;
+}
diff --git a/soldep/source/depapp.cxx b/soldep/source/depapp.cxx
index ab64557dbcf1..6b000cc6fbce 100644
--- a/soldep/source/depapp.cxx
+++ b/soldep/source/depapp.cxx
@@ -1,150 +1,150 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: depapp.cxx,v $
- * $Revision: 1.6 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// -----------------------------------------------------------------------
-#include "depapp.hxx"
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: depapp.cxx,v $
+ * $Revision: 1.6 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// -----------------------------------------------------------------------
+#include "depapp.hxx"
#include <ucbhelper/contentbroker.hxx>
#include <ucbhelper/configurationkeys.hxx>
-
-void MyApp::Main()
-{
-#if defined(WNT)
- pDebugFile = fopen( "fprintf.out", "w" );
-#endif
-
- pMyApp = GetpApp();
- MyWin aMainWin( NULL, WB_APP | WB_STDWORK );
- pAppWindow = &aMainWin;
- // pToolBarFrame = new FloatingWindow( aMainWin, WB_STDWORK );
- //pToolBox = new ToolBox(pToolBarFrame,DtSodResId(TID_SOLDEP_MAIN));
-
- pSolDep = new SolDep( &aMainWin );
- pSolDep->Init();
- aMainWin.SetText( String::CreateFromAscii( SOLDEPL_NAME ));
- pSolDep->Hide();
- aMainWin.Show();
- Help aHelp;
- SetHelp(&aHelp);
- aHelp.EnableContextHelp();
- aHelp.EnableQuickHelp();
- Execute();
- delete pResMgr;
- delete pSolDep;
-}
-
-// -----------------------------------------------------------------------
-
-MyWin::MyWin( Window* pParent, WinBits nWinStyle ) :
- WorkWindow( pParent, nWinStyle )//,aToolBox( this, DtSodResId(TID_SOLDEP_MAIN)),
- // depper aTaskBarFrame(this, 0)
-{
-//depper aTaskBarFrame.EnableAlwaysOnTop();
-
-//depper aMenuBar.InsertItem( 1, XubString( RTL_CONSTASCII_USTRINGPARAM( "~Source" ) ) );
-//depper aMenuBar.InsertItem( 2, XubString( RTL_CONSTASCII_USTRINGPARAM( "~Exit" ) ) );
-//depper SetMenuBar( &aMenuBar );
-//depper aToolBox.SetPosSizePixel( Point( 0,0 ), Size( 1100,35 ));
-// aToolBox.Show();
-}
-
-// -----------------------------------------------------------------------
-
-void MyWin::MouseMove( const MouseEvent& rMEvt )
-{
- WorkWindow::MouseMove( rMEvt );
-}
-
-// -----------------------------------------------------------------------
-
-void MyWin::MouseButtonDown( const MouseEvent& rMEvt )
-{
- WorkWindow::MouseButtonDown( rMEvt );
-}
-
-// -----------------------------------------------------------------------
-
-void MyWin::MouseButtonUp( const MouseEvent& rMEvt )
-{
- WorkWindow::MouseButtonUp( rMEvt );
-}
-
-// -----------------------------------------------------------------------
-
-void MyWin::KeyInput( const KeyEvent& rKEvt )
-{
- WorkWindow::KeyInput( rKEvt );
-}
-
-// -----------------------------------------------------------------------
-
-void MyWin::KeyUp( const KeyEvent& rKEvt )
-{
- WorkWindow::KeyUp( rKEvt );
-}
-
-// -----------------------------------------------------------------------
-
-void MyWin::Paint( const Rectangle& rRect )
-{
- WorkWindow::Paint( rRect );
-}
-
-// -----------------------------------------------------------------------
-
-void MyWin::Resize()
-{
- ((MyApp*)GetpApp())->GetSolDep()->Resize();
- WorkWindow::Resize();
-}
-
-SAL_IMPLEMENT_MAIN()
-{
- //Reference< XMultiServiceFactory > xMS;
-
- // for this to work make sure an <appname>.ini file is available, you can just copy soffice.ini
- Reference< XComponentContext > xComponentContext = ::cppu::defaultBootstrap_InitialComponentContext();
-
- //xMS = cppu::createRegistryServiceFactory(
- // rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "applicat.rdb" ) ), sal_True );
-
- Reference< XMultiServiceFactory > xMS( xComponentContext->getServiceManager(), UNO_QUERY);
-
- InitVCL( xMS );
- ::comphelper::setProcessServiceFactory(xMS);
- com::sun::star::uno::Sequence< com::sun::star::uno::Any > aArgs(2);
+
+void MyApp::Main()
+{
+#if defined(WNT)
+ pDebugFile = fopen( "fprintf.out", "w" );
+#endif
+
+ pMyApp = GetpApp();
+ MyWin aMainWin( NULL, WB_APP | WB_STDWORK );
+ pAppWindow = &aMainWin;
+ // pToolBarFrame = new FloatingWindow( aMainWin, WB_STDWORK );
+ //pToolBox = new ToolBox(pToolBarFrame,DtSodResId(TID_SOLDEP_MAIN));
+
+ pSolDep = new SolDep( &aMainWin );
+ pSolDep->Init();
+ aMainWin.SetText( String::CreateFromAscii( SOLDEPL_NAME ));
+ pSolDep->Hide();
+ aMainWin.Show();
+ Help aHelp;
+ SetHelp(&aHelp);
+ aHelp.EnableContextHelp();
+ aHelp.EnableQuickHelp();
+ Execute();
+ delete pResMgr;
+ delete pSolDep;
+}
+
+// -----------------------------------------------------------------------
+
+MyWin::MyWin( Window* pParent, WinBits nWinStyle ) :
+ WorkWindow( pParent, nWinStyle )//,aToolBox( this, DtSodResId(TID_SOLDEP_MAIN)),
+ // depper aTaskBarFrame(this, 0)
+{
+//depper aTaskBarFrame.EnableAlwaysOnTop();
+
+//depper aMenuBar.InsertItem( 1, XubString( RTL_CONSTASCII_USTRINGPARAM( "~Source" ) ) );
+//depper aMenuBar.InsertItem( 2, XubString( RTL_CONSTASCII_USTRINGPARAM( "~Exit" ) ) );
+//depper SetMenuBar( &aMenuBar );
+//depper aToolBox.SetPosSizePixel( Point( 0,0 ), Size( 1100,35 ));
+// aToolBox.Show();
+}
+
+// -----------------------------------------------------------------------
+
+void MyWin::MouseMove( const MouseEvent& rMEvt )
+{
+ WorkWindow::MouseMove( rMEvt );
+}
+
+// -----------------------------------------------------------------------
+
+void MyWin::MouseButtonDown( const MouseEvent& rMEvt )
+{
+ WorkWindow::MouseButtonDown( rMEvt );
+}
+
+// -----------------------------------------------------------------------
+
+void MyWin::MouseButtonUp( const MouseEvent& rMEvt )
+{
+ WorkWindow::MouseButtonUp( rMEvt );
+}
+
+// -----------------------------------------------------------------------
+
+void MyWin::KeyInput( const KeyEvent& rKEvt )
+{
+ WorkWindow::KeyInput( rKEvt );
+}
+
+// -----------------------------------------------------------------------
+
+void MyWin::KeyUp( const KeyEvent& rKEvt )
+{
+ WorkWindow::KeyUp( rKEvt );
+}
+
+// -----------------------------------------------------------------------
+
+void MyWin::Paint( const Rectangle& rRect )
+{
+ WorkWindow::Paint( rRect );
+}
+
+// -----------------------------------------------------------------------
+
+void MyWin::Resize()
+{
+ ((MyApp*)GetpApp())->GetSolDep()->Resize();
+ WorkWindow::Resize();
+}
+
+SAL_IMPLEMENT_MAIN()
+{
+ //Reference< XMultiServiceFactory > xMS;
+
+ // for this to work make sure an <appname>.ini file is available, you can just copy soffice.ini
+ Reference< XComponentContext > xComponentContext = ::cppu::defaultBootstrap_InitialComponentContext();
+
+ //xMS = cppu::createRegistryServiceFactory(
+ // rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "applicat.rdb" ) ), sal_True );
+
+ Reference< XMultiServiceFactory > xMS( xComponentContext->getServiceManager(), UNO_QUERY);
+
+ InitVCL( xMS );
+ ::comphelper::setProcessServiceFactory(xMS);
+ com::sun::star::uno::Sequence< com::sun::star::uno::Any > aArgs(2);
aArgs[0] <<= rtl::OUString::createFromAscii( UCB_CONFIGURATION_KEY1_LOCAL );
aArgs[1] <<= rtl::OUString::createFromAscii( UCB_CONFIGURATION_KEY2_OFFICE );
-
+
::ucbhelper::ContentBroker::initialize( xMS, aArgs );
-
- aMyApp.Main();
- DeInitVCL();
- return 0;
-}
+
+ aMyApp.Main();
+ DeInitVCL();
+ return 0;
+}
diff --git a/soldep/source/depapp.hxx b/soldep/source/depapp.hxx
index 187907e87fe0..e6cb96a63832 100644
--- a/soldep/source/depapp.hxx
+++ b/soldep/source/depapp.hxx
@@ -35,7 +35,7 @@
#define EVENT_RESIZE 0x00000001
-#include <svtools/solar.hrc>
+#include <svl/solar.hrc>
#include <tools/resmgr.hxx>
#include <bootstrp/sstring.hxx>
#include <vcl/event.hxx>
diff --git a/soldep/source/objwin.cxx b/soldep/source/objwin.cxx
index 56eacedb4093..baa24d41fce0 100644
--- a/soldep/source/objwin.cxx
+++ b/soldep/source/objwin.cxx
@@ -1,487 +1,487 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: objwin.cxx,v $
- * $Revision: 1.6 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <tools/list.hxx>
-#include <tools/debug.hxx>
-#include <vcl/svapp.hxx>
-#include <vcl/help.hxx>
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: objwin.cxx,v $
+ * $Revision: 1.6 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include <tools/list.hxx>
+#include <tools/debug.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/help.hxx>
#include <vcl/wall.hxx>
-
-#include <soldep/objwin.hxx>
-#include <soldep/depwin.hxx>
-//#include "depapp.hxx"
-#include <soldep/depper.hxx>
-//#include "prjdep.hxx"
-#include <soldep/connctr.hxx>
-#include <stdio.h>
-
-static Color aDefaultColor = 0L;
-static Wallpaper* pDefaultWallpaper = 0L;
-
-// Initialize static class member
-BOOL ObjectWin::msbHideMode = FALSE;
-ULONG ObjectWin::msnGlobalViewMask = 0;
-
-
-UINT32 aColorMap[] = {
- COL_TRANSPARENT, //MARKMODE_DEFAULT 0
- COL_GREEN, //MARKMODE_DEPENDING 1
- COL_RED, //MARKMODE_NEEDED 2
- COL_MAGENTA, //1+2
- COL_YELLOW, //MARKMODE_ACTIVATED 4
- COL_LIGHTGREEN, //1+4
- COL_LIGHTRED, //2+4
- COL_LIGHTMAGENTA, //1+2+4
- COL_BLUE, //MARKMODE_SELECTED 8
- COL_LIGHTGRAY, //1+8
- COL_CYAN, //2+8
- COL_LIGHTCYAN, //1+2+8
- COL_LIGHTBLUE, //4+8
- COL_BROWN, //1+4+8
- COL_BLACK, //2+4+8
- COL_BLUE //1+2+4+8
-};
-
-
-//
-// class ObjectWin
-//
-
-/*****************************************************************************/
-ObjectWin::ObjectWin( Window* pParent, WinBits nWinStyle )
-/*****************************************************************************/
- : Window( pParent, nWinStyle ),
- msBodyText( "" ),
- msTipText( "" ),
- mnObjectId( 0 ),
- mnMarkMode( 0 ),
- mnViewMask( 0 ),
- mbVisible( FALSE ),
- mbMenuExecute( FALSE ),
- mbVisited( FALSE ),
- mnRootDist( 0 ),
- mnHeadDist( 0 ),
- mbFixed( FALSE )
-{
- SetBackground( Wallpaper( Color( COL_WHITE )));
-
- aTipTimer.SetTimeout( 500 );
- aTipTimer.SetTimeoutHdl(
- LINK( this, ObjectWin, TipHdl ));
-
- SetFont( Font( GetFont() ) );
+
+#include <soldep/objwin.hxx>
+#include <soldep/depwin.hxx>
+//#include "depapp.hxx"
+#include <soldep/depper.hxx>
+//#include "prjdep.hxx"
+#include <soldep/connctr.hxx>
+#include <stdio.h>
+
+static Color aDefaultColor = 0L;
+static Wallpaper* pDefaultWallpaper = 0L;
+
+// Initialize static class member
+BOOL ObjectWin::msbHideMode = FALSE;
+ULONG ObjectWin::msnGlobalViewMask = 0;
+
+
+UINT32 aColorMap[] = {
+ RGB_COLORDATA( 0xFF, 0xFF, 0x80 ), //MARKMODE_DEFAULT 0
+ COL_GREEN, //MARKMODE_DEPENDING 1
+ COL_RED, //MARKMODE_NEEDED 2
+ COL_MAGENTA, //1+2
+ COL_GRAY, //MARKMODE_ACTIVATED 4
+ COL_LIGHTGREEN, //1+4
+ COL_LIGHTRED, //2+4
+ COL_LIGHTMAGENTA, //1+2+4
+ COL_BLUE, //MARKMODE_SELECTED 8
+ COL_LIGHTGRAY, //1+8
+ COL_CYAN, //2+8
+ COL_LIGHTCYAN, //1+2+8
+ COL_LIGHTBLUE, //4+8
+ COL_BROWN, //1+4+8
+ COL_BLACK, //2+4+8
+ COL_BLUE //1+2+4+8
+};
+
+
+//
+// class ObjectWin
+//
+
+/*****************************************************************************/
+ObjectWin::ObjectWin( Window* pParent, WinBits nWinStyle )
+/*****************************************************************************/
+ : Window( pParent, nWinStyle ),
+ msBodyText( "" ),
+ msTipText( "" ),
+ mnObjectId( 0 ),
+ mnMarkMode( 0 ),
+ mnViewMask( 0 ),
+ mbVisible( FALSE ),
+ mbMenuExecute( FALSE ),
+ mbVisited( FALSE ),
+ mnRootDist( 0 ),
+ mnHeadDist( 0 ),
+ mbFixed( FALSE )
+{
+ SetBackground( Wallpaper( aColorMap[0] ));
+
+ aTipTimer.SetTimeout( 500 );
+ aTipTimer.SetTimeoutHdl(
+ LINK( this, ObjectWin, TipHdl ));
+
+ SetFont( Font( GetFont() ) );
Font aFont( GetFont() );
Size aSize = aFont.GetSize();
aFont.SetSize( aSize );
- SetFont( aFont );
-
- EnableClipSiblings();
- SetZOrder( NULL, WINDOW_ZORDER_FIRST );
- mpPopup = new PopupMenu();
- mpPopup->InsertItem( OBJWIN_EDIT_TEXT, String::CreateFromAscii( "Details" ));
- mpPopup->InsertItem( OBJWIN_ADD_CONNECTOR, String::CreateFromAscii( "New connection" ));
- mpPopup->InsertItem( OBJWIN_REMOVE_WIN, String::CreateFromAscii( "Remove object" ));
- mpPopup->InsertItem( OBJWIN_VIEW_CONTENT, String::CreateFromAscii( "View content" ));
-// mpPopup->InsertSeparator();
- mpPopup->SetSelectHdl( LINK( this, ObjectWin, PopupSelected ));
- mpPopup->SetDeactivateHdl( LINK( this, ObjectWin, PopupDeactivated ));
- mnPopupStaticItems = mpPopup->GetItemCount();
-
- if ( ! pDefaultWallpaper )
- {
- pDefaultWallpaper = new Wallpaper( GetBackground() );
- aDefaultColor = GetTextColor();
- }
- Hide();
-}
-
-/*****************************************************************************/
-ObjectWin::~ObjectWin()
-/*****************************************************************************/
-{
- while ( mConnections.Count() > 0 )
- {
- delete mConnections.GetObject( 0 );
- }
-}
-
-void ObjectWin::SetHideMode(BOOL bHide)
-{
- msbHideMode = bHide;
- mConnections.GetObject(0)->SetHideMode(msbHideMode);
-}
-
-BOOL ObjectWin::ToggleHideMode()
-{
- msbHideMode = !msbHideMode;
- mConnections.GetObject(0)->SetHideMode(msbHideMode);
- return msbHideMode;
-}
-
-/*****************************************************************************/
-void ObjectWin::SetViewMask( ULONG nMask )
-/*****************************************************************************/
-{
- mnViewMask = nMask;
- // Compares
- if ( mnViewMask & msnGlobalViewMask) {
- mbVisible = TRUE;
- Show();
- }
- else {
- Hide();
- mbVisible = FALSE;
- }
- for ( ULONG i = 0; i < mConnections.Count(); i++ )
- mConnections.GetObject( i )->UpdateVisibility();
-}
-
-/*****************************************************************************/
-void ObjectWin::SetBodyText( const ByteString& rNewString )
-/*****************************************************************************/
-{
- msBodyText = rNewString;
-}
-
-/*****************************************************************************/
-ByteString& ObjectWin::GetBodyText()
-/*****************************************************************************/
-{
- return msBodyText;
-}
-
-/*****************************************************************************/
-void ObjectWin::SetTipText( const ByteString& rNewString )
-/*****************************************************************************/
-{
- msTipText = rNewString;
-}
-
-/*****************************************************************************/
-ByteString& ObjectWin::GetTipText()
-/*****************************************************************************/
-{
- return msTipText;
-}
-
-/*****************************************************************************/
-Point ObjectWin::GetFixPoint( const Point& rRefPoint, BOOL bUseRealPos )
-/*****************************************************************************/
-{
- Point aLocalPoint;
- if ( bUseRealPos )
- aLocalPoint = GetPosPixel();
- else
- aLocalPoint = GetCalcPosPixel();
-
- Size aLocalSize = GetSizePixel();
- Point aRetPoint;
-
- USHORT nRefX = aLocalPoint.X() + aLocalSize.Width() / 2 ;
- USHORT nRefY = aLocalPoint.Y() + aLocalSize.Height() / 2 ;
-
- // always false...
- //if ( nRefX < 0 ) nRefX = 0;
- //if ( nRefY < 0 ) nRefY = 0;
-
- if ( rRefPoint.X() > nRefX )
- {
- if ( rRefPoint.Y() > nRefY )
- {
- if ( Abs( rRefPoint.X() - nRefX ) > Abs( rRefPoint.Y() - nRefY ))
- {
- aRetPoint.X() = aLocalPoint.X() + aLocalSize.Width();
- aRetPoint.Y() = nRefY;
- }
- else
- {
- aRetPoint.X() = nRefX;
- aRetPoint.Y() = aLocalPoint.Y() + aLocalSize.Height();
- }
- }
- else
- {
- if ( Abs( rRefPoint.X() - nRefX ) > Abs( rRefPoint.Y() - nRefY ))
- {
- aRetPoint.X() = aLocalPoint.X() + aLocalSize.Width();
- aRetPoint.Y() = nRefY;
- }
- else
- {
- aRetPoint.X() = nRefX;
- aRetPoint.Y() = aLocalPoint.Y();
- }
- }
- }
- else
- {
- if ( rRefPoint.Y() > nRefY )
- {
- if ( Abs( rRefPoint.X() - nRefX ) > Abs( rRefPoint.Y() - nRefY ))
- {
- aRetPoint.X() = aLocalPoint.X();
- aRetPoint.Y() = nRefY;
- }
- else
- {
- aRetPoint.X() = nRefX;
- aRetPoint.Y() = aLocalPoint.Y() + aLocalSize.Height();
- }
- }
- else
- {
- if ( Abs( rRefPoint.X() - nRefX ) > Abs( rRefPoint.Y() - nRefY ))
- {
- aRetPoint.X() = aLocalPoint.X();
- aRetPoint.Y() = nRefY;
- }
- else
- {
- aRetPoint.X() = nRefX;
- aRetPoint.Y() = aLocalPoint.Y();
- }
- }
- }
-
- return PixelToLogic(aRetPoint);
-
-}
-
-/*****************************************************************************/
-void ObjectWin::AddConnector( Connector* pNewCon )
-/*****************************************************************************/
-{
- mConnections.Insert( pNewCon );
-}
-
-/*****************************************************************************/
-BOOL ObjectWin::ConnectionExistsInAnyDirection( ObjectWin *pWin )
-/*****************************************************************************/
-{
- for ( ULONG i = 0; i < mConnections.Count(); i++ )
- if ( mConnections.GetObject( i )->GetOtherWin( this ) == pWin )
- return TRUE;
-
- return FALSE;
-}
-
-/*****************************************************************************/
-void ObjectWin::RemoveConnector( Connector* pOldCon )
-/*****************************************************************************/
-{
- mConnections.Remove( pOldCon );
-}
-
-/*****************************************************************************/
-Connector* ObjectWin::GetConnector( ULONG nIndex )
-/*****************************************************************************/
-{
- ULONG nConCount = mConnections.Count();
-
- if ( nIndex < nConCount )
- return mConnections.GetObject( nIndex );
- return NULL;
-}
-
-/*****************************************************************************/
-Connector* ObjectWin::GetConnector( ULONG nStartId, ULONG nEndId )
-/*****************************************************************************/
-{
- if ( mnObjectId != nStartId )
- return NULL;
-
- USHORT i;
- Connector* pCon;
- ULONG nConCount = mConnections.Count();
-
- for ( i = 0; i < nConCount; i++ )
- {
- pCon = mConnections.GetObject( i );
- if ( pCon->GetOtherWin( this )->GetId() == nEndId )
- return pCon;
- }
- return NULL;
-}
-
-void ObjectWin::SetAllConnectorsUnvisible()
-{
- Connector* pCon;
- ULONG nConCount = mConnections.Count();
- for ( ULONG i = 0; i < nConCount; i++ )
- {
- pCon = mConnections.GetObject( i );
- if (pCon) pCon->SetVisibility( FALSE );
- }
-}
-
-/*****************************************************************************/
-void ObjectWin::SetMarkMode( ULONG nMarkMode )
-/*****************************************************************************/
-{
- //Wallpaper aWallpaper;
-
- if ( nMarkMode == MARKMODE_DEFAULT )
- {
- if ( pDefaultWallpaper )
- {
- maObjWallpaper = GetBackground();
- maObjWallpaper.SetColor( pDefaultWallpaper->GetColor() );
- SetBackground( maObjWallpaper );
- SetTextColor( aDefaultColor );
- }
- }
- else
- {
- mnMarkMode |= nMarkMode;
- maObjWallpaper = GetBackground();
- maObjWallpaper.SetColor( aColorMap[ mnMarkMode ] );
- SetBackground( maObjWallpaper );
- SetTextColor( COL_WHITE );
- }
-
- Invalidate();
-}
-
-/*****************************************************************************/
-void ObjectWin::UnsetMarkMode( ULONG nMarkMode )
-/*****************************************************************************/
-{
- //Wallpaper aWallpaper;
-
- ULONG nOldMode = mnMarkMode;
- mnMarkMode &= ( !nMarkMode );
-
- if ( nOldMode != mnMarkMode ) {
- if ( mnMarkMode == MARKMODE_DEFAULT )
- {
- if ( pDefaultWallpaper )
- {
- maObjWallpaper = GetBackground();
- maObjWallpaper.SetColor( pDefaultWallpaper->GetColor() );
- SetBackground( maObjWallpaper );
- SetTextColor( aDefaultColor );
- }
- }
- else
- {
- maObjWallpaper = GetBackground();
- maObjWallpaper.SetColor( aColorMap[ mnMarkMode ] ); //mnMarkMode
- SetBackground( maObjWallpaper );
- SetTextColor( COL_WHITE );
- }
- Invalidate();
- }
-}
-
-/*****************************************************************************/
-void ObjectWin::MarkNeeded( BOOL bReset )
-/*****************************************************************************/
-{
- Connector* pCon;
- ObjectWin* pWin;
-
- ULONG nConCount = mConnections.Count();
- ULONG i;
-
- for ( i = 0; i < nConCount; i++ )
- {
- pCon = mConnections.GetObject( i );
- if ( pCon && !pCon->IsStart( this))
- {
- pWin = pCon->GetOtherWin( this );
- if ( pWin )
- {
- if ( bReset )
- pWin->UnsetMarkMode( MARKMODE_NEEDED );
- else
- pWin->SetMarkMode( MARKMODE_NEEDED );
- pWin->MarkNeeded( bReset ); // recursive call
- }
- }
- }
-}
-
-/*****************************************************************************/
-void ObjectWin::MarkDepending( BOOL bReset )
-/*****************************************************************************/
-{
- //if ( !bReset )
- // return;
-
- Connector* pCon;
- ObjectWin* pWin;
-
- ULONG nConCount = mConnections.Count();
- ULONG i;
-
- for ( i = 0; i < nConCount; i++ )
- {
- pCon = mConnections.GetObject( i );
- if ( pCon && pCon->IsStart( this) )
- {
- pWin = pCon->GetOtherWin( this );
- if ( pWin )
- {
- if ( bReset )
- pWin->UnsetMarkMode( MARKMODE_DEPENDING );
- else
- pWin->SetMarkMode( MARKMODE_DEPENDING );
- pWin->MarkDepending( bReset ); // recursive call
- }
- }
- }
-}
-
-/*****************************************************************************/
-void ObjectWin::Paint( const Rectangle& rRect )
-/*****************************************************************************/
-{
- Size aWinSize = PixelToLogic( GetOutputSizePixel() );
- Size aTextSize;
- ByteString sbt = msBodyText; //debug
- //sbt += " "; //debug
- //sbt += ByteString::CreateFromInt32(mnMarkMode); //debug
- aTextSize.Width() = GetTextWidth( String( msBodyText, RTL_TEXTENCODING_UTF8 ));
- aTextSize.Height() = GetTextHeight();
- Point aPos( aWinSize.Width() / 2 - aTextSize.Width() / 2,
- aWinSize.Height() / 2 - aTextSize.Height() / 2 );
-
- //DrawText( aPos , String( sBodyText, RTL_TEXTENCODING_UTF8 ));
- if (msBodyText =="null") //don't paint this "window"
- {
- Hide();
- Invalidate();
- } else
- DrawText( aPos , String( sbt, RTL_TEXTENCODING_UTF8 )); //debug
-}
-
+ SetFont( aFont );
+
+ EnableClipSiblings();
+ SetZOrder( NULL, WINDOW_ZORDER_FIRST );
+ mpPopup = new PopupMenu();
+ mpPopup->InsertItem( OBJWIN_EDIT_TEXT, String::CreateFromAscii( "Details" ));
+ mpPopup->InsertItem( OBJWIN_ADD_CONNECTOR, String::CreateFromAscii( "New connection" ));
+ mpPopup->InsertItem( OBJWIN_REMOVE_WIN, String::CreateFromAscii( "Remove object" ));
+ mpPopup->InsertItem( OBJWIN_VIEW_CONTENT, String::CreateFromAscii( "View content" ));
+// mpPopup->InsertSeparator();
+ mpPopup->SetSelectHdl( LINK( this, ObjectWin, PopupSelected ));
+ mpPopup->SetDeactivateHdl( LINK( this, ObjectWin, PopupDeactivated ));
+ mnPopupStaticItems = mpPopup->GetItemCount();
+
+ if ( ! pDefaultWallpaper )
+ {
+ pDefaultWallpaper = new Wallpaper( GetBackground() );
+ aDefaultColor = GetTextColor();
+ }
+ Hide();
+}
+
+/*****************************************************************************/
+ObjectWin::~ObjectWin()
+/*****************************************************************************/
+{
+ while ( mConnections.Count() > 0 )
+ {
+ delete mConnections.GetObject( 0 );
+ }
+}
+
+void ObjectWin::SetHideMode(BOOL bHide)
+{
+ msbHideMode = bHide;
+ mConnections.GetObject(0)->SetHideMode(msbHideMode);
+}
+
+BOOL ObjectWin::ToggleHideMode()
+{
+ msbHideMode = !msbHideMode;
+ mConnections.GetObject(0)->SetHideMode(msbHideMode);
+ return msbHideMode;
+}
+
+/*****************************************************************************/
+void ObjectWin::SetViewMask( ULONG nMask )
+/*****************************************************************************/
+{
+ mnViewMask = nMask;
+ // Compares
+ if ( mnViewMask & msnGlobalViewMask) {
+ mbVisible = TRUE;
+ Show();
+ }
+ else {
+ Hide();
+ mbVisible = FALSE;
+ }
+ for ( ULONG i = 0; i < mConnections.Count(); i++ )
+ mConnections.GetObject( i )->UpdateVisibility();
+}
+
+/*****************************************************************************/
+void ObjectWin::SetBodyText( const ByteString& rNewString )
+/*****************************************************************************/
+{
+ msBodyText = rNewString;
+}
+
+/*****************************************************************************/
+ByteString& ObjectWin::GetBodyText()
+/*****************************************************************************/
+{
+ return msBodyText;
+}
+
+/*****************************************************************************/
+void ObjectWin::SetTipText( const ByteString& rNewString )
+/*****************************************************************************/
+{
+ msTipText = rNewString;
+}
+
+/*****************************************************************************/
+ByteString& ObjectWin::GetTipText()
+/*****************************************************************************/
+{
+ return msTipText;
+}
+
+/*****************************************************************************/
+Point ObjectWin::GetFixPoint( const Point& rRefPoint, BOOL bUseRealPos )
+/*****************************************************************************/
+{
+ Point aLocalPoint;
+ if ( bUseRealPos )
+ aLocalPoint = GetPosPixel();
+ else
+ aLocalPoint = GetCalcPosPixel();
+
+ Size aLocalSize = GetSizePixel();
+ Point aRetPoint;
+
+ USHORT nRefX = aLocalPoint.X() + aLocalSize.Width() / 2 ;
+ USHORT nRefY = aLocalPoint.Y() + aLocalSize.Height() / 2 ;
+
+ // always false...
+ //if ( nRefX < 0 ) nRefX = 0;
+ //if ( nRefY < 0 ) nRefY = 0;
+
+ if ( rRefPoint.X() > nRefX )
+ {
+ if ( rRefPoint.Y() > nRefY )
+ {
+ if ( Abs( rRefPoint.X() - nRefX ) > Abs( rRefPoint.Y() - nRefY ))
+ {
+ aRetPoint.X() = aLocalPoint.X() + aLocalSize.Width();
+ aRetPoint.Y() = nRefY;
+ }
+ else
+ {
+ aRetPoint.X() = nRefX;
+ aRetPoint.Y() = aLocalPoint.Y() + aLocalSize.Height();
+ }
+ }
+ else
+ {
+ if ( Abs( rRefPoint.X() - nRefX ) > Abs( rRefPoint.Y() - nRefY ))
+ {
+ aRetPoint.X() = aLocalPoint.X() + aLocalSize.Width();
+ aRetPoint.Y() = nRefY;
+ }
+ else
+ {
+ aRetPoint.X() = nRefX;
+ aRetPoint.Y() = aLocalPoint.Y();
+ }
+ }
+ }
+ else
+ {
+ if ( rRefPoint.Y() > nRefY )
+ {
+ if ( Abs( rRefPoint.X() - nRefX ) > Abs( rRefPoint.Y() - nRefY ))
+ {
+ aRetPoint.X() = aLocalPoint.X();
+ aRetPoint.Y() = nRefY;
+ }
+ else
+ {
+ aRetPoint.X() = nRefX;
+ aRetPoint.Y() = aLocalPoint.Y() + aLocalSize.Height();
+ }
+ }
+ else
+ {
+ if ( Abs( rRefPoint.X() - nRefX ) > Abs( rRefPoint.Y() - nRefY ))
+ {
+ aRetPoint.X() = aLocalPoint.X();
+ aRetPoint.Y() = nRefY;
+ }
+ else
+ {
+ aRetPoint.X() = nRefX;
+ aRetPoint.Y() = aLocalPoint.Y();
+ }
+ }
+ }
+
+ return PixelToLogic(aRetPoint);
+
+}
+
+/*****************************************************************************/
+void ObjectWin::AddConnector( Connector* pNewCon )
+/*****************************************************************************/
+{
+ mConnections.Insert( pNewCon );
+}
+
+/*****************************************************************************/
+BOOL ObjectWin::ConnectionExistsInAnyDirection( ObjectWin *pWin )
+/*****************************************************************************/
+{
+ for ( ULONG i = 0; i < mConnections.Count(); i++ )
+ if ( mConnections.GetObject( i )->GetOtherWin( this ) == pWin )
+ return TRUE;
+
+ return FALSE;
+}
+
+/*****************************************************************************/
+void ObjectWin::RemoveConnector( Connector* pOldCon )
+/*****************************************************************************/
+{
+ mConnections.Remove( pOldCon );
+}
+
+/*****************************************************************************/
+Connector* ObjectWin::GetConnector( ULONG nIndex )
+/*****************************************************************************/
+{
+ ULONG nConCount = mConnections.Count();
+
+ if ( nIndex < nConCount )
+ return mConnections.GetObject( nIndex );
+ return NULL;
+}
+
+/*****************************************************************************/
+Connector* ObjectWin::GetConnector( ULONG nStartId, ULONG nEndId )
+/*****************************************************************************/
+{
+ if ( mnObjectId != nStartId )
+ return NULL;
+
+ USHORT i;
+ Connector* pCon;
+ ULONG nConCount = mConnections.Count();
+
+ for ( i = 0; i < nConCount; i++ )
+ {
+ pCon = mConnections.GetObject( i );
+ if ( pCon->GetOtherWin( this )->GetId() == nEndId )
+ return pCon;
+ }
+ return NULL;
+}
+
+void ObjectWin::SetAllConnectorsUnvisible()
+{
+ Connector* pCon;
+ ULONG nConCount = mConnections.Count();
+ for ( ULONG i = 0; i < nConCount; i++ )
+ {
+ pCon = mConnections.GetObject( i );
+ if (pCon) pCon->SetVisibility( FALSE );
+ }
+}
+
+/*****************************************************************************/
+void ObjectWin::SetMarkMode( ULONG nMarkMode )
+/*****************************************************************************/
+{
+ //Wallpaper aWallpaper;
+
+ if ( nMarkMode == MARKMODE_DEFAULT )
+ {
+ if ( pDefaultWallpaper )
+ {
+ maObjWallpaper = GetBackground();
+ maObjWallpaper.SetColor( pDefaultWallpaper->GetColor() );
+ SetBackground( maObjWallpaper );
+ SetTextColor( aDefaultColor );
+ }
+ }
+ else
+ {
+ mnMarkMode |= nMarkMode;
+ maObjWallpaper = GetBackground();
+ maObjWallpaper.SetColor( aColorMap[ mnMarkMode ] );
+ SetBackground( maObjWallpaper );
+ SetTextColor( COL_WHITE );
+ }
+
+ Invalidate();
+}
+
+/*****************************************************************************/
+void ObjectWin::UnsetMarkMode( ULONG nMarkMode )
+/*****************************************************************************/
+{
+ //Wallpaper aWallpaper;
+
+ ULONG nOldMode = mnMarkMode;
+ mnMarkMode &= ( !nMarkMode );
+
+ if ( nOldMode != mnMarkMode ) {
+ if ( mnMarkMode == MARKMODE_DEFAULT )
+ {
+ if ( pDefaultWallpaper )
+ {
+ maObjWallpaper = GetBackground();
+ maObjWallpaper.SetColor( pDefaultWallpaper->GetColor() );
+ SetBackground( maObjWallpaper );
+ SetTextColor( aDefaultColor );
+ }
+ }
+ else
+ {
+ maObjWallpaper = GetBackground();
+ maObjWallpaper.SetColor( aColorMap[ mnMarkMode ] ); //mnMarkMode
+ SetBackground( maObjWallpaper );
+ SetTextColor( COL_WHITE );
+ }
+ Invalidate();
+ }
+}
+
+/*****************************************************************************/
+void ObjectWin::MarkNeeded( BOOL bReset )
+/*****************************************************************************/
+{
+ Connector* pCon;
+ ObjectWin* pWin;
+
+ ULONG nConCount = mConnections.Count();
+ ULONG i;
+
+ for ( i = 0; i < nConCount; i++ )
+ {
+ pCon = mConnections.GetObject( i );
+ if ( pCon && !pCon->IsStart( this))
+ {
+ pWin = pCon->GetOtherWin( this );
+ if ( pWin )
+ {
+ if ( bReset )
+ pWin->UnsetMarkMode( MARKMODE_NEEDED );
+ else
+ pWin->SetMarkMode( MARKMODE_NEEDED );
+ pWin->MarkNeeded( bReset ); // recursive call
+ }
+ }
+ }
+}
+
+/*****************************************************************************/
+void ObjectWin::MarkDepending( BOOL bReset )
+/*****************************************************************************/
+{
+ //if ( !bReset )
+ // return;
+
+ Connector* pCon;
+ ObjectWin* pWin;
+
+ ULONG nConCount = mConnections.Count();
+ ULONG i;
+
+ for ( i = 0; i < nConCount; i++ )
+ {
+ pCon = mConnections.GetObject( i );
+ if ( pCon && pCon->IsStart( this) )
+ {
+ pWin = pCon->GetOtherWin( this );
+ if ( pWin )
+ {
+ if ( bReset )
+ pWin->UnsetMarkMode( MARKMODE_DEPENDING );
+ else
+ pWin->SetMarkMode( MARKMODE_DEPENDING );
+ pWin->MarkDepending( bReset ); // recursive call
+ }
+ }
+ }
+}
+
+/*****************************************************************************/
+void ObjectWin::Paint( const Rectangle& rRect )
+/*****************************************************************************/
+{
+ Size aWinSize = PixelToLogic( GetOutputSizePixel() );
+ Size aTextSize;
+ ByteString sbt = msBodyText; //debug
+ //sbt += " "; //debug
+ //sbt += ByteString::CreateFromInt32(mnMarkMode); //debug
+ aTextSize.Width() = GetTextWidth( String( msBodyText, RTL_TEXTENCODING_UTF8 ));
+ aTextSize.Height() = GetTextHeight();
+ Point aPos( aWinSize.Width() / 2 - aTextSize.Width() / 2,
+ aWinSize.Height() / 2 - aTextSize.Height() / 2 );
+
+ //DrawText( aPos , String( sBodyText, RTL_TEXTENCODING_UTF8 ));
+ if (msBodyText =="null") //don't paint this "window"
+ {
+ Hide();
+ Invalidate();
+ } else
+ DrawText( aPos , String( sbt, RTL_TEXTENCODING_UTF8 )); //debug
+}
+
void ObjectWin::DrawOutput( OutputDevice* pDevice, const Point& rOffset )
/*****************************************************************************/
{
@@ -508,291 +508,317 @@ void ObjectWin::DrawOutput( OutputDevice* pDevice, const Point& rOffset )
pDevice->SetTextColor( GetTextColor() );
pDevice->DrawText( aTextPos, String( sbt, RTL_TEXTENCODING_UTF8 ) );
}
-}
-
-/*****************************************************************************/
-void ObjectWin::MouseButtonDown( const MouseEvent& rMEvt )
-/*****************************************************************************/
-{
- //Notify Soldep to clear ObjectList
- SetZOrder( NULL, WINDOW_ZORDER_FIRST );
- GrabFocus();
-
- // workaround fuer vcl-bug
-// GetWindow( WINDOW_REALPARENT)->Invalidate();
-// MyApp *pApp = (MyApp*)GetpApp();
-// SolDep *pSoldep = pApp->GetSolDep();
-
- maMouseOffset = rMEvt.GetPosPixel();
- if ( rMEvt.IsLeft() )
- {
-
- if ( rMEvt.IsMod2() ) // alt + mouse click left
- {
- CallEventListeners( VCLEVENT_USER_MOUSEBUTTON_DOWN_ALT, this );
- }
- else {
- CallEventListeners( VCLEVENT_USER_MOUSEBUTTON_DOWN, this );
- }
- if( rMEvt.GetClicks() == 2 )
- CallEventListeners( VCLEVENT_USER_MOUSEBUTTON_DOWN_DBLCLICK, this );
- else if ( !rMEvt.IsShift() && !((DepWin*)GetParent())->IsStartNewCon())
- {
- //((DepWin*)GetParent())->SaveSelectedObjWin(&this);
- CaptureMouse();
- }
- }
-}
-
-/*****************************************************************************/
-void ObjectWin::MouseButtonUp( const MouseEvent& rMEvt )
-/*****************************************************************************/
-{
- fprintf(stdout,"ObjectWin::MouseButtonUp\n");
- if ( rMEvt.IsLeft() )
- {
- if ( rMEvt.IsShift() || ((DepWin*)GetParent())->IsStartNewCon())
- CallEventListeners( VCLEVENT_USER_MOUSEBUTTON_UP_SHFT, this );
-// ((DepWin*)GetParent())->NewConnector( this );
- else
- {
- CallEventListeners( VCLEVENT_USER_MOUSEBUTTON_UP, this );
- if ( IsMouseCaptured() ) ReleaseMouse();
- }
- }
- else if ( rMEvt.IsRight() )
- {
- USHORT i;
-
- while ( mnPopupStaticItems < mpPopup->GetItemCount() )
- {
- mpPopup->RemoveItem( mnPopupStaticItems );
- }
-
- if ( mConnections.Count()) {
- mpPopup->InsertSeparator();
-
- for( i = 0; i < mConnections.Count() ; i++ )
- {
- mpPopup->InsertItem( mnPopupStaticItems + i + 1, String( ((mConnections.GetObject( i ))->GetOtherWin( this ))->GetBodyText(), RTL_TEXTENCODING_UTF8 ));
- }
- }
- mbMenuExecute = TRUE;
- mpPopup->Execute( GetParent(), rMEvt.GetPosPixel() + GetPosPixel());
- }
-}
-
-/*****************************************************************************/
-void ObjectWin::MouseMove( const MouseEvent& rMEvt )
-/*****************************************************************************/
-{
- if ( IsMouseCaptured() )
- {
- USHORT i;
-
- Point aNewWinPos( GetPosPixel() + rMEvt.GetPosPixel() - maMouseOffset );
-
- aNewWinPos.X() = Max( 0L, aNewWinPos.X());
- aNewWinPos.Y() = Max( 0L, aNewWinPos.Y());
- SetPosPixel( aNewWinPos );
- //int t = mConnections.Count();
-
- for ( i=0; i < mConnections.Count();i++)
- {
- mConnections.GetObject( i )->UpdatePosition( this );
- }
- }
- else // !IsMouseCaptured()
- {
- if ( rMEvt.IsLeaveWindow() )
- aTipTimer.Stop();
- else
- aTipTimer.Start();
-
- MouseEvent aNewMEvt( rMEvt.GetPosPixel() + GetPosPixel());
-
- GetParent()->MouseMove( aNewMEvt ); //call to DepWin::MouseMove
- }
-}
-
-/*****************************************************************************/
-USHORT ObjectWin::Save( SvFileStream& rOutFile )
-/*****************************************************************************/
-{
- return 0;
-}
-
-/*****************************************************************************/
-USHORT ObjectWin::Load( SvFileStream& rInFile )
-/*****************************************************************************/
-{
- return 0;
-}
-
-/*****************************************************************************/
-void ObjectWin::SetId( ULONG nId )
-/*****************************************************************************/
-{
- mnObjectId = nId;
-}
-
-/*****************************************************************************/
-ULONG ObjectWin::GetId()
-/*****************************************************************************/
-{
- return mnObjectId;
-}
-
-/*****************************************************************************/
-void ObjectWin::UpdateConnectors()
-/*****************************************************************************/
-{
- USHORT i;
-
- for ( i = 0; i < mConnections.Count(); i++ )
- {
- mConnections.GetObject( i )->UpdatePosition( this );
- }
-}
-
-IMPL_LINK( ObjectWin, PopupSelected, PopupMenu*, mpPopup_l )
-{
- USHORT nItemId = mpPopup_l->GetCurItemId();
-
- switch( nItemId )
- {
- case OBJWIN_EDIT_TEXT :
- DBG_ASSERT( FALSE,"edit");
- break;
- case OBJWIN_REMOVE_WIN :
-// DBG_ASSERT( FALSE,"remove");
-// DBG_ASSERT( mpDepperDontuseme,"remove");
- //mpDepperDontuseme->RemoveObject(mpDepperDontuseme->mpObjectList, ( USHORT ) GetId());
- break;
- case OBJWIN_ADD_CONNECTOR :
-// DBG_ASSERT( FALSE,"add con");
- ((DepWin*)GetParent())->NewConnector( this );
- break;
- case OBJWIN_VIEW_CONTENT :
-// DBG_ASSERT( FALSE,"view cnt");
-// mpDepperDontuseme->ViewContent( msBodyText );
-// TBD: CallEventListener
- break;
- default :
-// DBG_ASSERT( FALSE, String (nItemId) );
- Connector* pCon = mConnections.GetObject( nItemId - mnPopupStaticItems - 1);
- pCon = 0;
-// delete pCon;
-// mpDepperDontuseme->RemoveConnector( pCon->GetStartId(), pCon->GetEndId());
-// TBD: CallEventListener
-
- break;
- }
- return 0;
-}
-
-/*****************************************************************************/
-IMPL_LINK( ObjectWin, TipHdl, void *, EMTY_ARG )
-/*****************************************************************************/
-{
- aTipTimer.Stop();
-
- if ( msTipText.Len()) {
- Point aPos( GetpApp()->GetAppWindow()->GetPointerPosPixel());
- Help::ShowBalloon( GetpApp()->GetAppWindow(),
- Point( aPos.X(), aPos.Y()),
- String( msTipText, RTL_TEXTENCODING_UTF8 ));
- }
- return 0;
-}
-
-/*****************************************************************************/
-//void ObjectWin::GetFocus()
-/*****************************************************************************/
-//{
- //SetMarkMode( MARKMODE_SELECTED );
-//}
-
-/*****************************************************************************/
-void ObjectWin::LoseFocus()
-/*****************************************************************************/
-{
- if ( !mbMenuExecute && !msbHideMode ) {
- UnsetMarkMode( MARKMODE_SELECTED );
- UnsetMarkMode( MARKMODE_ACTIVATED );
- MarkNeeded( TRUE );
- MarkDepending( TRUE );
- }
- else
- mbMenuExecute = FALSE;
-}
-
-/*****************************************************************************/
-IMPL_LINK( ObjectWin, PopupDeactivated, PopupMenu*, mpPopup_l )
-/*****************************************************************************/
-{
- mbMenuExecute = FALSE;
-
- if ( !HasFocus()) {
- UnsetMarkMode( MARKMODE_SELECTED );
- UnsetMarkMode( MARKMODE_ACTIVATED );
- MarkNeeded( TRUE );
- MarkDepending( TRUE );
- }
-
- return 0;
-}
-
-/*****************************************************************************/
-void ObjectWin::Command( const CommandEvent& rEvent)
-/*****************************************************************************/
-{
- fprintf(stdout, "ObjectWin::Command");
-// mpDepperDontuseme->GetGraphWin()->Command( rEvent );
-// TBD: CallEventListener
-
-}
-
-/*****************************************************************************/
-/*****************************************************************************/
-
-ObjectList::ObjectList() : ObjWinList()
-{
-}
-
-/*****************************************************************************/
-void ObjectList::ResetSelectedObject()
-/*****************************************************************************/
-{
-// return;
-
- ULONG nCount_l = Count();
- ObjectWin* pObjectWin = NULL;
- for (ULONG i=0; i < nCount_l; i++ )
- {
- pObjectWin = GetObject( i );
- pObjectWin->UnsetMarkMode( MARKMODE_SELECTED );
- pObjectWin->UnsetMarkMode( MARKMODE_NEEDED );
- pObjectWin->UnsetMarkMode( MARKMODE_DEPENDING );
- pObjectWin->SetActualWallpaper(*pDefaultWallpaper);
- pObjectWin->SetAllConnectorsUnvisible();
- }
- return;
-}
-
-/*****************************************************************************/
-ObjectWin* ObjectList::GetPtrByName( const ByteString& rText )
-/*****************************************************************************/
-{
- ULONG i = 0;
- ULONG nCount_l = Count();
- ObjectWin* pObjectWin = NULL;
- while ( i < nCount_l )
- {
- pObjectWin = GetObject( i );
- ByteString sPrj = pObjectWin->GetBodyText();
- if (sPrj == rText) return pObjectWin;
- i++;
- }
- return 0;
+}
+
+/*****************************************************************************/
+void ObjectWin::MouseButtonDown( const MouseEvent& rMEvt )
+/*****************************************************************************/
+{
+ //Notify Soldep to clear ObjectList
+ SetZOrder( NULL, WINDOW_ZORDER_FIRST );
+ GrabFocus();
+
+ // workaround fuer vcl-bug
+// GetWindow( WINDOW_REALPARENT)->Invalidate();
+// MyApp *pApp = (MyApp*)GetpApp();
+// SolDep *pSoldep = pApp->GetSolDep();
+
+ maMouseOffset = rMEvt.GetPosPixel();
+ if ( rMEvt.IsLeft() )
+ {
+
+ if ( rMEvt.IsMod2() ) // alt + mouse click left
+ {
+ CallEventListeners( VCLEVENT_USER_MOUSEBUTTON_DOWN_ALT, this );
+ }
+ else {
+ CallEventListeners( VCLEVENT_USER_MOUSEBUTTON_DOWN, this );
+ }
+ if( rMEvt.GetClicks() == 2 )
+ CallEventListeners( VCLEVENT_USER_MOUSEBUTTON_DOWN_DBLCLICK, this );
+ else if ( !rMEvt.IsShift() && !((DepWin*)GetParent())->IsStartNewCon())
+ {
+ //((DepWin*)GetParent())->SaveSelectedObjWin(&this);
+ CaptureMouse();
+ }
+ }
+}
+
+/*****************************************************************************/
+void ObjectWin::MouseButtonUp( const MouseEvent& rMEvt )
+/*****************************************************************************/
+{
+ fprintf(stdout,"ObjectWin::MouseButtonUp\n");
+ if ( rMEvt.IsLeft() )
+ {
+ if ( rMEvt.IsShift() || ((DepWin*)GetParent())->IsStartNewCon())
+ CallEventListeners( VCLEVENT_USER_MOUSEBUTTON_UP_SHFT, this );
+// ((DepWin*)GetParent())->NewConnector( this );
+ else
+ {
+ CallEventListeners( VCLEVENT_USER_MOUSEBUTTON_UP, this );
+ if ( IsMouseCaptured() ) ReleaseMouse();
+ }
+ }
+ else if ( rMEvt.IsRight() )
+ {
+ USHORT i;
+
+ while ( mnPopupStaticItems < mpPopup->GetItemCount() )
+ {
+ mpPopup->RemoveItem( mnPopupStaticItems );
+ }
+
+ if ( mConnections.Count()) {
+ mpPopup->InsertSeparator();
+
+ for( i = 0; i < mConnections.Count() ; i++ )
+ {
+ mpPopup->InsertItem( mnPopupStaticItems + i + 1, String( ((mConnections.GetObject( i ))->GetOtherWin( this ))->GetBodyText(), RTL_TEXTENCODING_UTF8 ));
+ }
+ }
+ mbMenuExecute = TRUE;
+ mpPopup->Execute( GetParent(), rMEvt.GetPosPixel() + GetPosPixel());
+ }
+}
+
+/*****************************************************************************/
+void ObjectWin::MouseMove( const MouseEvent& rMEvt )
+/*****************************************************************************/
+{
+ if ( IsMouseCaptured() )
+ {
+ USHORT i;
+
+ Point aNewWinPos( GetPosPixel() + rMEvt.GetPosPixel() - maMouseOffset );
+
+ aNewWinPos.X() = Max( 0L, aNewWinPos.X());
+ aNewWinPos.Y() = Max( 0L, aNewWinPos.Y());
+ SetPosPixel( aNewWinPos );
+ //int t = mConnections.Count();
+
+ for ( i=0; i < mConnections.Count();i++)
+ {
+ mConnections.GetObject( i )->UpdatePosition( this );
+ }
+ }
+ else // !IsMouseCaptured()
+ {
+ if ( rMEvt.IsLeaveWindow() )
+ aTipTimer.Stop();
+ else
+ aTipTimer.Start();
+
+ MouseEvent aNewMEvt( rMEvt.GetPosPixel() + GetPosPixel());
+
+ GetParent()->MouseMove( aNewMEvt ); //call to DepWin::MouseMove
+ }
+}
+
+/*****************************************************************************/
+USHORT ObjectWin::Save( SvFileStream& rOutFile )
+/*****************************************************************************/
+{
+ return 0;
+}
+
+/*****************************************************************************/
+USHORT ObjectWin::Load( SvFileStream& rInFile )
+/*****************************************************************************/
+{
+ return 0;
+}
+
+/*****************************************************************************/
+void ObjectWin::SetId( ULONG nId )
+/*****************************************************************************/
+{
+ mnObjectId = nId;
+}
+
+/*****************************************************************************/
+ULONG ObjectWin::GetId()
+/*****************************************************************************/
+{
+ return mnObjectId;
+}
+
+/*****************************************************************************/
+void ObjectWin::UpdateConnectors()
+/*****************************************************************************/
+{
+ USHORT i;
+
+ for ( i = 0; i < mConnections.Count(); i++ )
+ {
+ mConnections.GetObject( i )->UpdatePosition( this );
+ }
+}
+
+IMPL_LINK( ObjectWin, PopupSelected, PopupMenu*, mpPopup_l )
+{
+ USHORT nItemId = mpPopup_l->GetCurItemId();
+
+ switch( nItemId )
+ {
+ case OBJWIN_EDIT_TEXT :
+ DBG_ASSERT( FALSE,"edit");
+ break;
+ case OBJWIN_REMOVE_WIN :
+// DBG_ASSERT( FALSE,"remove");
+// DBG_ASSERT( mpDepperDontuseme,"remove");
+ //mpDepperDontuseme->RemoveObject(mpDepperDontuseme->mpObjectList, ( USHORT ) GetId());
+ break;
+ case OBJWIN_ADD_CONNECTOR :
+// DBG_ASSERT( FALSE,"add con");
+ ((DepWin*)GetParent())->NewConnector( this );
+ break;
+ case OBJWIN_VIEW_CONTENT :
+// DBG_ASSERT( FALSE,"view cnt");
+// mpDepperDontuseme->ViewContent( msBodyText );
+// TBD: CallEventListener
+ break;
+ default :
+// DBG_ASSERT( FALSE, String (nItemId) );
+ Connector* pCon = mConnections.GetObject( nItemId - mnPopupStaticItems - 1);
+ pCon = 0;
+// delete pCon;
+// mpDepperDontuseme->RemoveConnector( pCon->GetStartId(), pCon->GetEndId());
+// TBD: CallEventListener
+
+ break;
+ }
+ return 0;
+}
+
+/*****************************************************************************/
+IMPL_LINK( ObjectWin, TipHdl, void *, EMTY_ARG )
+/*****************************************************************************/
+{
+ aTipTimer.Stop();
+
+ if ( msTipText.Len()) {
+ Point aPos( GetpApp()->GetAppWindow()->GetPointerPosPixel());
+ Help::ShowBalloon( GetpApp()->GetAppWindow(),
+ Point( aPos.X(), aPos.Y()),
+ String( msTipText, RTL_TEXTENCODING_UTF8 ));
+ }
+ return 0;
+}
+
+/*****************************************************************************/
+//void ObjectWin::GetFocus()
+/*****************************************************************************/
+//{
+ //SetMarkMode( MARKMODE_SELECTED );
+//}
+
+/*****************************************************************************/
+void ObjectWin::LoseFocus()
+/*****************************************************************************/
+{
+ if ( !mbMenuExecute && !msbHideMode ) {
+ UnsetMarkMode( MARKMODE_SELECTED );
+ UnsetMarkMode( MARKMODE_ACTIVATED );
+ MarkNeeded( TRUE );
+ MarkDepending( TRUE );
+ }
+ else
+ mbMenuExecute = FALSE;
+}
+
+/*****************************************************************************/
+IMPL_LINK( ObjectWin, PopupDeactivated, PopupMenu*, mpPopup_l )
+/*****************************************************************************/
+{
+ mbMenuExecute = FALSE;
+
+ if ( !HasFocus()) {
+ UnsetMarkMode( MARKMODE_SELECTED );
+ UnsetMarkMode( MARKMODE_ACTIVATED );
+ MarkNeeded( TRUE );
+ MarkDepending( TRUE );
+ }
+
+ return 0;
+}
+
+/*****************************************************************************/
+void ObjectWin::Command( const CommandEvent& rEvent)
+/*****************************************************************************/
+{
+ fprintf(stdout, "ObjectWin::Command");
+// mpDepperDontuseme->GetGraphWin()->Command( rEvent );
+// TBD: CallEventListener
+
+}
+
+/*****************************************************************************/
+/*****************************************************************************/
+
+ObjectList::ObjectList() : ObjWinList()
+{
+}
+
+/*****************************************************************************/
+void ObjectList::ResetSelectedObject()
+/*****************************************************************************/
+{
+// return;
+
+ ULONG nCount_l = Count();
+ ObjectWin* pObjectWin = NULL;
+ for (ULONG i=0; i < nCount_l; i++ )
+ {
+ pObjectWin = GetObject( i );
+ pObjectWin->UnsetMarkMode( MARKMODE_SELECTED );
+ pObjectWin->UnsetMarkMode( MARKMODE_NEEDED );
+ pObjectWin->UnsetMarkMode( MARKMODE_DEPENDING );
+ pObjectWin->SetActualWallpaper(*pDefaultWallpaper);
+ pObjectWin->SetAllConnectorsUnvisible();
+ }
+ return;
+}
+
+/*****************************************************************************/
+ObjectWin* ObjectList::GetPtrByName( const ByteString& rText )
+/*****************************************************************************/
+{
+ ULONG i = 0;
+ ULONG nCount_l = Count();
+ ObjectWin* pObjectWin = NULL;
+ while ( i < nCount_l )
+ {
+ pObjectWin = GetObject( i );
+ ByteString sPrj = pObjectWin->GetBodyText();
+ if (sPrj == rText) return pObjectWin;
+ i++;
+ }
+ return 0;
+}
+
+ObjectList* ObjectList::FindTopLevelModules()
+{
+ ObjectList* pList = new ObjectList;
+ for ( USHORT i=0; i<Count(); i++ )
+ {
+ ObjectWin* pObjectWin = GetObject( i );
+ if ( pObjectWin->IsTop() )
+ pList->Insert( pObjectWin );
+ }
+
+ return pList;
+}
+
+BOOL ObjectWin::IsTop()
+{
+ ULONG nConCount = mConnections.Count();
+ for ( ULONG i = 0; i < nConCount; i++ )
+ {
+ Connector* pCon = mConnections.GetObject( i );
+ if ( pCon && pCon->IsStart( this) )
+ return FALSE;
+ }
+
+ return TRUE;
} \ No newline at end of file
diff --git a/soldep/source/soldep.cxx b/soldep/source/soldep.cxx
index 6c6abf80c33b..bc4d096f764e 100644
--- a/soldep/source/soldep.cxx
+++ b/soldep/source/soldep.cxx
@@ -1,243 +1,243 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: soldep.cxx,v $
- * $Revision: 1.9 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-//TBD: ToolBox handling prjview/back
-
-#include <osl/file.hxx>
-#include <rtl/ustring.hxx>
-#include <tools/debug.hxx>
-#include <bootstrp/sstring.hxx>
-#include <svtools/filedlg.hxx>
-#include <tools/iparser.hxx>
-#include <tools/geninfo.hxx>
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: soldep.cxx,v $
+ * $Revision: 1.9 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+//TBD: ToolBox handling prjview/back
+
+#include <osl/file.hxx>
+#include <rtl/ustring.hxx>
+#include <tools/debug.hxx>
+#include <bootstrp/sstring.hxx>
+#include <svtools/filedlg.hxx>
+#include <tools/iparser.hxx>
+#include <tools/geninfo.hxx>
#include <vcl/gdimtf.hxx>
#include <vcl/bitmap.hxx>
-#include <appdef.hxx>
-#include "time.h"
-#include <soldep/depper.hxx>
-#include <soldep/soldep.hxx>
-#include <soldep/soldlg.hxx>
-#include "dtsodcmp.hrc"
-
-IMPLEMENT_HASHTABLE_OWNER( SolIdMapper, ByteString, ULONG* );
-//IMPLEMENT_HASHTABLE_OWNER( PrjIdMapper, ByteString, ULONG* );
-#define EVENT_RESIZE 0x00000001
-#define MIN(a,b) (a)<(b)?(a):(b)
-#define MAX(a,b) (a)>(b)?(a):(b)
-
-
-//ByteString sDelimiterLine("#==========================================================================");
-
-
-//
-// class SolDep
-//
-
-/*****************************************************************************/
-SolDep::SolDep( Window* pBaseWindow )
-/*****************************************************************************/
- : Depper( pBaseWindow ),
- mbBServer(FALSE),
- mpTravellerList( NULL ),
- mbIsHide( FALSE )
-{
- mnSolWinCount = 0;
- mnSolLastId = 0;
-// mpPrjIdMapper = new SolIdMapper( 63997 );
- maTaskBarFrame.EnableAlwaysOnTop();
- maTaskBarFrame.Show();
- maToolBox.SetPosSizePixel( Point( 0,0 ), Size( 1100,35 ));
- maToolBox.SetSelectHdl( LINK ( this, SolDep, ToolSelect ));
- maToolBox.Show();
-
- mpBaseWin->AddChildEventListener( LINK( this, SolDep, ChildWindowEventListener ));
-
- // Kontext-Menue (gehört zu soldep.cxx)
- InitContextMenueMainWnd();
- InitContextMenuePrjViewWnd( mpBasePrjWin );
-}
-
-/*****************************************************************************/
-SolDep::~SolDep()
-/*****************************************************************************/
-{
- mpBaseWin->RemoveChildEventListener( LINK( this, SolDep, ChildWindowEventListener ) );
- delete mpSolIdMapper;
- delete mpStarWriter;
- delete mpStandLst;
-}
-
-/*****************************************************************************/
-void SolDep::Init()
-/*****************************************************************************/
-{
- InformationParser aParser;
- String sStandLst( GetDefStandList(), RTL_TEXTENCODING_ASCII_US );
- mpStandLst = aParser.Execute( sStandLst );
- ByteString aUpdater( getenv("UPDATER") );
- if ( mpStandLst && (aUpdater == "YES") ) {
- if ( GetVersion() )
- ReadSource( TRUE );
- } else
- {
- ReadSource(); // if stand.lst isn't available
- }
-}
-
-/*****************************************************************************/
-void SolDep::Init( ByteString &rVersion, GenericInformationList *pVersionList )
-/*****************************************************************************/
-{
- // Interface for bs
- mbBServer=TRUE;
- if ( pVersionList )
- mpStandLst = new GenericInformationList( *pVersionList );
- else {
- InformationParser aParser;
- String sStandLst( GetDefStandList(), RTL_TEXTENCODING_ASCII_US );
- mpStandLst = aParser.Execute( sStandLst );
- }
- if ( mpStandLst ) {
- msVersionMajor = ByteString( rVersion );
- ReadSource(TRUE); //call from build server set UPDATER to TRUE
- }
-}
-
-/*****************************************************************************/
-IMPL_LINK( SolDep, ChildWindowEventListener, VclSimpleEvent*, pEvent )
-/*****************************************************************************/
-{
- if ( pEvent && pEvent->ISA( VclWindowEvent ) )
- {
- ProcessChildWindowEvent( *static_cast< VclWindowEvent* >( pEvent ) );
- }
- return 0;
-}
-
-
-/*****************************************************************************/
-void SolDep::ProcessChildWindowEvent( const VclWindowEvent& _rVclWindowEvent )
-/*****************************************************************************/
-{
- Window* pChildWin = _rVclWindowEvent.GetWindow();
-// Window* pParentWin = pChildWin->GetParent();
-//Resize();
- if ( isAlive() )
- {
- ULONG id = _rVclWindowEvent.GetId();
- switch ( id )
- {
- case VCLEVENT_USER_MOUSEBUTTON_DOWN:
- {
- ObjectWin* pObjWin = dynamic_cast<ObjectWin*>(pChildWin);
- if( pObjWin )
- {
- // handle mouse click on ObjectWin object
- ObjectWin* pWin = (ObjectWin*) pChildWin;
- //GetObjectList()->ResetSelectedObject();
- if (IsHideMode()) // simple mouse click left
- {
- pWin->CaptureMouse();
- pWin->SetMarkMode( MARKMODE_SELECTED );
- pWin->MarkNeeded();
- pWin->MarkDepending();
- pWin->Invalidate();
- } else
- {
- pWin->LoseFocus();
- pWin->SetMarkMode( MARKMODE_SELECTED );
- pWin->UnsetMarkMode( MARKMODE_ACTIVATED );
- pWin->MarkNeeded( TRUE );
- pWin->MarkDepending( TRUE );
- }
-
- }
- }
- break;
- case VCLEVENT_USER_MOUSEBUTTON_DOWN_ALT:
- {
- ObjectWin* pObjWin = dynamic_cast<ObjectWin*>(pChildWin);
- if( pObjWin )
- {
- ObjectWin* pWin = (ObjectWin*) pChildWin;
- MarkObjects( pWin );
- }
- }
- break;
- case VCLEVENT_USER_MOUSEBUTTON_DOWN_DBLCLICK:
- {
- ObjectWin* pObjWin = dynamic_cast<ObjectWin*>(pChildWin);
- if( pObjWin )
- {
- if (IsHideMode()) ToggleHideDependency();
- ByteString text = ((ObjectWin*) pChildWin)->GetBodyText();
- ViewContent(text);
- }
- }
- break;
- case VCLEVENT_USER_MOUSEBUTTON_UP_SHFT:
- {
- ObjectWin* pObjWin = dynamic_cast<ObjectWin*>(pChildWin);
- if( pObjWin )
- {
- ObjectWin* pWin = (ObjectWin*) pChildWin;
- GetDepWin()->NewConnector( pWin );
- }
- }
- break;
- case VCLEVENT_USER_MOUSEBUTTON_UP:
- {
- ObjectWin* pObjWin = dynamic_cast<ObjectWin*>(pChildWin);
- if( pObjWin )
- {
- ObjectWin* pWin = (ObjectWin*) pChildWin;
- pWin->ReleaseMouse();
- pWin->SetMarkMode(MARKMODE_SELECTED);
- GetDepWin()->Invalidate();
- }
- }
- break;
- } // switch
- } // if isAlive
- //fprintf(stdout,"BLA::Resize: %d\n",pChildWin);
-}
-
-/*****************************************************************************/
-IMPL_LINK( SolDep, ToolSelect, SoldepToolBox* , pBox)
-/*****************************************************************************/
-{
- USHORT nItemId = pBox->GetCurItemId();
- switch ( nItemId )
- {
- case TID_SOLDEP_FIND:
- FindProject();
- break;
+#include <appdef.hxx>
+#include "time.h"
+#include <soldep/depper.hxx>
+#include <soldep/soldep.hxx>
+#include <soldep/soldlg.hxx>
+#include "dtsodcmp.hrc"
+
+IMPLEMENT_HASHTABLE_OWNER( SolIdMapper, ByteString, ULONG* );
+//IMPLEMENT_HASHTABLE_OWNER( PrjIdMapper, ByteString, ULONG* );
+#define EVENT_RESIZE 0x00000001
+#define MIN(a,b) (a)<(b)?(a):(b)
+#define MAX(a,b) (a)>(b)?(a):(b)
+
+
+//ByteString sDelimiterLine("#==========================================================================");
+
+
+//
+// class SolDep
+//
+
+/*****************************************************************************/
+SolDep::SolDep( Window* pBaseWindow )
+/*****************************************************************************/
+ : Depper( pBaseWindow ),
+ mbBServer(FALSE),
+ mpTravellerList( NULL ),
+ mbIsHide( FALSE )
+{
+ mnSolWinCount = 0;
+ mnSolLastId = 0;
+// mpPrjIdMapper = new SolIdMapper( 63997 );
+ maTaskBarFrame.EnableAlwaysOnTop();
+ maTaskBarFrame.Show();
+ maToolBox.SetPosSizePixel( Point( 0,0 ), Size( 1100,35 ));
+ maToolBox.SetSelectHdl( LINK ( this, SolDep, ToolSelect ));
+ maToolBox.Show();
+
+ mpBaseWin->AddChildEventListener( LINK( this, SolDep, ChildWindowEventListener ));
+
+ // Kontext-Menue (gehört zu soldep.cxx)
+ InitContextMenueMainWnd();
+ InitContextMenuePrjViewWnd( mpBasePrjWin );
+}
+
+/*****************************************************************************/
+SolDep::~SolDep()
+/*****************************************************************************/
+{
+ mpBaseWin->RemoveChildEventListener( LINK( this, SolDep, ChildWindowEventListener ) );
+ delete mpSolIdMapper;
+ delete mpStarWriter;
+ delete mpStandLst;
+}
+
+/*****************************************************************************/
+void SolDep::Init()
+/*****************************************************************************/
+{
+ InformationParser aParser;
+ String sStandLst( GetDefStandList(), RTL_TEXTENCODING_ASCII_US );
+ mpStandLst = aParser.Execute( sStandLst );
+ ByteString aUpdater( getenv("UPDATER") );
+ if ( mpStandLst && (aUpdater == "YES") ) {
+ if ( GetVersion() )
+ ReadSource( TRUE );
+ } else
+ {
+ ReadSource(); // if stand.lst isn't available
+ }
+}
+
+/*****************************************************************************/
+void SolDep::Init( ByteString &rVersion, GenericInformationList *pVersionList )
+/*****************************************************************************/
+{
+ // Interface for bs
+ mbBServer=TRUE;
+ if ( pVersionList )
+ mpStandLst = new GenericInformationList( *pVersionList );
+ else {
+ InformationParser aParser;
+ String sStandLst( GetDefStandList(), RTL_TEXTENCODING_ASCII_US );
+ mpStandLst = aParser.Execute( sStandLst );
+ }
+ if ( mpStandLst ) {
+ msVersionMajor = ByteString( rVersion );
+ ReadSource(TRUE); //call from build server set UPDATER to TRUE
+ }
+}
+
+/*****************************************************************************/
+IMPL_LINK( SolDep, ChildWindowEventListener, VclSimpleEvent*, pEvent )
+/*****************************************************************************/
+{
+ if ( pEvent && pEvent->ISA( VclWindowEvent ) )
+ {
+ ProcessChildWindowEvent( *static_cast< VclWindowEvent* >( pEvent ) );
+ }
+ return 0;
+}
+
+
+/*****************************************************************************/
+void SolDep::ProcessChildWindowEvent( const VclWindowEvent& _rVclWindowEvent )
+/*****************************************************************************/
+{
+ Window* pChildWin = _rVclWindowEvent.GetWindow();
+// Window* pParentWin = pChildWin->GetParent();
+//Resize();
+ if ( isAlive() )
+ {
+ ULONG id = _rVclWindowEvent.GetId();
+ switch ( id )
+ {
+ case VCLEVENT_USER_MOUSEBUTTON_DOWN:
+ {
+ ObjectWin* pObjWin = dynamic_cast<ObjectWin*>(pChildWin);
+ if( pObjWin )
+ {
+ // handle mouse click on ObjectWin object
+ ObjectWin* pWin = (ObjectWin*) pChildWin;
+ //GetObjectList()->ResetSelectedObject();
+ if (IsHideMode()) // simple mouse click left
+ {
+ pWin->CaptureMouse();
+ pWin->SetMarkMode( MARKMODE_SELECTED );
+ pWin->MarkNeeded();
+ pWin->MarkDepending();
+ pWin->Invalidate();
+ } else
+ {
+ pWin->LoseFocus();
+ pWin->SetMarkMode( MARKMODE_SELECTED );
+ pWin->UnsetMarkMode( MARKMODE_ACTIVATED );
+ pWin->MarkNeeded( TRUE );
+ pWin->MarkDepending( TRUE );
+ }
+
+ }
+ }
+ break;
+ case VCLEVENT_USER_MOUSEBUTTON_DOWN_ALT:
+ {
+ ObjectWin* pObjWin = dynamic_cast<ObjectWin*>(pChildWin);
+ if( pObjWin )
+ {
+ ObjectWin* pWin = (ObjectWin*) pChildWin;
+ MarkObjects( pWin );
+ }
+ }
+ break;
+ case VCLEVENT_USER_MOUSEBUTTON_DOWN_DBLCLICK:
+ {
+ ObjectWin* pObjWin = dynamic_cast<ObjectWin*>(pChildWin);
+ if( pObjWin )
+ {
+ if (IsHideMode()) ToggleHideDependency();
+ ByteString text = ((ObjectWin*) pChildWin)->GetBodyText();
+ ViewContent(text);
+ }
+ }
+ break;
+ case VCLEVENT_USER_MOUSEBUTTON_UP_SHFT:
+ {
+ ObjectWin* pObjWin = dynamic_cast<ObjectWin*>(pChildWin);
+ if( pObjWin )
+ {
+ ObjectWin* pWin = (ObjectWin*) pChildWin;
+ GetDepWin()->NewConnector( pWin );
+ }
+ }
+ break;
+ case VCLEVENT_USER_MOUSEBUTTON_UP:
+ {
+ ObjectWin* pObjWin = dynamic_cast<ObjectWin*>(pChildWin);
+ if( pObjWin )
+ {
+ ObjectWin* pWin = (ObjectWin*) pChildWin;
+ pWin->ReleaseMouse();
+ pWin->SetMarkMode(MARKMODE_SELECTED);
+ GetDepWin()->Invalidate();
+ }
+ }
+ break;
+ } // switch
+ } // if isAlive
+ //fprintf(stdout,"BLA::Resize: %d\n",pChildWin);
+}
+
+/*****************************************************************************/
+IMPL_LINK( SolDep, ToolSelect, SoldepToolBox* , pBox)
+/*****************************************************************************/
+{
+ USHORT nItemId = pBox->GetCurItemId();
+ switch ( nItemId )
+ {
+ case TID_SOLDEP_FIND:
+ FindProject();
+ break;
case TID_SOLDEP_CREATEMETA :
{
VirtualDevice aVDev;
@@ -282,1515 +282,1529 @@ IMPL_LINK( SolDep, ToolSelect, SoldepToolBox* , pBox)
SvFileStream aStream( String::CreateFromAscii("d:\\out.svm"), STREAM_STD_READWRITE );
aMtf.Write( aStream );
break;
- }
- case TID_SOLDEP_HIDE_INDEPENDEND:
- {
- ToggleHideDependency();
+ }
+ case TID_SOLDEP_HIDE_INDEPENDEND:
+ {
+ ToggleHideDependency();
for ( USHORT i=0; i<mpObjectList->Count(); i++ )
mpObjectList->GetObject(i)->SetViewMask(!mbIsHide);
-
- maToolBox.CheckItem(TID_SOLDEP_HIDE_INDEPENDEND, IsHideMode());
- GetDepWin()->Invalidate(); //repaint Main-View
- }
- break;
- case TID_SOLDEP_SELECT_WORKSPACE:
- if (mpStandLst)
- {
- if (GetVersion()) // Version dialog box
- {
- delete mpSolIdMapper;
- delete mpStarWriter;
- mpObjectList->ClearAndDelete();
- ReadSource(TRUE);
- }
- }
- break;
- case TID_SOLDEP_BACK:
- maToolBox.HideItem(TID_SOLDEP_BACK);
- maToolBox.ShowItem(TID_SOLDEP_SELECT_WORKSPACE); //disabled for prj view (doubleclick ObjWin)
- maToolBox.ShowItem(TID_SOLDEP_HIDE_INDEPENDEND); //disabled for prj view (doubleclick ObjWin)
- maToolBox.ShowItem(TID_SOLDEP_FIND); //disabled for prj view (doubleclick ObjWin)
- maToolBox.Resize();
- TogglePrjViewStatus();
- break;
- }
- return 0;
-}
-
-/*****************************************************************************/
-void SolDep::ToggleHideDependency()
-/*****************************************************************************/
-{
- mbIsHide = !mbIsHide;
- maToolBox.CheckItem(TID_SOLDEP_HIDE_INDEPENDEND, IsHideMode());
- ObjectWin* pWin = GetObjectList()->GetObject( 0 );
- pWin->ToggleHideMode();
-};
-
-/*****************************************************************************/
-BOOL SolDep::GetVersion()
-/*****************************************************************************/
-{
- SolSelectVersionDlg aVersionDlg( GetDepWin(), mpStandLst );
- if ( aVersionDlg.Execute() == RET_OK ) {
- msVersionMajor = aVersionDlg.GetVersionMajor();
- msVersionMinor = aVersionDlg.GetVersionMinor();
- return TRUE;
- }
- return FALSE;
-}
-
-void SolDep::InitContextMenueMainWnd()
-{
- InitContextMenuePrjViewWnd( mpBaseWin );
- return; // Disable not actually supported items
-
- mpBaseWin->mpPopup->InsertItem( DEPPOPUP_AUTOARRANGE, String::CreateFromAscii("Autoarrange")) ;
- mpBaseWin->mpPopup->InsertSeparator();
- mpBaseWin->mpPopup->InsertItem( DEPPOPUP_READ_SOURCE, String::CreateFromAscii("Revert all changes") );
- mpBaseWin->mpPopup->InsertSeparator();
- mpBaseWin->mpPopup->InsertItem( DEPPOPUP_OPEN_SOURCE, String::CreateFromAscii("Open") );
- mpBaseWin->mpPopup->InsertItem( DEPPOPUP_WRITE_SOURCE, String::CreateFromAscii("Save") );
-}
-
-void SolDep::InitContextMenuePrjViewWnd(DepWin* pBaseWin )
-{
- // temp. disabled pBaseWin->mpPopup->InsertItem( DEPPOPUP_NEW, String::CreateFromAscii("New object") );
- pBaseWin->mpPopup->InsertItem( DEPPOPUP_ZOOMIN, String::CreateFromAscii("Zoom in") );
- pBaseWin->mpPopup->InsertItem( DEPPOPUP_ZOOMOUT, String::CreateFromAscii("Zoom out") );
- pBaseWin->mpPopup->InsertSeparator();
- // temp disabled pBaseWin->mpPopup->InsertItem( DEPPOPUP_CLEAR, String::CreateFromAscii("Clear") );
- pBaseWin->mpPopup->InsertItem( DEPPOPUP_SHOW_TOOLBOX, String::CreateFromAscii("Show Toolbox") );
-}
-
-/*****************************************************************************/
-ObjectWin *SolDep::RemoveObject( USHORT nId, BOOL bDelete )
-/*****************************************************************************/
-{
- Prj* pPrj;
-
-//hshtable auf stand halten
- ObjectWin* pWin = RemoveObjectFromList( mpObjectList, mnSolWinCount, nId, FALSE );
- if ( pWin )
- {
- ByteString aBodyText( pWin->GetBodyText() );
- if( (pPrj = mpStarWriter->GetPrj( aBodyText )) )
- {
- mpStarWriter->Remove( pPrj );
-//cleanup ist teuer...
- mpStarWriter->CleanUp();
- delete pPrj;
- }
- else
- DBG_ASSERT( FALSE, "project not found - write" );
-
- mpSolIdMapper->Delete( aBodyText );
- if ( bDelete )
- delete pWin;
- return pWin;
- }
- else
- return NULL;
-}
-
-/*****************************************************************************/
-ULONG SolDep::AddObject( ByteString& rBodyText, BOOL bInteract )
-/*****************************************************************************/
-{
- ULONG nObjectId;
- if ( bInteract )
- {
- nObjectId = HandleNewPrjDialog( rBodyText );
- }
- else
- {
-//hashtable auf stand halten
- MyHashObject* pHObject;
- nObjectId = AddObjectToList( mpBaseWin, mpObjectList, mnSolLastId, mnSolWinCount, rBodyText, FALSE );
- pHObject = new MyHashObject( nObjectId, ObjIdToPtr(mpObjectList, nObjectId ));
- mpSolIdMapper->Insert( rBodyText, pHObject );
- }
- return nObjectId;
-}
-
-/*****************************************************************************/
-ULONG SolDep::AddPrjObject( ByteString& rBodyText, BOOL bInteract )
-/*****************************************************************************/
-{
- ULONG nObjectId;
- if ( bInteract )
- {
- nObjectId = HandleNewDirectoryDialog( rBodyText );
- }
- else
- {
-//hshtable auf stand halten
- MyHashObject* pHObject;
- nObjectId = AddObjectToList( mpBasePrjWin, mpObjectPrjList, mnPrjLastId, mnPrjWinCount, rBodyText );
- pHObject = new MyHashObject( nObjectId, ObjIdToPtr( mpObjectPrjList, nObjectId ));
- mpPrjIdMapper->Insert( rBodyText, pHObject ); // mpPrjIdMapper
- }
- return nObjectId;
-}
-
-/*****************************************************************************/
-USHORT SolDep::AddConnector( ObjectWin* pStartWin, ObjectWin* pEndWin )
-/*****************************************************************************/
-{
-// DBG_ASSERT( FALSE , "not yet" );
- ByteString sEndName = pEndWin->GetBodyText();
- ByteString sStartName = pStartWin->GetBodyText();
-
- Prj* pPrj = mpStarWriter->GetPrj( sEndName );
- if ( pPrj )
- {
- pPrj->AddDependencies( sStartName );
- return AddConnectorToObjects( pStartWin, pEndWin );
- }
- else
- {
- DBG_ASSERT( FALSE , "non existing Project" );
- return 1;
- }
-}
-
-/*****************************************************************************/
-USHORT SolDep::RemoveConnector( ObjectWin* pStartWin, ObjectWin* pEndWin )
-/*****************************************************************************/
-{
- SByteStringList* pPrjDeps = NULL;
- ByteString sEndName = pEndWin->GetBodyText();
- ByteString sStartName = pStartWin->GetBodyText();
-
- Prj* pPrj = mpStarWriter->GetPrj( sEndName );
- pPrjDeps = pPrj->GetDependencies( FALSE );
- if ( pPrjDeps )
- {
- ByteString* pString;
- ULONG nPrjDepsCount = pPrjDeps->Count();
- for ( ULONG j = nPrjDepsCount; j > 0; j-- )
- {
- pString = pPrjDeps->GetObject( j - 1 );
- if ( pString->GetToken( 0, '.') == sStartName )
- pPrjDeps->Remove( pString );
- }
- }
-
- return RemoveConnectorFromObjects( pStartWin, pEndWin );
-}
-
-/*****************************************************************************/
-void SolDep::RemoveAllObjects( ObjectList* pObjLst )
-/*****************************************************************************/
-{
-
- Depper::RemoveAllObjects( pObjLst );
-
- if ( mpSolIdMapper )
- {
- delete mpSolIdMapper;
- mpSolIdMapper = NULL;
- }
- if ( mpStarWriter )
- {
- delete mpStarWriter;
- mpStarWriter = NULL;
- }
-}
-
-/*****************************************************************************/
-ULONG SolDep::GetStart(SolIdMapper* pIdMapper, ObjectList* pObjList)
-/*****************************************************************************/
-{
-// DBG_ASSERT( FALSE , "soldep" );
- MyHashObject* pHObject = pIdMapper->Find( "null" );//null_project
-
- if ( !pHObject ) {
- ByteString sNullPrj = "null";//null_project
- ULONG nObjectId = AddObject( sNullPrj, FALSE );
- ObjIdToPtr( pObjList, nObjectId )->SetViewMask( 1 );
- return nObjectId;
- }
-
- return pHObject->GetId();
-}
-
-/*****************************************************************************/
-ULONG SolDep::GetStartPrj(SolIdMapper* pIdMapper, ObjectList* pObjList)
-/*****************************************************************************/
-{
-// DBG_ASSERT( FALSE , "prjdep" );
- MyHashObject* pHObject = mpPrjIdMapper->Find( ByteString( "null" ) ); //null_dir
- if ( !pHObject )
- {
- ByteString bsNull("null");
- ULONG nObjectId = AddPrjObject( bsNull, FALSE); //null_dir
- return nObjectId;
- }
- else
- return pHObject->GetId();
-}
-
-/*****************************************************************************/
-USHORT SolDep::OpenSource()
-/*****************************************************************************/
-{
- if ( mpStandLst ) {
- if ( GetVersion())
- return ReadSource();
- }
- return 0;
-}
-
-/*****************************************************************************/
-USHORT SolDep::ReadSource(BOOL bUpdater)
-/*****************************************************************************/
-{
- mpBaseWin->EnablePaint( FALSE );
- mpBaseWin->Hide();
- ULONG nObjectId, nHashedId;
- ULONG i;
- MyHashObject* pHObject;
- ByteString* pStr;
- ObjectWin *pStartWin, *pEndWin;
-
- mpSolIdMapper = new SolIdMapper( 63997 );
- if (mpStandLst && bUpdater)
- {
- mpStarWriter = new StarWriter( mpStandLst, msVersionMajor, msVersionMinor, TRUE );
- } else
- {
- SolarFileList* pSolarFileList;
- pSolarFileList = GetPrjListFromDir();
- mpStarWriter = new StarWriter( pSolarFileList, TRUE );
- }
- ByteString sTitle( SOLDEPL_NAME );
- if ( mpStarWriter->GetMode() == STAR_MODE_SINGLE_PARSE ) {
- sTitle += ByteString( " - mode: single file [" );
- sTitle += (ByteString) mpStarWriter->GetName();
- sTitle += ByteString( "]" );
- }
- else if ( mpStarWriter->GetMode() == STAR_MODE_MULTIPLE_PARSE ) {
- sTitle += ByteString( " - mode: multiple files [" );
- sTitle += ByteString( "]" );
- }
- SetTitle( String( sTitle, RTL_TEXTENCODING_UTF8) );
-
- ULONG nCount = mpStarWriter->Count();
- for ( i=0; i<nCount; i++ )
- {
- Prj *pPrj = mpStarWriter->GetObject(i);
- ByteString sPrjName = pPrj->GetProjectName();
- nObjectId = AddObject( sPrjName, FALSE );
- ObjIdToPtr( mpObjectList, nObjectId )->SetViewMask( 1 );
- }
- for ( i=0; i<nCount; i++ )
- {
- Prj *pPrj = mpStarWriter->GetObject(i);
- SByteStringList *pLst = pPrj->GetDependencies( FALSE );
- if ( pLst )
- {
- ULONG nDepCount = pLst->Count();
- for ( ULONG m=0; m<nDepCount; m++)
- {
- pStr = pLst->GetObject(m);
- pHObject = mpSolIdMapper->Find( *pStr );
- /*if ( !pHObject )
- {
- // create new prj
- Prj *pNewPrj = new Prj( *pStr );
- ByteString sPrjName = pNewPrj->GetProjectName();
- nObjectId = AddObject( sPrjName, FALSE );
- pHObject = mpSolIdMapper->Find( *pStr );
- ObjIdToPtr( mpObjectList, nObjectId )->SetViewMask( 2 );
- }*/
-
- if ( pHObject )
- {
- nHashedId = pHObject->GetId();
- ByteString sF_Os2 = pPrj->GetProjectName();
- pStr = &sF_Os2;
- pHObject = mpSolIdMapper->Find( *pStr );
- nObjectId = pHObject->GetId();
- pStartWin = ObjIdToPtr( mpObjectList, nHashedId );
- pEndWin = ObjIdToPtr( mpObjectList, nObjectId );
- AddConnectorToObjects( pStartWin, pEndWin );
- }
- }
- }
- }
- if (!IsPrjView())
- {
- AutoArrange( mpSolIdMapper, mpObjectList, GetStart(mpSolIdMapper,mpObjectList), 0, GetStart(mpSolIdMapper,mpObjectList) );
- GetDepWin()->EnablePaint( TRUE );
- }
- return 0;
-}
-
-SolarFileList* SolDep::GetPrjListFromDir()
-{
- SolarFileList* pSolarFileList = new SolarFileList();
- String sPrjDir( String::CreateFromAscii( "prj" ));
- String sBuildLst( String::CreateFromAscii( "build.lst" ));
- DirEntry aCurrent( getenv( SOURCEROOT ) );
-
- aCurrent.ToAbs();
- Dir aDir( aCurrent, FSYS_KIND_DIR );
-
- USHORT nEntries = aDir.Count();
- if( nEntries )
- {
- UniStringList aSortDirList;
- for ( USHORT n = 0; n < nEntries; n++ )
- {
- DirEntry& rEntry = aDir[n];
- UniString aName( rEntry.GetName() );
- if( aName.Len() && ( aName.GetChar(0) != '.' ) && rEntry.Exists() )
- {
- rEntry += DirEntry( sPrjDir );
- rEntry += DirEntry( sBuildLst );
- if (rEntry.Exists())
- {
- pSolarFileList->Insert( new String( rEntry.GetFull() ), LIST_APPEND );
- ByteString aName_dbg(rEntry.GetFull(),RTL_TEXTENCODING_UTF8);
- fprintf(stdout, "bla:%s\n", aName_dbg.GetBuffer());
- }
- }
- }
- }
- if ( !pSolarFileList->Count() )
- {
- //is empty!! TBD
- delete pSolarFileList;
- return NULL;
- }
- return pSolarFileList;
-}
-
-/*****************************************************************************/
-USHORT SolDep::WriteSource()
-/*****************************************************************************/
-{
-/* zur Sicherheit deaktiviert
- USHORT nMode = mpStarWriter->GetMode();
- if ( nMode == STAR_MODE_SINGLE_PARSE ) {
- ByteString sFileName = mpStarWriter->GetName();
- if ( sFileName.Len()) {
- mpStarWriter->Write( String( sFileName, RTL_TEXTENCODING_UTF8) );
- mpStarWriter->RemoveProject( ByteString( "null")); //null_project
- }
- }
- else if ( nMode == STAR_MODE_MULTIPLE_PARSE ) {
- // *OBO*
- //String sRoot = mpStarWriter->GetSourceRoot();
- //nicht mehr unterstützt mpStarWriter->GetSourceRoot()
- ByteString sFileName = mpStarWriter->GetName();
- DirEntry aEntry( sFileName );
- aEntry.ToAbs();
- aEntry = aEntry.GetPath().GetPath().GetPath();
- String sRoot = aEntry.GetFull();
-
- if ( sRoot.Len()) {
- mpStarWriter->RemoveProject( ByteString( "null")); //null_project
- mpStarWriter->WriteMultiple( sRoot );
- }
- }
-*/
- return 1;
-}
-
-USHORT SolDep::Load( const ByteString& rFileName )
-{
-// moved from depper class
- DBG_ASSERT( FALSE , "you are dead!" );
- SvFileStream aInFile( String( rFileName, RTL_TEXTENCODING_UTF8 ), STREAM_READ );
- depper_head dh;
- ULONG i;
- ULONG nLoadOffs = mnSolLastId; //or Prj??
- ObjectWin* pNewWin;
- aInFile.Read( &dh, sizeof( dh ));
-
- ULONG nObjCount = dh.nObjectCount;
- ULONG nCnctrCount = dh.nCnctrCount;
-
- for ( i=0; i < nObjCount ; i++ )
- {
- ObjectWin* pWin = new ObjectWin( mpBaseWin, WB_BORDER );
- pWin->Load( aInFile );
- pNewWin = ObjIdToPtr( mpObjectList, AddObjectToList( mpBaseWin, mpObjectList, mnSolLastId, mnSolWinCount, pWin->GetBodyText(), FALSE ));
- pNewWin->SetId( nLoadOffs + pWin->GetId());
- pNewWin->SetPosPixel( pWin->GetPosPixel());
- pNewWin->SetSizePixel( pWin->GetSizePixel());
- }
-
- ULONG nStartId;
- ULONG nEndId;
-// ueber addconnector fuehren!
- for ( i=0; i < nCnctrCount ; i++ )
- {
- Connector* pCon = new Connector( mpBaseWin, WB_NOBORDER );
- pCon->Load( aInFile );
-
- nStartId = nLoadOffs + pCon->GetStartId();
- nEndId = nLoadOffs + pCon->GetEndId();
-
- ObjectWin* pStartWin = ObjIdToPtr( mpObjectList, nStartId );
- ObjectWin* pEndWin = ObjIdToPtr( mpObjectList, nEndId );
-
- pCon->Initialize( pStartWin, pEndWin );
- }
-
-
- return 0;
-}
-
-/*****************************************************************************/
-BOOL SolDep::ViewContent( ByteString& rObjectName )
-/*****************************************************************************/
-{
- mpFocusWin = NULL;
- SetPrjViewStatus(TRUE);
-
- for ( ULONG i = 0; i < mpObjectList->Count() && !mpFocusWin; i++ )
- if ( mpObjectList->GetObject( i )->HasFocus())
- mpFocusWin = mpObjectList->GetObject( i );
- //HideObjectsAndConnections( mpObjectList );
- mpProcessWin->Resize();
- GetDepWin()->Show();
- return InitPrj( rObjectName );
-}
-
-/*****************************************************************************/
-BOOL SolDep::InitPrj( ByteString& rListName )
-/*****************************************************************************/
-{
- ULONG nObjectId, nHashedId;
- ULONG i, j;
- MyHashObject* pHObject;
- ByteString *pDepName;
- ByteString *pFlagName;
- Prj* pPrj;
- ObjectWin *pStartWin, *pEndWin;
- maToolBox.HideItem(TID_SOLDEP_SELECT_WORKSPACE);
- maToolBox.HideItem(TID_SOLDEP_HIDE_INDEPENDEND);
- maToolBox.HideItem(TID_SOLDEP_FIND);
- maToolBox.ShowItem(TID_SOLDEP_BACK);
- maToolBox.Invalidate();
-
- //clean up
- mpObjectPrjList->ClearAndDelete();
- GetDepWin()->ClearConnectorList();
- if (mpPrjIdMapper) delete mpPrjIdMapper;
- mpPrjIdMapper = new SolIdMapper( 63997 ); //generate clean mapper
- mnPrjWinCount = 0;
- mnPrjLastId = 0;
-
- ULONG nCount = mpStarWriter->Count();
- GetDepWin()->EnablePaint( FALSE );
- Point aPnt = GetGraphWin()->GetPosPixel();
- Size aSize = GetGraphWin()->GetSizePixel();
-
- GetGraphWin()->SetPosSizePixel( aPnt, aSize ); // Hier wird das Window gesetzt
-
- BOOL bReturn = FALSE;
-
- for ( i=0; i<nCount; i++ )
- {
-// pPrj->GetProjectName() returns the name of
-// the project e.g. svtools
- pPrj = mpStarWriter->GetObject(i);
- ByteString sPrjName = pPrj->GetProjectName();
- if ( sPrjName == rListName )
- {
- bReturn = TRUE;
-
- mpPrj = mpStarWriter->GetObject(i);
- ULONG nDirCount = mpPrj->Count();
- for ( j=0; j<nDirCount; j++ )
- {
- CommandData *pData = mpPrj->GetObject(j);
- fprintf( stdout, "\tProjectDir : %s\n",
- pData->GetLogFile().GetBuffer());
-// pData->GetLogFile() contains internal project IDs
-// e.g. st_mkout etc.
- if ( pData->GetLogFile() != "" )
- {
- ByteString sItem = pData->GetLogFile();
- nObjectId = AddPrjObject( sItem, FALSE);
-// there may be faster ways......
- ObjectWin *pWin = ObjIdToPtr( mpObjectPrjList, nObjectId );
- pWin->SetViewMask( 0x0001 );
-// pData->GetPath() contains internal project directories
-// e.g. svtools/inc etc.
- ByteString sPath = pData->GetPath();
- pWin->SetTipText( sPath );
- }
- }
-
-// set connectors for dependencies here
- for ( j=0; j<nDirCount; j++ )
- {
- CommandData *pData = mpPrj->GetObject(j);
- SByteStringList *pDeps = pData->GetDependencies();
- if ( pDeps )
- {
- ByteString sFlagName = pData->GetLogFile();
- pFlagName = &sFlagName;
- //pHObject = mpPrjIdMapper->Find( (*pFlagName).GetToken( 0, '.'));//mpSolIdMapper see ReadSource()
- pHObject = mpPrjIdMapper->Find( sFlagName.GetToken( 0, '.'));
- if (pHObject)
- {
-
- nObjectId = pHObject->GetId();
-
- ULONG nDepCount = pDeps->Count();
- for ( ULONG k=0; k<nDepCount; k++ )
- {
- pDepName = pDeps->GetObject(k);
- pHObject = mpPrjIdMapper->Find( (*pDepName).GetToken( 0, '.'));
- if (pHObject )
- {
- nHashedId = pHObject->GetId();
- pStartWin = ObjIdToPtr( mpObjectPrjList, nHashedId );
- pEndWin = ObjIdToPtr( mpObjectPrjList, nObjectId );
-
- AddConnectorToObjects( pStartWin, pEndWin );
- }
- else
- {
- String sMessage;
- sMessage += String::CreateFromAscii("can't find ");
- sMessage += String( *pDepName, RTL_TEXTENCODING_UTF8 );
- sMessage += String::CreateFromAscii(".\ndependency ignored");
- WarningBox aBox( GetDepWin(), WB_OK, sMessage);
- aBox.Execute();
- }
- }
- }
- }
-
- }
-
- break;
- }
- }
- ByteString sNullDir = "null";
- nObjectId = AddPrjObject( sNullDir, FALSE);
- ObjectWin *pWin = ObjIdToPtr( mpObjectPrjList, nObjectId );
- pWin->SetViewMask( 0x0001 );
- mpGraphPrjWin->EnablePaint( TRUE );
- //debug
-// int test_l = GetStartPrj(mpPrjIdMapper, mpObjectPrjList);
-// ObjectWin *pTestWin = ObjIdToPtr( mpObjectPrjList, test_l );
- AutoArrange( mpPrjIdMapper, mpObjectPrjList, GetStartPrj(mpPrjIdMapper, mpObjectPrjList), 0, GetStartPrj(mpPrjIdMapper, mpObjectPrjList) );
- mpGraphWin->Hide();
- mpGraphPrjWin->Show();
- mpGraphPrjWin->Invalidate();
-
- return bReturn;
-}
-
-/*****************************************************************************/
-USHORT SolDep::CloseWindow()
-/*****************************************************************************/
-{
-
- ((SystemWindow*)mpProcessWin)->Close();
- return 0;
-}
-
-/*****************************************************************************/
-void SolDep::ShowHelp()
-/*****************************************************************************/
-{
- SvFileStream aHelpFile( String::CreateFromAscii( "g:\\soldep.hlp" ), STREAM_READ );
- String aHelpText;
- ByteString aGetStr;
-
- if ( aHelpFile.IsOpen() )
- {
- while ( aHelpFile.ReadLine( aGetStr ) )
- {
- aHelpText += String (aGetStr, RTL_TEXTENCODING_UTF8);
- aHelpText += String::CreateFromAscii("\n");
- }
- }
- else
- aHelpText = String::CreateFromAscii("No Helpfile found.");
-
- SolHelpDlg aHelpDlg( mpBaseWin, DtSodResId( RID_SD_DIALOG_HELP ));
- aHelpDlg.maMLEHelp.SetText( aHelpText );
- aHelpDlg.maMLEHelp.SetReadOnly();
- aHelpDlg.maMLEHelp.EnableFocusSelectionHide( TRUE );
- aHelpDlg.Execute();
-}
-
-/*****************************************************************************/
-BOOL SolDep::FindProject()
-/*****************************************************************************/
-{
- SolFindProjectDlg aFindProjectDlg( GetDepWin(), GetObjectList() );
- ObjectWin* pObjectWin = NULL;
- mpObjectList->ResetSelectedObject();
- if (IsHideMode())
- {
- GetDepWin()->Invalidate();
- }
-
- mpFocusWin=NULL;
-
- if ( aFindProjectDlg.Execute() == RET_OK ) {
- msProject = aFindProjectDlg.GetProject();
- //now we have a project string
- pObjectWin = mpObjectList->GetPtrByName( msProject );
- mpObjectList->ResetSelectedObject();
- MarkObjects( pObjectWin );
- }
- return FALSE;
-}
-
-BOOL SolDep::MarkObjects( ObjectWin* pObjectWin )
-{
- if (pObjectWin)
- {
- if (!(pObjectWin->IsNullObject()))
- {
- pObjectWin->SetMarkMode( MARKMODE_SELECTED );
- pObjectWin->MarkNeeded();
- pObjectWin->MarkDepending();
- if (IsHideMode())
- {
- GetDepWin()->Invalidate();
- }
- } else
- {
- fprintf(stdout,"null\n");
- }
- }
- return TRUE;
-}
-
-void SolDep::Resize()
-{
-//funzt! muß aber von der applikation aufgerufen werden.
- Point aOutPos = Point( 0, 0 );
- Size aOutSize = mpProcessWin->GetOutputSizePixel();
- // calculate output size
- ULONG nTaskHeight = maToolBox.CalcWindowSizePixel().Height();
- ULONG nTaskWidth = maToolBox.CalcWindowSizePixel().Width();
- Size aSize( aOutSize.Width(), nTaskHeight );
-
-// ULONG nMenuHeight = 0;
- Point aGraphWinPos = Point(0,0);
- Size aGraphWinSize = Size(0,0);
-
-//weiß nicht wie: nMenuHeight = aMenuBar.GetWindow()->GetSizePixel().Height(); //Höhe des Menues
-
- //aInRect = pTBManager->Resize( Rectangle( aOutPos, aOutSize );
- // Set Docking-Rectangle for ToolBar
- Rectangle aInRect;
-
- if (( !maToolBox.IsFloatingMode() ) && ( maToolBox.GetAlign() == WINDOWALIGN_TOP ))
- {
- // waagerechte Toolbar oben
- maToolBox.SetPosSizePixel( aOutPos, Size( aOutSize.Width(), maToolBox.CalcWindowSizePixel().Height()));
- if( maToolBox.IsVisible())
- {
- Point aOutPosTmp;
- Size aOutSizeTmp;
- aOutPosTmp = Point( aOutPos.X(), aOutPos.Y() + maToolBox.CalcWindowSizePixel().Height());
- aOutSizeTmp = Size( aOutSize.Width(), aOutSize.Height() - maToolBox.CalcWindowSizePixel().Height());
- aInRect = Rectangle( aOutPosTmp, aOutSizeTmp );
- aGraphWinPos = Point( 0, nTaskHeight );
- aGraphWinSize = Size( aOutSize.Width(), aOutSize.Height() - nTaskHeight);
- }
- }
- if (( !maToolBox.IsFloatingMode() ) && ( maToolBox.GetAlign() == WINDOWALIGN_BOTTOM ))
- {
- // waagerechte Toolbar unten
- Point aTbPos = Point( aOutPos.X(), aOutPos.Y() + aOutSize.Height() - maToolBox.CalcWindowSizePixel().Height());
- Size aTbSize = Size( aOutSize.Width(), maToolBox.CalcWindowSizePixel().Height());
- maToolBox.SetPosSizePixel( aTbPos, aTbSize );
- if( maToolBox.IsVisible())
- {
- Point aOutPosTmp;
- Size aOutSizeTmp;
- aOutPosTmp = Point( aOutPos.X(), aOutPos.Y() + maToolBox.CalcWindowSizePixel().Height());
- aOutSizeTmp = Size( aOutSize.Width(), aOutSize.Height() - maToolBox.CalcWindowSizePixel().Height());
- aInRect = Rectangle( aOutPosTmp, aOutSizeTmp );
- aGraphWinPos = Point( 0, 0 );
- aGraphWinSize = Size( aOutSize.Width(), aOutSize.Height() - nTaskHeight);
- }
- }
- if (( !maToolBox.IsFloatingMode() ) && ( maToolBox.GetAlign() == WINDOWALIGN_LEFT ))
- {
- // senkrechte ToolBar links
- maToolBox.SetPosSizePixel( aOutPos, Size( maToolBox.CalcWindowSizePixel().Width(), aOutSize.Height()));
- if( maToolBox.IsVisible())
- {
- Point aOutPosTmp;
- Size aOutSizeTmp;
- aOutPosTmp = Point( aOutPos.X() + maToolBox.CalcWindowSizePixel().Width(), aOutPos.Y());
- aOutSizeTmp = Size( aOutSize.Width()- maToolBox.CalcWindowSizePixel().Width(), aOutSize.Height());
- aInRect = Rectangle( aOutPosTmp, aOutSizeTmp );
- aGraphWinPos = Point( nTaskWidth, 0 );
- aGraphWinSize = Size( aOutSize.Width() - nTaskWidth, aOutSize.Height());
- }
- }
- if (( !maToolBox.IsFloatingMode() ) && ( maToolBox.GetAlign() == WINDOWALIGN_RIGHT ))
- {
- // senkrechte ToolBar rechts
- Point aTbPos = Point( aOutPos.X() + aOutSize.Width() - maToolBox.CalcWindowSizePixel().Width(), aOutPos.Y());
- Size aTbSize= Size( maToolBox.CalcWindowSizePixel().Width(), aOutSize.Height());
- maToolBox.SetPosSizePixel( aTbPos, aTbSize);
- if( maToolBox.IsVisible())
- {
- Point aOutPosTmp;
- Size aOutSizeTmp;
- aOutPosTmp = Point( aOutPos.X() + maToolBox.CalcWindowSizePixel().Width(), aOutPos.Y());
- aOutSizeTmp = Size( aOutSize.Width()- maToolBox.CalcWindowSizePixel().Width(), aOutSize.Height());
- aInRect = Rectangle( aOutPosTmp, aOutSizeTmp );
- aGraphWinPos = Point( 0, 0 );
- aGraphWinSize = Size( aOutSize.Width() - nTaskWidth, aOutSize.Height());
- }
- }
-
- Rectangle rout = Rectangle( Point( 0,0 ), aOutSize ); //OutputToScreenPixel( aOutPos )
- Rectangle rin = Rectangle( Point( 0,0 ),//OutputToScreenPixel( Point( aOutPos.X() - 20, aInRect.Top())
- Size( aOutSize.Width(), aOutSize.Height()));
-/*
- Rectangle rout = mpProcessWin->OutputToScreenPixel( aOutPos );
- Rectangle rin = Rectangle( Point( 0,0 ),//OutputToScreenPixel( Point( aOutPos.X() - 20, aInRect.Top())
- Size( aOutSize.Width(), aOutSize.Height()));
-*/
- maToolBox.SetDockingRects( rout, rin );
-
- BOOL bFloating = maToolBox.IsFloatingMode();
-
- if ( bFloating )
- {
- GetGraphWin()->SetPosSizePixel(Point(0,0),aOutSize);
- //if (IsPrjView() && (mpPrjDep)) mpPrjDep->Resize();
- if (maToolBox.IsVisible()) maToolBox.Show();
- } else
- {
- GetGraphWin()->SetPosSizePixel( aGraphWinPos, aGraphWinSize );
- }
- if (maToolBox.IsVisible()) maToolBox.Show();
-}
-
-USHORT SolDep::AddConnectorPrjView( ObjectWin* pStartWin, ObjectWin* pEndWin )
-{
-// DBG_ASSERT( FALSE , "not yet" );
- ByteString sEndName = pEndWin->GetBodyText();
- ByteString sStartName = pStartWin->GetBodyText();
- if ( sStartName != ByteString("null"))
- {
- CommandData* pEndData = mpPrj->GetDirectoryData( sEndName );
- SByteStringList* pDeps = pEndData->GetDependencies();
- if ( pDeps )
- pDeps->PutString( &sStartName );
- else
- {
- pDeps = new SByteStringList();
- pEndData->SetDependencies( pDeps );
- pDeps->PutString( &sStartName );
- pEndData->GetDependencies();
- }
- }
- return AddConnectorToObjects( pStartWin, pEndWin );
-}
-
-USHORT SolDep::RemoveConnectorPrjView( ObjectWin* pStartWin, ObjectWin* pEndWin )
-{
- ByteString sEndName = pEndWin->GetBodyText();
- ByteString sStartName = pStartWin->GetBodyText();
- CommandData* pEndData = mpPrj->GetDirectoryData( sEndName );
- SByteStringList* pDeps = pEndData->GetDependencies();
- if ( pDeps )
- {
- ByteString* pString;
- ULONG nDepsCount = pDeps->Count();
- for ( ULONG j = nDepsCount; j > 0; j-- )
- {
- pString = pDeps->GetObject( j - 1 );
- if ( pString->GetToken( 0, '.') == sStartName )
- pDeps->Remove( pString );
- }
- }
- return RemoveConnectorFromObjects( pStartWin, pEndWin );
-}
-
-USHORT SolDep::AutoArrange( SolIdMapper* pIdMapper, ObjectList* pObjLst, ULONG nTopId, ULONG nBottmId, ULONG aObjID )
-{
- AutoArrangeDlgStart();
- OptimizePos(pIdMapper, pObjLst, nTopId, nBottmId, aObjID );
- AutoArrangeDlgStop();
- return 0;
-}
-
-Point SolDep::CalcPos( USHORT nSet, USHORT nIndex )
-{
- int nRowIndex = nIndex / DEPPER_MAX_WIDTH;
- ULONG nPosX = mnXOffset + nRowIndex % 3 * GetDefSize().Width() / 3 + ( nIndex - ( DEPPER_MAX_WIDTH * nRowIndex )) * (GetDefSize().Width() + OBJWIN_X_SPACING );
-
- ULONG nPosY = ( nSet + mnLevelOffset + nRowIndex ) * ( GetDefSize().Height() + OBJWIN_Y_SPACING ) + OBJWIN_Y_SPACING;
- Point aPos( nPosX, nPosY );
- return aPos;
-}
-
-ULONG SolDep::CalcXOffset( ULONG nObjectsToFit )
-{
- long nDynXOffs;
- long nXMiddle;
- ULONG nTrigger;
-
- nXMiddle = GetDepWin()->PixelToLogic( GetDepWin()->GetSizePixel()).Width() / 2;
- if ( nObjectsToFit > DEPPER_MAX_WIDTH )
- nObjectsToFit = DEPPER_MAX_WIDTH - 1 + DEPPER_MAX_WIDTH % 2;
- nTrigger = ( nObjectsToFit - 1 ) / 2;
- nDynXOffs = ( GetDefSize().Width() + OBJWIN_X_SPACING ) * nTrigger;
- ULONG nXOffs = nXMiddle - nDynXOffs;
-
- if ( ULONG(nXMiddle - nDynXOffs) < mnMinDynXOffs )
- mnMinDynXOffs = nXMiddle - nDynXOffs;
-
- return nXOffs;
-
-}
-
-double SolDep::CalcDistSum( ObjWinList* pObjList, DistType eDistType )
-{
- ObjectWin* pWin;
- Connector* pCon;
- ULONG nObjCount = pObjList->Count();
- double dRetVal = 0;
- double dWinVal;
- USHORT i, j;
- BOOL bIsStart;
-
- for ( i = 0; i < nObjCount; i++ )
- {
- pWin = pObjList->GetObject( i );
-
- if ( pWin && pWin->IsVisible())
- {
- j = 0;
- dWinVal = 0;
- while ( (pCon = pWin->GetConnector( j )) )
- {
- if ( pCon->IsVisible()) {
- bIsStart = pCon->IsStart( pWin );
- if ( eDistType != BOTH )
- if ( eDistType == TOPDOWN )
- {
- if ( bIsStart )
- {
- pCon->UpdatePosition( pWin, FALSE );
- dWinVal += pCon->GetLen() * pWin->mnHeadDist;
- }
- }
- else
- {
- if ( !bIsStart )
- {
- pCon->UpdatePosition( pWin, FALSE );
- dWinVal += pCon->GetLen() * pWin->mnRootDist;
- }
-
- }
- else
- {
- pCon->UpdatePosition( pWin, FALSE );
- if ( !bIsStart )
- dWinVal += pCon->GetLen() * ( pWin->mnHeadDist + 1 );
- else
- dWinVal += pCon->GetLen() * pWin->mnRootDist;
- }
- }
- j++;
- }
-// if ( j != 0 )
-// dWinVal /= j;
- dRetVal += dWinVal;
- }
- }
-
- return dRetVal;
-}
-
-USHORT SolDep::Impl_Traveller( ObjectWin* pWin, USHORT nDepth )
-{
- USHORT i = 0;
- ObjectWin* pNewWin;
- Connector* pCon;
-
- nDepth++;
-
- USHORT nMaxDepth = nDepth;
-
- pWin->mbVisited = TRUE;
- pWin->mnRootDist = Max ( nDepth, pWin-> mnRootDist );
- if ( nDepth > DEPPER_MAX_DEPTH )
- {
- DBG_ASSERT( nDepth != DEPPER_MAX_DEPTH + 1, "Ringabhängigkeit!" );
- nDepth++;
- return DEP_ENDLES_RECURSION_FOUND;
- }
-
- while ( (pCon = pWin->GetConnector( i )) )
- {
- if ( pCon->IsStart( pWin )&& pCon->IsVisible() ) //removed: don't show null_project
- {
- pNewWin = pCon->GetOtherWin( pWin );
- nMaxDepth = Max( Impl_Traveller( pNewWin, nDepth ), nMaxDepth );
- if( nMaxDepth == DEP_ENDLES_RECURSION_FOUND )
- {
- mpTravellerList->Insert( pWin, LIST_APPEND );
- return DEP_ENDLES_RECURSION_FOUND;
- }
- }
- i++;
- }
- pWin->mnHeadDist = MAX( pWin->mnHeadDist, nMaxDepth - nDepth );
- return nMaxDepth;
-}
-
-
-double SolDep::Impl_PermuteMin( ObjWinList& rObjList, Point* pPosArray, ObjWinList& rResultList, double dMinDist, ULONG nStart, ULONG nSize, DistType eDistType )
-{
-
- ULONG i, j, l;
- ULONG nEnd = nStart + nSize;
- ObjectWin* pSwapWin;
- ULONG nLevelObjCount = rObjList.Count();
-
-//dont use full recusion for more than 6 objects
- if ( nLevelObjCount > 6 )
- {
- srand(( unsigned ) time( NULL ));
-
- ULONG nIdx1, nIdx2;
- for ( i = 0; i < 101; i++ )
- {
- UpdateSubProgrssBar(i);
- for ( j = 0; j < 100; j++ )
- {
- nIdx1 = (ULONG) ( double( rand() ) / RAND_MAX * nLevelObjCount );
- while ( rObjList.GetObject( nIdx1 ) == NULL )
- nIdx1 = (ULONG) ( double( rand() ) / RAND_MAX * nLevelObjCount );
- nIdx2 = (ULONG) ( double( rand() ) / RAND_MAX * nLevelObjCount );
- while ( nIdx1 == nIdx2 || nIdx2 == nLevelObjCount )
- nIdx2 = (ULONG) ( double( rand() ) / RAND_MAX * nLevelObjCount );
-
- pSwapWin = rObjList.GetObject( nIdx1 );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( pPosArray[ nIdx2 ] );
- pSwapWin = rObjList.Replace( pSwapWin, nIdx2 );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( pPosArray[ nIdx1 ] );
- rObjList.Replace( pSwapWin, nIdx1 );
-
- double dCurDist = CalcDistSum( &rObjList, eDistType );
-
- if ( dCurDist < dMinDist )
- {
- dMinDist = dCurDist;
- rResultList.Clear();
- for ( l = 0; l < nLevelObjCount; l++ )
- {
- pSwapWin = rObjList.GetObject( l );
- rResultList.Insert( pSwapWin, LIST_APPEND);
- }
- }
-// if ( dCurDist > dMinDist * 1.5 )
- if ( dCurDist > dMinDist * 15 )
- {
- pSwapWin = rObjList.GetObject( nIdx1 );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( pPosArray[ nIdx2 ] );
- pSwapWin = rObjList.Replace( pSwapWin, nIdx2 );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( pPosArray[ nIdx1 ] );
- rObjList.Replace( pSwapWin, nIdx1 );
- }
- }
- }
- }
- else
- {
- for ( i = nStart ; i < nEnd; i++)
- {
- if ( nSize > 1 )
- {
- pSwapWin = rObjList.GetObject( i );
- pSwapWin = rObjList.Replace( pSwapWin, nStart );
- rObjList.Replace( pSwapWin, i );
- double dPermuteDist = Impl_PermuteMin( rObjList, pPosArray, rResultList, dMinDist, nStart + 1, nSize - 1, eDistType );
- dMinDist = MIN( dMinDist, dPermuteDist);
- pSwapWin = rObjList.GetObject( i );
- pSwapWin = rObjList.Replace( pSwapWin, nStart );
- rObjList.Replace( pSwapWin, i );
-
- }
- else
- {
- for ( l = 0; l < nLevelObjCount; l++ )
- {
- pSwapWin = rObjList.GetObject( l );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( pPosArray[ l ] );
- }
-
- double dCurDist = CalcDistSum( &rObjList, eDistType );
-
- if ( dCurDist < dMinDist )
- {
- dMinDist = dCurDist;
- rResultList.Clear();
- for ( l = 0; l < nLevelObjCount; l++ )
- {
- pSwapWin = rObjList.GetObject( l );
- rResultList.Insert( pSwapWin, LIST_APPEND);
- }
- }
-
- }
- }
- }
-
- return dMinDist;
-}
-
-
-USHORT SolDep::OptimizePos(SolIdMapper* pIdMapper, ObjectList* pObjLst, ULONG nTopId, ULONG nBottmId, ULONG aObjID )
-{
- ObjWinList aWorkList;
- ObjectWin* pWin;
- Connector* pCon;
- USHORT nRootDist = (USHORT) -1;
- USHORT i, j, k, l, nRetVal;
- USHORT LevelUse[ DEPPER_MAX_DEPTH ];
- USHORT LevelSecUse[ DEPPER_MAX_DEPTH ];
- ObjWinList* LevelList[ DEPPER_MAX_DEPTH ];
- ObjWinList* LevelSecList[ DEPPER_MAX_DEPTH ];
- Point aPosArray[ DEPPER_MAX_LEVEL_WIDTH * DEPPER_MAX_WIDTH ];
-
- mnMinDynXOffs = 0xffff;
-
- for ( i = 0; i < DEPPER_MAX_DEPTH; i++ )
- {
- LevelUse[ i ] = 0;
- LevelList[ i ] = NULL;
- LevelSecUse[ i ] = 0;
- LevelSecList[ i ] = NULL;
- }
-
- GetDepWin()->EnablePaint( FALSE );
-
- ULONG nObjCount = pObjLst->Count();
- for ( i = 0; i < nObjCount; i++ )
- {
- pWin = pObjLst->GetObject( i );
- if ( pWin->IsVisible()) {
- pWin->mbVisited = FALSE;
- pWin->mnHeadDist = 0;
- pWin->mnRootDist = 0;
-
- // find initial objects which need to be connected with
- // root object
- j = 0;
- USHORT nStartCount = 0;
- USHORT nEndCount = 0;
- while ( (pCon = pWin->GetConnector( j )) )
- {
- if ( pCon->IsVisible()) { //null_project
- if( pCon->IsStart( pWin ))
- nStartCount++;
- else
- {
- nEndCount = 1;
- break;
- }
- }
- j++;
- }
-
- if ( nStartCount > 0 && nEndCount == 0 )
- if ( nTopId != pWin->GetId())
- AddConnectorToObjects( pObjLst, nTopId, pWin->GetId());
-
- }
- }
-
- pWin = ObjIdToPtr( pObjLst, nTopId );
-
- if ( mpTravellerList )
- {
- mpTravellerList->Clear();
- delete mpTravellerList;
- }
- mpTravellerList = new ObjWinList();
- // set root and top distance
- nRetVal = Impl_Traveller( pWin, nRootDist );
-
- DBG_ASSERT( nRetVal < DEPPER_MAX_DEPTH , "zu tief" );
- if ( nRetVal == DEP_ENDLES_RECURSION_FOUND )
- {
- WriteToErrorFile();
- return nRetVal;
- }
-
- ULONG nUnvisited = 0;
- ULONG nUnvisYOffs = 0;
-
- // seperate mainstream, secondary and unconnected
- for ( i = 0; i < nObjCount; i++ )
- {
- pWin = pObjLst->GetObject( i );
- if ( pWin->IsVisible()) {
- if (( pWin->mnHeadDist + pWin->mnRootDist ) == nRetVal )
- {
- if ( !LevelList[ pWin->mnHeadDist ] )
- LevelList[ pWin->mnHeadDist ] = new ObjWinList;
- LevelList[ pWin->mnHeadDist ]->Insert( pWin );
- LevelUse[ pWin->mnHeadDist ]++;
- }
- else
- if ( pWin->mbVisited )
- {
- if ( !LevelSecList[ nRetVal - pWin->mnRootDist ] )
- LevelSecList[ nRetVal - pWin->mnRootDist ] = new ObjWinList;
- LevelSecList[ nRetVal - pWin->mnRootDist ]->Insert( pWin );
- LevelSecUse[ nRetVal - pWin->mnRootDist ]++;
- }
- else
- {
- // need to be arranged more intelligent...
- Point aPos( 5, nUnvisYOffs );
- pWin->SetCalcPosPixel( aPos );
-
- Point aTmpPos = pWin->GetCalcPosPixel();
- pWin->SetPosPixel( mpBaseWin->LogicToPixel( aTmpPos ));
-
- nUnvisYOffs += pWin->PixelToLogic( pWin->GetSizePixel()).Height();
- nUnvisited++;
- }
- }
- }
-
- mnLevelOffset = 0;
-
- USHORT nScaleVal;
-
- if ( nRetVal == 0 )
- nScaleVal = 1;
- else
- nScaleVal = nRetVal;
-
- i = 0;
-
- USHORT nStep = 0;
-
- while ( LevelList[ i ] )
- {
- UpdateMainProgressBar(i, nScaleVal, nStep);
- DBG_ASSERT( LevelUse[ i ] == LevelList[ i ]->Count() , "level index im a..." );
- ObjectWin* pSwapWin;
- ULONG nLevelObjCount = LevelList[ i ]->Count();
-
- if ( nLevelObjCount % 2 == 0 )
- {
- LevelList[ i ]->Insert( NULL, LIST_APPEND );
- nLevelObjCount++;
-// LevelUse bleibt orginal...
-// LevelUse[ i ]++;
- }
-
-// catch too big lists
- DBG_ASSERT( nLevelObjCount < DEPPER_MAX_LEVEL_WIDTH * DEPPER_MAX_WIDTH , "graph zu breit! dat geiht nich gut. breaking" );
- if ( nLevelObjCount >= DEPPER_MAX_LEVEL_WIDTH * DEPPER_MAX_WIDTH )
- {
- WarningBox aWBox( mpBaseWin, WB_OK, String::CreateFromAscii("graph zu breit! dat geiht nich gut. breaking"));
- aWBox.Execute();
- break;
- }
- mnXOffset = CalcXOffset( nLevelObjCount );
- aWorkList.Clear();
-
- // initial positioning for mainstream
- for ( j = 0; j < nLevelObjCount; j++ )
- {
- pSwapWin = LevelList[ i ]->GetObject( j );
- aWorkList.Insert( pSwapWin, LIST_APPEND);
- Point aPos = CalcPos( i, j );
- aPosArray[ j ] = aPos;
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
-
- double dMinDist = CalcDistSum( LevelList[ i ] );
-
- // optimize mainstream order and return best matching list in "aWorkList"
- dMinDist = MIN( dMinDist, Impl_PermuteMin( *(LevelList[ i ]), aPosArray, aWorkList, dMinDist, 0, nLevelObjCount ));
-
- // set optimized positions - may still be wrong from later tries
- for ( j = 0; j < nLevelObjCount; j++ )
- {
- pSwapWin = aWorkList.GetObject( j );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
-
- if ( LevelSecList[ i ] != NULL )
- {
- ULONG nLevelSecObjCount = LevelSecList[ i ]->Count();
- // expand list for better positioning
- while ( nLevelSecObjCount + LevelUse[ i ] < DEPPER_MAX_WIDTH - 1 )
- {
- LevelSecList[ i ]->Insert( NULL, LIST_APPEND );
- nLevelSecObjCount++;
- }
- if ( ( nLevelSecObjCount + LevelUse[ i ])% 2 == 0 )
- {
- LevelSecList[ i ]->Insert( NULL, LIST_APPEND );
- nLevelSecObjCount++;
- }
-
- DBG_ASSERT( nLevelSecObjCount < DEPPER_MAX_LEVEL_WIDTH * DEPPER_MAX_WIDTH , "graph zu breit! dat geiht nich gut. breaking" );
- if ( nLevelObjCount >= DEPPER_MAX_LEVEL_WIDTH * DEPPER_MAX_WIDTH )
- {
- WarningBox aWBox( mpBaseWin, WB_OK, String::CreateFromAscii("graph zu breit! dat geiht nich gut. breaking"));
- aWBox.Execute();
- break;
- }
- mnXOffset = CalcXOffset( LevelUse[ i ] + nLevelSecObjCount );
- aWorkList.Clear();
-
- l = 0;
- BOOL bUsedPos;
-
- // find free positions for secondary objects
- for ( j = 0; j < ( LevelUse[ i ] + nLevelSecObjCount ) ; j++ )
- {
- Point aPos = CalcPos( i, j );
- bUsedPos = FALSE;
- // is already occupied?
- for ( k = 0; k < nLevelObjCount; k++ )
- {
- if ( LevelList[ i ]->GetObject( k ) )
- if ( aPos == LevelList[ i ]->GetObject( k )->GetCalcPosPixel() )
- bUsedPos = TRUE;
- }
- // if its free, add to pool
- if ( !bUsedPos )
- {
- aPosArray[ l ] = aPos;
- l++;
- }
- }
-
- // initial positioning for secodaries
- for ( j = 0 ; j < nLevelSecObjCount ; j++ )
- {
- pSwapWin = LevelSecList[ i ]->GetObject( j );
- aWorkList.Insert( pSwapWin, LIST_APPEND);
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
- dMinDist = CalcDistSum( LevelSecList[ i ] );
-
- dMinDist = MIN( dMinDist, Impl_PermuteMin( *(LevelSecList[ i ]), aPosArray, aWorkList, dMinDist, 0, nLevelSecObjCount ));
-
- // set optimized positions - may still be wrong from later tries
- for ( j = 0; j < nLevelSecObjCount; j++ )
- {
- pSwapWin = aWorkList.GetObject( j );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
- if ( LevelUse[ i ] + LevelSecUse[ i ] > DEPPER_MAX_WIDTH )
- mnLevelOffset++;
- }
- if ( LevelUse[ i ] + LevelSecUse[ i ] > DEPPER_MAX_WIDTH )
- mnLevelOffset+= ( LevelUse[ i ] + LevelSecUse[ i ] ) / DEPPER_MAX_WIDTH ;
- i++;
- }
-
- mnMinDynXOffs = 0xffff;
-
-// and back again...
- // get better results form already preoptimized upper and lower rows
-
- do
- {
- i--;
- UpdateMainProgressBar(i, nScaleVal, nStep, TRUE); // TRUE ~ counting down
- if ( LevelUse[ i ] + LevelSecUse[ i ] > DEPPER_MAX_WIDTH )
- mnLevelOffset-= ( LevelUse[ i ] + LevelSecUse[ i ] ) / DEPPER_MAX_WIDTH ;
- ObjectWin* pSwapWin;
- ULONG nLevelObjCount = LevelList[ i ]->Count();
- mnXOffset = CalcXOffset( nLevelObjCount );
- aWorkList.Clear();
-
- for ( j = 0; j < nLevelObjCount; j++ )
- {
- pSwapWin = LevelList[ i ]->GetObject( j );
- aWorkList.Insert( pSwapWin, LIST_APPEND);
- Point aPos = CalcPos( i, j );
- aPosArray[ j ] = aPos;
-//no need to do this stuff....... ?????
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
-
- double dMinDist = CalcDistSum( LevelList[ i ], BOTH );
-
- dMinDist = MIN( dMinDist, Impl_PermuteMin( *(LevelList[ i ]), aPosArray, aWorkList, dMinDist, 0, nLevelObjCount, BOTH ));
-// wrong position for remaping - keep old positions for comparing
- for ( j = 0; j < nLevelObjCount; j++ )
- {
- pSwapWin = aWorkList.GetObject( j );
- if ( pSwapWin )
-// pSwapWin->SetCalcPosPixel( mpBaseWin->LogicToPixel( aPosArray[ j ] ));
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
-
- if ( LevelSecList[ i ] != NULL )
- {
- ULONG nLevelSecObjCount = LevelSecList[ i ]->Count();
- mnXOffset = CalcXOffset( LevelUse[ i ] + nLevelSecObjCount );
- aWorkList.Clear();
-
- l = 0;
- BOOL bUsedPos;
-
- for ( j = 0; j < ( LevelUse[ i ] + nLevelSecObjCount ) ; j++ )
- {
- Point aPos = CalcPos( i, j );
- bUsedPos = FALSE;
-// could be faster
- for ( k = 0; k < nLevelObjCount; k++ )
- {
- if ( LevelList[ i ]->GetObject( k ) )
- if ( aPos == LevelList[ i ]->GetObject( k )->GetCalcPosPixel() )
- bUsedPos = TRUE;
- }
- if ( !bUsedPos )
- {
- aPosArray[ l ] = aPos;
- l++;
- }
- }
-
- for ( j = 0 ; j < nLevelSecObjCount ; j++ )
- {
- pSwapWin = LevelSecList[ i ]->GetObject( j );
- aWorkList.Insert( pSwapWin, LIST_APPEND);
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
- dMinDist = CalcDistSum( LevelSecList[ i ], BOTH );
-
- dMinDist = MIN( dMinDist, Impl_PermuteMin( *(LevelSecList[ i ]), aPosArray, aWorkList, dMinDist, 0, nLevelSecObjCount, BOTH ));
-// wrong position for remaping - keep old positions for comparing
- for ( j = 0; j < nLevelSecObjCount; j++ )
- {
- pSwapWin = aWorkList.GetObject( j );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
- }
-// i--;
- } while ( i != 0 );
- SetMainProgressBar( 100 );
-
- ULONG nNewXSize = ( DEPPER_MAX_WIDTH + 1 ) * ( OBJWIN_X_SPACING + GetDefSize().Width() );
-
- // ULONG aObjID = GetStart(pIdMapper, pObjLst) //hier muß man switchen GetStart/GetPrjStart oder so
-
- ObjectWin* pObjWin = ObjIdToPtr( pObjLst, aObjID);
-
- ULONG nNewYSize = pObjWin->GetCalcPosPixel().Y() + GetDefSize().Height() + 2 * OBJWIN_Y_SPACING;
- if (( nUnvisYOffs + GetDefSize().Height()) > nNewYSize )
- nNewYSize = nUnvisYOffs + GetDefSize().Height();
-
- MapMode aMapMode = GetDepWin()->GetMapMode();
- Size aTmpSize( (ULONG) (double(nNewXSize) * double( aMapMode.GetScaleX())), (ULONG) (double( nNewYSize) * double( aMapMode.GetScaleY())));
-
- Size aNowSize( GetGraphWin()->GetSizePixel());
-
- if ( GetDepWin()->LogicToPixel( aNowSize ).Width() > aTmpSize.Width() )
- aTmpSize.Width() = GetDepWin()->LogicToPixel( aNowSize ).Width() ;
-
- if ( GetDepWin()->LogicToPixel( aNowSize ).Height() > aTmpSize.Height() )
- aTmpSize.Height() = GetDepWin()->LogicToPixel( aNowSize ).Height() ;
-
-// if ( nZoomed <= 0 )
-// {
-// mpBaseWin->SetSizePixel( aTmpSize );
-// mpGraphWin->SetTotalSize( aTmpSize );
-// mpGraphWin->EndScroll( 0, 0 );
-// }
-
-// now remap all objects
- ULONG nAllObjCount = pObjLst->Count();
- Point aTmpPos;
- for ( j = 0; j < nAllObjCount; j++ )
- {
- pWin = pObjLst->GetObject( j );
- if ( pWin->IsVisible()) {
- aTmpPos = pWin->GetCalcPosPixel();
- if ( pWin->mbVisited )
- {
-// reserve space for unconnected
- aTmpPos.X() -= mnMinDynXOffs;
- aTmpPos.X() += GetDefSize().Width() + OBJWIN_X_SPACING;
-// center window
- aTmpPos.X() += GetDefSize().Width() / 2;
- aTmpPos.X() -= pWin->PixelToLogic( pWin->GetSizePixel()).Width() / 2 ;
- }
- pWin->SetPosPixel( GetDepWin()->LogicToPixel( aTmpPos ));
- }
- }
- aWorkList.Clear();
- GetDepWin()->EnablePaint( TRUE );
- GetDepWin()->Invalidate();
-//LevelListen loeschen Hä? Welche Levellisten?
-
-//Update all Connectors
-// --> To be done: Don't call twice Object1-Connector-Object2
- ObjectWin* pObject1;
- for ( i = 0 ; i < nObjCount ; i++)
- {
- pObject1 = pObjLst->GetObject( i );
- if ( pObject1->IsVisible())
- pObject1->UpdateConnectors();
- };
- return 0;
-}
-
-void SolDep::WriteToErrorFile()
-{
-//Needs some improvement
- ObjectWin* pWin;
- WarningBox aWBox( mpBaseWin, WB_OK, String::CreateFromAscii("graph too deep! dat geiht nich gut.\nlook at depper.err in your Tmp-directory\nfor list of objects"));
- aWBox.Execute();
- char *tmpdir = getenv("TMP");
- char *errfilebasename = "depper.err";
- char *ErrFileName = (char*) malloc( strlen( tmpdir ) + strlen( errfilebasename) + 3 );
- *ErrFileName = '\0';
- strcat( ErrFileName, tmpdir );
- strcat( ErrFileName, "\\" );
- strcat( ErrFileName, errfilebasename );
- FILE* pErrFile = fopen( "depper.err", "w+" );
- if ( pErrFile )
- {
- for ( USHORT i = 0; i < mpTravellerList->Count(); i++ )
- {
- pWin = mpTravellerList->GetObject( i );
- fprintf( pErrFile, " %s -> \n", (pWin->GetBodyText()).GetBuffer());
- }
- fclose( pErrFile );
- }
-}
+
+ maToolBox.CheckItem(TID_SOLDEP_HIDE_INDEPENDEND, IsHideMode());
+ GetDepWin()->Invalidate(); //repaint Main-View
+ }
+ break;
+ case TID_SOLDEP_SELECT_WORKSPACE:
+ if (mpStandLst)
+ {
+ if (GetVersion()) // Version dialog box
+ {
+ delete mpSolIdMapper;
+ delete mpStarWriter;
+ mpObjectList->ClearAndDelete();
+ ReadSource(TRUE);
+ }
+ }
+ break;
+ case TID_SOLDEP_BACK:
+ maToolBox.HideItem(TID_SOLDEP_BACK);
+ maToolBox.ShowItem(TID_SOLDEP_SELECT_WORKSPACE); //disabled for prj view (doubleclick ObjWin)
+ maToolBox.ShowItem(TID_SOLDEP_HIDE_INDEPENDEND); //disabled for prj view (doubleclick ObjWin)
+ maToolBox.ShowItem(TID_SOLDEP_FIND); //disabled for prj view (doubleclick ObjWin)
+ maToolBox.Resize();
+ TogglePrjViewStatus();
+ break;
+ }
+ return 0;
+}
+
+/*****************************************************************************/
+void SolDep::ToggleHideDependency()
+/*****************************************************************************/
+{
+ mbIsHide = !mbIsHide;
+ maToolBox.CheckItem(TID_SOLDEP_HIDE_INDEPENDEND, IsHideMode());
+ ObjectWin* pWin = GetObjectList()->GetObject( 0 );
+ pWin->ToggleHideMode();
+};
+
+/*****************************************************************************/
+BOOL SolDep::GetVersion()
+/*****************************************************************************/
+{
+ SolSelectVersionDlg aVersionDlg( GetDepWin(), mpStandLst );
+ if ( aVersionDlg.Execute() == RET_OK ) {
+ msVersionMajor = aVersionDlg.GetVersionMajor();
+ msVersionMinor = aVersionDlg.GetVersionMinor();
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void SolDep::InitContextMenueMainWnd()
+{
+ InitContextMenuePrjViewWnd( mpBaseWin );
+ return; // Disable not actually supported items
+
+ mpBaseWin->mpPopup->InsertItem( DEPPOPUP_AUTOARRANGE, String::CreateFromAscii("Autoarrange")) ;
+ mpBaseWin->mpPopup->InsertSeparator();
+ mpBaseWin->mpPopup->InsertItem( DEPPOPUP_READ_SOURCE, String::CreateFromAscii("Revert all changes") );
+ mpBaseWin->mpPopup->InsertSeparator();
+ mpBaseWin->mpPopup->InsertItem( DEPPOPUP_OPEN_SOURCE, String::CreateFromAscii("Open") );
+ mpBaseWin->mpPopup->InsertItem( DEPPOPUP_WRITE_SOURCE, String::CreateFromAscii("Save") );
+}
+
+void SolDep::InitContextMenuePrjViewWnd(DepWin* pBaseWin )
+{
+ // temp. disabled pBaseWin->mpPopup->InsertItem( DEPPOPUP_NEW, String::CreateFromAscii("New object") );
+ pBaseWin->mpPopup->InsertItem( DEPPOPUP_ZOOMIN, String::CreateFromAscii("Zoom in") );
+ pBaseWin->mpPopup->InsertItem( DEPPOPUP_ZOOMOUT, String::CreateFromAscii("Zoom out") );
+ pBaseWin->mpPopup->InsertSeparator();
+ // temp disabled pBaseWin->mpPopup->InsertItem( DEPPOPUP_CLEAR, String::CreateFromAscii("Clear") );
+ pBaseWin->mpPopup->InsertItem( DEPPOPUP_SHOW_TOOLBOX, String::CreateFromAscii("Show Toolbox") );
+}
+
+/*****************************************************************************/
+ObjectWin *SolDep::RemoveObject( USHORT nId, BOOL bDelete )
+/*****************************************************************************/
+{
+ Prj* pPrj;
+
+//hshtable auf stand halten
+ ObjectWin* pWin = RemoveObjectFromList( mpObjectList, mnSolWinCount, nId, FALSE );
+ if ( pWin )
+ {
+ ByteString aBodyText( pWin->GetBodyText() );
+ if( (pPrj = mpStarWriter->GetPrj( aBodyText )) )
+ {
+ mpStarWriter->Remove( pPrj );
+//cleanup ist teuer...
+ mpStarWriter->CleanUp();
+ delete pPrj;
+ }
+ else
+ DBG_ASSERT( FALSE, "project not found - write" );
+
+ mpSolIdMapper->Delete( aBodyText );
+ if ( bDelete )
+ delete pWin;
+ return pWin;
+ }
+ else
+ return NULL;
+}
+
+/*****************************************************************************/
+ULONG SolDep::AddObject( ByteString& rBodyText, BOOL bInteract )
+/*****************************************************************************/
+{
+ ULONG nObjectId;
+ if ( bInteract )
+ {
+ nObjectId = HandleNewPrjDialog( rBodyText );
+ }
+ else
+ {
+//hashtable auf stand halten
+ MyHashObject* pHObject;
+ nObjectId = AddObjectToList( mpBaseWin, mpObjectList, mnSolLastId, mnSolWinCount, rBodyText, FALSE );
+ pHObject = new MyHashObject( nObjectId, ObjIdToPtr(mpObjectList, nObjectId ));
+ mpSolIdMapper->Insert( rBodyText, pHObject );
+ }
+ return nObjectId;
+}
+
+/*****************************************************************************/
+ULONG SolDep::AddPrjObject( ByteString& rBodyText, BOOL bInteract )
+/*****************************************************************************/
+{
+ ULONG nObjectId;
+ if ( bInteract )
+ {
+ nObjectId = HandleNewDirectoryDialog( rBodyText );
+ }
+ else
+ {
+//hshtable auf stand halten
+ MyHashObject* pHObject;
+ nObjectId = AddObjectToList( mpBasePrjWin, mpObjectPrjList, mnPrjLastId, mnPrjWinCount, rBodyText );
+ pHObject = new MyHashObject( nObjectId, ObjIdToPtr( mpObjectPrjList, nObjectId ));
+ mpPrjIdMapper->Insert( rBodyText, pHObject ); // mpPrjIdMapper
+ }
+ return nObjectId;
+}
+
+/*****************************************************************************/
+USHORT SolDep::AddConnector( ObjectWin* pStartWin, ObjectWin* pEndWin )
+/*****************************************************************************/
+{
+// DBG_ASSERT( FALSE , "not yet" );
+ ByteString sEndName = pEndWin->GetBodyText();
+ ByteString sStartName = pStartWin->GetBodyText();
+
+ Prj* pPrj = mpStarWriter->GetPrj( sEndName );
+ if ( pPrj )
+ {
+ pPrj->AddDependencies( sStartName );
+ return AddConnectorToObjects( pStartWin, pEndWin );
+ }
+ else
+ {
+ DBG_ASSERT( FALSE , "non existing Project" );
+ return 1;
+ }
+}
+
+/*****************************************************************************/
+USHORT SolDep::RemoveConnector( ObjectWin* pStartWin, ObjectWin* pEndWin )
+/*****************************************************************************/
+{
+ SByteStringList* pPrjDeps = NULL;
+ ByteString sEndName = pEndWin->GetBodyText();
+ ByteString sStartName = pStartWin->GetBodyText();
+
+ Prj* pPrj = mpStarWriter->GetPrj( sEndName );
+ pPrjDeps = pPrj->GetDependencies( FALSE );
+ if ( pPrjDeps )
+ {
+ ByteString* pString;
+ ULONG nPrjDepsCount = pPrjDeps->Count();
+ for ( ULONG j = nPrjDepsCount; j > 0; j-- )
+ {
+ pString = pPrjDeps->GetObject( j - 1 );
+ if ( pString->GetToken( 0, '.') == sStartName )
+ pPrjDeps->Remove( pString );
+ }
+ }
+
+ return RemoveConnectorFromObjects( pStartWin, pEndWin );
+}
+
+/*****************************************************************************/
+void SolDep::RemoveAllObjects( ObjectList* pObjLst )
+/*****************************************************************************/
+{
+
+ Depper::RemoveAllObjects( pObjLst );
+
+ if ( mpSolIdMapper )
+ {
+ delete mpSolIdMapper;
+ mpSolIdMapper = NULL;
+ }
+ if ( mpStarWriter )
+ {
+ delete mpStarWriter;
+ mpStarWriter = NULL;
+ }
+}
+
+/*****************************************************************************/
+ULONG SolDep::GetStart(SolIdMapper* pIdMapper, ObjectList* pObjList)
+/*****************************************************************************/
+{
+// DBG_ASSERT( FALSE , "soldep" );
+ MyHashObject* pHObject = pIdMapper->Find( "null" );//null_project
+
+ if ( !pHObject ) {
+ ByteString sNullPrj = "null";//null_project
+ ULONG nObjectId = AddObject( sNullPrj, FALSE );
+ ObjIdToPtr( pObjList, nObjectId )->SetViewMask( 1 );
+ return nObjectId;
+ }
+
+ return pHObject->GetId();
+}
+
+/*****************************************************************************/
+ULONG SolDep::GetStartPrj(SolIdMapper* , ObjectList* )
+/*****************************************************************************/
+{
+// DBG_ASSERT( FALSE , "prjdep" );
+ MyHashObject* pHObject = mpPrjIdMapper->Find( ByteString( "null" ) ); //null_dir
+ if ( !pHObject )
+ {
+ ByteString bsNull("null");
+ ULONG nObjectId = AddPrjObject( bsNull, FALSE); //null_dir
+ return nObjectId;
+ }
+ else
+ return pHObject->GetId();
+}
+
+/*****************************************************************************/
+USHORT SolDep::OpenSource()
+/*****************************************************************************/
+{
+ if ( mpStandLst ) {
+ if ( GetVersion())
+ return ReadSource();
+ }
+ return 0;
+}
+
+/*****************************************************************************/
+USHORT SolDep::ReadSource(BOOL bUpdater)
+/*****************************************************************************/
+{
+ mpBaseWin->EnablePaint( FALSE );
+ mpBaseWin->Hide();
+ ULONG nObjectId, nHashedId;
+ ULONG i;
+ MyHashObject* pHObject;
+ ByteString* pStr;
+ ObjectWin *pStartWin, *pEndWin;
+
+ mpSolIdMapper = new SolIdMapper( 63997 );
+ if (mpStandLst && bUpdater)
+ {
+ mpStarWriter = new StarWriter( mpStandLst, msVersionMajor, msVersionMinor, TRUE );
+ } else
+ {
+ SolarFileList* pSolarFileList;
+ pSolarFileList = GetPrjListFromDir();
+ mpStarWriter = new StarWriter( pSolarFileList, TRUE );
+ }
+ ByteString sTitle( SOLDEPL_NAME );
+ if ( mpStarWriter->GetMode() == STAR_MODE_SINGLE_PARSE ) {
+ sTitle += ByteString( " - mode: single file [" );
+ sTitle += (ByteString) mpStarWriter->GetName();
+ sTitle += ByteString( "]" );
+ }
+ else if ( mpStarWriter->GetMode() == STAR_MODE_MULTIPLE_PARSE ) {
+ sTitle += ByteString( " - mode: multiple files [" );
+ sTitle += ByteString( "]" );
+ }
+ SetTitle( String( sTitle, RTL_TEXTENCODING_UTF8) );
+
+ ULONG nCount = mpStarWriter->Count();
+ for ( i=0; i<nCount; i++ )
+ {
+ Prj *pPrj = mpStarWriter->GetObject(i);
+ ByteString sPrjName = pPrj->GetProjectName();
+ nObjectId = AddObject( sPrjName, FALSE );
+ ObjIdToPtr( mpObjectList, nObjectId )->SetViewMask( 1 );
+ }
+ for ( i=0; i<nCount; i++ )
+ {
+ Prj *pPrj = mpStarWriter->GetObject(i);
+ SByteStringList *pLst = pPrj->GetDependencies( FALSE );
+ if ( pLst )
+ {
+ ULONG nDepCount = pLst->Count();
+ for ( ULONG m=0; m<nDepCount; m++)
+ {
+ pStr = pLst->GetObject(m);
+ pHObject = mpSolIdMapper->Find( *pStr );
+ /*if ( !pHObject )
+ {
+ // create new prj
+ Prj *pNewPrj = new Prj( *pStr );
+ ByteString sPrjName = pNewPrj->GetProjectName();
+ nObjectId = AddObject( sPrjName, FALSE );
+ pHObject = mpSolIdMapper->Find( *pStr );
+ ObjIdToPtr( mpObjectList, nObjectId )->SetViewMask( 2 );
+ }*/
+
+ if ( pHObject )
+ {
+ nHashedId = pHObject->GetId();
+ ByteString sF_Os2 = pPrj->GetProjectName();
+ pStr = &sF_Os2;
+ pHObject = mpSolIdMapper->Find( *pStr );
+ nObjectId = pHObject->GetId();
+ pStartWin = ObjIdToPtr( mpObjectList, nHashedId );
+ pEndWin = ObjIdToPtr( mpObjectList, nObjectId );
+ AddConnectorToObjects( pStartWin, pEndWin );
+ }
+ }
+ }
+ }
+ if (!IsPrjView())
+ {
+ AutoArrange( mpSolIdMapper, mpObjectList, GetStart(mpSolIdMapper,mpObjectList), 0, GetStart(mpSolIdMapper,mpObjectList) );
+ GetDepWin()->EnablePaint( TRUE );
+ }
+ return 0;
+}
+
+SolarFileList* SolDep::GetPrjListFromDir()
+{
+ SolarFileList* pSolarFileList = new SolarFileList();
+ String sPrjDir( String::CreateFromAscii( "prj" ));
+ String sBuildLst( String::CreateFromAscii( "build.lst" ));
+ DirEntry aCurrent( getenv( SOURCEROOT ) );
+
+ aCurrent.ToAbs();
+ Dir aDir( aCurrent, FSYS_KIND_DIR );
+
+ USHORT nEntries = aDir.Count();
+ if( nEntries )
+ {
+ UniStringList aSortDirList;
+ for ( USHORT n = 0; n < nEntries; n++ )
+ {
+ DirEntry& rEntry = aDir[n];
+ UniString aName( rEntry.GetName() );
+ if( aName.Len() && ( aName.GetChar(0) != '.' ) && rEntry.Exists() )
+ {
+ rEntry += DirEntry( sPrjDir );
+ rEntry += DirEntry( sBuildLst );
+ if (rEntry.Exists())
+ {
+ pSolarFileList->Insert( new String( rEntry.GetFull() ), LIST_APPEND );
+ ByteString aName_dbg(rEntry.GetFull(),RTL_TEXTENCODING_UTF8);
+ fprintf(stdout, "bla:%s\n", aName_dbg.GetBuffer());
+ }
+ }
+ }
+ }
+ if ( !pSolarFileList->Count() )
+ {
+ //is empty!! TBD
+ delete pSolarFileList;
+ return NULL;
+ }
+ return pSolarFileList;
+}
+
+/*****************************************************************************/
+USHORT SolDep::WriteSource()
+/*****************************************************************************/
+{
+/* zur Sicherheit deaktiviert
+ USHORT nMode = mpStarWriter->GetMode();
+ if ( nMode == STAR_MODE_SINGLE_PARSE ) {
+ ByteString sFileName = mpStarWriter->GetName();
+ if ( sFileName.Len()) {
+ mpStarWriter->Write( String( sFileName, RTL_TEXTENCODING_UTF8) );
+ mpStarWriter->RemoveProject( ByteString( "null")); //null_project
+ }
+ }
+ else if ( nMode == STAR_MODE_MULTIPLE_PARSE ) {
+ // *OBO*
+ //String sRoot = mpStarWriter->GetSourceRoot();
+ //nicht mehr unterstützt mpStarWriter->GetSourceRoot()
+ ByteString sFileName = mpStarWriter->GetName();
+ DirEntry aEntry( sFileName );
+ aEntry.ToAbs();
+ aEntry = aEntry.GetPath().GetPath().GetPath();
+ String sRoot = aEntry.GetFull();
+
+ if ( sRoot.Len()) {
+ mpStarWriter->RemoveProject( ByteString( "null")); //null_project
+ mpStarWriter->WriteMultiple( sRoot );
+ }
+ }
+*/
+ return 1;
+}
+
+USHORT SolDep::Load( const ByteString& rFileName )
+{
+// moved from depper class
+ DBG_ASSERT( FALSE , "you are dead!" );
+ SvFileStream aInFile( String( rFileName, RTL_TEXTENCODING_UTF8 ), STREAM_READ );
+ depper_head dh;
+ ULONG i;
+ ULONG nLoadOffs = mnSolLastId; //or Prj??
+ ObjectWin* pNewWin;
+ aInFile.Read( &dh, sizeof( dh ));
+
+ ULONG nObjCount = dh.nObjectCount;
+ ULONG nCnctrCount = dh.nCnctrCount;
+
+ for ( i=0; i < nObjCount ; i++ )
+ {
+ ObjectWin* pWin = new ObjectWin( mpBaseWin, WB_BORDER );
+ pWin->Load( aInFile );
+ pNewWin = ObjIdToPtr( mpObjectList, AddObjectToList( mpBaseWin, mpObjectList, mnSolLastId, mnSolWinCount, pWin->GetBodyText(), FALSE ));
+ pNewWin->SetId( nLoadOffs + pWin->GetId());
+ pNewWin->SetPosPixel( pWin->GetPosPixel());
+ pNewWin->SetSizePixel( pWin->GetSizePixel());
+ }
+
+ ULONG nStartId;
+ ULONG nEndId;
+// ueber addconnector fuehren!
+ for ( i=0; i < nCnctrCount ; i++ )
+ {
+ Connector* pCon = new Connector( mpBaseWin, WB_NOBORDER );
+ pCon->Load( aInFile );
+
+ nStartId = nLoadOffs + pCon->GetStartId();
+ nEndId = nLoadOffs + pCon->GetEndId();
+
+ ObjectWin* pStartWin = ObjIdToPtr( mpObjectList, nStartId );
+ ObjectWin* pEndWin = ObjIdToPtr( mpObjectList, nEndId );
+
+ pCon->Initialize( pStartWin, pEndWin );
+ }
+
+
+ return 0;
+}
+
+/*****************************************************************************/
+BOOL SolDep::ViewContent( ByteString& rObjectName )
+/*****************************************************************************/
+{
+ mpFocusWin = NULL;
+ SetPrjViewStatus(TRUE);
+
+ for ( ULONG i = 0; i < mpObjectList->Count() && !mpFocusWin; i++ )
+ if ( mpObjectList->GetObject( i )->HasFocus())
+ mpFocusWin = mpObjectList->GetObject( i );
+ //HideObjectsAndConnections( mpObjectList );
+ mpProcessWin->Resize();
+ GetDepWin()->Show();
+ return InitPrj( rObjectName );
+}
+
+/*****************************************************************************/
+BOOL SolDep::InitPrj( ByteString& rListName )
+/*****************************************************************************/
+{
+ ULONG nObjectId, nHashedId;
+ ULONG i, j;
+ MyHashObject* pHObject;
+ ByteString *pDepName;
+ ByteString *pFlagName;
+ Prj* pPrj;
+ ObjectWin *pStartWin, *pEndWin;
+ maToolBox.HideItem(TID_SOLDEP_SELECT_WORKSPACE);
+ maToolBox.HideItem(TID_SOLDEP_HIDE_INDEPENDEND);
+ maToolBox.HideItem(TID_SOLDEP_FIND);
+ maToolBox.ShowItem(TID_SOLDEP_BACK);
+ maToolBox.Invalidate();
+
+ //clean up
+ mpObjectPrjList->ClearAndDelete();
+ GetDepWin()->ClearConnectorList();
+ if (mpPrjIdMapper) delete mpPrjIdMapper;
+ mpPrjIdMapper = new SolIdMapper( 63997 ); //generate clean mapper
+ mnPrjWinCount = 0;
+ mnPrjLastId = 0;
+
+ ULONG nCount = mpStarWriter->Count();
+ GetDepWin()->EnablePaint( FALSE );
+ Point aPnt = GetGraphWin()->GetPosPixel();
+ Size aSize = GetGraphWin()->GetSizePixel();
+
+ GetGraphWin()->SetPosSizePixel( aPnt, aSize ); // Hier wird das Window gesetzt
+
+ BOOL bReturn = FALSE;
+
+ for ( i=0; i<nCount; i++ )
+ {
+// pPrj->GetProjectName() returns the name of
+// the project e.g. svtools
+ pPrj = mpStarWriter->GetObject(i);
+ ByteString sPrjName = pPrj->GetProjectName();
+ if ( sPrjName == rListName )
+ {
+ bReturn = TRUE;
+
+ mpPrj = mpStarWriter->GetObject(i);
+ ULONG nDirCount = mpPrj->Count();
+ for ( j=0; j<nDirCount; j++ )
+ {
+ CommandData *pData = mpPrj->GetObject(j);
+ fprintf( stdout, "\tProjectDir : %s\n",
+ pData->GetLogFile().GetBuffer());
+// pData->GetLogFile() contains internal project IDs
+// e.g. st_mkout etc.
+ if ( pData->GetLogFile() != "" )
+ {
+ ByteString sItem = pData->GetLogFile();
+ nObjectId = AddPrjObject( sItem, FALSE);
+// there may be faster ways......
+ ObjectWin *pWin = ObjIdToPtr( mpObjectPrjList, nObjectId );
+ pWin->SetViewMask( 0x0001 );
+// pData->GetPath() contains internal project directories
+// e.g. svtools/inc etc.
+ ByteString sPath = pData->GetPath();
+ pWin->SetTipText( sPath );
+ }
+ }
+
+// set connectors for dependencies here
+ for ( j=0; j<nDirCount; j++ )
+ {
+ CommandData *pData = mpPrj->GetObject(j);
+ SByteStringList *pDeps = pData->GetDependencies();
+ if ( pDeps )
+ {
+ ByteString sFlagName = pData->GetLogFile();
+ pFlagName = &sFlagName;
+ //pHObject = mpPrjIdMapper->Find( (*pFlagName).GetToken( 0, '.'));//mpSolIdMapper see ReadSource()
+ pHObject = mpPrjIdMapper->Find( sFlagName.GetToken( 0, '.'));
+ if (pHObject)
+ {
+
+ nObjectId = pHObject->GetId();
+
+ ULONG nDepCount = pDeps->Count();
+ for ( ULONG k=0; k<nDepCount; k++ )
+ {
+ pDepName = pDeps->GetObject(k);
+ pHObject = mpPrjIdMapper->Find( (*pDepName).GetToken( 0, '.'));
+ if (pHObject )
+ {
+ nHashedId = pHObject->GetId();
+ pStartWin = ObjIdToPtr( mpObjectPrjList, nHashedId );
+ pEndWin = ObjIdToPtr( mpObjectPrjList, nObjectId );
+
+ AddConnectorToObjects( pStartWin, pEndWin );
+ }
+ else
+ {
+ String sMessage;
+ sMessage += String::CreateFromAscii("can't find ");
+ sMessage += String( *pDepName, RTL_TEXTENCODING_UTF8 );
+ sMessage += String::CreateFromAscii(".\ndependency ignored");
+ WarningBox aBox( GetDepWin(), WB_OK, sMessage);
+ aBox.Execute();
+ }
+ }
+ }
+ }
+
+ }
+
+ break;
+ }
+ }
+ ByteString sNullDir = "null";
+ nObjectId = AddPrjObject( sNullDir, FALSE);
+ ObjectWin *pWin = ObjIdToPtr( mpObjectPrjList, nObjectId );
+ pWin->SetViewMask( 0x0001 );
+ mpGraphPrjWin->EnablePaint( TRUE );
+ //debug
+// int test_l = GetStartPrj(mpPrjIdMapper, mpObjectPrjList);
+// ObjectWin *pTestWin = ObjIdToPtr( mpObjectPrjList, test_l );
+ AutoArrange( mpPrjIdMapper, mpObjectPrjList, GetStartPrj(mpPrjIdMapper, mpObjectPrjList), 0, GetStartPrj(mpPrjIdMapper, mpObjectPrjList) );
+ mpGraphWin->Hide();
+ mpGraphPrjWin->Show();
+ mpGraphPrjWin->Invalidate();
+
+ return bReturn;
+}
+
+/*****************************************************************************/
+USHORT SolDep::CloseWindow()
+/*****************************************************************************/
+{
+
+ ((SystemWindow*)mpProcessWin)->Close();
+ return 0;
+}
+
+/*****************************************************************************/
+void SolDep::ShowHelp()
+/*****************************************************************************/
+{
+ SvFileStream aHelpFile( String::CreateFromAscii( "g:\\soldep.hlp" ), STREAM_READ );
+ String aHelpText;
+ ByteString aGetStr;
+
+ if ( aHelpFile.IsOpen() )
+ {
+ while ( aHelpFile.ReadLine( aGetStr ) )
+ {
+ aHelpText += String (aGetStr, RTL_TEXTENCODING_UTF8);
+ aHelpText += String::CreateFromAscii("\n");
+ }
+ }
+ else
+ aHelpText = String::CreateFromAscii("No Helpfile found.");
+
+ SolHelpDlg aHelpDlg( mpBaseWin, DtSodResId( RID_SD_DIALOG_HELP ));
+ aHelpDlg.maMLEHelp.SetText( aHelpText );
+ aHelpDlg.maMLEHelp.SetReadOnly();
+ aHelpDlg.maMLEHelp.EnableFocusSelectionHide( TRUE );
+ aHelpDlg.Execute();
+}
+
+/*****************************************************************************/
+BOOL SolDep::FindProject()
+/*****************************************************************************/
+{
+ SolFindProjectDlg aFindProjectDlg( GetDepWin(), GetObjectList() );
+ ObjectWin* pObjectWin = NULL;
+ mpObjectList->ResetSelectedObject();
+ if (IsHideMode())
+ {
+ GetDepWin()->Invalidate();
+ }
+
+ mpFocusWin=NULL;
+
+ if ( aFindProjectDlg.Execute() == RET_OK ) {
+ msProject = aFindProjectDlg.GetProject();
+ //now we have a project string
+
+ pObjectWin = mpObjectList->GetPtrByName( msProject );
+ if (pObjectWin)
+ {
+ mpObjectList->ResetSelectedObject();
+ MarkObjects( pObjectWin );
+ }
+ else
+ {
+ mpObjectList->ResetSelectedObject();
+ for ( USHORT i=0; i<mpObjectList->Count(); i++ )
+ {
+ ObjectWin* pObjectWin = mpObjectList->GetObject( i );
+ if ( !pObjectWin->IsTop() )
+ pObjectWin->SetViewMask(FALSE);
+ }
+ }
+ }
+ return FALSE;
+}
+
+BOOL SolDep::MarkObjects( ObjectWin* pObjectWin )
+{
+ if (pObjectWin)
+ {
+ if (!(pObjectWin->IsNullObject()))
+ {
+ pObjectWin->SetMarkMode( MARKMODE_SELECTED );
+ pObjectWin->MarkNeeded();
+ pObjectWin->MarkDepending();
+ if (IsHideMode())
+ {
+ GetDepWin()->Invalidate();
+ }
+ } else
+ {
+ fprintf(stdout,"null\n");
+ }
+ }
+ return TRUE;
+}
+
+void SolDep::Resize()
+{
+//funzt! muß aber von der applikation aufgerufen werden.
+ Point aOutPos = Point( 0, 0 );
+ Size aOutSize = mpProcessWin->GetOutputSizePixel();
+ // calculate output size
+ ULONG nTaskHeight = maToolBox.CalcWindowSizePixel().Height();
+ ULONG nTaskWidth = maToolBox.CalcWindowSizePixel().Width();
+ Size aSize( aOutSize.Width(), nTaskHeight );
+
+// ULONG nMenuHeight = 0;
+ Point aGraphWinPos = Point(0,0);
+ Size aGraphWinSize = Size(0,0);
+
+//weiß nicht wie: nMenuHeight = aMenuBar.GetWindow()->GetSizePixel().Height(); //Höhe des Menues
+
+ //aInRect = pTBManager->Resize( Rectangle( aOutPos, aOutSize );
+ // Set Docking-Rectangle for ToolBar
+ Rectangle aInRect;
+
+ if (( !maToolBox.IsFloatingMode() ) && ( maToolBox.GetAlign() == WINDOWALIGN_TOP ))
+ {
+ // waagerechte Toolbar oben
+ maToolBox.SetPosSizePixel( aOutPos, Size( aOutSize.Width(), maToolBox.CalcWindowSizePixel().Height()));
+ if( maToolBox.IsVisible())
+ {
+ Point aOutPosTmp;
+ Size aOutSizeTmp;
+ aOutPosTmp = Point( aOutPos.X(), aOutPos.Y() + maToolBox.CalcWindowSizePixel().Height());
+ aOutSizeTmp = Size( aOutSize.Width(), aOutSize.Height() - maToolBox.CalcWindowSizePixel().Height());
+ aInRect = Rectangle( aOutPosTmp, aOutSizeTmp );
+ aGraphWinPos = Point( 0, nTaskHeight );
+ aGraphWinSize = Size( aOutSize.Width(), aOutSize.Height() - nTaskHeight);
+ }
+ }
+ if (( !maToolBox.IsFloatingMode() ) && ( maToolBox.GetAlign() == WINDOWALIGN_BOTTOM ))
+ {
+ // waagerechte Toolbar unten
+ Point aTbPos = Point( aOutPos.X(), aOutPos.Y() + aOutSize.Height() - maToolBox.CalcWindowSizePixel().Height());
+ Size aTbSize = Size( aOutSize.Width(), maToolBox.CalcWindowSizePixel().Height());
+ maToolBox.SetPosSizePixel( aTbPos, aTbSize );
+ if( maToolBox.IsVisible())
+ {
+ Point aOutPosTmp;
+ Size aOutSizeTmp;
+ aOutPosTmp = Point( aOutPos.X(), aOutPos.Y() + maToolBox.CalcWindowSizePixel().Height());
+ aOutSizeTmp = Size( aOutSize.Width(), aOutSize.Height() - maToolBox.CalcWindowSizePixel().Height());
+ aInRect = Rectangle( aOutPosTmp, aOutSizeTmp );
+ aGraphWinPos = Point( 0, 0 );
+ aGraphWinSize = Size( aOutSize.Width(), aOutSize.Height() - nTaskHeight);
+ }
+ }
+ if (( !maToolBox.IsFloatingMode() ) && ( maToolBox.GetAlign() == WINDOWALIGN_LEFT ))
+ {
+ // senkrechte ToolBar links
+ maToolBox.SetPosSizePixel( aOutPos, Size( maToolBox.CalcWindowSizePixel().Width(), aOutSize.Height()));
+ if( maToolBox.IsVisible())
+ {
+ Point aOutPosTmp;
+ Size aOutSizeTmp;
+ aOutPosTmp = Point( aOutPos.X() + maToolBox.CalcWindowSizePixel().Width(), aOutPos.Y());
+ aOutSizeTmp = Size( aOutSize.Width()- maToolBox.CalcWindowSizePixel().Width(), aOutSize.Height());
+ aInRect = Rectangle( aOutPosTmp, aOutSizeTmp );
+ aGraphWinPos = Point( nTaskWidth, 0 );
+ aGraphWinSize = Size( aOutSize.Width() - nTaskWidth, aOutSize.Height());
+ }
+ }
+ if (( !maToolBox.IsFloatingMode() ) && ( maToolBox.GetAlign() == WINDOWALIGN_RIGHT ))
+ {
+ // senkrechte ToolBar rechts
+ Point aTbPos = Point( aOutPos.X() + aOutSize.Width() - maToolBox.CalcWindowSizePixel().Width(), aOutPos.Y());
+ Size aTbSize= Size( maToolBox.CalcWindowSizePixel().Width(), aOutSize.Height());
+ maToolBox.SetPosSizePixel( aTbPos, aTbSize);
+ if( maToolBox.IsVisible())
+ {
+ Point aOutPosTmp;
+ Size aOutSizeTmp;
+ aOutPosTmp = Point( aOutPos.X() + maToolBox.CalcWindowSizePixel().Width(), aOutPos.Y());
+ aOutSizeTmp = Size( aOutSize.Width()- maToolBox.CalcWindowSizePixel().Width(), aOutSize.Height());
+ aInRect = Rectangle( aOutPosTmp, aOutSizeTmp );
+ aGraphWinPos = Point( 0, 0 );
+ aGraphWinSize = Size( aOutSize.Width() - nTaskWidth, aOutSize.Height());
+ }
+ }
+
+ Rectangle rout = Rectangle( Point( 0,0 ), aOutSize ); //OutputToScreenPixel( aOutPos )
+ Rectangle rin = Rectangle( Point( 0,0 ),//OutputToScreenPixel( Point( aOutPos.X() - 20, aInRect.Top())
+ Size( aOutSize.Width(), aOutSize.Height()));
+/*
+ Rectangle rout = mpProcessWin->OutputToScreenPixel( aOutPos );
+ Rectangle rin = Rectangle( Point( 0,0 ),//OutputToScreenPixel( Point( aOutPos.X() - 20, aInRect.Top())
+ Size( aOutSize.Width(), aOutSize.Height()));
+*/
+ maToolBox.SetDockingRects( rout, rin );
+
+ BOOL bFloating = maToolBox.IsFloatingMode();
+
+ if ( bFloating )
+ {
+ GetGraphWin()->SetPosSizePixel(Point(0,0),aOutSize);
+ //if (IsPrjView() && (mpPrjDep)) mpPrjDep->Resize();
+ if (maToolBox.IsVisible()) maToolBox.Show();
+ } else
+ {
+ GetGraphWin()->SetPosSizePixel( aGraphWinPos, aGraphWinSize );
+ }
+ if (maToolBox.IsVisible()) maToolBox.Show();
+}
+
+USHORT SolDep::AddConnectorPrjView( ObjectWin* pStartWin, ObjectWin* pEndWin )
+{
+// DBG_ASSERT( FALSE , "not yet" );
+ ByteString sEndName = pEndWin->GetBodyText();
+ ByteString sStartName = pStartWin->GetBodyText();
+ if ( sStartName != ByteString("null"))
+ {
+ CommandData* pEndData = mpPrj->GetDirectoryData( sEndName );
+ SByteStringList* pDeps = pEndData->GetDependencies();
+ if ( pDeps )
+ pDeps->PutString( &sStartName );
+ else
+ {
+ pDeps = new SByteStringList();
+ pEndData->SetDependencies( pDeps );
+ pDeps->PutString( &sStartName );
+ pEndData->GetDependencies();
+ }
+ }
+ return AddConnectorToObjects( pStartWin, pEndWin );
+}
+
+USHORT SolDep::RemoveConnectorPrjView( ObjectWin* pStartWin, ObjectWin* pEndWin )
+{
+ ByteString sEndName = pEndWin->GetBodyText();
+ ByteString sStartName = pStartWin->GetBodyText();
+ CommandData* pEndData = mpPrj->GetDirectoryData( sEndName );
+ SByteStringList* pDeps = pEndData->GetDependencies();
+ if ( pDeps )
+ {
+ ByteString* pString;
+ ULONG nDepsCount = pDeps->Count();
+ for ( ULONG j = nDepsCount; j > 0; j-- )
+ {
+ pString = pDeps->GetObject( j - 1 );
+ if ( pString->GetToken( 0, '.') == sStartName )
+ pDeps->Remove( pString );
+ }
+ }
+ return RemoveConnectorFromObjects( pStartWin, pEndWin );
+}
+
+USHORT SolDep::AutoArrange( SolIdMapper* pIdMapper, ObjectList* pObjLst, ULONG nTopId, ULONG nBottmId, ULONG aObjID )
+{
+ AutoArrangeDlgStart();
+ OptimizePos(pIdMapper, pObjLst, nTopId, nBottmId, aObjID );
+ AutoArrangeDlgStop();
+ return 0;
+}
+
+Point SolDep::CalcPos( USHORT nSet, USHORT nIndex )
+{
+ int nRowIndex = nIndex / DEPPER_MAX_WIDTH;
+ ULONG nPosX = mnXOffset + nRowIndex % 3 * GetDefSize().Width() / 3 + ( nIndex - ( DEPPER_MAX_WIDTH * nRowIndex )) * (GetDefSize().Width() + OBJWIN_X_SPACING );
+
+ ULONG nPosY = ( nSet + mnLevelOffset + nRowIndex ) * ( GetDefSize().Height() + OBJWIN_Y_SPACING ) + OBJWIN_Y_SPACING;
+ Point aPos( nPosX, nPosY );
+ return aPos;
+}
+
+ULONG SolDep::CalcXOffset( ULONG nObjectsToFit )
+{
+ long nDynXOffs;
+ long nXMiddle;
+ ULONG nTrigger;
+
+ nXMiddle = GetDepWin()->PixelToLogic( GetDepWin()->GetSizePixel()).Width() / 2;
+ if ( nObjectsToFit > DEPPER_MAX_WIDTH )
+ nObjectsToFit = DEPPER_MAX_WIDTH - 1 + DEPPER_MAX_WIDTH % 2;
+ nTrigger = ( nObjectsToFit - 1 ) / 2;
+ nDynXOffs = ( GetDefSize().Width() + OBJWIN_X_SPACING ) * nTrigger;
+ ULONG nXOffs = nXMiddle - nDynXOffs;
+
+ if ( ULONG(nXMiddle - nDynXOffs) < mnMinDynXOffs )
+ mnMinDynXOffs = nXMiddle - nDynXOffs;
+
+ return nXOffs;
+
+}
+
+double SolDep::CalcDistSum( ObjWinList* pObjList, DistType eDistType )
+{
+ ObjectWin* pWin;
+ Connector* pCon;
+ ULONG nObjCount = pObjList->Count();
+ double dRetVal = 0;
+ double dWinVal;
+ USHORT i, j;
+ BOOL bIsStart;
+
+ for ( i = 0; i < nObjCount; i++ )
+ {
+ pWin = pObjList->GetObject( i );
+
+ if ( pWin && pWin->IsVisible())
+ {
+ j = 0;
+ dWinVal = 0;
+ while ( (pCon = pWin->GetConnector( j )) )
+ {
+ if ( pCon->IsVisible()) {
+ bIsStart = pCon->IsStart( pWin );
+ if ( eDistType != BOTH )
+ if ( eDistType == TOPDOWN )
+ {
+ if ( bIsStart )
+ {
+ pCon->UpdatePosition( pWin, FALSE );
+ dWinVal += pCon->GetLen() * pWin->mnHeadDist;
+ }
+ }
+ else
+ {
+ if ( !bIsStart )
+ {
+ pCon->UpdatePosition( pWin, FALSE );
+ dWinVal += pCon->GetLen() * pWin->mnRootDist;
+ }
+
+ }
+ else
+ {
+ pCon->UpdatePosition( pWin, FALSE );
+ if ( !bIsStart )
+ dWinVal += pCon->GetLen() * ( pWin->mnHeadDist + 1 );
+ else
+ dWinVal += pCon->GetLen() * pWin->mnRootDist;
+ }
+ }
+ j++;
+ }
+// if ( j != 0 )
+// dWinVal /= j;
+ dRetVal += dWinVal;
+ }
+ }
+
+ return dRetVal;
+}
+
+USHORT SolDep::Impl_Traveller( ObjectWin* pWin, USHORT nDepth )
+{
+ USHORT i = 0;
+ ObjectWin* pNewWin;
+ Connector* pCon;
+
+ nDepth++;
+
+ USHORT nMaxDepth = nDepth;
+
+ pWin->mbVisited = TRUE;
+ pWin->mnRootDist = Max ( nDepth, pWin-> mnRootDist );
+ if ( nDepth > DEPPER_MAX_DEPTH )
+ {
+ DBG_ASSERT( nDepth != DEPPER_MAX_DEPTH + 1, "Ringabhängigkeit!" );
+ nDepth++;
+ return DEP_ENDLES_RECURSION_FOUND;
+ }
+
+ while ( (pCon = pWin->GetConnector( i )) )
+ {
+ if ( pCon->IsStart( pWin )&& pCon->IsVisible() ) //removed: don't show null_project
+ {
+ pNewWin = pCon->GetOtherWin( pWin );
+ nMaxDepth = Max( Impl_Traveller( pNewWin, nDepth ), nMaxDepth );
+ if( nMaxDepth == DEP_ENDLES_RECURSION_FOUND )
+ {
+ mpTravellerList->Insert( pWin, LIST_APPEND );
+ return DEP_ENDLES_RECURSION_FOUND;
+ }
+ }
+ i++;
+ }
+ pWin->mnHeadDist = MAX( pWin->mnHeadDist, nMaxDepth - nDepth );
+ return nMaxDepth;
+}
+
+
+double SolDep::Impl_PermuteMin( ObjWinList& rObjList, Point* pPosArray, ObjWinList& rResultList, double dMinDist, ULONG nStart, ULONG nSize, DistType eDistType )
+{
+
+ ULONG i, j, l;
+ ULONG nEnd = nStart + nSize;
+ ObjectWin* pSwapWin;
+ ULONG nLevelObjCount = rObjList.Count();
+
+//dont use full recusion for more than 6 objects
+ if ( nLevelObjCount > 6 )
+ {
+ srand(( unsigned ) time( NULL ));
+
+ ULONG nIdx1, nIdx2;
+ for ( i = 0; i < 101; i++ )
+ {
+ UpdateSubProgrssBar(i);
+ for ( j = 0; j < 100; j++ )
+ {
+ nIdx1 = (ULONG) ( double( rand() ) / RAND_MAX * nLevelObjCount );
+ while ( rObjList.GetObject( nIdx1 ) == NULL )
+ nIdx1 = (ULONG) ( double( rand() ) / RAND_MAX * nLevelObjCount );
+ nIdx2 = (ULONG) ( double( rand() ) / RAND_MAX * nLevelObjCount );
+ while ( nIdx1 == nIdx2 || nIdx2 == nLevelObjCount )
+ nIdx2 = (ULONG) ( double( rand() ) / RAND_MAX * nLevelObjCount );
+
+ pSwapWin = rObjList.GetObject( nIdx1 );
+ if ( pSwapWin )
+ pSwapWin->SetCalcPosPixel( pPosArray[ nIdx2 ] );
+ pSwapWin = rObjList.Replace( pSwapWin, nIdx2 );
+ if ( pSwapWin )
+ pSwapWin->SetCalcPosPixel( pPosArray[ nIdx1 ] );
+ rObjList.Replace( pSwapWin, nIdx1 );
+
+ double dCurDist = CalcDistSum( &rObjList, eDistType );
+
+ if ( dCurDist < dMinDist )
+ {
+ dMinDist = dCurDist;
+ rResultList.Clear();
+ for ( l = 0; l < nLevelObjCount; l++ )
+ {
+ pSwapWin = rObjList.GetObject( l );
+ rResultList.Insert( pSwapWin, LIST_APPEND);
+ }
+ }
+// if ( dCurDist > dMinDist * 1.5 )
+ if ( dCurDist > dMinDist * 15 )
+ {
+ pSwapWin = rObjList.GetObject( nIdx1 );
+ if ( pSwapWin )
+ pSwapWin->SetCalcPosPixel( pPosArray[ nIdx2 ] );
+ pSwapWin = rObjList.Replace( pSwapWin, nIdx2 );
+ if ( pSwapWin )
+ pSwapWin->SetCalcPosPixel( pPosArray[ nIdx1 ] );
+ rObjList.Replace( pSwapWin, nIdx1 );
+ }
+ }
+ }
+ }
+ else
+ {
+ for ( i = nStart ; i < nEnd; i++)
+ {
+ if ( nSize > 1 )
+ {
+ pSwapWin = rObjList.GetObject( i );
+ pSwapWin = rObjList.Replace( pSwapWin, nStart );
+ rObjList.Replace( pSwapWin, i );
+ double dPermuteDist = Impl_PermuteMin( rObjList, pPosArray, rResultList, dMinDist, nStart + 1, nSize - 1, eDistType );
+ dMinDist = MIN( dMinDist, dPermuteDist);
+ pSwapWin = rObjList.GetObject( i );
+ pSwapWin = rObjList.Replace( pSwapWin, nStart );
+ rObjList.Replace( pSwapWin, i );
+
+ }
+ else
+ {
+ for ( l = 0; l < nLevelObjCount; l++ )
+ {
+ pSwapWin = rObjList.GetObject( l );
+ if ( pSwapWin )
+ pSwapWin->SetCalcPosPixel( pPosArray[ l ] );
+ }
+
+ double dCurDist = CalcDistSum( &rObjList, eDistType );
+
+ if ( dCurDist < dMinDist )
+ {
+ dMinDist = dCurDist;
+ rResultList.Clear();
+ for ( l = 0; l < nLevelObjCount; l++ )
+ {
+ pSwapWin = rObjList.GetObject( l );
+ rResultList.Insert( pSwapWin, LIST_APPEND);
+ }
+ }
+
+ }
+ }
+ }
+
+ return dMinDist;
+}
+
+
+USHORT SolDep::OptimizePos(SolIdMapper* pIdMapper, ObjectList* pObjLst, ULONG nTopId, ULONG nBottmId, ULONG aObjID )
+{
+ ObjWinList aWorkList;
+ ObjectWin* pWin;
+ Connector* pCon;
+ USHORT nRootDist = (USHORT) -1;
+ USHORT i, j, k, l, nRetVal;
+ USHORT LevelUse[ DEPPER_MAX_DEPTH ];
+ USHORT LevelSecUse[ DEPPER_MAX_DEPTH ];
+ ObjWinList* LevelList[ DEPPER_MAX_DEPTH ];
+ ObjWinList* LevelSecList[ DEPPER_MAX_DEPTH ];
+ Point aPosArray[ DEPPER_MAX_LEVEL_WIDTH * DEPPER_MAX_WIDTH ];
+
+ mnMinDynXOffs = 0xffff;
+
+ for ( i = 0; i < DEPPER_MAX_DEPTH; i++ )
+ {
+ LevelUse[ i ] = 0;
+ LevelList[ i ] = NULL;
+ LevelSecUse[ i ] = 0;
+ LevelSecList[ i ] = NULL;
+ }
+
+ GetDepWin()->EnablePaint( FALSE );
+
+ ULONG nObjCount = pObjLst->Count();
+ for ( i = 0; i < nObjCount; i++ )
+ {
+ pWin = pObjLst->GetObject( i );
+ if ( pWin->IsVisible()) {
+ pWin->mbVisited = FALSE;
+ pWin->mnHeadDist = 0;
+ pWin->mnRootDist = 0;
+
+ // find initial objects which need to be connected with
+ // root object
+ j = 0;
+ USHORT nStartCount = 0;
+ USHORT nEndCount = 0;
+ while ( (pCon = pWin->GetConnector( j )) )
+ {
+ if ( pCon->IsVisible()) { //null_project
+ if( pCon->IsStart( pWin ))
+ nStartCount++;
+ else
+ {
+ nEndCount = 1;
+ break;
+ }
+ }
+ j++;
+ }
+
+ if ( nStartCount > 0 && nEndCount == 0 )
+ if ( nTopId != pWin->GetId())
+ AddConnectorToObjects( pObjLst, nTopId, pWin->GetId());
+
+ }
+ }
+
+ pWin = ObjIdToPtr( pObjLst, nTopId );
+
+ if ( mpTravellerList )
+ {
+ mpTravellerList->Clear();
+ delete mpTravellerList;
+ }
+ mpTravellerList = new ObjWinList();
+ // set root and top distance
+ nRetVal = Impl_Traveller( pWin, nRootDist );
+
+ DBG_ASSERT( nRetVal < DEPPER_MAX_DEPTH , "zu tief" );
+ if ( nRetVal == DEP_ENDLES_RECURSION_FOUND )
+ {
+ WriteToErrorFile();
+ return nRetVal;
+ }
+
+ ULONG nUnvisited = 0;
+ ULONG nUnvisYOffs = 0;
+
+ // seperate mainstream, secondary and unconnected
+ for ( i = 0; i < nObjCount; i++ )
+ {
+ pWin = pObjLst->GetObject( i );
+ if ( pWin->IsVisible()) {
+ if (( pWin->mnHeadDist + pWin->mnRootDist ) == nRetVal )
+ {
+ if ( !LevelList[ pWin->mnHeadDist ] )
+ LevelList[ pWin->mnHeadDist ] = new ObjWinList;
+ LevelList[ pWin->mnHeadDist ]->Insert( pWin );
+ LevelUse[ pWin->mnHeadDist ]++;
+ }
+ else
+ if ( pWin->mbVisited )
+ {
+ if ( !LevelSecList[ nRetVal - pWin->mnRootDist ] )
+ LevelSecList[ nRetVal - pWin->mnRootDist ] = new ObjWinList;
+ LevelSecList[ nRetVal - pWin->mnRootDist ]->Insert( pWin );
+ LevelSecUse[ nRetVal - pWin->mnRootDist ]++;
+ }
+ else
+ {
+ // need to be arranged more intelligent...
+ Point aPos( 5, nUnvisYOffs );
+ pWin->SetCalcPosPixel( aPos );
+
+ Point aTmpPos = pWin->GetCalcPosPixel();
+ pWin->SetPosPixel( mpBaseWin->LogicToPixel( aTmpPos ));
+
+ nUnvisYOffs += pWin->PixelToLogic( pWin->GetSizePixel()).Height();
+ nUnvisited++;
+ }
+ }
+ }
+
+ mnLevelOffset = 0;
+
+ USHORT nScaleVal;
+
+ if ( nRetVal == 0 )
+ nScaleVal = 1;
+ else
+ nScaleVal = nRetVal;
+
+ i = 0;
+
+ USHORT nStep = 0;
+
+ while ( LevelList[ i ] )
+ {
+ UpdateMainProgressBar(i, nScaleVal, nStep);
+ DBG_ASSERT( LevelUse[ i ] == LevelList[ i ]->Count() , "level index im a..." );
+ ObjectWin* pSwapWin;
+ ULONG nLevelObjCount = LevelList[ i ]->Count();
+
+ if ( nLevelObjCount % 2 == 0 )
+ {
+ LevelList[ i ]->Insert( NULL, LIST_APPEND );
+ nLevelObjCount++;
+// LevelUse bleibt orginal...
+// LevelUse[ i ]++;
+ }
+
+// catch too big lists
+ DBG_ASSERT( nLevelObjCount < DEPPER_MAX_LEVEL_WIDTH * DEPPER_MAX_WIDTH , "graph zu breit! dat geiht nich gut. breaking" );
+ if ( nLevelObjCount >= DEPPER_MAX_LEVEL_WIDTH * DEPPER_MAX_WIDTH )
+ {
+ WarningBox aWBox( mpBaseWin, WB_OK, String::CreateFromAscii("graph zu breit! dat geiht nich gut. breaking"));
+ aWBox.Execute();
+ break;
+ }
+ mnXOffset = CalcXOffset( nLevelObjCount );
+ aWorkList.Clear();
+
+ // initial positioning for mainstream
+ for ( j = 0; j < nLevelObjCount; j++ )
+ {
+ pSwapWin = LevelList[ i ]->GetObject( j );
+ aWorkList.Insert( pSwapWin, LIST_APPEND);
+ Point aPos = CalcPos( i, j );
+ aPosArray[ j ] = aPos;
+ if ( pSwapWin )
+ pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
+ }
+
+ double dMinDist = CalcDistSum( LevelList[ i ] );
+
+ // optimize mainstream order and return best matching list in "aWorkList"
+ dMinDist = MIN( dMinDist, Impl_PermuteMin( *(LevelList[ i ]), aPosArray, aWorkList, dMinDist, 0, nLevelObjCount ));
+
+ // set optimized positions - may still be wrong from later tries
+ for ( j = 0; j < nLevelObjCount; j++ )
+ {
+ pSwapWin = aWorkList.GetObject( j );
+ if ( pSwapWin )
+ pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
+ }
+
+ if ( LevelSecList[ i ] != NULL )
+ {
+ ULONG nLevelSecObjCount = LevelSecList[ i ]->Count();
+ // expand list for better positioning
+ while ( nLevelSecObjCount + LevelUse[ i ] < DEPPER_MAX_WIDTH - 1 )
+ {
+ LevelSecList[ i ]->Insert( NULL, LIST_APPEND );
+ nLevelSecObjCount++;
+ }
+ if ( ( nLevelSecObjCount + LevelUse[ i ])% 2 == 0 )
+ {
+ LevelSecList[ i ]->Insert( NULL, LIST_APPEND );
+ nLevelSecObjCount++;
+ }
+
+ DBG_ASSERT( nLevelSecObjCount < DEPPER_MAX_LEVEL_WIDTH * DEPPER_MAX_WIDTH , "graph zu breit! dat geiht nich gut. breaking" );
+ if ( nLevelObjCount >= DEPPER_MAX_LEVEL_WIDTH * DEPPER_MAX_WIDTH )
+ {
+ WarningBox aWBox( mpBaseWin, WB_OK, String::CreateFromAscii("graph zu breit! dat geiht nich gut. breaking"));
+ aWBox.Execute();
+ break;
+ }
+ mnXOffset = CalcXOffset( LevelUse[ i ] + nLevelSecObjCount );
+ aWorkList.Clear();
+
+ l = 0;
+ BOOL bUsedPos;
+
+ // find free positions for secondary objects
+ for ( j = 0; j < ( LevelUse[ i ] + nLevelSecObjCount ) ; j++ )
+ {
+ Point aPos = CalcPos( i, j );
+ bUsedPos = FALSE;
+ // is already occupied?
+ for ( k = 0; k < nLevelObjCount; k++ )
+ {
+ if ( LevelList[ i ]->GetObject( k ) )
+ if ( aPos == LevelList[ i ]->GetObject( k )->GetCalcPosPixel() )
+ bUsedPos = TRUE;
+ }
+ // if its free, add to pool
+ if ( !bUsedPos )
+ {
+ aPosArray[ l ] = aPos;
+ l++;
+ }
+ }
+
+ // initial positioning for secodaries
+ for ( j = 0 ; j < nLevelSecObjCount ; j++ )
+ {
+ pSwapWin = LevelSecList[ i ]->GetObject( j );
+ aWorkList.Insert( pSwapWin, LIST_APPEND);
+ if ( pSwapWin )
+ pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
+ }
+ dMinDist = CalcDistSum( LevelSecList[ i ] );
+
+ dMinDist = MIN( dMinDist, Impl_PermuteMin( *(LevelSecList[ i ]), aPosArray, aWorkList, dMinDist, 0, nLevelSecObjCount ));
+
+ // set optimized positions - may still be wrong from later tries
+ for ( j = 0; j < nLevelSecObjCount; j++ )
+ {
+ pSwapWin = aWorkList.GetObject( j );
+ if ( pSwapWin )
+ pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
+ }
+ if ( LevelUse[ i ] + LevelSecUse[ i ] > DEPPER_MAX_WIDTH )
+ mnLevelOffset++;
+ }
+ if ( LevelUse[ i ] + LevelSecUse[ i ] > DEPPER_MAX_WIDTH )
+ mnLevelOffset+= ( LevelUse[ i ] + LevelSecUse[ i ] ) / DEPPER_MAX_WIDTH ;
+ i++;
+ }
+
+ mnMinDynXOffs = 0xffff;
+
+// and back again...
+ // get better results form already preoptimized upper and lower rows
+
+ do
+ {
+ i--;
+ UpdateMainProgressBar(i, nScaleVal, nStep, TRUE); // TRUE ~ counting down
+ if ( LevelUse[ i ] + LevelSecUse[ i ] > DEPPER_MAX_WIDTH )
+ mnLevelOffset-= ( LevelUse[ i ] + LevelSecUse[ i ] ) / DEPPER_MAX_WIDTH ;
+ ObjectWin* pSwapWin;
+ ULONG nLevelObjCount = LevelList[ i ]->Count();
+ mnXOffset = CalcXOffset( nLevelObjCount );
+ aWorkList.Clear();
+
+ for ( j = 0; j < nLevelObjCount; j++ )
+ {
+ pSwapWin = LevelList[ i ]->GetObject( j );
+ aWorkList.Insert( pSwapWin, LIST_APPEND);
+ Point aPos = CalcPos( i, j );
+ aPosArray[ j ] = aPos;
+//no need to do this stuff....... ?????
+ if ( pSwapWin )
+ pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
+ }
+
+ double dMinDist = CalcDistSum( LevelList[ i ], BOTH );
+
+ dMinDist = MIN( dMinDist, Impl_PermuteMin( *(LevelList[ i ]), aPosArray, aWorkList, dMinDist, 0, nLevelObjCount, BOTH ));
+// wrong position for remaping - keep old positions for comparing
+ for ( j = 0; j < nLevelObjCount; j++ )
+ {
+ pSwapWin = aWorkList.GetObject( j );
+ if ( pSwapWin )
+// pSwapWin->SetCalcPosPixel( mpBaseWin->LogicToPixel( aPosArray[ j ] ));
+ pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
+ }
+
+ if ( LevelSecList[ i ] != NULL )
+ {
+ ULONG nLevelSecObjCount = LevelSecList[ i ]->Count();
+ mnXOffset = CalcXOffset( LevelUse[ i ] + nLevelSecObjCount );
+ aWorkList.Clear();
+
+ l = 0;
+ BOOL bUsedPos;
+
+ for ( j = 0; j < ( LevelUse[ i ] + nLevelSecObjCount ) ; j++ )
+ {
+ Point aPos = CalcPos( i, j );
+ bUsedPos = FALSE;
+// could be faster
+ for ( k = 0; k < nLevelObjCount; k++ )
+ {
+ if ( LevelList[ i ]->GetObject( k ) )
+ if ( aPos == LevelList[ i ]->GetObject( k )->GetCalcPosPixel() )
+ bUsedPos = TRUE;
+ }
+ if ( !bUsedPos )
+ {
+ aPosArray[ l ] = aPos;
+ l++;
+ }
+ }
+
+ for ( j = 0 ; j < nLevelSecObjCount ; j++ )
+ {
+ pSwapWin = LevelSecList[ i ]->GetObject( j );
+ aWorkList.Insert( pSwapWin, LIST_APPEND);
+ if ( pSwapWin )
+ pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
+ }
+ dMinDist = CalcDistSum( LevelSecList[ i ], BOTH );
+
+ dMinDist = MIN( dMinDist, Impl_PermuteMin( *(LevelSecList[ i ]), aPosArray, aWorkList, dMinDist, 0, nLevelSecObjCount, BOTH ));
+// wrong position for remaping - keep old positions for comparing
+ for ( j = 0; j < nLevelSecObjCount; j++ )
+ {
+ pSwapWin = aWorkList.GetObject( j );
+ if ( pSwapWin )
+ pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
+ }
+ }
+// i--;
+ } while ( i != 0 );
+ SetMainProgressBar( 100 );
+
+ ULONG nNewXSize = ( DEPPER_MAX_WIDTH + 1 ) * ( OBJWIN_X_SPACING + GetDefSize().Width() );
+
+ // ULONG aObjID = GetStart(pIdMapper, pObjLst) //hier muß man switchen GetStart/GetPrjStart oder so
+
+ ObjectWin* pObjWin = ObjIdToPtr( pObjLst, aObjID);
+
+ ULONG nNewYSize = pObjWin->GetCalcPosPixel().Y() + GetDefSize().Height() + 2 * OBJWIN_Y_SPACING;
+ if (( nUnvisYOffs + GetDefSize().Height()) > nNewYSize )
+ nNewYSize = nUnvisYOffs + GetDefSize().Height();
+
+ MapMode aMapMode = GetDepWin()->GetMapMode();
+ Size aTmpSize( (ULONG) (double(nNewXSize) * double( aMapMode.GetScaleX())), (ULONG) (double( nNewYSize) * double( aMapMode.GetScaleY())));
+
+ Size aNowSize( GetGraphWin()->GetSizePixel());
+
+ if ( GetDepWin()->LogicToPixel( aNowSize ).Width() > aTmpSize.Width() )
+ aTmpSize.Width() = GetDepWin()->LogicToPixel( aNowSize ).Width() ;
+
+ if ( GetDepWin()->LogicToPixel( aNowSize ).Height() > aTmpSize.Height() )
+ aTmpSize.Height() = GetDepWin()->LogicToPixel( aNowSize ).Height() ;
+
+// if ( nZoomed <= 0 )
+// {
+// mpBaseWin->SetSizePixel( aTmpSize );
+// mpGraphWin->SetTotalSize( aTmpSize );
+// mpGraphWin->EndScroll( 0, 0 );
+// }
+
+// now remap all objects
+ ULONG nAllObjCount = pObjLst->Count();
+ Point aTmpPos;
+ for ( j = 0; j < nAllObjCount; j++ )
+ {
+ pWin = pObjLst->GetObject( j );
+ if ( pWin->IsVisible()) {
+ aTmpPos = pWin->GetCalcPosPixel();
+ if ( pWin->mbVisited )
+ {
+// reserve space for unconnected
+ aTmpPos.X() -= mnMinDynXOffs;
+ aTmpPos.X() += GetDefSize().Width() + OBJWIN_X_SPACING;
+// center window
+ aTmpPos.X() += GetDefSize().Width() / 2;
+ aTmpPos.X() -= pWin->PixelToLogic( pWin->GetSizePixel()).Width() / 2 ;
+ }
+ pWin->SetPosPixel( GetDepWin()->LogicToPixel( aTmpPos ));
+ }
+ }
+ aWorkList.Clear();
+ GetDepWin()->EnablePaint( TRUE );
+ GetDepWin()->Invalidate();
+//LevelListen loeschen Hä? Welche Levellisten?
+
+//Update all Connectors
+// --> To be done: Don't call twice Object1-Connector-Object2
+ ObjectWin* pObject1;
+ for ( i = 0 ; i < nObjCount ; i++)
+ {
+ pObject1 = pObjLst->GetObject( i );
+ if ( pObject1->IsVisible())
+ pObject1->UpdateConnectors();
+ };
+ return 0;
+}
+
+void SolDep::WriteToErrorFile()
+{
+//Needs some improvement
+ ObjectWin* pWin;
+ WarningBox aWBox( mpBaseWin, WB_OK, String::CreateFromAscii("graph too deep! dat geiht nich gut.\nlook at depper.err in your Tmp-directory\nfor list of objects"));
+ aWBox.Execute();
+ char *tmpdir = getenv("TMP");
+ char *errfilebasename = "depper.err";
+ char *ErrFileName = (char*) malloc( strlen( tmpdir ) + strlen( errfilebasename) + 3 );
+ *ErrFileName = '\0';
+ strcat( ErrFileName, tmpdir );
+ strcat( ErrFileName, "\\" );
+ strcat( ErrFileName, errfilebasename );
+ FILE* pErrFile = fopen( "depper.err", "w+" );
+ if ( pErrFile )
+ {
+ for ( USHORT i = 0; i < mpTravellerList->Count(); i++ )
+ {
+ pWin = mpTravellerList->GetObject( i );
+ fprintf( pErrFile, " %s -> \n", (pWin->GetBodyText()).GetBuffer());
+ }
+ fclose( pErrFile );
+ }
+}
diff --git a/solenv/bin/deliver.pl b/solenv/bin/deliver.pl
index d4d6c9c0bf5a..0d6c8b27afa4 100755
--- a/solenv/bin/deliver.pl
+++ b/solenv/bin/deliver.pl
@@ -552,7 +552,7 @@ sub get_base
}
if ( $#field == -1 ) {
- print_error("can't determine module");
+ print_error("can't find d.lst");
exit(2);
}
else {
diff --git a/solenv/config/sdev300.ini b/solenv/config/sdev300.ini
index 7550f86aedc5..be1fc69fa487 100644..100755
--- a/solenv/config/sdev300.ini
+++ b/solenv/config/sdev300.ini
@@ -1,17 +1,12 @@
-common
+common
{
- environment
+ environment
{
- btarget
- {
- BTARGET btarget=%BUILD_TARGET%
- }
- common
+ common
{
ADDED_MODULES solenv default_images custom_images ooo_custom_images external_images postprocess instset_native instsetoo_native smoketest_native smoketestoo_native
BIG_SVX TRUE
BMP_WRITES_FLAG TRUE
- BTARGET 1
BUILD_SPECIAL TRUE
BUILD_TYPE SO OOo EXT BINFILTER BITSTREAM_VERA_FONTS BSH CURL DICTIONARIES HSQLDB HUNSPELL JPEG LIBXML2 LIBXMLSEC LPSOLVE MOZ NEON TWAIN PYTHON ZLIB SANE UNIXODBC X11_EXTENSIONS LIBWPD EPM QADEVOOO ODK MSFONTEXTRACT MATHMLDTD BOOST EXPAT CRASHREP BERKELEYDB LIBXSLT SUN AGG GTK ICU SYSTRAY_GTK JAVAINSTALLER2 VIGRA OPENSSL JFREEREPORT APACHE_COMMONS TOMCAT REPORTBUILDER SDEXT SWEXT XPDF LUCENE REDLAND SAXON WRITER2LATEX NSS L10N GRAPHITE
common_build TRUE
@@ -50,7 +45,6 @@ common
WITH_FONTOOO YES
WITH_LDAP YES
wrapper_override_cc_wrapper TRUE
- ZIPSOURCE 1
BUILD_QADEVOOO YES
MAXPROC maxproc=15
}
@@ -71,9 +65,8 @@ common
}
common:3 IF %UPDATER% != YES
{
- ENABLE_CRASHDUMP DUMMY
}
- crashdump
+ crashdump
{
ENABLE_CRASHDUMP STATIC
}
@@ -89,10 +82,6 @@ common
{
UPDMINOREXT .%UPDMINOR%
}
- nojava
- {
- DISABLE_JAVA TRUE
- }
nosource
{
LU_NOSOURCE no_source
@@ -100,7 +89,6 @@ common
pro:0 IF %UPDATER% == YES
{
DELIVER_TO_ZIP TRUE
- ENABLE_CRASHDUMP STATIC
product full
PROEXT .pro
PROFULLSWITCH product=full
@@ -116,74 +104,67 @@ common
{
LU_RFLAG r_only
}
- shell
+ shell
{
SHELL %STAR_USE_SHELL%
USE_SHELL %STAR_USE_SHELL%
}
- tmp
+ tmp
{
SOL_TMP %SOL_TMP_DIR%
}
- verbose
+ verbose
{
VERBOSE VERBOSE
}
- zipsource
- {
- ZIPSOURCE zipsource=%ZIP_SOURCE_URL%
- }
}
- extern
+ extern
{
- ENVROOT
- PATH
- SRC_ROOT
- STL_ROOT
- UPDATER
+ ENVROOT
+ PATH
+ SRC_ROOT
+ UPDATER
}
- order minorext common:2 common:3 pro:0 pro:1 common common:0 btarget zipsource cwsname common:1 nojava shell tmp crashdump maxproc hg r_only nosource
- reset
+ order minorext common:2 common:3 pro:0 pro:1 common common:0 cwsname common:1 shell tmp crashdump maxproc hg r_only nosource
+ reset
{
ALT_L10N_MODULE
- ENVCFLAGS
- HOMEDRIVE
- HOMEPATH
- JAVAHOME
- JAVA_HOME
+ ENVCFLAGS
+ HOMEDRIVE
+ HOMEPATH
+ JAVAHOME
+ JAVA_HOME
LU_HGFLAG
LU_NOSOURCE
LU_RFLAGS
MKDIRHIER
- PROEXT
- PROFULLSWITCH
- SHIPDRIVE
- SOLARSRC
- SOLAR_JAVA
- SPEW
- STLPORT4
+ PROEXT
+ PROFULLSWITCH
+ SHIPDRIVE
+ SOLARSRC
+ SOLAR_JAVA
+ SPEW
+ STLPORT4
UPDMINOREXT
- WITH_FONTOOO
- WITH_LANG
+ WITH_FONTOOO
+ WITH_LANG
}
- restore
+ restore
{
- PATH
+ PATH
}
- standlst
+ standlst
{
DRIVE_O %WORK_STAMP%/drives/o:/UnixVolume
DRIVE_S %WORK_STAMP%/drives/s:/UnixVolume
}
- switches
+ switches
{
- btarget BUILD_TARGET
- crashdump
+ crashdump
cwsname CWS_WORK_STAMP
- envroot
+ envroot
hg
minorext
- nojava
nosource
pro
maxproc MAXPROCESS
@@ -191,40 +172,34 @@ common
shell STAR_USE_SHELL
tmp SOL_TMP_DIR
verbose VERBOSE
- zipsource ZIP_SOURCE_URL
}
}
-finish
+finish
{
- environment
+ environment
{
- ca
- {
- SOLARSRC %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%
- SOURCE_ROOT_DIR $expand(%SOLARSRC%/..)
- }
- cap
+ cap
{
SOLARSRC %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%
SOURCE_ROOT_DIR $expand(%SOLARSRC%/..)
}
- cax
+ cax
{
SOLARSRC %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%
SOURCE_ROOT_DIR $expand(%SOLARSRC%/..)
}
common_0:0 IF %OS% == MACOSX
{
- ENABLE_GCONF
- ENABLE_GNOMEVFS
- ENABLE_GTK
+ ENABLE_GCONF
+ ENABLE_GNOMEVFS
+ ENABLE_GTK
SOLARINCLUDES -I%SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT% -I%SOLARENV%$/%OUTPATH%$/inc -I%SOLARENV%$/inc %SOLAREXTRAINC%
}
common_0:3 IF %SOLARINCLUDES% ==
{
SOLARINCLUDES -I%SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT% %PSDKINC% -I%COMPATH%$/include -I%SOLARENV%$/inc %SOLAREXTRAINC%
}
- common_1
+ common_1
{
BISON_HAIRY %SOLARROOT%$/btools$/bison.hairy
BISON_SIMPLE %SOLARROOT%$/btools$/bison.simple
@@ -255,8 +230,8 @@ finish
}
cwsname:0 IF X%SOURCE_ROOT_USED%X == XX
{
- *build
- *deliver
+ *build
+ *deliver
DMAKEROOT SOURCE_ROOT_not_used
SOLARINC SOURCE_ROOT_not_used
SOLARINCLUDE SOURCE_ROOT_not_used
@@ -270,8 +245,8 @@ finish
}
cwsname:1 IF X%SOURCE_ROOT%X == XX
{
- *build
- *deliver
+ *build
+ *deliver
DMAKEROOT SOURCE_ROOT_not_set
SOLARINC SOURCE_ROOT_not_set
SOLARINCLUDE SOURCE_ROOT_not_set
@@ -285,8 +260,8 @@ finish
}
cwsname:2 IF X%UPDMINOR%X == XX
{
- *build
- *deliver
+ *build
+ *deliver
DMAKEROOT UPDMINOR_not_used
SOLARINC UPDMINOR_not_used
SOLARINCLUDE UPDMINOR_not_used
@@ -298,63 +273,47 @@ finish
SO_GEN_ERROR2 ...resetting path to source tree
SRC_ROOT UPDMINOR_not_used
}
- jdk13
+ jdk14
{
CLASSPATH .$;%JAVA_HOME%$/jre$/lib$/rt.jar
ILIB %LIB%$;%JDKLIB%
LIB %LIB%$;%JDKLIB%
}
- jdk14
+ jdk15
{
CLASSPATH .$;%JAVA_HOME%$/jre$/lib$/rt.jar
ILIB %LIB%$;%JDKLIB%
LIB %LIB%$;%JDKLIB%
}
- jdk15
- {
- CLASSPATH .$;%JAVA_HOME%$/jre$/lib$/rt.jar
- ILIB %LIB%$;%JDKLIB%
- LIB %LIB%$;%JDKLIB%
- }
- l10n
+ l10n
{
framework %L10N_framework%
L10N-framework %L10N_framework%
}
- ojdk16
+ ojdk16
{
CLASSPATH .$;%JAVA_HOME%$/jre$/lib$/rt.jar
ILIB %LIB%$;%JDKLIB%
LIB %LIB%$;%JDKLIB%
}
}
- order cwsname:0 cwsname:1 cwsname:2 common_0:0 common_0:1 common_0:2 common_0:3 jdk13 jdk14 jdk15 ojdk16 common_1 common_2:0 l10n common_jre:0 common_jre:1 ca cax cap common_a
- switches
+ order cwsname:0 cwsname:1 cwsname:2 common_0:0 common_0:1 common_0:2 common_0:3 jdk14 jdk15 ojdk16 common_1 common_2:0 l10n common_jre:0 common_jre:1 cax cap common_a
+ switches
{
cwsname CWS_WORK_STAMP
}
}
-unxfbsdi
+unxfbsdi
{
- environment
+ environment
{
- bs_sourceroot
+ bs_sourceroot
{
SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT_USED TRUE
}
- ca
- {
- COPYALL TRUE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOLARROOT%/etools
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- }
- cap
+ cap
{
COPYALL TRUE
COPY_PACKED TRUE
@@ -366,7 +325,7 @@ unxfbsdi
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- cax
+ cax
{
COPYALL FALSE
DEVROOT %SOL_TMP%$/r
@@ -377,7 +336,7 @@ unxfbsdi
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- common
+ common
{
*build nice perl %SOLARENV%/bin/build.pl %PROFULLSWITCH%
*build_client nice perl %SOLARENV%/bin/build_client.pl
@@ -398,12 +357,12 @@ unxfbsdi
SOLAR_JAVA TRUE
ZIPDEP perl %SOLARENV%/bin/zipdep.pl
}
- common0
+ common0
{
SOLAR_ENV_ROOT /so/env
SOLAR_SOURCE_ROOT %DRIVE_O%
}
- common1
+ common1
{
COMPATH %SOLAR_ENV_ROOT%$/gcc_3.0.1_linux_libc2.11_turbolinux
DEVROOT %SOLAR_ENV_ROOT%
@@ -420,7 +379,7 @@ unxfbsdi
SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP%
SRC_ROOT %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%
}
- common2
+ common2
{
BUILD_TOOLS %SOLARROOT%/bt_unxfbsdi/bin
COM GCC
@@ -446,11 +405,11 @@ unxfbsdi
TEMP /tmp
TMP /tmp
}
- compath
+ compath
{
COMPATH %STAR_COMPATH%
}
- debug
+ debug
{
LD_LIBRARY_PATH %SOLARROOT%/solenv/unxlngi4/lib/debug:%LD_LIBRARY_PATH%
}
@@ -464,22 +423,7 @@ unxfbsdi
{
SOLAR_ENV_ROOT %ENV_ROOT%
}
- jdk13
- {
- JAVA_HOME %JDK13PATH%
- JDKINC %JDK13PATH%/include:%JDK13PATH%/include/linux
- JDKINCS -I%JDK13PATH%/include -I%JDK13PATH%/include/linux
- JDKLIB %JDK13PATH%/jre/lib:%JDK13PATH%/jre/lib/i386:%JDK13PATH%/jre/lib/i386/client
- JDKLIBS -L%JDK13PATH%/jre/lib -L%JDK13PATH%/jre/lib/i386 -L%JDK13PATH%/jre/lib/i386/client
- JDKPATH %JDK13PATH%/bin
- JDK_VERSION 131
- XCLASSPATH .:%JDK13PATH%/jre/lib/rt.jar:%JDK13PATH%/lib/tools.jar
- }
- jdk13path:0 IF X%JDK_PATH%X != XX
- {
- SOLAR_JDK13PATH %JDK_PATH%
- }
- jdk14
+ jdk14
{
JAVA_HOME %JDK14PATH%
JDKINC %JDK14PATH%/include:%JDK14PATH%/include/linux
@@ -494,7 +438,7 @@ unxfbsdi
{
SOLAR_JDK14PATH %JDK_PATH%
}
- jdk15
+ jdk15
{
JAVA_HOME %JDK15PATH%
JDKINC %JDK15PATH%/include:%JDK15PATH%/include/linux
@@ -509,19 +453,7 @@ unxfbsdi
{
SOLAR_JDK15PATH %JDK_PATH%
}
- nativecvs
- {
- *cvs %STAR_NATIVECVS%
- }
- pre
- {
- ILIB %PRE%/lib:%ILIB%
- LD_LIBRARY_PATH %PRE%/lib:%LD_LIBRARY_PATH%
- LIB %PRE%/lib:%LIB%
- SOLARINC -I. -I%PRE%/inc %SOLARINC%
- SOLARLIB -L%PRE%/lib %SOLARLIB% -L/usr/X11R6/lib
- }
- pro
+ pro
{
PROSWITCH -DPRODUCT
}
@@ -530,48 +462,38 @@ unxfbsdi
SOLAR_SOURCE_ROOT %SOURCE_ROOT%
SOURCE_ROOT_USED TRUE
}
- stl:0 IF X%STL_ROOT%X != XX
- {
- SOLAR_STLLIBPATH %STL_ROOT%$/..$/lib
- SOLAR_STLPATH %STL_ROOT%
- }
- stl:1 IF X%STL_ROOT%X == XX
- {
- SOLAR_STLPATH %SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT%$/stl
- }
- sysbaseroot
+ sysbaseroot
{
SOLAR_SYSBASE_ROOT %SYSBASE_ROOT%
}
}
- extern
+ extern
{
- DIST_ROOT
- ENV_ROOT
- HOME
- JDK_PATH
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- STL_ROOT
- SYSBASE_ROOT
- USER
+ DIST_ROOT
+ ENV_ROOT
+ HOME
+ JDK_PATH
+ LOCALINI
+ SOL_TMP
+ SOURCE_ROOT
+ SYSBASE_ROOT
+ USER
}
- order common0 bs_sourceroot envroot:0 sourceroot:0 sysbaseroot common1 jdk13path:0 jdk14path:0 jdk15path:0 distroot:0 nativecvs ca cap cax compath common2 pro stl:0 stl:1 common jdk13 jdk14 jdk15 debug pre
- reset
+ order common0 bs_sourceroot envroot:0 sourceroot:0 sysbaseroot common1 jdk14path:0 jdk15path:0 distroot:0 cap cax compath common2 pro common jdk14 jdk15 debug
+ reset
{
- CLASSPATH
- COPYALL
+ CLASSPATH
+ COPYALL
}
- restore
+ restore
{
- INCLUDE
+ INCLUDE
}
- script
+ script
{
csh
{
- 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
600: umask 002
800: rehash
850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
@@ -579,10 +501,10 @@ unxfbsdi
900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
}
- sh
+ sh
{
400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
415: fi
600: umask 002
800: hash -r
@@ -600,54 +522,37 @@ unxfbsdi
882: fi
}
}
- switches
+ switches
{
bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- ca
- cap
- cax
+ bsclient
+ cap
+ cax
compath STAR_COMPATH
- debug
- distroot
- envroot
- jdk13
- jdk13path
- jdk14
- jdk14path
- jdk15
- jdk15path
+ debug
+ distroot
+ envroot
+ jdk14
+ jdk14path
+ jdk15
+ jdk15path
l10n L10N_framework
- nativecvs STAR_NATIVECVS
- pre PRE
- pro
- sourceroot
- stl
- sysbaseroot
+ pro
+ sourceroot
+ sysbaseroot
}
}
-unxlngi6
+unxlngi6
{
- environment
+ environment
{
- bs_sourceroot
+ bs_sourceroot
{
SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT_USED TRUE
}
- ca
- {
- COPYALL TRUE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOLARROOT%/etools
- PERL %SOL_TMP%$/r$/bt_linux_libc2.32$/%WORK_STAMP%$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- }
- cap
+ cap
{
COPYALL TRUE
COPY_PACKED TRUE
@@ -660,7 +565,7 @@ unxlngi6
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- cax
+ cax
{
COPYALL FALSE
DEVROOT %SOL_TMP%$/r
@@ -672,7 +577,7 @@ unxlngi6
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- common
+ common
{
*build nice %PERL% %SOLARENV%/bin/build.pl %PROFULLSWITCH%
*build_client nice %PERL% %SOLARENV%/bin/build_client.pl
@@ -696,15 +601,15 @@ unxlngi6
SOLAR_JAVA TRUE
ZIPDEP %PERL% %SOLARENV%/bin/zipdep.pl
}
- common0
+ common0
{
SOLAR_ENV_ROOT /so/env
SOLAR_SOURCE_ROOT %DRIVE_O%
- SOLAR_SYSBASE_ROOT /so/env/gcc_4.2.3_linux_libc2.32/glibc2.3.2
+ SOLAR_SYSBASE_ROOT /so/env/gcc_4.2.3_linux_libc2.32/glibc2.3.2
}
- common1
+ common1
{
- COMPATH %SOLAR_ENV_ROOT%$/gcc_4.2.3_linux_libc2.32
+ COMPATH %SOLAR_ENV_ROOT%$/gcc_4.2.3_linux_libc2.32
DEVROOT %SOLAR_ENV_ROOT%
LFS_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
PERL %SOLAR_ENV_ROOT%/bt_linux_libc2.32/%WORK_STAMP%/bin/perl
@@ -722,7 +627,7 @@ unxlngi6
SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP%
SRC_ROOT %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%
}
- common2
+ common2
{
ENABLE_GRAPHITE TRUE
BUILD_TOOLS %SOLARROOT%/bt_linux_libc2.32/%WORK_STAMP%/bin
@@ -759,7 +664,7 @@ unxlngi6
{
FORCE2ARCHIVE TRUE
}
- compath
+ compath
{
COMPATH %STAR_COMPATH%
}
@@ -773,22 +678,7 @@ unxlngi6
{
SOLAR_ENV_ROOT %ENV_ROOT%
}
- jdk13
- {
- JAVA_HOME %JDK13PATH%
- JDKINC %JDK13PATH%/include:%JDK13PATH%/include/linux
- JDKINCS -I%JDK13PATH%/include -I%JDK13PATH%/include/linux
- JDKLIB %JDK13PATH%/jre/lib:%JDK13PATH%/jre/lib/i386:%JDK13PATH%/jre/lib/i386/client
- JDKLIBS -L%JDK13PATH%/jre/lib -L%JDK13PATH%/jre/lib/i386 -L%JDK13PATH%/jre/lib/i386/client
- JDKPATH %JDK13PATH%/bin
- JDK_VERSION 131
- XCLASSPATH .:%JDK13PATH%/jre/lib/rt.jar:%JDK13PATH%/lib/tools.jar
- }
- jdk13path:0 IF X%JDK_PATH%X != XX
- {
- SOLAR_JDK13PATH %JDK_PATH%
- }
- jdk14
+ jdk14
{
JAVA_HOME %JDK14PATH%
JDKINC %JDK14PATH%/include:%JDK14PATH%/include/linux
@@ -803,7 +693,7 @@ unxlngi6
{
SOLAR_JDK14PATH %JDK_PATH%
}
- jdk15
+ jdk15
{
JAVA_HOME %JDK15PATH%
JDKINC %JDK15PATH%/include:%JDK15PATH%/include/linux
@@ -818,11 +708,7 @@ unxlngi6
{
SOLAR_JDK15PATH %JDK_PATH%
}
- nativecvs
- {
- *cvs %STAR_NATIVECVS%
- }
- ojdk16
+ ojdk16
{
JAVA_HOME %OJDK16PATH%
JDKINC %OJDK16PATH%/include:%OJDK16PATH%/include/linux
@@ -837,14 +723,7 @@ unxlngi6
{
SOLAR_OJDK16PATH %JDK_PATH%
}
- pre
- {
- ILIB %PRE%/lib:%ILIB%
- LIB %PRE%/lib:%LIB%
- SOLARINC -I. -I%PRE%/inc %SOLARINC%
- SOLARLIB -L%PRE%/lib %SOLARLIB% -L/usr/X11R6/lib
- }
- pro
+ pro
{
PROSWITCH -DPRODUCT
}
@@ -853,48 +732,38 @@ unxlngi6
SOLAR_SOURCE_ROOT %SOURCE_ROOT%
SOURCE_ROOT_USED TRUE
}
- stl:0 IF X%STL_ROOT%X != XX
- {
- SOLAR_STLLIBPATH %STL_ROOT%$/..$/lib
- SOLAR_STLPATH %STL_ROOT%
- }
- stl:1 IF X%STL_ROOT%X == XX
- {
- SOLAR_STLPATH %SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT%$/stl
- }
- sysbaseroot
+ sysbaseroot
{
SOLAR_SYSBASE_ROOT %SYSBASE_ROOT%
}
}
- extern
+ extern
{
- DIST_ROOT
- ENV_ROOT
- HOME
- JDK_PATH
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- STL_ROOT
- SYSBASE_ROOT
- USER
+ DIST_ROOT
+ ENV_ROOT
+ HOME
+ JDK_PATH
+ LOCALINI
+ SOL_TMP
+ SOURCE_ROOT
+ SYSBASE_ROOT
+ USER
}
- order common0 bs_sourceroot envroot:0 sourceroot:0 sysbaseroot common1 jdk13path:0 jdk14path:0 jdk15path:0 ojdk16path:0 distroot:0 nativecvs ca cap cax compath common2 pro common3:0 stl:0 stl:1 common jdk13 jdk14 jdk15 ojdk16 pre
- reset
+ order common0 bs_sourceroot envroot:0 sourceroot:0 sysbaseroot common1 jdk14path:0 jdk15path:0 ojdk16path:0 distroot:0 cap cax compath common2 pro common3:0 common jdk14 jdk15 ojdk16
+ reset
{
- CLASSPATH
- COPYALL
+ CLASSPATH
+ COPYALL
}
- restore
+ restore
{
- INCLUDE
+ INCLUDE
}
- script
+ script
{
csh
{
- 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
600: umask 002
800: rehash
850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
@@ -902,10 +771,10 @@ unxlngi6
900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
}
- sh
+ sh
{
400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
415: fi
600: umask 002
800: hash -r
@@ -923,56 +792,39 @@ unxlngi6
882: fi
}
}
- switches
+ switches
{
bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- ca
- cap
- cax
+ bsclient
+ cap
+ cax
compath STAR_COMPATH
- debug
- distroot
- envroot
- jdk13
- jdk13path
- jdk14
- jdk14path
- jdk15
- jdk15path
+ debug
+ distroot
+ envroot
+ jdk14
+ jdk14path
+ jdk15
+ jdk15path
l10n L10N_framework
- nativecvs STAR_NATIVECVS
- ojdk16
- ojdk16path
- pre PRE
- pro
- sourceroot
- stl
- sysbaseroot
+ ojdk16
+ ojdk16path
+ pro
+ sourceroot
+ sysbaseroot
}
}
-unxlngx6
+unxlngx6
{
- environment
+ environment
{
- bs_sourceroot
+ bs_sourceroot
{
SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT_USED TRUE
}
- ca
- {
- COPYALL TRUE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOLARROOT%/etools
- PERL %SOL_TMP%$/r$/bt_linux_libc2.32$/%WORK_STAMP%$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- }
- cap
+ cap
{
COPYALL TRUE
COPY_PACKED TRUE
@@ -985,7 +837,7 @@ unxlngx6
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- cax
+ cax
{
COPYALL FALSE
DEVROOT %SOL_TMP%$/r
@@ -997,7 +849,7 @@ unxlngx6
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- common
+ common
{
*build nice %PERL% %SOLARENV%/bin/build.pl %PROFULLSWITCH%
*build_client nice %PERL% %SOLARENV%/bin/build_client.pl
@@ -1021,13 +873,13 @@ unxlngx6
SOLAR_JAVA TRUE
ZIPDEP %PERL% %SOLARENV%/bin/zipdep.pl
}
- common0
+ common0
{
SOLAR_ENV_ROOT /so/env
SOLAR_SOURCE_ROOT %DRIVE_O%
SOLAR_SYSBASE_ROOT /so/env/gcc_4.2.3_linux64_libc3.4.6/glibc3.4.6
}
- common1
+ common1
{
COMPATH %SOLAR_ENV_ROOT%$/gcc_4.2.3_linux64_libc3.4.6/
DEVROOT %SOLAR_ENV_ROOT%
@@ -1048,7 +900,7 @@ unxlngx6
USE_SYSTEM_STL YES
XAU_LIBS -lXau
}
- common2
+ common2
{
ENABLE_GRAPHITE TRUE
BUILD_TOOLS %SOLARROOT%/bt_linux_libc2.32/%WORK_STAMP%/bin
@@ -1086,7 +938,7 @@ unxlngx6
{
FORCE2ARCHIVE TRUE
}
- compath
+ compath
{
COMPATH %STAR_COMPATH%
}
@@ -1100,7 +952,7 @@ unxlngx6
{
SOLAR_ENV_ROOT %ENV_ROOT%
}
- jdk14
+ jdk14
{
JAVA_HOME %JDK15PATH%
JDKINC %JDK15PATH%/include:%JDK15PATH%/include/linux
@@ -1115,7 +967,7 @@ unxlngx6
{
SOLAR_JDK14PATH %JDK_PATH%
}
- jdk15
+ jdk15
{
JAVA_HOME %JDK15PATH%
JDKINC %JDK15PATH%/include:%JDK15PATH%/include/linux
@@ -1130,11 +982,7 @@ unxlngx6
{
SOLAR_JDK15PATH %JDK_PATH%
}
- nativecvs
- {
- *cvs %STAR_NATIVECVS%
- }
- ojdk16
+ ojdk16
{
JAVA_HOME %OJDK16PATH%
JDKINC %OJDK16PATH%/include:%OJDK16PATH%/include/linux
@@ -1149,14 +997,7 @@ unxlngx6
{
SOLAR_OJDK16PATH %JDK_PATH%
}
- pre
- {
- ILIB %PRE%/lib:%ILIB%
- LIB %PRE%/lib:%LIB%
- SOLARINC -I. -I%PRE%/inc %SOLARINC%
- SOLARLIB -L%PRE%/lib %SOLARLIB% -L/usr/X11R6/lib
- }
- pro
+ pro
{
PROSWITCH -DPRODUCT
}
@@ -1165,48 +1006,38 @@ unxlngx6
SOLAR_SOURCE_ROOT %SOURCE_ROOT%
SOURCE_ROOT_USED TRUE
}
- stl:0 IF X%STL_ROOT%X != XX
- {
- SOLAR_STLLIBPATH %STL_ROOT%$/..$/lib
- SOLAR_STLPATH %STL_ROOT%
- }
- stl:1 IF X%STL_ROOT%X == XX
- {
- SOLAR_STLPATH %SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT%$/stl
- }
- sysbaseroot
+ sysbaseroot
{
SOLAR_SYSBASE_ROOT %SYSBASE_ROOT%
}
}
- extern
+ extern
{
- DIST_ROOT
- ENV_ROOT
- HOME
- JDK_PATH
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- STL_ROOT
- SYSBASE_ROOT
- USER
+ DIST_ROOT
+ ENV_ROOT
+ HOME
+ JDK_PATH
+ LOCALINI
+ SOL_TMP
+ SOURCE_ROOT
+ SYSBASE_ROOT
+ USER
}
- order common0 bs_sourceroot envroot:0 sourceroot:0 sysbaseroot common1 jdk14path:0 jdk15path:0 ojdk16path:0 distroot:0 nativecvs ca cap cax compath common2 common3:0 pro stl:0 stl:1 common jdk14 jdk15 ojdk16 pre
- reset
+ order common0 bs_sourceroot envroot:0 sourceroot:0 sysbaseroot common1 jdk14path:0 jdk15path:0 ojdk16path:0 distroot:0 cap cax compath common2 common3:0 pro common jdk14 jdk15 ojdk16
+ reset
{
- CLASSPATH
- COPYALL
+ CLASSPATH
+ COPYALL
}
- restore
+ restore
{
- INCLUDE
+ INCLUDE
}
- script
+ script
{
csh
{
- 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
600: umask 002
800: rehash
850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
@@ -1214,10 +1045,10 @@ unxlngx6
900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
}
- sh
+ sh
{
400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
415: fi
600: umask 002
800: hash -r
@@ -1235,54 +1066,39 @@ unxlngx6
882: fi
}
}
- switches
+ switches
{
bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- ca
- cap
- cax
+ bsclient
+ cap
+ cax
compath STAR_COMPATH
- debug
- distroot
- envroot
- jdk14
- jdk14path
- jdk15
- jdk15path
+ debug
+ distroot
+ envroot
+ jdk14
+ jdk14path
+ jdk15
+ jdk15path
l10n L10N_framework
- nativecvs STAR_NATIVECVS
- ojdk16
- ojdk16path
- pre PRE
- pro
- sourceroot
- stl
- sysbaseroot
+ ojdk16
+ ojdk16path
+ pro
+ sourceroot
+ sysbaseroot
}
}
-unxmacxi
+unxmacxi
{
- environment
+ environment
{
- bs_sourceroot
+ bs_sourceroot
{
SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT_USED TRUE
}
- ca
- {
- COPYALL TRUE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOLARROOT%/etools
- PERL %SOL_TMP%$/r$/bt_macosx_intel$/%WORK_STAMP%$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- }
- cap
+ cap
{
COPYALL TRUE
COPY_PACKED TRUE
@@ -1295,7 +1111,7 @@ unxmacxi
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- cax
+ cax
{
COPYALL FALSE
DEVROOT %SOL_TMP%$/r
@@ -1307,7 +1123,7 @@ unxmacxi
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- common
+ common
{
*build nice %PERL% %SOLARENV%/bin/build.pl %PROFULLSWITCH%
*build_client nice %PERL% %SOLARENV%/bin/build_client.pl
@@ -1329,7 +1145,7 @@ unxmacxi
SOLAR_JAVA TRUE
ZIPDEP %PERL% %SOLARENV%/bin/zipdep.pl
}
- common0
+ common0
{
GXX_INCLUDE_PATH /so/env/gcc_4.0.1_macosx/usr/include/c++/4.0.0
SOLAR_ENV_ROOT /so/env
@@ -1337,7 +1153,7 @@ unxmacxi
SOLAR_SYSBASE_ROOT /so/env/gcc_4.0.1_macosx
MACDEVSDK /so/env/gcc_4.0.1_macosx/MacOSX10.4u.sdk
}
- common1
+ common1
{
BUILD_OS_APPLEOSX TRUE
BUILD_OS_MAJOR 10
@@ -1365,7 +1181,6 @@ unxmacxi
SOLARROOT %SOLAR_ENV_ROOT%
SOLARVER %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLAR_JDK13PATH %SOLAR_ENV_ROOT%/mac_jdk13_unknown
SOLAR_JDK14PATH %SOLAR_ENV_ROOT%/mac_jdk14_unknown
SOLAR_JDK15PATH %SOLAR_ENV_ROOT%/MacOSX_JDK_1.5.0_07.intel
SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP%
@@ -1380,7 +1195,7 @@ unxmacxi
BUILD_PIXMAN YES
WITH_MOZILLA YES
}
- common2
+ common2
{
BUILD_TOOLS %SOLARROOT%/bt_macosx_intel/%WORK_STAMP%/bin
COM GCC
@@ -1407,7 +1222,7 @@ unxmacxi
TEMP /tmp
TMP /tmp
}
- compath
+ compath
{
COMPATH %STAR_COMPATH%
}
@@ -1421,22 +1236,7 @@ unxmacxi
{
SOLAR_ENV_ROOT %ENV_ROOT%
}
- jdk13
- {
- JAVA_HOME %JDK13PATH%
- JDKINC %JDK13PATH%/include:%JDK13PATH%/include/linux
- JDKINCS -I%JDK13PATH%/include -I%JDK13PATH%/include/linux
- JDKLIB %JDK13PATH%/jre/lib:%JDK13PATH%/jre/lib/i386:%JDK13PATH%/jre/lib/i386/client
- JDKLIBS -L%JDK13PATH%/jre/lib -L%JDK13PATH%/jre/lib/i386 -L%JDK13PATH%/jre/lib/i386/client
- JDKPATH %JDK13PATH%/bin
- JDK_VERSION 131
- XCLASSPATH .:%JDK13PATH%/jre/lib/rt.jar:%JDK13PATH%/lib/tools.jar
- }
- jdk13path:0 IF X%JDK_PATH%X != XX
- {
- SOLAR_JDK13PATH %JDK_PATH%
- }
- jdk14
+ jdk14
{
JAVA_HOME %JDK15PATH%
JDKINC %JDK15PATH%/include:%JDK15PATH%/include/linux
@@ -1451,7 +1251,7 @@ unxmacxi
{
SOLAR_JDK14PATH %JDK_PATH%
}
- jdk15
+ jdk15
{
JAVA_HOME %JDK15PATH%
JDKINC %JDK15PATH%/include:%JDK15PATH%/include/linux
@@ -1466,18 +1266,7 @@ unxmacxi
{
SOLAR_JDK15PATH %JDK_PATH%
}
- nativecvs
- {
- *cvs %STAR_NATIVECVS%
- }
- pre
- {
- ILIB %PRE%/lib:%ILIB%
- LIB %PRE%/lib:%LIB%
- SOLARINC -I. -I%PRE%/inc %SOLARINC%
- SOLARLIB -L%PRE%/lib %SOLARLIB% -L/usr/X11R6/lib
- }
- pro
+ pro
{
PROSWITCH -DPRODUCT
}
@@ -1486,48 +1275,38 @@ unxmacxi
SOLAR_SOURCE_ROOT %SOURCE_ROOT%
SOURCE_ROOT_USED TRUE
}
- stl:0 IF X%STL_ROOT%X != XX
- {
- SOLAR_STLLIBPATH %STL_ROOT%$/..$/lib
- SOLAR_STLPATH %STL_ROOT%
- }
- stl:1 IF X%STL_ROOT%X == XX
- {
- SOLAR_STLPATH %SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT%$/stl
- }
- sysbaseroot
+ sysbaseroot
{
SOLAR_SYSBASE_ROOT %SYSBASE_ROOT%
}
}
- extern
+ extern
{
- DIST_ROOT
- ENV_ROOT
- HOME
- JDK_PATH
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- STL_ROOT
- SYSBASE_ROOT
- USER
+ DIST_ROOT
+ ENV_ROOT
+ HOME
+ JDK_PATH
+ LOCALINI
+ SOL_TMP
+ SOURCE_ROOT
+ SYSBASE_ROOT
+ USER
}
- order common0 bs_sourceroot envroot:0 sourceroot:0 sysbaseroot common1 jdk13path:0 jdk14path:0 jdk15path:0 distroot:0 nativecvs ca cap cax compath common2 pro stl:0 stl:1 common jdk13 jdk14 jdk15 pre
- reset
+ order common0 bs_sourceroot envroot:0 sourceroot:0 sysbaseroot common1 jdk14path:0 jdk15path:0 distroot:0 cap cax compath common2 pro common jdk14 jdk15
+ reset
{
- CLASSPATH
- COPYALL
+ CLASSPATH
+ COPYALL
}
- restore
+ restore
{
- INCLUDE
+ INCLUDE
}
- script
+ script
{
csh
{
- 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
600: umask 002
800: rehash
850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
@@ -1535,10 +1314,10 @@ unxmacxi
900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
}
- sh
+ sh
{
400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
415: fi
600: umask 002
800: hash -r
@@ -1556,54 +1335,37 @@ unxmacxi
882: fi
}
}
- switches
+ switches
{
bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- ca
- cap
- cax
+ bsclient
+ cap
+ cax
compath STAR_COMPATH
- debug
- distroot
- envroot
- jdk13
- jdk13path
- jdk14
- jdk14path
- jdk15
- jdk15path
+ debug
+ distroot
+ envroot
+ jdk14
+ jdk14path
+ jdk15
+ jdk15path
l10n L10N_framework
- nativecvs STAR_NATIVECVS
- pre PRE
- pro
- sourceroot
- stl
- sysbaseroot
+ pro
+ sourceroot
+ sysbaseroot
}
}
-unxsoli4
+unxsoli4
{
- environment
+ environment
{
- bs_sourceroot
+ bs_sourceroot
{
SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT_USED TRUE
}
- ca
- {
- COPYALL TRUE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOLARROOT%/etools
- PERL %SOL_TMP%$/r$/bt_solaris_intel$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- }
- cap
+ cap
{
COPYALL TRUE
COPY_PACKED TRUE
@@ -1616,7 +1378,7 @@ unxsoli4
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- cax
+ cax
{
COPYALL FALSE
DEVROOT %SOL_TMP%$/r
@@ -1628,7 +1390,7 @@ unxsoli4
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- common
+ common
{
*build nice %PERL% %SOLARENV%/bin/build.pl %PROFULLSWITCH%
*build_client nice %PERL% %SOLARENV%/bin/build_client.pl
@@ -1649,13 +1411,13 @@ unxsoli4
ZIPDEP %PERL% %SOLARENV%/bin/zipdep.pl
__cdpath %DRIVE_O%/%WORK_STAMP%/ooo%UPDMINOREXT%
}
- common0
+ common0
{
SOLAR_ENV_ROOT /so/env
SOLAR_SOURCE_ROOT %DRIVE_O%
SOLAR_SYSBASE_ROOT /so/env/solaris_2.10_intel
}
- common1
+ common1
{
COMPATH /so/env/compilers/SUNWS12_p/intel/SUNWspro
DEVROOT %SOLAR_ENV_ROOT%
@@ -1675,7 +1437,7 @@ unxsoli4
SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP%
SRC_ROOT %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%
}
- common2
+ common2
{
BUILD_TOOLS %SOLARROOT%/bt_solaris_intel/%WORK_STAMP%/bin
COM C52
@@ -1703,7 +1465,7 @@ unxsoli4
TEMP /var/tmp
TMP /var/tmp
}
- compath
+ compath
{
COMPATH %STAR_COMPATH%
}
@@ -1717,22 +1479,7 @@ unxsoli4
{
SOLAR_ENV_ROOT %ENV_ROOT%
}
- jdk13
- {
- JAVA_HOME %JDK13PATH%
- JDKINC %JDK13PATH%/include:%JDK13PATH%/include/solaris
- JDKINCS -I%JDK13PATH%/include -I%JDK13PATH%/include/solaris
- JDKLIB %JDK13PATH%/jre/lib/i386:%JDK13PATH%/lib:%JDK13PATH%/jre/lib/i386/native_threads:%JDK13PATH%/jre/plugin/i386:%JDK13PATH%/jre/lib/i386/motif21
- JDKLIBS -L%JDK13PATH%/jre/lib/i386 -L%JDK13PATH%/lib -L%JDK13PATH%/jre/lib/i386/native_threads -L%JDK13PATH%/jre/plugin/i386 -L%JDK13PATH%/jre/plugin/i386 -L%JDK13PATH%/jre/lib/i386/motif21
- JDKPATH %JDK13PATH%/bin
- JDK_VERSION 131
- XCLASSPATH .:%JDK13PATH%/jre/lib/rt.jar:%JDK13PATH%/jre/lib/i18n.jar:%JDK13PATH%/lib/tools.jar:%JDK13PATH%/jre/lib/javaplugin.jar
- }
- jdk13path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK13PATH %JDK_PATH%
- }
- jdk14
+ jdk14
{
JAVA_HOME %JDK14PATH%
JDKINC %JDK14PATH%/include:%JDK14PATH%/include/solaris
@@ -1747,7 +1494,7 @@ unxsoli4
{
SOLAR_JDK14PATH %JDK_PATH%
}
- jdk15
+ jdk15
{
JAVA_HOME %JDK15PATH%
JDKINC %JDK15PATH%/include:%JDK15PATH%/include/solaris
@@ -1762,11 +1509,7 @@ unxsoli4
{
SOLAR_JDK15PATH %JDK_PATH%
}
- nativecvs
- {
- *cvs %STAR_NATIVECVS%
- }
- ojdk16
+ ojdk16
{
JAVA_HOME %OJDK16PATH%
JDKINC %OJDK16PATH%/include:%OJDK16PATH%/include/solaris
@@ -1781,13 +1524,7 @@ unxsoli4
{
SOLAR_OJDK16PATH %JDK_PATH%
}
- pre
- {
- ILIB %PRE%/lib:%ILIB%
- SOLARINC -I. -I%PRE%/inc %SOLARINC%
- SOLARLIB -L%PRE%/lib %SOLARLIB%
- }
- pro
+ pro
{
PROSWITCH -DPRODUCT
}
@@ -1796,43 +1533,33 @@ unxsoli4
SOLAR_SOURCE_ROOT %SOURCE_ROOT%
SOURCE_ROOT_USED TRUE
}
- stl:0 IF X%STL_ROOT%X != XX
- {
- SOLAR_STLLIBPATH %STL_ROOT%$/..$/lib
- SOLAR_STLPATH %STL_ROOT%
- }
- stl:1 IF X%STL_ROOT%X == XX
- {
- SOLAR_STLPATH %SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT%$/stl
- }
- sysbaseroot
+ sysbaseroot
{
SOLAR_SYSBASE_ROOT %SYSBASE_ROOT%
}
}
- extern
+ extern
{
- DIST_ROOT
- ENV_ROOT
- HOME
- JDK_PATH
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- STL_ROOT
- SYSBASE_ROOT
- USER
+ DIST_ROOT
+ ENV_ROOT
+ HOME
+ JDK_PATH
+ LOCALINI
+ SOL_TMP
+ SOURCE_ROOT
+ SYSBASE_ROOT
+ USER
}
- order common0 bs_sourceroot envroot:0 sourceroot:0 common1 distroot:0 jdk13path:0 jdk14path:0 jdk15path:0 ojdk16path:0 sysbaseroot ca cap cax compath nativecvs common2 pro stl:1 stl:0 common jdk13 jdk14 jdk15 ojdk16 pre
- reset
+ order common0 bs_sourceroot envroot:0 sourceroot:0 common1 distroot:0 jdk14path:0 jdk15path:0 ojdk16path:0 sysbaseroot cap cax compath common2 pro common jdk14 jdk15 ojdk16
+ reset
{
- CLASSPATH
+ CLASSPATH
}
- script
+ script
{
csh
{
- 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
600: umask 002
800: rehash
850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
@@ -1840,10 +1567,10 @@ unxsoli4
900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
}
- sh
+ sh
{
400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
415: fi
600: umask 002
800: hash -r
@@ -1861,55 +1588,38 @@ unxsoli4
882: fi
}
}
- switches
+ switches
{
bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- ca
- cap
- cax
+ bsclient
+ cap
+ cax
compath STAR_COMPATH
- distroot
- envroot
- jdk13
- jdk13path
- jdk14
- jdk14path
- jdk15
- jdk15path
+ distroot
+ envroot
+ jdk14
+ jdk14path
+ jdk15
+ jdk15path
l10n L10N_framework
- nativecvs STAR_NATIVECVS
- ojdk16
- ojdk16path
- pre PRE
- pro
- sourceroot
- stl
- sysbaseroot
+ ojdk16
+ ojdk16path
+ pro
+ sourceroot
+ sysbaseroot
}
}
-unxsols4
+unxsols4
{
- environment
+ environment
{
- bs_sourceroot
+ bs_sourceroot
{
SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT_USED TRUE
}
- ca
- {
- COPYALL TRUE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOLARROOT%/etools
- PERL %SOL_TMP%$/r$/bt_solaris_sparc$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- }
- cap
+ cap
{
COPYALL TRUE
COPY_PACKED TRUE
@@ -1922,7 +1632,7 @@ unxsols4
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- cax
+ cax
{
COPYALL FALSE
DEVROOT %SOL_TMP%$/r
@@ -1934,7 +1644,7 @@ unxsols4
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- common
+ common
{
*build nice %PERL% %SOLARENV%/bin/build.pl %PROFULLSWITCH%
*build_client nice %PERL% %SOLARENV%/bin/build_client.pl
@@ -1955,14 +1665,14 @@ unxsols4
ZIPDEP %PERL% %SOLARENV%/bin/zipdep.pl
__cdpath %DRIVE_O%/%WORK_STAMP%/ooo%UPDMINOREXT%
}
- common0
+ common0
{
SOLAR_ENV_ROOT /so/env
SOLAR_LICENSE_FILE /opt/SUNWspro/license_dir/sunpro.lic,1
SOLAR_SOURCE_ROOT %DRIVE_O%
SOLAR_SYSBASE_ROOT /so/env/solaris_2.10_sparc
}
- common1
+ common1
{
COMPATH /so/env/compilers/SUNWS12_p/sparc/SUNWspro
DEVROOT %SOLAR_ENV_ROOT%
@@ -1982,7 +1692,7 @@ unxsols4
SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP%
SRC_ROOT %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%
}
- common2
+ common2
{
BUILD_TOOLS %SOLARROOT%/bt_solaris_sparc/%WORK_STAMP%/bin
COM C52
@@ -2016,7 +1726,7 @@ unxsols4
TEMP /tmp
TMP /tmp
}
- compath
+ compath
{
COMPATH %STAR_COMPATH%
}
@@ -2030,22 +1740,7 @@ unxsols4
{
SOLAR_ENV_ROOT %ENV_ROOT%
}
- jdk13
- {
- JAVA_HOME %JDK13PATH%
- JDKINC %JDK13PATH%/include:%JDK13PATH%/include/solaris
- JDKINCS -I%JDK13PATH%/include -I%JDK13PATH%/include/solaris
- JDKLIB %JDK13PATH%/jre/lib/sparc:%JDK13PATH%/lib:%JDK13PATH%/jre/lib/sparc/native_threads:%JDK13PATH%/jre/plugin/sparc:%JDK13PATH%/jre/lib/sparc/motif21
- JDKLIBS -L%JDK13PATH%/jre/lib/sparc -L%JDK13PATH%/lib -L%JDK13PATH%/jre/lib/sparc/native_threads -L%JDK13PATH%/jre/plugin/sparc -L%JDK13PATH%/jre/plugin/sparc -L%JDK13PATH%/jre/lib/sparc/motif21
- JDKPATH %JDK13PATH%/bin
- JDK_VERSION 131
- XCLASSPATH .:%JDK13PATH%/jre/lib/rt.jar:%JDK13PATH%/jre/lib/i18n.jar:%JDK13PATH%/lib/tools.jar:%JDK13PATH%/jre/lib/javaplugin.jar
- }
- jdk13path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK13PATH %JDK_PATH%
- }
- jdk14
+ jdk14
{
JAVA_HOME %JDK14PATH%
JDKINC %JDK14PATH%/include:%JDK14PATH%/include/solaris
@@ -2060,7 +1755,7 @@ unxsols4
{
SOLAR_JDK14PATH %JDK_PATH%
}
- jdk15
+ jdk15
{
JAVA_HOME %JDK15PATH%
JDKINC %JDK15PATH%/include:%JDK15PATH%/include/solaris
@@ -2075,11 +1770,7 @@ unxsols4
{
SOLAR_JDK15PATH %JDK_PATH%
}
- nativecvs
- {
- *cvs %STAR_NATIVECVS%
- }
- ojdk16
+ ojdk16
{
JAVA_HOME %OJDK16PATH%
JDKINC %OJDK16PATH%/include:%OJDK16PATH%/include/solaris
@@ -2094,13 +1785,7 @@ unxsols4
{
SOLAR_OJDK16PATH %JDK_PATH%
}
- pre
- {
- ILIB %PRE%/lib:%ILIB%
- SOLARINC -I. -I%PRE%/inc %SOLARINC%
- SOLARLIB -L%PRE%/lib %SOLARLIB%
- }
- pro
+ pro
{
PROSWITCH -DPRODUCT
}
@@ -2109,44 +1794,34 @@ unxsols4
SOLAR_SOURCE_ROOT %SOURCE_ROOT%
SOURCE_ROOT_USED TRUE
}
- stl:0 IF X%STL_ROOT%X != XX
- {
- SOLAR_STLLIBPATH %STL_ROOT%$/..$/lib
- SOLAR_STLPATH %STL_ROOT%
- }
- stl:1 IF X%STL_ROOT%X == XX
- {
- SOLAR_STLPATH %SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT%$/stl
- }
- sysbaseroot
+ sysbaseroot
{
SOLAR_SYSBASE_ROOT %SYSBASE_ROOT%
}
}
- extern
+ extern
{
- DIST_ROOT
- ENV_ROOT
- HOME
- JDK_PATH
- LM_LICENSE_FILE
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- STL_ROOT
- SYSBASE_ROOT
- USER
+ DIST_ROOT
+ ENV_ROOT
+ HOME
+ JDK_PATH
+ LM_LICENSE_FILE
+ LOCALINI
+ SOL_TMP
+ SOURCE_ROOT
+ SYSBASE_ROOT
+ USER
}
- order common0 bs_sourceroot envroot:0 sourceroot:0 common1 distroot:0 jdk13path:0 jdk14path:0 jdk15path:0 ojdk16path:0 sysbaseroot ca cap cax compath nativecvs common2 common:3 pro stl:1 stl:0 common jdk13 jdk14 jdk15 ojdk16 pre
- reset
+ order common0 bs_sourceroot envroot:0 sourceroot:0 common1 distroot:0 jdk14path:0 jdk15path:0 ojdk16path:0 sysbaseroot cap cax compath common2 common:3 pro common jdk14 jdk15 ojdk16
+ reset
{
- CLASSPATH
+ CLASSPATH
}
- script
+ script
{
csh
{
- 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
600: umask 002
800: rehash
850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
@@ -2154,10 +1829,10 @@ unxsols4
900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
}
- sh
+ sh
{
400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
415: fi
600: umask 002
800: hash -r
@@ -2175,55 +1850,38 @@ unxsols4
882: fi
}
}
- switches
+ switches
{
bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- ca
- cap
- cax
+ bsclient
+ cap
+ cax
compath STAR_COMPATH
- distroot
- envroot
- jdk13
- jdk13path
- jdk14
- jdk14path
- jdk15
- jdk15path
+ distroot
+ envroot
+ jdk14
+ jdk14path
+ jdk15
+ jdk15path
l10n L10N_framework
- nativecvs STAR_NATIVECVS
- ojdk16
- ojdk16path
- pre PRE
- pro
- sourceroot
- stl
- sysbaseroot
+ ojdk16
+ ojdk16path
+ pro
+ sourceroot
+ sysbaseroot
}
}
-unxsolu4
+unxsolu4
{
- environment
+ environment
{
- bs_sourceroot
+ bs_sourceroot
{
SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT_USED TRUE
}
- ca
- {
- COPYALL TRUE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOLARROOT%/etools
- PERL %SOL_TMP%$/r$/bt_solaris_sparc$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- }
- cap
+ cap
{
COPYALL TRUE
COPY_PACKED TRUE
@@ -2236,7 +1894,7 @@ unxsolu4
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- cax
+ cax
{
COPYALL FALSE
DEVROOT %SOL_TMP%$/r
@@ -2248,7 +1906,7 @@ unxsolu4
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- common
+ common
{
*build nice %PERL% %SOLARENV%/bin/build.pl %PROFULLSWITCH%
*build_client nice %PERL% %SOLARENV%/bin/build_client.pl
@@ -2261,7 +1919,7 @@ unxsolu4
COPYPRJ %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
DELIVER %PERL% %SOLARENV%/bin/deliver.pl
DMAKEROOT %SOLARENV%/inc/startup
- ENABLE_GNOMEVFS
+ ENABLE_GNOMEVFS
FREETYPE_CFLAGS -I%SYSBASE%/usr/sfw/include -I%SYSBASE%/usr/sfw/include/freetype2
FREETYPE_LIBS -L%SYSBASE%/usr/sfw/lib/sparcv9 -lfreetype
LIBXML_CFLAGS -I%SYSBASE%/usr/include/libxml2
@@ -2279,13 +1937,13 @@ unxsolu4
ZIPDEP %PERL% %SOLARENV%/bin/zipdep.pl
__cdpath %DRIVE_O%/%WORK_STAMP%/ooo%UPDMINOREXT%
}
- common0
+ common0
{
SOLAR_ENV_ROOT /so/env
SOLAR_SOURCE_ROOT %DRIVE_O%
SOLAR_SYSBASE_ROOT /so/env/solaris_2.10_sparc
}
- common1
+ common1
{
COMPATH /so/env/compilers/SUNWS12m1/sparc/SUNWspro
DEVROOT %SOLAR_ENV_ROOT%
@@ -2302,7 +1960,7 @@ unxsolu4
SRC_ROOT %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%
USE_SYSTEM_STL YES
}
- common2
+ common2
{
BUILD_TOOLS %SOLARROOT%/bt_solaris_sparc/%WORK_STAMP%/bin
COM C52
@@ -2331,7 +1989,7 @@ unxsolu4
TEMP /tmp
TMP /tmp
}
- compath
+ compath
{
COMPATH %STAR_COMPATH%
}
@@ -2345,7 +2003,7 @@ unxsolu4
{
SOLAR_ENV_ROOT %ENV_ROOT%
}
- jdk15
+ jdk15
{
JAVA_HOME %JDK15PATH%
JDKINC %JDK15PATH%/include:%JDK15PATH%/include/solaris
@@ -2360,17 +2018,7 @@ unxsolu4
{
SOLAR_JDK15PATH %JDK_PATH%
}
- nativecvs
- {
- *cvs %STAR_NATIVECVS%
- }
- pre
- {
- ILIB %PRE%/lib:%ILIB%
- SOLARINC -I. -I%PRE%/inc %SOLARINC%
- SOLARLIB -L%PRE%/lib %SOLARLIB%
- }
- pro
+ pro
{
PROSWITCH -DPRODUCT
}
@@ -2379,44 +2027,34 @@ unxsolu4
SOLAR_SOURCE_ROOT %SOURCE_ROOT%
SOURCE_ROOT_USED TRUE
}
- stl:0 IF X%STL_ROOT%X != XX
- {
- SOLAR_STLLIBPATH %STL_ROOT%$/..$/lib
- SOLAR_STLPATH %STL_ROOT%
- }
- stl:1 IF X%STL_ROOT%X == XX
- {
- SOLAR_STLPATH %SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT%$/stl
- }
- sysbaseroot
+ sysbaseroot
{
SOLAR_SYSBASE_ROOT %SYSBASE_ROOT%
}
}
- extern
+ extern
{
- DIST_ROOT
- ENV_ROOT
- HOME
- JDK_PATH
- LM_LICENSE_FILE
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- STL_ROOT
- SYSBASE_ROOT
- USER
+ DIST_ROOT
+ ENV_ROOT
+ HOME
+ JDK_PATH
+ LM_LICENSE_FILE
+ LOCALINI
+ SOL_TMP
+ SOURCE_ROOT
+ SYSBASE_ROOT
+ USER
}
- order common0 bs_sourceroot envroot:0 sourceroot:0 common1 distroot:0 jdk15path:0 sysbaseroot ca cap cax compath nativecvs common2 common:3 pro stl:1 stl:0 common jdk15 pre
- reset
+ order common0 bs_sourceroot envroot:0 sourceroot:0 common1 distroot:0 jdk15path:0 sysbaseroot cap cax compath common2 common:3 pro common jdk15
+ reset
{
- CLASSPATH
+ CLASSPATH
}
- script
+ script
{
- csh
+ csh
{
- 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
600: umask 002
800: rehash
850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
@@ -2424,10 +2062,10 @@ unxsolu4
900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
}
- sh
+ sh
{
400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
415: fi
600: umask 002
800: hash -r
@@ -2445,49 +2083,34 @@ unxsolu4
882: fi
}
}
- switches
+ switches
{
bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- ca
- cap
- cax
+ bsclient
+ cap
+ cax
compath STAR_COMPATH
- distroot
- envroot
- jdk15
- jdk15path
+ distroot
+ envroot
+ jdk15
+ jdk15path
l10n L10N_framework
- nativecvs STAR_NATIVECVS
- pre PRE
- pro
- sourceroot
- stl
- sysbaseroot
+ pro
+ sourceroot
+ sysbaseroot
}
}
-unxubti8
+unxubti8
{
- environment
+ environment
{
- bs_sourceroot
+ bs_sourceroot
{
SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT_USED TRUE
}
- ca
- {
- COPYALL TRUE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOLARROOT%/etools
- PERL %SOL_TMP%$/r$/bt_linux_libc2.11$/%WORK_STAMP%$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- }
- cap
+ cap
{
COPYALL TRUE
COPY_PACKED TRUE
@@ -2500,7 +2123,7 @@ unxubti8
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- cax
+ cax
{
COPYALL FALSE
DEVROOT %SOL_TMP%$/r
@@ -2512,7 +2135,7 @@ unxubti8
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- common
+ common
{
*build nice %PERL% %SOLARENV%/bin/build.pl %PROFULLSWITCH%
*build_client nice %PERL% %SOLARENV%/bin/build_client.pl
@@ -2533,12 +2156,12 @@ unxubti8
SOLAR_JAVA TRUE
ZIPDEP %PERL% %SOLARENV%/bin/zipdep.pl
}
- common0
+ common0
{
SOLAR_ENV_ROOT /so/env
SOLAR_SOURCE_ROOT %DRIVE_O%
}
- common1
+ common1
{
AGG_VERSION 2300
ANT /usr/share/ant/bin/ant
@@ -2579,7 +2202,7 @@ unxubti8
XINERAMA_LINK dynamic
ZIPDEP zipdep.pl
}
- common2
+ common2
{
ENABLE_GRAPHITE TRUE
BUILD_TOOLS %SOLARROOT%/bt_linux_libc2.11/%WORK_STAMP%/bin
@@ -2602,11 +2225,11 @@ unxubti8
TEMP /tmp
TMP /tmp
}
- compath
+ compath
{
COMPATH /usr/bin
}
- debug
+ debug
{
LD_LIBRARY_PATH %SOLARROOT%/solenv/unxlngi4/lib/debug:%LD_LIBRARY_PATH%
}
@@ -2619,7 +2242,7 @@ unxubti8
{
SOLAR_ENV_ROOT %ENV_ROOT%
}
- jdk15
+ jdk15
{
JAVA_HOME %OJDK16PATH%
JDKINC %OJDK16PATH%/include:%OJDK16PATH%/include/linux
@@ -2633,11 +2256,7 @@ unxubti8
{
SOLAR_JDK15PATH %JDK_PATH%
}
- nativecvs
- {
- *cvs %STAR_NATIVECVS%
- }
- ojdk16
+ ojdk16
{
JAVA_HOME %OJDK16PATH%
JDKINC %OJDK16PATH%/include:%OJDK16PATH%/include/linux
@@ -2651,17 +2270,11 @@ unxubti8
{
SOLAR_OJDK16PATH %JDK_PATH%
}
- pre
- {
- LD_LIBRARY_PATH %PRE%/lib:%LD_LIBRARY_PATH%
- SOLARINC -I. -I%PRE%/inc %SOLARINC%
- SOLARLIB -L../lib -L%PRE%/lib %SOLARLIB% -L/usr/X11R6/lib
- }
- pro
+ pro
{
PROSWITCH -DPRODUCT
}
- shell
+ shell
{
USE_SHELL STAR_USE_SHELL
}
@@ -2670,109 +2283,82 @@ unxubti8
SOLAR_SOURCE_ROOT %SOURCE_ROOT%
SOURCE_ROOT_USED TRUE
}
- stl:0 IF X%STL_ROOT%X != XX
- {
- SOLAR_STLLIBPATH %STL_ROOT%$/..$/lib
- SOLAR_STLPATH %STL_ROOT%
- }
- stl:1 IF X%STL_ROOT%X == XX
- {
- SOLAR_STLPATH %SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT%$/stl
- }
}
- extern
+ extern
{
- DIST_ROOT
- ENV_ROOT
- HOME
- JDK_PATH
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- STL_ROOT
- USER
+ DIST_ROOT
+ ENV_ROOT
+ HOME
+ JDK_PATH
+ LOCALINI
+ SOL_TMP
+ SOURCE_ROOT
+ USER
}
- order common0 bs_sourceroot envroot:0 sourceroot:0 common1 ojdk16path:0 distroot:0 nativecvs ca cap cax compath common2 pro stl:0 stl:1 common jdk15 ojdk16 debug pre
- reset
+ order common0 bs_sourceroot envroot:0 sourceroot:0 common1 ojdk16path:0 distroot:0 cap cax compath common2 pro common jdk15 ojdk16 debug
+ reset
{
- CLASSPATH
- COPYALL
- ENABLE_CRASHDUMP
+ CLASSPATH
+ COPYALL
+ ENABLE_CRASHDUMP
}
- restore
+ restore
{
- INCLUDE
+ INCLUDE
}
- script
+ script
{
- csh
+ csh
{
- 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
600: umask 002
800: rehash
}
- sh
+ sh
{
400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
415: fi
600: umask 002
800: hash -r
882: fi
}
}
- switches
+ switches
{
bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- ca
- cap
- cax
- debug
- distroot
- envroot
- jdk15
+ bsclient
+ cap
+ cax
+ debug
+ distroot
+ envroot
+ jdk15
l10n L10N_framework
- nativecvs STAR_NATIVECVS
- ojdk16
- ojdk16path
- pre PRE
- pro
- sourceroot
+ ojdk16
+ ojdk16path
+ pro
+ sourceroot
}
}
-wntgcci1
+wntgcci1
{
- environment
+ environment
{
- bs_sourceroot
+ bs_sourceroot
{
SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT_USED TRUE
}
- ca
- {
- COMPATH %SOL_TMP%$/r$/MinGW
- COPYALL TRUE
- DEVROOT %SOL_TMP%$/r
- FSDK %SOL_TMP%$/r$/msvc7net$/FrameworkSDK
- PCLEAN_PATH %SOLARROOT%$/etw
- PERL %SOL_TMP%$/r$/btw$/perl$/bin$/perl
- PSDK %SOL_TMP%$/r$/MinGW$/w32api
- SHARED_COM_SDK_PATH %SOL_TMP%$/r$/msvc7net$/Common7$/ide
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- }
- cap
+ cap
{
COMPATH %SOL_TMP%$/r$/MinGW
COPYALL TRUE
COPY_PACKED TRUE
DEVROOT %SOL_TMP%$/r
FSDK %SOL_TMP%$/r$/msvc7net$/FrameworkSDK
+ NSIS_PATH %SOL_TMP%$/NSIS_242_unicode
PCLEAN_PATH %SOLARROOT%$/etw
PERL %SOL_TMP%$/r$/btw$/perl$/bin$/perl
PSDK %SOL_TMP%$/r$/MinGW$/w32api
@@ -2783,11 +2369,12 @@ wntgcci1
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- cax
+ cax
{
COMPATH %SOL_TMP%$/r$/MinGW
COPYALL FALSE
FSDK %SOL_TMP%$/r$/msvc7net$/FrameworkSDK
+ NSIS_PATH %SOL_TMP%$/NSIS_242_unicode
PCLEAN_PATH %SOL_TMP%$/r$/etw
PERL %SOL_TMP%$/r$/btw$/perl$/bin$/perl
PSDK %SOL_TMP%$/r$/MinGW$/w32api
@@ -2798,7 +2385,7 @@ wntgcci1
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- common
+ common
{
*build %PERL% %SOLARENV%$/bin$/build.pl %PROFULLSWITCH%
*build_client %PERL% %SOLARENV%$/bin$/build_client.pl
@@ -2810,7 +2397,7 @@ wntgcci1
*r cd %SOLARROOT%
*s cd %SOLARVERSION%
*zipdep %PERL% %SOLARENV%$/bin$/zipdep.pl
- BIG_SVX
+ BIG_SVX
COPYPRJ %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
DELIVER %PERL% %SOLARENV%$/bin$/deliver.pl
DMAKEROOT %SOLARENV%$/inc$/startup
@@ -2827,13 +2414,13 @@ wntgcci1
XCLASSPATH .
ZIPDEP %PERL% %SOLARENV%$/bin$/zipdep.pl
}
- common0
+ common0
{
SOLAR_ENV_ROOT r:
SOLAR_SOURCE_ROOT o:
USE_SHELL bash
}
- common1
+ common1
{
COMPATH %SOLAR_ENV_ROOT%$/MinGW
# FSDK %SOLAR_ENV_ROOT%$/msvc7net$/FrameworkSDK
@@ -2852,7 +2439,7 @@ wntgcci1
SO_PACK %SOLAR_ENV_ROOT%$/pack$/%WORK_STAMP%
SRC_ROOT %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%
}
- common2
+ common2
{
ENABLE_GRAPHITE TRUE
BUILD_TOOLS %SOLARROOT%$/btw$/%WORK_STAMP%
@@ -2881,7 +2468,7 @@ wntgcci1
SORT sort -T %TMP%
use_shl_versions TRUE
}
- compath
+ compath
{
COMPATH %STAR_COMPATH%
}
@@ -2895,26 +2482,7 @@ wntgcci1
{
SOLAR_ENV_ROOT %ENV_ROOT%
}
- jdk13
- {
- HOMEDRIVE %DEVROOT%
- HOMEPATH $/jdk131
- JAVAHOME %JDK13PATH%
- JAVA_HOME %JDK13PATH%
- JDKINC %JDK13PATH%$/include$:%JDK13PATH%$/include$/win32
- JDKINCS -I%JDK13PATH%$/include -I%JDK13PATH%$/include$/win32
- JDKLIB %JDK13PATH%$/lib
- JDKLIBS %JDK13PATH%$/lib
- JDKPATH %JDK13PATH%$/bin
- JDK_VERSION 131
- JREPATH %JDK13PATH%$/jre$/bin$/hotspot
- XCLASSPATH .$:%JDK13PATH%$/jre$/lib$/rt.jar$:%JDK13PATH%$/lib$/tools.jar
- }
- jdk13path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK13PATH %JDK_PATH%
- }
- jdk14
+ jdk14
{
HOMEDRIVE %DEVROOT%
HOMEPATH $/jdk141
@@ -2933,7 +2501,7 @@ wntgcci1
{
SOLAR_JDK14PATH %JDK_PATH%
}
- jdk15
+ jdk15
{
HOMEDRIVE %DEVROOT%
HOMEPATH $/jdk151
@@ -2952,16 +2520,11 @@ wntgcci1
{
SOLAR_JDK15PATH %JDK_PATH%
}
- pre
- {
- ILIB %PRE%$/lib$:%ILIB%
- LIB %PRE%$/lib$:%LIB%
- }
- psdk
+ psdk
{
PSDK %STAR_PSDK%
}
- shell
+ shell
{
USE_SHELL STAR_USE_SHELL
}
@@ -2970,42 +2533,32 @@ wntgcci1
SOLAR_SOURCE_ROOT %SOURCE_ROOT%
SOURCE_ROOT_USED TRUE
}
- stl:0 IF X%STL_ROOT%X != XX
- {
- SOLAR_STLLIBPATH %STL_ROOT%$/..$/lib
- SOLAR_STLPATH %STL_ROOT%
- }
- stl:1 IF X%STL_ROOT%X == XX
- {
- SOLAR_STLPATH %SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT%$/stl
- }
}
- extern
+ extern
{
- COMSPEC
- DIST_ROOT
- ENV_ROOT
- JDK_PATH
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- STL_ROOT
+ COMSPEC
+ DIST_ROOT
+ ENV_ROOT
+ JDK_PATH
+ LOCALINI
+ SOL_TMP
+ SOURCE_ROOT
}
- order common0 bs_sourceroot envroot:0 sourceroot:0 common1 distroot:0 ca cap cax psdk compath common2 jdk13path:0 jdk14path:0 jdk15path:0 stl:1 stl:0 common jdk13 jdk14 jdk15 pre
- reset
+ order common0 bs_sourceroot envroot:0 sourceroot:0 common1 distroot:0 cap cax psdk compath common2 jdk14path:0 jdk15path:0 common jdk14 jdk15
+ reset
{
- COPYALL
- NSIS_PATH
- SOLAR_ENV_ROOT
- WST
+ COPYALL
+ NSIS_PATH
+ SOLAR_ENV_ROOT
+ WST
}
- script
+ script
{
- csh
+ csh
{
150: setenv MYENV_PATH $PATH
160: setenv PATH $SSX_PATH
- 200: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/btw/perl/bin/perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 200: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/btw/perl/bin/perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
260: setenv PATH $MYENV_PATH
270: unsetenv MYENV_PATH
850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
@@ -3013,14 +2566,14 @@ wntgcci1
900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
}
- sh
+ sh
{
150: export MYENV_PATH=$PATH
160: export PATH=$SSX_PATH
260: export PATH=$MYENV_PATH
270: unset MYENV_PATH
400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/btw/perl/bin/perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 410: $SOLAR_ENV_ROOT/btw/perl/bin/perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
415: fi
850: if [ "0$SO_GEN_ERROR" -eq 0 ]; then
851: export SO_GEN_ERROR
@@ -3036,59 +2589,37 @@ wntgcci1
882: fi
}
}
- switches
+ switches
{
bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- ca
- cap
- cax
+ bsclient
+ cap
+ cax
compath STAR_COMPATH
- distroot
- envroot
- jdk13
- jdk13path
- jdk14
- jdk14path
- jdk15
- jdk15path
+ distroot
+ envroot
+ jdk14
+ jdk14path
+ jdk15
+ jdk15path
l10n L10N_framework
- pre PRE
- pro
+ pro
psdk STAR_PSDK
shell STAR_USE_SHELL
- sourceroot
- stl
+ sourceroot
}
}
-wntmsci11
+wntmsci11
{
- environment
+ environment
{
- bs_sourceroot
+ bs_sourceroot
{
SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT %SOURCE_ROOT_TMP%
SOURCE_ROOT_USED TRUE
}
- ca
- {
- COMPATH %SOL_TMP%$/r$/msvc8p
- COMPROOT %SOL_TMP%$/r$/msvc8p
- COPYALL TRUE
- DEVROOT %SOL_TMP%$/r
- DSDK %SOL_TMP%$/r$/msvc8p$/DirectXSDK
- FSDK %SOL_TMP%$/r$/msvc8p$/Sdk$/v2.0
- PCLEAN_PATH %SOLARROOT%$/etw
- PERL %SOL_TMP%$/r$/btw$/perl$/bin$/perl
- PSDK %SOL_TMP%$/r$/msvc8p$/PlatformSDK
- SHARED_COM_SDK_PATH %SOL_TMP%$/r$/msvc8p$/Common7$/ide
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- }
- cap
+ cap
{
COMPATH %SOL_TMP%$/r$/msvc8p
COMPROOT %SOL_TMP%$/r$/msvc8p
@@ -3107,7 +2638,7 @@ wntmsci11
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- cax
+ cax
{
COMPATH %SOL_TMP%$/r$/msvc8p
COMPROOT %SOL_TMP%$/r$/msvc8p
@@ -3124,7 +2655,7 @@ wntmsci11
SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
}
- common
+ common
{
*build %PERL% %SOLARENV%$/bin$/build.pl %PROFULLSWITCH%
*build_client %PERL% %SOLARENV%$/bin$/build_client.pl
@@ -3136,7 +2667,7 @@ wntmsci11
*r cdd %SOLARROOT%
*s cdd %SOLARVERSION%
*zipdep %PERL% %SOLARENV%$/bin$/zipdep.pl
- BIG_SVX
+ BIG_SVX
BISON_PKGDATADIR %BUILD_TOOLS%$/share$/bison
COPYPRJ %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
DELIVER %PERL% %SOLARENV%$/bin$/deliver.pl
@@ -3159,14 +2690,14 @@ wntmsci11
XCLASSPATH .
ZIPDEP %PERL% %SOLARENV%$/bin$/zipdep.pl
}
- common0
+ common0
{
BS_ROOT n:
SOLAR_ENV_ROOT r:
SOLAR_SOURCE_ROOT o:
USE_SHELL 4nt
}
- common1
+ common1
{
COMPATH %SOLAR_ENV_ROOT%$/msvc8p
COMPROOT %SOLAR_ENV_ROOT%$/msvc8p
@@ -3185,7 +2716,7 @@ wntmsci11
SO_PACK %SOLAR_ENV_ROOT%$/pack$/%WORK_STAMP%
SRC_ROOT %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%
}
- common2
+ common2
{
ENABLE_GRAPHITE TRUE
BUILD_TOOLS %SOLARROOT%$/btw$/%WORK_STAMP%
@@ -3217,7 +2748,7 @@ wntmsci11
SORT sort -T %TMP%
use_shl_versions TRUE
}
- compath
+ compath
{
COMPATH %STAR_COMPATH%
}
@@ -3231,26 +2762,7 @@ wntmsci11
{
SOLAR_ENV_ROOT %ENV_ROOT%
}
- jdk13
- {
- HOMEDRIVE %DEVROOT%
- HOMEPATH $/jdk131
- JAVAHOME %JDK13PATH%
- JAVA_HOME %JDK13PATH%
- JDKINC %JDK13PATH%$/include$:%JDK13PATH%$/include$/win32
- JDKINCS -I%JDK13PATH%$/include -I%JDK13PATH%$/include$/win32
- JDKLIB %JDK13PATH%$/lib
- JDKLIBS %JDK13PATH%$/lib
- JDKPATH %JDK13PATH%$/bin
- JDK_VERSION 131
- JREPATH %JDK13PATH%$/jre$/bin$/hotspot
- XCLASSPATH .$:%JDK13PATH%$/jre$/lib$/rt.jar$:%JDK13PATH%$/lib$/tools.jar
- }
- jdk13path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK13PATH %JDK_PATH%
- }
- jdk14
+ jdk14
{
HOMEDRIVE %DEVROOT%
HOMEPATH $/jdk141
@@ -3269,7 +2781,7 @@ wntmsci11
{
SOLAR_JDK14PATH %JDK_PATH%
}
- jdk15
+ jdk15
{
HOMEDRIVE %DEVROOT%
HOMEPATH $/jdk151
@@ -3288,16 +2800,11 @@ wntmsci11
{
SOLAR_JDK15PATH %JDK_PATH%
}
- pre
- {
- ILIB %PRE%$/lib$:%ILIB%
- LIB %PRE%$/lib$:%LIB%
- }
- psdk
+ psdk
{
PSDK %STAR_PSDK%
}
- shell
+ shell
{
use_shell STAR_USE_SHELL
}
@@ -3306,105 +2813,68 @@ wntmsci11
SOLAR_SOURCE_ROOT %SOURCE_ROOT%
SOURCE_ROOT_USED TRUE
}
- stl:0 IF X%STL_ROOT%X != XX
- {
- SOLAR_STLLIBPATH %STL_ROOT%$/..$/lib
- SOLAR_STLPATH %STL_ROOT%
- }
- stl:1 IF X%STL_ROOT%X == XX
- {
- SOLAR_STLPATH %SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT%$/stl
- }
}
- extern
+ extern
{
- COMSPEC
- DIST_ROOT
- ENV_ROOT
- JDK_PATH
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- STL_ROOT
+ COMSPEC
+ DIST_ROOT
+ ENV_ROOT
+ JDK_PATH
+ LOCALINI
+ SOL_TMP
+ SOURCE_ROOT
}
- order common0 bs_sourceroot envroot:0 sourceroot:0 common1 distroot:0 ca cap cax psdk compath common2 jdk13path:0 jdk14path:0 jdk15path:0 stl:1 stl:0 common jdk13 jdk14 jdk15 pre
- reset
+ order common0 bs_sourceroot envroot:0 sourceroot:0 common1 distroot:0 cap cax psdk compath common2 jdk14path:0 jdk15path:0 common jdk14 jdk15
+ reset
{
- COPYALL
- SOLAR_ENV_ROOT
- WST
+ COPYALL
+ SOLAR_ENV_ROOT
+ WST
}
- script
+ script
{
- post
+ post
{
150: set MYENV_PATH=%PATH
160: set PATH=%SSX_PATH
- 200: if "%COPYALL%"=="TRUE" %SOLAR_ENV_ROOT%\btw\perl\bin\perl %SOLAR_ENV_ROOT%\etools\lucopy.pl -all %ZIPSOURCE% %BTARGET% $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 200: if "%COPYALL%"=="TRUE" %SOLAR_ENV_ROOT%\btw\perl\bin\perl %SOLAR_ENV_ROOT%\etools\lucopy.pl -all %BTARGET% $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
260: set PATH=%MYENV_PATH
270: unset MYENV_PATH
400: if "%SO_GEN_ERROR%" NE "" @echo %SO_GEN_ERROR%
401: if "%SO_GEN_ERROR2%" NE "" echo %SO_GEN_ERROR2%
}
}
- switches
+ switches
{
bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- ca
- cap
- cax
+ bsclient
+ cap
+ cax
compath STAR_COMPATH
- distroot
- envroot
- jdk13
- jdk13path
- jdk14
- jdk14path
- jdk15
- jdk15path
+ distroot
+ envroot
+ jdk14
+ jdk14path
+ jdk15
+ jdk15path
l10n L10N_framework
- pre PRE
- pro
+ pro
psdk STAR_PSDK
shell STAR_USE_SHELL
- sourceroot
- stl
+ sourceroot
}
}
-wntmsci12
+wntmsci12
{
- environment
+ environment
{
- bs_sourceroot
+ bs_sourceroot
{
SOLAR_SOURCE_ROOT $dp(%SOURCE_ROOT_TMP%)
SOURCE_ROOT $dp(%SOURCE_ROOT_TMP%)
SOURCE_ROOT_USED TRUE
}
- ca
- {
- BUILD_TOOLS %SOL_TMP%$/btw$/%BTOOLDIR%
- COMPATH %SOL_TMP%$/r$/msvc9p
- COMPROOT %SOL_TMP%$/r$/msvc9p
- COPYALL TRUE
- DEVROOT %SOL_TMP%$/r
- DSDK %SOL_TMP%$/r$/msvc9p$/DirectXSDK
- ENV_TOOLS %SOL_TMP%$/etw$/%WORK_STAMP%
- FSDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v3.5
- F20SDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v2.0
- PCLEAN_PATH %SOLARROOT%$/etw
- PERL %SOL_TMP%$/r$/%PERLDIR%
- PSDK %SOL_TMP%$/r$/msvc9p$/PlatformSDK$/V6.1
- SHARED_COM_SDK_PATH %SOL_TMP%$/r$/msvc9p$/Common7$/IDE
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
-# TOUCH %SOL_TMP%$/r$/btw$/%BTOOLDIR%$/touch.exe
-
- }
- cap
+ cap
{
BUILD_TOOLS %SOL_TMP%$/btw$/%BTOOLDIR%
COMPATH %SOL_TMP%$/r$/msvc9p
@@ -3416,6 +2886,7 @@ wntmsci12
ENV_TOOLS %SOL_TMP%$/etw$/%WORK_STAMP%
FSDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v3.5
F20SDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v2.0
+ NSIS_PATH %SOL_TMP%$/NSIS_242_unicode
PCLEAN_PATH %SOLARROOT%$/etw
PERL %SOL_TMP%$/r$/%PERLDIR%
PSDK %SOL_TMP%$/r$/msvc9p$/PlatformSDK$/V6.1
@@ -3428,7 +2899,7 @@ wntmsci12
# TOUCH %SOL_TMP%$/r$/btw$/%BTOOLDIR%$/touch.exe
}
- cax
+ cax
{
BUILD_TOOLS %SOL_TMP%$/btw$/%BTOOLDIR%
COMPATH %SOL_TMP%$/r$/msvc9p
@@ -3438,6 +2909,7 @@ wntmsci12
ENV_TOOLS %SOL_TMP%$/etw$/%WORK_STAMP%
FSDK %COMPATH%$/Sdk$/v3.5
F20SDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v2.0
+ NSIS_PATH %SOL_TMP%$/NSIS_242_unicode
PCLEAN_PATH %SOL_TMP%$/r$/etw
PERL %SOL_TMP%$/r$/%PERLDIR%
PSDK %COMPATH%$/PlatformSDK$/V6.1
@@ -3449,7 +2921,7 @@ wntmsci12
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
# TOUCH %SOL_TMP%$/r$/btw$/%BTOOLDIR%$/touch.exe
}
- common
+ common
{
*build %PERL% %SOLARENV%$/bin$/build.pl %PROFULLSWITCH%
*build_client %PERL% %SOLARENV%$/bin$/build_client.pl
@@ -3462,7 +2934,7 @@ wntmsci12
*s cd %SOLARVERSION%
*zipdep %PERL% %SOLARENV%$/bin$/zipdep.pl
*z_ooo %PERL% %SOLARENV%$/bin$/z_ooo.pl
- BIG_SVX
+ BIG_SVX
BISON_PKGDATADIR %BUILD_TOOLS%$/share$/bison
COPYPRJ %PERL% %COMMON_ENV_TOOLS%$/copyprj.pl
CXX_X64_BINARY %COMPROOT%$/bin$/x86_amd64$/cl.exe
@@ -3507,7 +2979,7 @@ wntmsci12
{
PERL perl
}
- common1
+ common1
{
COMPATH %SOLAR_ENV_ROOT%$/msvc9p
COMPROOT %SOLAR_ENV_ROOT%$/msvc9p
@@ -3530,7 +3002,7 @@ wntmsci12
# TEMP $dp(%TEMP%)
# TMP $dp(%TMP%)
}
- common2
+ common2
{
ENABLE_GRAPHITE TRUE
BUILD_TOOLS %SOLARROOT%$/btw$/%BTOOLDIR%
@@ -3569,7 +3041,7 @@ wntmsci12
{
SHIPDRIVE %BS_ROOT%$/ship$/install
}
- compath
+ compath
{
COMPATH $dp(%STAR_COMPATH%)
}
@@ -3583,26 +3055,7 @@ wntmsci12
{
SOLAR_ENV_ROOT $dp(%ENV_ROOT%)
}
- jdk13
- {
-# HOMEDRIVE %DEVROOT%
-# HOMEPATH $/jdk131
- JAVAHOME %JDK13PATH%
- JAVA_HOME %JDK13PATH%
- JDKINC %JDK13PATH%$/include;%JDK13PATH%$/include$/win32
- JDKINCS -I%JDK13PATH%$/include -I%JDK13PATH%$/include$/win32
- JDKLIB %JDK13PATH%$/lib
- JDKLIBS %JDK13PATH%$/lib
- JDKPATH %JDK13PATH%$/bin
- JDK_VERSION 131
- JREPATH %JDK13PATH%$/jre$/bin$/hotspot
- XCLASSPATH .;%JDK13PATH%$/jre$/lib$/rt.jar;%JDK13PATH%$/lib$/tools.jar
- }
- jdk13path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK13PATH $dp(%JDK_PATH%)
- }
- jdk14
+ jdk14
{
# HOMEDRIVE %DEVROOT%
# HOMEPATH $/jdk141
@@ -3621,7 +3074,7 @@ wntmsci12
{
SOLAR_JDK14PATH $dp(%JDK_PATH%)
}
- jdk15
+ jdk15
{
# HOMEDRIVE %DEVROOT%
# HOMEPATH $/jdk151
@@ -3640,11 +3093,7 @@ wntmsci12
{
SOLAR_JDK15PATH $dp(%JDK_PATH%)
}
- nojava
- {
- DISABLE_JAVA TRUE
- }
- ojdk16
+ ojdk16
{
# HOMEDRIVE %DEVROOT%
# HOMEPATH $/openjdk-6-b08-windows-i586
@@ -3662,16 +3111,11 @@ wntmsci12
{
SOLAR_OJDK16PATH $dp(%JDK_PATH%)
}
- pre
- {
- ILIB %PRE%$/lib;%ILIB%
- LIB %PRE%$/lib;%LIB%
- }
- pro
+ pro
{
RES_ENUS TRUE
}
- psdk
+ psdk
{
PSDK $dp(%STAR_PSDK%)
}
@@ -3680,59 +3124,49 @@ wntmsci12
SOLAR_SOURCE_ROOT $dp(%SOURCE_ROOT%)
SOURCE_ROOT_USED TRUE
}
- stl:0 IF X%STL_ROOT%X != XX
- {
- SOLAR_STLLIBPATH $dp(%STL_ROOT%$/..$/lib)
- SOLAR_STLPATH $dp(%STL_ROOT%)
- }
- stl:1 IF X%STL_ROOT%X == XX
- {
- SOLAR_STLPATH %SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT%$/stl
- }
- tmp
+ tmp
{
SOL_TMP $dp(%SOL_TMP_DIR%)
}
}
- extern
+ extern
{
- COMSPEC
- DIST_ROOT
- ENV_ROOT
- JDK_PATH
- LOCALINI
+ COMSPEC
+ DIST_ROOT
+ ENV_ROOT
+ JDK_PATH
+ LOCALINI
OSTYPE
- $dp(SOL_TMP)
- $dp(SOURCE_ROOT)
- $dp(STL_ROOT)
+ $dp(SOL_TMP)
+ $dp(SOURCE_ROOT)
$dp(TMP)
$dp(TEMP)
}
- order nojava common0 bs_sourceroot tmp envroot:0 sourceroot:0 pro common1 distroot:0 ca cap cax common02 psdk compath common2 common:3 jdk13path:0 jdk14path:0 jdk15path:0 ojdk16path:0 stl:1 stl:0 common jdk13 jdk14 jdk15 ojdk16 pre
- reset
- {
- COPYALL
- CXX_X64_BINARY
- DB2IMP
- GCRINC
- GCRLIB
- GCRPATH
- LIBMGR_X64_BINARY
- LINK_X64_BINARY
- NSIS_PATH
- OLD_CHAOS
+ order common0 bs_sourceroot tmp envroot:0 sourceroot:0 pro common1 distroot:0 cap cax common02 psdk compath common2 common:3 jdk14path:0 jdk15path:0 ojdk16path:0 common jdk14 jdk15 ojdk16
+ reset
+ {
+ COPYALL
+ CXX_X64_BINARY
+ DB2IMP
+ GCRINC
+ GCRLIB
+ GCRPATH
+ LIBMGR_X64_BINARY
+ LINK_X64_BINARY
+ NSIS_PATH
+ OLD_CHAOS
PERLDIR
- SOLAR_ENV_ROOT
- TFDEF
- TFDIR
- WST
+ SOLAR_ENV_ROOT
+ TFDEF
+ TFDIR
+ WST
}
- script
+ script
{
sh
{
400: if [ $COPYALL ]; then
- 410: perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 410: perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
415: fi
600: umask 002
800: hash -r
@@ -3750,68 +3184,40 @@ wntmsci12
882: fi
}
}
- switches
+ switches
{
bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- ca
- cap
- cax
+ bsclient
+ cap
+ cax
compath STAR_COMPATH
- distroot
- envroot
- jdk13
- jdk13path
- jdk14
- jdk14path
- jdk15
- jdk15path
+ distroot
+ envroot
+ jdk14
+ jdk14path
+ jdk15
+ jdk15path
l10n L10N_framework
- nojava
- ojdk16
- ojdk16path
- pre PRE
- pro
+ ojdk16
+ ojdk16path
+ pro
psdk STAR_PSDK
shell STAR_USE_SHELL
- sourceroot
- stl
+ sourceroot
tmp SOL_TMP_DIR
}
}
-wntmsci13
+wntmsci13
{
- environment
+ environment
{
- bs_sourceroot
+ bs_sourceroot
{
SOLAR_SOURCE_ROOT $dp(%SOURCE_ROOT_TMP%)
SOURCE_ROOT $dp(%SOURCE_ROOT_TMP%)
SOURCE_ROOT_USED TRUE
}
- ca
- {
- BUILD_TOOLS %SOL_TMP%$/btw$/%BTOOLDIR%
- COMPATH %SOL_TMP%$/r$/msvc9p
- COMPROOT %SOL_TMP%$/r$/msvc9p
- COPYALL TRUE
- DEVROOT %SOL_TMP%$/r
- DSDK %SOL_TMP%$/r$/msvc9p$/DirectXSDK
- ENV_TOOLS %SOL_TMP%$/etw$/%WORK_STAMP%
- FSDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v3.5
- F20SDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v2.0
- PCLEAN_PATH %SOLARROOT%$/etw
- PERL %SOL_TMP%$/r$/%PERLDIR%
- PSDK %SOL_TMP%$/r$/msvc9p$/PlatformSDK$/V6.1
- SHARED_COM_SDK_PATH %SOL_TMP%$/r$/msvc9p$/Common7$/IDE
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
-# TOUCH %SOL_TMP%$/r$/btw$/%BTOOLDIR%$/touch.exe
-
- }
- cap
+ cap
{
BUILD_TOOLS %SOL_TMP%$/btw$/%BTOOLDIR%
COMPATH %SOL_TMP%$/r$/msvc9p
@@ -3823,6 +3229,7 @@ wntmsci13
ENV_TOOLS %SOL_TMP%$/etw$/%WORK_STAMP%
FSDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v3.5
F20SDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v2.0
+ NSIS_PATH %SOL_TMP%$/NSIS_242_unicode
PCLEAN_PATH %SOLARROOT%$/etw
PERL %SOL_TMP%$/r$/%PERLDIR%
PSDK %SOL_TMP%$/r$/msvc9p$/PlatformSDK$/V6.1
@@ -3835,7 +3242,7 @@ wntmsci13
# TOUCH %SOL_TMP%$/r$/btw$/%BTOOLDIR%$/touch.exe
}
- cax
+ cax
{
BUILD_TOOLS %SOL_TMP%$/btw$/%BTOOLDIR%
COMPATH %SOL_TMP%$/r$/msvc9p
@@ -3845,6 +3252,7 @@ wntmsci13
ENV_TOOLS %SOL_TMP%$/etw$/%WORK_STAMP%
FSDK %COMPATH%$/Sdk$/v3.5
F20SDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v2.0
+ NSIS_PATH %SOL_TMP%$/NSIS_242_unicode
PCLEAN_PATH %SOL_TMP%$/r$/etw
PERL %SOL_TMP%$/r$/%PERLDIR%
PSDK %COMPATH%$/PlatformSDK$/V6.1
@@ -3856,7 +3264,7 @@ wntmsci13
SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
# TOUCH %SOL_TMP%$/r$/btw$/%BTOOLDIR%$/touch.exe
}
- common
+ common
{
*build %PERL% %SOLARENV%$/bin$/build.pl %PROFULLSWITCH%
*build_client %PERL% %SOLARENV%$/bin$/build_client.pl
@@ -3869,7 +3277,7 @@ wntmsci13
*s cd %SOLARVERSION%
*zipdep %PERL% %SOLARENV%$/bin$/zipdep.pl
*z_ooo %PERL% %SOLARENV%$/bin$/z_ooo.pl
- BIG_SVX
+ BIG_SVX
BISON_PKGDATADIR %BUILD_TOOLS%$/share$/bison
COPYPRJ %PERL% %COMMON_ENV_TOOLS%$/copyprj.pl
CXX_X64_BINARY %COMPROOT%$/bin$/x86_amd64$/cl.exe
@@ -3914,7 +3322,7 @@ wntmsci13
{
PERL perl
}
- common1
+ common1
{
COMPATH %SOLAR_ENV_ROOT%$/msvc9p
COMPROOT %SOLAR_ENV_ROOT%$/msvc9p
@@ -3937,7 +3345,7 @@ wntmsci13
# TEMP $dp(%TEMP%)
# TMP $dp(%TMP%)
}
- common2
+ common2
{
ENABLE_GRAPHITE TRUE
BUILD_TOOLS %SOLARROOT%$/btw$/%BTOOLDIR%
@@ -3976,7 +3384,7 @@ wntmsci13
{
SHIPDRIVE %BS_ROOT%$/ship$/install
}
- compath
+ compath
{
COMPATH $dp(%STAR_COMPATH%)
}
@@ -3990,26 +3398,7 @@ wntmsci13
{
SOLAR_ENV_ROOT $dp(%ENV_ROOT%)
}
- jdk13
- {
-# HOMEDRIVE %DEVROOT%
-# HOMEPATH $/jdk131
- JAVAHOME %JDK13PATH%
- JAVA_HOME %JDK13PATH%
- JDKINC %JDK13PATH%$/include;%JDK13PATH%$/include$/win32
- JDKINCS -I%JDK13PATH%$/include -I%JDK13PATH%$/include$/win32
- JDKLIB %JDK13PATH%$/lib
- JDKLIBS %JDK13PATH%$/lib
- JDKPATH %JDK13PATH%$/bin
- JDK_VERSION 131
- JREPATH %JDK13PATH%$/jre$/bin$/hotspot
- XCLASSPATH .;%JDK13PATH%$/jre$/lib$/rt.jar;%JDK13PATH%$/lib$/tools.jar
- }
- jdk13path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK13PATH $dp(%JDK_PATH%)
- }
- jdk14
+ jdk14
{
# HOMEDRIVE %DEVROOT%
# HOMEPATH $/jdk141
@@ -4028,7 +3417,7 @@ wntmsci13
{
SOLAR_JDK14PATH $dp(%JDK_PATH%)
}
- jdk15
+ jdk15
{
# HOMEDRIVE %DEVROOT%
# HOMEPATH $/jdk151
@@ -4047,11 +3436,7 @@ wntmsci13
{
SOLAR_JDK15PATH $dp(%JDK_PATH%)
}
- nojava
- {
- DISABLE_JAVA TRUE
- }
- ojdk16
+ ojdk16
{
# HOMEDRIVE %DEVROOT%
# HOMEPATH $/openjdk-6-b08-windows-i586
@@ -4069,16 +3454,11 @@ wntmsci13
{
SOLAR_OJDK16PATH $dp(%JDK_PATH%)
}
- pre
- {
- ILIB %PRE%$/lib;%ILIB%
- LIB %PRE%$/lib;%LIB%
- }
- pro
+ pro
{
RES_ENUS TRUE
}
- psdk
+ psdk
{
PSDK $dp(%STAR_PSDK%)
}
@@ -4087,59 +3467,49 @@ wntmsci13
SOLAR_SOURCE_ROOT $dp(%SOURCE_ROOT%)
SOURCE_ROOT_USED TRUE
}
- stl:0 IF X%STL_ROOT%X != XX
- {
- SOLAR_STLLIBPATH $dp(%STL_ROOT%$/..$/lib)
- SOLAR_STLPATH $dp(%STL_ROOT%)
- }
- stl:1 IF X%STL_ROOT%X == XX
- {
- SOLAR_STLPATH %SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT%$/stl
- }
- tmp
+ tmp
{
SOL_TMP $dp(%SOL_TMP_DIR%)
}
}
- extern
+ extern
{
- COMSPEC
- DIST_ROOT
- ENV_ROOT
- JDK_PATH
- LOCALINI
+ COMSPEC
+ DIST_ROOT
+ ENV_ROOT
+ JDK_PATH
+ LOCALINI
OSTYPE
- $dp(SOL_TMP)
- $dp(SOURCE_ROOT)
- $dp(STL_ROOT)
+ $dp(SOL_TMP)
+ $dp(SOURCE_ROOT)
$dp(TMP)
$dp(TEMP)
}
- order nojava common0 bs_sourceroot tmp envroot:0 sourceroot:0 pro common1 distroot:0 ca cap cax common02 psdk compath common2 common:3 jdk13path:0 jdk14path:0 jdk15path:0 ojdk16path:0 stl:1 stl:0 common jdk13 jdk14 jdk15 ojdk16 pre
- reset
- {
- COPYALL
- CXX_X64_BINARY
- DB2IMP
- GCRINC
- GCRLIB
- GCRPATH
- LIBMGR_X64_BINARY
- LINK_X64_BINARY
- NSIS_PATH
- OLD_CHAOS
+ order common0 bs_sourceroot tmp envroot:0 sourceroot:0 pro common1 distroot:0 cap cax common02 psdk compath common2 common:3 jdk14path:0 jdk15path:0 ojdk16path:0 common jdk14 jdk15 ojdk16
+ reset
+ {
+ COPYALL
+ CXX_X64_BINARY
+ DB2IMP
+ GCRINC
+ GCRLIB
+ GCRPATH
+ LIBMGR_X64_BINARY
+ LINK_X64_BINARY
+ NSIS_PATH
+ OLD_CHAOS
PERLDIR
- SOLAR_ENV_ROOT
- TFDEF
- TFDIR
- WST
+ SOLAR_ENV_ROOT
+ TFDEF
+ TFDIR
+ WST
}
- script
+ script
{
sh
{
400: if [ $COPYALL ]; then
- 410: perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
+ 410: perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
415: fi
600: umask 002
800: hash -r
@@ -4157,32 +3527,26 @@ wntmsci13
882: fi
}
}
- switches
+ switches
{
bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- ca
- cap
- cax
+ bsclient
+ cap
+ cax
compath STAR_COMPATH
- distroot
- envroot
- jdk13
- jdk13path
- jdk14
- jdk14path
- jdk15
- jdk15path
+ distroot
+ envroot
+ jdk14
+ jdk14path
+ jdk15
+ jdk15path
l10n L10N_framework
- nojava
- ojdk16
- ojdk16path
- pre PRE
- pro
+ ojdk16
+ ojdk16path
+ pro
psdk STAR_PSDK
shell STAR_USE_SHELL
- sourceroot
- stl
+ sourceroot
tmp SOL_TMP_DIR
}
}
diff --git a/solenv/inc/libs.mk b/solenv/inc/libs.mk
index 381f0aaf6c2c..b012c775f759 100644
--- a/solenv/inc/libs.mk
+++ b/solenv/inc/libs.mk
@@ -1,7 +1,7 @@
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
+#
# Copyright 2008 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
@@ -243,7 +243,7 @@ SFXDEBUGLIB=
FWELIB=-lfwe$(DLLPOSTFIX)
FWILIB=-lfwi$(DLLPOSTFIX)
SVXCORELIB=-lsvxcore$(DLLPOSTFIX)
-SVXMSFILTERLIB=-lsvxmsfilter$(DLLPOSTFIX)
+MSFILTERLIB=-lmsfilter$(DLLPOSTFIX)
SVXLIB=-lsvx$(DLLPOSTFIX)
BASCTLLIB=-lbasctl$(DLLPOSTFIX)
BASICIDELIB=-lybctl
@@ -271,10 +271,11 @@ JVMACCESSLIB = -ljvmaccess$(UDK_MAJOR)$(COMID)
JVMACCESSLIB = -ljvmaccess$(COMID)
.ENDIF # "$(GUI)$(COM)"=="WNTGCC"
CPPUNITLIB = -lcppunit$(DLLPOSTFIX)
+TESTSHL2LIB = -ltestshl2$(DLLPOSTFIX)
.IF "$(SYSTEM_LIBXSLT)"=="YES"
XSLTLIB=$(LIBXSLT_LIBS)
.ELSE
-XSLTLIB=-lxslt $(ZLIB3RDLIB) $(LIBXML2LIB)
+XSLTLIB=-lxslt $(LIBXML2LIB)
.ENDIF
.IF "$(GUI)$(COM)"=="WNTGCC"
JVMFWKLIB = -ljvmfwk$(UDK_MAJOR)
@@ -430,7 +431,7 @@ VBAHELPERLIB=vbahelper.lib
TKTLIB=tkt.lib
SJLIB=sj.lib
SVXCORELIB=isvxcore.lib
-SVXMSFILTERLIB=isvxmsfilter.lib
+MSFILTERLIB=imsfilter.lib
SVXLIB=isvx.lib
BASCTLLIB=basctl.lib
BASICIDELIB=ybctl.lib
@@ -479,7 +480,8 @@ PKGCHKLIB=ipkgchk.lib
HELPLINKERLIB=ihelplinker.lib
JVMACCESSLIB = ijvmaccess.lib
CPPUNITLIB = cppunit.lib
-XSLTLIB = libxslt.lib $(ZLIB3RDLIB) $(LIBXML2LIB)
+TESTSHL2LIB = testshl2.lib
+XSLTLIB = libxslt.lib $(LIBXML2LIB)
.IF "$(GUI)"=="OS2"
REDLANDLIB = raptor.a rasqal.a rdf.a $(LIBXML2LIB) $(OPENSSLLIB) pthread.lib
.ELSE
diff --git a/solenv/inc/minor.mk b/solenv/inc/minor.mk
index a7c1a50e911b..b27b78230620 100644
--- a/solenv/inc/minor.mk
+++ b/solenv/inc/minor.mk
@@ -1,5 +1,5 @@
RSCVERSION=300
-RSCREVISION=300m67(Build:9466)
-BUILD=9466
-LAST_MINOR=m67
+RSCREVISION=300m68(Build:9474)
+BUILD=9474
+LAST_MINOR=m68
SOURCEVERSION=DEV300
diff --git a/solenv/inc/rules.mk b/solenv/inc/rules.mk
index 7b8e6f2aaadd..991309d6de6e 100644
--- a/solenv/inc/rules.mk
+++ b/solenv/inc/rules.mk
@@ -160,7 +160,7 @@ $(SLO)/precompiled_ex.% .PHONY:
$(SLO)/%.obj : %.cxx
@echo Compiling: $(PRJNAME)/$(PATH_IN_MODULE)/$<
-.IF "$(ENABLE_PCH)"!="" && ( "$(PRJNAME)"!="sw" || "$(BUILD_SPECIAL)"!="TRUE" )
+.IF "$(ENABLE_PCH)"!="" && ( "$(BUILD_SPECIAL)"!="TRUE" )
# just a helper var
@noop $(assign used_exc_switches=$(!eq,$(EXCEPTIONSFILES),$(subst,$@, $(EXCEPTIONSFILES)) $(LOCAL_EXCEPTIONS_FLAGS) $(GLOBAL_EXCEPTIONS_FLAGS)))
# cleanup first
diff --git a/solenv/inc/settings.mk b/solenv/inc/settings.mk
index 8d068bd28c04..6110498edd29 100644
--- a/solenv/inc/settings.mk
+++ b/solenv/inc/settings.mk
@@ -191,7 +191,6 @@ CDEFSPROF=
CDEFSDEBUG=
CDEFSDBGUTIL=
CDEFSOPT=
-HDEFS=
CFLAGS=
CFLAGSCALL=
@@ -849,12 +848,7 @@ LOCALIZESDF:=$(COMMONMISC)$/$(PRJNAME)$/dummy$/localize.sdf
.ENDIF # "$(LOCALIZESDF)"==""
.ENDIF # "$(WITH_LANG)"!=""
-.IF "$(PRE)"==""
-#JARDIR=$(CLASSDIR)
JARDIR=$(OUT)/class
-.ELSE
-JARDIR=$(PRE)/class
-.ENDIF
# needs to be expanded!!!
@@ -897,9 +891,6 @@ UNOIDLDEFS+=-DSUPD=$(UPD) -DUPD=$(UPD)
UNOIDLDEPFLAGS=-Mdepend=$(SOLARVER)
-.IF "$(PRE)"!=""
-UNOIDLINC!:=-I$(PRE)/idl $(UNOIDLINC)
-.ENDIF
UNOIDLINC+=-I. -I.. -I$(PRJ) -I$(PRJ)/inc -I$(PRJ)/$(INPATH)/idl -I$(OUT)/inc -I$(SOLARIDLDIR) -I$(SOLARINCDIR)
CDEFS= -D$(OS) -D$(GUI) -D$(GVER) -D$(COM) -D$(CVER) -D$(CPUNAME)
@@ -928,7 +919,6 @@ CDEFSDEBUG=-DDEBUG
.ENDIF
CDEFSDBGUTIL=-DDBG_UTIL
CDEFSOPT=-DOPTIMIZE
-HDEFS=-D:$(GUI) -D:$(COM)
MKDEPFLAGS+=-I$(INCDEPN:s/ / -I/:s/-I-I/-I/)
MKDEPALLINC=$(SOLARINC:s/-I/ -I/)
@@ -1136,11 +1126,8 @@ RSCDEFS+=-DDBG_UTIL
.IF "$(product)"!=""
CDEFS+= -DPRODUCT -DNDEBUG
-HDEFS+= -D:PRODUCT
RSCDEFS+= -DPRODUCT
-CDEFS+=-DPRODUCT_FULL
-HDEFS+=-D:PRODUCT_FULL
-RSCDEFS+= -DPRODUCT_FULL -DNDEBUG
+RSCDEFS+= -DNDEBUG
.ENDIF
.IF "$(DBG_LEVEL)"!=""
@@ -1231,26 +1218,9 @@ STDLIB+=$(FILLUPARC)
STDSHL+=$(FILLUPARC)
.ENDIF # "$(FILUPARC)"!=""
-.IF "$(DISABLE_JAVA)"==""
.IF "$(SOLAR_JAVA)"!=""
CDEFS+=$(JAVADEF)
.ENDIF # "$(SOLAR_JAVA)"!=""
-.ELSE # "$(DISABLE_JAVA)"==""
-SOLAR_JAVA!:=
-.EXPORT : SOLAR_JAVA
-.IF "$(JDKPATH)"!=""
-environment_confusion:
- @echo ----------------------------------------------------------
- @echo -
- @echo - Error!
- @echo -
- @echo - $$JDKPATH and $$DISABLE_JAVA are set. this will lead
- @echo - to impropper results.
- @echo -
- @echo ----------------------------------------------------------
- force_dmake_to_error
-.ENDIF # "$(JDKPATH)"!=""
-.ENDIF # "$(DISABLE_JAVA)"==""
.INCLUDE .IGNORE: $(UPD)$(LAST_MINOR).mk
diff --git a/solenv/inc/shlinfo.rc b/solenv/inc/shlinfo.rc
index 07853e84862e..c114458617de 100644
--- a/solenv/inc/shlinfo.rc
+++ b/solenv/inc/shlinfo.rc
@@ -29,7 +29,7 @@
#define LG_D // generate always german version
#endif
-#define VER_FIRSTYEAR 2008
+#define VER_FIRSTYEAR 2010
#if defined(OS2)
diff --git a/solenv/inc/target.mk b/solenv/inc/target.mk
index eb4b35008e8a..2330aa64e49b 100644
--- a/solenv/inc/target.mk
+++ b/solenv/inc/target.mk
@@ -55,9 +55,6 @@ target_empty=warn_target_empty
INCEXT*=.
INCPRE*=.
INCPOST*=.
-.IF "$(PRE)"!=""
-ENVINCPRE+=-I$(PRE)/inc
-.ENDIF # "$(PRE)"!=""
.IF "$(BOOTSTRAP_SERVICE)"!="TRUE" && "$(NO_OFFUH)"==""
UNOINCLUDES=$(SOLARINCDIR)/offuh
.ENDIF # "$(BOOTSTRAP_SERVICE)"!="TRUE" && "$(NO_OFFUH)"==""
@@ -66,9 +63,9 @@ SOLARINC+=$(JDKINCS)
INCLUDE:=
.EXPORT : INCLUDE
.IF "$(PRJINC)"!=""
-INCLUDE!:=-I. $(ENVINCPRE) $(INCPRE:^"-I":s/-I-I/-I/) -I$(INCLOCAL) $(INCLOCPRJ:^"-I":s/-I-I/-I/) -I$(INCPCH) -I$(INC) -I$(INCGUI) -I$(INCCOM) $(SOLARINC) $(null,$(UNOINCLUDES) $(NULL) -I$(UNOINCLUDES)) -I$(INCEXT) -I$(PRJ)/res -I$(INCPOST)
+INCLUDE!:=-I. $(INCPRE:^"-I":s/-I-I/-I/) -I$(INCLOCAL) $(INCLOCPRJ:^"-I":s/-I-I/-I/) -I$(INCPCH) -I$(INC) -I$(INCGUI) -I$(INCCOM) $(SOLARINC) $(null,$(UNOINCLUDES) $(NULL) -I$(UNOINCLUDES)) -I$(INCEXT) -I$(PRJ)/res -I$(INCPOST)
.ELSE # "$(PRJINC)"!=""
-INCLUDE!:=-I. $(ENVINCPRE) $(INCPRE:^"-I":s/-I-I/-I/) -I$(INCLOCAL) -I$(INCPCH) -I$(INC) -I$(INCGUI) -I$(INCCOM) $(SOLARINC) $(null,$(UNOINCLUDES) $(NULL) -I$(UNOINCLUDES)) -I$(INCEXT) -I$(PRJ)/res -I$(INCPOST)
+INCLUDE!:=-I. $(INCPRE:^"-I":s/-I-I/-I/) -I$(INCLOCAL) -I$(INCPCH) -I$(INC) -I$(INCGUI) -I$(INCCOM) $(SOLARINC) $(null,$(UNOINCLUDES) $(NULL) -I$(UNOINCLUDES)) -I$(INCEXT) -I$(PRJ)/res -I$(INCPOST)
.ENDIF # "$(PRJINC)"!=""
INCLUDE_C=$(subst,/stl$(SPACECHAR),dont_use_stl$(SPACECHAR) $(INCLUDE))
.EXPORT : LIB
@@ -1259,9 +1256,6 @@ CPPUMAKERFLAGS*=-L
.IF "$(UNOTYPES)" != ""
# makeing all in one
.DIRCACHE=no
-.IF "$(ENVINCPRE)"!=""
-MKDEPFLAGS+=-I:$(ENVINCPRE)
-.ENDIF # "$(ENVINCPRE))"!=""
.IF "$(OBJFILES)"!=""
$(OBJFILES) : $(UNOUCRTARGET)
.ENDIF # "$(OBJFILES)"!=""
diff --git a/solenv/inc/version.hrc b/solenv/inc/version.hrc
index 6de6b3c99763..048b59205e08 100644
--- a/solenv/inc/version.hrc
+++ b/solenv/inc/version.hrc
@@ -38,8 +38,8 @@
#define VER_FINAL 0
#define VER_DAY 1
-#define VER_MONTH 9
-#define VER_YEAR 2009
+#define VER_MONTH 1
+#define VER_YEAR 2010
#ifndef VER_FIRSTYEAR
#define VER_FIRSTYEAR VER_YEAR
diff --git a/solenv/inc/version_so.hrc b/solenv/inc/version_so.hrc
index 6eb9a183d6bd..852af90168b0 100644
--- a/solenv/inc/version_so.hrc
+++ b/solenv/inc/version_so.hrc
@@ -38,8 +38,8 @@
#define VER_FINAL 0
#define VER_DAY 1
-#define VER_MONTH 9
-#define VER_YEAR 2009
+#define VER_MONTH 1
+#define VER_YEAR 2010
#ifndef VER_FIRSTYEAR
#define VER_FIRSTYEAR VER_YEAR
diff --git a/soltools/adjustvisibility/makefile.mk b/soltools/adjustvisibility/makefile.mk
index a4963b2eb071..4c8f03942793 100644..100755
--- a/soltools/adjustvisibility/makefile.mk
+++ b/soltools/adjustvisibility/makefile.mk
@@ -1,7 +1,7 @@
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
+#
# Copyright 2008 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
@@ -53,6 +53,9 @@ DEPOBJFILES = $(APP1OBJ)
APP1STDLIBS = -lelf
APP1RPATH = NONE
+#APP1STDLIBS+=-lstlport
+APP1STDLIBS+=-lCstd
+
.ENDIF "$(OS)"=="SOLARIS"
# --- Targets ------------------------------------------------------
diff --git a/soltools/mkdepend/collectdircontent.cxx b/soltools/mkdepend/collectdircontent.cxx
index 95cd3da8d857..691996d56cca 100755
--- a/soltools/mkdepend/collectdircontent.cxx
+++ b/soltools/mkdepend/collectdircontent.cxx
@@ -64,7 +64,7 @@ bool IncludesCollection::exists(string filePath) {
} else {
return true;
};
- return false;
+ //return false;
};
extern "C" {
diff --git a/soltools/mkdepend/makefile.mk b/soltools/mkdepend/makefile.mk
index ca6f57ef1c7b..af4bae825601 100644..100755
--- a/soltools/mkdepend/makefile.mk
+++ b/soltools/mkdepend/makefile.mk
@@ -1,7 +1,7 @@
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
+#
# Copyright 2008 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
@@ -37,6 +37,7 @@ LIBTARGET=NO
# noadjust here to have dependencies over there
noadjust=TRUE
nodep=true
+ENABLE_EXCEPTIONS=TRUE
# "mkdepend" is written in K&R style C. Modern compilers will generate
# lots of warning. There is no point in cleaning this up, so we just
@@ -49,7 +50,7 @@ EXTERNAL_WARNINGS_NOT_ERRORS=TRUE
LIBSALCPPRT=
UWINAPILIB=
-CDEFS+=-DNO_X11 -DXP_PC -DHW_THREADS
+CDEFS+=-DNO_X11 -DXP_PC -DHW_THREADS
OBJFILES= \
$(OBJ)$/cppsetup.obj \
@@ -65,6 +66,21 @@ APP1TARGET=makedepend
APP1OBJS=$(OBJFILES)
APP1RPATH=NONE
+.IF "$(COM)"=="MSC"
+.IF "$(dbgutil)"==""
+APP1STDLIBS+=msvcprt.lib
+.ELSE
+APP1STDLIBS+=msvcprtd.lib
+CDEFS+=-D_DEBUG
+.ENDIF # "$(DBG_UTIL)"==""
+.ENDIF # "$(COM)"=="MSC"
+
+.IF "$(OS)"=="SOLARIS"
+#APP1STDLIBS+=-lstlport
+APP1STDLIBS+=-lCstd
+.ENDIF
+
+
.INCLUDE : target.mk
diff --git a/soltools/prj/build.lst b/soltools/prj/build.lst
index 0a3ed598db0e..3c4e50eb0cda 100644
--- a/soltools/prj/build.lst
+++ b/soltools/prj/build.lst
@@ -1,4 +1,4 @@
-so soltools : stlport SUN:so_prereq NULL
+so soltools : SUN:so_prereq NULL
so soltools usr1 - all so_usr1 NULL
so soltools\inc get - all so_inc NULL
so soltools\ldump nmake - all so_ldump so_mkdep NULL
diff --git a/soltools/util/makefile.pmk b/soltools/util/makefile.pmk
index ad80f13bf8b9..a119dd844472 100644..100755
--- a/soltools/util/makefile.pmk
+++ b/soltools/util/makefile.pmk
@@ -1,7 +1,7 @@
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
+#
# Copyright 2008 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
@@ -34,3 +34,19 @@ MAKEDEPEND=$(AUGMENT_LIBRARY_PATH) $(BIN)$/makedepend
# find 'adjustvisibility' in own output tree
ADJUSTVISIBILITY=$(AUGMENT_LIBRARY_PATH) $(BIN)$/adjustvisibility
+
+# avoid STLPort
+NO_DEFAULT_STL=TRUE
+SOLARINC!:=$(subst,/stl$(SPACECHAR),dont_use_stl$(SPACECHAR) $(SOLARINC))
+
+.IF "$(OS)"=="SOLARIS"
+# hack due to #i53089#
+.IF "$(COMPATH:+"x")" != "$(COMPATH:+"x":s/binx//)"
+HELP_COMPATH:=$(subst,/binx, $(COMPATH:+"x"))
+.ELSE # "$(COMPATH:+"x")" == "$(COMPATH:s/binx//)/binx"
+HELP_COMPATH:=$(COMPATH)
+.ENDIF # "$(COMPATH:+"x")" == "$(COMPATH:s/binx//)/binx"
+#SOLARINC+=-I$(HELP_COMPATH)/prod/include/CC/stlport4
+#SOLARLIB+=-L$(HELP_COMPATH)/prod/lib/stlport4
+SOLARINC+=-I$(HELP_COMPATH)/prod/include/CC/Cstd
+.ENDIF
diff --git a/splitbuild/base.lst b/splitbuild/base.lst
new file mode 100644
index 000000000000..cda4527f3496
--- /dev/null
+++ b/splitbuild/base.lst
@@ -0,0 +1 @@
+reportdesign dbaccess
diff --git a/splitbuild/binfilter.lst b/splitbuild/binfilter.lst
new file mode 100644
index 000000000000..1baa90b768cf
--- /dev/null
+++ b/splitbuild/binfilter.lst
@@ -0,0 +1 @@
+binfilter
diff --git a/splitbuild/bm b/splitbuild/bm
new file mode 100755
index 000000000000..16872f1413d5
--- /dev/null
+++ b/splitbuild/bm
@@ -0,0 +1,4 @@
+build --genconf --clear
+build --genconf --add `cat $1`
+build --all $2 $3 $4
+
diff --git a/splitbuild/build.lst b/splitbuild/build.lst
new file mode 100644
index 000000000000..e19d9cebed73
--- /dev/null
+++ b/splitbuild/build.lst
@@ -0,0 +1 @@
+crashrep javainstaller2 packimages postprocess scp2 testtools instsetoo_native
diff --git a/splitbuild/calc.lst b/splitbuild/calc.lst
new file mode 100644
index 000000000000..2c13a4c6d503
--- /dev/null
+++ b/splitbuild/calc.lst
@@ -0,0 +1 @@
+scaddins sccomp sc
diff --git a/splitbuild/common.lst b/splitbuild/common.lst
new file mode 100644
index 000000000000..7b7214f0d227
--- /dev/null
+++ b/splitbuild/common.lst
@@ -0,0 +1 @@
+basebmp basegfx bean comphelper configmgr connectivity embedserv eventattacher fileaccess i18npool i18nutil linguistic lingucomponent o3tl officecfg oovbaapi package pyuno regexp rsc sax shell sot svl tools transex3 ucb ucbhelper unotools unoxml vos xmerge xmlhelp xmloff xmlscript wizards
diff --git a/splitbuild/content.lst b/splitbuild/content.lst
new file mode 100644
index 000000000000..dd8d40c75da7
--- /dev/null
+++ b/splitbuild/content.lst
@@ -0,0 +1 @@
+dictionaries extras helpcontent2
diff --git a/splitbuild/draw.lst b/splitbuild/draw.lst
new file mode 100644
index 000000000000..6f83eca0069d
--- /dev/null
+++ b/splitbuild/draw.lst
@@ -0,0 +1 @@
+animations sd slideshow
diff --git a/splitbuild/extensions.lst b/splitbuild/extensions.lst
new file mode 100644
index 000000000000..86fe24b8830d
--- /dev/null
+++ b/splitbuild/extensions.lst
@@ -0,0 +1 @@
+migrationanalysis reportbuilder sdext swext
diff --git a/splitbuild/extern.lst b/splitbuild/extern.lst
new file mode 100644
index 000000000000..334ad19a5b10
--- /dev/null
+++ b/splitbuild/extern.lst
@@ -0,0 +1 @@
+afms agg apache-commons apple_remote beanshell berkeleydb bitstream_vera_fonts boost cairo cppunit curl epm expat external fondu graphite hsqldb hunspell hyphen icc icu jfreereport jpeg libegg libtextcat libwpd libxml2 libxmlsec libxslt lpsolve lucene MathMLDTD moz neon np_sdk nss openssl python redland rhino sane saxon stax stlport tomcat twain unixODBC vigra x11_extensions xpdf xsltml zlib
diff --git a/splitbuild/filter.lst b/splitbuild/filter.lst
new file mode 100755
index 000000000000..9659e019d7cb
--- /dev/null
+++ b/splitbuild/filter.lst
@@ -0,0 +1 @@
+filter hwpfilter oox writerfilter writerperfect xmerge \ No newline at end of file
diff --git a/splitbuild/framework.lst b/splitbuild/framework.lst
new file mode 100644
index 000000000000..89ed01c617d6
--- /dev/null
+++ b/splitbuild/framework.lst
@@ -0,0 +1 @@
+automation avmedia basic basctl cui desktop drawinglayer embeddedobj extensions forms formula framework idl scripting sfx2 svx xmlsecurity
diff --git a/splitbuild/gui.lst b/splitbuild/gui.lst
new file mode 100644
index 000000000000..55c2e7a20309
--- /dev/null
+++ b/splitbuild/gui.lst
@@ -0,0 +1 @@
+accessibility canvas cppcanvas dtrans fpicker goodies padmin psprint_config setup_native svtools sysui toolkit UnoControls uui vcl
diff --git a/splitbuild/prj/build.lst b/splitbuild/prj/build.lst
new file mode 100644
index 000000000000..24bc4e91e33c
--- /dev/null
+++ b/splitbuild/prj/build.lst
@@ -0,0 +1,2 @@
+spl splitbuild :: reportdesign dbaccess packimages postprocess scp2 testtools instsetoo_native scaddins sccomp sc basebmp basegfx bean comphelper configmgr connectivity crashrep embedserv eventattacher fileaccess i18npool i18nutil javainstaller2 linguistic lingucomponent o3tl officecfg oovbaapi package pyuno regexp rsc sax shell sot svl tools transex3 ucb ucbhelper unotools unoxml vos xmerge xmlhelp xmloff xmlscript wizards animations sd slideshow migrationanalysis reportbuilder sdext swext afms agg apache-commons apple_remote beanshell berkeleydb bitstream_vera_fonts boost cairo cppunit curl epm expat external fondu graphite hsqldb hunspell hyphen icc icu JFREEREPORT:jfreereport jpeg libegg libtextcat libwpd libxml2 libxmlsec libxslt lpsolve lucene MathMLDTD moz neon np_sdk nss openssl python redland rhino sane saxon stax stlport tomcat twain unixODBC vigra x11_extensions xpdf xsltml zlib automation avmedia basic drawinglayer embeddedobj filter formula fpicker framework idl oox sfx2 svx uui accessibility canvas cppcanvas dtrans goodies padmin psprint_config setup_native svtools sysui toolkit UnoControls vcl binfilter dictionaries extras helpcontent2 soltools basctl chart2 cui desktop extensions forms scripting starmath xmlsecurity autodoc bridges cli_ure codemaker cosv cppu cppuhelper cpputools idlc io javaunohelper jurt jvmaccess jvmfwk odk offapi offuh qadevOOo rdbmaker readlicense_oo registry remotebridges ridljar sal salhelper stoc store testshl2 udkapi udm unodevtools unoil ure xml2cmp hwpfilter sw writerfilter writerperfect NULL
+
diff --git a/splitbuild/prj/d.lst b/splitbuild/prj/d.lst
new file mode 100644
index 000000000000..b87dd52c7da2
--- /dev/null
+++ b/splitbuild/prj/d.lst
@@ -0,0 +1 @@
+#dummy d.lst file
diff --git a/splitbuild/start.lst b/splitbuild/start.lst
new file mode 100644
index 000000000000..3838044a8c4a
--- /dev/null
+++ b/splitbuild/start.lst
@@ -0,0 +1 @@
+soltools
diff --git a/splitbuild/uno.lst b/splitbuild/uno.lst
new file mode 100644
index 000000000000..31ee787564de
--- /dev/null
+++ b/splitbuild/uno.lst
@@ -0,0 +1 @@
+autodoc bridges cli_ure codemaker cosv cppu cppuhelper cpputools idlc io javaunohelper jurt jvmaccess jvmfwk odk offapi offuh qadevOOo rdbmaker readlicense_oo registry remotebridges ridljar sal salhelper stoc store testshl2 udkapi udm unodevtools unoil ure xml2cmp
diff --git a/splitbuild/writer.lst b/splitbuild/writer.lst
new file mode 100644
index 000000000000..619d7c52d9c7
--- /dev/null
+++ b/splitbuild/writer.lst
@@ -0,0 +1 @@
+hwpfilter sw writerfilter writerperfect