diff options
author | Tor Lillqvist <tml@iki.fi> | 2012-08-16 21:04:10 +0300 |
---|---|---|
committer | Tor Lillqvist <tml@iki.fi> | 2012-08-16 21:05:14 +0300 |
commit | 8b5cf7fb57c0f68ee312d7f7b404533807349318 (patch) | |
tree | 225332a33d0ae93aaf57dc0c2fcaa273012a49ab /solenv | |
parent | Having a pkg-config on the Mac *will* break the build, so error out (diff) | |
download | core-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.mk | 102 | ||||
-rw-r--r-- | solenv/inc/unx.mk | 10 | ||||
-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 |