Makefile revision 6976
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# CDDL HEADER START
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# The contents of this file are subject to the terms of the
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Common Development and Distribution License (the "License").
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder# You may not use this file except in compliance with the License.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# or http://www.opensolaris.org/os/licensing.
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder# See the License for the specific language governing permissions
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# and limitations under the License.
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder# When distributing Covered Code, include this CDDL HEADER in each
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# If applicable, add the following below this CDDL HEADER, with the
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# fields enclosed by brackets "[]" replaced with your own identifying
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder# information: Portions Copyright [yyyy] [name of copyright owner]
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich# CDDL HEADER END
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder# Encoding rule for MAJOR: MIT KerberosV5 x.y[.z] => MAJOR x
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski# Encoding rule for MINOR: MIT KerberosV5 x.y[.z] => MINOR $MAJOR.y
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder# Encoding rule for MICRO: MIT KerberosV5 x.y[.z] => MICRO $MINOR[.z]
2e2094a642e3775b0d76b890556407941d3a53b6Christian MaederIPS_COMPONENT_VERSION= $(COMPONENT_VERSION).0
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederCOMPONENT_PROJECT_URL= http://web.mit.edu/kerberos/
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder sha256:03a61a4280c9161771fb39019085dbe6a57aa602080515ff93b43cd6137e0b95
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(COMPONENT_PROJECT_URL)dist/krb5/$(COMPONENT_MINOR)/$(COMPONENT_ARCHIVE)
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich# Depends on S12-only header file in ON.
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian MaederLINT_FLAGS += -I$(PROTOUSRINCDIR) -I$(PROTOUSRINCDIR)/kerberosv5 -I$(COMPONENT_DIR)/Solaris
8d97ef4f234681b11bb5924bd4d03adef858d2d2Christian Maeder# The configure script is not at the top of the source directory.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCONFIGURE_SCRIPT= $(SOURCE_DIR)/src/configure
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder# We need to enable large file support and build PIC for our shared libraries
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder# Include openldap headers instead of obsolete mozilla ldap headers.
7cc09dd93962a2155c34d209d1d4cd7d7b838264Christian Maeder# Temporary solution until we can fix this upstream with MIT, which currently
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder# depends on implicit binding of libc. Here we explicitly link with libc to
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder# satisfy this dependency.
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder# If you make changes to LDFLAGS, check krb5-config and 052-krb5-config.patch.
1aee4aaddde105264c1faf394d88e302c05094ffChristian MaederCONFIGURE_ENV += DEFKTNAME="FILE:$(ETCDIR)/krb5/krb5.keytab"
1aee4aaddde105264c1faf394d88e302c05094ffChristian MaederCONFIGURE_ENV += DEFCKTNAME="FILE:/var/user/%{username}/client.keytab"
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian Maeder# Other CONFIGURE_OPTIONS assignments coming from make-rules/configure.mk
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian MaederCONFIGURE_OPTIONS.32 += --libexecdir=$(USRLIBDIR)
0206ab93ef846e4e0885996d052b9b73b9dc66b0Christian MaederCONFIGURE_OPTIONS.64 += --libexecdir=$(USRLIBDIR)/$(MACH64)
f13d1e86e58da53680e78043e8df182eed867efbChristian MaederCONFIGURE_OPTIONS += --includedir=$(USRINCDIR)/kerberosv5
c2a4d8ae266aa37cc922eba97077520229a19902Christian MaederCONFIGURE_OPTIONS += --with-crypto-impl=openssl
36f63902db2b3463faa9f59912ad106e2d5aaa24Klaus Luettich cd $(SOURCE_DIR)/src/ && $(SOURCE_DIR)/src/util/reconf
8cacad2a09782249243b80985f28e9387019fe40Christian MaederCOMPONENT_TEST_ARGS += LD_LIBRARY_PATH="$(PROTOULD):$(PROTOULD)/$(MACH64):"
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maeder# MIT's test suite is not well suited for master results processing/filtering
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder# but since the test implementation will return failure to the uland build,
8a28707e9155465c6f2236a06eac6580a65c7025Christian Maeder# this is good enough. The following disables master results processing.
d3ae0072823e2ef0d41d4431fcc768e66489c20eChristian Maeder# We don't ship Solaris specific files as patches to ease maintenance.
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# We rather copy the files to the right directories.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(CP) Solaris/getuid.c $(SOURCE_DIR)/src/lib/krb5/os/; \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder $(CP) Solaris/g_utils.c $(SOURCE_DIR)/src/lib/gssapi/mechglue/; \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder $(CP) Solaris/kadm_host_srv_names.c $(SOURCE_DIR)/src/lib/kadm5/; \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(CP) Solaris/kt_findrealm.c $(SOURCE_DIR)/src/lib/krb5/keytab/; \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(CP) Solaris/kt_solaris.c $(SOURCE_DIR)/src/lib/krb5/keytab/; \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(CP) Solaris/private/krb5/keytab/kt_solaris.h $(SOURCE_DIR)/src/lib/krb5/keytab/; \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(CP) Solaris/libgss_stubs.c $(SOURCE_DIR)/src/lib/gssapi/mechglue/; \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(CP) Solaris/missing_interfaces.c $(SOURCE_DIR)/src/lib/krb5/; \
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maeder $(CP) Solaris/privacy_allowed.c $(SOURCE_DIR)/src/lib/krb5/; \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder $(CP) Solaris/prof_solaris.c $(SOURCE_DIR)/src/lib/krb5/; \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder $(CP) Solaris/private/krb5/prof_solaris.h $(SOURCE_DIR)/src/lib/krb5/; \
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder $(CP) Solaris/rc_mem.c $(SOURCE_DIR)/src/lib/krb5/rcache; \
776a1a086df734581431e6edb4343ed4c8d34d55Christian Maeder $(CP) Solaris/rc_mem.h $(SOURCE_DIR)/src/lib/krb5/rcache; \
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder $(CP) Solaris/safechown.c $(SOURCE_DIR)/src/lib/krb5/os; \
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder $(CP) Solaris/util_ordering.c $(SOURCE_DIR)/src/lib/gssapi/generic
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder# We move xdr_alloc.c and supporting dyn code from libgssrpc directly
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder# into libkadm5srv_mit. kadmind is the only consumer anyway.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(CP) $(SRCLIB)/rpc/xdr_alloc.c $(SRCLIB)/kadm5/srv/; \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(CP) $(SRCLIB)/rpc/dyn.c $(SRCLIB)/kadm5/srv/; \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(CP) $(SRCLIB)/rpc/dyn.h $(SRCLIB)/kadm5/srv/; \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(CP) $(SRCLIB)/rpc/dynP.h $(SRCLIB)/kadm5/srv/; \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(CP) $(SRCLIB)/rpc/dyntest.c $(SRCLIB)/kadm5/srv/; \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder# Common flags used to create the filter libs below
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederFILTLIBFLAGS = -G $(LD_B_DIRECT) $(LD_Z_DEFS) $(LD_Z_TEXT)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(CC) -m32 -o $(BUILD_DIR)/$(MACH32)/lib/libgss.so.1 \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder -M$(COMPONENT_DIR)/Solaris/libgss.mapfile-vers \
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder -L $(BUILD_DIR)/$(MACH32)/lib -lkrb5support \
ad4889ebb40efae8595b0969dd6ba1162d52bac3Christian Maeder $(BUILD_DIR)/$(MACH32)/lib/gssapi/mechglue/libgss_stubs.o && \
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder $(CC) -m32 -o $(BUILD_DIR)/$(MACH32)/lib/libkrb5.so.1 \
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian Maeder -M$(COMPONENT_DIR)/Solaris/libkrb5.mapfile-vers \
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian Maeder $(BUILD_DIR)/$(MACH32)/lib/krb5/missing_interfaces.o \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(BUILD_DIR)/$(MACH32)/lib/krb5/privacy_allowed.o && \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(LD) -m32 -o $(BUILD_DIR)/$(MACH32)/lib/libkadm5clnt.so.1 \
a9b59eb2ce961014974276cdae0e9df4419bd212Christian Maeder -M$(COMPONENT_DIR)/Solaris/libkadm5clnt.mapfile-vers;
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(CC) -m64 -o $(BUILD_DIR)/$(MACH64)/lib/libgss.so.1 \
88318aafc287e92931dceffbb943d58a9310001dChristian Maeder -M$(COMPONENT_DIR)/Solaris/libgss.mapfile-vers \
a3c6d8e0670bf2aa71bc8e2a3b1f45d56dd65e4cChristian Maeder -L $(BUILD_DIR)/$(MACH64)/lib -lkrb5support \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(BUILD_DIR)/$(MACH64)/lib/gssapi/mechglue/libgss_stubs.o && \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(CC) -m64 -o $(BUILD_DIR)/$(MACH64)/lib/libkrb5.so.1 \
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder -M$(COMPONENT_DIR)/Solaris/libkrb5.mapfile-vers \
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder $(BUILD_DIR)/$(MACH64)/lib/krb5/missing_interfaces.o \
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder $(BUILD_DIR)/$(MACH64)/lib/krb5/privacy_allowed.o && \
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder $(LD) -m64 -o $(BUILD_DIR)/$(MACH64)/lib/libkadm5clnt.so.1 \
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder -M$(COMPONENT_DIR)/Solaris/libkadm5clnt.mapfile-vers;
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder$(INSTALL_32): COMPONENT_POST_INSTALL_ACTION= \
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder $(CP) $(BUILD_DIR)/$(MACH32)/lib/libgss.so.1 \
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder $(CP) $(BUILD_DIR)/$(MACH32)/lib/libkrb5.so.1 \
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder $(CP) $(BUILD_DIR)/$(MACH32)/lib/libkadm5clnt.so.1 \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder$(INSTALL_64): COMPONENT_POST_INSTALL_ACTION= \
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder $(MKDIR) -p $(PROTO_DIR)$(USRLIBDIR)/$(MACH64); \
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder $(CP) $(BUILD_DIR)/$(MACH64)/lib/libgss.so.1 \
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder $(CP) $(BUILD_DIR)/$(MACH64)/lib/libkrb5.so.1 \
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder $(CP) $(BUILD_DIR)/$(MACH64)/lib/libkadm5clnt.so.1 \
ca074a78b8dcccbb8c419586787882f98d0c6163Christian MaederREQUIRED_PACKAGES += library/security/openssl
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederREQUIRED_PACKAGES += service/network/ldap/openldap
ca074a78b8dcccbb8c419586787882f98d0c6163Christian MaederREQUIRED_PACKAGES += service/security/kerberos-5
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian MaederREQUIRED_PACKAGES += system/library/security/gss
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian MaederREQUIRED_PACKAGES += system/library/security/sasl/digestmd5