diff options
author | Satoshi Asami <asami@FreeBSD.org> | 2000-03-03 01:23:49 +0000 |
---|---|---|
committer | Satoshi Asami <asami@FreeBSD.org> | 2000-03-03 01:23:49 +0000 |
commit | ae1b35809756eb1848960063d9d9971d253eb97c (patch) | |
tree | 45f7ff406df11673dcb3ee476c01d0e418dbc40e /Mk/bsd.port.mk | |
parent | Add a few more error tags (bison, ELF, REQUIRES_MOTIF, dependency, new (diff) |
(1) Speedup dependency cleaning.
Submitted by: Jeremy Lea <reg@shale.csir.co.za>
Reviewed by: From: Will Andrews <andrews@TECHNOLOGIST.COM>
PR: 14760
(2) More OpenSSL refinement.
Submitted by: Kris Kennaway <kris@FreeBSD.org>
(3) Forgot to add USE_NEWGCC to USE_QT comment in previous commit.
Submitted by: Will Andrews <andrews@technologist.com>
Notes
Notes:
svn path=/head/; revision=26502
Diffstat (limited to 'Mk/bsd.port.mk')
-rw-r--r-- | Mk/bsd.port.mk | 73 |
1 files changed, 44 insertions, 29 deletions
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 35328c4d948c..df50e2308e66 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -146,6 +146,7 @@ FreeBSD_MAINTAINER= asami@FreeBSD.org # USE_X_PREFIX - Says that the port installs in ${X11BASE}. Implies USE_XLIB. # USE_XLIB - Says that the port uses X libraries. # USE_QT - Says that the port uses version 1 of the qt toolkit. +# Implies USE_NEWGCC. # USE_QT2 - Says that the port uses version 2 of the qt toolkit. # Implies USE_NEWGCC. # @@ -573,7 +574,8 @@ PREFIX?= ${LOCALBASE} .if defined(USE_OPENSSL) .if ${OSVERSION} >= 400014 -.if !exists(/usr/lib/libcrypto.a) +.if !exists(/usr/lib/libcrypto.so) +.BEGIN: @${ECHO} "This port requires the OpenSSL library, which is part of" @${ECHO} "the FreeBSD crypto distribution but not installed on your" @${ECHO} "machine. Please see Chapter 6.5 in the handbook for" @@ -581,16 +583,6 @@ PREFIX?= ${LOCALBASE} @${ECHO} "OpenSSL distribution." @${FALSE} .else -.if ${USE_OPENSSL} == RSA -_HASRSA= "`/usr/bin/nm /usr/lib/libcrypto.a | /usr/bin/grep RSA_free`" -.if empty(_HASRSA) -.BEGIN: - @${ECHO} "This port requires RSA crypto, which is not present in your" - @${ECHO} "version of OpenSSL. Please see Chapter 6.5 in the handbook" - @${ECHO} "for a description of the problem and alternative solutions." - @${FALSE} -.endif -.endif OPENSSLBASE= /usr OPENSSLDIR= /etc/ssl # OpenSSL in the base system doesn't include IDEA for patent reasons. @@ -2435,24 +2427,32 @@ misc-depends: .endif +# Clean dependency lists: build and runtime. Print out directory names. + +clean-depends-list: + @${CLEAN-DEPENDS-LIST} + +CLEAN-DEPENDS-LIST= \ + checked="${PARENT_CHECKED}"; \ + for dir in $$(${ECHO} "${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS}" | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//') $$(${ECHO} ${DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/:.*//'); do \ + if [ -d $$dir ]; then \ + if (${ECHO} $$checked | ${GREP} -qwv "$$dir"); then \ + child=$$(cd $$dir; ${MAKE} PARENT_CHECKED="$$checked" clean-depends-list); \ + for d in $$child; do ${ECHO} $$d; done; \ + ${ECHO} $$dir; \ + checked="$$dir $$child $$checked"; \ + fi; \ + else \ + ${ECHO_MSG} "${PKGNAME}: \"$$dir\" non-existent -- dependency list incomplete" >&2; \ + fi; \ + done | sort -u + .if !target(clean-depends) clean-depends: -.if defined(FETCH_DEPENDS) || defined(BUILD_DEPENDS) || defined(LIB_DEPENDS) \ - || defined(RUN_DEPENDS) - @for dir in `${ECHO} "${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS}" | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//' | sort -u`; do \ - if [ -d $$dir ] ; then \ - (cd $$dir; ${MAKE} NOCLEANDEPENDS=yes clean clean-depends); \ - fi \ + @for dir in `${CLEAN-DEPENDS-LIST}`; do \ + (cd $$dir; ${MAKE} NOCLEANDEPENDS=yes clean); \ done .endif -.if defined(DEPENDS) - @for dir in `${ECHO} "${DEPENDS}" | ${TR} '\040' '\012' | ${SED} -e 's/:.*//' | sort -u`; do \ - if [ -d $$dir ] ; then \ - (cd $$dir; ${MAKE} NOCLEANDEPENDS=yes clean clean-depends); \ - fi \ - done -.endif -.endif # Dependency lists: build and runtime. Print out directory names. @@ -2480,14 +2480,29 @@ RUN-DEPENDS-LIST= \ fi; \ done | sort -u -# This one does not print out directory names -- it could take a long time. -package-depends: - @for dir in `${ECHO} "${LIB_DEPENDS} ${RUN_DEPENDS}" | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//' | sort -u` `${ECHO} ${DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/:.*//' | sort -u`; do \ +# Clean dependency lists: build and runtime. Print out directory names. + +package-depends-list: + @${PACKAGE-DEPENDS-LIST} + +PACKAGE-DEPENDS-LIST= \ + checked="${PARENT_CHECKED}"; \ + for dir in $$(${ECHO} "${LIB_DEPENDS} ${RUN_DEPENDS}" | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//') $$(${ECHO} ${DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/:.*//'); do \ if [ -d $$dir ]; then \ - (cd $$dir ; ${MAKE} package-name package-depends); \ + if (${ECHO} $$checked | ${GREP} -qwv "$$dir"); then \ + child=$$(cd $$dir; ${MAKE} PARENT_CHECKED="$$checked" package-depends-list); \ + for d in $$child; do ${ECHO} $$d; done; \ + ${ECHO} $$dir; \ + checked="$$dir $$child $$checked"; \ + fi; \ else \ ${ECHO_MSG} "${PKGNAME}: \"$$dir\" non-existent -- dependency list incomplete" >&2; \ fi; \ + done | sort -u + +package-depends: + @for dir in `${PACKAGE-DEPENDS-LIST}`; do \ + (cd $$dir; ${MAKE} package-name); \ done ################################################################ |