From 4f14b0f29aa144cc03efdde5508ae126ae197acf Mon Sep 17 00:00:00 2001 From: Wyllys Ingersoll Date: Mon, 28 Jun 2010 16:04:11 -0700 Subject: PSARC 2010/195 PKCS11 KMS Provider 6944296 Solaris needs a PKCS#11 provider to allow access to KMS keystore functionality --- usr/src/lib/libkmsagent/Makefile.com | 158 +++++++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 usr/src/lib/libkmsagent/Makefile.com (limited to 'usr/src/lib/libkmsagent/Makefile.com') diff --git a/usr/src/lib/libkmsagent/Makefile.com b/usr/src/lib/libkmsagent/Makefile.com new file mode 100644 index 0000000000..10113e89e1 --- /dev/null +++ b/usr/src/lib/libkmsagent/Makefile.com @@ -0,0 +1,158 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +# + +LIBRARY= libkmsagent.a +VERS= .1 + +LIB_C_OBJECTS= \ + SYSCommon.o \ + ieee80211_crypto.o \ + k_setupssl.o + +LIB_CPP_OBJECTS= \ + KMSAgent.o \ + KMSAgentChallenge.o \ + KMSAgentCryptoUtilities.o \ + KMSAgentDataUnitCache.o \ + KMSAgentFatalState.o \ + KMSAgentKeyCallout.o \ + KMSAgentKnownAnswerTests.o \ + KMSAgentLoadBalancer.o \ + KMSAgentPKICert.o \ + KMSAgentPKICertOpenSSL.o \ + KMSAgentPKICommon.o \ + KMSAgentPKIKey.o \ + KMSAgentPKIKeyOpenSSL.o \ + KMSAgentSoapUtilities.o \ + KMSAgentStorage.o \ + KMSAgentStringUtilities.o \ + KMSAuditLogger.o \ + KMSClientProfile.o + +SOAP_OBJECTS =\ + AgentServiceNamespace.o \ + CAServiceNamespace.o \ + CertificateServiceNamespace.o \ + DiscoveryServiceNamespace.o \ + KMS_AgentC.o \ + KMS_AgentClient.o \ + KMS_CAC.o \ + KMS_CAClient.o \ + KMS_CertificateC.o \ + KMS_CertificateClient.o \ + KMS_DiscoveryC.o \ + KMS_DiscoveryClient.o \ + envC.o \ + stdsoap2.o + +OBJECTS= \ + $(LIB_C_OBJECTS) \ + $(LIB_CPP_OBJECTS) \ + $(SOAP_OBJECTS) + +LIBSRCDIR= ../common +SOAPSRCDIR= ../common/SOAP + +include $(SRC)/lib/Makefile.lib + +SRCDIR=../common +CSRCS = $(LIB_C_OBJECTS:%.o=$(LIBSRCDIR)/%.c) +LIBSRCS = $(LIB_CPP_OBJECTS:%.o=$(LIBSRCDIR)/%.cpp) $(CSRCS) +SOAPSRCS= $(SOAP_OBJECTS:%.o=$(SOAPSRCDIR)/%.cpp) + +CCOBJS = $(LIB_CPP_OBJECTS:%.o=pics/%.o) \ + $(SOAP_OBJECTS:%.o=pics/%.o) + +LIBS = $(DYNLIB) + +LDLIBS += -lCstd -lCrun -lpam -lc -lsoftcrypto -lcrypto -lssl -lsocket +LDLIBS64 += -lCstd -lCrun -lpam -lc -lsoftcrypto -lcrypto -lssl -lsocket + +DEFINES = -DKMSUSERPKCS12 -D_REENTRANT -DNOWCSICMP -DUNIX \ + -DWITH_OPENSSL -DHAVE_OPENSSL_SSL_H \ + -DWITH_IPV6 -D_POSIX_THREADS -DXML_STATIC \ + -DHAVE_EXPAT_CONFIG_H -DK_SOLARIS_PLATFORM \ + -DOPENSSL_NO_DEPRECATED \ + -DKMS_AGENT_VERSION_STRING=\"KMSAgentLibraryVersion:Build1016\" + +CFLAGS += $(CCVERBOSE) + +# +# When building C++ objects, redefine CCFLAGS for 32-bit builds to +# use "compat=5" instead of "compat=4". +# The 64-bit CCFLAGS already use compat=5 option (see $SRC/Makefile.master) +# +$(CCOBJS) := i386_CCFLAGS = \ + -compat=5 \ + -Qoption ccfe -messages=no%anachronism \ + -Qoption ccfe -features=no%conststrings \ + $(CCERRWARN) + +$(CCOBJS) := sparc_CCFLAGS = \ + -cg92 -compat=5 \ + -Qoption ccfe -messages=no%anachronism \ + -Qoption ccfe -features=no%conststrings \ + $(CCERRWARN) + +CPPFLAGS += -I../common -I../common/SOAP -I$(SRC)/common/crypto/aes $(DEFINES) + +COPTFLAG += -xCC +COPTFLAG64 += -xCC + +pics/stdsoap2.o:= CPPFLAGS += -DWITH_NONAMESPACES + +ROOTLIBDIR= $(ROOT)/usr/lib +ROOTLIBDIR64= $(ROOT)/usr/lib/$(MACH64) + +.KEEP_STATE: + +all: $(LIBS) + +# +# Don't lint C++ code +# +lint: + +# +# Need special rules here because the files are named ".cpp" instead +# of ".cc". The source comes from KMS, and we need to keep them in sync +# so we won't change the naming convention. +# +pics/%.o: $(LIBSRCDIR)/%.cpp + $(COMPILE.cc) -o $@ $< + $(POST_PROCESS_O) + +pics/%.o: $(SOAPSRCDIR)/%.cpp + $(COMPILE.cc) -o $@ $< + $(POST_PROCESS_O) + +.cpp: + $(LINK.cc) -o $@ $< $(LDLIBS) + $(POST_PROCESS) + +.cpp.o: + $(COMPILE.cc) $(OUTPUT_OPTION) $< + $(POST_PROCESS_O) + +include $(SRC)/lib/Makefile.targ + -- cgit v1.2.3