亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? symbian-81-armv5.cf

?? linux下的一款播放器
?? CF
字號:
# -*- python -*-
#
# ***** BEGIN LICENSE BLOCK *****
# Source last modified: $Id: symbian-81-armv5.cf,v 1.2 2004/12/08 22:36:18 pankajgupta 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 *****
#
"""Building with the symbian 8.1 sdk for the ARMV5 devices"""

exec_config_file('symbian-81.cf')
exec_config_file('symbian-armv5.cf')

## Define some symbian utilities...
class SymbianUtils:
    def __init__(self):
        self.rss_files = []
        self.rss_includes = []
        self.uid1 = 0
        self.uid2 = 0
        self.uid3 = 0

    def write_uid_file(self):
        # first uid (what kind of binary image)
        KDynamicLibraryUid  = 0x10000079
        KExecutableImageUid = 0x1000007a

        # second uid (what kind of dll or exe)
        KUidApp             = 0x100039ce
        KUidRecognizer      = 0x10003a19

        # third uid = implementation uid

        #
        # for symbian, target_type is 'exe' for .app and .mdl and .mmf (misleading)
        #
        imageType = "unknown"
        if( project.target_type == "dll" ):
            imageType = "dll"

        elif ( project.target_type == "exe" ):
            if (project.BuildOption('make-app') or project.BuildOption('make-mdl') or project.BuildOption('make-mmf')):
                imageType = "dll"
            else:
                imageType = "exe"

        if( self.uid1 == 0 ):
            # set to default value for target type
            if (imageType == "exe"):
                self.uid1 = KExecutableImageUid
            elif (imageType == "dll"):
                self.uid1 = KDynamicLibraryUid
                
        if( self.uid2 == 0 ):
            # set to default value for specific type of target
            if (project.BuildOption('make-app')):
                # app
                self.uid2 = KUidApp
            elif (project.BuildOption('make-mdl')):
                # recognizer
                self.uid2 = KUidRecognizer

        uidpath = '%s.uid.cpp' %( project.target_name)

        fil = open(uidpath, 'w')
#        fil.write('//Umake generated UID file.\n')
#        fil.write('#include <E32STD.H>\n')
#        fil.write('#pragma data_seg(".E32_UID")\n')
        tmp = '__WINS_UID(0x%x, 0x%x, 0x%x)\n' % (self.uid1,
                                            self.uid2,
                                            self.uid3)
#        fil.write(tmp)
#        fil.write('#pragma data_seg()\n')
        fil.close()

        project.AddSources(uidpath)

    def SetUIDs(self, uid1, uid2, uid3 ):
        self.uid1 = uid1
        self.uid2 = uid2
        self.uid3 = uid3

    def AddResourceFiles(self, *args):
        for x in args:
            self.rss_files.append(x)

    def AddResourceIncludes(self, *args):
        for x in args:
            self.rss_includes.append(x)

    def UseARMICompiler(self):
        if 'symbian-thumb' in sysinfo.family_list:
            cxx.cmd = cc.cmd = platform.armi_cxx_cmd
            cxx.args['default'] = cc.args['default'] = platform.armi_cxx_args
            project.AddDefines('__MARM_ARMI__')
            project.RemoveDefines('__MARM_THUMB__')

    def UseARMCCompiler(self):
        if 'symbian-thumb' in sysinfo.family_list:
            cc.cmd = cxx.cmd = platform.armi_cc_cmd
            cc.args['default'] = cxx.args['default'] = platform.armi_cc_args
            project.AddDefines('__MARM_ARMI__')
            project.RemoveDefines('__MARM_THUMB__')

    def compile_resource(self, rss_name):
        # Generate resource file

        if (not os.path.exists(project.output_dir)):
            os.mkdir(project.output_dir)

        baseName = re.match("(.+)\.rss", rss_name).group(1)

        arg_list = []
        arg_list.append("-v -u -t\".\"")
        arg_list.append("-I \"%s\"" % os.path.join(GetSDKPath('SYMBIANSDK'), 'EPOC32\include'))
        for incFile in self.rss_includes:
            arg_list.append('-I "%s"' % incFile) 
       
        arg_list.append("-h\"%s.rsg\"" % baseName)
        arg_list.append("-o\"%s.rsc\"" % os.path.join(project.output_dir,
                                                      os.path.basename(baseName)))
        arg_list.append("%s.rss" % (baseName))

        cmd = "perl -S epocrc.pl %s" % (string.join(arg_list))
        (status, output) = shell.run(cmd)
        print output

        if status:
            raise "*** resource generation failed (%s) ***" % status

    def compile_resources(self):
        for x in self.rss_files:
            self.compile_resource(x)

    def generate_ordinal_info(self):
        # Add info for the symbol to ordinal function.
        # It should always have ordinal 1 assigned to it
        info = [(1, "GetSymbolOrdinal")]

        # Assign ordinals to the exported functions
        ordinal = 2
        for func in project.exported_func:
            info.append((ordinal, func))
            ordinal = ordinal + 1

        return info

    def create_mbm_file(self, mbmpath, headerpath, options, imagelist):
        sep = " %s" % options
        cmd = "bmconv /h%s %s %s%s" % (headerpath, mbmpath, options, string.join(imagelist, sep))
        (status, output) = shell.run(cmd)
        print output

        if status:
            raise "*** mbm generation failed (%s) ***" % status

    def generate_ordinal_file(self, ordinalInfo):
        ordFileName = "%s_ordinal.dat" % project.target_name

        ordFile = open(ordFileName, 'w')
        for x in ordinalInfo :
            ordFile.write("%d %s\n" % (x[0], x[1]))
        ordFile.close()

    def generate_dll_stub_code(self, ordinalInfo):
        stubSourceName = "%s_dll_stub.c" % project.target_name

        # find ordinal 1's function name
        for x in ordinalInfo:
            if (x[0] == 1):
                symbol2OrdinalFunc = x[1]
                break

        dllStub = open(stubSourceName, "w")
        dllStub.write("#include <e32std.h>\n")
        dllStub.write("#include <string.h>\n")
        if(not project.IsDefined('HELIX_CONFIG_MICROCORE_DLL_STUB')):
            dllStub.write("#include \"hxglobalmgr.h\"\n")
        
        dllStub.write("\n")
        dllStub.write("GLDEF_C TInt E32Dll(TDllReason reason)\n")
        dllStub.write("{\n")
        if(not project.IsDefined('HELIX_CONFIG_MICROCORE_DLL_STUB')):
            dllStub.write("    if (reason == EDllProcessDetach)\n")
            dllStub.write("    {\n")
            dllStub.write("        HXGlobalManager* pGM = HXGlobalManager::Instance();\n")
            dllStub.write("        if (pGM)\n")
            dllStub.write("        {\n")
            dllStub.write("            pGM->Shutdown();\n")
            dllStub.write("        }\n")
            dllStub.write("    }\n")

        dllStub.write("    return(KErrNone);\n")
        dllStub.write("}\n")
        dllStub.write("\n")
        dllStub.write("struct SymbolEntry {\n")
        dllStub.write("    const char* m_pSymbolName;\n")
        dllStub.write("    int m_ordinal;\n")
        dllStub.write("};\n")
        dllStub.write("\n")
        dllStub.write("static const struct SymbolEntry z_symbolTable[] = {\n")
        dllStub.write("    {\"%s\", %d}" % (ordinalInfo[0][1], ordinalInfo[0][0]))

        for x in ordinalInfo[1:] :
            dllStub.write(",\n")
            dllStub.write("    {\"%s\", %d}" % (x[1], x[0]))

        dllStub.write("\n};\n")
        dllStub.write("\n")
        dllStub.write("extern \"C\"\n")

        if(project.IsDefined('HELIX_CONFIG_MICROCORE_DLL_STUB')):
            dllStub.write("int %s(const SymbolEntry*& pMap, int& magic)\n" % symbol2OrdinalFunc)
            dllStub.write("{\n")
            dllStub.write("    magic = 0x23aaff42;\n")
            dllStub.write("    pMap = z_symbolTable;\n")
            dllStub.write("    return sizeof(z_symbolTable) / sizeof(SymbolEntry);\n")
            dllStub.write("}\n")
        else:
            dllStub.write("int %s(const char* pSymbolName)\n" % symbol2OrdinalFunc)
            dllStub.write("{\n")
            dllStub.write("    int ret = 0;\n")
            dllStub.write("    int numSymbols = sizeof(z_symbolTable) / sizeof(struct SymbolEntry);\n")
            dllStub.write("    int i;\n")
            dllStub.write("    if( NULL != pSymbolName )\n")
            dllStub.write("    {\n")
            dllStub.write("       for(i = 0; !ret && (i < numSymbols); i++)\n")
            dllStub.write("       {\n")
            dllStub.write("           if (!strcmp(pSymbolName, z_symbolTable[i].m_pSymbolName))\n")
            dllStub.write("           {\n");
            dllStub.write("               ret = z_symbolTable[i].m_ordinal;\n")
            dllStub.write("               break;\n")
            dllStub.write("           }\n")
            dllStub.write("       }\n")
            dllStub.write("    }\n")
            dllStub.write("    return ret;\n")
            dllStub.write("}\n")
        dllStub.close()

        # Add the stub to the source list
        project.AddSources(stubSourceName)

## Create a global instance to use.
project.symbianUtil = SymbianUtils()

def HandleSymbianStuff(args):
    # Generate the DLL stubs if we need to
    if project.target_type == "dll":
        ordinalInfo = project.symbianUtil.generate_ordinal_info()
        project.symbianUtil.generate_ordinal_file(ordinalInfo)
        project.symbianUtil.generate_dll_stub_code(ordinalInfo)

    # Compile any symbian resource files that
    # were specified
    project.symbianUtil.compile_resources()

    # Create UID file if we need to
    if ((project.target_type == "dll") or
        (project.target_type == "exe")):
        project.symbianUtil.write_uid_file()

AddUmakeCallback(HandleSymbianStuff, None)

def SetSymbianProgramTargetType(type):
    """ Set exe suffix and build type for Symbian polymorphic dll.
        Used with ProgramTarget() in module pcf. 
    """

    if (type not in ['mdl', 'app', 'mmf']):
        raise "unrecognized Symbian program target type '%s'" % type

    project.AddBuildOption("make-%s" % type)
    
    # in most cases (app, mdl) the type is the same as the dll extension 
    if(type == "mmf"):
        platform.exe_suffix="dll"
    else:
        platform.exe_suffix=type

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
**性色生活片久久毛片| 亚洲国产美国国产综合一区二区| 精品一区二区免费| 欧美人xxxx| 午夜电影网一区| 欧美四级电影在线观看| 亚洲人成网站精品片在线观看| 成人精品高清在线| 中文字幕免费一区| 成人午夜精品一区二区三区| 国产女人18水真多18精品一级做 | 亚洲三级在线看| 91女神在线视频| 亚洲另类在线制服丝袜| 91亚洲午夜精品久久久久久| 樱桃视频在线观看一区| 欧美性大战久久| 亚洲成人先锋电影| 欧美一区二区视频在线观看| 日本麻豆一区二区三区视频| 日韩欧美不卡一区| 国产美女av一区二区三区| 国产日韩欧美不卡| 一道本成人在线| 亚洲成人黄色影院| 欧美一级理论片| 国内精品久久久久影院薰衣草| 久久久综合精品| 成熟亚洲日本毛茸茸凸凹| 中文字幕一区免费在线观看| 91久久精品一区二区| 亚洲成人1区2区| 欧美xingq一区二区| 国产经典欧美精品| 亚洲婷婷综合久久一本伊一区| 色嗨嗨av一区二区三区| 亚洲电影在线播放| 欧美xxx久久| 成年人午夜久久久| 亚洲午夜电影网| 日韩久久精品一区| 丁香天五香天堂综合| 一区二区三区在线观看国产| 91精品国产综合久久久久久久久久| 麻豆国产欧美日韩综合精品二区 | 日韩精品国产欧美| 精品国产一区二区精华| 丁香另类激情小说| 亚洲精品久久久蜜桃| 91精品国产色综合久久ai换脸| 国内精品伊人久久久久av一坑| 国产精品乱人伦| 欧美理论片在线| 高清免费成人av| 亚洲成人午夜影院| 久久精品人人做人人综合 | 在线观看精品一区| 美女视频网站黄色亚洲| 国产精品水嫩水嫩| 欧美日本国产一区| 国产乱码精品一区二区三区五月婷 | 色呦呦网站一区| 老司机一区二区| 亚洲三级在线看| 精品国产乱码久久久久久老虎| eeuss鲁一区二区三区| 日韩精品一级中文字幕精品视频免费观看| 久久免费精品国产久精品久久久久 | 精品一区二区影视| 亚洲精品国产品国语在线app| 日韩欧美中文字幕精品| 99久久精品99国产精品| 免费观看久久久4p| 亚洲精品日韩一| 久久综合狠狠综合久久激情 | 国产乱子伦一区二区三区国色天香| 日韩码欧中文字| 精品久久久久久最新网址| 91免费版在线| 国内精品第一页| 亚洲成av人片一区二区梦乃| 欧美激情一区二区三区| 这里只有精品免费| 色婷婷国产精品久久包臀| 国产尤物一区二区在线| 亚洲成人av资源| 亚洲视频免费观看| 久久久www成人免费毛片麻豆| 在线不卡免费av| 色综合天天综合狠狠| 国产一区二三区| 日韩av网站免费在线| 亚洲欧洲综合另类在线| 国产色综合一区| 日韩一级精品视频在线观看| 在线区一区二视频| 成人免费av资源| 国产永久精品大片wwwapp| 婷婷亚洲久悠悠色悠在线播放| 综合精品久久久| 久久久久国产精品麻豆ai换脸| 91精品欧美久久久久久动漫 | 亚洲色图欧美激情| 中文字幕免费不卡| 久久久久成人黄色影片| 欧美成人精品二区三区99精品| 欧美日韩一区不卡| 色又黄又爽网站www久久| www.欧美.com| 国产白丝精品91爽爽久久| 久草热8精品视频在线观看| 午夜激情综合网| 午夜视频一区二区三区| 一区二区三区不卡在线观看| 国产精品传媒在线| 国产精品网站导航| 国产拍欧美日韩视频二区| 精品国产3级a| 日韩欧美在线影院| 欧美一区二区三区人| 欧美久久久一区| 欧美精品一二三| 欧美男男青年gay1069videost| 欧美在线免费观看视频| 色丁香久综合在线久综合在线观看| 97se亚洲国产综合自在线| 不卡一区二区三区四区| 粗大黑人巨茎大战欧美成人| 成人一道本在线| caoporen国产精品视频| 成人国产精品免费| www.激情成人| 色综合中文综合网| 精品少妇一区二区三区视频免付费| 91精品国产91久久久久久一区二区 | 欧美色图12p| 欧美日韩视频一区二区| 欧美日韩一区国产| 欧美精品久久久久久久久老牛影院| 欧美日韩精品福利| 日韩一区二区精品葵司在线 | 欧美变态口味重另类| 欧美精品一区二区高清在线观看 | 亚洲午夜精品网| 亚洲va国产va欧美va观看| 日韩高清不卡一区二区| 久久国产夜色精品鲁鲁99| 狠狠色伊人亚洲综合成人| 国产乱码精品一区二区三区av | 欧美一区二区在线观看| 亚洲精品一区二区三区99| 国产无遮挡一区二区三区毛片日本| 日本一区二区三区免费乱视频 | 国产午夜精品一区二区三区视频 | 久久免费偷拍视频| 国产精品日日摸夜夜摸av| 一区二区三区自拍| 天天影视色香欲综合网老头| 麻豆成人免费电影| 国产99久久久国产精品免费看| 成人app软件下载大全免费| 色呦呦国产精品| 欧美精品九九99久久| 精品福利视频一区二区三区| 日本一区二区三区免费乱视频| 亚洲欧美一区二区三区孕妇| 一区二区激情小说| 婷婷综合五月天| 国产电影一区二区三区| 色先锋资源久久综合| 欧美一区在线视频| 国产欧美日本一区二区三区| 曰韩精品一区二区| 捆绑调教美女网站视频一区| 粉嫩高潮美女一区二区三区 | 欧美日韩国产系列| 久久这里都是精品| 亚洲色欲色欲www在线观看| 亚洲国产综合视频在线观看| 黄色日韩三级电影| 色婷婷激情综合| 精品99久久久久久| 夜色激情一区二区| 美女久久久精品| 97精品久久久午夜一区二区三区| 欧美高清视频一二三区| 国产欧美一区二区精品秋霞影院| 一区二区国产视频| 国产一区二区三区高清播放| 91麻豆国产在线观看| 日韩欧美久久一区| 樱花草国产18久久久久| 国产精品中文字幕一区二区三区| 国产精品不卡在线观看| 天天综合日日夜夜精品| 99久久国产综合精品女不卡| 欧美电影免费观看高清完整版 | 亚洲国产视频一区| 国产成人一区在线| 欧美久久高跟鞋激|