Kaydet (Commit) 11f001f1 authored tarafından jan Iversen's avatar jan Iversen

iOS, build instructions.

Added README with instruction on how to build for
the different platforms, updated iOS files corresponding

Change-Id: I8a85f808841d682bc09f1e3b039192e342ecc484
üst 4bf3b4ee
......@@ -4413,7 +4413,8 @@ if test "$cross_compiling" = "yes"; then
instsetoo_native/util/openoffice.lst.in \
config_host/*.in \
sysui/desktop/macosx/Info.plist.in \
ios/lo.xcconfig.in) \
ios/LibreOfficeKit/lo_kit.xcconfig.in \
ios/LibreOfficeApp/lo_app.xcconfig.in) \
| (cd CONF-FOR-BUILD && tar xf -)
cp configure CONF-FOR-BUILD
test -d config_build && cp -p config_build/*.h CONF-FOR-BUILD/config_host 2>/dev/null
......@@ -12377,7 +12378,8 @@ AC_CONFIG_FILES([config_host.mk
bin/officeotron.sh
instsetoo_native/util/openoffice.lst
sysui/desktop/macosx/Info.plist
ios/lo.xcconfig])
ios/LibreOfficeKit/lo_kit.xcconfig
ios/LibreOfficeLight/lo_app.xcconfig])
AC_CONFIG_HEADERS([config_host/config_buildid.h])
AC_CONFIG_HEADERS([config_host/config_clang.h])
AC_CONFIG_HEADERS([config_host/config_dconf.h])
......
......@@ -6,5 +6,4 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
ioswork
lo.xcconfig
lo*.xcconfig
......@@ -11,7 +11,6 @@ IOSWORK := $(BUILDDIR)/workdir
IOSDIR := $(IOSWORK)/ios
IOSRESOURCE := $(IOSDIR)/resources
IOSGENERATED := $(IOSDIR)/generated
IOSLINK := $(SRCDIR)/ios/ioswork
LO_XCCONFIG = $(IOSGENERATED)/lo.xcconfig
......@@ -20,7 +19,8 @@ define IOSbuild
CC=; \
$(call gb_Helper_print_on_error, \
xcodebuild \
-project $(SRCDIR)/ios/experimental/$(1)/$(1).xcodeproj \
-xcconfig $(BUILDDIR)/ios/$1/lo_kit.xconfig \
-project $(SRCDIR)/ios/$(1)/$(1).xcodeproj \
-target $(1) \
-sdk $(XCODEBUILD_SDK) \
-arch $(XCODE_ARCHS) \
......@@ -42,9 +42,8 @@ $(LO_XCCONFIG) :
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ENV,2)
# prepare work directories for all ios builds
rm -rf $(IOSRESOURCE) $(IOSLINK) 2>/dev/null;
rm -rf $(IOSRESOURCE) 2>/dev/null;
mkdir -p $(IOSDIR) $(IOSGENERATED) $(IOSRESOURCE) $(IOSRESOURCE)/services;
ln -s $(IOSWORK) $(IOSLINK)
# generate file with call declarations
$(SRCDIR)/solenv/bin/native-code.py \
......@@ -127,7 +126,6 @@ $(LO_XCCONFIG) :
$(call gb_CustomTarget_get_clean_target,ios/Lo_Xcconfig):
$(call gb_Output_announce,$(subst $(WORKDIR)/Clean/,,$@),$(false),ENV,2)
rm -rf $(IOSDIR)
rm -f $(IOSLINK)
rm -f $(WORKDIR)/CustomTarget/ios/Lo_Xcconfig.done
......
# -*- 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 ------------------------------------------------------------------------
BUILDID :=$(shell cd $(SRCDIR) && git log -1 --format=%H)
#- Targets --------------------------------------------------------------------
.PHONY: Prototype_setup
# Register target
$(eval $(call gb_CustomTarget_CustomTarget,ios/Prototype))
# Build
# Depend on the custom target that sets up lo.xcconfig
$(call gb_CustomTarget_get_target,ios/Prototype): $(call gb_CustomTarget_get_target,ios/Lo_Xcconfig)
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),APP,2)
$(call IOSbuild,Prototype, clean build)
# Clean
$(call gb_CustomTarget_get_clean_target,ios/Prototype):
$(call gb_Output_announce,$(subst $(WORKDIR)/Clean/,,$@),$(false),APP,2)
$(call IOSbuild,Prototype, clean)
# vim: set noet sw=4 ts=4:
******
Everything in ios is currently
WORK IN PROGRESS
Do not expect it to work, or even compile
If you want to help with the work, please send
an email to our dev@ list.
rgds
jan I
......@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objectVersion = 48;
objects = {
/* Begin PBXBuildFile section */
......@@ -25,7 +25,6 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
3969A8CA1F7826EB006F06A9 /* lo.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = lo.xcconfig; path = ../../ioswork/ios/generated/lo.xcconfig; sourceTree = "<group>"; };
39B5D2151F78130F008FB162 /* libLibreOfficeKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libLibreOfficeKit.a; sourceTree = BUILT_PRODUCTS_DIR; };
39B5D2181F78130F008FB162 /* LibreOfficeKit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LibreOfficeKit.h; sourceTree = "<group>"; };
39B5D2191F78130F008FB162 /* LibreOfficeKit.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LibreOfficeKit.mm; sourceTree = "<group>"; };
......@@ -45,7 +44,6 @@
3969A8C91F782610006F06A9 /* Support files */ = {
isa = PBXGroup;
children = (
3969A8CA1F7826EB006F06A9 /* lo.xcconfig */,
);
name = "Support files";
sourceTree = "<group>";
......@@ -112,7 +110,7 @@
};
};
buildConfigurationList = 39B5D2101F78130F008FB162 /* Build configuration list for PBXProject "LibreOfficeKit" */;
compatibilityVersion = "Xcode 3.2";
compatibilityVersion = "Xcode 8.0";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
......
......@@ -50,7 +50,6 @@
3992D8591E5B762A00BEA987 /* DocumentController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DocumentController.swift; path = LibreOfficeLight/DocumentController.swift; sourceTree = SOURCE_ROOT; };
3992D85B1E5B764A00BEA987 /* SideMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SideMenu.swift; path = LibreOfficeLight/SideMenu.swift; sourceTree = SOURCE_ROOT; };
399648461E5B87DC00E73E83 /* ViewProperties.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ViewProperties.swift; path = LibreOfficeLight/ViewProperties.swift; sourceTree = SOURCE_ROOT; };
39B084E21E5F0A9600682A59 /* lo.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = lo.xcconfig; path = ../../ioswork/ios/generated/lo.xcconfig; sourceTree = SOURCE_ROOT; };
39B084E51E5F0BB400682A59 /* fundamentalrc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = fundamentalrc; path = ../../ioswork/ios/resources/fundamentalrc; sourceTree = SOURCE_ROOT; };
39B084E61E5F0BB400682A59 /* offapi.rdb */ = {isa = PBXFileReference; lastKnownFileType = file; name = offapi.rdb; path = ../../ioswork/ios/resources/offapi.rdb; sourceTree = SOURCE_ROOT; };
39B084E71E5F0BB400682A59 /* oovbaapi.rdb */ = {isa = PBXFileReference; lastKnownFileType = file; name = oovbaapi.rdb; path = ../../ioswork/ios/resources/oovbaapi.rdb; sourceTree = SOURCE_ROOT; };
......@@ -78,7 +77,6 @@
39022C221EDC303200100066 /* InfoPlist.strings */,
39B092501E5F3DEA00682A59 /* LibreOfficeLight-Prefix.pch */,
397275391E77D9F1006ACDCC /* LibreOfficeLight.entitlements */,
39B084E21E5F0A9600682A59 /* lo.xcconfig */,
397E09071E597BD8001374E0 /* Assets.xcassets */,
396F92F61E7AE62400A28C82 /* Settings.bundle */,
);
......@@ -286,7 +284,6 @@
/* Begin XCBuildConfiguration section */
397E09231E597BD8001374E0 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 39B084E21E5F0A9600682A59 /* lo.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD)";
......@@ -364,7 +361,6 @@
};
397E09241E597BD8001374E0 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 39B084E21E5F0A9600682A59 /* lo.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD)";
......@@ -436,7 +432,6 @@
};
397E09261E597BD8001374E0 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 39B084E21E5F0A9600682A59 /* lo.xcconfig */;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
......@@ -476,7 +471,6 @@
};
397E09271E597BD8001374E0 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 39B084E21E5F0A9600682A59 /* lo.xcconfig */;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
......
// -*- Mode: text; tab-width: 4; indent-tabs-mode: nil; word-wrap: nil -*-
//
// 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/.
// Xcode configuration properties
// To avoid confusion, the LO-specific ones that aren't as such used
// by Xcode (but only expanded in option values) are prefixed with
// LO_.
LO_BUILDDIR = @BUILDDIR@
LO_INSTDIR = @INSTDIR@
LO_SRCDIR = @SRC_ROOT@
LO_WORKDIR = @WORKDIR@
// These are actual Xcode-known settings. The corresponding autoconf
// variables are prefixed with XCODE_ to make it clear in configure.ac
// what they will be used for.
ARCHS = @XCODE_ARCHS@
VALID_ARCHS = @XCODE_ARCHS@
CLANG_CXX_LIBRARY = @XCODE_CLANG_CXX_LIBRARY@
DEBUG_INFORMATION_FORMAT=@XCODE_DEBUG_INFORMATION_FORMAT@
// These settings are edited in CustomTarget_Lo_Xcconfig.mk.
LINK_LDFLAGS =
OTHER_CFLAGS =
OTHER_CPLUSPLUSFLAGS =
SYMROOT = @WORKDIR@/ios/build
experimental iOS apps that use LibreOffice code.
iOS experimental app and LibreOfficeKit.
-- experiments/LibreOfficeKit
prelink all LO libraries into one to facilitate easier linking
-- experiments/LibreOfficeLight
a swift based UI, very much work in progress
-- support
the arm64 and simulator are the only supported processsors,
old 32 bit iPhones are not supported.
The swift app are done for 3 structures
simulator + full debug libraries
arm64 + full debug libraries
arm64 + optimized libraries
-- SETUP
Due to the 3 modes, at lease 3 workdir are needed together with a
seperate UI workdir.
Because the main work is done on the UI, where it is convinient to
swift fast between arm64 and simulator, it is advanteous to compile
the 3 configurations of LO first, and then link against those.
Due to the multiple workdirs a distint directory setup is needed
./core - libreoffice git clone (name can be changed)
./ios-arm64 - workdir for production, autogen.input:
standard +
#--enable-debug
#--enable-ios-simulator
--host=arm64-apple-darwin
./ios-arm64-debug - workdir for debug on device, autogen.input:
standard +
--enable-debug
#--enable-ios-simulator
--host=arm64-apple-darwin
./ios-simulator - workdir for simulator-debug, autogen.input:
standard +
--enable-debug
--enable-ios-simulator
--host=arm64-apple-darwin
./ios-app - workdir for UI, NO autogen.input
-- Steps to generate
1) copy ./core/distro-configs/LibreOfficeiOS.conf to autogen.input in
./ios-arm64, ./ios-arm64-debug, ./ios-simulator
Correct as per above, add your local setup (e.g. location of tarballs)
2) run ../core/autogen.sh in ios-arm64, ios-arm64-debug and ios-simulator
this will generate ./*/ios/lo.xcconfig and prepare LO to be compiled
3) run make in ios-arm64, ios-arm64-debug and ios-simulator
this will build LO is 3 configurations and store the LibreOfficeKit
libraries in ./ios-app/libraries as:
./ios-app/Library/LibreOfficeKit-arm64.a
./ios-app/Library/LibreOfficeKit-arm64-debug.a
./ios-app/Library/LibreOfficeKit-simulator.a
4) open xcode with LibreOfficeLight and enjoy
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