summaryrefslogtreecommitdiffstats
path: root/solenv
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2012-08-16 21:04:10 +0300
committerTor Lillqvist <tml@iki.fi>2012-08-16 21:05:14 +0300
commit8b5cf7fb57c0f68ee312d7f7b404533807349318 (patch)
tree225332a33d0ae93aaf57dc0c2fcaa273012a49ab /solenv
parentHaving a pkg-config on the Mac *will* break the build, so error out (diff)
downloadcore-8b5cf7fb57c0f68ee312d7f7b404533807349318.tar.gz
core-8b5cf7fb57c0f68ee312d7f7b404533807349318.zip
For kicks, enable cross-building for Android on MIPS
Change-Id: I6fa2b9a50c525fb2d8666a144409eb9a3ad2698a
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/platform/ANDROID_GODSON_GCC.mk102
-rw-r--r--solenv/inc/unx.mk10
-rw-r--r--solenv/inc/unxand.mk (renamed from solenv/inc/unxandr.mk)2
3 files changed, 107 insertions, 7 deletions
diff --git a/solenv/gbuild/platform/ANDROID_GODSON_GCC.mk b/solenv/gbuild/platform/ANDROID_GODSON_GCC.mk
new file mode 100644
index 000000000000..bb2a90ba526d
--- /dev/null
+++ b/solenv/gbuild/platform/ANDROID_GODSON_GCC.mk
@@ -0,0 +1,102 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2010 Red Hat, Inc., Caolán McNamara <caolanm@redhat.com>
+# (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+#please make generic modifications to unxgcc.mk or linux.mk
+gb_CPUDEFS += -DMIPS
+gb_COMPILERDEFAULTOPTFLAGS := -Os
+
+include $(GBUILDDIR)/platform/unxgcc.mk
+
+# Link almost everything with -lgnustl_shared
+gb_STDLIBS := \
+ gnustl_shared \
+
+gb_Library_PLAINLIBS_NONE := \
+ android \
+ gnustl_shared \
+
+# No unit testing can be run
+gb_CppunitTest_CPPTESTPRECOMMAND := :
+
+# Re-define this from unxgcc.mk with some small but important
+# changes. Just temporarily done this way, shm_get promised to
+# eventually enable this to be done this in some more elegant and less
+# redundant fashion.
+
+gb_LinkTarget_LDFLAGS += \
+ -Wl,-z,defs \
+ -Wl,--as-needed \
+ -Wl,--no-add-needed
+
+define gb_LinkTarget__command_dynamiclink
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ $(gb_CXX) \
+ -shared \
+ $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
+ $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \
+ $(subst \d,$$,$(RPATH)) \
+ $(T_LDFLAGS) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+ $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(ASMOBJECTS),$(call gb_AsmObject_get_target,$(object))) \
+ $(foreach object,$(GENCOBJECTS),$(call gb_GenCObject_get_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
+ $(foreach extraobjectlist,$(EXTRAOBJECTLISTS),`cat $(extraobjectlist)`) \
+ -Wl$(COMMA)--start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) -Wl$(COMMA)--end-group \
+ $(LIBS) \
+ $(patsubst lib%.a,-l%,$(patsubst lib%.so,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib))))) \
+ -o $(1))
+endef
+
+# Prefix UNO library filenames with "lib"
+gb_Library_FILENAMES := \
+ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_RTLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
+ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
+ $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_UNOEXT)) \
+ $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_UNOEXT)) \
+ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT)) \
+
+
+# No DT_RPATH or DT_RUNPATH support in the Bionic dynamic linker so
+# don't bother generating such.
+
+define gb_Library_get_rpath
+endef
+
+define gb_Executable_get_rpath
+endef
+
+gb_LinkTarget_LDFLAGS := $(subst -Wl$(COMMA)-rpath-link$(COMMA)$(SYSBASE)/lib:$(SYSBASE)/usr/lib,,$(gb_LinkTarget_LDFLAGS))
+
+gb_Library__set_soversion_script_platform =
+
+# vim: set noet sw=4:
diff --git a/solenv/inc/unx.mk b/solenv/inc/unx.mk
index 619c2e828736..dc62a50b13f3 100644
--- a/solenv/inc/unx.mk
+++ b/solenv/inc/unx.mk
@@ -91,12 +91,8 @@
.INCLUDE : unxlngr.mk
.ENDIF
-.IF "$(COM)$(OS)$(CPU)" == "GCCANDROIDR"
-.INCLUDE : unxandr.mk
-.ENDIF
-
-.IF "$(COM)$(OS)$(CPU)" == "GCCANDROIDI"
-.INCLUDE : unxandr.mk
+.IF "$(COM)$(OS)" == "GCCANDROID"
+.INCLUDE : unxand.mk
.ENDIF
.IF "$(COM)$(OS)$(CPU)" == "GCCLINUXA"
@@ -199,4 +195,4 @@ SOLARLIB+=-L$(KDE_ROOT)/lib64
OOO_LIBRARY_PATH_VAR *= DYLD_LIBRARY_PATH
.ELSE
OOO_LIBRARY_PATH_VAR *= LD_LIBRARY_PATH
-.ENDIF \ No newline at end of file
+.ENDIF
diff --git a/solenv/inc/unxandr.mk b/solenv/inc/unxand.mk
index 5065aa1491f7..8025388a9f64 100644
--- a/solenv/inc/unxandr.mk
+++ b/solenv/inc/unxand.mk
@@ -31,6 +31,8 @@ CDEFAULTOPT=-Os
.INCLUDE : unxgcc.mk
.IF "$(CPU)" == "I"
CDEFS+=-DX86
+.ELIF "$(CPU)" == "M"
+CDEFS+=-DMIPS
.ELSE
CDEFS+=-DARM32
.ENDIF