]> git.lizzy.rs Git - rust.git/blob - src/etc/local_stage0.sh
auto merge of #15999 : Kimundi/rust/fix_folder, r=nikomatsakis
[rust.git] / src / etc / local_stage0.sh
1 #!/bin/sh
2 # Copyright 2014 The Rust Project Developers. See the COPYRIGHT
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.
11
12 TARG_DIR=$1
13 PREFIX=$2
14 RUSTLIBDIR=$3
15
16 LIB_DIR=lib
17 LIB_PREFIX=lib
18
19 OS=`uname -s`
20 case $OS in
21     ("Linux"|"FreeBSD"|"DragonFly")
22     BIN_SUF=
23     LIB_SUF=.so
24     break
25     ;;
26     ("Darwin")
27     BIN_SUF=
28     LIB_SUF=.dylib
29     break
30     ;;
31     (*)
32     BIN_SUF=.exe
33     LIB_SUF=.dll
34     LIB_DIR=bin
35     LIB_PREFIX=
36     break
37     ;;
38 esac
39
40 if [ -z $PREFIX ]; then
41     echo "No local rust specified."
42     exit 1
43 fi
44
45 if [ ! -e ${PREFIX}/bin/rustc${BIN_SUF} ]; then
46     echo "No local rust installed at ${PREFIX}"
47     exit 1
48 fi
49
50 if [ -z $TARG_DIR ]; then
51     echo "No target directory specified."
52     exit 1
53 fi
54
55 cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
56 cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
57 cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
58 cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
59 cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
60 cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
61
62 # do not fail if one of the above fails, as all we need is a working rustc!
63 exit 0