diff options
author | Joshua MacDonald <josh.macdonald@gmail.com> | 2015-07-22 23:38:26 -0700 |
---|---|---|
committer | Joshua MacDonald <josh.macdonald@gmail.com> | 2015-07-22 23:38:26 -0700 |
commit | e2a8a7b0529c99106783a719cbb0052c2616d6fd (patch) | |
tree | 37617738b7cff3a531e36131f42e0bb9ab263ab2 /xdelta3 | |
parent | d08d96f5e16a45cc3e45e5f51593c6750ab07654 (diff) |
run_release.sh functions on OS X
Diffstat (limited to 'xdelta3')
-rw-r--r-- | xdelta3/Makefile.am | 3 | ||||
-rwxr-xr-x | xdelta3/run_release.sh | 149 |
2 files changed, 93 insertions, 59 deletions
diff --git a/xdelta3/Makefile.am b/xdelta3/Makefile.am index 9bc4577..73895b6 100644 --- a/xdelta3/Makefile.am +++ b/xdelta3/Makefile.am | |||
@@ -78,8 +78,9 @@ xdelta3regtest_LDADD = -lm | |||
78 | man1_MANS = xdelta3.1 | 78 | man1_MANS = xdelta3.1 |
79 | 79 | ||
80 | EXTRA_DIST = \ | 80 | EXTRA_DIST = \ |
81 | draft-korn-vcdiff.txt \ | ||
82 | README.md \ | 81 | README.md \ |
82 | run_release.sh \ | ||
83 | draft-korn-vcdiff.txt \ | ||
83 | examples/Makefile \ | 84 | examples/Makefile \ |
84 | examples/README.md \ | 85 | examples/README.md \ |
85 | examples/checksum_test.cc \ | 86 | examples/checksum_test.cc \ |
diff --git a/xdelta3/run_release.sh b/xdelta3/run_release.sh index 579aff0..89d2cc7 100755 --- a/xdelta3/run_release.sh +++ b/xdelta3/run_release.sh | |||
@@ -1,41 +1,42 @@ | |||
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | 2 | ||
3 | # Place C/C++ common flags here | 3 | # Run from the source dir. |
4 | COMMON="-g" | 4 | SRCDIR=${PWD} |
5 | |||
6 | export CFLAGS | ||
7 | export CXXFLAGS | ||
8 | export LDFLAGS | ||
9 | 5 | ||
10 | # TODO replace w/ wget | 6 | # TODO replace w/ wget |
11 | LZMA="xz-5.2.1" | 7 | 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" |
13 | 9 | ||
14 | MAKEFLAGS="-j 10" | 10 | MAKEFLAGS="-j 10" |
15 | 11 | ||
16 | MYOS=`uname` | 12 | BUILDDIR=${SRCDIR}/build |
17 | |||
18 | BUILDDIR=${PWD}/build | ||
19 | LZMASRC=${BUILDDIR}/${LZMA} | 13 | LZMASRC=${BUILDDIR}/${LZMA} |
20 | 14 | ||
21 | LIBBASE=$HOME/lib | 15 | MINGW_CFLAGS="-DEXTERNAL_COMPRESSION=0 -DVCDIFF_TOOLS=0" |
22 | 16 | MINGW_CFLAGS="${MINGW_CFLAGS} -DXD3_WIN32=1 -DSHELL_TESTS=0" | |
23 | MINGW_CFLAGS="-DEXTERNAL_COMPRESSION=0 -DVCDIFF_TOOLS=0 -DXD3_WIN32=1 -DSHELL_TESTS=0" | ||
24 | 17 | ||
25 | MINGW_LDFLAGS="" | 18 | MYOS=`uname` |
26 | 19 | DATE=`date` | |
27 | # Location where mingw-w64-build script runs. | ||
28 | MINGW_BASE="/volume/home/jmacd/src/mingwb" | ||
29 | 20 | ||
30 | # Windows 32bit | 21 | CLEAN="" |
31 | # Run from the source dir. | ||
32 | SRCDIR=$PWD | ||
33 | 22 | ||
23 | LINUXTGTS="" | ||
34 | LINUXTEST1="" | 24 | LINUXTEST1="" |
35 | LINUXTEST2="" | 25 | LINUXTEST2="" |
26 | |||
27 | WINTGTS="" | ||
36 | WINTEST1="" | 28 | WINTEST1="" |
37 | WINTEST2="" | 29 | WINTEST2="" |
38 | 30 | ||
31 | OSXTGTS="" | ||
32 | OSXTEST1="" | ||
33 | OSXTEST2="" | ||
34 | |||
35 | TMP="${TMP}" | ||
36 | if [ "${TMP}" == "" ]; then | ||
37 | TMP="${TMPDIR}" | ||
38 | fi | ||
39 | |||
39 | find build -type f 2> /dev/null | xargs rm | 40 | find build -type f 2> /dev/null | xargs rm |
40 | 41 | ||
41 | function setup { | 42 | function setup { |
@@ -51,15 +52,15 @@ function try { | |||
51 | local dir=$1 | 52 | local dir=$1 |
52 | shift | 53 | shift |
53 | echo -n " ${w} ..." | 54 | echo -n " ${w} ..." |
54 | (cd "${dir}" && "$@" >$w.stdout 2>$w.stderr) | 55 | (cd "${dir}" && "$@" >${w}.stdout 2>${w}.stderr) |
55 | local s=$? | 56 | local s=$? |
56 | if [ $s -eq 0 ]; then | 57 | if [ ${s} -eq 0 ]; then |
57 | echo " success" | 58 | echo " success" |
58 | else | 59 | else |
59 | echo " failed!" | 60 | echo " failed!" |
60 | echo "Error $1 in ${dir}" >&2 | 61 | echo "Error $1 in ${dir}" >&2 |
61 | fi | 62 | fi |
62 | return $s | 63 | return ${s} |
63 | } | 64 | } |
64 | 65 | ||
65 | function buildlzma { | 66 | function buildlzma { |
@@ -69,7 +70,7 @@ function buildlzma { | |||
69 | 70 | ||
70 | echo " ... liblzma" | 71 | echo " ... liblzma" |
71 | 72 | ||
72 | mkdir -p $target | 73 | mkdir -p ${target} |
73 | 74 | ||
74 | try configure-lzma ${target} ${LZMASRC}/configure \ | 75 | try configure-lzma ${target} ${LZMASRC}/configure \ |
75 | --host=${host} \ | 76 | --host=${host} \ |
@@ -93,18 +94,18 @@ function buildlzma { | |||
93 | } | 94 | } |
94 | 95 | ||
95 | function buildit { | 96 | function buildit { |
96 | host=$1 | 97 | local host=$1 |
97 | march=$2 | 98 | local march=$2 |
98 | offsetbits=$3 | 99 | local offsetbits=$3 |
99 | cargs=$4 | 100 | local cargs=$4 |
100 | largs=$5 | 101 | local largs=$5 |
101 | BM="${host}${march}" | 102 | local BM="${host}${march}" |
102 | D="build/${BM}/xoff${offsetbits}" | 103 | local D="build/${BM}/xoff${offsetbits}" |
103 | BMD="${BM}-${offsetbits}" | 104 | local BMD="${BM}-${offsetbits}" |
104 | FULLD="$PWD/$D" | 105 | local FULLD="${SRCDIR}/${D}" |
105 | CFLAGS="${COMMON} ${march} ${cargs} -I${PWD}/build/lib-${BM}/include" | 106 | local CFLAGS="${march} ${cargs} -g -I${SRCDIR}/build/lib-${BM}/include" |
106 | CXXFLAGS="${COMMON} ${march} ${cargs} -I${PWD}/build/lib-${BM}/include" | 107 | local CXXFLAGS="${march} ${cargs} -g -I${SRCDIR}/build/lib-${BM}/include" |
107 | LDFLAGS="${largs} ${march} -L${PWD}/build/lib-${BM}/lib" | 108 | local LDFLAGS="${largs} ${march} -L${SRCDIR}/build/lib-${BM}/lib" |
108 | mkdir -p ${D} | 109 | mkdir -p ${D} |
109 | 110 | ||
110 | echo " ... ${BMD}" | 111 | echo " ... ${BMD}" |
@@ -112,6 +113,15 @@ function buildit { | |||
112 | cat >> Makefile.test <<EOF | 113 | cat >> Makefile.test <<EOF |
113 | 114 | ||
114 | # ${BMD} | 115 | # ${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 | |||
115 | .PHONY: regtest-${BMD} | 125 | .PHONY: regtest-${BMD} |
116 | regtest-${BMD}: | 126 | regtest-${BMD}: |
117 | (cd ${D} && ./xdelta3regtest 1> \${TMP}/regtest.${BMD}.stdout 2> \${TMP}/regtest.${BMD}.stderr) | 127 | (cd ${D} && ./xdelta3regtest 1> \${TMP}/regtest.${BMD}.stdout 2> \${TMP}/regtest.${BMD}.stderr) |
@@ -125,31 +135,42 @@ EOF | |||
125 | 135 | ||
126 | case ${host} in | 136 | case ${host} in |
127 | *linux*) | 137 | *linux*) |
138 | LINUXTGTS="${LINUXTGTS} build-${BMD}" | ||
128 | LINUXTEST1="${LINUXTEST1} selftest-${BMD}" | 139 | LINUXTEST1="${LINUXTEST1} selftest-${BMD}" |
129 | LINUXTEST2="${LINUXTEST2} regtest-${BMD}" | 140 | LINUXTEST2="${LINUXTEST2} regtest-${BMD}" |
130 | ;; | 141 | ;; |
131 | *mingw*) | 142 | *mingw*) |
143 | WINTGTS="${WINTGTS} build-${BMD}" | ||
132 | WINTEST1="${WINTEST1} selftest-${BMD}" | 144 | WINTEST1="${WINTEST1} selftest-${BMD}" |
133 | WINTEST2="${WINTEST2} regtest-${BMD}" | 145 | WINTEST2="${WINTEST2} regtest-${BMD}" |
134 | ;; | 146 | ;; |
147 | *apple*) | ||
148 | OSXTGTS="${OSXTGTS} build-${BMD}" | ||
149 | OSXTEST1="${OSXTEST1} selftest-${BMD}" | ||
150 | OSXTEST2="${OSXTEST2} regtest-${BMD}" | ||
151 | ;; | ||
135 | esac | 152 | esac |
153 | CLEAN="${CLEAN} clean-${BMD}" | ||
136 | 154 | ||
137 | try configure-xdelta $FULLD $SRCDIR/configure \ | 155 | try configure-xdelta ${FULLD} ${SRCDIR}/configure \ |
138 | --host=${host} \ | 156 | --host=${host} \ |
139 | --prefix=${FULLD} \ | 157 | --prefix=${FULLD} \ |
140 | --enable-static \ | 158 | --enable-static \ |
141 | --disable-shared \ | 159 | --disable-shared \ |
142 | --enable-debug-symbols | 160 | --enable-debug-symbols \ |
161 | "CFLAGS=${CFLAGS}" \ | ||
162 | "CXXFLAGS=${CXXFLAGS}" \ | ||
163 | "LDFLAGS=${LDFLAGS}" | ||
143 | if [ $? -ne 0 ]; then | 164 | if [ $? -ne 0 ]; then |
144 | return | 165 | return |
145 | fi | 166 | fi |
146 | 167 | ||
147 | try build-xdelta $FULLD make ${MAKEFLAGS} all | 168 | try build-xdelta ${FULLD} make ${MAKEFLAGS} all |
148 | if [ $? -ne 0 ]; then | 169 | if [ $? -ne 0 ]; then |
149 | return | 170 | return |
150 | fi | 171 | fi |
151 | 172 | ||
152 | try install-xdelta $FULLD make install | 173 | try install-xdelta ${FULLD} make install |
153 | } | 174 | } |
154 | 175 | ||
155 | function buildall { | 176 | function buildall { |
@@ -158,17 +179,8 @@ function buildall { | |||
158 | echo "" | 179 | echo "" |
159 | 180 | ||
160 | buildlzma "$1" "$2" | 181 | buildlzma "$1" "$2" |
161 | if [ $? -ne 0 ]; then | ||
162 | return | ||
163 | fi | ||
164 | buildit "$1" "$2" 32 "-DXD3_USE_LARGEFILE64=0 $3" "$4" | 182 | buildit "$1" "$2" 32 "-DXD3_USE_LARGEFILE64=0 $3" "$4" |
165 | if [ $? -ne 0 ]; then | ||
166 | return | ||
167 | fi | ||
168 | buildit "$1" "$2" 64 "-DXD3_USE_LARGEFILE64=1 $3" "$4" | 183 | buildit "$1" "$2" 64 "-DXD3_USE_LARGEFILE64=1 $3" "$4" |
169 | if [ $? -ne 0 ]; then | ||
170 | return | ||
171 | fi | ||
172 | } | 184 | } |
173 | 185 | ||
174 | setup | 186 | setup |
@@ -178,28 +190,49 @@ if [ $? -ne 0 ]; then | |||
178 | exit $? | 190 | exit $? |
179 | fi | 191 | fi |
180 | 192 | ||
181 | DATE=`date` | ||
182 | cat > Makefile.test <<EOF | 193 | cat > Makefile.test <<EOF |
183 | # Auto-generated ${DATE} -*- Mode: Makefile -*- | 194 | # Auto-generated ${DATE} -*- Mode: Makefile -*- |
195 | TMP = ${TMP} | ||
196 | |||
184 | EOF | 197 | EOF |
185 | 198 | ||
186 | # Linux | 199 | # Native compiles |
187 | buildall x86_64-pc-linux-gnu -m32 | 200 | if [ "${MYOS}" == "Linux" ]; then |
188 | buildall x86_64-pc-linux-gnu -m64 | 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 | ||
189 | 211 | ||
190 | # Windows | 212 | # Cross compile |
191 | buildall i686-w64-mingw32 -mconsole "${MINGW_CFLAGS}" "" | 213 | buildall i686-w64-mingw32 -mconsole "${MINGW_CFLAGS}" |
192 | buildall x86_64-w64-mingw32 -mconsole "${MINGW_CFLAGS}" "" | 214 | buildall x86_64-w64-mingw32 -mconsole "${MINGW_CFLAGS}" |
193 | 215 | ||
194 | cat >> Makefile.test <<EOF | 216 | cat >> Makefile.test <<EOF |
195 | 217 | ||
196 | linux: linux-selftest linux-regtest | 218 | all: linux windows apple |
197 | windows: windows-selftest windows-regtest | 219 | |
220 | clean: ${CLEAN} | ||
198 | 221 | ||
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} | ||
199 | linux-selftest: ${LINUXTEST1} | 227 | linux-selftest: ${LINUXTEST1} |
200 | linux-regtest: ${LINUXTEST2} | 228 | linux-regtest: ${LINUXTEST2} |
201 | 229 | ||
230 | windows-build: ${WINTGTS} | ||
202 | windows-selftest: ${WINTEST1} | 231 | windows-selftest: ${WINTEST1} |
203 | windows-regtest: ${WINTEST2} | 232 | windows-regtest: ${WINTEST2} |
204 | 233 | ||
234 | apple-build: ${OSXTGTS} | ||
235 | apple-selftest: ${OSXTEST1} | ||
236 | apple-regtest: ${OSXTEST2} | ||
237 | |||
205 | EOF | 238 | EOF |