sbsv1/abld/makmake/_secure_trgtype.pm
author jjkang
Fri, 25 Jun 2010 17:29:25 +0800
changeset 599 fa7a3cc6effd
permissions -rw-r--r--
Add sbsv1 to new structure
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
599
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     1
# Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     2
# All rights reserved.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     3
# This component and the accompanying materials are made available
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     4
# under the terms of "Eclipse Public License v1.0"
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     5
# which accompanies this distribution, and is available
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     6
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     7
#
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     8
# Initial Contributors:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     9
# Nokia Corporation - initial contribution.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    10
#
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    11
# Contributors:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    12
#
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    13
# Description:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    14
# this package controls target types known to the build system
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    15
# To add new types to the system, simply add an entry to the %Types data structure.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    16
# Look at the existing types for an appropriate example
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    17
# 
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    18
#
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    19
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    20
package Trgtype;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    21
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    22
require Exporter;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    23
@ISA=qw(Exporter);
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    24
@EXPORT=qw(
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    25
	Trg_GetL
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    26
	Trg_List
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    27
);
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    28
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    29
use Genutl;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    30
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    31
my %Types=(
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    32
	ANI=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    33
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    34
			MARM=>['CreateCAnimDllL__Fv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    35
			EABI=>['_Z15CreateCAnimDllLv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    36
			WINS=>['?CreateCAnimDllL@@YAPAVCAnimDll@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    37
			X86=>['?CreateCAnimDllL@@YAPAVCAnimDll@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    38
			x86gcc=>['_Z15CreateCAnimDllLv']
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    39
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    40
		UID2=>'0x10003b22',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    41
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    42
	APP=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    43
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    44
			MARM=>['NewApplication__Fv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    45
			EABI=>['_Z14NewApplicationv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    46
			WINS=>['?NewApplication@@YAPAVCApaApplication@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    47
			X86=>['?NewApplication@@YAPAVCApaApplication@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    48
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    49
		NeedUID3=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    50
		UID2=>'0x100039ce',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    51
		Deprecated=>"Convert to EXE",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    52
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    53
	CTL=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    54
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    55
			MARM=>['CreateControlL__FRC7TDesC16'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    56
			EABI=>['_Z14CreateControlLRK7TDesC16'], 
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    57
			WINS=>['?CreateControlL@@YAXABVTDesC16@@@Z'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    58
			X86=>['?CreateControlL@@YAXABVTDesC16@@@Z'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    59
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    60
		UID2=>'0x10003a34',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    61
		Deprecated=>"Convert to application",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    62
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    63
	DLL=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    64
		NeedDeffile=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    65
	},	
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    66
	EPOCEXE=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    67
		Basic=>'EXEDLL',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    68
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    69
			WINS=>['?WinsMain@@YAHXZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    70
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    71
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    72
	EXE=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    73
		Basic=>'EXE',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    74
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    75
	EXEDLL=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    76
		Basic=>'EXEDLL',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    77
		NeedDeffile=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    78
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    79
	EXEXP=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    80
		Basic=>'EXE',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    81
		NeedDeffile=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    82
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    83
	FSY=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    84
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    85
			MARM=>['CreateFileSystem'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    86
			EABI=>['CreateFileSystem'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    87
			WINS=>['CreateFileSystem'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    88
			X86=>['CreateFileSystem'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    89
			x86gcc=>['CreateFileSystem']
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    90
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    91
		UID2=>'0x100039df',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    92
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    93
	IMPLIB=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    94
		NeedDeffile=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    95
		Basic=>'IMPLIB',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    96
	},	
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    97
	KDLL=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    98
		FirstLib=>'EKLL.LIB',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    99
#		Kernel=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   100
		System=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   101
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   102
	KEXT=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   103
		FirstLib=>'EEXT.LIB',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   104
#		Kernel=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   105
		System=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   106
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   107
	KLIB=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   108
		Basic=>'LIB',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   109
#		Kernel=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   110
		System=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   111
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   112
	LDD=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   113
		FirstLib=>'EDEV.LIB',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   114
#		Kernel=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   115
		System=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   116
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   117
			MARM=>['CreateLogicalDevice__Fv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   118
			EABI=>['_Z19CreateLogicalDevicev'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   119
			WINS=>['?CreateLogicalDevice@@YAPAVDLogicalDevice@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   120
			X86=>['?CreateLogicalDevice@@YAPAVDLogicalDevice@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   121
			x86gcc=>['_Z19CreateLogicalDevicev']
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   122
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   123
		UID2=>'0x100000af',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   124
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   125
	LIB=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   126
		Basic=>'LIB',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   127
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   128
	ECOMIIC=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   129
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   130
			MARM=>['ImplementationGroupProxy__FRi'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   131
			EABI=>['_Z24ImplementationGroupProxyRi'], 
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   132
			WINS=>['?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   133
			X86=>['?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   134
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   135
		Path=>'System\Libs\Plugins',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   136
		UID2=>'0x10009D8D',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   137
		Deprecated=>"Convert to PLUGIN (ECOM)",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   138
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   139
	PLUGIN=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   140
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   141
			MARM=>['ImplementationGroupProxy__FRi'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   142
			EABI=>['_Z24ImplementationGroupProxyRi'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   143
			WINS=>['?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   144
			X86=>['?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   145
			x86gcc=>['_Z24ImplementationGroupProxyRi']
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   146
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   147
		ResourcePath=>'Resource\Plugins',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   148
		UID2=>'0x10009D8D',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   149
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   150
	PLUGIN3=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   151
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   152
			MARM=>['ImplementationGroupProxy__FRi'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   153
			EABI=>['_Z24ImplementationGroupProxyRi'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   154
			WINS=>['?ImplementationGroupProxy@@YAPBUTImplementationProxy3@@AAH@Z'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   155
			X86=>['?ImplementationGroupProxy@@YAPBUTImplementationProxy3@@AAH@Z'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   156
			x86gcc=>['_Z24ImplementationGroupProxyRi']
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   157
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   158
		ResourcePath=>'Resource\Plugins',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   159
		UID2=>'0x10009D93',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   160
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   161
	MDA=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   162
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   163
			MARM=>['NewMediaLibraryL__Fv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   164
			EABI=>['_Z16NewMediaLibraryLv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   165
			WINS=>['?NewMediaLibraryL@@YAPAVCMdaLibrary@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   166
			X86=>['?NewMediaLibraryL@@YAPAVCMdaLibrary@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   167
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   168
		UID2=>'0x1000393f',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   169
		Deprecated=>"Convert to ???",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   170
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   171
	MDL=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   172
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   173
			MARM=>['CreateRecognizer__Fv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   174
			EABI=>['_Z16CreateRecognizerv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   175
			WINS=>['?CreateRecognizer@@YAPAVCApaDataRecognizerType@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   176
			X86=>['?CreateRecognizer@@YAPAVCApaDataRecognizerType@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   177
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   178
		UID2=>'0x10003a19',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   179
		Deprecated=>"Convert to PLUGIN (ECOM)",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   180
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   181
	RDL=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   182
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   183
			MARM=>['CreateRecognizer__Fv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   184
			EABI=>['_Z16CreateRecognizerv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   185
			WINS=>['?CreateRecognizer@@YAPAVCApaFileRecognizerType@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   186
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   187
		UID2=>'0x10003a37',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   188
		Deprecated=>"Convert to PLUGIN (ECOM)",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   189
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   190
	NOTIFIER=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   191
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   192
			MARM=>['NotifierArray__Fv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   193
			EABI=>['_Z13NotifierArrayv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   194
			WINS=>['?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase@@@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   195
			X86=>['?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase@@@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   196
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   197
		Path=>'System\Notifiers',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   198
		UID2=>'0x10005522',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   199
		Deprecated=>"Convert to PLUGIN (ECOM)",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   200
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   201
	NOTIFIER2=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   202
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   203
			MARM=>['NotifierArray__Fv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   204
			EABI=>['_Z13NotifierArrayv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   205
			WINS=>['?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   206
			X86=>['?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   207
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   208
		Path=>'System\Notifiers',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   209
		UID2=>'0x101fdfae',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   210
		Deprecated=>"Convert to PLUGIN (ECOM)",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   211
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   212
	TEXTNOTIFIER2=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   213
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   214
			MARM=>['NotifierArray__Fv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   215
			EABI=>['_Z13NotifierArrayv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   216
			WINS=>['?NotifierArray@@YAPAV?$CArrayPtr@VMNotifierBase2@@@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   217
			X86=>['?NotifierArray@@YAPAV?$CArrayPtr@VMNotifierBase2@@@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   218
			x86gcc=>['_Z13NotifierArrayv']
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   219
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   220
		Path=>'System\Notifiers',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   221
		UID2=>'0x101fe38b',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   222
		# Not deprecated - the Text Window Server will have AllFiles, 
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   223
		# so it can continue scanning for binaries
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   224
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   225
	PDD=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   226
		FirstLib=>'EDEV.LIB',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   227
#		Kernel=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   228
		System=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   229
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   230
			MARM=>['CreatePhysicalDevice__Fv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   231
			EABI=>['_Z20CreatePhysicalDevicev'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   232
			WINS=>['?CreatePhysicalDevice@@YAPAVDPhysicalDevice@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   233
			X86=>['?CreatePhysicalDevice@@YAPAVDPhysicalDevice@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   234
			x86gcc=>['_Z20CreatePhysicalDevicev']
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   235
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   236
		UID2=>'0x100039d0',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   237
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   238
	PDL=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   239
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   240
			MARM=>['NewPrinterDeviceL__Fv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   241
			EABI=>['_Z17NewPrinterDeviceLv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   242
			WINS=>['?NewPrinterDeviceL@@YAPAVCPrinterDevice@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   243
			X86=>['?NewPrinterDeviceL@@YAPAVCPrinterDevice@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   244
			x86gcc=>['_Z17NewPrinterDeviceLv']
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   245
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   246
		UID2=>'0x10003b1c',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   247
		ResourcePath=>'Resource\Printers',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   248
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   249
	STDDLL=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   250
		NeedDeffile=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   251
		UID2=>'0x20004C45',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   252
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   253
	STDEXE=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   254
		Basic=>'EXE',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   255
		UID2=>'0x20004C45',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   256
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   257
	STDLIB=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   258
		Basic=>'LIB',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   259
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   260
	VAR=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   261
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   262
			MARM=>['VariantInitialise__Fv'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   263
			EABI=>['_Z17VariantInitialisev'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   264
			X86=>['?VariantInitialise@@YAPAVAsic@@XZ'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   265
			x86gcc=>['_Z17VariantInitialisev']
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   266
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   267
		FirstLib=>'EVAR.LIB',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   268
#		Kernel=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   269
		System=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   270
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   271
	VAR2=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   272
		'Exports'=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   273
			MARM=>['VariantInitialise'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   274
			EABI=>['VariantInitialise'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   275
			X86=>['VariantInitialise'],
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   276
			x86gcc=>['VariantInitialise']
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   277
		},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   278
		FirstLib=>'EVAR.LIB',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   279
		System=>1,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   280
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   281
	NONE=>{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   282
		Basic=>'IMPLIB',
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   283
	},
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   284
);
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   285
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   286
sub Trg_GetL ($$$) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   287
#	takes target type, followed by a ref to a data structure
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   288
#	to fill with exports, second UID and default targetpath, etc.,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   289
#
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   290
#	dies upon error
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   291
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   292
	my ($Candidate, $TrgHash_ref)=@_;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   293
	$Candidate= uc $Candidate;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   294
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   295
#	Is type in our list?
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   296
	unless (defined $Types{$Candidate}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   297
		die "ERROR: Target type \"$Candidate\" not supported\n";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   298
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   299
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   300
#	Get the data
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   301
	my %TrgHash=%{$Types{$Candidate}};
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   302
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   303
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   304
#	Set the defaults
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   305
	$TrgHash{Name}=$Candidate;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   306
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   307
	
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   308
	unless ($TrgHash{Basic}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   309
		$TrgHash{Basic}='DLL';
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   310
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   311
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   312
	unless ($TrgHash{FirstLib}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   313
		$TrgHash{FirstLib}='';
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   314
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   315
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   316
	unless ($TrgHash{Kernel}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   317
		$TrgHash{Kernel}=0;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   318
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   319
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   320
	unless ($TrgHash{System}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   321
		$TrgHash{System}=0;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   322
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   323
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   324
	unless ($TrgHash{Exports}{MARM}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   325
		$TrgHash{Exports}{MARM}=[];
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   326
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   327
	else {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   328
		unless (@{$TrgHash{Exports}{MARM}}<=2) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   329
			die "INTERNAL ERROR: Too many MARM exports defined for type \"$TrgHash{Name}\" in Trgtype.pm\n";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   330
		}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   331
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   332
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   333
	unless ($TrgHash{Exports}{EABI}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   334
		$TrgHash{Exports}{EABI}=[];
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   335
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   336
	else {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   337
		unless (@{$TrgHash{Exports}{EABI}}<=2) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   338
			die "INTERNAL ERROR: Too many EABI exports defined for type \"$TrgHash{Name}\" in Trgtype.pm\n";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   339
		}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   340
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   341
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   342
	unless ($TrgHash{Exports}{WINS}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   343
		$TrgHash{Exports}{'WINS'}=[];
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   344
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   345
	else {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   346
		unless (@{$TrgHash{Exports}{WINS}}<=2) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   347
			die "INTERNAL ERROR: Too many WINS exports defined for type \"$TrgHash{Name}\" in Trgtype.pm\n";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   348
		}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   349
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   350
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   351
	unless ($TrgHash{Exports}{X86}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   352
		$TrgHash{Exports}{X86}=[];
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   353
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   354
	else {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   355
		unless (@{$TrgHash{Exports}{X86}}<=2) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   356
			die "INTERNAL ERROR: Too many X86 exports defined for type \"$TrgHash{Name}\" in Trgtype.pm\n";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   357
		}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   358
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   359
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   360
	unless ($TrgHash{Exports}{x86gcc}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   361
		$TrgHash{Exports}{x86gcc}=[];
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   362
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   363
	else {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   364
		unless (@{$TrgHash{Exports}{x86gcc}}<=2) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   365
			die "INTERNAL ERROR: Too many x86gcc exports defined for type \"$TrgHash{Name}\" in Trgtype.pm\n";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   366
		}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   367
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   368
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   369
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   370
	unless ($TrgHash{NeedDeffile}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   371
		$TrgHash{NeedDeffile}=0;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   372
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   373
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   374
	unless ($TrgHash{NeedUID3}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   375
		$TrgHash{NeedUID3}=0;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   376
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   377
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   378
	unless ($TrgHash{Path}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   379
		$TrgHash{Path}='';
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   380
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   381
	else {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   382
		# apply terminating backslash
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   383
		$TrgHash{Path}=~s-^(.*[^\\])$-$1\\-o;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   384
		# apply Z drive
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   385
		$TrgHash{Path}="Z\\$TrgHash{Path}";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   386
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   387
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   388
	unless ($TrgHash{ResourcePath}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   389
		$TrgHash{ResourcePath}='';
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   390
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   391
	else {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   392
		# apply terminating backslash & Z drive
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   393
		$TrgHash{ResourcePath}=~s-^(.*[^\\])$-Z\\$1\\-o;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   394
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   395
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   396
	unless ($TrgHash{UID2}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   397
		$TrgHash{UID2}='';
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   398
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   399
	else {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   400
		$TrgHash{UID2}=&Genutl_AnyToHex($TrgHash{UID2});
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   401
		unless (defined $TrgHash{UID2}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   402
			die "INTERNAL ERROR: UID2 badly defined for type \"$TrgHash{Name}\" in Trgtype.pm\n";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   403
		}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   404
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   405
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   406
#	Deprecated target warnings
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   407
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   408
	if ($TrgHash{Deprecated}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   409
		print "MIGRATION_NOTE: type \"$TrgHash{Name}\" is deprecated - $TrgHash{Deprecated}\n";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   410
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   411
	
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   412
#	Pass the data
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   413
	%{$TrgHash_ref}=%TrgHash;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   414
}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   415
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   416
sub Trg_List () {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   417
#	returns a list of known poly types
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   418
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   419
	sort keys %Types;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   420
}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   421
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   422
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   423
1;