VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /usr/share/boost-build/src/build/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/boost-build/src/build/alias.jam
# Copyright 2003, 2004, 2006 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)

# This module defines the 'alias' rule and the associated target class.
#
# Alias is just a main target which returns its source targets without any
# processing. For example:
#
#   alias bin : hello test_hello ;
#   alias lib : helpers xml_parser ;
#
# Another important use of 'alias' is to conveniently group source files:
#
#   alias platform-src : win.cpp : <os>NT ;
#   alias platform-src : linux.cpp : <os>LINUX ;
#   exe main : main.cpp platform-src ;
#
# Lastly, it is possible to create a local alias for some target, with different
# properties:
#
#   alias big_lib : : @/external_project/big_lib/<link>static ;
#

import "class" : new ;
import param ;
import project ;
import property-set ;
import targets ;


class alias-target-class : basic-target
{
    rule __init__ ( name : project : sources * : requirements *
        : default-build * : usage-requirements * )
    {
        basic-target.__init__ $(name) : $(project) : $(sources) :
            $(requirements) : $(default-build) : $(usage-requirements) ;
    }

    rule construct ( name : source-targets * : property-set )
    {
        return [ property-set.empty ] $(source-targets) ;
    }

    rule compute-usage-requirements ( subvariant )
    {
        local base = [ basic-target.compute-usage-requirements $(subvariant) ] ;
        return [ $(base).add [ $(subvariant).sources-usage-requirements ] ] ;
    }
}


# Declares the 'alias' target. It will process its sources virtual-targets by
# returning them unaltered as its own constructed virtual-targets.
#
rule alias ( name : sources * : requirements * : default-build * :
    usage-requirements * )
{
    param.handle-named-params
        sources requirements default-build usage-requirements ;

    local project = [ project.current ] ;

    targets.main-target-alternative
        [ new alias-target-class $(name) : $(project)
            : [ targets.main-target-sources $(sources) : $(name) : no-renaming ]
            : [ targets.main-target-requirements $(requirements) : $(project) ]
            : [ targets.main-target-default-build $(default-build) : $(project)
                ]
            : [ targets.main-target-usage-requirements $(usage-requirements) :
                $(project) ]
        ] ;
}


IMPORT $(__name__) : alias : : alias ;

VaKeR 2022