#!/bin/sh

# This is a special build script for building only the tdebase help handbook files. The intent is to allow
# editing/revising of those files and to quickly rebuild the that part of the tdebase pacakge. The
# script creates a package named tdebase-help and must be removed before removing or updating tdebase.

PRGNAM=tdebase-help
SRCNAM=tdebase
PKGNAM="$PRGNAM"
CWD=`pwd`
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PRGNAM

# This script can be run individually or in batch mode from ../TDE.SlackBuild.
# Ensure then all necessary variables are sourced.
# Set the config option variables if not already set.
if [ -r ../TDE.options ]; then
  source ../TDE.options
elif [ -r ../../TDE.options ]; then
  source ../../TDE.options
else
  echo "Cannot read TDE.options. Please correct this problem."
  exit 1
  echo
fi
GIT_SOURCES_PKG_DIR=$GIT_SOURCES/main/$SRCNAM

START_TIME="`date +%s`"

if [ -z "$PREFIX" ] && [ -z "$SYSCONFDIR" ] && [ -z "$LIBDIR" ]; then
  get_version
  get_build
  which_build_sources
  trinity_warning
  output_dir
  local_options_check
  set_config_options
  run_preinstall_checks
  source_local_options $PRGNAM
  check_package_name $PRGNAM
#   tdeprofile_check
fi

echo "========================================================================"
# Start with clean sources.
echo "Prepping for a clean build..."
if [ -n $START_TIME ]; then
  echo
  echo "Start time: `date --date=@\"$START_TIME\" +'%F %T'`"
fi
echo
rm -rf $PKG
rm -fr $TMP/$PRGNAM*
rm -rf $TMP/$SRCNAM*
mkdir -p $PKG${PREFIX}

cd $TMP
echo "Building $PRGNAM-$VERSION-$ARCH-$BUILD${TAG}.${PKGTYPE:-tgz}."
echo
echo "Package will be stored at $OUTPUT."
echo
sleep 1

if [ "$GIT" = "true" ]; then
  echo "Copying $GIT_SOURCES_PKG_DIR source files to $TMP..."
  cp -a $GIT_SOURCES_PKG_DIR $TMP/ || exit 1
  SOURCES_ROOT=$TMP/$SRCNAM
  cd $SOURCES_ROOT || exit 1
  echo
  create_src_tarball `basename \`pwd\``
  if [ -r $GIT_SOURCES_PKG_DIR/CMakeLists.txt ]; then
    # Presume a cmake build.
    export GIT="false"
  fi
else
  # Build from a source tarball.
  ONLINE_SOURCE=""
  verify_tarball "$RELEASE_SOURCES/$PRGNAM-$VERSION" "$ONLINE_SOURCE"
  if [ -d $TMP/$SRCNAM-$VERSION ]; then
    cd $TMP/$SRCNAM-$VERSION || exit 1
    SOURCES_ROOT=${TMP}/${SRCNAM}-${VERSION}
  elif [ -d $TMP/$SRCNAM ]; then
    cd $TMP/$SRCNAM || exit 1
    SOURCES_ROOT=${TMP}/${SRCNAM}
  elif [ -d $ONLINE_SOURCE/$SRCNAM ]; then
    cd $ONLINE_SOURCE/$SRCNAM || exit 1
    SOURCES_ROOT=${ONLINE_SOURCE}/${SRCNAM}
  else
    echo "What is the name of the unpacked sources directory? Exiting."
    exit 1
  fi
  echo
fi
# Apply patches here.
if [ -r $CWD/apply-patches.sh ]; then
  . $CWD/apply-patches.sh
fi

echo "Sources directory: $SOURCES_ROOT"
echo

make_config

if [ "`pwd`" != "$GIT_SOURCES_PKG_DIR" ] ;then
  echo "Updating build environment file and directory permissions..."
  chown -R root:root .
  find . -type d -exec chmod 755 {} \;
  find . -type f ! -perm -o=r -exec chmod o+r {} \;
fi

rm CMakeCache.txt 2>/dev/null
mkdir -p ${TMP}/${PRGNAM}.build

cd ${TMP}/${PRGNAM}.build
cmake $SOURCES_ROOT \
  -DCMAKE_C_FLAGS:STRING="$CPUOPT" \
  -DCMAKE_CXX_FLAGS:STRING="$CPUOPT $DEBUG_CMAKE_OPT" \
  -DCMAKE_INSTALL_PREFIX=${PREFIX} \
  -DCMAKE_SKIP_RPATH=OFF \
  -DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \
  -DLIB_SUFFIX=${LIBDIRSUFFIX} \
  -DMAN_INSTALL_DIR=${MANDIR} \
  -DBUILD_DOC=ON \
  -DBUILD_ALL=OFF || exit 1

if [ "$TEE_OUTPUT" = "false" ]; then
  make $NUMJOBS --silent || exit 1
else
  make $NUMJOBS VERBOSE=1 || exit 1
fi

make install DESTDIR=$PKG || exit 1

rm -fr $PKG${PREFIX}/bin

strip_binaries

cd $PKG
makepkg -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD${TAG}.${PKGTYPE:-tgz}

# cleanup
rm -rf $TMP/$PRGNAM*
rm -rf $PKG

END_TIME="`date +%s`"
echo
echo "End time: `date --date=@\"$END_TIME\" +'%F %T'`"
total_compile_time `basename $0`
echo "========================================================================"
