@@ -23,9 +23,6 @@ BUILD_DEPENDS_IPS="
23
23
developer/nasm
24
24
"
25
25
26
- # XXX
27
- BUILD_DEPENDS_IPS=
28
-
29
26
PROG=uefi-edk2
30
27
PKG=system/bhyve/firmware
31
28
VER=20160525
@@ -66,16 +63,26 @@ clone_source(){
66
63
build () {
67
64
pushd $TMPDIR /$BUILDDIR /$PROG > /dev/null || logerr " pushd"
68
65
69
- logmsg " -- Cleaning source tree..."
66
+ MAKE_ARGS="
67
+ AS=/usr/bin/gas
68
+ AR=/usr/bin/gar
69
+ LD=/usr/bin/gld
70
+ OBJCOPY=/usr/bin/gobjcopy
71
+ CC=${OOGCC_BIN} gcc
72
+ CXX=${OOGCC_BIN} g++
73
+ "
74
+
75
+ logmsg " -- Cleaning source tree"
70
76
71
- logcmd gmake -C BaseTools clean
77
+ logcmd gmake $MAKE_ARGS -C BaseTools clean
72
78
rm -f Build Conf/{target,build_rule,tools_def}.txt Conf/.cache 2> /dev/null
73
79
74
- logmsg " -- Building tools... "
80
+ logmsg " -- Building tools"
75
81
76
82
# First build the tools. The code isn't able to detect the build
77
83
# architecture - it doesn't expect `uname -m` to return `i86pc`
78
- logcmd gmake -C BaseTools ARCH=X64 || logerr " BaseTools build failed"
84
+ logcmd gmake $MAKE_ARGS ARCH=X64 -C BaseTools \
85
+ || logerr " BaseTools build failed"
79
86
80
87
BUILD_ARGS=" -DDEBUG_ON_SERIAL_PORT=TRUE -DFD_SIZE_2MB -DCSM_ENABLE=TRUE"
81
88
@@ -86,22 +93,16 @@ build() {
86
93
export NASM_PREFIX=/usr/bin/i386/
87
94
source edksetup.sh
88
95
89
- logmsg " -- Building compatibility support module (CSM)..."
90
- logcmd gmake \
91
- AS=/usr/bin/gas \
92
- AR=/usr/bin/gar \
93
- LD=/usr/bin/gld \
94
- OBJCOPY=/usr/bin/gobjcopy \
95
- CC=${OOGCC_BIN} gcc \
96
- CXX=${OOGCC_BIN} g++ \
97
- -C BhyvePkg/Csm/BhyveCsm16/
96
+ logmsg " -- Building compatibility support module (CSM)"
97
+ logcmd gmake $MAKE_ARGS -C BhyvePkg/Csm/BhyveCsm16/ \
98
+ || logerr " CSM build failed"
98
99
99
100
for mode in RELEASE DEBUG; do
100
- logmsg " -- Building $mode Firmware... "
101
+ logmsg " -- Building $mode firmware "
101
102
logcmd ` which build` \
102
103
-t OOGCC -a X64 -b $mode \
103
104
-p BhyvePkg/BhyvePkgX64.dsc \
104
- $BUILD_ARGS
105
+ $BUILD_ARGS || logerr " $mode build failed "
105
106
done
106
107
) || logerr " failed"
107
108
@@ -111,6 +112,7 @@ build() {
111
112
install () {
112
113
pushd $TMPDIR /$BUILDDIR /$PROG > /dev/null || logerr " pushd"
113
114
logcmd mkdir -p $DESTDIR /usr/share/bhyve/firmware
115
+ cp OvmfPkg/License.txt $DESTDIR /LICENCE
114
116
for mode in RELEASE DEBUG; do
115
117
logcmd cp Build/BhyveX64/${mode} _OOGCC/FV/BHYVE.fd \
116
118
$DESTDIR /usr/share/bhyve/firmware/BHYVE_$mode .fd
@@ -119,9 +121,12 @@ install() {
119
121
}
120
122
121
123
init
124
+ prep_build
122
125
clone_source
123
126
build
124
127
install
128
+ # Reset version for package creation
129
+ VER=$VERHUMAN
125
130
make_package
126
131
clean_up
127
132
0 commit comments