rustc/debian/README.Debian
2015-02-13 15:12:46 +01:00

53 lines
2.0 KiB
Plaintext

For now, the shared libraries of Rust are private.
The rational is the following:
* Upstream prefers static linking for now
- https://github.com/rust-lang/rust/issues/10209
* rust is still under heavy development. As far as we know, there is
no commitement from upstream to provide a stable ABI for now.
Until we know more, we cannot take the chance to have Rust-built packages
failing at each release of the compiler.
* Static builds are working out of the box just fine
* However, LD_LIBRARY_PATH has to be updated when -C prefer-dynamic is used
-- Sylvestre Ledru <sylvestre@debian.org>, Fri, 13 Feb 2015 15:08:43 +0100
Bootstrapping from nothing
--------------------------
You need a "stage0" rust compiler from somewhere. You can download a
pre-built minimal stage0 from http://www.rust-lang.org/ at build time,
or use a rustc that was already in /usr/bin via whatever black magic
(or some other path if you modify debian/rules).
apt-get source --compile --build-profiles=dlstage0,nodocs rustc
"dlstage0" downloads a stage0 from rust-lang.org during the build.
"nodocs" disables building rust-doc package and skips the long list of
build-deps usually required.
dpkg -i rustc*.deb
apt-get source --compile rustc
This produces the full rust compiler built using your now obsolete
"dlstage0" rustc compiler.
Bootstrapping a new architecture
--------------------------------
0. Start with rust installed on an existing platform
1. Build a rust cross-compiler targeting new architecture
sudo apt-get build-dep --build-profile=nodocs rustc
dpkg-buildpackage -t $new_arch
2. Use cross-compiler to build a compiler that runs on new architecture
dpkg --add-architecture $new_arch
sudo apt-get build-dep --host-architecture=$new_arch rustc
dpkg-buildpackage -a $new_arch
# Perhaps this is sufficient ??
#apt-get source --compile --host-architecture=$new_arch rustc
-- Angus Lees <gus@debian.org>, Sun, 1 Feb 2015 16:16:44 +1100