]> git.proxmox.com Git - rustc.git/blame - src/etc/local_stage0.sh
New upstream version 1.12.0+dfsg1
[rustc.git] / src / etc / local_stage0.sh
CommitLineData
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 12TARG_DIR=$1
223e47cc 13PREFIX=$2
1a4d82fc 14RUSTLIBDIR=$3
223e47cc 15
1a4d82fc
JJ
16LIB_DIR=lib
17LIB_PREFIX=lib
223e47cc
LB
18
19OS=`uname -s`
970d7e83 20case $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
35esac
36
37if [ -z $PREFIX ]; then
38 echo "No local rust specified."
39 exit 1
40fi
41
1a4d82fc 42if [ ! -e ${PREFIX}/bin/rustc${BIN_SUF} ]; then
223e47cc
LB
43 echo "No local rust installed at ${PREFIX}"
44 exit 1
45fi
46
47if [ -z $TARG_DIR ]; then
48 echo "No target directory specified."
49 exit 1
50fi
51
5bcae85e
SL
52case "$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
59cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
60cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
5bcae85e 61cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}arena*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
1a4d82fc
JJ
62cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
63cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
64cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
65cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
a7813a04
XL
66cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}flate*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
67cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}fmt_macros*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
68cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}getopts*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
69cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}graphviz*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
70cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}log*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
71cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rbml*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
72cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}serialize*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
73cp ${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!
76exit 0
5bcae85e
SL
77
78esac