diff options
| author | Avneesh Saluja <asaluja@gmail.com> | 2013-03-28 18:28:16 -0700 | 
|---|---|---|
| committer | Avneesh Saluja <asaluja@gmail.com> | 2013-03-28 18:28:16 -0700 | 
| commit | 5b8253e0e1f1393a509fb9975ba8c1347af758ed (patch) | |
| tree | 1790470b1d07a0b4973ebce19192e896566ea60b /jam-files/boost-build/tools/cast.jam | |
| parent | 2389a5a8a43dda87c355579838559515b0428421 (diff) | |
| parent | b203f8c5dc8cff1b9c9c2073832b248fcad0765a (diff) | |
fixed conflicts
Diffstat (limited to 'jam-files/boost-build/tools/cast.jam')
| -rw-r--r-- | jam-files/boost-build/tools/cast.jam | 91 | 
1 files changed, 0 insertions, 91 deletions
diff --git a/jam-files/boost-build/tools/cast.jam b/jam-files/boost-build/tools/cast.jam deleted file mode 100644 index 6c84922f..00000000 --- a/jam-files/boost-build/tools/cast.jam +++ /dev/null @@ -1,91 +0,0 @@ -# Copyright 2005 Vladimir Prus. -# Distributed under the Boost Software License, Version 1.0. (See -# accompanying file LICENSE_1_0.txt or copy at -# http://www.boost.org/LICENSE_1_0.txt) - -# Defines main target 'cast', used to change type for target. For example, in Qt -# library one wants two kinds of CPP files -- those that just compiled and those -# that are passed via the MOC tool. -# -# This is done with: -# -#    exe main : main.cpp [ cast _ moccable-cpp : widget.cpp ] ; -# -# Boost.Build will assing target type CPP to both main.cpp and widget.cpp. Then, -# the cast rule will change target type of widget.cpp to MOCCABLE-CPP, and Qt -# support will run the MOC tool as part of the build process. -# -# At the moment, the 'cast' rule only works for non-derived (source) targets. -# -# TODO: The following comment is unclear or incorrect. Clean it up. -# > Another solution would be to add a separate main target 'moc-them' that -# > would moc all the passed sources, no matter what their type is, but I prefer -# > cast, as defining a new target type + generator for that type is somewhat -# > simpler than defining a main target rule. - -import "class" : new ; -import errors ; -import project ; -import property-set ; -import targets ; -import type ; - - -class cast-target-class : typed-target -{ -    import type ; - -    rule __init__ ( name : project : type : sources * : requirements * : -        default-build * : usage-requirements * ) -    { -        typed-target.__init__ $(name) : $(project) : $(type) : $(sources) : -            $(requirements) : $(default-build) : $(usage-requirements) ; -    } - -    rule construct ( name : source-targets * : property-set ) -    { -        local result ; -        for local s in $(source-targets) -        { -            if ! [ class.is-a $(s) : file-target ] -            { -                import errors ; -                errors.user-error Source to the 'cast' rule is not a file! ; -            } -            if [ $(s).action ] -            { -                import errors ; -                errors.user-error Only non-derived target are allowed for -                    'cast'. : when building [ full-name ] ; -            } -            local r = [ $(s).clone-with-different-type $(self.type) ] ; -            result += [ virtual-target.register $(r) ] ; -        } -        return [ property-set.empty ] $(result) ; -    } -} - - -rule cast ( name type : sources * : requirements * : default-build * : -    usage-requirements * ) -{ -    local project = [ project.current ] ; - -    local real-type = [ type.type-from-rule-name $(type) ] ; -    if ! $(real-type) -    { -        errors.user-error No type corresponds to the main target rule name -            '$(type)' : "Hint: try a lowercase name" ; -    } - -    targets.main-target-alternative [ new cast-target-class $(name) : $(project) -        : $(real-type) -        : [ targets.main-target-sources $(sources) : $(name) ] -        : [ targets.main-target-requirements $(requirements) : $(project) ] -        : [ targets.main-target-default-build $(default-build) : $(project) ] -        : [ targets.main-target-usage-requirements $(usage-requirements) : -            $(project) ] ] ; -} - - -IMPORT $(__name__) : cast : : cast ;  | 
