⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vacpp.jam

📁 C++的一个好库。。。现在很流行
💻 JAM
字号:
# Copyright Vladimir Prus 2004.
# Copyright Toon Knapen 2004.
# 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)

#
# Boost.Build V2 toolset for the IBM VisualAge compiler
#

import toolset : flags ;
import feature ;
import common ;
import generators ;

feature.extend toolset : vacpp ;
toolset.inherit vacpp : unix ;
generators.override builtin.lib-generator : vacpp.prebuilt ;
generators.override vacpp.searched-lib-generator : searched-lib-generator ;
feature.subfeature toolset vacpp : version ;

# Configures the vacpp toolset. 
rule init ( version ? : command * : options * )
{
}


# Declare generators
generators.register-c-compiler vacpp.compile.c : C : OBJ : <toolset>vacpp ;
generators.register-c-compiler vacpp.compile.c++ : CPP : OBJ : <toolset>vacpp ;

# Declare flags.
flags vacpp CFLAGS <optimization>off : -qNOOPTimize ;
flags vacpp CFLAGS <optimization>speed : -O3 -qstrict ;
flags vacpp CFLAGS <optimization>space : -O2 -qcompact ;

flags vacpp CFLAGS <inlining>off : -qnoinline ;
flags vacpp CFLAGS <inlining>on : -qinline ;
flags vacpp CFLAGS <inlining>full : -qinline ;

flags vacpp C++FLAGS <exception-handling>off : -qnoeh ;
flags vacpp C++FLAGS <exception-handling>on : -qeh ;

flags vacpp C++FLAGS <rtti>off : -qnortti ;
flags vacpp C++FLAGS <rtti>on : -qrtti ;

# flags vacpp LINKFLAGS <runtime-link>static : -llibstd_v2.a ;
# flags vacpp LINKFLAGS <runtime-link>shared : -llibstd_v2.sl ;

# We want the full path to the sources in the debug symbols because otherwise
# the debugger won't find the sources when we use boost.build.
flags vacpp CFLAGS <debug-symbols>on : -g ;
flags vacpp LINKFLAGS <debug-symbols>on : -g ;
flags vacpp LINKFLAGS <debug-symbols>off : -s ;

# V2 does not have <shared-linkable>, not sure what this meant in V1.
#flags vacpp CFLAGS <shared-linkable>true : +Z ;

flags vacpp CFLAGS <profiling>on : -pg ;
flags vacpp LINKFLAGS <profiling>on : -pg ;

flags vacpp CFLAGS <cflags> ;
flags vacpp C++FLAGS <cxxflags> ;
flags vacpp DEFINES <define> ;
flags vacpp UNDEFS <undef> ;
flags vacpp HDRS <include> ;
flags vacpp STDHDRS <sysinclude> ;
flags vacpp LINKFLAGS <linkflags> ;
flags vacpp ARFLAGS <arflags> ;

flags vacpp LIBPATH <library-path> ;
flags vacpp NEEDLIBS <library-file> ;
flags vacpp FINDLIBS <find-shared-library> ;
flags vacpp FINDLIBS <find-static-library> ;

# Select the compiler name according to the threading model.
flags vacpp VA_C_COMPILER  <threading>single : xlc   ;
flags vacpp VA_C_COMPILER  <threading>multi : xlc_r ;
flags vacpp VA_CXX_COMPILER <threading>single : xlC   ;
flags vacpp VA_CXX_COMPILER <threading>multi : xlC_r ;

ROOT = /usr/vacpp/bin ;
actions vacpp.link bind NEEDLIBS
{
    $(ROOT)/$(VA_CXX_COMPILER) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
}

actions vacpp.link.dll bind NEEDLIBS
{
    xlC_r -qmkshrobj $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
}

actions vacpp.compile.c
{    
    $(ROOT)/$(VA_C_COMPILER) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}

actions vacpp.compile.c++
{
    $(ROOT)/$(VA_CXX_COMPILER) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}

actions updated together piecemeal vacpp.archive
{
    ar ru$(ARFLAGS:E="") "$(<)" "$(>)"
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -