From c3bd2283835242173e76312c8ec97a6dfefe43b1 Mon Sep 17 00:00:00 2001 From: des Date: Tue, 10 Sep 2013 18:40:43 +0000 Subject: Clean up the Kerberos build by turning libheimipcc and libheimipcs into private shared libraries, instead of hacked-together archives of PIC objects. This makes it possible to build a static libkrb5 that works. Reviewed by: stas Approved by: re (gjb) --- kerberos5/Makefile.inc | 2 -- kerberos5/lib/libheimipcc/Makefile | 3 +-- kerberos5/lib/libheimipcs/Makefile | 3 +-- kerberos5/lib/libkrb5/Makefile | 3 ++- kerberos5/libexec/digest-service/Makefile | 7 ++++--- kerberos5/libexec/kcm/Makefile | 3 ++- share/mk/bsd.libnames.mk | 2 ++ tools/build/mk/OptionalObsoleteFiles.inc | 16 ++++++++++++++++ 8 files changed, 28 insertions(+), 11 deletions(-) diff --git a/kerberos5/Makefile.inc b/kerberos5/Makefile.inc index 51cfe34..79355dd 100644 --- a/kerberos5/Makefile.inc +++ b/kerberos5/Makefile.inc @@ -14,8 +14,6 @@ LDAPCFLAGS= -I${OPENLDAPBASE}/include -DOPENLDAP=1 -DLDAP_DEPRECATED=1 LDAPLDFLAGS= -L${OPENLDAPBASE}/lib -Wl,-rpath,${OPENLDAPBASE}/lib .endif -LIBHEIMIPCC= ${.OBJDIR}/../../lib/libheimipcc/libheimipcc.a -LIBHEIMIPCS= ${.OBJDIR}/../../lib/libheimipcs/libheimipcs.a LIBVERS= ${.OBJDIR}/../../lib/libvers/libvers.a LIBSL= ${.OBJDIR}/../../lib/libsl/libsl.a diff --git a/kerberos5/lib/libheimipcc/Makefile b/kerberos5/lib/libheimipcc/Makefile index adb8f57..eaab2d2 100644 --- a/kerberos5/lib/libheimipcc/Makefile +++ b/kerberos5/lib/libheimipcc/Makefile @@ -1,7 +1,7 @@ #$FreeBSD$ LIB= heimipcc -INTERNALLIB= +PRIVATELIB= LDADD= -lheimbase -lroken -lpthread DPADD= ${LIBHEIMBASE} ${LIBROKEN} ${LIBPTHREAD} @@ -9,7 +9,6 @@ SRCS= \ client.c \ common.c -CFLAGS+= -DPIC ${PICFLAG} CFLAGS+= -I${KRB5DIR}/lib/roken \ -I${KRB5DIR}/base \ -I${KRB5DIR}/lib/ipc diff --git a/kerberos5/lib/libheimipcs/Makefile b/kerberos5/lib/libheimipcs/Makefile index 55add1a..31fd4af 100644 --- a/kerberos5/lib/libheimipcs/Makefile +++ b/kerberos5/lib/libheimipcs/Makefile @@ -1,7 +1,7 @@ #$FreeBSD$ LIB= heimipcs -INTERNALLIB= +PRIVATELIB= LDADD= -lheimbase -lroken LDFLAGS= -pthread DPADD= ${LIBHEIMBASE} ${LIBROKEN} @@ -10,7 +10,6 @@ SRCS= \ server.c \ common.c -CFLAGS+= -DPIC ${PICFLAG} CFLAGS+= -I${KRB5DIR}/lib/roken \ -I${KRB5DIR}/base \ -I${KRB5DIR}/lib/ipc -I. diff --git a/kerberos5/lib/libkrb5/Makefile b/kerberos5/lib/libkrb5/Makefile index 4736857..b30ec75 100644 --- a/kerberos5/lib/libkrb5/Makefile +++ b/kerberos5/lib/libkrb5/Makefile @@ -3,8 +3,9 @@ LIB= krb5 LDFLAGS= -Wl,--no-undefined VERSION_MAP= ${KRB5DIR}/lib/krb5/version-script.map -LDADD= -lasn1 -lcom_err -lcrypt -lcrypto -lhx509 -lroken -lwind -lheimbase ${LIBHEIMIPCC} +LDADD= -lasn1 -lcom_err -lcrypt -lcrypto -lhx509 -lroken -lwind -lheimbase -lheimipcc DPADD= ${LIBASN1} ${LIBCOM_ERR} ${LIBCRYPT} ${LIBCRYPTO} ${LIBHX509} ${LIBROKEN} ${LIBWIND} ${LIBHEIMBASE} ${LIBHEIMIPCC} +USEPRIVATELIB= heimipcc INCS= heim_err.h \ heim_threads.h \ diff --git a/kerberos5/libexec/digest-service/Makefile b/kerberos5/libexec/digest-service/Makefile index 82a8bc4..79a7c8b 100644 --- a/kerberos5/libexec/digest-service/Makefile +++ b/kerberos5/libexec/digest-service/Makefile @@ -8,10 +8,11 @@ CFLAGS+= -I${KRB5DIR}/kdc \ -I${KRB5DIR}/lib/ipc \ -I${KRB5DIR}/lib/wind \ -I${KRB5DIR}/lib/roken -DPADD= ${LIBHDB} ${LIBKDC} ${LIBHEIMIPCS} ${LIBKRB5} ${LIBROKEN} ${LIBASN1} ${LIBCRYPTO} \ - ${LIBCRYPT} ${LIBVERS} -LDADD= -lhdb -lkdc ${LIBHEIMIPCS} -lkrb5 -lroken -lasn1 -lcrypto -lcrypt \ +DPADD= ${LIBHDB} ${LIBKDC} ${LIBHEIMIPCS} ${LIBKRB5} ${LIBROKEN} ${LIBASN1} \ + ${LIBCRYPTO} ${LIBCRYPT} ${LIBVERS} +LDADD= -lhdb -lkdc -lheimipcs -lkrb5 -lroken -lasn1 -lcrypto -lcrypt \ ${LIBVERS} -lheimntlm +USEPRIVATELIB= heimipcs .include diff --git a/kerberos5/libexec/kcm/Makefile b/kerberos5/libexec/kcm/Makefile index 2643b83..bc84c05 100644 --- a/kerberos5/libexec/kcm/Makefile +++ b/kerberos5/libexec/kcm/Makefile @@ -21,8 +21,9 @@ CFLAGS+=-I${KRB5DIR}/lib/krb5 -I${KRB5DIR}/lib/asn1 -I${KRB5DIR}/lib/roken \ -I${KRB5DIR}/kcm -I${KRB5DIR}/lib/ipc ${LDAPCFLAGS} DPADD= ${LIBHDB} ${LIBKRB5} ${LIBROKEN} ${LIBASN1} ${LIBHEIMNTLM} \ ${LIBHEIMIPCS} ${LIBCRYPTO} ${LIBCRYPT} ${LIBVERS} ${LDAPDPADD} -LDADD= -lhdb -lkrb5 -lroken -lasn1 -lheimntlm ${LIBHEIMIPCS} \ +LDADD= -lhdb -lkrb5 -lroken -lasn1 -lheimntlm -lheimipcs \ -lcrypto -lcrypt ${LIBVERS} ${LDAPLDADD} +USEPRIVATELIB= heimipcs LDFLAGS=${LDAPLDFLAGS} .include diff --git a/share/mk/bsd.libnames.mk b/share/mk/bsd.libnames.mk index 3de4333..00d38ff 100644 --- a/share/mk/bsd.libnames.mk +++ b/share/mk/bsd.libnames.mk @@ -65,6 +65,8 @@ LIBGSSAPI_KRB5?= ${DESTDIR}${LIBDIR}/libgssapi_krb5.a LIBHDB?= ${DESTDIR}${LIBDIR}/libhdb.a LIBHISTORY?= ${DESTDIR}${LIBDIR}/libhistory.a LIBHEIMBASE?= ${DESTDIR}${LIBDIR}/libheimbase.a +LIBHEIMIPCC?= ${DESTDIR}${LIBPRIVATEDIR}/libheimipcc.a +LIBHEIMIPCS?= ${DESTDIR}${LIBPRIVATEDIR}/libheimipcs.a LIBHEIMNTLM?= ${DESTDIR}${LIBDIR}/libheimntlm.a LIBHEIMSQLITE?= ${DESTDIR}${LIBDIR}/libheimsqlite.a LIBHX509?= ${DESTDIR}${LIBDIR}/libhx509.a diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 52ef18f..036aa5f 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -2548,6 +2548,14 @@ OLD_FILES+=usr/lib/pam_krb5.so OLD_LIBS+=usr/lib/pam_krb5.so.5 OLD_FILES+=usr/lib/pam_ksu.so OLD_LIBS+=usr/lib/pam_ksu.so.5 +OLD_FILES+=usr/lib/private/libheimipcc.a +OLD_FILES+=usr/lib/private/libheimipcc.so +OLD_LIBS+=usr/lib/private/libheimipcc.so.11 +OLD_FILES+=usr/lib/private/libheimipcc_p.a +OLD_FILES+=usr/lib/private/libheimipcs.a +OLD_FILES+=usr/lib/private/libheimipcs.so +OLD_LIBS+=usr/lib/private/libheimipcs.so.11 +OLD_FILES+=usr/lib/private/libheimipcs_p.a .if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" OLD_FILES+=usr/lib32/libasn1.a OLD_FILES+=usr/lib32/libasn1.so @@ -2617,6 +2625,14 @@ OLD_FILES+=usr/lib32/pam_krb5.so OLD_LIBS+=usr/lib32/pam_krb5.so.5 OLD_FILES+=usr/lib32/pam_ksu.so OLD_LIBS+=usr/lib32/pam_ksu.so.5 +OLD_FILES+=usr/lib32/private/libheimipcc.a +OLD_FILES+=usr/lib32/private/libheimipcc.so +OLD_LIBS+=usr/lib32/private/libheimipcc.so.11 +OLD_FILES+=usr/lib32/private/libheimipcc_p.a +OLD_FILES+=usr/lib32/private/libheimipcs.a +OLD_FILES+=usr/lib32/private/libheimipcs.so +OLD_LIBS+=usr/lib32/private/libheimipcs.so.11 +OLD_FILES+=usr/lib32/private/libheimipcs_p.a .endif OLD_FILES+=usr/libexec/digest-service OLD_FILES+=usr/libexec/hprop -- cgit v1.1