Kaydet (Commit) 17924c4a authored tarafından Matúš Kukan's avatar Matúš Kukan Kaydeden (comit) David Tardon

allow Library to disable hidden visibility

Change-Id: I1f676b7536183f68795595f216ae23610cadb1eb
üst fc0aa44b
...@@ -217,6 +217,7 @@ $(eval $(foreach method,\ ...@@ -217,6 +217,7 @@ $(eval $(foreach method,\
add_sdi_headers \ add_sdi_headers \
export_objects_list \ export_objects_list \
add_nativeres \ add_nativeres \
set_visibility_default \
set_warnings_not_errors \ set_warnings_not_errors \
set_generated_cxx_suffix \ set_generated_cxx_suffix \
,\ ,\
......
...@@ -493,6 +493,7 @@ $(call gb_LinkTarget_get_headers_target,$(1)) \ ...@@ -493,6 +493,7 @@ $(call gb_LinkTarget_get_headers_target,$(1)) \
$(call gb_LinkTarget_get_target,$(1)) : PDBFILE := $(call gb_LinkTarget_get_target,$(1)) : PDBFILE :=
$(call gb_LinkTarget_get_target,$(1)) : EXTRAOBJECTLISTS := $(call gb_LinkTarget_get_target,$(1)) : EXTRAOBJECTLISTS :=
$(call gb_LinkTarget_get_target,$(1)) : NATIVERES := $(call gb_LinkTarget_get_target,$(1)) : NATIVERES :=
$(call gb_LinkTarget_get_target,$(1)) : VISIBILITY :=
$(call gb_LinkTarget_get_target,$(1)) : WARNINGS_NOT_ERRORS := $(call gb_LinkTarget_get_target,$(1)) : WARNINGS_NOT_ERRORS :=
ifeq ($(gb_FULLDEPS),$(true)) ifeq ($(gb_FULLDEPS),$(true))
...@@ -516,6 +517,7 @@ $(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE_STL := $$(gb_LinkTarget_INCL ...@@ -516,6 +517,7 @@ $(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE_STL := $$(gb_LinkTarget_INCL
$(call gb_LinkTarget_get_dep_target,$(1)) : TARGETTYPE := $(call gb_LinkTarget_get_dep_target,$(1)) : TARGETTYPE :=
$(call gb_LinkTarget_get_dep_target,$(1)) : LIBRARY_X64 := $(call gb_LinkTarget_get_dep_target,$(1)) : LIBRARY_X64 :=
$(call gb_LinkTarget_get_dep_target,$(1)) : EXTRAOBJECTLISTS := $(call gb_LinkTarget_get_dep_target,$(1)) : EXTRAOBJECTLISTS :=
$(call gb_LinkTarget_get_dep_target,$(1)) : VISIBILITY :=
$(call gb_LinkTarget_get_dep_target,$(1)) : WARNINGS_NOT_ERRORS := $(call gb_LinkTarget_get_dep_target,$(1)) : WARNINGS_NOT_ERRORS :=
endif endif
...@@ -1102,6 +1104,14 @@ endef ...@@ -1102,6 +1104,14 @@ endef
gb_LinkTarget_use_externals = \ gb_LinkTarget_use_externals = \
$(foreach external,$(2),$(call gb_LinkTarget_use_external,$(1),$(external))) $(foreach external,$(2),$(call gb_LinkTarget_use_external,$(1),$(external)))
define gb_LinkTarget_set_visibility_default
$(call gb_LinkTarget_get_target,$(1)) : VISIBILITY := default
ifeq ($(gb_FULLDEPS),$(true))
$(call gb_LinkTarget_get_dep_target,$(1)) : VISIBILITY := default
endif
endef
define gb_LinkTarget_set_warnings_not_errors define gb_LinkTarget_set_warnings_not_errors
$(call gb_LinkTarget_get_target,$(1)) : WARNINGS_NOT_ERRORS := $(true) $(call gb_LinkTarget_get_target,$(1)) : WARNINGS_NOT_ERRORS := $(true)
ifeq ($(gb_FULLDEPS),$(true)) ifeq ($(gb_FULLDEPS),$(true))
......
...@@ -58,6 +58,7 @@ $(call gb_Helper_abbreviate_dirs,\ ...@@ -58,6 +58,7 @@ $(call gb_Helper_abbreviate_dirs,\
$(gb_CC) \ $(gb_CC) \
$(DEFS) \ $(DEFS) \
$(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \ $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \
$(if $(VISIBILITY),,$(gb_VISIBILITY_FLAGS)) \
$(if $(WARNINGS_NOT_ERRORS),,$(gb_CFLAGS_WERROR)) \ $(if $(WARNINGS_NOT_ERRORS),,$(gb_CFLAGS_WERROR)) \
$(T_CFLAGS) \ $(T_CFLAGS) \
-c $(3) \ -c $(3) \
...@@ -79,6 +80,7 @@ $(call gb_Helper_abbreviate_dirs,\ ...@@ -79,6 +80,7 @@ $(call gb_Helper_abbreviate_dirs,\
$(gb_CXX) \ $(gb_CXX) \
$(DEFS) \ $(DEFS) \
$(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \ $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \
$(if $(VISIBILITY),,$(gb_VISIBILITY_FLAGS)) \
$(if $(WARNINGS_NOT_ERRORS),,$(gb_CXXFLAGS_WERROR)) \ $(if $(WARNINGS_NOT_ERRORS),,$(gb_CXXFLAGS_WERROR)) \
$(T_CXXFLAGS) \ $(T_CXXFLAGS) \
-c $(3) \ -c $(3) \
......
...@@ -79,6 +79,13 @@ gb_CXXFLAGS_COMMON := \ ...@@ -79,6 +79,13 @@ gb_CXXFLAGS_COMMON := \
-fno-common \ -fno-common \
-pipe \ -pipe \
ifeq ($(HAVE_GCC_VISIBILITY_FEATURE),TRUE)
gb_VISIBILITY_FLAGS := -DHAVE_GCC_VISIBILITY_FEATURE -fvisibility=hidden
ifneq ($(HAVE_GCC_VISIBILITY_BROKEN),TRUE)
gb_CXXFLAGS_COMMON += -fvisibility-inlines-hidden
endif
endif
ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE) ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE)
gb_CFLAGS_WERROR := -Werror -DLIBO_WERROR gb_CFLAGS_WERROR := -Werror -DLIBO_WERROR
gb_CXXFLAGS_WERROR := -Werror -DLIBO_WERROR gb_CXXFLAGS_WERROR := -Werror -DLIBO_WERROR
......
...@@ -69,24 +69,6 @@ gb_CXXFLAGS := \ ...@@ -69,24 +69,6 @@ gb_CXXFLAGS := \
#-fsigned-char \ might be removed? #-fsigned-char \ might be removed?
#-malign-natural \ might be removed? #-malign-natural \ might be removed?
ifeq ($(HAVE_GCC_VISIBILITY_FEATURE),TRUE)
gb_COMPILERDEFS += \
-DHAVE_GCC_VISIBILITY_FEATURE \
gb_CFLAGS += \
-fvisibility=hidden
gb_CXXFLAGS += \
-fvisibility=hidden \
ifneq ($(HAVE_GCC_VISIBILITY_BROKEN),TRUE)
gb_CXXFLAGS += \
-fvisibility-inlines-hidden \
endif
endif
ifeq ($(HAVE_SFINAE_ANONYMOUS_BROKEN),TRUE) ifeq ($(HAVE_SFINAE_ANONYMOUS_BROKEN),TRUE)
gb_COMPILERDEFS += \ gb_COMPILERDEFS += \
-DHAVE_SFINAE_ANONYMOUS_BROKEN \ -DHAVE_SFINAE_ANONYMOUS_BROKEN \
...@@ -124,6 +106,7 @@ $(call gb_Helper_abbreviate_dirs,\ ...@@ -124,6 +106,7 @@ $(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(1)) $(dir $(4)) && \ mkdir -p $(dir $(1)) $(dir $(4)) && \
$(gb_CXX) \ $(gb_CXX) \
$(DEFS) \ $(DEFS) \
$(if $(VISIBILITY),,$(gb_VISIBILITY_FLAGS)) \
$(if $(WARNINGS_NOT_ERRORS),,$(gb_CXXFLAGS_WERROR)) \ $(if $(WARNINGS_NOT_ERRORS),,$(gb_CXXFLAGS_WERROR)) \
$(T_OBJCXXFLAGS) \ $(T_OBJCXXFLAGS) \
-c $(3) \ -c $(3) \
...@@ -142,6 +125,7 @@ $(call gb_Helper_abbreviate_dirs,\ ...@@ -142,6 +125,7 @@ $(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(1)) $(dir $(4)) && \ mkdir -p $(dir $(1)) $(dir $(4)) && \
$(gb_CC) \ $(gb_CC) \
$(DEFS) \ $(DEFS) \
$(if $(VISIBILITY),,$(gb_VISIBILITY_FLAGS)) \
$(if $(WARNINGS_NOT_ERRORS),,$(gb_CFLAGS_WERROR)) \ $(if $(WARNINGS_NOT_ERRORS),,$(gb_CFLAGS_WERROR)) \
$(T_OBJCFLAGS) \ $(T_OBJCFLAGS) \
-c $(3) \ -c $(3) \
......
...@@ -79,24 +79,6 @@ gb_CXXFLAGS := \ ...@@ -79,24 +79,6 @@ gb_CXXFLAGS := \
-Woverloaded-virtual \ -Woverloaded-virtual \
-Wno-non-virtual-dtor \ -Wno-non-virtual-dtor \
ifeq ($(HAVE_GCC_VISIBILITY_FEATURE),TRUE)
gb_COMPILERDEFS += \
-DHAVE_GCC_VISIBILITY_FEATURE \
gb_CFLAGS += \
-fvisibility=hidden
gb_CXXFLAGS += \
-fvisibility=hidden \
ifneq ($(HAVE_GCC_VISIBILITY_BROKEN),TRUE)
gb_CXXFLAGS += \
-fvisibility-inlines-hidden \
endif
endif
# enable debug STL # enable debug STL
ifeq ($(gb_PRODUCT),$(false)) ifeq ($(gb_PRODUCT),$(false))
gb_COMPILERDEFS += \ gb_COMPILERDEFS += \
......
...@@ -78,24 +78,6 @@ else ...@@ -78,24 +78,6 @@ else
gb_CXXFLAGS += -Wnon-virtual-dtor gb_CXXFLAGS += -Wnon-virtual-dtor
endif endif
ifeq ($(HAVE_GCC_VISIBILITY_FEATURE),TRUE)
gb_COMPILERDEFS += \
-DHAVE_GCC_VISIBILITY_FEATURE \
gb_CFLAGS += \
-fvisibility=hidden
gb_CXXFLAGS += \
-fvisibility=hidden \
ifneq ($(HAVE_GCC_VISIBILITY_BROKEN),TRUE)
gb_CXXFLAGS += \
-fvisibility-inlines-hidden \
endif
endif
ifeq ($(HAVE_SFINAE_ANONYMOUS_BROKEN),TRUE) ifeq ($(HAVE_SFINAE_ANONYMOUS_BROKEN),TRUE)
gb_COMPILERDEFS += \ gb_COMPILERDEFS += \
-DHAVE_SFINAE_ANONYMOUS_BROKEN \ -DHAVE_SFINAE_ANONYMOUS_BROKEN \
......
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