[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