summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--solenv/gbuild/platform/OPENBSD_INTEL_GCC.mk8
-rw-r--r--solenv/gbuild/platform/OPENBSD_X86_64_GCC.mk13
2 files changed, 14 insertions, 7 deletions
diff --git a/solenv/gbuild/platform/OPENBSD_INTEL_GCC.mk b/solenv/gbuild/platform/OPENBSD_INTEL_GCC.mk
index b9a47da45f0f..acebb04da5e6 100644
--- a/solenv/gbuild/platform/OPENBSD_INTEL_GCC.mk
+++ b/solenv/gbuild/platform/OPENBSD_INTEL_GCC.mk
@@ -33,19 +33,19 @@ gb_STDLIBS := pthread
include $(GBUILDDIR)/platform/unxgcc.mk
-gb_LinkTarget_NOEXCEPTIONFLAGS += -DBOOST_NO_EXCEPTIONS
-
define gb_LinkTarget__command_dynamiclink
$(call gb_Helper_abbreviate_dirs,\
-mkdir -p $(dir $(1)) && \
+ mkdir -p $(dir $(1)) && \
$(gb_CXX) \
$(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
+ $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \
$(if $(SOVERSION),-Wl$(COMMA)--soname=$(notdir $(1)).$(SOVERSION)) \
$(if $(SOVERSIONSCRIPT),-Wl$(COMMA)--version-script=$(SOVERSIONSCRIPT))\
$(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)`) \
@@ -56,4 +56,6 @@ mkdir -p $(dir $(1)) && \
$(if $(SOVERSION),ln -sf $(notdir $(1)).$(SOVERSION) $(1))
endef
+gb_LinkTarget_NOEXCEPTIONFLAGS += -DBOOST_NO_EXCEPTIONS
+
# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/OPENBSD_X86_64_GCC.mk b/solenv/gbuild/platform/OPENBSD_X86_64_GCC.mk
index 89724a675afb..5eaa617bd6b3 100644
--- a/solenv/gbuild/platform/OPENBSD_X86_64_GCC.mk
+++ b/solenv/gbuild/platform/OPENBSD_X86_64_GCC.mk
@@ -32,24 +32,29 @@ gb_STDLIBS := pthread
include $(GBUILDDIR)/platform/unxgcc.mk
-gb_LinkTarget_NOEXCEPTIONFLAGS += -DBOOST_NO_EXCEPTIONS
-
define gb_LinkTarget__command_dynamiclink
$(call gb_Helper_abbreviate_dirs,\
-mkdir -p $(dir $(1)) && \
+ mkdir -p $(dir $(1)) && \
$(gb_CXX) \
$(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
+ $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \
+ $(if $(SOVERSION),-Wl$(COMMA)--soname=$(notdir $(1)).$(SOVERSION)) \
+ $(if $(SOVERSIONSCRIPT),-Wl$(COMMA)--version-script=$(SOVERSIONSCRIPT))\
$(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) \
$(subst -lpthread,$(PTHREAD_LIBS),$(patsubst lib%.a,-l%,$(patsubst lib%.so,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))))) \
- -o $(1))
+ -o $(if $(SOVERSION),$(1).$(SOVERSION),$(1)))
+ $(if $(SOVERSION),ln -sf $(notdir $(1)).$(SOVERSION) $(1))
endef
+gb_LinkTarget_NOEXCEPTIONFLAGS += -DBOOST_NO_EXCEPTIONS
+
# vim: set noet sw=4: