Kaydet (Commit) e63bfb30 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Get rid of STAR_RESOURCEPATH

...the only remaining use was for CppunitTest to find the .res files in
$(OUTDIR)/bin/.  Get that solved by delivering the .res files also to
$(OUTDIR)/unittest/install/program/resource/ (new
gb_ResTarget_get_unittest_target).

Change-Id: I370e7cab4223256356c7511b88ae63d9c0dbf215
üst 53927349
...@@ -177,8 +177,8 @@ copy-stuff: ...@@ -177,8 +177,8 @@ copy-stuff:
mkdir -p assets/unpack/etc/fonts mkdir -p assets/unpack/etc/fonts
cp fonts.conf assets/unpack/etc/fonts cp fonts.conf assets/unpack/etc/fonts
# The indirect command lines... # The indirect command lines...
echo "SAL_LOG=+WARN+INFO STAR_RESOURCEPATH=/assets/bin $(APP_DATA_PATH)/lib/libtest_sc_ucalc.so --headless --protector libunoexceptionprotector.so unoexceptionprotector --protector libunobootstrapprotector.so unobootstrapprotector" >assets/unpack/ucalc.cmdline echo "SAL_LOG=+WARN+INFO $(APP_DATA_PATH)/lib/libtest_sc_ucalc.so --headless --protector libunoexceptionprotector.so unoexceptionprotector --protector libunobootstrapprotector.so unobootstrapprotector" >assets/unpack/ucalc.cmdline
echo "SAL_LOG=+WARN+INFO STAR_RESOURCEPATH=/assets/bin $(APP_DATA_PATH)/lib/libtest_sc_filters_test.so --headless --protector libunoexceptionprotector.so unoexceptionprotector --protector libunobootstrapprotector.so unobootstrapprotector" >assets/unpack/filters_test.cmdline echo "SAL_LOG=+WARN+INFO $(APP_DATA_PATH)/lib/libtest_sc_filters_test.so --headless --protector libunoexceptionprotector.so unoexceptionprotector --protector libunobootstrapprotector.so unobootstrapprotector" >assets/unpack/filters_test.cmdline
# #
# Then gdbserver and gdb.setup so that we can debug with ndk-gdb. # Then gdbserver and gdb.setup so that we can debug with ndk-gdb.
cp $(ANDROID_NDK_GDBSERVER) $(SODEST) cp $(ANDROID_NDK_GDBSERVER) $(SODEST)
......
...@@ -153,6 +153,7 @@ certain functionality. ...@@ -153,6 +153,7 @@ certain functionality.
@section tools @section tools
@li @c tools.debug @li @c tools.debug
@li @c tools.rc - resource manager
@li @c tools.stream - SvStream class @li @c tools.stream - SvStream class
@section ucb @section ucb
......
...@@ -101,7 +101,6 @@ if ( !$failed && open(UNAME, "uname -a|") ) { ...@@ -101,7 +101,6 @@ if ( !$failed && open(UNAME, "uname -a|") ) {
print "$testPath\n"; print "$testPath\n";
$testPath = $ENV{"PATH"}; $testPath = $ENV{"PATH"};
print "$testPath\n"; print "$testPath\n";
$ENV{"STAR_RESOURCEPATH"} = "$officepath/basis3.0/program/resource";
$ENV{"SAL_ALLOW_LINKOO_SYMLINKS"} = "1"; $ENV{"SAL_ALLOW_LINKOO_SYMLINKS"} = "1";
$testPath = $ENV{"LANG"}; $testPath = $ENV{"LANG"};
print "$testPath\n"; print "$testPath\n";
......
...@@ -41,7 +41,6 @@ export LD_LIBRARY_PATH="$thisdir:$java_path:' . $moz_lib . '$LD_LIBRARY_PATH" ...@@ -41,7 +41,6 @@ export LD_LIBRARY_PATH="$thisdir:$java_path:' . $moz_lib . '$LD_LIBRARY_PATH"
ulimit -c unlimited ulimit -c unlimited
export PATH="$thisdir:$thisdir/../ure-link/bin:$PATH" export PATH="$thisdir:$thisdir/../ure-link/bin:$PATH"
export GNOME_DISABLE_CRASH_DIALOG=1 export GNOME_DISABLE_CRASH_DIALOG=1
export STAR_RESOURCEPATH=$thisdir/resource
# debugging assistance # debugging assistance
export SAL_DISABLE_FLOATGRAB=1 export SAL_DISABLE_FLOATGRAB=1
export G_SLICE=always-malloc export G_SLICE=always-malloc
......
...@@ -359,7 +359,7 @@ gb_ResTarget_DEFIMAGESLOCATION := $(SRCDIR)/icon-themes/galaxy/ ...@@ -359,7 +359,7 @@ gb_ResTarget_DEFIMAGESLOCATION := $(SRCDIR)/icon-themes/galaxy/
$(call gb_ResTarget_get_clean_target,%) : $(call gb_ResTarget_get_clean_target,%) :
$(call gb_Output_announce,$*,$(false),RES,2) $(call gb_Output_announce,$*,$(false),RES,2)
$(call gb_Helper_abbreviate_dirs,\ $(call gb_Helper_abbreviate_dirs,\
rm -f $(call gb_ResTarget_get_target,$*) $(call gb_ResTarget_get_imagelist_target,$*) $(call gb_ResTarget_get_outdir_target,$*)) rm -f $(call gb_ResTarget_get_target,$*) $(call gb_ResTarget_get_imagelist_target,$*) $(call gb_ResTarget_get_outdir_target,$*) $(call gb_ResTarget_get_unittest_target,$*))
$(call gb_ResTarget_get_target,%) : $(gb_Helper_MISCDUMMY) \ $(call gb_ResTarget_get_target,%) : $(gb_Helper_MISCDUMMY) \
$(gb_ResTarget_RSCDEPS) $(gb_ResTarget_RSCDEPS)
...@@ -390,17 +390,24 @@ $(call gb_ResTarget_get_target,%) : $(gb_Helper_MISCDUMMY) \ ...@@ -390,17 +390,24 @@ $(call gb_ResTarget_get_target,%) : $(gb_Helper_MISCDUMMY) \
$(call gb_ResTarget_get_outdir_target,%) : $(call gb_ResTarget_get_outdir_target,%) :
$(call gb_Deliver_deliver,$<,$@) $(call gb_Deliver_deliver,$<,$@)
$(call gb_ResTarget_get_unittest_target,%) :
$(call gb_Helper_abbreviate_dirs,mkdir -p $(dir $@))
$(call gb_Deliver_deliver,$<,$@)
define gb_ResTarget_ResTarget define gb_ResTarget_ResTarget
$(call gb_ResTarget_get_target,$(1)) : LIBRARY = $(2) $(call gb_ResTarget_get_target,$(1)) : LIBRARY = $(2)
$(call gb_ResTarget_get_target,$(1)) : LANGUAGE = $(3) $(call gb_ResTarget_get_target,$(1)) : LANGUAGE = $(3)
$(call gb_ResTarget_get_target,$(1)) : RESLOCATION = $(2) $(call gb_ResTarget_get_target,$(1)) : RESLOCATION = $(2)
$(call gb_AllLangResTarget_get_target,$(2)) : $(call gb_ResTarget_get_outdir_target,$(1)) $(call gb_AllLangResTarget_get_target,$(2)) : $(call gb_ResTarget_get_outdir_target,$(1)) $(call gb_ResTarget_get_unittest_target,$(1))
$(call gb_AllLangResTarget_get_clean_target,$(2)) : $(call gb_ResTarget_get_clean_target,$(1)) $(call gb_AllLangResTarget_get_clean_target,$(2)) : $(call gb_ResTarget_get_clean_target,$(1))
$(call gb_ResTarget_get_imagelist_target,$(1)) : $(call gb_ResTarget_get_target,$(1)) $(call gb_ResTarget_get_imagelist_target,$(1)) : $(call gb_ResTarget_get_target,$(1))
$(call gb_ResTarget_get_outdir_target,$(1)) : $(call gb_ResTarget_get_target,$(1)) $(call gb_ResTarget_get_outdir_target,$(1)) : $(call gb_ResTarget_get_target,$(1))
$(call gb_Deliver_add_deliverable,$(call gb_ResTarget_get_outdir_target,$(1)),$(call gb_ResTarget_get_target,$(1)),$(1)) $(call gb_Deliver_add_deliverable,$(call gb_ResTarget_get_outdir_target,$(1)),$(call gb_ResTarget_get_target,$(1)),$(1))
$(call gb_ResTarget_get_unittest_target,$(1)) : $(call gb_ResTarget_get_target,$(1))
$(call gb_Deliver_add_deliverable,$(call gb_ResTarget_get_unittest_target,$(1)),$(call gb_ResTarget_get_target,$(1)),$(1))
endef endef
define gb_ResTarget_add_file define gb_ResTarget_add_file
......
...@@ -91,7 +91,6 @@ $(call gb_CppunitTest_get_target,%) :| $(gb_CppunitTest_CPPTESTDEPS) ...@@ -91,7 +91,6 @@ $(call gb_CppunitTest_get_target,%) :| $(gb_CppunitTest_CPPTESTDEPS)
$(if $(DBGSV_ERROR_OUT),DBGSV_ERROR_OUT=$(DBGSV_ERROR_OUT)) \ $(if $(DBGSV_ERROR_OUT),DBGSV_ERROR_OUT=$(DBGSV_ERROR_OUT)) \
DISABLE_SAL_DBGBOX=t \ DISABLE_SAL_DBGBOX=t \
$(if $(SAL_DIAGNOSE_ABORT),SAL_DIAGNOSE_ABORT=$(SAL_DIAGNOSE_ABORT)) \ $(if $(SAL_DIAGNOSE_ABORT),SAL_DIAGNOSE_ABORT=$(SAL_DIAGNOSE_ABORT)) \
STAR_RESOURCEPATH=$(dir $(call gb_ResTarget_get_outdir_target,example)) \
$(ICECREAM_RUN) $(gb_CppunitTest_GDBTRACE) $(gb_CppunitTest_VALGRINDTOOL) $(gb_CppunitTest_CPPTESTCOMMAND) \ $(ICECREAM_RUN) $(gb_CppunitTest_GDBTRACE) $(gb_CppunitTest_VALGRINDTOOL) $(gb_CppunitTest_CPPTESTCOMMAND) \
$(call gb_LinkTarget_get_target,CppunitTest/$(call gb_CppunitTest_get_libfilename,$*)) \ $(call gb_LinkTarget_get_target,CppunitTest/$(call gb_CppunitTest_get_libfilename,$*)) \
$(call gb_CppunitTest__make_args) \ $(call gb_CppunitTest__make_args) \
......
...@@ -55,6 +55,8 @@ gb_PackagePart_get_target = $(OUTDIR)/$(1) ...@@ -55,6 +55,8 @@ gb_PackagePart_get_target = $(OUTDIR)/$(1)
gb_Rdb_get_outdir_target = $(OUTDIR)/xml/$(1).rdb gb_Rdb_get_outdir_target = $(OUTDIR)/xml/$(1).rdb
gb_Rdb_get_outdir_target_for_build = $(OUTDIR_FOR_BUILD)/xml/$(1).rdb gb_Rdb_get_outdir_target_for_build = $(OUTDIR_FOR_BUILD)/xml/$(1).rdb
gb_ResTarget_get_outdir_target = $(OUTDIR)/bin/$(1).res gb_ResTarget_get_outdir_target = $(OUTDIR)/bin/$(1).res
gb_ResTarget_get_unittest_target = \
$(OUTDIR)/unittest/install/program/resource/$(1).res
gb_UnoApi_get_target = $(OUTDIR)/bin/$(1).rdb gb_UnoApi_get_target = $(OUTDIR)/bin/$(1).rdb
gb_UnoApiMerge_get_target = $(OUTDIR)/bin/$(1).rdb gb_UnoApiMerge_get_target = $(OUTDIR)/bin/$(1).rdb
gb_UnoApiMerge_get_target_for_build = $(OUTDIR_FOR_BUILD)/bin/$(1).rdb gb_UnoApiMerge_get_target_for_build = $(OUTDIR_FOR_BUILD)/bin/$(1).rdb
......
...@@ -17,6 +17,10 @@ ...@@ -17,6 +17,10 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 . * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/ */
#include "sal/config.h"
#include <cassert>
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
...@@ -176,77 +180,40 @@ void ResMgrContainer::release() ...@@ -176,77 +180,40 @@ void ResMgrContainer::release()
void ResMgrContainer::init() void ResMgrContainer::init()
{ {
// get resource path assert( m_aResFiles.empty() );
std::list< OUString > aDirs;
sal_Int32 nIndex = 0;
// 1. fixed locations // get resource path
rtl::OUString uri( rtl::OUString uri(
RTL_CONSTASCII_USTRINGPARAM("$BRAND_BASE_DIR/program/resource")); RTL_CONSTASCII_USTRINGPARAM("$BRAND_BASE_DIR/program/resource/"));
rtl::Bootstrap::expandMacros(uri); rtl::Bootstrap::expandMacros(uri); //TODO: detect failure
aDirs.push_back(uri);
// 2. in STAR_RESOURCEPATH
const sal_Char* pEnv = getenv( "STAR_RESOURCEPATH" );
if( pEnv )
{
OUString aEnvPath( OStringToOUString( OString( pEnv ), osl_getThreadTextEncoding() ) );
nIndex = 0;
while( nIndex >= 0 )
{
OUString aPathElement( aEnvPath.getToken( 0, SAL_PATHSEPARATOR, nIndex ) );
if( !aPathElement.isEmpty() )
{
OUString aFileURL;
File::getFileURLFromSystemPath( aPathElement, aFileURL );
aDirs.push_back( aFileURL);
}
}
}
// collect all possible resource files // collect all possible resource files
for( std::list< OUString >::const_iterator dir_it = aDirs.begin(); dir_it != aDirs.end(); ++dir_it ) Directory aDir( uri );
if( aDir.open() == FileBase::E_None )
{ {
Directory aDir( *dir_it ); DirectoryItem aItem;
if( aDir.open() == FileBase::E_None ) while( aDir.getNextItem( aItem ) == FileBase::E_None )
{ {
DirectoryItem aItem; FileStatus aStatus(osl_FileStatus_Mask_FileName);
while( aDir.getNextItem( aItem ) == FileBase::E_None ) if( aItem.getFileStatus( aStatus ) == FileBase::E_None )
{ {
FileStatus aStatus(osl_FileStatus_Mask_FileName); OUString aFileName = aStatus.getFileName();
if( aItem.getFileStatus( aStatus ) == FileBase::E_None ) if( ! aFileName.endsWithIgnoreAsciiCase( ".res" ) )
{ continue;
OUString aFileName = aStatus.getFileName(); OUString aResName = aFileName.copy( 0, aFileName.getLength() - strlen(".res") );
if( aFileName.getLength() < 5 ) if( aResName.isEmpty() )
continue; continue;
if( ! aFileName.endsWithIgnoreAsciiCaseAsciiL( ".res", 4 ) ) assert( m_aResFiles.find( aResName ) == m_aResFiles.end() );
continue; m_aResFiles[ aResName ].aFileURL = uri + aFileName;
OUString aResName = aFileName.copy( 0, aFileName.getLength()-4 ); SAL_INFO(
if( m_aResFiles.find( aResName ) != m_aResFiles.end() ) "tools.rc",
continue; "ResMgrContainer: " << aResName << " -> "
OUStringBuffer aURL( dir_it->getLength() + aFileName.getLength() + 1 ); << m_aResFiles[ aResName ].aFileURL );
aURL.append( *dir_it );
if( !dir_it->endsWithIgnoreAsciiCaseAsciiL( "/", 1 ) )
aURL.append( sal_Unicode('/') );
aURL.append( aFileName );
m_aResFiles[ aResName ].aFileURL = aURL.makeStringAndClear();
}
} }
} }
#if OSL_DEBUG_LEVEL > 1
else
OSL_TRACE( "opening dir %s failed", OUStringToOString( *dir_it, osl_getThreadTextEncoding() ).getStr() );
#endif
} }
#if OSL_DEBUG_LEVEL > 1 else
for( boost::unordered_map< OUString, ContainerElement, OUStringHash >::const_iterator it = SAL_WARN( "tools.rc", "opening dir " << uri << " failed" );
m_aResFiles.begin(); it != m_aResFiles.end(); ++it )
{
OSL_TRACE( "ResMgrContainer: %s -> %s",
OUStringToOString( it->first, osl_getThreadTextEncoding() ).getStr(),
OUStringToOString( it->second.aFileURL, osl_getThreadTextEncoding() ).getStr() );
}
#endif
// set default language // set default language
LanguageType nLang = MsLangId::getSystemUILanguage(); LanguageType nLang = MsLangId::getSystemUILanguage();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment