]>
Commit | Line | Data |
---|---|---|
4dbc6aad SL |
1 | For now, the shared libraries of Rust are private. |
2 | The rational is the following: | |
3 | * Upstream prefers static linking for now | |
4 | - https://github.com/rust-lang/rust/issues/10209 | |
5 | * rust is still under heavy development. As far as we know, there is | |
6 | no commitement from upstream to provide a stable ABI for now. | |
7 | Until we know more, we cannot take the chance to have Rust-built packages | |
8 | failing at each release of the compiler. | |
9 | * Static builds are working out of the box just fine | |
10 | * However, LD_LIBRARY_PATH has to be updated when -C prefer-dynamic is used | |
11 | ||
33384267 SL |
12 | -- Sylvestre Ledru <sylvestre@debian.org>, Fri, 13 Feb 2015 15:08:43 +0100 |
13 | ||
14 | Bootstrapping from nothing | |
15 | -------------------------- | |
16 | ||
36120449 SL |
17 | WARNING: This does not work for now as rust cannot bootstrap itself |
18 | ||
19 | ||
33384267 SL |
20 | You need a "stage0" rust compiler from somewhere. You can download a |
21 | pre-built minimal stage0 from http://www.rust-lang.org/ at build time, | |
22 | or use a rustc that was already in /usr/bin via whatever black magic | |
23 | (or some other path if you modify debian/rules). | |
24 | ||
120b4d47 | 25 | apt-get source --compile --build-profiles=dlstage0,nodoc rustc |
33384267 SL |
26 | |
27 | "dlstage0" downloads a stage0 from rust-lang.org during the build. | |
120b4d47 | 28 | "nodoc" disables building rust-doc package and skips the long list of |
33384267 SL |
29 | build-deps usually required. |
30 | ||
31 | dpkg -i rustc*.deb | |
32 | apt-get source --compile rustc | |
33 | ||
34 | This produces the full rust compiler built using your now obsolete | |
35 | "dlstage0" rustc compiler. | |
36 | ||
37 | Bootstrapping a new architecture | |
38 | -------------------------------- | |
39 | ||
40 | 0. Start with rust installed on an existing platform | |
41 | ||
42 | 1. Build a rust cross-compiler targeting new architecture | |
43 | ||
120b4d47 | 44 | sudo apt-get build-dep --build-profile=nodoc rustc |
33384267 SL |
45 | dpkg-buildpackage -t $new_arch |
46 | ||
47 | 2. Use cross-compiler to build a compiler that runs on new architecture | |
48 | ||
49 | dpkg --add-architecture $new_arch | |
50 | sudo apt-get build-dep --host-architecture=$new_arch rustc | |
51 | dpkg-buildpackage -a $new_arch | |
52 | ||
53 | # Perhaps this is sufficient ?? | |
54 | #apt-get source --compile --host-architecture=$new_arch rustc | |
55 | ||
120b4d47 | 56 | -- Angus Lees <gus@debian.org>, Sun, 1 Feb 2015 16:16:44 +1100 |