|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r59728 - in branches/release/tools/build/v2: . build doc/src kernel tools tools/types
From: ghost_at_[hidden]
Date: 2010-02-17 04:49:11
Author: vladimir_prus
Date: 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
New Revision: 59728
URL: http://svn.boost.org/trac/boost/changeset/59728
Log:
Merge from trunk
Properties modified:
branches/release/tools/build/v2/ (props changed)
Text files modified:
branches/release/tools/build/v2/build-system.jam | 21 ++++
branches/release/tools/build/v2/build/feature.jam | 4
branches/release/tools/build/v2/build/project.jam | 17 ++-
branches/release/tools/build/v2/build/targets.jam | 41 ++++++++
branches/release/tools/build/v2/doc/src/reference.xml | 22 ++++
branches/release/tools/build/v2/kernel/bootstrap.jam | 2
branches/release/tools/build/v2/tools/builtin.jam | 6 +
branches/release/tools/build/v2/tools/darwin.jam | 184 +++++++++++++++++++++++----------------
branches/release/tools/build/v2/tools/docutils.jam | 2
branches/release/tools/build/v2/tools/doxygen.jam | 167 ++++++++++++++++++++++++++++++++++++
branches/release/tools/build/v2/tools/gcc.jam | 26 ++++
branches/release/tools/build/v2/tools/gfortran.jam | 2
branches/release/tools/build/v2/tools/intel-linux.jam | 15 ++
branches/release/tools/build/v2/tools/mpi.jam | 17 +++
branches/release/tools/build/v2/tools/msvc.jam | 5
branches/release/tools/build/v2/tools/pathscale.jam | 6
branches/release/tools/build/v2/tools/pgi.jam | 4
branches/release/tools/build/v2/tools/quickbook.jam | 6
branches/release/tools/build/v2/tools/stage.jam | 26 +++++
branches/release/tools/build/v2/tools/types/lib.jam | 1
branches/release/tools/build/v2/tools/vacpp.jam | 21 ++-
21 files changed, 473 insertions(+), 122 deletions(-)
Modified: branches/release/tools/build/v2/build-system.jam
==============================================================================
--- branches/release/tools/build/v2/build-system.jam (original)
+++ branches/release/tools/build/v2/build-system.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -238,6 +238,12 @@
"$(filename)" "from" $(where) "." ;
}
+ # Set source location so that path-constant in config files
+ # with relative paths work. This is of most importance
+ # for project-config.jam, but may be used in other
+ # config files as well.
+ local attributes = [ project.attributes $(module-name) ] ;
+ $(attributes).set source-location : $(where:D) : exact ;
modules.load $(module-name) : $(filename) : $(path) ;
project.load-used-projects $(module-name) ;
}
@@ -898,6 +904,21 @@
modules.poke : PARALLELISM : $(j) ;
}
+ local k = [ option.get keep-going : true : true ] ;
+ if $(k) in "on" "yes" "true"
+ {
+ modules.poke : KEEP_GOING : 1 ;
+ }
+ else if $(k) in "off" "no" "false"
+ {
+ modules.poke : KEEP_GOING : 0 ;
+ }
+ else
+ {
+ ECHO "error: Invalid value for the --keep-going option" ;
+ EXIT ;
+ }
+
# The 'all' pseudo target is not strictly needed expect in the case when we
# use it below but people often assume they always have this target
# available and do not declare it themselves before use which may cause
Modified: branches/release/tools/build/v2/build/feature.jam
==============================================================================
--- branches/release/tools/build/v2/build/feature.jam (original)
+++ branches/release/tools/build/v2/build/feature.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -469,7 +469,9 @@
if $($(feature).subfeatures)
{
- if ! ( $(value-string) in $($(feature).subfeatures) ) {
+ if ! ( $(value-string) in $($(feature).values) )
+ && ! ( $(value-string) in $($(feature).subfeatures) )
+ {
values = [ regex.split $(value-string) - ] ;
}
}
Modified: branches/release/tools/build/v2/build/project.jam
==============================================================================
--- branches/release/tools/build/v2/build/project.jam (original)
+++ branches/release/tools/build/v2/build/project.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -59,7 +59,7 @@
# If Jamfile is already loaded, don't try again.
if ! $(module-name) in $(.jamfile-modules)
{
- load-jamfile $(jamfile-location) ;
+ load-jamfile $(jamfile-location) : $(module-name) ;
# We want to make sure that child project are loaded only after parent
# projects. In particular, because parent projects define attributes
@@ -277,6 +277,7 @@
#
local rule load-jamfile (
dir # The directory of the project Jamfile.
+ : jamfile-module
)
{
# See if the Jamfile is where it should be.
@@ -293,10 +294,6 @@
: "Filenames are: " $(jamfile-to-load:D=) ;
}
- # The module of the Jamfile.
- #
- local jamfile-module = [ module-name [ path.parent $(jamfile-to-load) ] ] ;
-
# Initialize the Jamfile module before loading.
#
initialize $(jamfile-module) : [ path.parent $(jamfile-to-load) ]
@@ -1035,6 +1032,16 @@
}
}
+ rule always ( target-names * )
+ {
+ import project ;
+ local t = [ project.current ] ;
+ for local n in $(target-names)
+ {
+ $(t).mark-target-as-always $(n) ;
+ }
+ }
+
rule glob ( wildcards + : excludes * )
{
import project ;
Modified: branches/release/tools/build/v2/build/targets.jam
==============================================================================
--- branches/release/tools/build/v2/build/targets.jam (original)
+++ branches/release/tools/build/v2/build/targets.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -303,6 +303,13 @@
# before main target instances are created.
self.explicit-targets += $(target-name) ;
}
+
+ rule mark-target-as-always ( target-name )
+ {
+ # Record the name of the target, not instance, since this rule is called
+ # before main target instances are created.
+ self.always-targets += $(target-name) ;
+ }
# Add new target alternative
#
@@ -466,6 +473,11 @@
self.main-targets += $(t) ;
target = $(self.main-target.$(name)) ;
}
+
+ if $(name) in $(self.always-targets)
+ {
+ $(a).always ;
+ }
$(target).add-alternative $(a) ;
}
@@ -485,7 +497,17 @@
local r ;
for local v in $(value)
{
- v = [ path.root [ path.make $(v) ] $(self.location) ] ;
+ local l = $(self.location) ;
+ if ! $(l)
+ {
+ # Project corresponding to config files do not have
+ # 'location' attribute, but do have source location.
+ # It might be more reasonable to make every project have
+ # a location and use some other approach to prevent buildable
+ # targets in config files, but that's for later.
+ l = [ get source-location ] ;
+ }
+ v = [ path.root [ path.make $(v) ] $(l) ] ;
# Now make the value absolute path.
v = [ path.root $(v) [ path.pwd ] ] ;
# Constants should be in platform-native form.
@@ -1090,7 +1112,12 @@
[ full-name ] ;
}
}
-
+
+ rule always ( )
+ {
+ self.always = 1 ;
+ }
+
# Returns the list of abstract-targets which are used as sources. The extra
# properties specified for sources are not represented. The only user for
# this rule at the moment is the "--dump-tests" feature of the test system.
@@ -1257,7 +1284,15 @@
{
local gur = $(result[1]) ;
result = $(result[2-]) ;
-
+
+ if $(self.always)
+ {
+ for local t in $(result)
+ {
+ $(t).always ;
+ }
+ }
+
local s = [ create-subvariant $(result)
: [ virtual-target.recent-targets ]
: $(property-set) : $(source-targets)
Modified: branches/release/tools/build/v2/doc/src/reference.xml
==============================================================================
--- branches/release/tools/build/v2/doc/src/reference.xml (original)
+++ branches/release/tools/build/v2/doc/src/reference.xml 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -182,6 +182,26 @@
</varlistentry>
<varlistentry>
+ <term><literal>always</literal></term>
+ <indexterm><primary>always building a metatarget</primary></indexterm>
+
+ <listitem><para>The <literal>always</literal> funciton takes a single
+ parameter—a list of metatarget names. The top-level targets produced
+ by the named metatargets will be always considered out of date. Consider this example:
+ </para>
+<programlisting>
+exe hello : hello.cpp ;
+exe bye : bye.cpp ;
+always hello ;
+</programlisting>
+ <para>If a build of <filename>hello</filename> is requested, then the binary will
+ always be relinked. The object files will not be recompiled, though. Note that if
+ a build of <filename>hello</filename> is not requested, for example you specify just
+ <filename>bye</filename> on the command line, <filename>hello</filename> will not
+ be relinked.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><literal>constant</literal></term>
<listitem><para>Sets project-wide constant. Takes two
@@ -1723,7 +1743,7 @@
<listitem>
<para><emphasis>dependency</emphasis></para>
- <para>The value of dependency feature if a target reference.
+ <para>The value of a dependency feature is a target reference.
When used for building of a main target, the value of
dependency feature is treated as additional dependency.</para>
Modified: branches/release/tools/build/v2/kernel/bootstrap.jam
==============================================================================
--- branches/release/tools/build/v2/kernel/bootstrap.jam (original)
+++ branches/release/tools/build/v2/kernel/bootstrap.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -131,7 +131,7 @@
#
if ! $(dont-build)
{
- if ! [ MATCH (--python) : $(ARGV) ]
+ if ! --python in $(ARGV)
{
# Allow users to override the build system file from the
# command-line (mostly for testing)
Modified: branches/release/tools/build/v2/tools/builtin.jam
==============================================================================
--- branches/release/tools/build/v2/tools/builtin.jam (original)
+++ branches/release/tools/build/v2/tools/builtin.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -121,6 +121,12 @@
feature.feature extern-c-nothrow : off on : propagated ;
feature.feature debug-symbols : on off : propagated ;
+# Controls whether the binary should be stripped -- that is have
+# everything not necessary to running removed. This option should
+# not be very often needed. Also, this feature will show up in
+# target paths of everything, not just binaries. Should fix that
+# when impelementing feature relevance.
+feature.feature strip : off on : propagated ;
feature.feature define : : free ;
feature.feature undef : : free ;
feature.feature "include" : : free path ; #order-sensitive ;
Modified: branches/release/tools/build/v2/tools/darwin.jam
==============================================================================
--- branches/release/tools/build/v2/tools/darwin.jam (original)
+++ branches/release/tools/build/v2/tools/darwin.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -24,29 +24,11 @@
## Use a framework.
feature framework : : free ;
-## The MacOSX versions we can target.
-.macosx-versions =
- 10.6 10.5 10.4 10.3 10.2 10.1
- iphone-3.2 iphonesim-3.2
- iphone-3.1.2 iphonesim-3.1.2
- iphone-3.1 iphonesim-3.1
- iphone-3.0 iphonesim-3.0
- iphone-2.2.1 iphonesim-2.2.1
- iphone-2.2 iphonesim-2.2
- iphone-2.1 iphonesim-2.1
- iphone-2.0 iphonesim-2.0
- iphone-1.x
- ;
-
## The MacOSX version to compile for, which maps to the SDK to use (sysroot).
-feature macosx-version
- : $(.macosx-versions)
- : propagated link-incompatible symmetric optional ;
+feature macosx-version : : propagated link-incompatible symmetric optional ;
## The minimal MacOSX version to target.
-feature macosx-version-min
- : $(.macosx-versions)
- : propagated optional ;
+feature macosx-version-min : : propagated optional ;
#############################################################################
@@ -170,27 +152,27 @@
# We can turn off strip by specifying it as empty. In which
# case we switch to using the linker to do the strip.
flags darwin.link.dll OPTIONS
- $(condition)/<main-target-type>LIB/<link>shared/<address-model>32/<debug-symbols>off : -Wl,-x ;
+ $(condition)/<main-target-type>LIB/<link>shared/<address-model>32/<strip>on : -Wl,-x ;
flags darwin.link.dll OPTIONS
- $(condition)/<main-target-type>LIB/<link>shared/<address-model>/<debug-symbols>off : -Wl,-x ;
+ $(condition)/<main-target-type>LIB/<link>shared/<address-model>/<strip>on : -Wl,-x ;
flags darwin.link OPTIONS
- $(condition)/<main-target-type>EXE/<address-model>32/<debug-symbols>off : -s ;
+ $(condition)/<main-target-type>EXE/<address-model>32/<strip>on : -s ;
flags darwin.link OPTIONS
- $(condition)/<main-target-type>EXE/<address-model>/<debug-symbols>off : -s ;
+ $(condition)/<main-target-type>EXE/<address-model>/<strip>on : -s ;
}
else
{
# Otherwise we need to find a strip program to use. And hence
# also tell the link action that we need to use a strip
# post-process.
- flags darwin.link NEED_STRIP $(condition)/<debug-symbols>off : "" ;
+ flags darwin.link NEED_STRIP $(condition)/<strip>on : "" ;
strip =
[ common.get-invocation-command darwin
: strip : [ feature.get-values <striper> : $(options) ] : $(bin) : search-path ] ;
flags darwin.link .STRIP $(condition) : $(strip[1]) ;
if $(.debug-configuration)
{
- ECHO notice: using strip :: $(condition) :: $(strip[1]) ;
+ ECHO notice: using strip for $(condition) at $(strip[1]) ;
}
}
@@ -202,7 +184,7 @@
flags darwin.archive .LIBTOOL $(condition) : $(archiver[1]) ;
if $(.debug-configuration)
{
- ECHO notice: using archiver :: $(condition) :: $(archiver[1]) ;
+ ECHO notice: using archiver for $(condition) at $(archiver[1]) ;
}
# - Initialize the SDKs available in the root for this tool.
@@ -220,6 +202,94 @@
#~ EXIT ;
}
+# Add and set options for a discovered SDK version.
+local rule init-sdk ( condition * : root ? : version + : version-feature ? )
+{
+ local rule version-to-feature ( version + )
+ {
+ switch $(version[1])
+ {
+ case iphone* :
+ {
+ return $(version[1])-$(version[2-]:J=.) ;
+ }
+ case mac* :
+ {
+ return $(version[2-]:J=.) ;
+ }
+ case * :
+ {
+ return $(version:J=.) ;
+ }
+ }
+ }
+
+ if $(version-feature)
+ {
+ if $(.debug-configuration)
+ {
+ ECHO notice: available sdk for $(condition)/<macosx-version>$(version-feature) at $(sdk) ;
+ }
+
+ # Add the version to the features for specifying them.
+ if ! $(version-feature) in [ feature.values macosx-version ]
+ {
+ feature.extend macosx-version : $(version-feature) ;
+ }
+ if ! $(version-feature) in [ feature.values macosx-version-min ]
+ {
+ feature.extend macosx-version-min : $(version-feature) ;
+ }
+
+ # Set the flags the version needs to compile with, first
+ # generic options.
+ flags darwin.compile OPTIONS $(condition)/<macosx-version>$(version-feature)
+ : -isysroot $(sdk) ;
+ flags darwin.link OPTIONS $(condition)/<macosx-version>$(version-feature)
+ : -isysroot $(sdk) ;
+
+ # Then device variation options.
+ switch $(version[1])
+ {
+ case iphone* :
+ {
+ flags darwin.compile OPTIONS <macosx-version-min>$(version-feature)
+ : -miphoneos-version-min=$(version[2-]:J=.) ;
+ flags darwin.link OPTIONS <macosx-version-min>$(version-feature)
+ : -miphoneos-version-min=$(version[2-]:J=.) ;
+ }
+
+ case mac* :
+ {
+ flags darwin.compile OPTIONS <macosx-version-min>$(version-feature)
+ : -miphoneos-version-min=$(version[2-]:J=.) ;
+ flags darwin.link OPTIONS <macosx-version-min>$(version-feature)
+ : -miphoneos-version-min=$(version[2-]:J=.) ;
+ }
+ }
+
+ return $(version-feature) ;
+ }
+ else if $(version[4])
+ {
+ # We have a patch version of an SDK. We want to set up
+ # both the specific patch version, and the minor version.
+ # So we recurse to set up the minor version. Plus the minor version.
+ return
+ [ init-sdk $(condition) : $(root)
+ : $(version[1-3]) : [ version-to-feature $(version[1-3]) ] ]
+ [ init-sdk $(condition) : $(root)
+ : $(version) : [ version-to-feature $(version) ] ] ;
+ }
+ else
+ {
+ # Yes, this is intentionally recursive.
+ return
+ [ init-sdk $(condition) : $(root)
+ : $(version) : [ version-to-feature $(version) ] ] ;
+ }
+}
+
# Determine the MacOSX SDK versions installed and their locations.
local rule init-available-sdk-versions ( condition * : root ? )
{
@@ -231,45 +301,29 @@
{
local sdk-match = [ MATCH ([^0-9]+)([0-9]+)[.]([0-9x]+)[.]?([0-9x]+)? : $(sdk:D=) ] ;
local sdk-platform = $(sdk-match[1]:L) ;
- local sdk-version = $(sdk-match[2]).$(sdk-match[3]) ;
+ local sdk-version = $(sdk-match[2-]) ;
if $(sdk-version)
{
switch $(sdk-platform)
{
case macosx :
{
- sdk-version = $(sdk-version) ;
+ sdk-version = mac $(sdk-version) ;
}
case iphoneos :
{
- if $(sdk-match[4])
- {
- sdk-version = $(sdk-version).$(sdk-match[4]) ;
- }
- sdk-version = iphone-$(sdk-version) ;
+ sdk-version = iphone $(sdk-version) ;
}
case iphonesimulator :
{
- if $(sdk-match[4])
- {
- sdk-version = $(sdk-version).$(sdk-match[4]) ;
- }
- sdk-version = iphonesim-$(sdk-version) ;
+ sdk-version = iphonesim $(sdk-version) ;
}
case * :
{
sdk-version = $(sdk-version:J=-) ;
}
}
- result += $(sdk-version) ;
- flags darwin.compile OPTIONS $(condition)/<macosx-version>$(sdk-version)
- : -isysroot $(sdk) ;
- flags darwin.link OPTIONS $(condition)/<macosx-version>$(sdk-version)
- : -isysroot $(sdk) ;
- if $(.debug-configuration)
- {
- ECHO notice: available sdk :: $(condition)/<macosx-version>$(sdk-version) :: $(sdk) ;
- }
+ result += [ init-sdk $(condition) : $(sdk) : $(sdk-version) ] ;
}
}
return $(result) ;
@@ -278,31 +332,6 @@
# Generic options.
flags darwin.compile OPTIONS <flags> ;
-# Minimal OSX target option. Note that the default is for the min-version
-# option to not be included to let the compiler default take hold.
-for local macosx-version in $(.macosx-versions)
-{
- switch $(macosx-version)
- {
- case iphone* :
- {
- local version-match = [ MATCH ([^0-9]+)([0-9.]+) : $(macosx-version) ] ;
- flags darwin.compile OPTIONS <macosx-version-min>$(macosx-version)
- : -miphoneos-version-min=$(version-match[2]) ;
- flags darwin.link OPTIONS <macosx-version-min>$(macosx-version)
- : -miphoneos-version-min=$(version-match[2]) ;
- }
-
- case * :
- {
- flags darwin.compile OPTIONS <macosx-version-min>$(macosx-version)
- : -mmacosx-version-min=$(macosx-version) ;
- flags darwin.link OPTIONS <macosx-version-min>$(macosx-version)
- : -mmacosx-version-min=$(macosx-version) ;
- }
- }
-}
-
# The following adds objective-c support to darwin.
# Thanks to http://thread.gmane.org/gmane.comp.lib.boost.build/13759
@@ -468,12 +497,15 @@
# The -F option specifies the directories where a framework
# is searched for. So, if we find <framework> feature
# with some path, we need to generate property -F option.
- local framework-path = [ on $(target) return $(FRAMEWORK:D) ] ;
+ local framework-paths = [ on $(target) return $(FRAMEWORK:D) ] ;
# Be sure to generate no -F if there's no path.
- if $(framework-path) != ""
+ for local framework-path in $(framework-paths)
{
- FRAMEWORK_PATH on $(target) += -F$(framework-path) ;
+ if $(framework-path) != ""
+ {
+ FRAMEWORK_PATH on $(target) += -F$(framework-path) ;
+ }
}
}
Modified: branches/release/tools/build/v2/tools/docutils.jam
==============================================================================
--- branches/release/tools/build/v2/tools/docutils.jam (original)
+++ branches/release/tools/build/v2/tools/docutils.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -44,9 +44,7 @@
rule init ( docutils-dir ? : tools-dir ? )
{
- ECHO docutils-dir= $(docutils-dir) ;
docutils-dir ?= [ modules.peek : DOCUTILS_DIR ] ;
- ECHO tools-dir= $(tools-dir) ;
tools-dir ?= $(docutils-dir)/tools ;
if ! $(.initialized)
Modified: branches/release/tools/build/v2/tools/doxygen.jam
==============================================================================
--- branches/release/tools/build/v2/tools/doxygen.jam (original)
+++ branches/release/tools/build/v2/tools/doxygen.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -36,6 +36,7 @@
import alias ;
import common ;
import modules ;
+import project ;
# Use to specify extra configuration paramters. These get translated
@@ -60,6 +61,9 @@
# The title for the resulting BoostBook reference section.
feature.feature doxygen.doxproc.title : : free ;
+# Location for images when generating XML
+feature.feature doxygen:xml-imagedir : : free ;
+
# Doxygen configuration input file.
type.register DOXYFILE : doxyfile ;
@@ -75,6 +79,7 @@
# Redirection HTML file to HTML multifile directory.
type.register DOXYGEN_HTML : : HTML ;
+type.register DOXYGEN_XML_IMAGES : doxygen-xml-images ;
# Initialize the Doxygen module. Parameters are:
# name: the name of the 'doxygen' executable. If not specified, the name
@@ -152,6 +157,8 @@
: DOXYFILE : DOXYGEN_HTML_MULTIFILE ;
generators.register-standard doxygen.html-redirect
: DOXYGEN_HTML_MULTIFILE : DOXYGEN_HTML ;
+ generators.register-standard doxygen.copy-latex-pngs
+ : DOXYGEN_HTML : DOXYGEN_XML_IMAGES ;
IMPORT $(__name__) : doxygen : : doxygen ;
}
@@ -343,6 +350,129 @@
: true ;
}
+rule copy-latex-pngs ( target : source : requirements * )
+{
+ local directory = [ path.native
+ [ feature.get-values <doxygen:xml-imagedir> :
+ $(requirements) ] ] ;
+ if [ os.name ] = NT
+ {
+ CP on $(target) = copy /y ;
+ MKDIR on $(target) = mkdir ;
+ FROM on $(target) = \\*.png ;
+ TOHTML on $(target) = .\\html\\$(directory) ;
+ TOPDF on $(target) = \\$(directory) ;
+ }
+ else
+ {
+ CP on $(target) = cp ;
+ MKDIR on $(target) = mkdir -p ;
+ FROM on $(target) = /*.png ;
+ TOHTML on $(target) = ./html/$(directory) ;
+ TOPDF on $(target) = $(target:D)/$(directory) ;
+ }
+}
+
+actions copy-latex-pngs
+{
+ $(MKDIR) $(TOHTML)
+ $(MKDIR) $(<:D)$(TOPDF)
+ $(CP) $(>:S=)$(FROM) $(TOHTML)
+ $(CP) $(>:S=)$(FROM) $(<:D)$(TOPDF)
+ echo "Stamped" > "$(<)"
+}
+
+# building latex images for doxygen XML depends
+# on latex, dvips, and ps being in your PATH.
+# This is true for most Unix installs, but
+# not on Win32, where you will need to install
+# MkTex and Ghostscript and add these tools
+# to your path.
+
+actions check-latex
+{
+ latex -version >$(<)
+}
+
+actions check-dvips
+{
+ dvips -version >$(<)
+}
+
+if [ os.name ] = "NT"
+{
+ actions check-gs
+ {
+ gswin32c -version >$(<)
+ }
+}
+else
+{
+ actions check-gs
+ {
+ gs -version >$(<)
+ }
+}
+
+rule check-tools ( )
+{
+ if ! $(.check-tools-targets)
+ {
+ # Find the root project.
+ local root-project = [ project.current ] ;
+ root-project = [ $(root-project).project-module ] ;
+ while
+ [ project.attribute $(root-project) parent-module ] &&
+ [ project.attribute $(root-project) parent-module ] != user-config
+ {
+ root-project =
+ [ project.attribute $(root-project) parent-module ] ;
+ }
+
+ .latex.check = [ new file-target latex.check
+ :
+ : [ project.target $(root-project) ]
+ : [ new action : doxygen.check-latex ]
+ :
+ ] ;
+ .dvips.check = [ new file-target dvips.check
+ :
+ : [ project.target $(root-project) ]
+ : [ new action : doxygen.check-dvips ]
+ :
+ ] ;
+ .gs.check = [ new file-target gs.check
+ :
+ : [ project.target $(root-project) ]
+ : [ new action : doxygen.check-gs ]
+ :
+ ] ;
+ .check-tools-targets = $(.latex.check) $(.dvips.check) $(.gs.check) ;
+ }
+ return $(.check-tools-targets) ;
+}
+
+project.initialize $(__name__) ;
+project doxygen ;
+
+class doxygen-check-tools-target-class : basic-target
+{
+ import doxygen ;
+ rule construct ( name : sources * : property-set )
+ {
+ return [ property-set.empty ] [ doxygen.check-tools ] ;
+ }
+}
+
+local project = [ project.current ] ;
+
+targets.main-target-alternative
+ [ new doxygen-check-tools-target-class check-tools : $(project)
+ : [ targets.main-target-sources : check-tools : no-renaming ]
+ : [ targets.main-target-requirements : $(project) ]
+ : [ targets.main-target-default-build : $(project) ]
+ : [ targets.main-target-usage-requirements : $(project) ]
+ ] ;
# User-level rule to generate BoostBook XML from a set of headers via Doxygen.
#
@@ -412,6 +542,43 @@
requirements = [ property.change $(requirements) : <location> ] ;
local target-xml = $(target:B=$(target:B)-xml) ;
+ # Check whether we need to build images
+ local images-location =
+ [ feature.get-values <doxygen:xml-imagedir> : $(requirements) ] ;
+ if $(images-location)
+ {
+ doxygen $(target).doxygen-xml-images.html : $(sources)
+ : $(requirements)
+ <doxygen:param>QUIET=YES
+ <doxygen:param>WARNINGS=NO
+ <doxygen:param>WARN_IF_UNDOCUMENTED=NO
+ <dependency>/doxygen//check-tools ;
+ $(project).mark-target-as-explicit
+ $(target).doxygen-xml-images.html ;
+
+ targets.main-target-alternative
+ [ new typed-target $(target).doxygen-xml-images
+ : $(project) : DOXYGEN_XML_IMAGES
+ : $(target).doxygen-xml-images.html
+ : [ targets.main-target-requirements $(requirements)
+ : $(project) ]
+ : [ targets.main-target-default-build $(default-build)
+ : $(project) ]
+ ] ;
+
+ $(project).mark-target-as-explicit
+ $(target).doxygen-xml-images ;
+
+ if ! [ regex.match "^(.*/)$" : $(images-location) ]
+ {
+ images-location = $(images-location)/ ;
+ }
+
+ requirements +=
+ <dependency>$(target).doxygen-xml-images
+ <xsl:param>boost.doxygen.formuladir=$(images-location) ;
+ }
+
## The doxygen configuration file.
targets.main-target-alternative
[ new typed-target $(target-xml:S=.tag) : $(project) : DOXYFILE
Modified: branches/release/tools/build/v2/tools/gcc.jam
==============================================================================
--- branches/release/tools/build/v2/tools/gcc.jam (original)
+++ branches/release/tools/build/v2/tools/gcc.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -25,6 +25,7 @@
import regex ;
import set ;
import unix ;
+import fortran ;
if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ]
@@ -224,6 +225,7 @@
generators.register-c-compiler gcc.compile.c++ : CPP : OBJ : <toolset>gcc ;
generators.register-c-compiler gcc.compile.c : C : OBJ : <toolset>gcc ;
generators.register-c-compiler gcc.compile.asm : ASM : OBJ : <toolset>gcc ;
+generators.register-fortran-compiler gcc.compile.fortran : FORTRAN FORTRAN90 : OBJ : <toolset>gcc ;
# pch support
@@ -394,12 +396,19 @@
SONAME_OPTION = -h ;
}
+# HPUX, for some reason, seem to use '+h', not '-h'.
+if [ os.name ] = HPUX
+{
+ HAVE_SONAME = "" ;
+ SONAME_OPTION = +h ;
+}
toolset.flags gcc.compile USER_OPTIONS <cflags> ;
toolset.flags gcc.compile.c++ USER_OPTIONS <cxxflags> ;
toolset.flags gcc.compile DEFINES <define> ;
toolset.flags gcc.compile INCLUDES <include> ;
toolset.flags gcc.compile.c++ TEMPLATE_DEPTH <c++-template-depth> ;
+toolset.flags gcc.compile.fortran USER_OPTIONS <fflags> ;
rule compile.c++.pch ( targets * : sources * : properties * )
{
@@ -471,6 +480,10 @@
DEPENDS $(<) : [ on $(<) return $(PCH_FILE) ] ;
}
+rule compile.fortran
+{
+}
+
actions compile.c++ bind PCH_FILE
{
"$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)"
@@ -481,6 +494,11 @@
"$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
}
+actions compile.fortran
+{
+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
+}
+
rule compile.asm
{
LANG on $(<) = "-x assembler-with-cpp" ;
@@ -676,7 +694,7 @@
# as opposed to -s since icc (intel's compiler) is generally
# option-compatible with and inherits from the gcc toolset, but does not
# support -s.
- toolset.flags $(toolset).link OPTIONS $(condition)/<debug-symbols>off : -Wl,--strip-all : unchecked ;
+ toolset.flags $(toolset).link OPTIONS $(condition)/<strip>on : -Wl,--strip-all : unchecked ;
toolset.flags $(toolset).link RPATH $(condition) : <dll-path> : unchecked ;
toolset.flags $(toolset).link RPATH_LINK $(condition) : <xdll-path> : unchecked ;
toolset.flags $(toolset).link START-GROUP $(condition) : -Wl,--start-group : unchecked ;
@@ -731,7 +749,7 @@
case hpux :
{
- toolset.flags $(toolset).link OPTIONS $(condition)/<debug-symbols>off
+ toolset.flags $(toolset).link OPTIONS $(condition)/<strip>on
: -Wl,-s : unchecked ;
toolset.flags $(toolset).link OPTIONS $(condition)/<link>shared
: -fPIC : unchecked ;
@@ -740,7 +758,7 @@
case osf :
{
# No --strip-all, just -s.
- toolset.flags $(toolset).link OPTIONS $(condition)/<debug-symbols>off
+ toolset.flags $(toolset).link OPTIONS $(condition)/<strip>on
: -Wl,-s : unchecked ;
toolset.flags $(toolset).link RPATH $(condition) : <dll-path>
: unchecked ;
@@ -752,7 +770,7 @@
case sun :
{
- toolset.flags $(toolset).link OPTIONS $(condition)/<debug-symbols>off
+ toolset.flags $(toolset).link OPTIONS $(condition)/<strip>on
: -Wl,-s : unchecked ;
toolset.flags $(toolset).link RPATH $(condition) : <dll-path>
: unchecked ;
Modified: branches/release/tools/build/v2/tools/gfortran.jam
==============================================================================
--- branches/release/tools/build/v2/tools/gfortran.jam (original)
+++ branches/release/tools/build/v2/tools/gfortran.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -36,4 +36,4 @@
gcc -Wall $(OPTIONS) -D$(DEFINES) -I$(INCLUDES) -c -o "$(<)" "$(>)"
}
-generators.register-fortran-compiler gfortran.compile.fortran : FORTRAN : OBJ ;
+generators.register-fortran-compiler gfortran.compile.fortran : FORTRAN FORTRAN90 : OBJ ;
Modified: branches/release/tools/build/v2/tools/intel-linux.jam
==============================================================================
--- branches/release/tools/build/v2/tools/intel-linux.jam (original)
+++ branches/release/tools/build/v2/tools/intel-linux.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -32,7 +32,8 @@
toolset.inherit-rules intel-linux : gcc ;
toolset.inherit-flags intel-linux : gcc
- : <inlining>off <inlining>on <inlining>full <optimization>space
+ : <inlining>off <inlining>on <inlining>full
+ <optimization>space <optimization>speed
<warnings>off <warnings>all <warnings>on
;
@@ -103,6 +104,7 @@
SPACE = " " ;
flags intel-linux.compile OPTIONS <optimization>space : "-O1" ; # no specific space optimization flag in icc
+flags intel-linux.compile OPTIONS <optimization>speed : "-O3 -ip" ; # no specific space optimization flag in icc
flags intel-linux.compile OPTIONS <warnings>off : -w0 ;
flags intel-linux.compile OPTIONS <warnings>on : -w1 ;
@@ -147,7 +149,12 @@
#
actions compile.c++.pch
{
- rm -f "$(<)" && "$(CONFIG_COMMAND)" -x c++-header $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -pch-create "$(<)" "$(>)"
+ rm -f "$(<)" && "$(CONFIG_COMMAND)" -x c++-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -pch-create "$(<)" "$(>)"
+}
+
+actions compile.fortran
+{
+ "ifort" -c $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
}
rule compile.c.pch ( targets * : sources * : properties * )
@@ -159,7 +166,7 @@
actions compile.c.pch
{
- rm -f "$(<)" && "$(CONFIG_COMMAND)" -x c-header $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -pch-create "$(<)" "$(>)"
+ rm -f "$(<)" && "$(CONFIG_COMMAND)" -x c-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -pch-create "$(<)" "$(>)"
}
rule link ( targets * : sources * : properties * )
@@ -186,7 +193,7 @@
# Differ from 'link' above only by -shared.
actions link.dll bind LIBRARIES
{
- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -o "$(<)" -Wl,-soname$(SPACE)-Wl,$(<[1]:D=) -shared "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(OPTIONS)
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -o "$(<)" -Wl,-soname$(SPACE)-Wl,$(<[1]:D=) -shared "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(OPTIONS) $(USER_OPTIONS)
}
Modified: branches/release/tools/build/v2/tools/mpi.jam
==============================================================================
--- branches/release/tools/build/v2/tools/mpi.jam (original)
+++ branches/release/tools/build/v2/tools/mpi.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -163,7 +163,20 @@
local add = [ add_feature $(prefix) $(name) $(cmdline) ] ;
if $(add) {
- result += $(add[1]) ;
+
+ if $(add[1]) = <find-shared-library>pthread
+ {
+ # Uhm. It's not really nice that this MPI implementation
+ # uses -lpthread as opposed to -pthread. We do want to
+ # set <threading>multi, instead of -lpthread.
+ result += "<threading>multi" ;
+ MPI_EXTRA_REQUIREMENTS += "<threading>multi" ;
+ }
+ else
+ {
+ result += $(add[1]) ;
+ }
+
cmdline = $(add[2]) ;
matched = yes ;
}
@@ -205,7 +218,7 @@
if $(otherflags) {
for unknown in $(unknown-features)
{
- result += "$(unknown)$(otherflags)" ;
+ result += "$(unknown)$(otherflags:J= )" ;
}
}
Modified: branches/release/tools/build/v2/tools/msvc.jam
==============================================================================
--- branches/release/tools/build/v2/tools/msvc.jam (original)
+++ branches/release/tools/build/v2/tools/msvc.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -378,7 +378,7 @@
# syntax highlighting in the messy N-quoted code below.
actions compile-c-c++-pch
{
- $(.CC) @"@($(<[1]:W).rsp:E="$(>[2]:W)" -Fo"$(<[2]:W)" -Yc"$(>[1]:D=)" $(YLOPTION)"__bjam_pch_symbol_$(>[1]:D=)" -Fp"$(<[1]:W)" $(CC_RSPLINE))" "@($(<[1]:W).cpp:E=#include $(.escaped-double-quote)$(>[1]:D=)$(.escaped-double-quote))" $(.CC.FILTER)
+ $(.CC) @"@($(<[1]:W).rsp:E="$(>[2]:W)" -Fo"$(<[2]:W)" -Yc"$(>[1]:D=)" $(YLOPTION)"__bjam_pch_symbol_$(>[1]:D=)" -Fp"$(<[1]:W)" $(CC_RSPLINE))" "@($(<[1]:W).cpp:E=#include $(.escaped-double-quote)$(>[1]:D=)$(.escaped-double-quote)$(.nl))" $(.CC.FILTER)
}
@@ -1322,7 +1322,7 @@
# Known toolset versions, in order of preference.
-.known-versions = 10.0 9.0 9.0express 8.0 8.0express 7.1 7.1toolkit 7.0 6.0 ;
+.known-versions = 10.0 10.0express 9.0 9.0express 8.0 8.0express 7.1 7.1toolkit 7.0 6.0 ;
# Version aliases.
.version-alias-6 = 6.0 ;
@@ -1342,6 +1342,7 @@
.version-9.0-reg = "VisualStudio\\9.0\\Setup\\VC" ;
.version-9.0express-reg = "VCExpress\\9.0\\Setup\\VC" ;
.version-10.0-reg = "VisualStudio\\10.0\\Setup\\VC" ;
+.version-10.0express-reg = "VCExpress\\10.0\\Setup\\VC" ;
# Visual C++ Toolkit 2003 does not store its installation path in the registry.
# The environment variable 'VCToolkitInstallDir' and the default installation
Modified: branches/release/tools/build/v2/tools/pathscale.jam
==============================================================================
--- branches/release/tools/build/v2/tools/pathscale.jam (original)
+++ branches/release/tools/build/v2/tools/pathscale.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -30,13 +30,13 @@
toolset.flags pathscale.compile.fortran90 OPTIONS $(condition) :
[ feature.get-values <fflags> : $(options) ] : unchecked ;
- command_c = $(command_c[1--2]) $(command[-1]:B=pathCC) ;
+ command_c = $(command_c[1--2]) $(command[-1]:B=pathcc) ;
toolset.flags pathscale CONFIG_C_COMMAND $(condition) : $(command_c) ;
# fortran support
local f-command = [ common.get-invocation-command pathscale : pathf90 : $(command) ] ;
- local command_f = $(command_f[1--2]) $(f-command[-1]:B=pathf77) ;
+ local command_f = $(command_f[1--2]) $(f-command[-1]:B=pathf90) ;
local command_f90 = $(command_f[1--2]) $(f-command[-1]:B=pathf90) ;
toolset.flags pathscale CONFIG_F_COMMAND $(condition) : $(command_f) ;
@@ -87,7 +87,7 @@
actions compile.fortran
{
- "$(CONFIG_F_COMMAND)" -f77 $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
+ "$(CONFIG_F_COMMAND)" $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
}
rule compile.fortran90 ( targets * : sources * : properties * )
Modified: branches/release/tools/build/v2/tools/pgi.jam
==============================================================================
--- branches/release/tools/build/v2/tools/pgi.jam (original)
+++ branches/release/tools/build/v2/tools/pgi.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -58,7 +58,7 @@
# Declare flags and actions for compilation
flags pgi.compile OPTIONS : -Kieee ;
flags pgi.compile OPTIONS <link>shared : -fpic ;
-flags pgi.compile OPTIONS <debug-symbols>on : -g ;
+flags pgi.compile OPTIONS <debug-symbols>on : -gopt ;
flags pgi.compile OPTIONS <profiling>on : -xprofile=tcov ;
flags pgi.compile OPTIONS <optimization>speed : -fast -Mx,8,0x10000000 ;
flags pgi.compile OPTIONS <optimization>space : -xO2 -xspace ;
@@ -92,7 +92,7 @@
}
# Declare flags and actions for linking
-flags pgi.link OPTIONS <debug-symbols>on : -g ;
+flags pgi.link OPTIONS <debug-symbols>on : -gopt ;
# Strip the binary when no debugging is needed
flags pgi.link OPTIONS <debug-symbols>off : -s ;
flags pgi.link OPTIONS <profiling>on : -xprofile=tcov ;
Modified: branches/release/tools/build/v2/tools/quickbook.jam
==============================================================================
--- branches/release/tools/build/v2/tools/quickbook.jam (original)
+++ branches/release/tools/build/v2/tools/quickbook.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -256,9 +256,9 @@
{
rule pattern ( )
{
- return "\\[[ \t]*include[ \t]+([^]]+)\\]"
- "\\[[ \t]*include:[a-zA-Z0-9_]+[ \t]+([^]]+)\\]"
- "\\[[ \t]*import[ \t]+([^]]+)\\]" ;
+ return "\\[[ ]*include[ ]+([^]]+)\\]"
+ "\\[[ ]*include:[a-zA-Z0-9_]+[ ]+([^]]+)\\]"
+ "\\[[ ]*import[ ]+([^]]+)\\]" ;
}
}
Modified: branches/release/tools/build/v2/tools/stage.jam
==============================================================================
--- branches/release/tools/build/v2/tools/stage.jam (original)
+++ branches/release/tools/build/v2/tools/stage.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -354,18 +354,38 @@
rule run ( project name ? : property-set : source : multiple ? )
{
+ local need-relink ;
+
if [ $(property-set).get <os> ] in NT CYGWIN ||
[ $(property-set).get <target-os> ] in windows cygwin
{
- # Relinking is never needed on NT.
- return [ stage.copy-file $(project)
- : $(source) : $(property-set) ] ;
}
else
{
+ # See if the dll-path properties are not changed during
+ # install. If so, copy, don't relink.
+ local a = [ $(source).action ] ;
+ local p = [ $(a).properties ] ;
+ local original = [ $(p).get <dll-path> ] ;
+ local current = [ $(property-set).get <dll-path> ] ;
+
+ if $(current) != $(original)
+ {
+ need-relink = true ;
+ }
+ }
+
+
+ if $(need-relink)
+ {
return [ stage.relink-file $(project)
: $(source) : $(property-set) ] ;
}
+ else
+ {
+ return [ stage.copy-file $(project)
+ : $(source) : $(property-set) ] ;
+ }
}
}
Modified: branches/release/tools/build/v2/tools/types/lib.jam
==============================================================================
--- branches/release/tools/build/v2/tools/types/lib.jam (original)
+++ branches/release/tools/build/v2/tools/types/lib.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -16,6 +16,7 @@
type.register STATIC_LIB : a lib : LIB ;
type.set-generated-target-suffix STATIC_LIB : <target-os>windows : lib ;
+type.set-generated-target-suffix STATIC_LIB : <toolset>gcc <target-os>windows : a ;
type.set-generated-target-suffix STATIC_LIB : <target-os>cygwin : lib ;
type.set-generated-target-prefix STATIC_LIB : : lib ;
Modified: branches/release/tools/build/v2/tools/vacpp.jam
==============================================================================
--- branches/release/tools/build/v2/tools/vacpp.jam (original)
+++ branches/release/tools/build/v2/tools/vacpp.jam 2010-02-17 04:49:08 EST (Wed, 17 Feb 2010)
@@ -27,7 +27,7 @@
command = [ common.get-invocation-command vacpp : xlC
: $(command) : "/usr/vacpp/bin/xlC" ] ;
-
+
common.handle-options vacpp : $(condition) : $(command) : $(options) ;
}
@@ -92,7 +92,7 @@
else
{
# Linux PPC
- flags vacpp.compile CFLAGS <link>shared : -qpic ;
+ flags vacpp.compile CFLAGS <link>shared : -qpic=large ;
flags vacpp FINDLIBS : rt ;
}
@@ -100,13 +100,13 @@
flags vacpp CFLAGS <profiling>on : -pg ;
flags vacpp LINKFLAGS <profiling>on : -pg ;
-flags vacpp CFLAGS <cflags> ;
-flags vacpp C++FLAGS <cxxflags> ;
+flags vacpp.compile OPTIONS <cflags> ;
+flags vacpp.compile.c++ OPTIONS <cxxflags> ;
flags vacpp DEFINES <define> ;
flags vacpp UNDEFS <undef> ;
flags vacpp HDRS <include> ;
flags vacpp STDHDRS <sysinclude> ;
-flags vacpp LINKFLAGS <linkflags> ;
+flags vacpp.link OPTIONS <linkflags> ;
flags vacpp ARFLAGS <arflags> ;
flags vacpp LIBPATH <library-path> ;
@@ -120,25 +120,28 @@
flags vacpp VA_CXX_COMPILER <threading>single : xlC ;
flags vacpp VA_CXX_COMPILER <threading>multi : xlC_r ;
+SPACE = " " ;
+
+flags vacpp.link.dll HAVE_SONAME <target-os>linux : "" ;
actions vacpp.link bind NEEDLIBS
{
- $(VA_CXX_COMPILER) $(EXE-LINKFLAGS) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
+ $(VA_CXX_COMPILER) $(EXE-LINKFLAGS) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) $(OPTIONS) $(USER_OPTIONS)
}
actions vacpp.link.dll bind NEEDLIBS
{
- xlC_r -G $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
+ xlC_r -G $(LINKFLAGS) -o "$(<[1])" $(HAVE_SONAME)-Wl,-soname$(SPACE)-Wl,$(<[-1]:D=) -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) $(OPTIONS) $(USER_OPTIONS)
}
actions vacpp.compile.c
{
- $(VA_C_COMPILER) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
+ $(VA_C_COMPILER) -c $(OPTIONS) $(USER_OPTIONS) -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}
actions vacpp.compile.c++
{
- $(VA_CXX_COMPILER) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
+ $(VA_CXX_COMPILER) -c $(OPTIONS) $(USER_OPTIONS) -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}
actions updated together piecemeal vacpp.archive
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk