Print this page
8411 Build should warn when linking against libraries outside proto area
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/lib/libkmf/plugins/kmf_nss/Makefile.com
+++ new/usr/src/lib/libkmf/plugins/kmf_nss/Makefile.com
1 1 #
2 2 # CDDL HEADER START
3 3 #
4 4 # The contents of this file are subject to the terms of the
5 5 # Common Development and Distribution License (the "License").
6 6 # You may not use this file except in compliance with the License.
7 7 #
8 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 9 # or http://www.opensolaris.org/os/licensing.
10 10 # See the License for the specific language governing permissions
11 11 # and limitations under the License.
12 12 #
13 13 # When distributing Covered Code, include this CDDL HEADER in each
14 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
↓ open down ↓ |
14 lines elided |
↑ open up ↑ |
15 15 # If applicable, add the following below this CDDL HEADER, with the
16 16 # fields enclosed by brackets "[]" replaced with your own identifying
17 17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 18 #
19 19 # CDDL HEADER END
20 20 #
21 21 #
22 22 # Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 23 # Use is subject to license terms.
24 24 #
25 +# Copyright 2017 RackTop Systems.
26 +#
25 27 # Makefile for KMF Plugins
26 28 #
27 29
28 30 LIBRARY= kmf_nss.a
29 31 VERS= .1
30 32
31 33 OBJECTS= nss_spi.o
32 34
33 35 include $(SRC)/lib/Makefile.lib
34 36
35 37 MPSDIR= /usr/lib/mps
38 +MPSDIR64= $(MPSDIR)/64
36 39 KMFINC= -I../../../include -I../../../ber_der/inc
37 40 NSSINC= -I$(ADJUNCT_PROTO)/usr/include/mps
38 41 BERLIB= -lkmf -lkmfberder
39 42 BERLIB64= $(BERLIB)
40 43
41 -NSSLIBS= $(BERLIB) -L$(ADJUNCT_PROTO)$(MPSDIR) -R$(MPSDIR) \
42 - -lnss3 -lnspr4 -lsmime3 -lc
43 -NSSLIBS64= $(BERLIB64) -L$(ADJUNCT_PROTO)$(MPSDIR)/$(MACH64) \
44 - -R$(MPSDIR)/$(MACH64) -lnss3 -lnspr4 -lsmime3 -lc
44 +NSSLIBS= $(BERLIB) -R$(MPSDIR) -lnss3 -lnspr4 -lsmime3 -lc
45 +NSSLIBS64= $(BERLIB64) -R$(MPSDIR64) -lnss3 -lnspr4 -lsmime3 -lc
45 46
47 +# Allow NSS libraries to be taken from outside the proto area.
48 +$(ADJUNCT_PROTO_NOT_SET)DYNFLAGS += $(ZASSERTDEFLIB)=libnss3.so
49 +$(ADJUNCT_PROTO_NOT_SET)DYNFLAGS += $(ZASSERTDEFLIB)=libnspr4.so
50 +$(ADJUNCT_PROTO_NOT_SET)DYNFLAGS += $(ZASSERTDEFLIB)=libsmime3.so
51 +
52 +# Override the default linker path so that libraries found in the host
53 +# directories will trigger -zassert-deflib logic.
54 +LDLIBS32 += -YP,$(DEFLDPATH):$(MPSDIR)
55 +LDLIBS64 += -YP,$(DEFLDPATH64):$(MPSDIR64)
56 +
57 +# Only add -L options for the NSS directories if ADJUNCT_PROTO is being
58 +# used because it disables the -zassert-deflib logic.
59 +$(ADJUNCT_PROTO_SET)LDLIBS32 += -L$(ADJUNCT_PROTO)$(MPSDIR)
60 +$(ADJUNCT_PROTO_SET)LDLIBS64 += -L$(ADJUNCT_PROTO)$(MPSDIR64)
61 +
46 62 SRCDIR= ../common
47 63 INCDIR= ../../include
48 64
49 65 CFLAGS += $(CCVERBOSE)
50 66 CPPFLAGS += -D_REENTRANT $(KMFINC) $(NSSINC) \
51 67 -I$(INCDIR) -I$(ADJUNCT_PROTO)/usr/include/libxml2
52 68
53 69 PICS= $(OBJECTS:%=pics/%)
54 70
55 71 LINTFLAGS += -erroff=E_STATIC_UNUSED
56 72 LINTFLAGS64 += -erroff=E_STATIC_UNUSED
57 73
58 74 CERRWARN += -_gcc=-Wno-unused-label
59 75 CERRWARN += -_gcc=-Wno-unused-value
60 76 CERRWARN += -_gcc=-Wno-uninitialized
61 77
62 78 lint:= NSSLIBS = $(BERLIB)
63 79 lint:= NSSLIBS64 = $(BERLIB64)
64 80
65 81 LDLIBS32 += $(NSSLIBS)
66 82
67 83 LIBS = $(DYNLIB)
68 84
69 85 ROOTLIBDIR= $(ROOTFS_LIBDIR)/crypto
70 86 ROOTLIBDIR64= $(ROOTFS_LIBDIR)/crypto/$(MACH64)
71 87
72 88 .KEEP_STATE:
73 89
74 90 all: $(LIBS) $(LINTLIB)
75 91
76 92 lint: lintcheck
77 93
78 94 FRC:
79 95
80 96 include $(SRC)/lib/Makefile.targ
↓ open down ↓ |
25 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX