#!/bin/sh

# this configure script is a sanity check, not really a configurator
#

# buildapi-variable-no-builddir
# buildapi-variable-supports-runtime-devel

# set -x
LIB_PKGMODULES='mmm'

if ( grep 'MRG_CAIRO 1' lib/mrg-config.h > /dev/null ); then 
  LIB_PKGMODULES=$LIB_PKGMODULES" cairo"
fi
grep 'MRG_GTK 1' lib/mrg-config.h > /dev/null && LIB_PKGMODULES=$LIB_PKGMODULES" gtk+-3.0"


# if there is no config file, perhaps do auto-detect for pkg-config?

help(){
    echo ""
    echo "Usage:"
    echo "  ./configure [--prefix=/opt] [--libdir=/lib] [CFLAGS='-Ofast'] [CXXFLAGS='..']"
    echo " Dependency options:"
    echo "   --enable-gtk"
    echo "   --disable-gtk"
    exit 0
}

disable_gtk()
{
  echo disabling
    cat lib/mrg-config.h | sed 's/define MRG_GTK.*/define MRG_GTK 0/' > tmp
    mv tmp lib/mrg-config.h
    LIB_PKGMODULES=`echo $LIB_PKGMODULES | sed s/gtk+-3.0//`
}
enable_gtk()
{
    cat lib/mrg-config.h | sed 's/define MRG_GTK.*/define MRG_GTK 1/' > tmp
    mv tmp lib/mrg-config.h
    LIB_PKGMODULES=`echo $LIB_PKGMODULES | sed s/gtk+-3.0//`
    LIB_PKGMODULES=$LIB_PKGMODULES" gtk+-3.0"
}
disable_alsa()
{
  echo disabling
    cat lib/mrg-config.h | sed 's/define MRG_ALSA.*/define MRG_ALSA 0/' > tmp
    mv tmp lib/mrg-config.h
    LIB_PKGMODULES=`echo $LIB_PKGMODULES | sed s/alsa//`
}
enable_alsa()
{
    cat lib/mrg-config.h | sed 's/define MRG_ALSA.*/define MRG_ALSA 1/' > tmp
    mv tmp lib/mrg-config.h
    LIB_PKGMODULES=`echo $LIB_PKGMODULES | sed s/alsa//`
    LIB_PKGMODULES=$LIB_PKGMODULES" alsa"
}

auto()
{
  pkg-config gtk+-3.0 && enable_gtk || disable_gtk
  pkg-config alsa && enable_alsa || disable_alsa
}

echo > config
while [ "$1" ] ; do

  if ( echo $1 | grep "^--disable-gtk" > /dev/null ); then
    disable_gtk
  fi
  if ( echo $1 | grep "^--enable-gtk"  > /dev/null ); then
    enable_gtk
  fi
  if ( echo $1 | grep "^--disable-alsa" > /dev/null ); then
    disable_alsa
  fi
  if ( echo $1 | grep "^--enable-alsa"  > /dev/null ); then
    enable_alsa
  fi
  if ( echo $1 | grep "^--prefix=" > /dev/null ); then
    echo PREFIX=`echo $1 | sed 's/^--prefix=//'` >> config
  fi
  if ( echo $1 | grep "^--libdir=" > /dev/null ); then
    echo LIBDIR=`echo $1 | sed 's/^--libdir=//'` >> config
  fi
  if ( echo $1 | grep "^CFLAGS=" > /dev/null ); then
    echo CFLAGS=`echo $1 | sed 's/^CFLAGS=//'` >> config
  fi
  if ( echo $1 | grep "^CXXFLAGS=" > /dev/null ); then
    echo CXXFLAGS=`echo $1 | sed 's/^CXXFLAGS=//'` >> config
  fi

  if [ "x$1" = "x--help" ]; then
    help
  fi

  shift;
done

if [ -z "$1" ]; then
  auto
fi

echo LIB_PKGMODULES=`echo $LIB_PKGMODULES` >> config

echo The configure script for `make _name`
echo "pass --help for usage information"
echo ""

deps='pkg-config make sed grep'
for a in $deps;do which $a > /dev/null || ( echo "$a missing"; exit);done

 make _pkgtest || exit
echo ""
echo "dependencies: "$LIB_PKGMODULES
