On Friday 20 August 2010 17:12:42 Anonymous wrote: > Anonymous <swel...@gmail.com> writes: > > David Naylor <naylor.b.da...@gmail.com> writes: > >>> %% > >>> Index: java/openjdk6/Makefile > >>> > >>> @@ -266,3 +267,6 @@ post-install: > >>> @${CAT} ${PKGMESSAGE} > >>> > >>> .include <bsd.port.post.mk> > >>> > >>> + > >>> +# XXX: use `?=' in bsd.port.mk > >>> +_MAKE_JOBS= > >>> %% > >> > >> Yes, I prefer this approach. See attached for the patch that does this. > >> I will file a PR about this shortly. > > > > I've filed ports/148754 about defining empty _MAKE_JOBS so it's not > > forgotten. > > That PR was recently committed. So, you can try to resurrect ports/148753.
I've had a look at openjdk6 and it appears it really is MAKE_JOBS_UNSAFE. There are portions of it that are able to use make jobs and those are compiled using HOTSPOT_BUILD_JOBS. I suggest that either: - openjdk stops using HOTSPOT_BUILD_JOBS and declares itself unsafe, or - declare itself make jobs safe and use HOTSPOT_BUILD_JOBS for those parts that can use it Attached is a patch that achieves the latter suggestion. The problem with the port as it stands now is that it breaks with FORCE_MAKE_JOBS, does not honour MAKE_JOBS_NUMBER and that it will consume a lot of resources when building, more so than what is reasonably expected. Simply declaring the port make jobs unsafe does not fix the resource consumption that some programs/scripts may take into account. Taking the first option will result in slower build times when the port is able to build faster. Taking the second option results in overriding a 'private' variable. There is precedent in ports for using that 'private' variable. With the recently committed changes using the 'private' variable is less intrusive. I recommend the second option. It allows the port to build as fast as possible, to honour MAKE_JOBS_NUMBER and does not employ any hacks. Regards
diff -ur /usr/ports/java/openjdk6/Makefile openjdk6/Makefile --- /usr/ports/java/openjdk6/Makefile 2010-07-15 22:29:26.000000000 +0200 +++ openjdk6/Makefile 2010-07-15 22:33:45.000000000 +0200 @@ -48,6 +48,7 @@ # java extracts directly to the cwd WRKSRC= ${WRKDIR} +MAKE_JOBS_SAFE= yes USE_GMAKE= yes USE_MOTIF= yes @@ -145,8 +146,10 @@ USE_DISPLAY= yes .endif -BUILD_JOBS_NUMBER!= ${SYSCTL} -n kern.smp.cpus -MAKE_ENV+= HOTSPOT_BUILD_JOBS=${BUILD_JOBS_NUMBER} +.if !defined(DISABLE_MAKE_JOBS) +MAKE_ENV+= HOTSPOT_BUILD_JOBS=${MAKE_JOBS_NUMBER} +_MAKE_JOBS= +.endif COPYDIRS= \ hotspot/src/os/linux/launcher \
signature.asc
Description: This is a digitally signed message part.