[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