?? win-msvc.cf
字號:
# # ***** BEGIN LICENSE BLOCK *****# Source last modified: $Id: win-msvc.cf,v 1.6 2004/07/07 22:00:05 hubbe Exp $# # Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.# # The contents of this file, and the files included with this file,# are subject to the current version of the RealNetworks Public# Source License (the "RPSL") available at# http://www.helixcommunity.org/content/rpsl unless you have licensed# the file under the current version of the RealNetworks Community# Source License (the "RCSL") available at# http://www.helixcommunity.org/content/rcsl, in which case the RCSL# will apply. You may also obtain the license terms directly from# RealNetworks. You may not use this file except in compliance with# the RPSL or, if you have a valid RCSL with RealNetworks applicable# to this file, the RCSL. Please see the applicable RPSL or RCSL for# the rights, obligations and limitations governing use of the# contents of the file.# # Alternatively, the contents of this file may be used under the# terms of the GNU General Public License Version 2 or later (the# "GPL") in which case the provisions of the GPL are applicable# instead of those above. If you wish to allow use of your version of# this file only under the terms of the GPL, and not to allow others# to use your version of this file under the terms of either the RPSL# or RCSL, indicate your decision by deleting the provisions above# and replace them with the notice and other provisions required by# the GPL. If you do not delete the provisions above, a recipient may# use your version of this file under the terms of any one of the# RPSL, the RCSL or the GPL.# # This file is part of the Helix DNA Technology. RealNetworks is the# developer of the Original Code and owns the copyrights in the# portions it created.# # This file, and the files included with this file, is distributed# and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY# KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS# ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET# ENJOYMENT OR NON-INFRINGEMENT.# # Technology Compatibility Kit Test Suite(s) Location:# http://www.helixcommunity.org/content/tck# # Contributor(s):# # ***** END LICENSE BLOCK *****# """Common settings for using the MSVC tools."""exec_config_file('win-nmake.cf')platform.include_arg = '/I'platform.define_arg = '/D'platform.object_suffix = 'obj'platform.shared_object_suffix = 'obj'## suffixes for target typesplatform.exe_suffix = 'exe'platform.library_suffix = 'lib'platform.dll_suffix = 'dll'platform.resource_dll_suffix = 'xrs'## This is an external function for overriding purposes...def wincompiler_add_m_arg(extra_args): if project.build_choices.count('static'): extra_args = '%s /MT' % (extra_args) else: if project.build_choices.count('force_static_runtime'): extra_args = '%s /MT' % (extra_args) else: extra_args = '%s /MD' % (extra_args) if project.build_choices.count('debug'): extra_args = extra_args + 'd' return extra_args## Compiler Classclass WinCompiler(Compiler): def __init__(self): Compiler.__init__(self) def execute(self, target_file, src_file): extra_args = '' if project.target_type == 'dll': if self.args.has_key('dll'): extra_args = self.args['dll'] if project.build_choices.count('faacs') and \ project.target_type in ['dll', 'exe']: extra_args = '%s /FAacs ' % (extra_args) extra_args = wincompiler_add_m_arg(extra_args) if project.build_choices.count('incremental'): extra_args = '%s /ZI /Fd%s.pdb' % (extra_args, project.target_name) elif project.build_choices.count('pdb'): extra_args = '%s /Zi /Fd%s.pdb' % (extra_args, project.target_name) elif project.build_choices.count('debug'): extra_args = '%s /Z7' % (extra_args) return form_string( platform.form_var(self.make_var), platform.form_var(self.make_flags), extra_args, self.target_arg + target_file, self.source_arg, src_file)## IDL Compilerclass IDLCompiler(Compiler): def __init__(self): Compiler.__init__(self) self.cmd = 'midl' self.args['debug'] = '/D "_DEBUG" /D "DEBUG" /Oicf' self.make_var = 'MTL' self.target_arg = '/tlb' self.make_flags = 'MTLFLAGS' def build_quoted_arg_list(self, args, prefix=""): if len(args) == 0: return "" ret=[] for arg in args: if ' ' in arg: if len(prefix) and prefix[-1] == ' ': arg=prefix+'"'+arg else: arg='"'+prefix+arg arg = string.replace(arg,' ','%20') if arg[-1] == '\\': arg = arg[:-1] + '"\\' else: arg = arg + '"' else: arg=prefix+arg ret.append(arg) return string.join(ret," ") def execute(self, target_file, src_file):# target_file = project.target_name + ".tlb" extra_args = '/nologo /win32' ## include special compiler arguments for this target type if self.args.has_key(project.target_type): extra_args = '%s %s' % (extra_args, self.args[project.target_type]) if self.args.has_key('debug'): extra_args = '%s %s' % (extra_args, self.args['debug']) make_flags = self.build_quoted_arg_list(project.includes, platform.include_arg) return form_string( platform.form_var(self.make_var), make_flags,# platform.form_var(self.make_flags), extra_args, self.target_arg, target_file, self.source_arg, src_file) def setup_flags_var(self): def_str = platform.form_var("INCLUDES") for define in project.defines: if define[:14] != "HELIX_FEATURE_": def_str = def_str + " " + platform.define_arg + define return form_string(self.make_flags, '=', self.form_args(), def_str)idl = IDLCompiler()platform.build_rules['.idl'] = BuildRule('.idl', '.tlb', idl)platform.build_rules['.idl'].link_output = 0platform.build_rules['.idl'].output_dir = ''## Resource Compilerclass RCCompiler(Compiler): def __init__(self): Compiler.__init__(self) self.cmd = 'rc' self.args['default'] = '/l 0x409' self.args['debug'] = '/d"_DEBUG" /d"DEBUG"' self.target_arg = '/fo' self.include_arg = '/i' self.make_var = 'RC' self.make_flags = 'RCFLAGS' ## ~And a happy time we'll have here ## one and all! ## at the ugly kluge ball...~ - Hubbe def setup_flags_var(self): def_str = platform.form_var("RCINCLUDES") for define in project.defines: if define[:14] != "HELIX_FEATURE_": def_str = def_str + " " + platform.define_arg + define return form_string(self.make_flags, '=', self.form_args(), def_str)rc = RCCompiler()platform.build_rules['.rc'] = BuildRule('.rc', '.res', rc)## MC Compilerclass MCCompiler(Compiler): def execute(self, target, source): return '%s %s' % (platform.form_var(self.make_var), source)mc = MCCompiler()mc.cmd = 'mc'mc.args['default'] = ''mc.make_var = 'MC'mc.make_flags = 'MCFLAGS'platform.build_rules['.mc'] = BuildRule('.mc', '.rc', mc)platform.build_rules['.mc'].link_output = 0
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -