source: mainline/contrib/qemu/build-from-scratch.sh@ eed4139

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since eed4139 was a35b458, checked in by Jiří Zárevúcky <zarevucky.jiri@…>, 8 years ago

style: Remove trailing whitespace on _all_ lines, including empty ones, for particular file types.

Command used: tools/srepl '\s\+$' '' -- *.c *.h *.py *.sh *.s *.S *.ag

Currently, whitespace on empty lines is very inconsistent.
There are two basic choices: Either remove the whitespace, or keep empty lines
indented to the level of surrounding code. The former is AFAICT more common,
and also much easier to do automatically.

Alternatively, we could write script for automatic indentation, and use that
instead. However, if such a script exists, it's possible to use the indented
style locally, by having the editor apply relevant conversions on load/save,
without affecting remote repository. IMO, it makes more sense to adopt
the simpler rule.

  • Property mode set to 100755
File size: 3.2 KB
Line 
1#!/bin/bash
2
3#
4# Copyright (c) 2014 Jakub Jermar
5# All rights reserved.
6#
7# Redistribution and use in source and binary forms, with or without
8# modification, are permitted provided that the following conditions
9# are met:
10#
11# - Redistributions of source code must retain the above copyright
12# notice, this list of conditions and the following disclaimer.
13# - Redistributions in binary form must reproduce the above copyright
14# notice, this list of conditions and the following disclaimer in the
15# documentation and/or other materials provided with the distribution.
16# - The name of the author may not be used to endorse or promote products
17# derived from this software without specific prior written permission.
18#
19# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29#
30
31VERSION=2.11.0
32BASENAME=qemu-${VERSION}
33BASENAME_MASTER=qemu-master
34TARBALL=${BASENAME}.tar.bz2
35SOURCEDIR=${BASENAME}
36URL=http://wiki.qemu-project.org/download/${TARBALL}
37REPO=git://git.qemu.org/qemu.git
38MD5="335994a755bc655e88a87aeb36bfc0b9"
39
40OPENSPARC_TARBALL="OpenSPARCT1_Arch.1.5.tar.bz2"
41OPENSPARC_URL="http://download.oracle.com/technetwork/systems/opensparc/${OPENSPARC_TARBALL}"
42
43ARCHIVE_PREFIX="./S10image"
44BINARIES="1up-hv.bin 1up-md.bin nvram1 openboot.bin q.bin reset.bin"
45
46echo "==== Downloading OpenSPARC archive ===="
47
48if [ ! -f ${OPENSPARC_TARBALL} ]
49then
50 wget ${OPENSPARC_URL}
51else
52 echo "===== OpenSPARC archive already exists, skipping. ====="
53fi
54
55echo "==== Extracting OpenSPARC binaries ===="
56(
57 mkdir -p binaries;
58
59 BINLIST=""
60 for b in ${BINARIES};
61 do
62 if [ ! -f binaries/$b ];
63 then
64 BINLIST+=${ARCHIVE_PREFIX}/$b" "
65 else
66 echo "===== $b seems to be already extracted, skipping. ====="
67 fi
68 done
69
70 cd binaries
71
72 if [ "${BINLIST}x" != "x" ];
73 then
74 tar --strip-components=2 -xjf ../${OPENSPARC_TARBALL} ${BINLIST}
75 fi
76)
77
78echo "==== Installing OpenSPARC binaries ===="
79
80sudo install -d /usr/local/opensparc/image
81sudo install -m 0444 binaries/* /usr/local/opensparc/image
82
83echo "==== Obtaining QEMU sources ===="
84
85if [ "$1" == "--master" ]; then
86 git clone ${REPO} ${BASENAME_MASTER}
87 cd ${BASENAME_MASTER}
88else
89 if [ ! -f ${TARBALL} ]; then
90 wget ${URL}
91 fi
92
93 if [ "`md5sum ${TARBALL} | cut -f 1 -d " "`" != ${MD5} ]; then
94 echo Wrong MD5 checksum
95 exit
96 fi
97
98 tar xvfj ${TARBALL}
99 cd ${SOURCEDIR}
100fi
101
102echo "==== Configuring QEMU ===="
103
104./configure --target-list=i386-softmmu,x86_64-softmmu,arm-softmmu,ppc-softmmu,sparc64-softmmu,mips-softmmu,mipsel-softmmu --audio-drv-list=pa
105
106echo "==== Building QEMU ===="
107
108make -j 4
109
110echo "==== Installing QEMU ===="
111
112sudo make install
113
Note: See TracBrowser for help on using the repository browser.