Subversion Repositories DevTools

Rev

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

Rev 379 Rev 2931
Line 138... Line 138...
138
        'subsystem:windows'  => { 'LDSUBSYSTEM' , 'winexe' },
138
        'subsystem:windows'  => { 'LDSUBSYSTEM' , 'winexe' },
139
        'subsystem:console'  => { 'LDSUBSYSTEM' , 'exe' },
139
        'subsystem:console'  => { 'LDSUBSYSTEM' , 'exe' },
140
        'platform:32'        => { 'NET_PLATFORM', 'x86' },
140
        'platform:32'        => { 'NET_PLATFORM', 'x86' },
141
        'platform:64'        => { 'NET_PLATFORM', 'x64' },
141
        'platform:64'        => { 'NET_PLATFORM', 'x64' },
142
        'platform:any'       => { 'NET_PLATFORM', undef },
142
        'platform:any'       => { 'NET_PLATFORM', undef },
-
 
143
        'noversiondll'       => { 'NO_VERSIONED_DLLS', 1 },
143
    );
144
    );
144
 
145
 
145
    #
146
    #
146
    #   Set default options
147
    #   Set default options
147
    #
148
    #
148
    $::ScmCompilerOpts{'ADDLINKLIBS'} = '1';
149
    $::ScmCompilerOpts{'ADDLINKLIBS'} = '1';
149
    $::ScmCompilerOpts{'NOWARNLIST'} = $toolset_info->{'warnings'};
150
    $::ScmCompilerOpts{'NOWARNLIST'} = $toolset_info->{'warnings'};
150
    $::ScmCompilerOpts{'LDSUBSYSTEM'} = 'winexe';
151
    $::ScmCompilerOpts{'LDSUBSYSTEM'} = 'winexe';
151
    $::ScmCompilerOpts{'NET_PLATFORM'} = $toolset_info->{'platform'};
152
    $::ScmCompilerOpts{'NET_PLATFORM'} = $toolset_info->{'platform'};
-
 
153
    $::ScmCompilerOpts{'NO_VERSIONED_DLLS'} = undef;
152
}
154
}
153
 
155
 
154
 
156
 
155
#-------------------------------------------------------------------------------
157
#-------------------------------------------------------------------------------
156
# Function        : NoWarns
158
# Function        : NoWarns
Line 690... Line 692...
690
#       --Resource=file.resx
692
#       --Resource=file.resx
691
#       --Icon=file
693
#       --Icon=file
692
#       --StrongNameKey=file
694
#       --StrongNameKey=file
693
#       --Doc
695
#       --Doc
694
#       --NoPDB
696
#       --NoPDB
-
 
697
#       --NoVersionDll
695
#       CSharpSourceFile
698
#       CSharpSourceFile
696
#
699
#
697
#
700
#
698
###############################################################################
701
###############################################################################
699
sub ToolsetSHLD
702
sub ToolsetSHLD
Line 709... Line 712...
709
    our $_noaddlibs = 0;
712
    our $_noaddlibs = 0;
710
    our $_icon = undef;
713
    our $_icon = undef;
711
    our $_docFile = undef;
714
    our $_docFile = undef;
712
    our $_snk = undef;
715
    our $_snk = undef;
713
 
716
 
-
 
717
    my $noVersionedDlls = $::ScmCompilerOpts{'NO_VERSIONED_DLLS'};
-
 
718
 
714
    #.. Parse arguments
719
    #.. Parse arguments
715
    #
720
    #
716
    foreach ( @$_pArgs ) {
721
    foreach ( @$_pArgs ) {
717
        if (/^--Resource=(.+)/) {               # Resource definition
722
        if (/^--Resource=(.+)/) {               # Resource definition
718
            push @_reslist, MakeSrcResolve($1);
723
            push @_reslist, MakeSrcResolve($1);
Line 732... Line 737...
732
            $_docFile = 1;
737
            $_docFile = 1;
733
 
738
 
734
        } elsif (/^--NoPDB$/) {
739
        } elsif (/^--NoPDB$/) {
735
            $_no_pdb = 1;
740
            $_no_pdb = 1;
736
 
741
 
-
 
742
        } elsif (/^--NoVersionDll/) {
-
 
743
            $noVersionedDlls = 1;
-
 
744
            
737
        } elsif ( !/^-/ ) {
745
        } elsif ( !/^-/ ) {
738
            push @_csource, MakeSrcResolve($_);
746
            push @_csource, MakeSrcResolve($_);
739
 
747
 
740
        } else {
748
        } else {
741
            Message( "$toolset_name SHLD: unknown option $_ -- ignored\n" );
749
            Message( "$toolset_name SHLD: unknown option $_ -- ignored\n" );
Line 865... Line 873...
865
    #   Generate DLLs
873
    #   Generate DLLs
866
    #
874
    #
867
    #       a) Unversioned DLL  $_name$(GBE_TYPE).dll
875
    #       a) Unversioned DLL  $_name$(GBE_TYPE).dll
868
    #       b) Versioned DLL    $_name$(GBE_TYPE).xx.xx.xx.dll
876
    #       b) Versioned DLL    $_name$(GBE_TYPE).xx.xx.xx.dll
869
    #
877
    #
870
    my $fver   = BuildSHLD( "$_name", "$_name\$(GBE_TYPE).$_ver" );
-
 
871
    my $funver = BuildSHLD( "$_name", "$_name\$(GBE_TYPE)" );
878
    my $funver = BuildSHLD( "$_name", "$_name\$(GBE_TYPE)" );
-
 
879
    unless ($noVersionedDlls)
-
 
880
    {
-
 
881
        my $fver   = BuildSHLD( "$_name", "$_name\$(GBE_TYPE).$_ver" );
872
 
882
 
873
    #
883
        #
874
    #   Create a dependancy between the version and unversioned DLLs
884
        #   Create a dependancy between the version and unversioned DLLs
875
    #
885
        #
876
    my $me = MakeEntry::New (*MAKEFILE, $fver );
886
        my $me = MakeEntry::New (*MAKEFILE, $fver );
877
    $me->AddComment ("Link Version and Unversioned Images: $_name" );
887
        $me->AddComment ("Link Version and Unversioned Images: $_name" );
878
    $me->AddDependancy ( $funver );
888
        $me->AddDependancy ( $funver );
879
    $me->Print();
889
        $me->Print();
880
 
890
    }
881
}
891
}
882
 
892
 
883
########################################################################
893
########################################################################
884
#
894
#
885
#   Generate a linker/depend library recipe.  This is a helper function
895
#   Generate a linker/depend library recipe.  This is a helper function