| 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
|