Not using NativeActivity means no lo_main() stuff used either

Hopefully also fixes build for iOS by re-introducing checks for DESKTOP.

Also this commit partially reverts 52a8744afe.

Change-Id: Ie94c771b72ba138bb0481b054285916618baf6eb
This commit is contained in:
Tor Lillqvist
2013-02-22 23:19:22 +02:00
parent 3eaa536ae4
commit fd56eb98e6
6 changed files with 15 additions and 53 deletions

View File

@@ -94,13 +94,4 @@ ifeq ($(ENABLE_TELEPATHY),TRUE)
$(eval $(call gb_Library_use_libraries,sofficeapp,tubes)) $(eval $(call gb_Library_use_libraries,sofficeapp,tubes))
endif endif
#
# We need the lo_main symbol for our boostrap loader
#
ifeq ($(OS),ANDROID)
$(eval $(call gb_Library_add_cobjects,sofficeapp,\
desktop/source/app/main \
))
endif
# vim: set ts=4 sw=4 et: # vim: set ts=4 sw=4 et:

View File

@@ -181,7 +181,7 @@ $(eval $(call gb_Library_add_exception_objects,sal,\
sal/osl/unx/module \ sal/osl/unx/module \
sal/osl/unx/process \ sal/osl/unx/process \
sal/osl/unx/process_impl \ sal/osl/unx/process_impl \
sal/osl/unx/salinit \ $(if $(filter DESKTOP,$(BUILD_TYPE)), sal/osl/unx/salinit) \
sal/osl/unx/uunxapi \ sal/osl/unx/uunxapi \
)) ))
$(eval $(call gb_Library_add_cobjects,sal,\ $(eval $(call gb_Library_add_cobjects,sal,\

View File

@@ -31,7 +31,8 @@ $(eval $(call gb_Module_Module,sal))
$(eval $(call gb_Module_add_targets,sal,\ $(eval $(call gb_Module_add_targets,sal,\
CustomTarget_generated \ CustomTarget_generated \
CustomTarget_sal_allheaders \ CustomTarget_sal_allheaders \
Executable_cppunittester \ $(if $(filter DESKTOP,$(BUILD_TYPE)), \
Executable_cppunittester) \
$(if $(filter $(OS),ANDROID), \ $(if $(filter $(OS),ANDROID), \
Library_lo-bootstrap) \ Library_lo-bootstrap) \
Library_sal \ Library_sal \
@@ -45,13 +46,14 @@ $(eval $(call gb_Module_add_targets,sal,\
)) ))
ifneq (,$(filter DESKTOP,$(BUILD_TYPE))) ifneq (,$(filter DESKTOP,$(BUILD_TYPE)))
$(eval $(call gb_Module_add_targets,sal,\ $(eval $(call gb_Module_add_targets,sal,\
Executable_osl_process_child \ Executable_osl_process_child \
)) ))
$(eval $(call gb_Module_add_check_targets,sal,\ $(eval $(call gb_Module_add_check_targets,sal,\
CppunitTest_sal_osl_process \ CppunitTest_sal_osl_process \
)) ))
endif
$(eval $(call gb_Module_add_check_targets,sal,\ $(eval $(call gb_Module_add_check_targets,sal,\
$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,CppunitTest_Module_DLL) \ $(if $(filter TRUE,$(DISABLE_DYNLOADING)),,CppunitTest_Module_DLL) \
@@ -88,6 +90,8 @@ $(eval $(call gb_Module_add_check_targets,sal,\
CppunitTest_sal_rtl_math \ CppunitTest_sal_rtl_math \
)) ))
endif
# CppunitTest_sal_osl_pipe has circular dependency on unotest # CppunitTest_sal_osl_pipe has circular dependency on unotest
# $(eval $(call gb_Module_add_subsequentcheck_targets,sal,\ # $(eval $(call gb_Module_add_subsequentcheck_targets,sal,\
CppunitTest_sal_osl_pipe \ CppunitTest_sal_osl_pipe \

View File

@@ -38,25 +38,7 @@ SAL_DLLPUBLIC void SAL_CALL sal_detail_deinitialize();
#if defined IOS || defined ANDROID #if defined IOS || defined ANDROID
#ifdef __cplusplus #error No code that includes this should be built for iOS or Android
extern "C" SAL_DLLPUBLIC_EXPORT void lo_main(int argc, char **argv);
#endif
#define SAL_MAIN_WITH_ARGS_IMPL \
SAL_DLLPUBLIC_EXPORT void lo_main(int argc, char **argv) \
{ \
sal_detail_initialize(argc, argv); \
sal_main_with_args(argc, argv); \
sal_detail_deinitialize(); \
}
#define SAL_MAIN_IMPL \
SAL_DLLPUBLIC_EXPORT void lo_main(int argc, char **argv) \
{ \
sal_detail_initialize(argc, argv); \
sal_main(); \
sal_detail_deinitialize(); \
}
#else #else

View File

@@ -104,26 +104,10 @@ oslProcessError SAL_CALL osl_bootstrap_getExecutableFile_Impl (
{ {
oslProcessError result = osl_Process_E_NotFound; oslProcessError result = osl_Process_E_NotFound;
#if defined(ANDROID) && !defined(DISABLE_DYNLOADING) #ifdef ANDROID
/* On Android we in theory want the address of the "lo_main()" /* Now with just a single DSO, this one from lo-bootstrap.c is as good as
* function, as that is what corresponds to "main()" in * any */
* LibreOffice programs on normal desktop OSes. void * addr = dlsym (RTLD_DEFAULT, "JNI_OnLoad");
*
* But that is true only for apps with a "native activity", using
* <sal/main.h> and the org.libreoffice.android.Bootstrap
* mechanism. For more normal (?) Android apps that just use
* LibreOffice libraries (components) where the main program is in
* Java, that just use LibreOffice libraries, there is no
* lo_main(). (Note that we don't know for sure yet how
* complicated it might be to write such Android apps...)
*
* Maybe best to just pick some function in liblo-bootstrap.so
* which also such Java apps *must* load as the very first
* LibreOffice native library. We store all LibreOffice native
* shared libraries an app uses in the same folder anyway, so it
* doesn't really matter.
*/
void * addr = (void *) &lo_dlopen;
#else #else
/* Determine address of "main()" function. */ /* Determine address of "main()" function. */
void * addr = dlsym (RTLD_DEFAULT, "main"); void * addr = dlsym (RTLD_DEFAULT, "main");

View File

@@ -24,8 +24,9 @@ $(eval $(call gb_Module_add_targets,vcl,\
CustomTarget_afm_hash \ CustomTarget_afm_hash \
Library_vcl \ Library_vcl \
Package_inc \ Package_inc \
StaticLibrary_vclmain \ $(if $(filter DESKTOP,$(BUILD_TYPE)), \
Executable_ui-previewer \ StaticLibrary_vclmain \
Executable_ui-previewer) \
UI_vcl \ UI_vcl \
)) ))