summaryrefslogtreecommitdiff
path: root/textproc/xmlrpc-c/patches/patch-config.mk.in
blob: 7dd56f4e8b7deb95ae405ad5ddf128e36eb87b1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
$NetBSD: patch-config.mk.in,v 1.3 2013/09/12 18:52:54 adam Exp $

Do not use -Bdynamic -G when using GCC on Solaris, it creates non-PIC
libraries.

--- config.mk.in.orig	2013-03-29 06:38:36.000000000 +0000
+++ config.mk.in
@@ -193,10 +193,15 @@ ifeq ($(patsubst solaris%,solaris,$(HOST
   # linker, it's even more complicated: we need an rpath option of the
   # form -Wl,-R .
 
-  # Solaris compiler (Sun C 5.5) can't take multiple ld options as
-  # -Wl,-a,-b .  Ld sees -a,-b in that case.
-  LDFLAGS_SHLIB = -Wl,-Bdynamic -Wl,-G -Wl,-h -Wl,$(SONAME)
-  CFLAGS_SHLIB = -Kpic
+  ifeq ($(C_COMPILER_GNU),yes)
+    LDFLAGS_SHLIB = -shared -Wl,-h -Wl,$(SONAME)
+    CFLAGS_SHLIB = -fPIC
+  else
+    # Solaris compiler (Sun C 5.5) can't take multiple ld options as
+    # -Wl,-a,-b .  Ld sees -a,-b in that case.
+    LDFLAGS_SHLIB = -Wl,-Bdynamic -Wl,-G -Wl,-h -Wl,$(SONAME)
+    CFLAGS_SHLIB = -Kpic
+  endif
   NEED_RPATH=yes
 endif
 
@@ -242,6 +247,18 @@ ifeq ($(patsubst netbsd%,netbsd,$(HOST_O
   NEED_WL_RPATH=yes
 endif
 
+ifeq ($(patsubst openbsd%,openbsd,$(HOST_OS)),openbsd)
+  SHARED_LIB_TYPE = unix
+  SHLIB_SUFFIX = so
+  MUST_BUILD_SHLIB = Y
+  MUST_BUILD_SHLIBLE = Y
+  shlibfn = $(1:%=%.$(SHLIB_SUFFIX).$(MAJ).$(MIN))
+  shliblefn = $(1:%=%.$(SHLIB_SUFFIX))
+  CFLAGS_SHLIB = -fpic
+  LDFLAGS_SHLIB = -shared -Wl,-soname,$(SONAME) $(SHLIB_CLIB)
+  NEED_WL_RPATH=yes
+endif
+
 ifeq ($(patsubst freebsd%,freebsd,$(HOST_OS)),freebsd)
   SHARED_LIB_TYPE = unix
   SHLIB_SUFFIX = so