[28634] trunk/base
source_changes at macosforge.org
source_changes at macosforge.org
Wed Sep 5 14:20:06 PDT 2007
Revision: 28634
http://trac.macosforge.org/projects/macports/changeset/28634
Author: afb at macports.org
Date: 2007-09-05 14:20:06 -0700 (Wed, 05 Sep 2007)
Log Message:
-----------
build.nice and build.jobs, adapted from #12280
Modified Paths:
--------------
trunk/base/doc/macports.conf.5
trunk/base/doc/macports.conf.in
trunk/base/src/macports1.0/macports.tcl
trunk/base/src/port1.0/portbuild.tcl
Modified: trunk/base/doc/macports.conf.5
===================================================================
--- trunk/base/doc/macports.conf.5 2007-09-05 21:07:28 UTC (rev 28633)
+++ trunk/base/doc/macports.conf.5 2007-09-05 21:20:06 UTC (rev 28634)
@@ -121,6 +121,16 @@
.br
.Ic Default:
tgz
+.It Va buildnicevalue
+Lowered scheduling priority (0-20) to use for make when building ports
+.br
+.Ic Default:
+0
+.It Va buildmakejobs
+Number of simultaneous make jobs (commands) to use when building ports
+.br
+.Ic Default:
+1
.It Va portautoclean
Automatic cleaning of the build directory of a given port after it has been installed.
.br
Modified: trunk/base/doc/macports.conf.in
===================================================================
--- trunk/base/doc/macports.conf.in 2007-09-05 21:07:28 UTC (rev 28633)
+++ trunk/base/doc/macports.conf.in 2007-09-05 21:20:06 UTC (rev 28634)
@@ -40,6 +40,12 @@
# Supported types: tgz (default), tar, tbz, tbz2, xar, zip, cpgz, cpio
portarchivetype tgz
+# Lowered scheduling priority (0-20) to use for make when building ports
+buildnicevalue 0
+
+# Number of simultaneous make jobs (commands) to use when building ports
+buildmakejobs 1
+
# Set whether to automatically execute "clean" after "install" of ports
portautoclean yes
Modified: trunk/base/src/macports1.0/macports.tcl
===================================================================
--- trunk/base/src/macports1.0/macports.tcl 2007-09-05 21:07:28 UTC (rev 28633)
+++ trunk/base/src/macports1.0/macports.tcl 2007-09-05 21:20:06 UTC (rev 28634)
@@ -43,14 +43,14 @@
portinstalltype portarchivemode portarchivepath portarchivetype portautoclean \
porttrace portverbose destroot_umask variants_conf rsync_server rsync_options \
rsync_dir startupitem_type place_worksymlink xcodeversion xcodebuildcmd \
- mp_remote_url mp_remote_submit_url"
+ mp_remote_url mp_remote_submit_url buildnicevalue buildmakejobs"
variable user_options "submitter_name submitter_email submitter_key"
variable portinterp_options "\
portdbpath portpath portbuildpath auto_path prefix prefix_frozen portsharepath \
registry.path registry.format registry.installtype portarchivemode portarchivepath \
portarchivetype portautoclean porttrace portverbose destroot_umask rsync_server \
rsync_options rsync_dir startupitem_type place_worksymlink \
- mp_remote_url mp_remote_submit_url \
+ mp_remote_url mp_remote_submit_url buildnicevalue buildmakejobs \
$user_options"
# deferred options are only computed when needed.
@@ -286,6 +286,8 @@
global macports::variants_conf
global macports::xcodebuildcmd
global macports::xcodeversion
+ global macports::buildnicevalue
+ global macports::buildmakejobs
# Set the system encoding to utf-8
encoding system utf-8
Modified: trunk/base/src/port1.0/portbuild.tcl
===================================================================
--- trunk/base/src/port1.0/portbuild.tcl 2007-09-05 21:07:28 UTC (rev 28633)
+++ trunk/base/src/port1.0/portbuild.tcl 2007-09-05 21:20:06 UTC (rev 28634)
@@ -40,10 +40,14 @@
# define options
options build.target
+options build.nice
+options build.jobs
commands build
# defaults
default build.dir {${workpath}/${worksrcdir}}
-default build.cmd {[build_getmaketype]}
+default build.cmd {[build_getnicevalue][build_getmaketype][build_getmakejobs]}
+default build.nice {${buildnicevalue}}
+default build.jobs {${buildmakejobs}}
default build.pre_args {${build.target}}
default build.target "all"
@@ -91,6 +95,28 @@
}
}
+proc build_getnicevalue {args} {
+ if {![exists build.nice]} {
+ return ""
+ }
+ set nice [option build.nice]
+ if {![string is integer -strict $nice] || $nice <= 0} {
+ return ""
+ }
+ return "nice -n $nice "
+}
+
+proc build_getmakejobs {args} {
+ if {![exists build.jobs] || ![string match "*make*" [build_getmaketype]]} {
+ return ""
+ }
+ set jobs [option build.jobs]
+ if {![string is integer -strict $jobs] || $jobs <= 1} {
+ return ""
+ }
+ return " -j$jobs"
+}
+
proc build_start {args} {
global UI_PREFIX
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070905/a2f7b4c1/attachment.html
More information about the macports-changes
mailing list