Subversion Repositories DevTools

Rev

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

Rev 261 Rev 289
Line 646... Line 646...
646
    PackageProgAddFiles ( $name, "$root.pdb", "Class=debug" ) unless ( $no_pdb );
646
    PackageProgAddFiles ( $name, "$root.pdb", "Class=debug" ) unless ( $no_pdb );
647
    PackageProgAddFiles ( $name, $docFile, "Class=map" ) if ( $docFile );
647
    PackageProgAddFiles ( $name, $docFile, "Class=map" ) if ( $docFile );
648
}
648
}
649
 
649
 
650
###############################################################################
650
###############################################################################
651
#   ToolsetSHLD( $name, \@args, \@objs, \@libraries )
651
#   ToolsetSHLD( $name, \@args, \@objs, \@libraries, $ver )
652
#       This subroutine takes the user options and builds the rules
652
#       This subroutine takes the user options and builds the rules
653
#       required to link the program 'name'.
653
#       required to link the program 'name'.
654
#
654
#
655
#   Arguments:
655
#   Arguments:
656
#       $name       - Name of the target program
656
#       $name       - Name of the target program
657
#       $pArgs      - Ref to an array of argumennts
657
#       $pArgs      - Ref to an array of argumennts
658
#       $pObjs      - Ref to an array of object files
658
#       $pObjs      - Ref to an array of object files
659
#       $pLibs      - Ref to an array of libraries
659
#       $pLibs      - Ref to an array of libraries
-
 
660
#       $ver        - Library Version string
660
#
661
#
661
#   Output:
662
#   Output:
662
#       Makefile recipes to create the DLL
663
#       Makefile recipes to create the DLL
663
#       Will create both versioned and unversioned DLLs
664
#       Will create both versioned and unversioned DLLs
664
#
665
#
Line 684... Line 685...
684
    #
685
    #
685
    #   Note: Use globals to kill warnings from internal sub
686
    #   Note: Use globals to kill warnings from internal sub
686
    #         Use _ prefix so that they don't get saved in Makefile_x.cfg
687
    #         Use _ prefix so that they don't get saved in Makefile_x.cfg
687
    #         Init as they are global
688
    #         Init as they are global
688
    #
689
    #
689
    our ( $_name, $_pArgs, $_pObjs, $_pLibs ) = @_;
690
    our ( $_name, $_pArgs, $_pObjs, $_pLibs, $_ver ) = @_;
690
    our ( @_reslist, @_resources, @_csource, @_dtd ) = ();
691
    our ( @_reslist, @_resources, @_csource, @_dtd ) = ();
691
    our $_no_pdb = $pdb_none;
692
    our $_no_pdb = $pdb_none;
692
    our $_noaddlibs = 0;
693
    our $_noaddlibs = 0;
693
    our $_icon = undef;
694
    our $_icon = undef;
694
    our $_docFile = undef;
695
    our $_docFile = undef;
Line 847... Line 848...
847
    #   Generate DLLs
848
    #   Generate DLLs
848
    #
849
    #
849
    #       a) Unversioned DLL  $_name$(GBE_TYPE).dll
850
    #       a) Unversioned DLL  $_name$(GBE_TYPE).dll
850
    #       b) Versioned DLL    $_name$(GBE_TYPE).xx.xx.xx.dll
851
    #       b) Versioned DLL    $_name$(GBE_TYPE).xx.xx.xx.dll
851
    #
852
    #
852
    my $fver   = BuildSHLD( "$_name", "$_name\$(GBE_TYPE).$::SHLIB_VER{ $_name }" );
853
    my $fver   = BuildSHLD( "$_name", "$_name\$(GBE_TYPE).$_ver" );
853
    my $funver = BuildSHLD( "$_name", "$_name\$(GBE_TYPE)" );
854
    my $funver = BuildSHLD( "$_name", "$_name\$(GBE_TYPE)" );
854
 
855
 
855
    #
856
    #
856
    #   Create a dependancy between the version and unversioned DLLs
857
    #   Create a dependancy between the version and unversioned DLLs
857
    #
858
    #
Line 1068... Line 1069...
1068
    #   Locate the test DLL.
1069
    #   Locate the test DLL.
1069
    #   This will be created locally within this makefile
1070
    #   This will be created locally within this makefile
1070
    #   It will be a known shared library
1071
    #   It will be a known shared library
1071
    #
1072
    #
1072
    Errror( "TestDLL does not appear to be locally created: $test_dll_name" )
1073
    Errror( "TestDLL does not appear to be locally created: $test_dll_name" )
1073
        unless ( $::SHLIB_VER{$test_dll_name} );
1074
        unless ( $::SHLIBS->Get($test_dll_name) );
1074
 
1075
 
1075
    #
1076
    #
1076
    #   Hard bit. Determine the name/path of the DLL under test
1077
    #   Hard bit. Determine the name/path of the DLL under test
1077
    #   It will have been created within this makefile
1078
    #   It will have been created within this makefile
1078
    #   This is not a physical file.
1079
    #   This is not a physical file.