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

📄 sconscript_opts

📁 一个开源的sip源代码
💻
字号:
import os.path, sysdef _PackageOption(pkgName, default=1):    """ Allow user to choose whether a package should be used if available. This results in a commandline option use<Pkgname>,    where Pkgname is the name of the package with a capitalized first letter.    @param pkgName: Name of package.    @param default: The default value for this option ("yes"/"no").    """    return BoolOption("use%s" % pkgName[0].upper() + pkgName[1:], "use %s if available" % (pkgName), default)def _BoolOption(opt, explanation, default=1):    """ Allow user to enable/disable a certain option. This results in a commandline option enable<Option>, where Option    is the name of the option with a capitalized first letter.    @param opt: Name of option.    @param explanation: Explanation of option.    @param default: The default value for this option (1/0).    """    return BoolOption("enable%s" % opt[0].upper() + opt[1:], explanation, default)def _EnumOption(opt, explanation, allowedValues, default):    """ Allow the user to choose among a set of values for an option. This results in a commandline option with<Option>,    where Option is the name of the option with a capitalized first letter.    @param opt: The name of the option.    @param explanation: Explanation of option.    @param allowedValues: The set of values to choose from.    @param default: The default value.    """    assert default in allowedValues    return EnumOption("with%s" % opt[0].upper() + opt[1:], explanation, default, allowed_values=allowedValues)def _DirectoryOption(opt, explanation, default):    """ Allow the user to configure the location for a certain directory, for instance the prefix. This results in a    commandline option which is simply the name of this option.    @param opt: The configurable directory, for instance "prefix".    @param explanation: Explanation of option.    @param default: The default value for this option.    """    return PathOption(opt, explanation, default)    # Incompatible with the latest stable SCons    # return PathOption(path, help, default, PathOption.PathIsDir)import SCons.Errorstry:    Import("Platform", "Posix")except SCons.Errors.UserError:    # The common objects must be exported first    SConscript("SConscript_common")    Import("Platform", "Posix")# Expose the options as a dictionary of sets of optionsopts = {}if Platform in Posix:    opts["Installation Dirs"] = [_DirectoryOption("prefix", "installation prefix", "/usr/local")]elif Platform in Windows:    if Platform == "cygwin":        opts["Installation Dirs"] = [_DirectoryOption("prefix", "installation prefix", "/usr/local")]opts["Build Targets"] = [_BoolOption("shared", "create shared library"), _BoolOption("static", "create static library"),        _BoolOption("tests", "build test programs")]apis = []if Platform in Posix:    apis.append(_PackageOption("OSS"))    apis.append(_PackageOption("JACK"))    if Platform == "linux":        apis.append(_PackageOption("ALSA"))        apis.append(_PackageOption("ASIHPI"))elif Platform in Windows:    if Platform == "cygwin":        apis.append(_EnumOption("winAPI", "Windows API to use", ("wmme", "directx", "asio"), "wmme"))elif Platform == "darwin":    apis.append(_EnumOption("macAPI", "Mac API to use", ("asio", "core", "sm"), "core"))opts["Host APIs"] = apisopts["Build Parameters"] = [\        _BoolOption("debug", "compile with debug symbols"),        _BoolOption("optimize", "compile with optimization", default=0),        _BoolOption("asserts", "runtime assertions are helpful for debugging, but can be detrimental to performance",                default=1),        _BoolOption("debugOutput", "enable debug output", default=0),        # _BoolOption("python", "create Python binding"),        ("customCFlags", "customize compilation of C code", ""),        ("customCxxFlags", "customize compilation of C++ code", ""),        ("customLinkFlags", "customize linking", ""),        ]opts["Bindings"] = [\        _BoolOption("cxx", "build Merlijn Blaauw's PA C++ wrapper", default=0)        ]    Return("opts")

⌨️ 快捷键说明

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