summaryrefslogtreecommitdiff
path: root/sal
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2013-02-22 23:19:22 +0200
committerTor Lillqvist <tml@iki.fi>2013-02-22 23:21:22 +0200
commitfd56eb98e63b4aac12c9633d5847a3fb964f326d (patch)
treea11fd2818e25e2048ab163edad9dfefd6215f910 /sal
parent3eaa536ae457391c3826be50b0361f8d0c13cdd3 (diff)
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 52a8744afee2cd589813f0377d93f821fce7aedd. Change-Id: Ie94c771b72ba138bb0481b054285916618baf6eb
Diffstat (limited to 'sal')
-rw-r--r--sal/Library_sal.mk2
-rw-r--r--sal/Module_sal.mk8
-rw-r--r--sal/inc/sal/main.h20
-rw-r--r--sal/osl/unx/process_impl.cxx24
4 files changed, 12 insertions, 42 deletions
diff --git a/sal/Library_sal.mk b/sal/Library_sal.mk
index 1d8846096bd9..62f9ce3f3a11 100644
--- a/sal/Library_sal.mk
+++ b/sal/Library_sal.mk
@@ -181,7 +181,7 @@ $(eval $(call gb_Library_add_exception_objects,sal,\
sal/osl/unx/module \
sal/osl/unx/process \
sal/osl/unx/process_impl \
- sal/osl/unx/salinit \
+ $(if $(filter DESKTOP,$(BUILD_TYPE)), sal/osl/unx/salinit) \
sal/osl/unx/uunxapi \
))
$(eval $(call gb_Library_add_cobjects,sal,\
diff --git a/sal/Module_sal.mk b/sal/Module_sal.mk
index af97e4805703..7d20fa388992 100644
--- a/sal/Module_sal.mk
+++ b/sal/Module_sal.mk
@@ -31,7 +31,8 @@ $(eval $(call gb_Module_Module,sal))
$(eval $(call gb_Module_add_targets,sal,\
CustomTarget_generated \
CustomTarget_sal_allheaders \
- Executable_cppunittester \
+ $(if $(filter DESKTOP,$(BUILD_TYPE)), \
+ Executable_cppunittester) \
$(if $(filter $(OS),ANDROID), \
Library_lo-bootstrap) \
Library_sal \
@@ -45,13 +46,14 @@ $(eval $(call gb_Module_add_targets,sal,\
))
ifneq (,$(filter DESKTOP,$(BUILD_TYPE)))
+
$(eval $(call gb_Module_add_targets,sal,\
Executable_osl_process_child \
))
+
$(eval $(call gb_Module_add_check_targets,sal,\
CppunitTest_sal_osl_process \
))
-endif
$(eval $(call gb_Module_add_check_targets,sal,\
$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,CppunitTest_Module_DLL) \
@@ -88,6 +90,8 @@ $(eval $(call gb_Module_add_check_targets,sal,\
CppunitTest_sal_rtl_math \
))
+endif
+
# CppunitTest_sal_osl_pipe has circular dependency on unotest
# $(eval $(call gb_Module_add_subsequentcheck_targets,sal,\
CppunitTest_sal_osl_pipe \
diff --git a/sal/inc/sal/main.h b/sal/inc/sal/main.h
index 7cdc9bc62c0c..8648e38752ab 100644
--- a/sal/inc/sal/main.h
+++ b/sal/inc/sal/main.h
@@ -38,25 +38,7 @@ SAL_DLLPUBLIC void SAL_CALL sal_detail_deinitialize();
#if defined IOS || defined ANDROID
-#ifdef __cplusplus
-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(); \
-}
+#error No code that includes this should be built for iOS or Android
#else
diff --git a/sal/osl/unx/process_impl.cxx b/sal/osl/unx/process_impl.cxx
index 4a10af514557..723d10bcd436 100644
--- a/sal/osl/unx/process_impl.cxx
+++ b/sal/osl/unx/process_impl.cxx
@@ -104,26 +104,10 @@ oslProcessError SAL_CALL osl_bootstrap_getExecutableFile_Impl (
{
oslProcessError result = osl_Process_E_NotFound;
-#if defined(ANDROID) && !defined(DISABLE_DYNLOADING)
- /* On Android we in theory want the address of the "lo_main()"
- * function, as that is what corresponds to "main()" in
- * LibreOffice programs on normal desktop OSes.
- *
- * 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;
+#ifdef ANDROID
+ /* Now with just a single DSO, this one from lo-bootstrap.c is as good as
+ * any */
+ void * addr = dlsym (RTLD_DEFAULT, "JNI_OnLoad");
#else
/* Determine address of "main()" function. */
void * addr = dlsym (RTLD_DEFAULT, "main");