Subversion Repositories DevTools

Rev

Rev 4382 | Rev 6133 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4382 Rev 4814
Line 74... Line 74...
74
                           'cleancmd'   => 'devenv =DSW= /clean =TYPE= /useenv' ,
74
                           'cleancmd'   => 'devenv =DSW= /clean =TYPE= /useenv' ,
75
                           'tmp'        => 'vc110',
75
                           'tmp'        => 'vc110',
76
                           'VSCOMPILER' => '3',
76
                           'VSCOMPILER' => '3',
77
                           'GenManifest' => '1',
77
                           'GenManifest' => '1',
78
                           },
78
                           },
-
 
79
 
-
 
80
        'VS2012_X64' =>  { 'def'        => 'vs2012_x64.def' ,
-
 
81
                           'buildcmd'   => 'devenv =DSW= /build =TYPE= /useenv /out =LOG=' ,
-
 
82
                           'cleancmd'   => 'devenv =DSW= /clean =TYPE= /useenv' ,
-
 
83
                           'tmp'        => 'vc110',
-
 
84
                           'VSCOMPILER' => '3',
-
 
85
                           'GenManifest' => '1',
-
 
86
                           'Machine'    => 'X64',
-
 
87
                           'Rules'      => 'vcwin64.rul',
-
 
88
                           'NoKludges'  => 1,
-
 
89
                         },
-
 
90
 
79
                           
91
                           
80
    );
92
    );
81
 
93
 
82
 
94
 
83
##############################################################################
95
##############################################################################
Line 131... Line 143...
131
#       6) MSVS.net 2012    - Used to create .NET applications
143
#       6) MSVS.net 2012    - Used to create .NET applications
132
#
144
#
133
    $toolset_info = $ToolsetVersion{$toolset_version};
145
    $toolset_info = $ToolsetVersion{$toolset_version};
134
    Error( "Unknown version: $toolset_version" ) unless ( defined $toolset_info );
146
    Error( "Unknown version: $toolset_version" ) unless ( defined $toolset_info );
135
 
147
 
-
 
148
    #
-
 
149
    #   Insert defaults
-
 
150
    #
-
 
151
    $toolset_info->{'Machine'} = 'X86' unless defined  $toolset_info->{'Machine'};
-
 
152
    $toolset_info->{'Rules'}   = 'vcwin32.rul' unless defined  $toolset_info->{'Rules'};
-
 
153
    
136
 
154
 
137
#.. Standard.rul requirements
155
#.. Standard.rul requirements
138
#
156
#
139
    $::s = 'asm';
157
    $::s = 'asm';
140
    $::o = 'obj';
158
    $::o = 'obj';
Line 151... Line 169...
151
#.. define Visual C/C+ environment
169
#.. define Visual C/C+ environment
152
    Init( "visualc" );
170
    Init( "visualc" );
153
    ToolsetDefines( $toolset_info->{'def'} );
171
    ToolsetDefines( $toolset_info->{'def'} );
154
    PlatformDefine ("VSCOMPILER\t= $toolset_info->{'VSCOMPILER'}" );
172
    PlatformDefine ("VSCOMPILER\t= $toolset_info->{'VSCOMPILER'}" );
155
    ToolsetRequire( "exctags" );                # and Exuberant Ctags
173
    ToolsetRequire( "exctags" );                # and Exuberant Ctags
156
    ToolsetRules( "vcwin32.rul" );
174
    ToolsetRules( $toolset_info->{'Rules'} );
157
    ToolsetRules( "standard.rul" );
175
    ToolsetRules( "standard.rul" );
158
 
176
 
159
#.. define PCLint envrionment
177
#.. define PCLint envrionment
160
    ToolsetRequire( "pclint" );                 # using pclint
178
    ToolsetRequire( "pclint" );                 # using pclint
161
    PlatformDefine ("LINT_COFILE\t= co-msc60.lnt");
179
    PlatformDefine ("LINT_COFILE\t= co-msc60.lnt");
Line 911... Line 929...
911
 
929
 
912
        $io->Label( "Linker commands", $name ); # label
930
        $io->Label( "Linker commands", $name ); # label
913
 
931
 
914
        $io->Cmd( "-dll" );
932
        $io->Cmd( "-dll" );
915
        $io->Cmd( "-noentry" )if ($resource_only);
933
        $io->Cmd( "-noentry" )if ($resource_only);
916
        $io->Cmd( "-machine:X86" );
934
        $io->Cmd( "-machine:" . $toolset_info->{'Machine'} );
917
        $io->Cmd( "-base:0x10000000" );
935
        $io->Cmd( "-base:0x10000000" );
918
        $io->Cmd( "-def:$def" ) if ($link_with_def);
936
        $io->Cmd( "-def:$def" ) if ($link_with_def);
919
        $io->Cmd( "-out:\$(subst /,\\\\,\$(LIBDIR)/${full})" );
937
        $io->Cmd( "-out:\$(subst /,\\\\,\$(LIBDIR)/${full})" );
920
        $io->Cmd( "-implib:\$(subst /,\\\\,$import_lib)" )  if ($import_lib);
938
        $io->Cmd( "-implib:\$(subst /,\\\\,$import_lib)" )  if ($import_lib);
921
        $io->Cmd( "-pdb:\$(subst /,\\\\,$pdb_file)" )       unless ( $no_pdb );
939
        $io->Cmd( "-pdb:\$(subst /,\\\\,$pdb_file)" )       unless ( $no_pdb );
Line 1113... Line 1131...
1113
    $io->Cmd( "-debug:none" )                       if ($no_pdb);
1131
    $io->Cmd( "-debug:none" )                       if ($no_pdb);
1114
    $io->Cmd( "-pdb:none" )                         if ($no_pdb);
1132
    $io->Cmd( "-pdb:none" )                         if ($no_pdb);
1115
    $io->Cmd( "-entry:$entry" )                     if ($entry);
1133
    $io->Cmd( "-entry:$entry" )                     if ($entry);
1116
    $io->Cmd( "-map:\$(subst /,\\\\,$map)" );
1134
    $io->Cmd( "-map:\$(subst /,\\\\,$map)" );
1117
    $io->Cmd( "-nodefaultlib:LIBC" );
1135
    $io->Cmd( "-nodefaultlib:LIBC" );
1118
    $io->Cmd( "-machine:X86" );
1136
    $io->Cmd( "-machine:" . $toolset_info->{'Machine'} );
1119
    $io->Cmd( "\$(subst /,\\\\,$res)" )             if ( $res );
1137
    $io->Cmd( "\$(subst /,\\\\,$res)" )             if ( $res );
1120
 
1138
 
1121
    ToolsetLibStd( $pLibs ) unless ( $noaddlibs );      # push standard libraries
1139
    ToolsetLibStd( $pLibs ) unless ( $noaddlibs );      # push standard libraries
1122
    $io->ObjList( $name, $pObjs, \&ToolsetObjRecipe );  # object list
1140
    $io->ObjList( $name, $pObjs, \&ToolsetObjRecipe );  # object list
1123
    $io->LibList( $name, $pLibs, \&ToolsetLibRecipe );  # library list
1141
    $io->LibList( $name, $pLibs, \&ToolsetLibRecipe );  # library list
Line 1195... Line 1213...
1195
 
1213
 
1196
    #
1214
    #
1197
    #   Appears to be a kludge that no one is happy to remove
1215
    #   Appears to be a kludge that no one is happy to remove
1198
    #   If we are inluding cs or csx libraries then add some more
1216
    #   If we are inluding cs or csx libraries then add some more
1199
    #
1217
    #
-
 
1218
    unless ($toolset_info->{'NoKludges'}) {
1200
    foreach (@$plib) {
1219
        foreach (@$plib) {
1201
        if ( $_ eq 'csx$(GBE_TYPE)' || $_ eq 'cs$(GBE_TYPE)' )
1220
            if ( $_ eq 'csx$(GBE_TYPE)' || $_ eq 'cs$(GBE_TYPE)' )
1202
        {                                       # .. core services
1221
            {                                       # .. core services
1203
            UniquePush( $plib, "KERNEL32" );
1222
                UniquePush( $plib, "KERNEL32" );
1204
            UniquePush( $plib, "WINUX32\$(GBE_TYPE)" );
1223
                UniquePush( $plib, "WINUX32\$(GBE_TYPE)" );
1205
            UniquePush( $plib, "WS2_32" );
1224
                UniquePush( $plib, "WS2_32" );
1206
            last;
1225
                last;
-
 
1226
            }
1207
        }
1227
        }
1208
    }
1228
    }
1209
 
1229
 
1210
    #
1230
    #
1211
    #   Multithreaded DLL
1231
    #   Multithreaded DLL