]>
Commit | Line | Data |
---|---|---|
223e47cc | 1 | #!/bin/sh |
85aaf69f | 2 | # Copyright 2014-2015 The Rust Project Developers. See the COPYRIGHT |
1a4d82fc JJ |
3 | # file at the top-level directory of this distribution and at |
4 | # http://rust-lang.org/COPYRIGHT. | |
5 | # | |
6 | # Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or | |
7 | # http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | |
8 | # <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your | |
9 | # option. This file may not be copied, modified, or distributed | |
10 | # except according to those terms. | |
223e47cc | 11 | |
970d7e83 | 12 | TARG_DIR=$1 |
223e47cc | 13 | PREFIX=$2 |
1a4d82fc | 14 | RUSTLIBDIR=$3 |
223e47cc | 15 | |
1a4d82fc JJ |
16 | LIB_DIR=lib |
17 | LIB_PREFIX=lib | |
223e47cc LB |
18 | |
19 | OS=`uname -s` | |
970d7e83 | 20 | case $OS in |
7453a54e | 21 | ("Linux"|"FreeBSD"|"DragonFly"|"Bitrig"|"OpenBSD"|"SunOS") |
1a4d82fc JJ |
22 | BIN_SUF= |
23 | LIB_SUF=.so | |
1a4d82fc | 24 | ;; |
223e47cc | 25 | ("Darwin") |
1a4d82fc JJ |
26 | BIN_SUF= |
27 | LIB_SUF=.dylib | |
1a4d82fc | 28 | ;; |
223e47cc | 29 | (*) |
1a4d82fc JJ |
30 | BIN_SUF=.exe |
31 | LIB_SUF=.dll | |
32 | LIB_DIR=bin | |
33 | LIB_PREFIX= | |
1a4d82fc | 34 | ;; |
223e47cc LB |
35 | esac |
36 | ||
37 | if [ -z $PREFIX ]; then | |
38 | echo "No local rust specified." | |
39 | exit 1 | |
40 | fi | |
41 | ||
1a4d82fc | 42 | if [ ! -e ${PREFIX}/bin/rustc${BIN_SUF} ]; then |
223e47cc LB |
43 | echo "No local rust installed at ${PREFIX}" |
44 | exit 1 | |
45 | fi | |
46 | ||
47 | if [ -z $TARG_DIR ]; then | |
48 | echo "No target directory specified." | |
49 | exit 1 | |
50 | fi | |
51 | ||
5bcae85e SL |
52 | case "$TARG_DIR" in |
53 | --print-rustc-release) | |
54 | # not actually copying to TARG_DIR, just print the local rustc version and exit | |
55 | ${PREFIX}/bin/rustc${BIN_SUF} --version --verbose | sed -ne 's/^release: //p' | |
56 | ;; | |
57 | *) | |
58 | ||
1a4d82fc JJ |
59 | cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/ |
60 | cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/ | |
5bcae85e | 61 | cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}arena*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ |
1a4d82fc JJ |
62 | cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ |
63 | cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ | |
64 | cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ | |
65 | cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ | |
a7813a04 XL |
66 | cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}flate*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ |
67 | cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}fmt_macros*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ | |
68 | cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}getopts*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ | |
69 | cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}graphviz*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ | |
70 | cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}log*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ | |
71 | cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rbml*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ | |
72 | cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}serialize*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ | |
73 | cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}term*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ | |
1a4d82fc JJ |
74 | |
75 | # do not fail if one of the above fails, as all we need is a working rustc! | |
76 | exit 0 | |
5bcae85e SL |
77 | |
78 | esac |