aboutsummaryrefslogtreecommitdiff
path: root/config/linaro.exp
blob: 42363819c88e15829b54776b7517bcfe416f7824 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# The master configuration file should be here

set sysroot /opt/linaro/sysroot-linaro_eglibc-2_18-aarch64-linux-gnu
set besysroot /opt/linaro/sysroot-linaro_eglibc-2_18-aarch64_be-linux-gnu

set newlib sysroot-newlib.git~linaro_newlib-branch-aarch64-none-elf/
set benewlib sysroot-newlib.git~linaro_newlib-branch-aarch64_be-none-elf/

global env
if {[info exists env(PREFIX_UNDER_TEST)]} {
    set prefix "$env(PREFIX_UNDER_TEST)"
    set flags ""
    if {[info exists env(FLAGS_UNDER_TEST)]} {
	set flags "$env(FLAGS_UNDER_TEST)"
    }
    if {[info exists env(SYSROOT_UNDER_TEST)]} {
	set sysroot "$env(SYSROOT_UNDER_TEST)"
	set flags "${flags} --sysroot=$env(SYSROOT_UNDER_TEST)"
    }

    set GCC_UNDER_TEST "[set prefix]gcc $flags"
    set GXX_UNDER_TEST "[set prefix]g++ $flags"
    set GFORTRAN_UNDER_TEST "[set prefix]gfortran $flags"
    set OBJC_UNDER_TEST "[set prefix]gcc $flags"
    set GOC_UNDER_TEST "[set prefix]goc $flags"
    set GNAT_UNDER_TEST "[set prefix]gnat $flags"
}

if {[info exists env(SYSROOT_UNDER_TEST)]} {
    set native ""
} else {
    set native "native"
}

set myname [get_local_hostname]

proc linaro_lab { kind } {
    global tcl_platform myname board_info target_triplet

    case "$tcl_platform(user)" in {
	{ *buildslave } {
	    set user "infra"
	}
	default {
	    set user "dev"
	}
    }

    case "$myname" in {
	{ ex40-* } {
	    set lab "hetzner"
	}
	default {
	    set lab "tcwglab"
	}
    }

    if { "$kind" == "qemu" } {
	global SIM sysroot
	set board_info(arm-sim,sim,options) "-cpu any -R 0 -L $sysroot"
	set qemu_arch "[lindex [split $target_triplet -] 0]"
	case "$qemu_arch" in {
	    { armv[78]l } {
		set qemu_arch "arm"
	    }
	}
	set SIM "setarch x86_64 -R qemu-$qemu_arch"
	return "arm-sim"
    }

    return "$user-$lab-$kind"
}

case "$target_triplet" in { 
    { "arm-*linux-gnueabi*" "armv[78]l-*linux-gnueabi*" } {
	case "$native$myname" in {
	    { tcwgrob* ripple* darkstar* } {
#		set target_list { tcwgchromebook }
#		set target_list { tcwgd01 }
#		set target_list { chrome1-01 }
#		set target_list { "arm-qemu" } 
		set target_list { dragon-01 }
	    }
	    { native* } {
		set target_list { unix }
	    }
	    default {
		if { [info exists env(SCHROOT_TEST)]
		     && $env(SCHROOT_TEST) == "yes" } {
		    set target_list [linaro_lab armv8]
		} else {
		    global SIM
		    # CPU and sysroot are set through the environment
		    set SIM "qemu-arm"
		    set target_list { "arm-qemu" }
		}
            }
	}
    }
    { "arm-*-eabi*" } {
	global SIM
	# CPU and sysroot are set through the environment
	set SIM "qemu-arm"
	set target_list { "arm-qemu" } 
    }
    { "armeb-*-eabi*" } {
	global SIM
	# CPU and sysroot are set through the environment
	set SIM "qemu-armeb"
	set target_list { "arm-qemu" } 
    }
    { "aarch64*-*elf*" } {
	set target_list { "v8model" } 
	set env(FOUNDATION_MODEL) "/linaro/Foundation_Platformpkg/models/Linux64_GCC-4.7/Foundation_Platform"
    }
    { "aarch64-*linux*" } {
	case "$native$myname" in {
	    { native* } {
		set target_list { unix }
	    }
	    default {
		if { [info exists env(SCHROOT_TEST)]
		     && $env(SCHROOT_TEST) == "yes" } {
		    set target_list [linaro_lab armv8]
		} else {
		    set SIM "qemu-aarch64"
		    set target_list { aarch64-qemu }
		}
            }
	}
    }
    { "x86_64-*linux-gnu" "i686-*linux-gnu" } {
	case "$native$myname" in {
	    { native* } {
		set target_list { unix }
	    }
	    default {
		if { [info exists env(SCHROOT_TEST)]
		     && $env(SCHROOT_TEST) == "yes" } {
		    set target_list [linaro_lab x86_64]
		} else {
		    set target_list { unix }
		}
	    }
	}
    }
    { "*linux-gnu*" } {
	if { [info exists env(SCHROOT_TEST)] && $env(SCHROOT_TEST) == "yes" } {
	    set target_list [linaro_lab qemu]
	} else {
	    global SIM
	    set target_list { "arm-sim" }
	    set board_info(arm-sim,sim,options) "-cpu any -R 0 -L $sysroot"
	    set SIM "setarch x86_64 -R qemu-[lindex [split $target_triplet -] 0]"
	}
    }
    default {
	puts "No target hardware for $target_triplet"
    }
}