"Fossies" - the Fresh Open Source Software Archive

Member "xdelta3-3.0.11/run_release.sh" (11 Nov 2015, 5543 Bytes) of package /linux/misc/xdelta3-3.0.11.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bash source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 #!/bin/bash
    2 
    3 # Run from the source dir.
    4 SRCDIR=${PWD}
    5 
    6 # TODO replace w/ wget
    7 LZMA="xz-5.2.1"
    8 LZMA_FILE="${SRCDIR}/../${LZMA}.tar.xz"
    9 
   10 MAKEFLAGS="-j 10"
   11 
   12 BUILDDIR=${SRCDIR}/build
   13 LZMASRC=${BUILDDIR}/${LZMA}
   14 
   15 NONWIN_CFLAGS=""
   16 MINGW_CFLAGS="-DEXTERNAL_COMPRESSION=0 -DXD3_WIN32=1 -DSHELL_TESTS=0"
   17 
   18 MYOS=`uname`
   19 DATE=`date`
   20 
   21 CLEAN=""
   22 
   23 LINUXTGTS=""
   24 LINUXTEST1=""
   25 LINUXTEST2=""
   26 
   27 WINTGTS=""
   28 WINTEST1=""
   29 WINTEST2=""
   30 
   31 OSXTGTS=""
   32 OSXTEST1=""
   33 OSXTEST2=""
   34 
   35 XTMP="/tmp"
   36 if [ "${TMP}" != "" ]; then
   37     XTMP="${TMP}"
   38 fi
   39 if [ "${TMPDIR}" != "" ]; then
   40     XTMP="${TMPDIR}"
   41 fi
   42 
   43 find build -type f 2> /dev/null | xargs rm -f
   44 
   45 function setup {
   46     libtoolize
   47     automake --add-missing
   48     aclocal -I m4
   49     automake
   50     autoheader
   51     autoconf
   52 }
   53 
   54 function try {
   55     local w=$1
   56     shift
   57     local dir=$1
   58     shift
   59     echo -n "   ${w} ... "
   60     (cd "${dir}" && "$@" >${w}.stdout 2>${w}.stderr)
   61     local s=$?
   62     if [ ${s} -eq 0 ]; then
   63     echo " success"
   64     else
   65     echo " failed!"
   66     echo "Error $1 in ${dir}" >&2
   67     fi
   68     return ${s}
   69 }
   70 
   71 function buildlzma {
   72     host=$1
   73     march=$2
   74     local target="${BUILDDIR}/lib-${host}${march}"
   75 
   76     echo "  ... liblzma"
   77     
   78     mkdir -p ${target}
   79 
   80     try configure-lzma ${target} ${LZMASRC}/configure \
   81     --host=${host} \
   82     --prefix=${target} \
   83     --disable-shared \
   84     "CFLAGS=${march}" \
   85     "CXXFLAGS=${march}" \
   86     "LDFLAGS=${march}"
   87     if [ $? -ne 0 ]; then
   88     return
   89     fi
   90 
   91     try build-lzma ${target} make ${MAKEFLAGS}
   92     if [ $? -ne 0 ]; then
   93         return
   94     fi
   95     try install-lzma ${target} make install
   96     if [ $? -ne 0 ]; then
   97         return
   98     fi
   99 }
  100 
  101 function buildit {
  102     local host=$1
  103     local march=$2
  104     local offsetbits=$3
  105     local cargs=$4
  106     local afl=$5
  107     local BM="${host}${march}"
  108     local USECC="${CC}"
  109     local USECXX="${CXX}"
  110     local LIBBM="${BM}"
  111 
  112     if [ "${afl}" = "1" ]; then
  113     USECC="afl-gcc"
  114     USECXX="afl-g++"
  115     BM="${BM}-afl"
  116     fi
  117 
  118     local D="build/${BM}/xoff${offsetbits}"
  119     local BMD="${BM}-${offsetbits}"
  120     local FULLD="${SRCDIR}/${D}"
  121     local CFLAGS="${march} ${cargs} -I${SRCDIR}/build/lib-${LIBBM}/include"
  122     local CXXFLAGS="${march} ${cargs} -I${SRCDIR}/build/lib-${LIBBM}/include"
  123     local CPPFLAGS="-I${SRCDIR}/build/lib-${LIBBM}/include"
  124     local LDFLAGS="${march} -L${SRCDIR}/build/lib-${LIBBM}/lib"
  125 
  126     mkdir -p ${D}
  127 
  128     echo "  ... ${BMD}"
  129     
  130     cat >> Makefile.test <<EOF
  131 
  132 # ${BMD}
  133 # ${CFLAGS}
  134 .PHONY: build-${BMD}
  135 build-${BMD}:
  136     (cd ${D} && make all && make install)
  137 
  138 .PHONY: clean-${BMD}
  139 clean-${BMD}:
  140     (cd ${D} && make clean)
  141 
  142 .PHONY: regtest-${BMD}
  143 regtest-${BMD}:
  144     (cd ${D} && ./xdelta3regtest 1> \${TMP}/regtest.${BMD}.stdout 2> \${TMP}/regtest.${BMD}.stderr)
  145 
  146 .PHONY: selftest-${BMD}
  147 selftest-${BMD}:
  148     (cd ${D} && ./bin/xdelta3 test 1> \${TMP}/selftest.${BMD}.stdout 2> \${TMP}/selftest.${BMD}.stderr)
  149 
  150 
  151 EOF
  152 
  153     case ${host} in
  154     *linux*)
  155         LINUXTGTS="${LINUXTGTS} build-${BMD}"
  156         LINUXTEST1="${LINUXTEST1} selftest-${BMD}"
  157         LINUXTEST2="${LINUXTEST2} regtest-${BMD}"
  158         ;;
  159     *mingw*)
  160         WINTGTS="${WINTGTS} build-${BMD}"
  161         WINTEST1="${WINTEST1} selftest-${BMD}"
  162         WINTEST2="${WINTEST2} regtest-${BMD}"
  163         ;;
  164     *apple*)
  165         OSXTGTS="${OSXTGTS} build-${BMD}"
  166         OSXTEST1="${OSXTEST1} selftest-${BMD}"
  167         OSXTEST2="${OSXTEST2} regtest-${BMD}"
  168         ;;
  169     esac
  170     CLEAN="${CLEAN} clean-${BMD}"
  171 
  172     try configure-xdelta ${FULLD} ${SRCDIR}/configure \
  173               --host=${host} \
  174               --prefix=${FULLD} \
  175               --enable-static \
  176               --disable-shared \
  177               --enable-debug-symbols \
  178           "CFLAGS=${CFLAGS}" \
  179           "CXXFLAGS=${CXXFLAGS}" \
  180           "CPPFLAGS=${CPPFLAGS}" \
  181           "LDFLAGS=${LDFLAGS}" \
  182           "CC=${USECC}" \
  183           "CXX=${USECXX}"
  184     if [ $? -ne 0 ]; then
  185     return
  186     fi
  187 
  188     # try build-xdelta ${FULLD} make ${MAKEFLAGS} all
  189     # if [ $? -ne 0 ]; then
  190     #   return
  191     # fi
  192 
  193     # try install-xdelta ${FULLD} make install
  194 }
  195 
  196 function buildall {
  197     echo ""
  198     echo "Host $1$2 afl=$4"
  199     echo ""
  200 
  201     buildlzma "$1" "$2"
  202     buildit "$1" "$2" 32 "-DXD3_USE_LARGEFILE64=0 $3" "$4"
  203     buildit "$1" "$2" 64 "-DXD3_USE_LARGEFILE64=1 $3" "$4"
  204 }
  205 
  206 setup
  207 
  208 try untar-lzma ${BUILDDIR} tar -xvf "${LZMA_FILE}"
  209 if [ $? -ne 0 ]; then
  210     exit $?
  211 fi
  212 
  213 cat > Makefile.test <<EOF
  214 # Auto-generated ${DATE} -*- Mode: Makefile -*-
  215 TMP = ${XTMP}
  216 
  217 all: linux windows apple
  218 
  219 EOF
  220 
  221 # Native compiles
  222 if [ "${MYOS}" == "Linux" ]; then
  223     # Linux
  224     buildall x86_64-pc-linux-gnu -m32 "${NONWIN_CFLAGS}" "0"
  225     buildall x86_64-pc-linux-gnu -m32 "${NONWIN_CFLAGS}" "1"
  226     buildall x86_64-pc-linux-gnu -m64 "${NONWIN_CFLAGS}" "0"
  227     buildall x86_64-pc-linux-gnu -m64 "${NONWIN_CFLAGS}" "1"
  228 fi
  229 
  230 if [ "${MYOS}" == "Darwin" ]; then
  231     # OS X
  232     buildall x86_64-apple-darwin -m32 "${NONWIN_CFLAGS}" "0"
  233     buildall x86_64-apple-darwin -m64 "${NONWIN_CFLAGS}" "0"
  234 fi
  235 
  236 # Cross compile
  237 buildall i686-w64-mingw32 -mconsole "${MINGW_CFLAGS}" "0"
  238 buildall x86_64-w64-mingw32 -mconsole "${MINGW_CFLAGS}" "0"
  239 
  240 cat >> Makefile.test <<EOF
  241 
  242 clean: ${CLEAN}
  243 
  244 .PHONY: linux windows apple
  245 .PHONY: linux-build windows-build apple-build
  246 .PHONY: linux-selftest windows-selftest apple-selftest
  247 .PHONY: linux-regtest windows-regtest apple-regtest
  248 
  249 linux: linux-build linux-selftest linux-regtest
  250 windows: windows-build windows-selftest windows-regtest
  251 apple: apple-build apple-selftest apple-regtest
  252 
  253 linux-build: ${LINUXTGTS}
  254 linux-selftest: ${LINUXTEST1}
  255 linux-regtest: ${LINUXTEST2}
  256 
  257 windows-build: ${WINTGTS}
  258 windows-selftest: ${WINTEST1}
  259 windows-regtest: ${WINTEST2}
  260 
  261 apple-build: ${OSXTGTS}
  262 apple-selftest: ${OSXTEST1}
  263 apple-regtest: ${OSXTEST2}
  264 
  265 EOF