def __init__(self, host, target, toolchain):
    self.host = host
    self.target = target
    self.toolchain = toolchain
    self.subninja = ''

    #Set default values
    self.build_monolithic = False
    self.build_coverage = False
    self.support_lua = False
    self.internal_deps = False
    self.python = 'python'
    self.objext = '.o'
    if target.is_windows():
      self.libprefix = ''
      self.staticlibext = '.lib'
      self.dynamiclibext = '.dll'
      self.binprefix = ''
      self.binext = '.exe'
    elif target.is_android():
      self.libprefix = 'lib'
      self.staticlibext = '.a'
      self.dynamiclibext = '.so'
      self.binprefix = 'lib'
      self.binext = '.so'
    else:
      self.libprefix = 'lib'
      self.staticlibext = '.a'
      if target.is_macos() or target.is_ios():
        self.dynamiclibext = '.dylib'
      else:
        self.dynamiclibext = '.so'
      self.binprefix = ''
      self.binext = ''

    #Paths
    self.buildpath = os.path.join('build', 'ninja', target.platform)
    self.libpath = os.path.join('lib', target.platform)
    self.binpath = os.path.join('bin', target.platform)

    #Dependency paths
    self.depend_includepaths = []
    self.depend_libpaths = []

    #Target helpers
    self.android = None
    self.xcode = None

    #Command wrappers
    if host.is_windows():
      self.rmcmd = lambda p: 'cmd /C (IF exist ' + p + ' (del /F /Q ' + p + '))'
      self.cdcmd = lambda p: 'cmd /C cd ' + p
      self.mkdircmd = lambda p: 'cmd /C (IF NOT exist ' + p + ' (mkdir ' + p + '))'
      self.copycmd = lambda p, q: 'cmd /C (IF exist ' + q + ' (del /F /Q ' + q + ')) & copy /Y ' + p + ' ' + q + ' > NUL'
    else:
      self.rmcmd = lambda p: 'rm -f ' + p
      self.cdcmd = lambda p: 'cd ' + p
      self.mkdircmd = lambda p: 'mkdir -p ' + p
      self.copycmd = lambda p, q: 'cp -f ' + p + ' ' + q

    #Target functionality
    if target.is_android():
      self.android = android.make_target(self, host, target)
    if target.is_macos() or target.is_ios():
      self.xcode = xcode.make_target(self, host, target)

    #Builders
    self.builders = {}

    #Paths created
    self.paths_created = {}
示例#2
0
文件: toolchain.py 项目: uael/libadt
    def __init__(self, host, target, toolchain):
        self.host = host
        self.target = target
        self.toolchain = toolchain

        #Set default values
        self.build_monolithic = False
        self.build_coverage = False
        self.support_lua = False
        self.python = 'python'
        self.objext = '.o'
        if target.is_windows():
            self.libprefix = ''
            self.staticlibext = '.lib'
            self.dynamiclibext = '.dll'
            self.binprefix = ''
            self.binext = '.exe'
        elif target.is_android():
            self.libprefix = 'lib'
            self.staticlibext = '.a'
            self.dynamiclibext = '.so'
            self.binprefix = 'lib'
            self.binext = '.so'
        elif target.is_pnacl():
            self.libprefix = 'lib'
            self.staticlibext = '.a'
            self.dynamiclibext = '.so'
            self.binprefix = ''
            self.binext = '.bc'
        else:
            self.libprefix = 'lib'
            self.staticlibext = '.a'
            self.dynamiclibext = '.so'
            self.binprefix = ''
            self.binext = ''

        #Paths
        self.buildpath = os.path.join('build', 'ninja', target.platform)
        self.libpath = os.path.join('lib', target.platform)
        self.binpath = os.path.join('bin', target.platform)

        #Dependency paths
        self.depend_includepaths = []
        self.depend_libpaths = []

        #Target helpers
        self.android = None
        self.xcode = None

        #Command wrappers
        if host.is_windows():
            self.rmcmd = lambda p: 'cmd /C (IF exist ' + p + ' (del /F /Q ' + p + '))'
            self.cdcmd = lambda p: 'cmd /C cd ' + p
            self.mkdircmd = lambda p: 'cmd /C (IF NOT exist ' + p + ' (mkdir ' + p + '))'
            self.copycmd = lambda p, q: 'cmd /C (IF exist ' + q + ' (del /F /Q ' + q + ')) & copy /Y ' + p + ' ' + q + ' > NUL'
        else:
            self.rmcmd = lambda p: 'rm -f ' + p
            self.cdcmd = lambda p: 'cd ' + p
            self.mkdircmd = lambda p: 'mkdir -p ' + p
            self.copycmd = lambda p, q: 'cp -f ' + p + ' ' + q

        #Target functionality
        if target.is_android():
            self.android = android.make_target(self, host, target)
        if target.is_macosx() or target.is_ios():
            self.xcode = xcode.make_target(self, host, target)

        #Builders
        self.builders = {}

        #Paths created
        self.paths_created = {}
示例#3
0
    def __init__(self, host, target, toolchain):
        self.host = host
        self.target = target
        self.toolchain = toolchain

        # Set default values
        self.build_monolithic = False
        self.build_coverage = False
        self.support_lua = False
        self.python = "python"
        self.objext = ".o"
        if target.is_windows():
            self.libprefix = ""
            self.staticlibext = ".lib"
            self.dynamiclibext = ".dll"
            self.binprefix = ""
            self.binext = ".exe"
        elif target.is_android():
            self.libprefix = "lib"
            self.staticlibext = ".a"
            self.dynamiclibext = ".so"
            self.binprefix = "lib"
            self.binext = ".so"
        elif target.is_pnacl():
            self.libprefix = "lib"
            self.staticlibext = ".a"
            self.dynamiclibext = ".so"
            self.binprefix = ""
            self.binext = ".bc"
        else:
            self.libprefix = "lib"
            self.staticlibext = ".a"
            self.dynamiclibext = ".so"
            self.binprefix = ""
            self.binext = ""

        # Paths
        self.buildpath = os.path.join("build", "ninja", target.platform)
        self.libpath = os.path.join("lib", target.platform)
        self.binpath = os.path.join("bin", target.platform)

        # Dependency paths
        self.depend_includepaths = []
        self.depend_libpaths = []

        # Target helpers
        self.android = None
        self.xcode = None

        # Command wrappers
        if host.is_windows():
            self.rmcmd = lambda p: "cmd /C (IF exist " + p + " (del /F /Q " + p + "))"
            self.cdcmd = lambda p: "cmd /C cd " + p
            self.mkdircmd = lambda p: "cmd /C (IF NOT exist " + p + " (mkdir " + p + "))"
            self.copycmd = (
                lambda p, q: "cmd /C (IF exist " + q + " (del /F /Q " + q + ")) & copy /Y " + p + " " + q + " > NUL"
            )
        else:
            self.rmcmd = lambda p: "rm -f " + p
            self.cdcmd = lambda p: "cd " + p
            self.mkdircmd = lambda p: "mkdir -p " + p
            self.copycmd = lambda p, q: "cp -f " + p + " " + q

        # Target functionality
        if target.is_android():
            self.android = android.make_target(self, host, target)
        if target.is_macosx() or target.is_ios():
            self.xcode = xcode.make_target(self, host, target)

        # Builders
        self.builders = {}

        # Paths created
        self.paths_created = {}