summaryrefslogtreecommitdiffstats
path: root/ios/CustomTarget_iOS_setup.mk
diff options
context:
space:
mode:
Diffstat (limited to 'ios/CustomTarget_iOS_setup.mk')
-rw-r--r--ios/CustomTarget_iOS_setup.mk138
1 files changed, 138 insertions, 0 deletions
diff --git a/ios/CustomTarget_iOS_setup.mk b/ios/CustomTarget_iOS_setup.mk
new file mode 100644
index 000000000..f44a15447
--- /dev/null
+++ b/ios/CustomTarget_iOS_setup.mk
@@ -0,0 +1,138 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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/.
+#
+
+
+#- Env ------------------------------------------------------------------------
+IOSGEN = $(BUILDDIR)/workdir/CustomTarget/ios
+IOSRES = $(IOSGEN)/resources
+IOSDIRS = $(IOSGEN) \
+ $(IOSGEN)/Debug_x86_64 \
+ $(IOSGEN)/Debug_arm64 \
+ $(IOSGEN)/Release_x86_64 \
+ $(IOSGEN)/Release_arm64 \
+ $(IOSRES) \
+ $(IOSRES)/services \
+ $(IOSRES)/program \
+ $(IOSRES)/share \
+ $(IOSRES)/config \
+ $(IOSRES)/share/filter
+
+
+#- Top level -----------------------------------------------------------------
+$(eval $(call gb_CustomTarget_CustomTarget,ios/iOS_setup))
+
+$(call gb_CustomTarget_get_target,ios/iOS_setup): $(IOSGEN)/native-code.h
+
+
+#- create directories --------------------------------------------------------
+$(IOSDIRS):
+ $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),MKD,2)
+ $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),MKD)
+ mkdir -p $(IOSDIRS)
+ $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),MKD)
+
+
+#- Generate resources --------------------------------------------------------
+$(IOSGEN)/native-code.h: $(BUILDDIR)/config_host.mk \
+ $(SRCDIR)/ios/CustomTarget_iOS_setup.mk \
+ $(SRCDIR)/solenv/bin/native-code.py \
+ $(IOSGEN) \
+ $(IOSDIRS)
+ $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),EN2,2)
+ $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),EN2)
+ $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),EN2)
+
+ # generate native-code.h (used by LibreOffice.c)
+ xcrun python3 $(SRCDIR)/solenv/bin/native-code.py \
+ -C -g core -g writer -g calc -g draw -g edit \
+ > $(IOSGEN)/native-code.h
+
+ # copy resource files used to start/run LibreOffice
+ cp $(WORKDIR)/UnpackedTarball/icu/source/data/in/icudt$(ICU_MAJOR)l.dat $(IOSRES)/icudt$(ICU_MAJOR)l.dat
+ cp $(INSTDIR)/program/types.rdb $(IOSRES)/udkapi.rdb
+ cp $(INSTDIR)/program/types/offapi.rdb $(IOSRES)
+ cp $(INSTDIR)/program/types/oovbaapi.rdb $(IOSRES)
+ cp $(INSTDIR)/program/services/services.rdb $(IOSRES)/services
+ cp $(INSTDIR)/program/services.rdb $(IOSRES)
+ if test -d $(INSTDIR)/program/resource; then \
+ cp -R $(INSTDIR)/program/resource $(IOSRES)/program; \
+ fi
+ mkdir -p $(IOSRES)/share/config
+ cp -R $(INSTDIR)/share/config/soffice.cfg $(IOSRES)/share/config
+ cp $(INSTDIR)/share/filter/oox-drawingml-adj-names $(IOSRES)/share/filter
+ cp $(INSTDIR)/share/filter/oox-drawingml-cs-presets $(IOSRES)/share/filter
+ cp $(INSTDIR)/share/filter/vml-shape-types $(IOSRES)/share/filter
+ cp -R $(INSTDIR)/share/registry $(IOSRES)/share
+ cp $(INSTDIR)/share/config/*zip $(IOSRES)/share/config
+ cp -R $(INSTDIR)/share/liblangtag $(IOSRES)/share
+ cp -R $(INSTDIR)/share/theme_definitions $(IOSRES)/share
+ cp -R $(INSTDIR)/share/template $(IOSRES)/share
+ mkdir -p $(IOSRES)/share/fonts
+ cp -R $(INSTDIR)/share/fonts/truetype $(IOSRES)/share/fonts
+ cp -R $(INSTDIR)/share/gallery $(IOSRES)/share
+ mkdir -p $(IOSRES)/share/spell $(IOSRES)/share/thes
+ # Install the Swiss German dictionary and use it for Liechtenstein, too.
+ # Install also thesauruses.
+ if test -d $(INSTDIR)/share/extensions/dict-de; then \
+ cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.aff $(IOSRES)/share/spell/de_CH.aff; \
+ cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.dic $(IOSRES)/share/spell/de_CH.dic; \
+ cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.aff $(IOSRES)/share/spell/de_LI.aff; \
+ cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.dic $(IOSRES)/share/spell/de_LI.dic; \
+ cp $(INSTDIR)/share/extensions/*/th_*_v2.* $(IOSRES)/share/thes; \
+ cp $(INSTDIR)/share/extensions/dict-en/th_en_US_v2.dat $(IOSRES)/share/thes/th_en_GB_v2.dat; \
+ cp $(INSTDIR)/share/extensions/dict-en/th_en_US_v2.idx $(IOSRES)/share/thes/th_en_GB_v2.idx; \
+ fi
+ cp -R $(INSTDIR)/share/palette $(IOSRES)/share
+ cp -R $(INSTDIR)/share/fingerprint $(IOSRES)/share
+ cp $(SRCDIR)/ios/welcome.odt $(IOSRES)
+
+ # Set up rc (the "inifile", fundamentalrc, unorc, bootstraprc and versionrc.
+ (echo '[Bootstrap]' \
+ && echo 'URE_BOOTSTRAP=file://$$APP_DATA_DIR/fundamentalrc' \
+ && echo 'HOME=$$SYSUSERHOME' \
+ ) > $(IOSRES)/rc
+
+ (echo '[Bootstrap]' \
+ && echo 'BRAND_BASE_DIR=file://$$APP_DATA_DIR' \
+ && echo 'BRAND_INI_DIR=file:://$$APP_DATA_DIR' \
+ && echo 'BRAND_SHARE_SUBDIR=$(LIBO_SHARE_FOLDER)' \
+ && echo 'BRAND_SHARE_RESOURCE_SUBDIR=$(LIBO_SHARE_RESOURCE_FOLDER)' \
+ && echo 'CONFIGURATION_LAYERS=xcsxcu:$${BRAND_BASE_DIR}/share/registry ' \
+ 'res:$${BRAND_BASE_DIR}/share/registry' \
+ && echo 'LO_LIB_DIR=file://$$APP_DATA_DIR/lib/' \
+ && echo 'UNO_TYPES=file://$$APP_DATA_DIR/udkapi.rdb ' \
+ 'file://$$APP_DATA_DIR/offapi.rdb' \
+ && echo 'UNO_SERVICES=file://$$APP_DATA_DIR/services.rdb ' \
+ 'file://$$APP_DATA_DIR/services/services.rdb' \
+ && echo 'OSL_SOCKET_PATH=$$APP_DATA_DIR/cache' \
+ ) > $(IOSRES)/fundamentalrc;
+
+ echo '[Bootstrap]' > $(IOSRES)/unorc
+
+ # bootstraprc must be in $BRAND_BASE_DIR/program
+ (echo '[Bootstrap]' \
+ && echo 'InstallMode=<installmode>' \
+ && echo "ProductKey=LibreOffice $(PRODUCTVERSION)" \
+ && echo 'UserInstallation=$$SYSUSERHOME' \
+ ) > $(IOSRES)/program/bootstraprc
+
+ (echo '[Version]' \
+ && echo 'AllLanguages=en-US' \
+ && echo "buildid=$(shell git -C $(SRCDIR) log -1 --format=%H)" \
+ ) > $(IOSRES)/program/versionrc
+
+ $(SRCDIR)/bin/lo-all-static-libs | sed -e 's/ /\
+/g' >$(IOSGEN)/ios-all-static-libs.list
+
+#- clean ios -----------------------------------------------------------------
+$(call gb_CustomTarget_get_clean_target,ios/iOS_setup):
+ $(call gb_Output_announce,$(subst $(WORKDIR)/Clean/,,$@),$(false),ENV,2)
+ rm -rf $(IOSRES)/* $(IOSGEN)/native-code.h $(IOSGEN)
+
+# vim: set noet sw=4 ts=4: