Subversion Repositories DevTools

Rev

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

Rev 5736 Rev 5744
Line 19... Line 19...
19
 
19
 
20
#   Misc variables
20
#   Misc variables
21
my $UseGcov = 0;
21
my $UseGcov = 0;
22
my $LcovExplicitBranch = '';
22
my $LcovExplicitBranch = '';
23
my $UseCppcheck = 0;
23
my $UseCppcheck = 0;
-
 
24
my $GCCRPath;
24
 
25
 
25
##############################################################################
26
##############################################################################
26
#   Configuration information
27
#   Configuration information
27
#   Cross reference from CrossCompiler Alias to actual paths
28
#   Cross reference from CrossCompiler Alias to actual paths
28
#   Structure:
29
#   Structure:
Line 32... Line 33...
32
#          BASE             => Base for binaries
33
#          BASE             => Base for binaries
33
#       Optional
34
#       Optional
34
#          CC_OPTS          => Additonal Compiler options
35
#          CC_OPTS          => Additonal Compiler options
35
#          CC_OPTSP         => Production Compiler options
36
#          CC_OPTSP         => Production Compiler options
36
#          CC_OPTSD         => Debug Compiler options
37
#          CC_OPTSD         => Debug Compiler options
-
 
38
#          CXX_OPTS         => Additional C++ Options
37
#          UNCONTROLLED     => Boolean to create warning
39
#          UNCONTROLLED     => Boolean to create warning
38
#          PACKAGE_ARCH     => Packageing architecture
40
#          PACKAGE_ARCH     => Packageing architecture
39
#          VERSION          => Version reported by GCC
41
#          VERSION          => Version reported by GCC
40
#          MACHINE          => Machine reported by GCC
42
#          MACHINE          => Machine reported by GCC
-
 
43
#          RPATH            => Relative Path to compiler runtime
41
#          COMPILER_OPTIONS => Toolset specific compiler initial options
44
#          COMPILER_OPTIONS => Toolset specific compiler initial options
42
#                              This is a comma seperated list
45
#                              This is a comma seperated list
43
my %ToolsetConfig = (
46
my %ToolsetConfig = (
44
 
47
 
45
    'i386-unknown-linux-gnu'    => {
48
    'i386-unknown-linux-gnu'    => {
Line 100... Line 103...
100
       ROOT         => '/opt/crosstool/gcc-5.2.0-glibc-2.17/i686-vix_ubuntu12_c11-linux-gnu',
103
       ROOT         => '/opt/crosstool/gcc-5.2.0-glibc-2.17/i686-vix_ubuntu12_c11-linux-gnu',
101
       BASE         => 'bin/i686-vix_ubuntu12_c11-linux-gnu-',
104
       BASE         => 'bin/i686-vix_ubuntu12_c11-linux-gnu-',
102
       PACKAGE_ARCH => 'i386',
105
       PACKAGE_ARCH => 'i386',
103
       CXX_OPTS     => '-std=gnu++11',
106
       CXX_OPTS     => '-std=gnu++11',
104
       VERSION      => '5.2.0',
107
       VERSION      => '5.2.0',
105
       MACHINE      => 'i686-vix_ubuntu12_c11-linux-gnu'
108
       MACHINE      => 'i686-vix_ubuntu12_c11-linux-gnu',
-
 
109
       RPATH        => 'i686-vix_ubuntu12_c11-linux-gnu/sysroot/lib',
106
    },
110
    },
107
 
111
 
108
    'arm-iwmmxt-linux-gnueabi'  => {
112
    'arm-iwmmxt-linux-gnueabi'  => {
109
       ROOT         => '/opt/marvel',
113
       ROOT         => '/opt/marvel',
110
       BASE         => 'bin/arm-iwmmxt-linux-gnueabi-',
114
       BASE         => 'bin/arm-iwmmxt-linux-gnueabi-',
Line 311... Line 315...
311
    $ToolsetConfig{$arg_alias}{CC_OPTSD} = $data{CFLAGSD};
315
    $ToolsetConfig{$arg_alias}{CC_OPTSD} = $data{CFLAGSD};
312
    $ToolsetConfig{$arg_alias}{CXX_OPTS} = $data{CXXFLAGS};
316
    $ToolsetConfig{$arg_alias}{CXX_OPTS} = $data{CXXFLAGS};
313
    $ToolsetConfig{$arg_alias}{VERSION} = $data{VERSION};
317
    $ToolsetConfig{$arg_alias}{VERSION} = $data{VERSION};
314
    $ToolsetConfig{$arg_alias}{MACHINE} = $data{MACHINE};
318
    $ToolsetConfig{$arg_alias}{MACHINE} = $data{MACHINE};
315
    $ToolsetConfig{$arg_alias}{COMPILER_OPTIONS} = $data{COMPILER_OPTIONS};
319
    $ToolsetConfig{$arg_alias}{COMPILER_OPTIONS} = $data{COMPILER_OPTIONS};
-
 
320
    $ToolsetConfig{$arg_alias}{RAPTH} = $data{RPATH};
316
}
321
}
317
 
322
 
318
#.. Cross compile support
323
#.. Cross compile support
319
#
324
#
320
#   Toolchain=root,[bin]
325
#   Toolchain=root,[bin]
Line 375... Line 380...
375
        $GCCRoot = $GCCToolchain->{ROOT};
380
        $GCCRoot = $GCCToolchain->{ROOT};
376
        $GCCBin = '${GCC_ROOT}/' . $GCCToolchain->{BASE} . 'gcc';
381
        $GCCBin = '${GCC_ROOT}/' . $GCCToolchain->{BASE} . 'gcc';
377
        $GCCAr =  '${GCC_ROOT}/' . $GCCToolchain->{BASE} . 'ar';
382
        $GCCAr =  '${GCC_ROOT}/' . $GCCToolchain->{BASE} . 'ar';
378
        $GCCGcovTool = '${GCC_ROOT}/' . $GCCToolchain->{BASE} . 'gcov';
383
        $GCCGcovTool = '${GCC_ROOT}/' . $GCCToolchain->{BASE} . 'gcov';
379
        $GCCObjCopy =  '${GCC_ROOT}/' . $GCCToolchain->{BASE} . 'objcopy';
384
        $GCCObjCopy =  '${GCC_ROOT}/' . $GCCToolchain->{BASE} . 'objcopy';
-
 
385
        $GCCRPath = '${GCC_ROOT}/' . $GCCToolchain->{RPATH} if exists $GCCToolchain->{RPATH} ;
380
        $GCCFlags = $GCCToolchain->{CC_OPTS};
386
        $GCCFlags = $GCCToolchain->{CC_OPTS};
381
        $GCCFlagsP = $GCCToolchain->{CC_OPTSP};
387
        $GCCFlagsP = $GCCToolchain->{CC_OPTSP};
382
        $GCCFlagsD = $GCCToolchain->{CC_OPTSD};
388
        $GCCFlagsD = $GCCToolchain->{CC_OPTSD};
383
        $GCCXXFlags = $GCCToolchain->{CXX_OPTS};
389
        $GCCXXFlags = $GCCToolchain->{CXX_OPTS};
384
        $PkgArch = $GCCToolchain->{PACKAGE_ARCH};
390
        $PkgArch = $GCCToolchain->{PACKAGE_ARCH};
Line 978... Line 984...
978
                                                # library list
984
                                                # library list
979
    $io->Cmd( "-Wl,--start-group" ) if ($multi_scan);
985
    $io->Cmd( "-Wl,--start-group" ) if ($multi_scan);
980
    $io->LibList( $name, $pLibs, \&ToolsetLibRecipe );
986
    $io->LibList( $name, $pLibs, \&ToolsetLibRecipe );
981
    $io->Cmd( "-Wl,--end-group" ) if ($multi_scan);
987
    $io->Cmd( "-Wl,--end-group" ) if ($multi_scan);
982
 
988
 
-
 
989
    #   Add Compilers sysroot library path
-
 
990
    #   Only required for a 'native' compiler that is not fully installed on the host
-
 
991
    #   ie: The run-time can't locate the required glic components
-
 
992
    $io->Cmd( "-Wl,-rpath=$GCCRPath" ) if ($GCCRPath);
-
 
993
 
983
    $io->Newline();
994
    $io->Newline();
984
 
995
 
985
    #.. Dependency link,
996
    #.. Dependency link,
986
    #   Create a library dependency file
997
    #   Create a library dependency file
987
    #       Create command file to build applicaton dependency list
998
    #       Create command file to build applicaton dependency list