Subversion Repositories DevTools

Rev

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

Rev 4192 Rev 4382
Line 871... Line 871...
871
 
871
 
872
        #
872
        #
873
        #   Package the PDB file up with the DLL
873
        #   Package the PDB file up with the DLL
874
        #   Package the DLL - now that we know its proper name
874
        #   Package the DLL - now that we know its proper name
875
        #
875
        #
876
        PackageShlibAddFiles( $base, $pdb_file, 'Class=debug' ) unless $no_pdb ;
876
        PackageShlibAddFiles( $base, $pdb_file, 'Class=debug', "NoTarget=1" ) unless $no_pdb ;
-
 
877
        PackageShlibAddFiles( $base, "\$(LIBDIR)/${full}.manifest", 'Exists=1', "NoTarget=1" ) if ( $toolset_info->{'GenManifest'} );
877
        PackageShlibAddFiles( $base, "\$(LIBDIR)/${full}" );
878
        PackageShlibAddFiles( $base, "\$(LIBDIR)/${full}" );
878
 
879
 
879
        #
880
        #
880
        #   Generate Shared Library dependency information
881
        #   Generate Shared Library dependency information
881
        #
882
        #
Line 914... Line 915...
914
        $io->Cmd( "-noentry" )if ($resource_only);
915
        $io->Cmd( "-noentry" )if ($resource_only);
915
        $io->Cmd( "-machine:X86" );
916
        $io->Cmd( "-machine:X86" );
916
        $io->Cmd( "-base:0x10000000" );
917
        $io->Cmd( "-base:0x10000000" );
917
        $io->Cmd( "-def:$def" ) if ($link_with_def);
918
        $io->Cmd( "-def:$def" ) if ($link_with_def);
918
        $io->Cmd( "-out:\$(subst /,\\\\,\$(LIBDIR)/${full})" );
919
        $io->Cmd( "-out:\$(subst /,\\\\,\$(LIBDIR)/${full})" );
919
        $io->Cmd( "-implib:\$(subst /,\\\\,$import_lib)" ) if ($import_lib);
920
        $io->Cmd( "-implib:\$(subst /,\\\\,$import_lib)" )  if ($import_lib);
920
        $io->Cmd( "-pdb:\$(subst /,\\\\,$pdb_file)" )       unless ( $no_pdb );
921
        $io->Cmd( "-pdb:\$(subst /,\\\\,$pdb_file)" )       unless ( $no_pdb );
921
        $io->Cmd( "-debug:none" )                           if ($no_pdb);
922
        $io->Cmd( "-debug:none" )                           if ($no_pdb);
922
        $io->Cmd( "-pdb:none" )                             if ($no_pdb);
923
        $io->Cmd( "-pdb:none" )                             if ($no_pdb);
923
        $io->Cmd( "-entry:$entry" )                         if ($entry);
924
        $io->Cmd( "-entry:$entry" )                         if ($entry);
924
        $io->Cmd( "-map:\$(subst /,\\\\,\$(LIBDIR)/${lib}).map" );
925
        $io->Cmd( "-map:\$(subst /,\\\\,\$(LIBDIR)/${lib}).map" );
925
        $io->Cmd( "-nodefaultlib:LIBC" );
926
        $io->Cmd( "-nodefaultlib:LIBC" );
926
        $io->Cmd( "\$(subst /,\\\\,$res)" ) if ( $res );
927
        $io->Cmd( "\$(subst /,\\\\,$res)" )                 if ( $res );
927
        $io->Cmd( "\$(subst /,\\\\,$export_file)" ) if ( $export_file );
928
        $io->Cmd( "\$(subst /,\\\\,$export_file)" )         if ( $export_file );
928
 
929
 
929
                                                # object list
930
                                                # object list
930
        $io->ObjList( $name, $pObjs, \&ToolsetObjRecipe );
931
        $io->ObjList( $name, $pObjs, \&ToolsetObjRecipe );
931
            
932
            
932
                                                # library list
933
                                                # library list
Line 1052... Line 1053...
1052
        }
1053
        }
1053
    }
1054
    }
1054
 
1055
 
1055
#.. Names of important files
1056
#.. Names of important files
1056
#
1057
#
1057
    my $base = "\$(BINDIR)/${name}";
1058
    my $base     = "\$(BINDIR)/${name}";
1058
    my $full = $base . $::exe;
1059
    my $full     = $base . $::exe;
1059
    my $map  = $base . '.map';
1060
    my $map      = $base . '.map';
1060
    my $pdb  = $base . '.pdb';
1061
    my $pdb      = $base . '.pdb';
-
 
1062
    my $manifest = $full . '.manifest';
1061
 
1063
 
1062
 
1064
 
1063
#.. Cleanup rules
1065
#.. Cleanup rules
1064
#
1066
#
1065
#   ld              Linker command file
1067
#   ld              Linker command file
1066
#   map             Map file
1068
#   map             Map file
1067
#   pdb             Microsoft C/C++ program database
1069
#   pdb             Microsoft C/C++ program database
1068
#   ilk             Microsoft Linker Database
1070
#   ilk             Microsoft Linker Database
1069
#   res             Compiled resource script
1071
#   res             Compiled resource script
1070
#   exe.manifest    Manifest file (VS2005)
1072
#   exe.manifest    Manifest file (VS2005 and above)
1071
#
1073
#
1072
    ToolsetGenerate( $map );
1074
    ToolsetGenerate( $map );
1073
    ToolsetGenerate( $pdb );
1075
    ToolsetGenerate( $pdb );
1074
    ToolsetGenerate( $base . '.ld' );
1076
    ToolsetGenerate( $base . '.ld' );
1075
    ToolsetGenerate( $base . '.ilk' );
1077
    ToolsetGenerate( $base . '.ilk' );
1076
    ToolsetGenerate( $full . '.manifest' ) if $toolset_info->{'GenManifest'};
1078
    ToolsetGenerate( $manifest ) if $toolset_info->{'GenManifest'};
1077
 
1079
 
1078
    #
1080
    #
1079
    #   Under some conditions the creation of a program will also create
1081
    #   Under some conditions the creation of a program will also create
1080
    #   an exp and lib files. May be related to an attempt to create a prog
1082
    #   an exp and lib files. May be related to an attempt to create a prog
1081
    #   and a dll from the same code
1083
    #   and a dll from the same code
Line 1138... Line 1140...
1138
        if ( $res );
1140
        if ( $res );
1139
 
1141
 
1140
#.. Package up the PDB file with the program
1142
#.. Package up the PDB file with the program
1141
#
1143
#
1142
    PackageProgAddFiles ( $name, $full );
1144
    PackageProgAddFiles ( $name, $full );
-
 
1145
    PackageProgAddFiles ( $name, $manifest, 'Exists=1' ) if ( $toolset_info->{'GenManifest'} );
1143
    PackageProgAddFiles ( $name, $pdb, "Class=debug" ) unless ( $no_pdb );
1146
    PackageProgAddFiles ( $name, $pdb, "Class=debug" ) unless ( $no_pdb );
1144
 
1147
 
1145
#
1148
#
1146
#   Track the name of the possible target file
1149
#   Track the name of the possible target file
1147
#   Used when creating Visual Studio projects
1150
#   Used when creating Visual Studio projects