summaryrefslogtreecommitdiff
path: root/xdelta3
diff options
context:
space:
mode:
authorJoshua MacDonald <josh.macdonald@gmail.com>2015-07-22 23:38:26 -0700
committerJoshua MacDonald <josh.macdonald@gmail.com>2015-07-22 23:38:26 -0700
commite2a8a7b0529c99106783a719cbb0052c2616d6fd (patch)
tree37617738b7cff3a531e36131f42e0bb9ab263ab2 /xdelta3
parentd08d96f5e16a45cc3e45e5f51593c6750ab07654 (diff)
run_release.sh functions on OS X
Diffstat (limited to 'xdelta3')
-rw-r--r--xdelta3/Makefile.am3
-rwxr-xr-xxdelta3/run_release.sh149
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
78man1_MANS = xdelta3.1 78man1_MANS = xdelta3.1
79 79
80EXTRA_DIST = \ 80EXTRA_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.
4COMMON="-g" 4SRCDIR=${PWD}
5
6export CFLAGS
7export CXXFLAGS
8export LDFLAGS
9 5
10# TODO replace w/ wget 6# TODO replace w/ wget
11LZMA="xz-5.2.1" 7LZMA="xz-5.2.1"
12LZMA_FILE="/volume/home/jmacd/src/xdelta-devel/xz-5.2.1.tar.xz" 8LZMA_FILE="${SRCDIR}/../${LZMA}.tar.xz"
13 9
14MAKEFLAGS="-j 10" 10MAKEFLAGS="-j 10"
15 11
16MYOS=`uname` 12BUILDDIR=${SRCDIR}/build
17
18BUILDDIR=${PWD}/build
19LZMASRC=${BUILDDIR}/${LZMA} 13LZMASRC=${BUILDDIR}/${LZMA}
20 14
21LIBBASE=$HOME/lib 15MINGW_CFLAGS="-DEXTERNAL_COMPRESSION=0 -DVCDIFF_TOOLS=0"
22 16MINGW_CFLAGS="${MINGW_CFLAGS} -DXD3_WIN32=1 -DSHELL_TESTS=0"
23MINGW_CFLAGS="-DEXTERNAL_COMPRESSION=0 -DVCDIFF_TOOLS=0 -DXD3_WIN32=1 -DSHELL_TESTS=0"
24 17
25MINGW_LDFLAGS="" 18MYOS=`uname`
26 19DATE=`date`
27# Location where mingw-w64-build script runs.
28MINGW_BASE="/volume/home/jmacd/src/mingwb"
29 20
30# Windows 32bit 21CLEAN=""
31# Run from the source dir.
32SRCDIR=$PWD
33 22
23LINUXTGTS=""
34LINUXTEST1="" 24LINUXTEST1=""
35LINUXTEST2="" 25LINUXTEST2=""
26
27WINTGTS=""
36WINTEST1="" 28WINTEST1=""
37WINTEST2="" 29WINTEST2=""
38 30
31OSXTGTS=""
32OSXTEST1=""
33OSXTEST2=""
34
35TMP="${TMP}"
36if [ "${TMP}" == "" ]; then
37 TMP="${TMPDIR}"
38fi
39
39find build -type f 2> /dev/null | xargs rm 40find build -type f 2> /dev/null | xargs rm
40 41
41function setup { 42function 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
65function buildlzma { 66function 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
95function buildit { 96function 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}
118build-${BMD}:
119 (cd ${D} && make all)
120
121.PHONY: clean-${BMD}
122clean-${BMD}:
123 (cd ${D} && make clean)
124
115.PHONY: regtest-${BMD} 125.PHONY: regtest-${BMD}
116regtest-${BMD}: 126regtest-${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
155function buildall { 176function 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
174setup 186setup
@@ -178,28 +190,49 @@ if [ $? -ne 0 ]; then
178 exit $? 190 exit $?
179fi 191fi
180 192
181DATE=`date`
182cat > Makefile.test <<EOF 193cat > Makefile.test <<EOF
183# Auto-generated ${DATE} -*- Mode: Makefile -*- 194# Auto-generated ${DATE} -*- Mode: Makefile -*-
195TMP = ${TMP}
196
184EOF 197EOF
185 198
186# Linux 199# Native compiles
187buildall x86_64-pc-linux-gnu -m32 200if [ "${MYOS}" == "Linux" ]; then
188buildall x86_64-pc-linux-gnu -m64 201 # Linux
202 buildall x86_64-pc-linux-gnu -m32
203 buildall x86_64-pc-linux-gnu -m64
204fi
205
206if [ "${MYOS}" == "Darwin" ]; then
207 # OS X
208 buildall x86_64-apple-darwin -m32
209 buildall x86_64-apple-darwin -m64
210fi
189 211
190# Windows 212# Cross compile
191buildall i686-w64-mingw32 -mconsole "${MINGW_CFLAGS}" "" 213buildall i686-w64-mingw32 -mconsole "${MINGW_CFLAGS}"
192buildall x86_64-w64-mingw32 -mconsole "${MINGW_CFLAGS}" "" 214buildall x86_64-w64-mingw32 -mconsole "${MINGW_CFLAGS}"
193 215
194cat >> Makefile.test <<EOF 216cat >> Makefile.test <<EOF
195 217
196linux: linux-selftest linux-regtest 218all: linux windows apple
197windows: windows-selftest windows-regtest 219
220clean: ${CLEAN}
198 221
222linux: linux-build linux-selftest linux-regtest
223windows: windows-build windows-selftest windows-regtest
224apple: apple-build apple-selftest apple-regtest
225
226linux-build: ${LINUXTGTS}
199linux-selftest: ${LINUXTEST1} 227linux-selftest: ${LINUXTEST1}
200linux-regtest: ${LINUXTEST2} 228linux-regtest: ${LINUXTEST2}
201 229
230windows-build: ${WINTGTS}
202windows-selftest: ${WINTEST1} 231windows-selftest: ${WINTEST1}
203windows-regtest: ${WINTEST2} 232windows-regtest: ${WINTEST2}
204 233
234apple-build: ${OSXTGTS}
235apple-selftest: ${OSXTEST1}
236apple-regtest: ${OSXTEST2}
237
205EOF 238EOF