#! /bin/bash

# Define parameters
VERS=0.17
SRC="src/tcc4tcl-${VERS}.tar.gz"
SRCURL="http://rkeene.org/devel/tcc4tcl-${VERS}.tar.gz"
BUILDDIR="tcc4tcl-${VERS}"
LICENSE="LGPLv2.1"
export VERS SRC SRCURL BUILDDIR

# Load common functions
source ../common.sh

# Do not build if the "tcl" platform has been requested
not_platforms 'tcl'

# Download source
download_src

# Extract package
(
	rm -rf build
	mkdir build

	cd build/ || exit 1
	gzip -dc "../${SRC}" | tar -xf -
)

# Apply patches
apply_patches

# Build package
(
	mkdir -p "${PLATDIR}" >/dev/null 2>/dev/null

	cd "build" || exit 1
	cd "${BUILDDIR}" || exit 1

	# TCC ships with object files in the way
	${MAKE:-make} distclean >/dev/null 2>/dev/null

	bash ./configure --enable-shared --enable-threads --with-tcl="${TCLCONFIGDIR}" --prefix="${PLATDIR}" --libdir="${PLATDIR}" --bindir="${PLATDIR}" ${CONFIGUREEXTRA}

	${MAKE:-make} PACKAGE_INSTALL_DIR="${PLATDIR}" || exit 1

	${MAKE:-make} PACKAGE_INSTALL_DIR="${PLATDIR}" install || exit 1
) || exit 1

# Create metadata
../create_teapot "${PLATDIR}/teapot.txt" "tcc4tcl" "${VERS}" "${SRCURL}" "${PLATFORM}" "Tcl 8.4" "tcc4tcl provides a Tcl binding to the TinyCC compiler. It allows dynamic compilation of C code from within a Tcl interpreter." "${LICENSE}"

exit 0
