#!/bin/sh

TARGET=icc_examin
TARGET_NAME="ICC Examin"
BINTARGET="`echo $TARGET | sed s/_//g`"
ERROR=0

ROOT_DIR="$0"
ROOT_DIR=`echo $ROOT_DIR | sed 's%/configure%%1'`
ROOT_DIR=`(cd $ROOT_DIR; pwd)`

CONF_H=config.h
CONF=makefile
CONF_TEMP_SH=config.tmp.sh
CONF_LOG=config.log
CONF_I18N=fl_i18n/makefile
SPEC=$TARGET.spec
VERS_H="$TARGET"_version.h
OSX_SCRIPT="$TARGET_NAME".sh
zeile="$0 $@"
MAKEFILE_DIR=". fl_i18n bsp"; export MAKEFILE_DIR


if [ "$ROOT_DIR" != "." ]; then
  mkdir -p fl_i18n/
  mkdir -p FL/
  mkdir -p Flmm/
  mkdir -p bsp/
  mkdir -p tests/
fi

export ROOT_DIR
export CONF_H CONF CONF_I18N CONF_TEMP_SH CONF_LOG

test -f error.tmp && rm error.tmp
test -f $CONF_TEMP_SH && rm $CONF_TEMP_SH

VERSION_A=0
VERSION_B=5
VERSION_C=5
RELEASE=0
START_MONTH="May"
START_YEAR="2004"
DEVEL_MONTH="March"
DEVEL_YEAR="2014"
GIT_MASTER="`cat $ROOT_DIR/.git/refs/heads/master`"
time="`date +%y%m%d.%H%M%S`"
DATE="$START_MONTH $START_YEAR - $DEVEL_MONTH $DEVEL_YEAR"
VERSION=$VERSION_A.$VERSION_B$VERSION_C
if [ $VERSION_A -gt 9 ]; then
  VERSION_L="$VERSION_A"
else
  VERSION_L="0$VERSION_A"
fi
if [ $VERSION_B -gt 9 ]; then
  VERSION_L="$VERSION_L$VERSION_B"
else
  VERSION_L="${VERSION_L}0$VERSION_B"
fi
if [ $VERSION_C -gt 9 ]; then
  VERSION_L="$VERSION_L$VERSION_C"
else
  VERSION_L="${VERSION_L}0$VERSION_C"
fi
VERSION_L=`echo $VERSION_L | sed 's/^0*//g'`

INFOECHO="echo"

cwdebug=0
debug=0
verbose=1
nodeps=0
openmp=1
rpm=0

# find a suitable fltk-config script
fltkconfig="fltk-config"
old_IFS=$IFS; 
IFS=:
for i in $PATH; do
  test -x "$i/$fltkconfig" && fltkconfig_="$i/$fltkconfig"
done
if [ -z "$fltkconfig_" ]; then
  for i in $PATH; do
    test -x "$i/fltk-utf8-config" && fltkconfig_="$i/fltk-utf8-config"
  done
fi
if [ -n "$fltkconfig_" ]; then
  fltkconfig="$fltkconfig_"
fi
IFS=$old_IFS

if [ $# -gt 0 ]; then
  prefix=""
  while [ $# -gt 0 ]; do
    arg=$1
    # prefix exec_prefix bindir sbindir libdir includedir datadir mandir
    switch=prefix
    if [ "`echo \"$1\" | sed s/\"--$switch=\"//`" != "$1" ]; then
      prefix="`echo \"$1\" | sed s/\"--$switch=\"//`"
    fi
    switch="exec-prefix"
    if [ "`echo \"$1\" | sed s/\"--$switch=\"//`" != "$1" ]; then
      exec_prefix="`echo $1 | sed s/--$switch=//`"
    fi
    switch=bindir
    if [ "`echo \"$1\" | sed s/\"--$switch=\"//`" != "$1" ]; then
      bindir="`echo $1 | sed s/--$switch=//`"
    fi
    switch=sbindir
    if [ "`echo \"$1\" | sed s/\"--$switch=\"//`" != "$1" ]; then
      sbindir="`echo $1 | sed s/--$switch=//`"
    fi
    switch=libdir
    if [ "`echo \"$1\" | sed s/\"--$switch=\"//`" != "$1" ]; then
      libdir="`echo $1 | sed s/--$switch=//`"
    fi
    switch=includedir
    if [ "`echo \"$1\" | sed s/\"--$switch=\"//`" != "$1" ]; then
      includedir="`echo $1 | sed s/--$switch=//`"
    fi
    switch=datadir
    if [ "`echo \"$1\" | sed s/\"--$switch=\"//`" != "$1" ]; then
      datadir="`echo $1 | sed s/--$switch=//`"
    fi
    switch=mandir
    if [ "`echo \"$1\" | sed s/\"--$switch=\"//`" != "$1" ]; then
      mandir="`echo $1 | sed s/--$switch=//`"
    fi
    # pixmapdir desktopdir
    switch=pixmapdir
    if [ "`echo \"$1\" | sed s/\"--$switch=\"//`" != "$1" ]; then
      pixmapdir="`echo $1 | sed s/--$switch=//`"
    fi
    switch=desktopdir
    if [ "`echo \"$1\" | sed s/\"--$switch=\"//`" != "$1" ]; then
      desktopdir="`echo $1 | sed s/--$switch=//`"
    fi
    switch=with-fltk-config
    if [ "`echo \"$1\" | sed s/\"--$switch=\"//`" != "$1" ]; then
      fltkconfig="`echo $1 | sed s/--$switch=//`"
      fltkldflags="--ldstaticflags"
    fi
    switch=fltk-config-flags
    if [ "`echo \"$1\" | sed s/\"--$switch=\"//`" != "$1" ]; then
      fltkflags="`echo $1 | sed s/--$switch=//`"
    fi
    switch=enable-cwdebug
    if [ "`echo \"$1\" | sed s/\"--$switch=\"//`" != "$1" ]; then
      cwdebug="`echo $1 | sed s/--$switch=//`"
    fi
    switch=enable-cwdebug
    if [ "`echo \"$1\" | sed s/\"--$switch\"//`" != "$1" ]; then
      cwdebug="1"
    fi
    switch=with-rpath
    if [ "`echo \"$1\" | sed s/\"--$switch\"//`" != "$1" ]; then
      rpath=1
    fi
    switch=quick
    if [ "`echo \"$1\" | sed s/\"--$switch\"//`" != "$1" ]; then
      quick="1"
    fi
    switch=enable-debug
    if [ "`echo \"$1\" | sed s/\"--$switch\"//`" != "$1" ]; then
      debug="1"
    fi
    switch=disable-openmp
    if [ "`echo \"$1\" | sed s/\"--$switch\"//`" != "$1" ]; then
      openmp="0"
    fi
    switch=disable-verbose
    if [ "`echo \"$1\" | sed s/\"--$switch\"//`" != "$1" ]; then
      verbose="0"
    fi
    switch=disable-dependency-tracking
    if [ "`echo \"$1\" | sed s/\"--$switch\"//`" != "$1" ]; then
      nodeps="1"
    fi
    switch=help
    if [ "`echo \"$1\" | sed s/\"--$switch\"//`" != "$1" ]; then
      echo "Usage:"
      echo "   --prefix=[/usr/local]                package prefix"
      echo "   --exec-prefix=[\$prefix]              package exec-prefix"
      echo "   --bindir=[\$exec-prefix/bin]          binary installation path"
      echo "   --sbindir=[\$exec-prefix/sbin]        super user binary installation path"
      echo "   --libdir=[\$exec-prefix/lib]          library installation path"
      echo "   --includedir=[\$prefix/include]       include file installation"
      echo "   --datadir=[\$prefix/data]             application data base path"
      echo "   --mandir=[\$datadir/man]              manual installation path"
      echo "   --pixmapdir=[\$datadir/pixmaps]       icon installation path"
      echo "   --desktopdir=[\$datadir/applications] xdg installation path"
      echo ""
      echo "   --with-fltk-config=[fltk-config]     alternative fltk version"
      echo "   --fltk-config-flags=[]               additional fltk flags"
      echo "   --enable-debug                       debug version"
      echo "   --disable-openmp                     SMP support [default enabled]"
      echo "   --disable-verbose                    non verbose compiling"
      echo "   --disable-dependency-tracking        no dependencies [default check]"
      echo "   --enable-cwdebug=[\$cwdebugdir]       deploy cwlibary for debugging"
      echo "   --with-rpath                         use rpath for ELF linking"
      echo "   --quick                              generate config files only"
      echo "   --help"
      echo ""
      echo " Optionally set the CC, CXX, CFLAGS, CXXFLAGS and LDFLAGS environment variables."
      echo ""
      exit 0
    fi
    shift
  done
fi

# no RPM spec file generation
if [ 0 -eq $rpm ]; then
  ECHO="echo";
  $ECHO $e "$zeile \$@" > $CONF_LOG
  $ECHO $e "exit 0" >> $CONF_LOG
  $ECHO $e "" >> $CONF_LOG
  $ECHO $e "" >> $CONF_LOG
  chmod 0755 $CONF_LOG
else
  ECHO=""
  RPMECHO="echo"
fi

build_dir="`pwd`"


echo_=""; echo $e "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="################################################################"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="#                                                              #"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="        Welcome to $TARGET_NAME Version $VERSION configurator"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="#                                                              #"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="#                       Configuration                          #"; echo "$echo_" >> $CONF_LOG; echo "$echo_"


#prefix
if [ -z "$prefix" ]; then
  prefix=/usr/local
fi

# define some common variables in front of config.site
if [ -n "$CXX" ]; then
  CXX_saved=$CXX
fi
if [ -n "$CC" ]; then
  CC_saved=$CC
fi
if [ -n "$CFLAGS" ]; then
  CFLAGS_saved=$CFLAGS
  CFLAGS=""
fi
if [ -n "$CXXFLAGS" ]; then
  CXXFLAGS_saved=$CXXFLAGS
  CXXFLAGS=""
fi
if [ -n "$LDFLAGS" ]; then
  LDFLAGS_saved=$LDFLAGS
  LDFLAGS=""
fi

if [ -z "$datadir" ]; then
  if [ -f $prefix/share/config.site ]; then
    . $prefix/share/config.site
    (. $prefix/share/config.site >> $CONF_LOG )
  fi
else
  if [ -f $datadir/config.site ]; then
    . $datadir/config.site
    (. $datadir/share/config.site >> $CONF_LOG )
  fi
fi

# recover variables after config.site
if [ -n "$CXX_saved" ]; then
  CXX="$CXX_saved"
fi
if [ -n "$CC_saved" ]; then
  CC="$CC_saved"
fi
if [ -n "$CFLAGS_saved" ]; then
  CFLAGS="$CFLAGS_saved $CFLAGS"
fi
if [ -n "$CXXFLAGS_saved" ]; then
  CXXFLAGS="$CXXFLAGS_saved $CXXFLAGS"
fi
if [ -n "$LDFLAGS_saved" ]; then
  LDFLAGS="$LDFLAGS_saved $LDFLAGS"
fi

test -f error.txt && rm error.txt
if [ -z "$quick" ]; then
  test -f mkdepend && rm mkdepend config.h cobjects
fi

for i in $MAKEFILE_DIR; do
  test -n "$ECHO" && $ECHO "# automatically generated file by configure - do not edit" > "$i/makefile"
  test -n "$ECHO" && $ECHO "" >> "$i/makefile"
done
echo "/* automatically generated file by configure - do not edit */" > $CONF_H
echo "#ifndef ICCEXAMIN_CONFIG_H" >> $CONF_H
echo "#define ICCEXAMIN_CONFIG_H" >> $CONF_H
echo "" >> $CONF_H

test -n "$ECHO" && $ECHO "TARGET = $TARGET" >> "$CONF"
test -n "$ECHO" && $ECHO "BINTARGET = $BINTARGET" >> "$CONF"
test -n "$ECHO" && $ECHO "" >> "$i/makefile"

echo_=""; echo "$echo_" >> $CONF_LOG; echo "$echo_"


# detect System

UNAME_=`uname`
OSUNAME=BSD
DISTNAME=""
if [ $? = 0 ] && [ $UNAME_ = "Darwin" ]; then
  arch=`uname -p`
  version=`sw_vers -productVersion`
  DISTNAME="osX-$version"
  echo_="Darwin $arch $version   detected"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
  osuname="APPLE = 1"
  echo "#define APPLE 1" >> $CONF_H
  OSX_H=""
  OSUNAME=Darwin
else
  if [ $UNAME_ = "Linux" ]; then
    osuname="LINUX = 1"
    echo "#define LINUX 1" >> $CONF_H
    echo_="Linux system            detected"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
    SYS=0
    if [ -f /etc/SuSE-release ]; then
      if [ `cat /etc/SuSE-release | grep Linux | wc -l` -ne 0 ]; then
        echo_="`cat /etc/SuSE-release | grep Linux`"
        test -n $ECHO && $ECHO $e "$echo_" >> $CONF_LOG; test -n "$INFOECHO" && $INFOECHO "$echo_"
        DISTNAME="$echo_"
        SYS=1; fi
      if [ $SYS -eq 0 ]; then
        echo_="`cat /etc/SuSE-release | grep SUSE`"
        test -n $ECHO && $ECHO $e "$echo_" >> $CONF_LOG; test -n "$INFOECHO" && $INFOECHO "$echo_"
        DISTNAME="$echo_"
        SYS=1; fi fi
    if [ -f /etc/redhat-release ]; then
      echo_="`cat /etc/redhat-release`"
      test -n $ECHO && $ECHO $e "$echo_" >> $CONF_LOG; test -n "$INFOECHO" && $INFOECHO "$echo_"
        DISTNAME="$echo_"
      SYS=1; fi
    if [ -f /etc/debian_version ]; then
      if [ -f /etc/issue.net ]; then
        echo_="`cat /etc/issue.net || cat /etc/debian_version`"
        test -n $ECHO && $ECHO $e "$echo_" >> $CONF_LOG; test -n "$INFOECHO" && $INFOECHO "$echo_"
        DISTNAME="$echo_"
        SYS=2; fi; fi
    if [ $SYS -eq 0 ]; then
      if [ -f /etc/issue.net ]; then
        echo_="`cat /etc/issue.net`"
        test -n $ECHO && $ECHO $e "$echo_" >> $CONF_LOG; test -n "$INFOECHO" && $INFOECHO "$echo_"
        DISTNAME="$echo_"
    fi; fi
    OSUNAME=Linux
  else
    if [ $UNAME_ = "SunOS" ]; then
      osuname="SOLARIS = 1"
      echo "#define SOLARIS 1" >> $CONF_H
      echo_="SunOS                   detected"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
      DISTNAME=$UNAME_
      OSUNAME=SunOS
    else
      if [ $UNAME_ = "OpenBSD" ] || [ $UNAME_ = "NetBSD" ] || [ $UNAME_ = "FreeBSD" ]; then
        osuname="BSD = 1"
        OS_EXT=.bsd
        echo "#define BSD 1" >> $CONF_H
        echo_="BSD $UNAME_             detected"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
        DISTNAME=$UNAME_
        OSUNAME=BSD
      else
        if [ `uname -a | grep W32 | wc -l` -gt 0 ];then
          osuname="WIN32 = 1"
          echo "#define WIN32 1" >> $CONF_H
          echo_="Windows $UNAME_             detected"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
          EXEC_END=".exe"
          export EXEC_END
          DISTNAME=$UNAME_
          OSUNAME=Windows
        else
          echo_="ICC Examin may or may not compile on your $UNAME_ system"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
          DISTNAME=$UNAME_
          OSUNAME=$UNAME_
        fi
      fi
    fi
  fi
fi
for i in $MAKEFILE_DIR; do
  test -n "$ECHO" && $ECHO "$osuname" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "OSX_H = $OSX_H" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "EXEC_END = $EXEC_END" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "MAKEFILE_ARCH = Makefile$OS_EXT" >> "$i/makefile"
done

# detect the compilers bus width options
rm -f tests/intptr_test
if [ -z "$CC" ]; then
  COMPILER=cc
else
  COMPILER=$CC
fi
$COMPILER $CFLAGS $ROOT_DIR/tests/intptr_test.c -o tests/intptr_test 2>/dev/null
if [ -f tests/intptr_test ]; then
  tests/intptr_test
  INTPTR_SIZE=$?
  if [ $INTPTR_SIZE -eq 4 ]; then
    echo_="32-bit build            detected"
  elif [ $INTPTR_SIZE -eq 8 ]; then
    echo_="64-bit build            detected"
    FPIC=-fPIC
    DPIC=-DPIC
    test -n "$ECHO" && $ECHO "BUILD_64 = 1" >> $CONF
  elif [ $INTPTR_SIZE -ne 0 ]; then
    echo_="$INTPTR_SIZE-byte intptr_t          detected"
  else
    echo_="CPU bus width not         detected"
  fi
  test -n "$ECHO" && $ECHO $e "$echo_" >> $CONF_LOG; test -n "$INFOECHO" && $INFOECHO "$echo_"
  rm tests/intptr_test
else
  $COMPILER $CFLAGS $ROOT_DIR/tests/intptr_test.c -o tests/intptr_test
fi
MACH_=`uname -m`
if [ $? = 0 ]; then
  if [ "$MACH_" = "x86_64" ]; then
    echo_="X86_64                  detected"
    test -n "$ECHO" && $ECHO $e "$echo_" >> $CONF_LOG; test -n "$INFOECHO" && $INFOECHO "$echo_"
  else
    if [ "$MACH_" = "sun4u" ]; then
      echo_="spark ultra 4           detected"
      test -n "$ECHO" && $ECHO $e "$echo_" >> $CONF_LOG; test -n "$INFOECHO" && $INFOECHO "$echo_"
    else
      echo_="$MACH_ system             detected"
      test -n "$ECHO" && $ECHO $e "$echo_" >> $CONF_LOG; test -n "$INFOECHO" && $INFOECHO "$echo_"
    fi
  fi
fi
LIBDIR="lib"

for i in $MAKEFILE_DIR; do
  test -n "$ECHO" && $ECHO "$BUILD_64" >> "$i/makefile"
done
export OSUNAME LIBDIR


if [ $OSUNAME = Windows ]; then
  up="`echo $USERPROFILE | sed s%\\\\\\\%/%g`"
  src_dir=`pwd | sed s%/%"C:/MinGW/"%1`
#  src_dir=`echo $src_dir | sed s%$USERNAME/%%`
#  src_dir=`echo $src_dir | sed s%/%%1`
  src_dir=`echo $src_dir | sed s%/%\\\\\\\\\\\\\\\\\\%g`
  test -z "$src_dir" && echo_="src_dir not detected in `pwd`"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
else
  src_dir="$ROOT_DIR"
fi

if [ -z "$CC" ]; then
  if [ $OSUNAME = Windows ]; then
    CC=gcc
  else
    CC=cc
  fi
fi
if [ -z "$CXX" ]; then
  CXX=c++
fi

for i in $MAKEFILE_DIR; do
  test -n "$ECHO" && $ECHO "CC = $CC" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "CXX = $CXX" >> "$i/makefile"
done
export CC CXX

CFLAGS_COMMON="$CFLAGS"
CXXFLAGS_COMMON="$CXXFLAGS"
LDFLAGS_COMMON="$LDFLAGS"
MAKE_CFLAGS="\$(INCL) \$(ARGYLL_H) \$(DEBUG)"
MAKE_CXXFLAGS="\$(INCL) \$(ARGYLL_H) \$(DEBUG)"
MAKE_LDFLAGS="\$(ARGYLL_LIBS)"

# exec_prefix bindir sbindir libdir includedir datadir
if [ -z "$exec_prefix" ]; then
  exec_prefix="$prefix"
fi
if [ -z "$bindir" ]; then
  bindir="$exec_prefix/bin"
fi
if [ -z "$sbindir" ]; then
  sbindir="$exec_prefix/sbin"
fi
if [ -z "$libdir" ]; then
  libdir="$exec_prefix/$LIBDIR"
fi
if [ -z "$includedir" ]; then
  includedir="$prefix/include"
fi
if [ -z "$datadir" ]; then
  datadir="$prefix/share"
fi
if [ -z "$mandir" ]; then
  mandir="$datadir/man"
fi
# pixmapdir desktopdir
if [ -z "$pixmapdir" ]; then
  pixmapdir="$datadir/pixmaps"
fi
if [ -z "$desktopdir" ]; then
  desktopdir="$datadir/applications"
fi
if [ "$cwdebug" -eq "1" ]; then
  cwdebug="$libdir"
else
  if [ `echo $cwdebug | wc -m` -eq 2 ]; then
    if [ "$cwdebug" -eq "0" ]; then
      unset cwdebug
    fi
  fi
fi
export prefix exec_prefix bindir sbindir libdir includedir datadir mandir
export pixmapdir desktopdir
export fltkconfig fltkldflags fltkflags cwdebug debug verbose

PATH=$bindir:$PATH
export PATH



# detect Libraries

if [ $nodeps -eq 1 ]; then
  GCC_MM="echo \"\#disable dependency tracking\""
  nodeps_config_opt=--disable-dependency-tracking
else
  GCC_MM="$CC -MM"
fi

for i in $MAKEFILE_DIR; do
  test -n "$ECHO" && $ECHO "LIB=/"$LIBDIR >> "$i/makefile"
  test -n "$ECHO" && $ECHO "MAKEDEPEND	= $GCC_MM" >> "$i/makefile"
done

# set some compiler and linker options

RM="rm -f $DEBUG_SWITCH"
if [ $OSUNAME = "Darwin" ]; then
  COPY="cp -p $DEBUG_SWITCH"
  LDFLAGS="-L. -L/usr/X11R6/lib"
  MAKE_LDFLAGS="\$(dl) \$(iconv)"
  echo "DBG_LIBS = #-lMallocDebug" >> $CONF
  I18N_LIB="\$(intl) \$(LIBNAME)"
  I18N_LIBSTAT="/opt/local/lib/libintl.a \$(LIBNAME) \$(iconv)"
  INCL="-I\$(includedir) -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 -I./ -I/usr/include/gcc/darwin/default/c++"
  LIBEXT=".dylib"
  LINK_FLAGS="-dynamiclib -L."
  MSGMERGE="msgmerge"
  CFLAGS="-Wall -g $DPIC -Wunused"
  CXXFLAGS="-Wall -g $DPIC"
  REZ="\$(fltkconfig) --post \$@"
  OSX_CPP="\$(OSX_CPPFILES)"
  XGETTEXT_OPTIONS="--keyword=gettext \
        --keyword=_ \
        --keyword=N_"
  INSTALL="install $DEBUG_SWITCH"
else
  LIBMID=".so"
  LIBNAMEFULL="lib\$(TARGET)\$(LIBMID).\$(VERSION_A).\$(VERSION_B).\$(VERSION_C)"
  MSGMERGE="msgmerge"
  MSGMERG_OPTS="--update"
  XGETTEXT_OPTIONS="--keyword=gettext --flag=gettext:1:pass-c-format \
        --keyword=_ --flag=_:1:pass-c-format \
        --keyword=N_ --flag=N_:1:pass-c-format \
        --copyright-holder='Kai-Uwe Behrmann' \
        --msgid-bugs-address='ku.b@gmx.de' \
        --from-code=utf-8"
  if [ $OSUNAME = "Linux" ]; then
    COPY="cp $DEBUG_SWITCH -dpa"
    CFLAGS=""
    CXXFLAGS=""
    LDFLAGS="-L."
    MAKE_LDFLAGS="\$(dl) \$(iconv)"
    I18N_LIB="\$(LIBNAME)"
    I18N_LIBSTAT="\$(LIBNAME)"
    INCL="-I\$(includedir) -I/usr/X11R6/include -I. -I/usr/include/g++ -I/usr/include"
    LINK_FLAGS="-shared \$(dl) $FPIC -L. -lpthread"
    LIBNAMEV="lib\$(TARGET)\$(LIBMID).\$(VERSION_A)"
    if [ -n "$rpath" ]; then
      LINK_LIB_PATH="-Wl,--rpath -Wl,\$(libdir)"
      LINK_SRC_PATH="-Wl,--rpath -Wl,\$(build_dir)"
    fi
    INSTALL="install $DEBUG_SWITCH"
  else
    COPY="cp -p"
    INCL="-I\$(includedir) -I/usr/X11R6/include -I. -I/usr/include/g++ -I/usr/include"
    PIC=$FPIC
    if [ $OSUNAME = "BSD" ]; then
      MAKE_LDFLAGS="\$(iconv)"
      INSTALL="install $DEBUG_SWITCH"
      LINK_FLAGS="-shared \$(iconv)"
      if [ -n "$rpath" ]; then
        LINK_LIB_PATH="-Wl,--rpath -Wl,\$(libdir)"
        LINK_SRC_PATH="-Wl,--rpath -Wl,\$(build_dir)"
      fi
      INSTALL="install $DEBUG_SWITCH"
    fi
    if [ $OSUNAME = "SunOS" ]; then
      LDFLAGS="-mimpure-text -lrt"
      MAKE_LDFLAGS="\$(dl) \$(iconv)"
      INSTALL="install"
    else
      LDFLAGS="-mimpure-text"
      MAKE_LDFLAGS="\$(dl) \$(iconv)"
      INSTALL="install"
      LINK_FLAGS="-shared \$(dl) \$(iconv)"
    fi
    CFLAGS="-L. $FPIC"
    CXXFLAGS="-L. $PIC"
    if [ $OSUNAME = "Windows" ]; then
      PIC=""
      LDFLAGS=""
      CFLAGS="-L."
      CXXFLAGS="-L."
    fi
    I18N_LIB="\$(iconv) \$(intl) \$(LIBNAMEV)"
    I18N_LIBSTAT="\$(iconv) \$(intl) \$(LIBNAMEV)"
    RM="rm -f"
  fi
fi

CFLAGS="$CFLAGS $CFLAGS_COMMON $MAKE_CFLAGS \$(OPENMP)"
CXXFLAGS="$CXXFLAGS $CXXFLAGS_COMMON $MAKE_CXXFLAGS \$(OPENMP)"
LDFLAGS="$LDFLAGS $LDFLAGS_COMMON $MAKE_LDFLAGS \$(OPENMP)"

for i in $MAKEFILE_DIR; do
  mkdir -p $i
  test -n "$ECHO" && $ECHO "SRCDIR = $ROOT_DIR/$i" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "" >> "$i/makefile"
  #test -n "$ECHO" && $ECHO " = $" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "COPY = $COPY" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "RM = $RM" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "INSTALL = $INSTALL" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "COLLECT = ar cru" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "RANLIB = ranlib" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "LINK = ln -s" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "MSGMERGE = $MSGMERGE" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "MSGMERG_OPTS = $MSGMERG_OPTS" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "XGETTEXT_OPTIONS = $XGETTEXT_OPTIONS" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "REZ = $REZ" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "LIBMID = $LIBMID" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "LIBEXT = $LIBEXT" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "LINK_LIB_PATH = $LINK_LIB_PATH" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "LINK_SRC_PATH = $LINK_SRC_PATH" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "I18N_LIB = $I18N_LIB" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "I18N_LIBSTAT = $I18N_LIBSTAT" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "INCL = $INCL" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "OSX_CPP = $OSX_CPP" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "LINK_FLAGS = $LINK_FLAGS" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "CFLAGS   = $CFLAGS"       >> "$i/makefile"
  test -n "$ECHO" && $ECHO "CXXFLAGS = $CXXFLAGS" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "LDFLAGS  = $LDFLAGS"    >> "$i/makefile"
  if [ $openmp -eq 1 ]; then
    test -n "$ECHO" && $ECHO "OPENMP = -fopenmp"       >> "$i/makefile"
  fi
  test -n "$ECHO" && $ECHO "" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "" >> "$i/makefile"
done
test -n "$ECHO" && $ECHO "LIBNAMEFULL = $LIBNAMEFULL" >> "$CONF"
test -n "$ECHO" && $ECHO "LIBNAMEV = $LIBNAMEV" >> "$CONF"
if [ $openmp -eq 1 ]; then
  echo_="Using OpenMP"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
fi

unset CFLAGS CXXFLAGS LDFLAGS
CFLAGS="$CFLAGS $CFLAGS_COMMON"
CXXFLAGS="$CXXFLAGS $CXXFLAGS_COMMON"
LDFLAGS="$LDFLAGS $LDFLAGS_COMMON"

if [ -n "$cwdebug" ]; then
  for i in $MAKEFILE_DIR; do
    echo "" >> "$i/makefile"
    echo "cwdebug = $cwdebug" >> "$i/makefile"
    echo "CWLIB = -L$cwdebug -lcwd"  >> "$i/makefile"
    echo "CCFILES = \$(DEBUG_CC)" >> "$i/makefile"
  done
  echo "#define CWDEBUG 1" >> $CONF_H
fi

echo_=""; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_=""; echo "$echo_" >> $CONF_LOG; echo "$echo_"

LIBS_TEST="dl iconv intl c m pthread"; export LIBS_TEST
X_ADD="Xpm Xext Xinerama Xxf86vm Xrandr X11"; export X_ADD


ECHO="echo"; export ECHO
LIBS=1; export LIBS
#export ELEKTRA=1
OYRANOS=1; export OYRANOS
LCMS=0; export LCMS
FTGL=2; export FTGL
FONTCONFIG=1; export FONTCONFIG
FLTK=1; export FLTK
GLU=2; export GLU
LIBPNG=0; export LIBPNG
LIBTIFF=1; export LIBTIFF
#FLU=2; export FLU
if [ $OSUNAME != "Darwin" ] && [ $OSUNAME != "Windows" ]; then
X11=1;   export X11
XCM=1;   export XCM
fi
XINERAMA=1; export XINERAMA
XF86VMODE=1; export XF86VMODE
XRANDR=1; export XRANDR
DEBUG=1; export DEBUG
PO=1; export PO
GETTEXT=1; export GETTEXT
$ROOT_DIR/configure_tests.sh
LIBS=0; export LIBS

ELEKTRA=0; export ELEKTRA
OYRANOS=0; export OYRANOS
LCMS=0; export LCMS
FTGL=0; export FTGL
FONTCONFIG=0; export FONTCONFIG
FLTK=0; export FLTK
GLU=0; export GLU
LIBPNG=0; export LIBPNG
LIBTIFF=0; export LIBTIFF
FLU=0; export FLU
X11=0; export X11
XCM=0; export XCM
XINERAMA=0; export XINERAMA
XF86VMODE=0; export XF86VMODE
DEBUG=0; export DEBUG
PO=0; export PO
GETTEXT=0; export GETTEXT

if [ -d ../../../plug-ins/icc_examin/ ]; then
  CP_CONFIG=../../../cinepainttool
  CP_FLAGS="$CP_CONFIG --cflags-local"
  CP_LIBS="$CP_CONFIG --libs-local"
  CP_VERSION=`$CP_CONFIG --version`
  CP_DIR="`$CP_CONFIG --install-dir`"
  INSTALL_TARGET=install_cp
  echo_="local CinePaint $CP_VERSION  detected"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
  echo "CINEPAINT = icc_examin_cp" >> $CONF
else
  INSTALL_TARGET=install_global
fi
if [ -z "$CP_CONFIG" ]; then
  CP_CONFIG=`which cinepainttool 2>/dev/null`
  if [ -n "$CP_CONFIG" ]; then
    CP_FLAGS="cinepainttool --cflags"
    CP_LIBS="cinepainttool --libs"
    CP_VERSION=`cinepainttool --version`
    CP_N_VERSION="`cinepainttool --version | sed 's/\.// ; s/-.//'`"
    test "$CP_N_VERSION" != `echo $CP_N_VERSION | sed 's/\.//'` && CP_N_VERSION="`cinepainttool --version | sed 's/\.// ; s/\..//'`"
    echo_="Gtk CinePaint $CP_VERSION    detected"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
    cp_reqired=22
    if [ "$CP_N_VERSION" -ge $cp_reqired ]; then
      echo "CINEPAINT = icc_examin_cp" >> $CONF
      CP_DIR="`$CP_CONFIG --install-dir`"
      INSTALL_TARGET="install_cp install_global"
    else
      echo_="too old CinePaint version - need at least 0.$cp_reqired"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
    fi
  fi
fi
echo "INSTALL_TARGET=$INSTALL_TARGET" >> $CONF
 
if [ -n "$CP_VERSION" ]; then
  echo "CP_FLAGS=$CP_FLAGS" >> $CONF
  echo "CP_LIBS=$CP_LIBS" >> $CONF
  echo "CP_DIR=$CP_DIR" >> $CONF
  echo "#define ICC_CINEPAINT_VERSION \"Gtk CinePaint $CP_VERSION\"" >> $VERS_H
fi

echo_=""; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_=""; echo "$echo_" >> $CONF_LOG; echo "$echo_"



# Alle ifdefs landen hier

echo "" >> $CONF
echo "VERSION_A = $VERSION_A" >> $CONF
echo "VERSION_B = $VERSION_B" >> $CONF
echo "VERSION_C = $VERSION_C" >> $CONF
echo "VERSION   = $VERSION" >> $CONF
echo "VERSION_L = $VERSION_L" >> $CONF
echo "" >> $CONF

echo "#ifndef ICC_VERSION_H" > $VERS_H
echo "#define ICC_VERSION_H" >> $VERS_H
echo "" >> $VERS_H
echo "#define ICC_EXAMIN_VERSION_A $VERSION_A" >> $VERS_H
echo "#define ICC_EXAMIN_VERSION_B $VERSION_B" >> $VERS_H
echo "#define ICC_EXAMIN_VERSION_C $VERSION_C" >> $VERS_H
echo "#define ICC_EXAMIN_VERSION $VERSION_L" >> $VERS_H
echo "#define ICC_EXAMIN_V _(\"$VERSION\")" >> $VERS_H
test -n "$ECHO" && $ECHO "#define START_MONTH _(\"$START_MONTH\")" >> $VERS_H
test -n "$ECHO" && $ECHO "#define START_YEAR _(\"$START_YEAR\")" >> $VERS_H
test -n "$ECHO" && $ECHO "#define DEVEL_MONTH _(\"$DEVEL_MONTH\")" >> $VERS_H
test -n "$ECHO" && $ECHO "#define DEVEL_YEAR _(\"$DEVEL_YEAR\")" >> $VERS_H
test -n "$ECHO" && $ECHO "#define ICC_EXAMIN_CONFIG_DATE \"$DATE\"" >> $VERS_H
if [ `echo $GIT_MASTER | grep cat | wc -l` -lt 1 ]; then
  test -n "$ECHO" && $ECHO "#define GIT_MASTER \"$GIT_MASTER\"" >> $VERS_H
else
  test -n "$ECHO" && $ECHO "#define GIT_MASTER """ >> $VERS_H
fi
if [ -n "$CP_VERSION" ]; then
  echo "#define ICC_CINEPAINT_VERSION \"Gtk CinePaint $CP_VERSION\"" >> $VERS_H
fi
test -n "$ECHO" && $ECHO "#define UNAME \"$UNAME_ $MACH_\"" >> "$VERS_H"
test -n "$ECHO" && $ECHO "#define DISTNAME \"$DISTNAME\"" >> "$VERS_H"
echo "" >> $VERS_H
echo "#endif //ICC_VERSION_H" >> $VERS_H

echo "Version: $VERSION" > $SPEC
echo "Source:  $TARGET"-"$VERSION".tar.bz2 >> $SPEC
echo "Release: $RELEASE" >> $SPEC
if [ -n "$CP_CONFIG" ]; then
echo "%define cp_dir          $CP_DIR" >> $SPEC
fi
echo "%define pixmapdir       $pixmapdir" >> $SPEC
echo "%define desktopdir      $desktopdir" >> $SPEC
cat  "$ROOT_DIR/$SPEC.in" >> $SPEC
if [ "$INSTALL_TARGET" != install_global ]; then
  echo "" >> $SPEC
  echo "%package      cinepaint" >> $SPEC
  echo "Summary:   A colour space and ICC profile viewer plug-in" >> $SPEC
  echo "Requires:  %{name} cinepaint" >> $SPEC
  echo "Group:      Productivity/Graphics/Other" >> $SPEC
  echo "" >> $SPEC
  echo "%description  cinepaint" >> $SPEC
  echo "A colour space and ICC profile viewer plug-in for CinéPaint" >> $SPEC
  echo "It should be in the menues:" >> $SPEC
  echo "  [image]->Image->ICC profile information->" >> $SPEC
  echo "  [image]->Image->Watch colours 3D..." >> $SPEC
  echo "" >> $SPEC
  echo "%files        cinepaint" >> $SPEC
  echo "%defattr(-, root, root)" >> $SPEC
  echo "%doc AUTHORS COPYING ChangeLog README" >> $SPEC
  list=`while test -n "$text"; do text=${text%/*}; if [ "$text" = $libdir ]; then text=""; else echo $text; fi; done | sort`
  for i in $list; do echo "%dir $i" >> $SPEC; done
  echo "%dir %{cp_dir}" >> $SPEC
  echo "%{cp_dir}/icc_examin_cp" >> $SPEC
  echo "" >> $SPEC
fi
echo_="generated $SPEC from \"$SPEC.in\""; echo "$echo_" >> $CONF_LOG; echo "$echo_"


echo_="prefix =                $prefix"; echo "$echo_" >> $CONF_LOG; echo "$echo_"

echo_=""; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="################################################################"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="#                       Configuration                          #"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="prefix          =       $prefix"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="exec_prefix     =       $exec_prefix"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="bindir          =       $bindir"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="sbindir         =       $sbindir"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="libdir          =       $libdir"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="includedir      =       $includedir"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="datadir         =       $datadir"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="mandir          =       $mandir"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="pixmapdir       =       $pixmapdir"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="desktopdir      =       $desktopdir"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="src_dir          =       $src_dir" ; echo "$echo_" >> $CONF_LOG; echo "$echo_"
if [ -n "$cwdebug" ]; then
echo_="cwdebug         =       $cwdebug"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
fi
echo_="CC              =       $CC"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="CXX             =       $CXX"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="CFLAGS          =       $CFLAGS"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="CXXFLAGS        =       $CXXFLAGS"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="LDFLAGS         =       $LDFLAGS"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="INCL            =       $INCL"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_="################################################################"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
echo_=""; echo "$echo_" >> $CONF_LOG; echo "$echo_"

for i in $MAKEFILE_DIR; do
  test -n "$ECHO" && $ECHO "src_dir = $ROOT_DIR/$i" | sed 's%/\.%%' >> "$i/makefile"
  test -n "$ECHO" && $ECHO "build_dir = $build_dir" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "prefix=$prefix" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "exec_prefix=$exec_prefix" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "bindir=$bindir" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "sbindir=$sbindir" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "libdir=$libdir" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "includedir=$includedir" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "datadir=$datadir" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "mandir=$mandir" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "pixmapdir=$pixmapdir" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "desktopdir=$desktopdir" >> "$i/makefile"
  test -n "$ECHO" && $ECHO "" >> "$i/makefile"
done

echo "#define HAVE_PTHREAD_H 1" >> $CONF_H

echo "#define PREFIX         \"$prefix\"" >> $CONF_H
echo "#define ICCEXAMIN_DATADIR        \"$datadir\"" >> $CONF_H
echo "#define ICCEXAMIN_LOCALEDIR      \"$datadir/locale\"" >> $CONF_H
echo "#define PIXMAPDIR      \"$pixmapdir\"" >> $CONF_H
echo "#define SRCDIR         \"$src_dir\"" >> $CONF_H
if [ $OSUNAME = Windows ]; then
  echo "#define SRC_LOCALEDIR  \"$build_dir\\\\po\"" >> $CONF_H
else
  echo "#define SRC_LOCALEDIR  \"$build_dir/po\"" >> $CONF_H
fi

echo "" >> $CONF


# prepare makefile from MAKEFILE_DIR
PREPARE_MAKEFILES=1; export PREPARE_MAKEFILES
$ROOT_DIR/configure_tests.sh
PREPARE_MAKEFILES=0; export PREPARE_MAKEFILES

echo "" >> $CONF_H
echo "#endif /* ICCEXAMIN_CONFIG_H */" >> $CONF_H


test -n "$INFOECHO" && $INFOECHO preparing $OSX_SCRIPT in ./
test -n "$ECHO" && $ECHO "#!/bin/bash" > $OSX_SCRIPT
test -n "$ECHO" && $ECHO "" >> $OSX_SCRIPT
test -n "$ECHO" && $ECHO "prefix=$prefix" >> $OSX_SCRIPT
test -n "$ECHO" && $ECHO "" >> $OSX_SCRIPT
test -n "$ECHO" && cat "$ROOT_DIR/$OSX_SCRIPT".in >> $OSX_SCRIPT
test -n "$ECHO" && chmod 0755 "$OSX_SCRIPT"


test -f error.tmp && ERROR=1
test -f error.tmp && rm error.tmp
if [ "$ERROR" -ne "0" ]; then
  echo_="!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
  echo_="!!!                     An ERROR occured                     !!!"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
  echo_="!!!                     See Log above                        !!!"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
  echo_="!!!                     remove  $CONF                     !!!"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
  echo_="!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; echo "$echo_" >> $CONF_LOG; echo "$echo_"
  echo_=""; echo "$echo_" >> $CONF_LOG; echo "$echo_"
  rm Makefile $CONF_H $CONF_SH $SPEC $PKGC $MPKG
  exit
else
  if [ -z "$quick" ]; then
    test -n "$ECHO" && $ECHO "" > mkdepend
    test -n "$ECHO" && $ECHO "" > cobjects
    make depend
  fi
fi


echo_="const char * icc_config_log_=\" \\"
test -n "$ECHO" && $ECHO "$echo_" >  $CONF_LOG.h
test -n "$ECHO" && cat $CONF_LOG | sed 's/\"/\\\"/g ; s/$/\ \\n\\/g'  >> $CONF_LOG.h
echo_="\";"
test -n "$ECHO" && $ECHO $e "$echo_" >> $CONF_LOG.h

if [ -f error.txt ] && [ `cat error.txt | wc -l` -lt 1 ]; then
  rm error.txt
fi

exit 0
