Author: jmmv
Date: Fri Nov  8 14:20:22 2013
New Revision: 257848
URL: http://svnweb.freebsd.org/changeset/base/257848

Log:
  Fix buildworld when WITH_TESTS is enabled.
  
  The addition of the TESTS knob and its enabling of the build of tests in
  lib/libcrypt/tests/ broke the build.  The reason is that we cannot descend
  into tests/ subdirectories until all prerequisites have been built, which
  in the case of tests may be "a lot of things" (libatf-c in this case).
  
  Ensure that we do not walk tests/ directories during the bootstrapping of
  the libraries as part of buildworld.
  
  Reviewed by:  freebsd-testing
  Approved by:  rpaulo (mentor)

Modified:
  head/Makefile.inc1
  head/share/mk/bsd.own.mk

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1  Fri Nov  8 13:23:26 2013        (r257847)
+++ head/Makefile.inc1  Fri Nov  8 14:20:22 2013        (r257848)
@@ -1602,10 +1602,12 @@ ${_lib}__PL: .PHONY .MAKE
 .if exists(${.CURDIR}/${_lib})
        ${_+_}@${ECHODIR} "===> ${_lib} (obj,depend,all,install)"; \
                cd ${.CURDIR}/${_lib} && \
-               ${MAKE} DIRPRFX=${_lib}/ obj && \
-               ${MAKE} DIRPRFX=${_lib}/ depend && \
-               ${MAKE} -DNO_PROFILE -DNO_PIC DIRPRFX=${_lib}/ all && \
-               ${MAKE} -DNO_PROFILE -DNO_PIC DIRPRFX=${_lib}/ install
+               ${MAKE} -DNO_TESTS DIRPRFX=${_lib}/ obj && \
+               ${MAKE} -DNO_TESTS DIRPRFX=${_lib}/ depend && \
+               ${MAKE} -DNO_TESTS -DNO_PROFILE -DNO_PIC \
+                   DIRPRFX=${_lib}/ all && \
+               ${MAKE} -DNO_TESTS -DNO_PROFILE -DNO_PIC \
+                   DIRPRFX=${_lib}/ install
 .endif
 .endfor
 
@@ -1614,10 +1616,10 @@ ${_lib}__L: .PHONY .MAKE
 .if exists(${.CURDIR}/${_lib})
        ${_+_}@${ECHODIR} "===> ${_lib} (obj,depend,all,install)"; \
                cd ${.CURDIR}/${_lib} && \
-               ${MAKE} DIRPRFX=${_lib}/ obj && \
-               ${MAKE} DIRPRFX=${_lib}/ depend && \
-               ${MAKE} DIRPRFX=${_lib}/ all && \
-               ${MAKE} DIRPRFX=${_lib}/ install
+               ${MAKE} -DNO_TESTS DIRPRFX=${_lib}/ obj && \
+               ${MAKE} -DNO_TESTS DIRPRFX=${_lib}/ depend && \
+               ${MAKE} -DNO_TESTS DIRPRFX=${_lib}/ all && \
+               ${MAKE} -DNO_TESTS DIRPRFX=${_lib}/ install
 .endif
 .endfor
 
@@ -1627,10 +1629,12 @@ ${_lib}__L: .PHONY .MAKE
 lib/libpam__L: .PHONY .MAKE
        ${_+_}@${ECHODIR} "===> lib/libpam (obj,depend,all,install)"; \
                cd ${.CURDIR}/lib/libpam && \
-               ${MAKE} DIRPRFX=lib/libpam/ obj && \
-               ${MAKE} DIRPRFX=lib/libpam/ depend && \
-               ${MAKE} DIRPRFX=lib/libpam/ -D_NO_LIBPAM_SO_YET all && \
-               ${MAKE} DIRPRFX=lib/libpam/ -D_NO_LIBPAM_SO_YET install
+               ${MAKE} -DNO_TESTS DIRPRFX=lib/libpam/ obj && \
+               ${MAKE} -DNO_TESTS DIRPRFX=lib/libpam/ depend && \
+               ${MAKE} -DNO_TESTS DIRPRFX=lib/libpam/ \
+                   -D_NO_LIBPAM_SO_YET all && \
+               ${MAKE} -DNO_TESTS DIRPRFX=lib/libpam/ \
+                   -D_NO_LIBPAM_SO_YET install
 
 _prereq_libs: ${_prereq_libs:S/$/__PL/}
 _startup_libs: ${_startup_libs:S/$/__L/}

Modified: head/share/mk/bsd.own.mk
==============================================================================
--- head/share/mk/bsd.own.mk    Fri Nov  8 13:23:26 2013        (r257847)
+++ head/share/mk/bsd.own.mk    Fri Nov  8 14:20:22 2013        (r257848)
@@ -556,6 +556,20 @@ MK_CLANG_FULL:= no
 MK_LLDB:= no
 .endif
 
+.if defined(NO_TESTS)
+# This should be handled above along the handling of all other NO_*  options.
+# However, the above is broken when WITH_*=yes are passed to make(1) as
+# command line arguments.  See PR bin/183762.
+#
+# Because the TESTS option is new and it will default to yes, it's likely
+# that people will pass WITHOUT_TESTS=yes to make(1) directly and get a broken
+# build.  So, just in case, it's better to explicitly handle this case here.
+#
+# TODO(jmmv): Either fix make to allow us putting this override where it
+# belongs above or fix this file to cope with the make bug.
+MK_TESTS:= no
+.endif
+
 #
 # Set defaults for the MK_*_SUPPORT variables.
 #
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to