blob: 263a7f56b8103a9fba661dd1ec2824deb21d9144 [file] [log] [blame]
#!/bin/bash
#
# Build the cmark-gfm library and extensions within CURRENT DIRECTORY.
#
# USAGE:
# $ build-cmark.sh [ VERSION [ TARDIR ] ]
#
# VERSION: defaults to 0.28.3.gfm.12
# TARDIR: where to find a downloaded/cached tarball of the cmark
# code, or where to place a tarball
#
# Echo all of our steps
set -x
#VERSION=0.28.3.gfm.20 ### not yet
VERSION=0.28.3.gfm.12
if [ "$1" != "" ]; then VERSION="$1"; fi
# The tarball exists here, or will be downloaded here.
TARDIR="."
if [ "$2" != "" ]; then TARDIR="$2"; fi
ARCHIVES="https://github.com/github/cmark/archive"
LOCAL="${TARDIR}/cmark-gfm.$VERSION.orig.tar.gz"
EXTRACTED_AS="cmark-gfm-$VERSION"
# Follow redirects, and place the result into known name $LOCAL
if [ -f "$LOCAL" ]; then
echo "Using cached tarball: ${LOCAL}"
else
echo "Fetching from cmark archives"
curl -L -o "$LOCAL" "$ARCHIVES/$VERSION.tar.gz" || exit 1
fi
# Clean anything old, then extract and build.
### somebody smart could peek into the .tgz. ... MEH
if [ -d "$EXTRACTED_AS" ]; then rm -r "$EXTRACTED_AS"; fi
tar xzf "$LOCAL"
pushd "$EXTRACTED_AS"
mkdir build
pushd build
cmake -DCMARK_TESTS=OFF -DCMARK_STATIC=OFF ..
make
popd
mkdir lib
cp -Pp build/src/lib* lib/
cp -Pp build/extensions/lib* lib/
popd
# These files/dir may need a reference with LD_LIBRARY_PATH.
# gfm.py wants this lib/ in LIBCMARKLOCATION.
ls -laF "$EXTRACTED_AS/lib/"
# Provide a handy line for copy/paste.
echo "export LIBCMARKDIR='$(pwd)/$EXTRACTED_AS/lib'"