53 lines
1.1 KiB
Bash
Executable File
53 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
MASON_NAME=bzip2
|
|
MASON_VERSION=1.0.6
|
|
MASON_LIB_FILE=lib/libbz2.a
|
|
|
|
. ${MASON_DIR}/mason.sh
|
|
|
|
function mason_load_source {
|
|
mason_download \
|
|
http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz \
|
|
e47e9034c4116f467618cfaaa4d3aca004094007
|
|
|
|
mason_extract_tar_gz
|
|
|
|
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION}
|
|
}
|
|
|
|
function read_link() {
|
|
case "$(uname -s)" in
|
|
'Linux') readlink -f $1;;
|
|
'Darwin') readlink $1;;
|
|
*) echo 1;;
|
|
esac
|
|
}
|
|
|
|
function mason_compile {
|
|
make install PREFIX=${MASON_PREFIX} CC="$CC" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS"
|
|
# symlinks are not portable, so now we recurse into /bin directory
|
|
# and fix them to be portable by being relative
|
|
cd ${MASON_PREFIX}/bin
|
|
for i in $(ls *); do
|
|
if [[ -L $i ]]; then
|
|
ln -sf $(basename $(read_link $i)) $i
|
|
fi
|
|
done
|
|
# TODO: android may need ranlib manual call
|
|
}
|
|
|
|
function mason_cflags {
|
|
echo "-I${MASON_PREFIX}/include"
|
|
}
|
|
|
|
function mason_ldflags {
|
|
echo "-L${MASON_PREFIX}/lib -lbz2"
|
|
}
|
|
|
|
function mason_clean {
|
|
make clean
|
|
}
|
|
|
|
mason_run "$@"
|