Skip to content

Commit e2a8a7b

Browse files
committed
run_release.sh functions on OS X
1 parent d08d96f commit e2a8a7b

File tree

2 files changed

+93
-59
lines changed

2 files changed

+93
-59
lines changed

xdelta3/Makefile.am

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,9 @@ xdelta3regtest_LDADD = -lm
7878
man1_MANS = xdelta3.1
7979

8080
EXTRA_DIST = \
81-
draft-korn-vcdiff.txt \
8281
README.md \
82+
run_release.sh \
83+
draft-korn-vcdiff.txt \
8384
examples/Makefile \
8485
examples/README.md \
8586
examples/checksum_test.cc \

xdelta3/run_release.sh

Lines changed: 91 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,42 @@
11
#!/bin/bash
22

3-
# Place C/C++ common flags here
4-
COMMON="-g"
5-
6-
export CFLAGS
7-
export CXXFLAGS
8-
export LDFLAGS
3+
# Run from the source dir.
4+
SRCDIR=${PWD}
95

106
# TODO replace w/ wget
117
LZMA="xz-5.2.1"
12-
LZMA_FILE="/volume/home/jmacd/src/xdelta-devel/xz-5.2.1.tar.xz"
8+
LZMA_FILE="${SRCDIR}/../${LZMA}.tar.xz"
139

1410
MAKEFLAGS="-j 10"
1511

16-
MYOS=`uname`
17-
18-
BUILDDIR=${PWD}/build
12+
BUILDDIR=${SRCDIR}/build
1913
LZMASRC=${BUILDDIR}/${LZMA}
2014

21-
LIBBASE=$HOME/lib
22-
23-
MINGW_CFLAGS="-DEXTERNAL_COMPRESSION=0 -DVCDIFF_TOOLS=0 -DXD3_WIN32=1 -DSHELL_TESTS=0"
15+
MINGW_CFLAGS="-DEXTERNAL_COMPRESSION=0 -DVCDIFF_TOOLS=0"
16+
MINGW_CFLAGS="${MINGW_CFLAGS} -DXD3_WIN32=1 -DSHELL_TESTS=0"
2417

25-
MINGW_LDFLAGS=""
26-
27-
# Location where mingw-w64-build script runs.
28-
MINGW_BASE="/volume/home/jmacd/src/mingwb"
18+
MYOS=`uname`
19+
DATE=`date`
2920

30-
# Windows 32bit
31-
# Run from the source dir.
32-
SRCDIR=$PWD
21+
CLEAN=""
3322

23+
LINUXTGTS=""
3424
LINUXTEST1=""
3525
LINUXTEST2=""
26+
27+
WINTGTS=""
3628
WINTEST1=""
3729
WINTEST2=""
3830

31+
OSXTGTS=""
32+
OSXTEST1=""
33+
OSXTEST2=""
34+
35+
TMP="${TMP}"
36+
if [ "${TMP}" == "" ]; then
37+
TMP="${TMPDIR}"
38+
fi
39+
3940
find build -type f 2> /dev/null | xargs rm
4041

4142
function setup {
@@ -51,15 +52,15 @@ function try {
5152
local dir=$1
5253
shift
5354
echo -n " ${w} ..."
54-
(cd "${dir}" && "$@" >$w.stdout 2>$w.stderr)
55+
(cd "${dir}" && "$@" >${w}.stdout 2>${w}.stderr)
5556
local s=$?
56-
if [ $s -eq 0 ]; then
57+
if [ ${s} -eq 0 ]; then
5758
echo " success"
5859
else
5960
echo " failed!"
6061
echo "Error $1 in ${dir}" >&2
6162
fi
62-
return $s
63+
return ${s}
6364
}
6465

6566
function buildlzma {
@@ -69,7 +70,7 @@ function buildlzma {
6970

7071
echo " ... liblzma"
7172

72-
mkdir -p $target
73+
mkdir -p ${target}
7374

7475
try configure-lzma ${target} ${LZMASRC}/configure \
7576
--host=${host} \
@@ -93,25 +94,34 @@ function buildlzma {
9394
}
9495

9596
function buildit {
96-
host=$1
97-
march=$2
98-
offsetbits=$3
99-
cargs=$4
100-
largs=$5
101-
BM="${host}${march}"
102-
D="build/${BM}/xoff${offsetbits}"
103-
BMD="${BM}-${offsetbits}"
104-
FULLD="$PWD/$D"
105-
CFLAGS="${COMMON} ${march} ${cargs} -I${PWD}/build/lib-${BM}/include"
106-
CXXFLAGS="${COMMON} ${march} ${cargs} -I${PWD}/build/lib-${BM}/include"
107-
LDFLAGS="${largs} ${march} -L${PWD}/build/lib-${BM}/lib"
97+
local host=$1
98+
local march=$2
99+
local offsetbits=$3
100+
local cargs=$4
101+
local largs=$5
102+
local BM="${host}${march}"
103+
local D="build/${BM}/xoff${offsetbits}"
104+
local BMD="${BM}-${offsetbits}"
105+
local FULLD="${SRCDIR}/${D}"
106+
local CFLAGS="${march} ${cargs} -g -I${SRCDIR}/build/lib-${BM}/include"
107+
local CXXFLAGS="${march} ${cargs} -g -I${SRCDIR}/build/lib-${BM}/include"
108+
local LDFLAGS="${largs} ${march} -L${SRCDIR}/build/lib-${BM}/lib"
108109
mkdir -p ${D}
109110

110111
echo " ... ${BMD}"
111112

112113
cat >> Makefile.test <<EOF
113114
114115
# ${BMD}
116+
# ${CFLAGS}
117+
.PHONY: build-${BMD}
118+
build-${BMD}:
119+
(cd ${D} && make all)
120+
121+
.PHONY: clean-${BMD}
122+
clean-${BMD}:
123+
(cd ${D} && make clean)
124+
115125
.PHONY: regtest-${BMD}
116126
regtest-${BMD}:
117127
(cd ${D} && ./xdelta3regtest 1> \${TMP}/regtest.${BMD}.stdout 2> \${TMP}/regtest.${BMD}.stderr)
@@ -125,31 +135,42 @@ EOF
125135

126136
case ${host} in
127137
*linux*)
138+
LINUXTGTS="${LINUXTGTS} build-${BMD}"
128139
LINUXTEST1="${LINUXTEST1} selftest-${BMD}"
129140
LINUXTEST2="${LINUXTEST2} regtest-${BMD}"
130141
;;
131142
*mingw*)
143+
WINTGTS="${WINTGTS} build-${BMD}"
132144
WINTEST1="${WINTEST1} selftest-${BMD}"
133145
WINTEST2="${WINTEST2} regtest-${BMD}"
134146
;;
147+
*apple*)
148+
OSXTGTS="${OSXTGTS} build-${BMD}"
149+
OSXTEST1="${OSXTEST1} selftest-${BMD}"
150+
OSXTEST2="${OSXTEST2} regtest-${BMD}"
151+
;;
135152
esac
153+
CLEAN="${CLEAN} clean-${BMD}"
136154

137-
try configure-xdelta $FULLD $SRCDIR/configure \
155+
try configure-xdelta ${FULLD} ${SRCDIR}/configure \
138156
--host=${host} \
139157
--prefix=${FULLD} \
140158
--enable-static \
141159
--disable-shared \
142-
--enable-debug-symbols
160+
--enable-debug-symbols \
161+
"CFLAGS=${CFLAGS}" \
162+
"CXXFLAGS=${CXXFLAGS}" \
163+
"LDFLAGS=${LDFLAGS}"
143164
if [ $? -ne 0 ]; then
144165
return
145166
fi
146167

147-
try build-xdelta $FULLD make ${MAKEFLAGS} all
168+
try build-xdelta ${FULLD} make ${MAKEFLAGS} all
148169
if [ $? -ne 0 ]; then
149170
return
150171
fi
151172

152-
try install-xdelta $FULLD make install
173+
try install-xdelta ${FULLD} make install
153174
}
154175

155176
function buildall {
@@ -158,17 +179,8 @@ function buildall {
158179
echo ""
159180

160181
buildlzma "$1" "$2"
161-
if [ $? -ne 0 ]; then
162-
return
163-
fi
164182
buildit "$1" "$2" 32 "-DXD3_USE_LARGEFILE64=0 $3" "$4"
165-
if [ $? -ne 0 ]; then
166-
return
167-
fi
168183
buildit "$1" "$2" 64 "-DXD3_USE_LARGEFILE64=1 $3" "$4"
169-
if [ $? -ne 0 ]; then
170-
return
171-
fi
172184
}
173185

174186
setup
@@ -178,28 +190,49 @@ if [ $? -ne 0 ]; then
178190
exit $?
179191
fi
180192

181-
DATE=`date`
182193
cat > Makefile.test <<EOF
183194
# Auto-generated ${DATE} -*- Mode: Makefile -*-
195+
TMP = ${TMP}
196+
184197
EOF
185198

186-
# Linux
187-
buildall x86_64-pc-linux-gnu -m32
188-
buildall x86_64-pc-linux-gnu -m64
199+
# Native compiles
200+
if [ "${MYOS}" == "Linux" ]; then
201+
# Linux
202+
buildall x86_64-pc-linux-gnu -m32
203+
buildall x86_64-pc-linux-gnu -m64
204+
fi
205+
206+
if [ "${MYOS}" == "Darwin" ]; then
207+
# OS X
208+
buildall x86_64-apple-darwin -m32
209+
buildall x86_64-apple-darwin -m64
210+
fi
189211

190-
# Windows
191-
buildall i686-w64-mingw32 -mconsole "${MINGW_CFLAGS}" ""
192-
buildall x86_64-w64-mingw32 -mconsole "${MINGW_CFLAGS}" ""
212+
# Cross compile
213+
buildall i686-w64-mingw32 -mconsole "${MINGW_CFLAGS}"
214+
buildall x86_64-w64-mingw32 -mconsole "${MINGW_CFLAGS}"
193215

194216
cat >> Makefile.test <<EOF
195217
196-
linux: linux-selftest linux-regtest
197-
windows: windows-selftest windows-regtest
218+
all: linux windows apple
219+
220+
clean: ${CLEAN}
198221
222+
linux: linux-build linux-selftest linux-regtest
223+
windows: windows-build windows-selftest windows-regtest
224+
apple: apple-build apple-selftest apple-regtest
225+
226+
linux-build: ${LINUXTGTS}
199227
linux-selftest: ${LINUXTEST1}
200228
linux-regtest: ${LINUXTEST2}
201229
230+
windows-build: ${WINTGTS}
202231
windows-selftest: ${WINTEST1}
203232
windows-regtest: ${WINTEST2}
204233
234+
apple-build: ${OSXTGTS}
235+
apple-selftest: ${OSXTEST1}
236+
apple-regtest: ${OSXTEST2}
237+
205238
EOF

0 commit comments

Comments
 (0)