svn commit: r346732 - projects/runtime-coverage-v2

Enji Cooper ngie at FreeBSD.org
Fri Apr 26 07:43:39 UTC 2019


Author: ngie
Date: Fri Apr 26 07:43:38 2019
New Revision: 346732
URL: https://svnweb.freebsd.org/changeset/base/346732

Log:
  Retry building lib/libclang_rt/profile for buildworld
  
  Building lib/libclang_rt/profile doesn't work with _libraries; try to compile
  it with cross-tools instead after passing along --target=, etc.

Modified:
  projects/runtime-coverage-v2/Makefile.inc1

Modified: projects/runtime-coverage-v2/Makefile.inc1
==============================================================================
--- projects/runtime-coverage-v2/Makefile.inc1	Fri Apr 26 06:58:40 2019	(r346731)
+++ projects/runtime-coverage-v2/Makefile.inc1	Fri Apr 26 07:43:38 2019	(r346732)
@@ -722,7 +722,7 @@ TMAKE=		\
 XMAKE=		${BMAKE} \
 		TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
 		MK_GDB=no \
-		MK_TESTS=no MK_COVERAGE=no
+		MK_TESTS=no MK_COVERAGE=no MK_COVERAGE_SUPPORT=${MK_COVERAGE}
 
 # kernel-tools stage
 KTMAKEENV=	INSTALL="sh ${.CURDIR}/tools/install.sh" \
@@ -786,7 +786,7 @@ BFLAGS+=	-B${WORLDTMP}/usr/bin
     (defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc)
 .elif ${WANT_COMPILER_TYPE} == clang || \
     (defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == clang)
-XCFLAGS+=	-target ${TARGET_TRIPLE}
+XCFLAGS+=	-target=${TARGET_TRIPLE}
 .endif
 XCFLAGS+=	--sysroot=${WORLDTMP}
 
@@ -1117,7 +1117,6 @@ _libraries:
 	${_+_}cd ${.CURDIR}; \
 	    ${WMAKE} -DNO_FSCHG MK_HTML=no -DNO_LINT MK_MAN=no \
 	    MK_PROFILE=no MK_TESTS=no MK_TESTS_SUPPORT=${MK_TESTS} \
-	    MK_COVERAGE=no MK_COVERAGE_SUPPORT=${MK_COVERAGE} \
 	    libraries
 everything: .PHONY
 	@echo
@@ -2467,6 +2466,9 @@ _elftctools=	lib/libelftc \
 .endif
 
 .if ${MK_CLANG_BOOTSTRAP} != "no"
+.if ${MK_COVERAGE_SUPPORT} != "no"
+_coverage_libs+= lib/clang_rt/profile
+.endif
 _clang=		usr.bin/clang
 .endif
 .if ${MK_LLD_BOOTSTRAP} != "no"
@@ -2505,6 +2507,15 @@ cross-tools: .MAKE .PHONY
 		${MAKE} DIRPRFX=${_tool}/ all; \
 		${MAKE} DIRPRFX=${_tool}/ DESTDIR=${WORLDTMP} install
 .endfor
+.for _tool in ${_coverage_libs}
+	${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \
+		cd ${.CURDIR}/${_tool}; \
+		if [ -z "${NO_OBJWALK}" ]; then ${MAKE} DIRPRFX=${_tool}/ obj; fi; \
+		${MAKE} CFLAGS="${XCFLAGS:M*target=} ${CFLAGS}" \
+		    DIRPRFX=${_tool}/ all; \
+		${MAKE} CFLAGS="${XCFLAGS:M*target=} ${CFLAGS}" \
+		    DIRPRFX=${_tool}/ DESTDIR=${WORLDTMP} install
+.endif
 
 #
 # native-xtools is the current target for qemu-user cross builds of ports
@@ -2719,16 +2730,6 @@ libraries: .MAKE .PHONY
 _prereq_libs= lib/libcompiler_rt
 .if ${MK_SSP} != "no"
 _prereq_libs+= gnu/lib/libssp/libssp_nonshared
-.endif
-
-#
-# The coverage libraries must be built for the target prior to ${_startup_libs}
-# for world to have runtime coverage instrumentation.
-#
-.if ${MK_COVERAGE_SUPPORT} != "no"
-.if ${MK_CLANG} != "no"
-_prereq_libs+=	lib/libclang_rt/profile
-.endif
 .endif
 
 # These dependencies are not automatically generated:


More information about the svn-src-projects mailing list