From owner-freebsd-ports-bugs@FreeBSD.ORG Wed Mar 26 18:10:02 2008 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0E0A31065685 for ; Wed, 26 Mar 2008 18:10:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id CE62E8FC5D for ; Wed, 26 Mar 2008 18:10:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m2QIA1Qc014218 for ; Wed, 26 Mar 2008 18:10:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m2QIA18H014217; Wed, 26 Mar 2008 18:10:01 GMT (envelope-from gnats) Resent-Date: Wed, 26 Mar 2008 18:10:01 GMT Resent-Message-Id: <200803261810.m2QIA18H014217@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, "David O'Brien" Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E21E106564A for ; Wed, 26 Mar 2008 18:08:16 +0000 (UTC) (envelope-from obrien@NUXI.org) Received: from dragon.nuxi.org (trang.nuxi.org [74.95.12.85]) by mx1.freebsd.org (Postfix) with ESMTP id 4E98F8FC23 for ; Wed, 26 Mar 2008 18:08:16 +0000 (UTC) (envelope-from obrien@NUXI.org) Received: from dragon.nuxi.org (obrien@localhost [127.0.0.1]) by dragon.nuxi.org (8.14.1/8.14.1) with ESMTP id m2QI8FL0063102 for ; Wed, 26 Mar 2008 11:08:15 -0700 (PDT) (envelope-from obrien@dragon.nuxi.org) Received: (from obrien@localhost) by dragon.nuxi.org (8.14.2/8.14.1/Submit) id m2QI8FOa063101; Wed, 26 Mar 2008 11:08:15 -0700 (PDT) (envelope-from obrien) Message-Id: <200803261808.m2QI8FOa063101@dragon.nuxi.org> Date: Wed, 26 Mar 2008 11:08:15 -0700 (PDT) From: "David O'Brien" To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/122120: Support -jN parallel ports building. X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: David O'Brien List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Mar 2008 18:10:02 -0000 >Number: 122120 >Category: ports >Synopsis: Support -jN parallel ports building. >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Mar 26 18:10:01 UTC 2008 >Closed-Date: >Last-Modified: >Originator: David O'Brien >Release: FreeBSD 8.0-CURRENT i386 >Organization: >Environment: System: FreeBSD dragon.NUXI.org 8.0-CURRENT FreeBSD 8.0-CURRENT #592: Sat Feb 16 21:08:06 PST 2008 rootk@dragon.NUXI.org:/src/fbsd/sys/i386/compile/DRAGON i386 >Description: Some large applications in The Ports Collection are known to build fine in a parallel fashion with -jN. GCC is one example of such a port. Below is a rough diff that allows a well tested port to set 'USE_MAKE_J' to cause $MAKE to run with -jN. (I thought I had filed this in a PR previously, but I cannot find it searching http://bugs.freebsd.org) >How-To-Repeat: $ cd /usr/ports/lang/gcc42 ; make >Fix: Index: Mk/bsd.java.mk =================================================================== RCS file: /home/ncvs/ports/Mk/bsd.java.mk,v retrieving revision 1.82 diff -u -p -r1.82 bsd.java.mk --- Mk/bsd.java.mk 28 Oct 2007 15:09:43 -0000 1.82 +++ Mk/bsd.java.mk 3 Nov 2007 14:57:03 -0000 @@ -435,7 +435,7 @@ ALL_TARGET?= . if !target(do-build) do-build: @(cd ${BUILD_WRKSRC}; \ - ${SETENV} ${MAKE_ENV} ${ANT} ${MAKE_ARGS} ${ALL_TARGET}) + ${SETENV} ${MAKE_ENV} ${ANT} ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET}) . endif . endif Index: Mk/bsd.perl.mk =================================================================== RCS file: /home/ncvs/ports/Mk/bsd.perl.mk,v retrieving revision 1.7 diff -u -p -r1.7 bsd.perl.mk --- Mk/bsd.perl.mk 29 Sep 2007 03:46:06 -0000 1.7 +++ Mk/bsd.perl.mk 29 Sep 2007 14:52:42 -0000 @@ -257,7 +257,7 @@ do-configure: .if defined(PERL_MODBUILD) .if !target(do-build) do-build: - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PERL5} ${PL_BUILD} ${MAKE_ARGS} ${ALL_TARGET}) + @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PERL5} ${PL_BUILD} ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET}) .endif # !target(do-build) .if !defined(USE_GMAKE) Index: Mk/bsd.port.mk =================================================================== RCS file: /home/ncvs/ports/Mk/bsd.port.mk,v retrieving revision 1.591 diff -u -p -r1.591 bsd.port.mk --- Mk/bsd.port.mk 11 Mar 2008 23:45:04 -0000 1.591 +++ Mk/bsd.port.mk 13 Mar 2008 15:36:10 -0000 @@ -2092,6 +2104,10 @@ CHECKSUM_ALGORITHMS?= md5 sha256 MD5_FILE?= ${MASTERDIR}/distinfo +.if defined(USE_MAKE_J) +MAKE_JOBS?= 1 +_MAKE_JOBS= -j${MAKE_JOBS} +.endif MAKE_FLAGS?= -f MAKEFILE?= Makefile MAKE_ENV+= PREFIX=${PREFIX} \ @@ -3605,9 +3638,9 @@ do-configure: .if !target(do-build) do-build: .if defined(USE_GMAKE) - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) + @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET}) .else - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) + @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET}) .endif .endif Index: lang/gcc42/Makefile =================================================================== RCS file: /home/ncvs/ports/lang/gcc42/Makefile,v retrieving revision 1.335 diff -u -p -r1.335 Makefile --- lang/gcc42/Makefile 8 Mar 2008 22:34:57 -0000 1.335 +++ lang/gcc42/Makefile 15 Mar 2008 15:33:36 -0000 @@ -28,6 +28,9 @@ LIB_DEPENDS= gmp.7:${PORTSDIR}/math/libg SUFFIX= 42 LATEST_LINK?= gcc${SUFFIX}${PKGNAMESUFFIX} NOT_FOR_ARCHS= alpha ia64 +USE_MAKE_J= yes +MAKE_JOBS!= sysctl -n kern.smp.cpus +#MAKE_JOBS!= sysctl -n hw.ncpu # Building libgcj with lang/gcc295 installed is causing a failure about # "hidden symbol `__eprintf'" in libgcc.a(_eprintf.o). CONFLICTS= gcc-2.95.* >Release-Note: >Audit-Trail: >Unformatted: