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

📄 build.py

📁 这是国外的resip协议栈
💻 PY
字号:
################################################################################ build.py# by Sailesh@xten.com## Usage: python build.py## A Python script to build unit tests on the Mac using command line tools.# Currently this script will not work if you are logged in remotely# using SSH. This can be fixed by removing dependencies to cmdide.## Setup:## This script requires having CodeWarrior's command line tools installed.# Follow the instructions in "Command Line Tools" directory of your# CodeWarrior installation folder.## The install script assumes that your shell is tcsh. If you're using# bash, the standard shell on OS X, then you'll need to convert the# file mwvars to using bash syntax.## Next, in your .tcshrc or .bashrc file, change "source mwvars" to# "source mwvars bsd". This causes the command line tools to use# BSD headers and libraries.## Finally, there is one bug in the mwvars file we have to fix.# For the environment variable MWCMacOSXPPCIncludes, append:#   "$CWINSTALL"/MacOS\ X\ Support/Headers/PPC\ Specific################################################################################import osimport sys# GLOBAL VARIABLESIDE_PATH = None       # path to CodeWarrior IDEcpp_compiler = None   # path to c++ compilerproj_compiler = None  # path to ide compiler, it compiles .mcp filescpp_options = None    # options to mwcc, c++ compilerld_options = None     # options to mwld, linker################################################################################ sets the path to the c++ compiler and setup up any environment variables###############################################################################def setup_environment():    global IDE_PATH    global cpp_compiler     global proj_compiler    # make sure we know where the CodeWarrior IDE is    IDE_PATH = os.environ.get("CWINSTALL")    if IDE_PATH == None:        print "Error: unable to locate CodeWarrior IDE install location."        print "Please follow the setup directions at the top of this script."        sys.exit(1)    # add the compiler to the path    cpp_compiler_path = IDE_PATH + "/../Other Metrowerks Tools/Command Line Tools"    old_path = os.environ['PATH']    os.environ['PATH'] = old_path + ":" + cpp_compiler_path    # setup an explicit path to mwcc, the c++ compiler    cpp_compiler = "\"" + cpp_compiler_path + "/mwcc" + "\""     # setup an explicit path to cmdide, the compiler that takes a .mcp file    proj_compiler = "\"" + cpp_compiler_path + "/cmdide" + "\"" ################################################################################ setup compiler and linker options###############################################################################def setup_options():    global cpp_options    global ld_options    # enable wchar_t support    cpp_options =  " -wchar_t on"    # adopt GCC #include semantics    cpp_options += " -gccinc"    # add sip directory to our include search path    cpp_options += " -I../../.."    # prefix file to set some macros    cpp_options += " -I."    cpp_options += " -include prefix.h"    # link against ares and resiprocate    # see build_dependencies for more info    ld_options   = " -l../../../Output/aresdebug.lib"    ld_options  += " -l../../../Output/resiprocatedebug.lib"    # security libraries    ld_options  += " -l /usr/local/lib"    ld_options  += " -llibssl.a"    ld_options  += " -llibcrypto.a"    # system libraries    ld_options  += " -llibgcc.a"    ld_options  += " -lMSL_All_Mach-O_D.lib"    # Mac OS X frameworks    ld_options += " -framework CoreFoundation"    ld_options += " -framework Security"################################################################################ builds ares and resiprocate if they're not already there###############################################################################def build_dependencies():    global proj_compiler    # we use cmdide to build .mcp files    # the path to cmdide is created in setup_environment()    if proj_compiler == None:        print "Error: need to call setup_environment first"        sys.exit(1)    # command line options    # -b => build target, -q => quit IDE after building    # -z => switch to named target    # NOTE: If we put "-q" when we build the first target then    # there may be a problem building the 2nd target. This is because    # the command line tool tries to open the 2nd target before the 1st IDE    # has finished.    os.system(proj_compiler + " -proj -z ResiprocateDebug -b ../../../sip.mcp")    os.system(proj_compiler + " -proj -z AresDebug -b -q ../../../sip.mcp")################################################################################ build each test program# output file name is always "input_source.out"###############################################################################def build_tests(test_programs):    global cpp_options    global ld_options    global cpp_compiler    # set up the compiler    setup_environment()    setup_options()    build_dependencies()    # invoke the compiler    for curTest in test_programs:        outputName = curTest + ".out"        options = cpp_options + ld_options + " -o " + outputName        os.system(cpp_compiler + options + " " + curTest)################################################################################ removes .o and .out files from sip/resiprocrate/test###############################################################################def run_tests(test_programs):    for curTest in test_programs:        outputName = curTest + ".out"        # TODO: execute outputName and check if test succeeded################################################################################ removes .o and .out files from sip/resiprocrate/test###############################################################################def clean(test_programs):    for curTest in test_programs:        outputName = curTest + ".out"        objectName = curTest + ".o"        os.system("rm " + outputName);        os.system("rm " + objectName);################################################################################ main################################################################################ TODO: add more test files heretest_programs = ["../testCorruption.cxx",       \                 "../testCoders.cxx",           \                 "../testMacSecurity.cxx"       \                ]build_tests(test_programs)run_tests(test_programs)clean(test_programs)

⌨️ 快捷键说明

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