Parallel build of mail/thunderbird in FreeBSD?
Update 2014-08-07: r363978, dated Mon Aug 4 09:11:25 2014 UTC, solves the parallel build bug once and for all, and there’s no need for the Makefile.local as shown below.
I’ve been scratching my head over why mail/thunderbird doesn’t build in parallel when www/firefox does.
Research reveals MAKE_JOBS_SAFE was removed last August, in r324744. I can’t find a specific reason other than guessing parallel build was considered broken in FreeBSD.
So far, I’ve added a Makefile.local file in the /usr/ports/mail/thunderbird directory. The time spent compiling mail/thunderbird went from roughly 2.5 hours to merely 38 minutes on a 4 core Intel Core i7-960 running at 3.2 GHz. YMMV.
The contents of the Makefile.local file is:
# Enable parallel build.
MAKE_JOBS_SAFE= yes
# MAKE_JOBS_NUMBER isn't defined at this stage, so we gather the number of CPU cores ourself.
_LOCAL_MAKE_JOBS_NUMBER!= ${SYSCTL} -n kern.smp.cpus
# Do we set MOZ_MAKE_FLAGS elsewhere in the regular Makefile, or in the central .mk files?
# I hope this construct properly propagates any previous assignments to MOZ_MAKE_FLAGS.
MOZ_MAKE_FLAGS+= -j ${_LOCAL_MAKE_JOBS_NUMBER}
# Finally tell gmake what we expect from it.
MOZ_EXPORT+= MOZ_MAKE_FLAGS="${MOZ_MAKE_FLAGS}"
MOZ_MK_OPTIONS+= MOZ_MAKE_FLAGS="${MOZ_MAKE_FLAGS}"
# EOF
Mind you, I have only tested this change with the following options set:
ENIGMAILGIOLIGHTNINGLOGGINGOPTIMIZED_CFLAGSALSA
and with the following options unset:
DBUSDEBUGGCONFGNOMEUIGNOMEVFS2GSTREAMERLIBPROXYPGOPROFILETESTPULSEAUDIO