summaryrefslogtreecommitdiff
path: root/sal
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2022-12-28 13:47:26 +0200
committerTor Lillqvist <tml@collabora.com>2022-12-28 13:08:56 +0000
commitde3b4b02008d708a66f8d6a8a365974eac7de3b3 (patch)
tree6155bc059c83706117233e445ce6cc1f78b4c129 /sal
parenta510543a466aca0d152f82af24d16563f28455f0 (diff)
Introduce lo_get_app_data_dir() for Emscripten, too
And not just Android. Hardcoded to return "/instdir" to match what is in the emscripten_fs_image. Change-Id: I26d4ec5e02ec9900e35ca47f1565a13ad2b723b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144849 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
Diffstat (limited to 'sal')
-rw-r--r--sal/Library_lo-bootstrap.mk9
-rw-r--r--sal/Library_sal.mk2
-rw-r--r--sal/Module_sal.mk2
-rw-r--r--sal/emscripten/lo-bootstrap.c19
-rw-r--r--sal/rtl/bootstrap.cxx6
5 files changed, 35 insertions, 3 deletions
diff --git a/sal/Library_lo-bootstrap.mk b/sal/Library_lo-bootstrap.mk
index 3dc4bf9dfeaa..1e727cdee427 100644
--- a/sal/Library_lo-bootstrap.mk
+++ b/sal/Library_lo-bootstrap.mk
@@ -10,6 +10,8 @@
$(eval $(call gb_Library_Library,lo-bootstrap))
+ifeq (ANDROID,$(OS))
+
# We explicitly *don't* want gb_STDLIBS to be linked here
$(eval $(call gb_Library_disable_standard_system_libs,lo-bootstrap))
@@ -22,6 +24,13 @@ $(eval $(call gb_Library_add_cobjects,lo-bootstrap,\
sal/android/libreofficekit-jni \
sal/android/lo-bootstrap \
))
+endif
+
+ifeq (EMSCRIPTEN,$(OS))
+$(eval $(call gb_Library_add_cobjects,lo-bootstrap,\
+ sal/emscripten/lo-bootstrap \
+))
+endif
$(eval $(call gb_Library_set_include,lo-bootstrap,\
$$(INCLUDE) \
diff --git a/sal/Library_sal.mk b/sal/Library_sal.mk
index aae7c97f0310..decfa39ce304 100644
--- a/sal/Library_sal.mk
+++ b/sal/Library_sal.mk
@@ -37,7 +37,7 @@ $(eval $(call gb_Library_add_defs,sal,\
))
$(eval $(call gb_Library_use_libraries,sal,\
- $(if $(filter ANDROID,$(OS)), \
+ $(if $(filter ANDROID EMSCRIPTEN,$(OS)), \
lo-bootstrap \
) \
))
diff --git a/sal/Module_sal.mk b/sal/Module_sal.mk
index 34c3f1450613..854d46a8e6d4 100644
--- a/sal/Module_sal.mk
+++ b/sal/Module_sal.mk
@@ -11,7 +11,7 @@ $(eval $(call gb_Module_Module,sal))
$(eval $(call gb_Module_add_targets,sal,\
$(if $(CROSS_COMPILING),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,Executable_cppunittester)) \
- $(if $(filter $(OS),ANDROID), \
+ $(if $(filter $(OS),ANDROID EMSCRIPTEN), \
Library_lo-bootstrap) \
Library_sal \
$(call gb_CondLibSalTextenc,Library_sal_textenc) \
diff --git a/sal/emscripten/lo-bootstrap.c b/sal/emscripten/lo-bootstrap.c
new file mode 100644
index 000000000000..cfcf3df1fdf2
--- /dev/null
+++ b/sal/emscripten/lo-bootstrap.c
@@ -0,0 +1,19 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include <osl/detail/emscripten-bootstrap.h>
+
+__attribute__ ((visibility("default")))
+const char *
+lo_get_app_data_dir(void)
+{
+ return "/instdir";
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sal/rtl/bootstrap.cxx b/sal/rtl/bootstrap.cxx
index 422411190ea4..04e0a4d0ed14 100644
--- a/sal/rtl/bootstrap.cxx
+++ b/sal/rtl/bootstrap.cxx
@@ -50,6 +50,10 @@
#include <osl/detail/android-bootstrap.h>
#endif
+#ifdef EMSCRIPTEN
+#include <osl/detail/emscripten-bootstrap.h>
+#endif
+
#ifdef IOS
#include <premac.h>
#import <Foundation/Foundation.h>
@@ -456,7 +460,7 @@ bool Bootstrap_Impl::getValue(
return true;
}
-#ifdef ANDROID
+#if defined ANDROID || defined EMSCRIPTEN
if (key == "APP_DATA_DIR")
{
const char *app_data_dir = lo_get_app_data_dir();