From owner-freebsd-ports@FreeBSD.ORG Thu May 17 15:00:43 2007 Return-Path: X-Original-To: ports@freebsd.org Delivered-To: freebsd-ports@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 19A0716A400 for ; Thu, 17 May 2007 15:00:43 +0000 (UTC) (envelope-from mail@maxlor.com) Received: from popeye1.ggamaur.net (popeye1.ggamaur.net [213.160.40.50]) by mx1.freebsd.org (Postfix) with ESMTP id B974513C458 for ; Thu, 17 May 2007 15:00:42 +0000 (UTC) (envelope-from mail@maxlor.com) Received: from maxlor.mine.nu (c-82-192-240-247.customer.ggaweb.ch [82.192.240.247]) by popeye1.ggamaur.net (8.13.7/8.13.7/Submit) with ESMTP id l4HF0bi0093342 for ; Thu, 17 May 2007 17:00:39 +0200 (CEST) (envelope-from mail@maxlor.com) Received: from localhost (unknown [127.0.0.1]) by maxlor.mine.nu (Postfix) with ESMTP id AA5D72E223 for ; Thu, 17 May 2007 17:00:32 +0200 (CEST) X-Virus-Scanned: amavisd-new at atlantis.intranet Received: from maxlor.mine.nu ([127.0.0.1]) by localhost (atlantis.intranet [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id THFGQc1cAIGj for ; Thu, 17 May 2007 17:00:32 +0200 (CEST) Received: from merlin.intranet (merlin.intranet [10.0.0.16]) by maxlor.mine.nu (Postfix) with ESMTP id 58B932E206 for ; Thu, 17 May 2007 17:00:32 +0200 (CEST) From: Benjamin Lutz To: ports@freebsd.org Date: Thu, 17 May 2007 17:00:28 +0200 User-Agent: KMail/1.9.6 X-Face: $Ov27?7*N,h60fIEfNJdb!m,@#4T/d; 1hw|W0zvsHM(a$Yn6BYQ0^SEEXvi8>D`|V*F"_+ R2@Aq>+mNb4`,'[[%z9v0Fa~]AD1}xQO3|>b.z&}l#R-_(P`?@Mz"kS; XC>Eti,i3>%@g? 4f,\c7|Ghwb&ky$b2PJ^\0b83NkLsFKv|smL/cI4UD%Tu8alAD MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart3893590.F5m2mkboka"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200705171700.32126.mail@maxlor.com> X-Scanned-By: MIMEDefang 2.61 on 213.160.40.60 Cc: Subject: make -j patch X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 May 2007 15:00:43 -0000 --nextPart3893590.F5m2mkboka Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hello, I have another version of the patch that allows multiple make jobs for a=20 port build, please tell me what you think: http://www.maxlor.com/freebsd/files/make_jobs.diff I've abandoned the name PARALLEL_BUILD in favor of MAKE_JOBS since the=20 former intuitively hints at several port builds running at once,=20 instead of one single port build being built with several make=20 processes. I've shamelessly taken the MAKE_JOBS name from pav,=20 thanks :) Here's an explanation of the variables used: ENABLE_MAKE_JOBS: The master switch that enables or disables the whole thing. The user is supposed to set it in his /etc/make.conf . If this variable isn't set, the ports are supposed to build like they always did. ALLOW_MAKE_JOBS: Goes into a port's makefile. The port maintainer indicates with it that the port can be built with multiple make jobs. MAKE_JOBS_WHITELIST: Allows the user to override ALLOW_MAKE_JOBS. Any port whose UNIQUENAME is listed in MAKE_JOBS_WHITELIST will have its ALLOW_MAKE_JOBS defined. The user would put something like this in his /etc/make.conf: MAKE_JOBS_WHITELIST=3Dkdebase gtk20 The following are new "internal" variables I introduced: CPUS: The number of CPUs in the system. MAKE_JOBS_NJOBS: The number of make jobs that will be used. Currently, this is ${CPUS} + 1. MAKE_JOBS_ARGS: The argument that is passed to make. BUILD_FAILMSG: A message that is printed if the do-build stage fails.=20 Note that this variable can be used by any part of the ports system, not just the MAKE_JOBS part. To use it, write code like BUILD_FAILMSG+=3D "=3D=3D=3D> Foo" Each message added to BUILD_FAILMSG like this will be printed at the end of the do-build stage (if it fails), one paragraph per message. The MAKE_JOBS code currently uses this to inform the user that he needn't bother to send bug reports if MAKE_JOBS_WHITELIST is used. Now, please let's hear what you think! I would like for this patch (or a=20 modified version of it) to be added to FreeBSD. If the powers that be=20 agree to that, I will then also write patches for the porters handbook=20 and portlint. Cheers Benjamin --nextPart3893590.F5m2mkboka Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQBGTG4MzZEjpyKHuQwRAmLMAJsG26OjdQBvd6lemGKIv8p/q/DwuQCfVnA8 hdEs5VLswVZibBxu5fPBBGY= =aKVR -----END PGP SIGNATURE----- --nextPart3893590.F5m2mkboka--