#!/bin/sh

set -eu

. /usr/share/geordi/_functions

Echo_info "Compiling prelude"

TEMPDIR=$(mktemp -d)

Echo_debug "Changing to temporary directory"
OLD_DIR="$(pwd)"
cd "${TEMPDIR}"

Echo_debug "Copying prelude to temporary directory"
cp "${PRELUDE_DIR}"/* .

Echo_debug "Compiling prelude"
${GXX} ${COMPILE_FLAGS} -c prelude.cpp tracked.cpp type_strings.cpp
${GXX} ${COMPILE_FLAGS} -fPIC -shared -Wl,-soname,libtpreload.so.0 -o "${RT}"/libtpreload.so.0.0 tpreload.cpp

Echo_debug "Reverting to previous directory"
cd ${OLD_DIR}

Echo_debug "Linking prelude"
rm -f "${RT}/prelude.a"
ar -rsc "${RT}/prelude.a" "${TEMPDIR}"/*.o

Echo_debug "Pre-compiling headers"
${GXX} ${COMPILE_FLAGS} -c -x c++-header "${PRELUDE_DIR}"/prelude.hpp -o "${RT}"/prelude.hpp.gch

Echo_debug "Removing temporary dir"
rm -rf "${TEMPDIR}"
