diff options
author | Michael Stahl <mstahl@redhat.com> | 2012-09-28 00:18:12 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-09-28 16:49:07 +0200 |
commit | cee32aae398283c38b42c73add694e9d074a5d62 (patch) | |
tree | 6b24d1825a8ecab75c160db1734f7660c8759621 /solenv | |
parent | b05430409b3eb3a4b8649895788e025fc9a0d9a0 (diff) |
gbuild: clean up Mac OS X framework handling:
There are currently 3 different mechanisms being used for frameworks,
which is of course intolerable so we invent a 4th one and standardize on
it: gb_LinkTarget_use_darwin_frameworks
(This doesn't mean using add_libs or externals was wrong, it was just
inconsistent... and i don't see an obvious benefit of using externals here)
Change-Id: I5de9020402c87e7236c6a358c47f02fa56642d3d
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/gbuild/CppunitTest.mk | 1 | ||||
-rw-r--r-- | solenv/gbuild/Executable.mk | 1 | ||||
-rw-r--r-- | solenv/gbuild/Library.mk | 1 | ||||
-rw-r--r-- | solenv/gbuild/platform/IOS_ARM_GCC.mk | 16 | ||||
-rw-r--r-- | solenv/gbuild/platform/macosx.mk | 20 |
5 files changed, 14 insertions, 25 deletions
diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk index ee844de24330..02af2fbda472 100644 --- a/solenv/gbuild/CppunitTest.mk +++ b/solenv/gbuild/CppunitTest.mk @@ -342,6 +342,7 @@ $(eval $(foreach method,\ set_ldflags \ add_libs \ add_standard_system_libs \ + use_system_darwin_frameworks \ use_sdk_api \ use_udk_api \ use_internal_api \ diff --git a/solenv/gbuild/Executable.mk b/solenv/gbuild/Executable.mk index 1ddedfdad41b..243e3cda7b24 100644 --- a/solenv/gbuild/Executable.mk +++ b/solenv/gbuild/Executable.mk @@ -106,6 +106,7 @@ $(eval $(foreach method,\ set_ldflags \ add_libs \ add_standard_system_libs \ + use_system_darwin_frameworks \ set_library_path_flags \ add_api \ use_api \ diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk index 10ca542b58c5..131806f8d273 100644 --- a/solenv/gbuild/Library.mk +++ b/solenv/gbuild/Library.mk @@ -186,6 +186,7 @@ $(eval $(foreach method,\ set_x64 \ add_libs \ add_standard_system_libs \ + use_system_darwin_frameworks \ set_library_path_flags \ add_api \ use_api \ diff --git a/solenv/gbuild/platform/IOS_ARM_GCC.mk b/solenv/gbuild/platform/IOS_ARM_GCC.mk index 491d0cb9bb0d..a36d6a36182d 100644 --- a/solenv/gbuild/platform/IOS_ARM_GCC.mk +++ b/solenv/gbuild/platform/IOS_ARM_GCC.mk @@ -136,11 +136,9 @@ gb_LinkTarget_OBJCXXFLAGS += -g gb_LinkTarget_OBJCFLAGS += -g endif -# FIXME framework handling very hackish define gb_LinkTarget__get_liblinkflags -$(patsubst lib%.a,-l%,$(foreach lib,$(filter-out $(gb_Library__FRAMEWORKS) $(gb_Library_UNOLIBS_OOO),$(1)),$(call gb_Library_get_filename,$(lib)))) \ -$(foreach lib,$(filter $(gb_Library_UNOLIBS_OOO),$(1)),$(SOLARVER)/$(INPATH)/lib/$(lib)$(gb_Library_UNOEXT)) \ -$(addprefix -framework ,$(filter $(gb_Library__FRAMEWORKS),$(1))) +$(patsubst lib%.a,-l%,$(foreach lib,$(filter-out $(gb_Library_UNOLIBS_OOO),$(1)),$(call gb_Library_get_filename,$(lib)))) \ +$(foreach lib,$(filter $(gb_Library_UNOLIBS_OOO),$(1)),$(SOLARVER)/$(INPATH)/lib/$(lib)$(gb_Library_UNOEXT)) endef define gb_LinkTarget__get_layer @@ -190,6 +188,10 @@ $(call gb_Output_announce,$(2),$(true),LNK,4) $(call gb_LinkTarget__command_staticlink,$(1)) endef +define gb_LinkTarget_use_system_darwin_frameworks +$(call gb_LinkTarget_add_libs,$(1),$(foreach fw,$(2),-framework $(fw))) +endef + # Library class @@ -203,12 +205,6 @@ gb_Library_RTEXT := gcc3$(gb_Library_PLAINEXT) gb_Library_OOOEXT := $(gb_Library_DLLPOSTFIX)$(gb_Library_PLAINEXT) gb_Library_UNOEXT := .uno$(gb_Library_PLAINEXT) -gb_Library__FRAMEWORKS := \ - Foundation \ - CoreFoundation \ - CoreGraphics \ - CoreText \ - gb_Library_PLAINLIBS_NONE += \ objc \ m \ diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk index 8317c40f9f06..17e7aab47ccb 100644 --- a/solenv/gbuild/platform/macosx.mk +++ b/solenv/gbuild/platform/macosx.mk @@ -168,12 +168,6 @@ gb_LinkTarget_OBJCFLAGS += -g gb_LinkTarget_OBJCXXFLAGS += -g endif -# FIXME framework handling very hackish -define gb_LinkTarget__get_liblinkflags -$(patsubst lib%.dylib,-l%,$(foreach lib,$(filter-out $(gb_Library__FRAMEWORKS),$(1)),$(call gb_Library_get_filename,$(lib)))) \ -$(addprefix -framework ,$(filter $(gb_Library__FRAMEWORKS),$(1))) -endef - define gb_LinkTarget__get_layer $(if $(filter Executable,$(1)),\ $$(call gb_Executable_get_layer,$(2)),\ @@ -201,7 +195,7 @@ $(call gb_Helper_abbreviate_dirs,\ $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \ $(subst \d,$$,$(RPATH)) \ $(T_LDFLAGS) \ - $(call gb_LinkTarget__get_liblinkflags,$(LINKED_LIBS)) \ + $(patsubst lib%.dylib,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))) \ $(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))) \ @@ -246,6 +240,10 @@ $(if $(filter Library Bundle CppunitTest Executable,$(TARGETTYPE)),$(call gb_Lin $(if $(filter StaticLibrary,$(TARGETTYPE)),$(call gb_LinkTarget__command_staticlink,$(1))) endef +define gb_LinkTarget_use_system_darwin_frameworks +$(call gb_LinkTarget_add_libs,$(1),$(foreach fw,$(2),-framework $(fw))) +endef + # Library class @@ -261,16 +259,8 @@ gb_Library_RTEXT := gcc3$(gb_Library_PLAINEXT) gb_Library_OOOEXT := $(gb_Library_DLLPOSTFIX)$(gb_Library_PLAINEXT) gb_Library_UNOEXT := .uno$(gb_Library_PLAINEXT) -gb_Library__FRAMEWORKS := \ - Cocoa \ - GLUT \ - OpenGL \ - gb_Library_PLAINLIBS_NONE += \ - GLUT \ - Cocoa \ objc \ - OpenGL \ m \ pthread \ |