summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-09-28 00:18:12 +0200
committerMichael Stahl <mstahl@redhat.com>2012-09-28 16:49:07 +0200
commitcee32aae398283c38b42c73add694e9d074a5d62 (patch)
tree6b24d1825a8ecab75c160db1734f7660c8759621 /solenv
parentb05430409b3eb3a4b8649895788e025fc9a0d9a0 (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.mk1
-rw-r--r--solenv/gbuild/Executable.mk1
-rw-r--r--solenv/gbuild/Library.mk1
-rw-r--r--solenv/gbuild/platform/IOS_ARM_GCC.mk16
-rw-r--r--solenv/gbuild/platform/macosx.mk20
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 \