Makefile 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. # This file is part of the OpenADK project. OpenADK is copyrighted
  2. # material, please see the LICENCE file in the top-level directory.
  3. include $(TOPDIR)/rules.mk
  4. PKG_NAME:= heimdal
  5. PKG_VERSION:= 1.4
  6. PKG_RELEASE:= 2
  7. PKG_MD5SUM:= 31d08bbf47a77827fe97ef3f52b4c9c4
  8. PKG_DESCR:= Kerberos 5 server
  9. PKG_SECTION:= crypto
  10. PKG_DEPENDS:= libheimdal libheimdal-client libncurses libcom-err libreadline
  11. PKG_BUILDDEP:= openssl ncurses e2fsprogs readline
  12. PKG_URL:= http://www.h5l.org/
  13. PKG_SITES:= http://www.h5l.org/dist/src/
  14. PKG_NOPARALLEL:= 1
  15. PKG_SUBPKGS:= HEIMDAL LIBHEIMDAL LIBHEIMDAL_CLIENT
  16. PKGSD_LIBHEIMDAL:= Kerberos 5 server libraries
  17. PKGSC_LIBHEIMDAL:= libs
  18. PKGSD_LIBHEIMDAL_CLIENT:= Kerberos 5 client libraries
  19. PKGSC_LIBHEIMDAL_CLIENT:= libs
  20. PKG_FLAVOURS:= PKINIT
  21. PKGFD_PKINIT:= Enable PK-INIT
  22. PKG_CHOICES:= WITH_LDAP WITH_BDB
  23. PKGCD_WITH_LDAP:= use OpenLDAP as database backend
  24. PKGCS_WITH_LDAP:= libopenldap
  25. PKGCB_WITH_LDAP:= openldap
  26. PKGCD_WITH_BDB:= use Berkeley DB as database backend
  27. PKGCS_WITH_BDB:= libdb
  28. PKGCB_WITH_BDB:= libdb
  29. include $(TOPDIR)/mk/package.mk
  30. $(eval $(call PKG_template,HEIMDAL_SERVER,heimdal-server,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  31. $(eval $(call PKG_template,LIBHEIMDAL,libheimdal,$(PKG_VERSION)-${PKG_RELEASE},,${PKGSD_LIBHEIMDAL},${PKGSC_LIBHEIMDAL}))
  32. $(eval $(call PKG_template,LIBHEIMDAL_CLIENT,libheimdal-client,$(PKG_VERSION)-${PKG_RELEASE},,${PKGSD_LIBHEIMDAL_CLIENT},${PKGSC_LIBHEIMDAL_CLIENT}))
  33. CONFIGURE_OPTS:= --with-hdbdir=/etc/heimdal \
  34. --disable-otp \
  35. --disable-ndbm-db \
  36. --libdir=/usr/lib/heimdal \
  37. --libexecdir=/usr/sbin \
  38. --with-openssl=${STAGING_TARGET_DIR}/usr \
  39. --with-readline=${STAGING_TARGET_DIR}/usr \
  40. --with-ipv6 \
  41. --sysconfdir=/etc/heimdal
  42. ifeq ($(ADK_COMPILE_HEIMDAL_WITH_BDB),y)
  43. CONFIGURE_ARGS+= --with-berkeley-db
  44. else
  45. CONFIGURE_ARGS+= --without-berkeley-db
  46. endif
  47. ifeq ($(ADK_COMPILE_HEIMDAL_WITH_LDAP),y)
  48. CONFIGURE_ARGS+= --with-openldap=yes
  49. CONFIGURE_ARGS+= --with-openldap-include=${STAGING_TARGET_DIR}/usr
  50. CONFIGURE_ARGS+= --with-openldap-lib=${STAGING_TARGET_DIR}/usr
  51. else
  52. CONFIGURE_ARGS+= --without-openldap
  53. endif
  54. ifeq ($(ADK_PACKAGE_HEIMDAL_PKINIT),y)
  55. CONFIGURE_OPTS+= --enable-pk-init
  56. else
  57. CONFIGURE_OPTS+= --disable-pk-init \
  58. --disable-kx509
  59. endif
  60. TCFLAGS+= -I${STAGING_TARGET_DIR}/usr/include/et -pthread
  61. CONFIGURE_ARGS+= ${CONFIGURE_OPTS} --with-cross-tools=${STAGING_HOST_DIR}/bin
  62. CONFIGURE_ENV+= cross_compiling=yes \
  63. ac_cv_func_getaddrinfo_numserv=yes
  64. ifeq ($(ADK_HOST_CYGWIN),y)
  65. EXEEXT:= .exe
  66. endif
  67. post-extract:
  68. (cd ${WRKBUILD}; rm -rf config.{cache,status} ; \
  69. ./configure --prefix=$(STAGING_HOST_DIR) \
  70. --disable-pk-init \
  71. --without-openldap \
  72. --disable-sqlite-cache \
  73. --disable-otp \
  74. );
  75. ${MAKE} -C ${WRKBUILD}/include
  76. ${MAKE} -C ${WRKBUILD}/lib/roken
  77. ${MAKE} -C ${WRKBUILD}/lib/vers
  78. ${MAKE} -C ${WRKBUILD}/lib/editline
  79. env CFLAGS="-static" LDFLAGS="-static" ${MAKE} -C ${WRKBUILD}/lib/com_err compile_et$(EXEEXT)
  80. env CFLAGS="-static" LDFLAGS="-static" ${MAKE} -C ${WRKBUILD}/lib/asn1 asn1_compile$(EXEEXT)
  81. env CFLAGS="-static" LDFLAGS="-static" ${MAKE} -C ${WRKBUILD}/lib/sl slc$(EXEEXT)
  82. ${MAKE} -C ${WRKBUILD}/lib/roken install
  83. ${MAKE} -C ${WRKBUILD}/lib/asn1 install
  84. ${MAKE} -C ${WRKBUILD}/lib/sl install
  85. $(CP) $(STAGING_HOST_DIR)/libexec/heimdal/{slc,asn1_compile} \
  86. $(STAGING_HOST_DIR)/bin
  87. ${MAKE} -C ${WRKBUILD}/lib/sl clean
  88. ${MAKE} -C ${WRKBUILD}/lib/asn1 clean
  89. ${MAKE} -C ${WRKBUILD}/lib/roken clean
  90. ${MAKE} -C ${WRKBUILD} clean
  91. post-install:
  92. ifeq (${ADK_COMPILE_HEIMDAL_WITH_DB_LDAP},y)
  93. ${INSTALL_DIR} ${IDIR_HEIMDAL_SERVER}/etc/openldap/schema
  94. ${INSTALL_DATA} ${WRKBUILD}/lib/hdb/hdb.schema \
  95. ${IDIR_HEIMDAL_SERVER}/etc/openldap/schema
  96. endif
  97. ${INSTALL_DIR} ${IDIR_HEIMDAL_SERVER}/etc/heimdal
  98. ${INSTALL_DIR} ${IDIR_HEIMDAL_SERVER}/usr/sbin
  99. ${INSTALL_DIR} ${IDIR_HEIMDAL_SERVER}/usr/lib/heimdal
  100. ${CP} ${WRKINST}/usr/lib/heimdal/libkdc.so* \
  101. ${IDIR_HEIMDAL_SERVER}/usr/lib/heimdal
  102. ${CP} ${WRKINST}/usr/lib/heimdal/libkadm5srv.so* \
  103. ${IDIR_HEIMDAL_SERVER}/usr/lib/heimdal
  104. ${CP} ${WRKINST}/usr/lib/heimdal/libhdb.so* \
  105. ${IDIR_HEIMDAL_SERVER}/usr/lib/heimdal
  106. ${INSTALL_DATA} ./files/{krb5.conf,kdc.conf,kadmind.acl} \
  107. ${IDIR_HEIMDAL_SERVER}/etc/heimdal
  108. ${INSTALL_BIN} ${WRKINST}/usr/sbin/kdc \
  109. ${IDIR_HEIMDAL_SERVER}/usr/sbin/
  110. ${INSTALL_BIN} ${WRKINST}/usr/sbin/kadmind \
  111. ${IDIR_HEIMDAL_SERVER}/usr/sbin/
  112. ${INSTALL_BIN} ${WRKINST}/usr/sbin/kpasswdd \
  113. ${IDIR_HEIMDAL_SERVER}/usr/sbin/
  114. ${INSTALL_BIN} ${WRKINST}/usr/sbin/kstash \
  115. ${IDIR_HEIMDAL_SERVER}/usr/sbin/
  116. ${INSTALL_BIN} ${WRKINST}/usr/sbin/ktutil \
  117. ${IDIR_HEIMDAL_SERVER}/usr/sbin/
  118. ${INSTALL_BIN} ${WRKINST}/usr/sbin/kadmin \
  119. ${IDIR_HEIMDAL_SERVER}/usr/sbin/
  120. # heimdal libs
  121. ${INSTALL_DIR} ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
  122. ifeq ($(ADK_COMPILE_HEIMDAL_WITH_PKINIT),y)
  123. ${CP} ${WRKINST}/usr/lib/heimdal/libhx509.so* \
  124. ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
  125. endif
  126. ${CP} ${WRKINST}/usr/lib/heimdal/libheimntlm.so* \
  127. ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
  128. ${CP} ${WRKINST}/usr/lib/heimdal/libwind.so* \
  129. ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
  130. ${CP} ${WRKINST}/usr/lib/heimdal/libgssapi.so* \
  131. ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
  132. ${CP} ${WRKINST}/usr/lib/heimdal/libkafs.so* \
  133. ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
  134. ${CP} ${WRKINST}/usr/lib/heimdal/libkrb5.so* \
  135. ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
  136. ${CP} ${WRKINST}/usr/lib/heimdal/libasn1.so* \
  137. ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
  138. ${CP} ${WRKINST}/usr/lib/heimdal/libroken.so* \
  139. ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
  140. # heimdal client libs
  141. ${INSTALL_DIR} ${IDIR_LIBHEIMDAL_CLIENT}/usr/lib/heimdal
  142. ${CP} ${WRKINST}/usr/lib/heimdal/libeditline.so* \
  143. ${IDIR_LIBHEIMDAL_CLIENT}/usr/lib/heimdal
  144. ${CP} ${WRKINST}/usr/lib/heimdal/libsl.so* \
  145. ${IDIR_LIBHEIMDAL_CLIENT}/usr/lib/heimdal
  146. ${CP} ${WRKINST}/usr/lib/heimdal/libkadm5clnt.so* \
  147. ${IDIR_LIBHEIMDAL_CLIENT}/usr/lib/heimdal
  148. include ${TOPDIR}/mk/pkg-bottom.mk