diff options
| author | Jack Nagel | 2011-07-26 00:01:22 -0500 |
|---|---|---|
| committer | Jack Nagel | 2011-08-24 17:14:23 -0500 |
| commit | d5f7594748b4510d7c6ab0ea8c08c4ed9f249a85 (patch) | |
| tree | c4320fba63c5eac9f953aeceb1cde4433c2be120 | |
| parent | 94abb42567f6eaf49326ec9c3598d8c652ce69da (diff) | |
| download | brew-d5f7594748b4510d7c6ab0ea8c08c4ed9f249a85.tar.bz2 | |
ENV: allow a user-configurable number of make jobs
Let an environment variable, HOMEBREW_MAKE_JOBS, override the default
'-j<cores>' make flag.
Now we can more easily debug formula that normally build in parallel, or
(potentially) speed up lengthy builds.
| -rw-r--r-- | Library/Contributions/manpages/brew.1.md | 6 | ||||
| -rw-r--r-- | Library/Homebrew/extend/ENV.rb | 11 | ||||
| -rw-r--r-- | share/man/man1/brew.1 | 9 |
3 files changed, 24 insertions, 2 deletions
diff --git a/Library/Contributions/manpages/brew.1.md b/Library/Contributions/manpages/brew.1.md index 89d73f612..533937284 100644 --- a/Library/Contributions/manpages/brew.1.md +++ b/Library/Contributions/manpages/brew.1.md @@ -316,6 +316,12 @@ Some sample commands ship with Homebrew and are enabled by default. If set, Homebrew will not remove files from `share/info`, allowing them to be linked from the Cellar. + * HOMEBREW\_MAKE\_JOBS: + If set, instructs Homebrew to use the value of `HOMEBREW_MAKE_JOBS` as + the number of parallel jobs to run when building with `make`(1). + + *Default:* the number of available CPU cores. + * HOMEBREW\_SVN: When exporting from Subversion, Homebrew will use `HOMEBREW_SVN` if set, a Homebrew-built Subversion if installed, or the system-provided binary. diff --git a/Library/Homebrew/extend/ENV.rb b/Library/Homebrew/extend/ENV.rb index 931f69271..8ca166ac0 100644 --- a/Library/Homebrew/extend/ENV.rb +++ b/Library/Homebrew/extend/ENV.rb @@ -8,7 +8,7 @@ module HomebrewEnvExtension delete('CPPFLAGS') delete('LDFLAGS') - self['MAKEFLAGS'] = "-j#{Hardware.processor_count}" + self['MAKEFLAGS'] = "-j#{self.make_jobs}" unless HOMEBREW_PREFIX.to_s == '/usr/local' # /usr/local is already an -isystem and -L directory so we skip it @@ -309,4 +309,13 @@ Please take one of the following actions: def use_llvm? self['HOMEBREW_USE_LLVM'] or ARGV.include? '--use-llvm' end + + def make_jobs + # '-j' requires a positive integral argument + if self['HOMEBREW_MAKE_JOBS'].to_i > 0 + self['HOMEBREW_MAKE_JOBS'] + else + Hardware.processor_count + end + end end diff --git a/share/man/man1/brew.1 b/share/man/man1/brew.1 index 896e74105..3b6a9ef84 100644 --- a/share/man/man1/brew.1 +++ b/share/man/man1/brew.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BREW" "1" "June 2011" "Homebrew" "brew" +.TH "BREW" "1" "July 2011" "Homebrew" "brew" . .SH "NAME" \fBbrew\fR \- The missing package manager for OS X @@ -351,6 +351,13 @@ HOMEBREW_KEEP_INFO If set, Homebrew will not remove files from \fBshare/info\fR, allowing them to be linked from the Cellar\. . .TP +HOMEBREW_MAKE_JOBS +If set, instructs Homebrew to use the value of \fBHOMEBREW_MAKE_JOBS\fR as the number of parallel jobs to run when building with \fBmake\fR(1)\. +. +.IP +\fIDefault:\fR the number of available CPU cores\. +. +.TP HOMEBREW_SVN When exporting from Subversion, Homebrew will use \fBHOMEBREW_SVN\fR if set, a Homebrew\-built Subversion if installed, or the system\-provided binary\. . |
