[29438] trunk/base
source_changes at macosforge.org
source_changes at macosforge.org
Sun Sep 23 12:27:12 PDT 2007
Revision: 29438
http://trac.macosforge.org/projects/macports/changeset/29438
Author: afb at macports.org
Date: 2007-09-23 12:27:11 -0700 (Sun, 23 Sep 2007)
Log Message:
-----------
configure.ccache and configure.distcc, optional configuration
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/portconfigure.tcl
Modified: trunk/base/doc/macports.conf.5
===================================================================
--- trunk/base/doc/macports.conf.5 2007-09-23 18:54:10 UTC (rev 29437)
+++ trunk/base/doc/macports.conf.5 2007-09-23 19:27:11 UTC (rev 29438)
@@ -121,6 +121,16 @@
.br
.Ic Default:
tgz
+.It Va configureccache
+Use ccache (C/C++ compiler cache). Requires that ccache has been installed.
+.br
+.Ic Default:
+no
+.It Va configuredistcc
+Use distcc (distributed compiler). Requires that distcc has been installed.
+.br
+.Ic Default:
+no
.It Va buildnicevalue
Lowered scheduling priority (0-20) to use for make when building ports
.br
Modified: trunk/base/doc/macports.conf.in
===================================================================
--- trunk/base/doc/macports.conf.in 2007-09-23 18:54:10 UTC (rev 29437)
+++ trunk/base/doc/macports.conf.in 2007-09-23 19:27:11 UTC (rev 29438)
@@ -40,6 +40,12 @@
# Supported types: tgz (default), tar, tbz, tbz2, xar, zip, cpgz, cpio
portarchivetype tgz
+# Use ccache (C/C++ compiler cache) - see http://ccache.samba.org/
+configureccache no
+
+# Use distcc (distributed compiler) - see http://distcc.samba.org/
+configuredistcc no
+
# Lowered scheduling priority (0-20) to use for make when building ports
buildnicevalue 0
Modified: trunk/base/src/macports1.0/macports.tcl
===================================================================
--- trunk/base/src/macports1.0/macports.tcl 2007-09-23 18:54:10 UTC (rev 29437)
+++ trunk/base/src/macports1.0/macports.tcl 2007-09-23 19:27:11 UTC (rev 29438)
@@ -44,14 +44,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 buildnicevalue buildmakejobs"
+ mp_remote_url mp_remote_submit_url configureccache configuredistcc 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 buildnicevalue buildmakejobs \
+ mp_remote_url mp_remote_submit_url configureccache configuredistcc buildnicevalue buildmakejobs \
$user_options"
# deferred options are only computed when needed.
@@ -313,6 +313,8 @@
global macports::variants_conf
global macports::xcodebuildcmd
global macports::xcodeversion
+ global macports::configureccache
+ global macports::configuredistcc
global macports::buildnicevalue
global macports::buildmakejobs
@@ -589,6 +591,14 @@
set macports::mp_remote_submit_url "${macports::mp_remote_url}/submit"
}
+ # Default mp configure options
+ if {![info exists macports::configureccache]} {
+ set macports::configureccache no
+ }
+ if {![info exists macports::configuredistcc]} {
+ set macports::configuredistcc no
+ }
+
# Default mp build options
if {![info exists macports::buildnicevalue]} {
set macports::buildnicevalue 0
Modified: trunk/base/src/port1.0/portconfigure.tcl
===================================================================
--- trunk/base/src/port1.0/portconfigure.tcl 2007-09-23 18:54:10 UTC (rev 29437)
+++ trunk/base/src/port1.0/portconfigure.tcl 2007-09-23 19:27:11 UTC (rev 29438)
@@ -75,7 +75,9 @@
default configure.universal_ldflags {"-arch i386 -arch ppc"}
# Select a distinct compiler (C, C preprocessor, C++)
-options configure.cc configure.cxx configure.cpp configure.objc configure.f77 configure.f90 configure.fc configure.javac configure.compiler
+options configure.ccache configure.distcc configure.cc configure.cxx configure.cpp configure.objc configure.f77 configure.f90 configure.fc configure.javac configure.compiler
+default configure.ccache {${configureccache}}
+default configure.distcc {${configuredistcc}}
default configure.cc {}
default configure.cxx {}
default configure.cpp {}
@@ -123,7 +125,7 @@
global [info globals]
global worksrcpath use_configure use_autoconf use_automake use_xmkmf
global configure.env configure.cflags configure.cppflags configure.cxxflags configure.objcflags configure.ldflags configure.fflags configure.f90flags configure.fcflags configure.classpath configure.macosx_deployment_target
- global configure.cc configure.cxx configure.cpp configure.objc configure.f77 configure.f90 configure.fc configure.javac configure.compiler prefix
+ global configure.ccache configure.distcc configure.cc configure.cxx configure.cpp configure.objc configure.f77 configure.f90 configure.fc configure.javac configure.compiler prefix
global os.platform os.major
if {[tbool use_automake]} {
@@ -235,11 +237,23 @@
# Merge (ld|c|cpp|cxx)flags into the environment variable.
parse_environment configure
+ # Set pre-compiler filter to use (ccache/distcc), if any.
+ if {[tbool configure.ccache] && [tbool configure.distcc]} {
+ set filter "ccache "
+ append_list_to_environment_value configure "CCACHE_PREFIX" "distcc"
+ } elseif {[tbool configure.ccache]} {
+ set filter "ccache "
+ } elseif {[tbool configure.distcc]} {
+ set filter "distcc "
+ } else {
+ set filter ""
+ }
+
# Append configure flags.
- append_list_to_environment_value configure "CC" ${configure.cc}
- append_list_to_environment_value configure "CPP" ${configure.cpp}
- append_list_to_environment_value configure "CXX" ${configure.cxx}
- append_list_to_environment_value configure "OBJC" ${configure.objc}
+ append_list_to_environment_value configure "CC" ${filter}${configure.cc}
+ append_list_to_environment_value configure "CPP" ${filter}${configure.cpp}
+ append_list_to_environment_value configure "CXX" ${filter}${configure.cxx}
+ append_list_to_environment_value configure "OBJC" ${filter}${configure.objc}
append_list_to_environment_value configure "FC" ${configure.fc}
append_list_to_environment_value configure "F77" ${configure.f77}
append_list_to_environment_value configure "F90" ${configure.f90}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070923/cf46b551/attachment.html
More information about the macports-changes
mailing list