@@ -114,7 +114,7 @@ auto_platforms = [
114
114
"mac-64-nopt-t" ,
115
115
#"mac-64-opt-vg",
116
116
#"mac-all-opt",
117
- "mac-ios-opt" ,
117
+ "mac-cross- ios-opt" ,
118
118
"mac-64-opt-rustbuild" ,
119
119
120
120
"linux-32-opt" ,
@@ -126,17 +126,18 @@ auto_platforms = [
126
126
"linux-64-debug-opt" ,
127
127
"linux-musl-64-opt" ,
128
128
"linux-cross-opt" ,
129
+ "linux-32cross-opt" ,
129
130
"linux-64-opt-rustbuild" ,
130
131
"linux-64-opt-mir" ,
131
132
132
133
#"linux-64-opt-vg",
133
134
#"linux-all-opt",
134
135
135
136
"linux-64-x-android-t" ,
136
- "linux-64-x -netbsd" ,
137
- "linux-64-x -freebsd" ,
138
- "linux-64-x -armsf" ,
139
- "linux-64-x -armhf" ,
137
+ "linux-64-cross -netbsd" ,
138
+ "linux-64-cross -freebsd" ,
139
+ "linux-64-cross -armsf" ,
140
+ "linux-64-cross -armhf" ,
140
141
141
142
"win-gnu-32-opt" ,
142
143
#"win-gnu-32-nopt-c",
@@ -170,6 +171,7 @@ snap_platforms = ["linux", "win-gnu-32", "win-gnu-64", "mac", "bitrig-64",
170
171
"openbsd-64-opt" ]
171
172
dist_platforms = ["linux" , "mac" , "arm-android" , "musl-linux" ,
172
173
"cross-linux" ,
174
+ "cross32-linux" ,
173
175
"cross-host-linux" ,
174
176
"mac-ios" ,
175
177
"win-gnu-32" , "win-gnu-64" ,
@@ -212,17 +214,6 @@ dist_nogate_platforms = [
212
214
"cross-win" ,
213
215
]
214
216
215
- nightly_cross_host_targets = []
216
- beta_cross_host_targets = [
217
- {'target' : 'arm-unknown-linux-gnueabi' , 'builder' : 'armsf' },
218
- {'target' : 'arm-unknown-linux-gnueabihf' , 'builder' : 'armhf' },
219
- {'target' : 'aarch64-unknown-linux-gnu' , 'builder' : None },
220
- {'target' : 'armv7-unknown-linux-gnueabihf' , 'builder' : None },
221
- {'target' : 'x86_64-unknown-freebsd' , 'builder' : 'freebsd' },
222
- {'target' : 'x86_64-unknown-netbsd' , 'builder' : 'netbsd' },
223
- ]
224
- stable_cross_host_targets = []
225
-
226
217
cargo_cross_targets = [
227
218
'arm-unknown-linux-gnueabi' ,
228
219
'arm-unknown-linux-gnueabihf' ,
@@ -232,47 +223,48 @@ cargo_cross_targets = [
232
223
'x86_64-unknown-netbsd' ,
233
224
]
234
225
235
- nightly_lincross_targets = [
236
- #'i586-unknown-linux-gnu',
237
- ]
238
- beta_lincross_targets = [
239
- 'mips-unknown-linux-musl' ,
240
- 'mipsel-unknown-linux-musl' ,
241
- ]
242
- stable_lincross_targets = [
243
- 'armv7-unknown-linux-gnueabihf' ,
244
- 'powerpc-unknown-linux-gnu' ,
245
- 'powerpc64-unknown-linux-gnu' ,
246
- 'powerpc64le-unknown-linux-gnu' ,
247
- 'x86_64-rumprun-netbsd' ,
248
- 'arm-unknown-linux-gnueabi' ,
249
- 'arm-unknown-linux-gnueabihf' ,
250
- 'mips-unknown-linux-gnu' ,
251
- 'mipsel-unknown-linux-gnu' ,
252
- 'aarch64-unknown-linux-gnu' ,
253
- ]
254
- nightly_wincross_targets = [
226
+ ios = {'auto' : 'cross-ios-opt' , 'dist' : 'cross-ios-opt' }
227
+ lincross = {'auto' : 'linux-cross' , 'dist' : 'cross-linux' }
228
+ lincross32 = {'auto' : 'linux-32cross' , 'dist' : 'cross32-linux' }
229
+ msvc32 = {'auto' : 'msvc-32-cross' , 'dist' : 'win-msvc-32-cross' }
230
+
231
+ def xhost (name ):
232
+ return {'auto' : 'linux-64-cross-' + name , 'dist' : 'cross-host-linux' }
233
+
234
+ stable_cross_targets = [
235
+ {'t' : 'aarch64-apple-ios' , 'b' : ios },
236
+ {'t' : 'aarch64-unknown-linux-gnu' , 'b' : lincross },
237
+ {'t' : 'arm-unknown-linux-gnueabi' , 'b' : lincross },
238
+ {'t' : 'arm-unknown-linux-gnueabihf' , 'b' : lincross },
239
+ {'t' : 'armv7-apple-ios' , 'b' : ios },
240
+ {'t' : 'armv7-unknown-linux-gnueabihf' , 'b' : lincross },
241
+ {'t' : 'armv7s-apple-ios' , 'b' : ios },
242
+ {'t' : 'i386-apple-ios' , 'b' : ios },
243
+ {'t' : 'mips-unknown-linux-gnu' , 'b' : lincross },
244
+ {'t' : 'mipsel-unknown-linux-gnu' , 'b' : lincross },
245
+ {'t' : 'powerpc-unknown-linux-gnu' , 'b' : lincross },
246
+ {'t' : 'powerpc64-unknown-linux-gnu' , 'b' : lincross },
247
+ {'t' : 'powerpc64le-unknown-linux-gnu' , 'b' : lincross },
248
+ {'t' : 'x86_64-apple-ios' , 'b' : ios },
249
+ {'t' : 'x86_64-rumprun-netbsd' , 'b' : lincross },
255
250
]
256
- beta_wincross_targets = [
257
- 'i586-pc-windows-msvc' ,
251
+ beta_cross_targets = stable_cross_targets + [
252
+ {'t' : 'aarch64-unknown-linux-gnu' , 'b' : xhost ('NOAUTO' ), 'host' : True },
253
+ {'t' : 'arm-unknown-linux-gnueabi' , 'b' : xhost ('armsf' ), 'host' : True },
254
+ {'t' : 'arm-unknown-linux-gnueabihf' , 'b' : xhost ('armhf' ), 'host' : True },
255
+ {'t' : 'armv7-unknown-linux-gnueabihf' , 'b' : xhost ('NOAUTO' ), 'host' : True },
256
+ {'t' : 'i586-pc-windows-msvc' , 'b' : msvc32 },
257
+ {'t' : 'i686-unknown-freebsd' , 'b' : xhost ('NOAUTO' ), 'host' : True },
258
+ {'t' : 'mips-unknown-linux-musl' , 'b' : lincross },
259
+ {'t' : 'mipsel-unknown-linux-musl' , 'b' : lincross },
260
+ {'t' : 'x86_64-unknown-freebsd' , 'b' : xhost ('freebsd' ), 'host' : True },
261
+ {'t' : 'x86_64-unknown-netbsd' , 'b' : xhost ('netbsd' ), 'host' : True },
258
262
]
259
- stable_wincross_targets = []
260
-
261
- ios_targets = [
262
- 'aarch64-apple-ios' ,
263
- 'armv7-apple-ios' ,
264
- 'armv7s-apple-ios' ,
265
- 'i386-apple-ios' ,
266
- 'x86_64-apple-ios' ,
263
+ nightly_cross_targets = beta_cross_targets + [
264
+ {'t' : 'i586-unknown-linux-gnu' , 'b' : lincross32 },
265
+ {'t' : 'i686-unknown-linux-musl' , 'b' : lincross32 },
267
266
]
268
267
269
- all_lincross_targets = nightly_lincross_targets + beta_lincross_targets + \
270
- stable_lincross_targets
271
- all_wincross_targets = nightly_wincross_targets + beta_wincross_targets + \
272
- stable_wincross_targets
273
- all_cross_host_targets = nightly_cross_host_targets + beta_cross_host_targets + \
274
- stable_cross_host_targets
275
-
276
268
####### BUILDSLAVES
277
269
278
270
# Configuration of --host and --target triples based on the above platform names
@@ -1270,7 +1262,7 @@ def distsnap_buildfactory(platform, channel_label):
1270
1262
command .append ("check-stage2-T-x86_64-unknown-linux-musl-" + \
1271
1263
"H-x86_64-unknown-linux-gnu" )
1272
1264
command .append ('dist' )
1273
- elif 'cross' in platform or 'ios' in platform :
1265
+ elif 'cross' in platform :
1274
1266
command .append ('dist' )
1275
1267
else :
1276
1268
command .append ('distcheck' )
@@ -1520,17 +1512,14 @@ def packaging_dist_buildfactory(platform, channel_label):
1520
1512
hosts = all_platform_hosts (platform )
1521
1513
if platform == 'linux' :
1522
1514
if channel_label == 'stable' :
1523
- hosts += [ h [ 'target' ] for h in stable_cross_host_targets ]
1515
+ extra_hosts = stable_cross_targets
1524
1516
elif channel_label == 'beta' :
1525
- hosts += [h ['target' ] for h in stable_cross_host_targets ]
1526
- hosts += [h ['target' ] for h in beta_cross_host_targets ]
1517
+ extra_hosts = beta_cross_targets
1527
1518
else :
1528
- hosts += [h ['target' ] for h in stable_cross_host_targets ]
1529
- hosts += [h ['target' ] for h in beta_cross_host_targets ]
1530
- hosts += [h ['target' ] for h in nightly_cross_host_targets ]
1519
+ extra_hosts = nightly_cross_targets
1520
+ hosts += [t ['t' ] for t in extra_hosts if 'host' in t ]
1531
1521
1532
1522
for target in hosts :
1533
-
1534
1523
f .addStep (Compile (env = CommandEnv (),
1535
1524
name = "fetch inputs" ,
1536
1525
description = "fetch input" ,
@@ -1607,12 +1596,12 @@ def platform_slaves(p):
1607
1596
if "-x-android" in p :
1608
1597
return [p ]
1609
1598
1610
- if "musl" in p :
1599
+ if "musl" in p or "32cross" in p or "cross32" in p :
1611
1600
p = "linux"
1612
- elif "linux-cross" in p or "linux-64-x-" in p :
1613
- p = "lincross"
1614
1601
elif "ios" in p :
1615
1602
return [slave .slavename for slave in ios_slaves ]
1603
+ elif "linux" in p and "cross" in p :
1604
+ p = "lincross"
1616
1605
else :
1617
1606
p = p .split ("-" )[0 ]
1618
1607
return [slave .slavename
@@ -1628,7 +1617,7 @@ def platform_snap_slaves(p):
1628
1617
# FIXME: The linux AMI instances are using valgrind 3.7 and we need 3.8+
1629
1618
# This rule limits which bots we run the valgrinding dist snapshot on.
1630
1619
def platform_dist_slaves (p ):
1631
- if 'musl' in p or 'cross-linux ' in p or 'ios' in p :
1620
+ if 'musl' in p or 'cross' in p or 'ios' in p :
1632
1621
return platform_slaves (p )
1633
1622
1634
1623
# p is exactly the platform name, ie arm-android
@@ -1696,15 +1685,9 @@ for p in auto_platforms:
1696
1685
chk = "check-stage2-T-x86_64-unknown-linux-musl-H-x86_64-unknown-linux-gnu"
1697
1686
musl = "/musl-x86_64"
1698
1687
targets .append ('x86_64-unknown-linux-musl' )
1699
- if "linux-cross" in p :
1700
- chk = False
1701
- targets += all_lincross_targets
1702
- if "win-msvc-32-cross" in p :
1688
+ if "cross" in p :
1703
1689
chk = False
1704
- targets += all_wincross_targets
1705
- if "ios" in p :
1706
- chk = False
1707
- targets += ios_targets
1690
+ musl = "/musl-i686"
1708
1691
if not opt_compiler :
1709
1692
chk = False
1710
1693
if "rustbuild" in p :
@@ -1715,6 +1698,14 @@ for p in auto_platforms:
1715
1698
chk = "check-cargotest"
1716
1699
rustbuild = True
1717
1700
1701
+ for t in nightly_cross_targets :
1702
+ if t ['b' ]['auto' ] in p :
1703
+ if 'host' in t :
1704
+ hosts .append (t ['t' ])
1705
+ rustbuild = True
1706
+ else :
1707
+ targets .append (t ['t' ])
1708
+
1718
1709
android = False
1719
1710
if "-x-android" in p :
1720
1711
targets .append ('arm-linux-androideabi' )
@@ -1725,13 +1716,6 @@ for p in auto_platforms:
1725
1716
# Only test android, not the host
1726
1717
chk = "check-stage2-T-arm-linux-androideabi-H-x86_64-unknown-linux-gnu"
1727
1718
1728
- elif "linux-64-x-" in p :
1729
- chk = False
1730
- for target in all_cross_host_targets :
1731
- if target ['builder' ] and target ['builder' ] in p :
1732
- hosts .append (target ['target' ])
1733
- rustbuild = True
1734
-
1735
1719
c ['builders' ].append (BuilderConfig (
1736
1720
mergeRequests = True ,
1737
1721
name = "auto-" + p ,
@@ -1780,69 +1764,51 @@ for p in dist_platforms:
1780
1764
if "android" in p :
1781
1765
android = True
1782
1766
# Not checking android for now
1783
- hosts = ""
1767
+ hosts = []
1784
1768
targets .append ('arm-linux-androideabi' )
1785
1769
elif "musl" in p :
1786
1770
musl = "/musl-x86_64"
1787
- hosts = ""
1771
+ hosts = []
1788
1772
targets .append ('x86_64-unknown-linux-musl' )
1789
- elif "cross-linux" in p :
1790
- hosts = ""
1791
- if "ios" in p :
1792
- hosts = ""
1793
- targets += ios_targets
1773
+ elif "cross32-linux" in p :
1774
+ musl = "/musl-i686"
1775
+ if "ios" in p or "cross" in p :
1776
+ hosts = []
1794
1777
1795
1778
for channel in ['nightly' , 'beta' , 'stable' ]:
1796
1779
my_targets = targets [:]
1797
1780
my_hosts = hosts
1798
1781
rustbuild = None
1799
1782
1800
- my_lincross_targets = []
1801
- my_wincross_targets = []
1802
- my_cross_host_targets = []
1803
1783
if channel == 'stable' :
1804
- my_lincross_targets += stable_lincross_targets
1805
- my_wincross_targets += stable_wincross_targets
1806
- my_cross_host_targets += [h ['target' ] for h in stable_cross_host_targets ]
1784
+ my_cross_targets = stable_cross_targets
1807
1785
elif channel == 'beta' :
1808
- my_lincross_targets += stable_lincross_targets
1809
- my_lincross_targets += beta_lincross_targets
1810
- my_wincross_targets += stable_wincross_targets
1811
- my_wincross_targets += beta_wincross_targets
1812
- my_cross_host_targets += [h ['target' ] for h in stable_cross_host_targets ]
1813
- my_cross_host_targets += [h ['target' ] for h in beta_cross_host_targets ]
1786
+ my_cross_targets = beta_cross_targets
1814
1787
elif channel == 'nightly' :
1815
- my_lincross_targets += stable_lincross_targets
1816
- my_lincross_targets += beta_lincross_targets
1817
- my_lincross_targets += nightly_lincross_targets
1818
- my_wincross_targets += stable_wincross_targets
1819
- my_wincross_targets += beta_wincross_targets
1820
- my_wincross_targets += nightly_wincross_targets
1821
- my_cross_host_targets += [h ['target' ] for h in stable_cross_host_targets ]
1822
- my_cross_host_targets += [h ['target' ] for h in beta_cross_host_targets ]
1823
- my_cross_host_targets += [h ['target' ] for h in nightly_cross_host_targets ]
1824
-
1825
- # The `cross-linux` builder below is intended for just producing
1826
- # standard libraries, whereas the `cross-host-linux` is producing entire
1788
+ my_cross_targets = nightly_cross_targets
1789
+
1790
+ for t in my_cross_targets :
1791
+ if not t ['b' ]['dist' ] in p :
1792
+ continue
1793
+ if 'host' in p :
1794
+ rustbuild = True
1795
+ my_hosts .append (t ['t' ])
1796
+ else :
1797
+ my_targets .append (t ['t' ])
1798
+
1799
+ # The `cross-linux` builder is intended for just producing standard
1800
+ # libraries, whereas the `cross-host-linux` is producing entire
1827
1801
# compilers. Ideally these would use the same bot but unfortunately they
1828
1802
# use different build systems, so they need to be separate for now.
1829
1803
#
1830
- # In any case, if we're producing an entire compiler for a target, or
1831
- # rather something in `my_cross_host_targets`, then we don't want to
1832
- # *also* produce a standard library for that target on another bot as
1833
- # it'll cause upload failures later. Consequently we just filter our the
1834
- # list of `my_lincross_targets` to exclude everything we're building a
1835
- # compiler for.
1836
- my_lincross_targets = [t for t in my_lincross_targets \
1837
- if t not in my_cross_host_targets ]
1838
-
1839
- if "cross-linux" in p :
1840
- my_targets += my_lincross_targets
1841
- if "win-msvc-32-cross" in p :
1842
- my_targets += my_wincross_targets
1843
- if "cross-host-linux" in p :
1844
- rustbuild = True
1845
- my_hosts = my_cross_host_targets
1804
+ # In any case, if we're producing an entire compiler for a target then
1805
+ # we don't want to *also* produce a standard library for that target on
1806
+ # another bot as it'll cause upload failures later. Consequently we just
1807
+ # filter our the list of `my_targets` to exclude everything we're
1808
+ # building a compiler for.
1809
+ for t in my_cross_targets :
1810
+ if 'host' in t and t ['t' ] in my_targets :
1811
+ my_targets .remove (t ['t' ])
1846
1812
1847
1813
branch = 'master' if channel == 'nightly' else channel
1848
1814
c ['builders' ].append (BuilderConfig (
0 commit comments