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
|