build.sh at [c80dceaca0]

File server/buildpkgs/tcc/build.sh artifact 0cb0b2dec3 part of check-in c80dceaca0


#! /bin/bash

# Define parameters
VERS=0.4
SRC="src/tcltcc${VERS}.zip"
SRCURL="http://tcltcc.googlecode.com/files/tcltcc${VERS}.zip"
BUILDDIR="tcltcc-${VERS}"
export VERS SRC SRCURL BUILDDIR

# Load common functions
source ../common.sh

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

# Only build for the following platforms
only_platforms_regexp '-ix86$'

# Download source
download_src

# Extract package
(
	rm -rf build
	mkdir build

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

	unzip -q "../../${SRC}"
)

# 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

	# This file needs to be executable, but it is not by default in 0.4
	chmod +x tclconfig/install-sh

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

	${MAKE:-make} || exit 1

	${MAKE:-make} install-binaries PKG_DIR='' || exit 1

	rm -f "${PLATDIR}"/*.a
) || exit 1

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

exit 0