Subversion Repositories DevTools

Rev

Rev 5619 | Blame | Compare with Previous | Last modification | View Log | RSS feed

###############################################################################
# COPYRIGHT - VIX IP PTY LTD ("VIX"). ALL RIGHTS RESERVED.
#
# File:         PLATFORM/SK20
#
# Contents:     SK20 support
#
###############################################################################
#

SK20Init();

sub SK20Init
{

#   Toolset and generic platforms
#   Support multiple versions of the compiler
#
    my @FilteredPlatformArgs = ();
    my $crossAliasVersion;
    my $crossAlias, $crossHostCpu;
    foreach $_ ( @::ScmPlatformArgs ) {
        if ( m~--Version=(.*)~ ) {
            $crossAliasVersion = $1;
        } else {
            push @FilteredPlatformArgs;
        }
    }
    @::ScmPlatformArgs = @FilteredPlatformArgs;
    unless ($crossAliasVersion) {
        Warning ("SK20: No SDK version specified. Using oldest version.");
        $crossAliasVersion = '1.0.0';
    }

    #   Convert version number into a compiler name
    #
    my %vlookup = (
                   '4.1.1.0'    => { ALIAS=>'arm-unknown-linux-gnueabi-sk20-4.1.1.0', HOST_CPU=>'armunknown'},
                   '1.0.0'      => { ALIAS=>'arm-iwmmxt-linux-gnueabi'              , HOST_CPU=>'armiwmmxt'},
    );
    $crossAlias = $vlookup{$crossAliasVersion}{ALIAS};
    $crossHostCpu = $vlookup{$crossAliasVersion}{HOST_CPU};
    Error ("SK20: Unknown SDK Version: $crossAliasVersion") unless defined $crossAlias;

#   Unix platform definitions
#
    $HOST_KERNEL    = "LINUX";
    $HOST_CPU       = $crossHostCpu;
    $HOST_PROD      = ""                if ( $HOST_PROD eq "" );
    $HOST_FAM       = "LINUX_ARM"       if ( $HOST_FAM eq "" );


    Toolset( '*', 'gcc.pl', '--Target=SK20 gnueabi ' . $crossAliasVersion , '--CrossAlias=' . $crossAlias );
    PlatformRequire( "unix" );
}