#!/bin/sh
#
# GPAC MPEG-4 SDK configure script (c) 2003-2005 Jean Le Feuvre (c) 2005-20XX Telecom ParisTech
#      inspired from ffmpeg configure by Fabrice Bellard (c) 2000-2002
#set -v


#set temporary file name
if test ! -z "$TMPDIR" ; then
    TMPDIR1="${TMPDIR}"
elif test ! -z "$TEMPDIR" ; then
    TMPDIR1="${TEMPDIR}"
else
    TMPDIR1="/tmp"
fi


#thanks to ffmpeg for this
for v in "$@"; do
    r="${v#*=}"
    l="${v%$r}"
    test "$r" = "${r#* }" || r="'$r'"
    GPAC_CONFIGURATION="${GPAC_CONFIGURATION# } ${l}${r}"
done


TMPC="${TMPDIR1}/gpac-conf-${RANDOM}-$$-${RANDOM}.c"
TMPH="${TMPDIR1}/gpac-conf-${RANDOM}-$$-${RANDOM}.h"
TMPCPP="${TMPDIR1}/gpac-conf-${RANDOM}-$$-${RANDOM}.cpp"
TMPE="${TMPDIR1}/gpac-conf-${RANDOM}-$$-${RANDOM}"
TMPO="${TMPDIR1}/gpac-conf-${RANDOM}-$$-${RANDOM}.o"
TMPS="${TMPDIR1}/gpac-conf-${RANDOM}-$$-${RANDOM}.S"


#default parameters
DESTDIR=""
prefix="/usr/local"
mandir=""
cross_prefix=""
dxsdk_path=""
moz_path="local"
cc_orig="gcc"
cc="${cc_orig}"
cpp_orig="g++"
cpp="${cpp_orig}"
ar="ar"
ranlib="ranlib"
make="make"
strip="strip"
pkg_config="pkg-config"
readelf="readelf"
install="${INSTALL:=install}"
instflags="${INSTFLAGS:=-p}"
cpu=`uname -m`
debuginfo="no"
sdl_path=""
sdl_local="no"
sdl_static="no"
xulsdk_path="/usr/lib/xulrunner/sdk/include"
xul_flags=""
libdir="lib"

#GPAC module config
js_flags="XP_UNIX"
js_lib="-ljs"
lm_lib=""
has_mingw_directx="no"
has_js="no"
has_platinum="no"
has_ft="no"
has_jpeg="no"
has_png="no"
has_xvid="no"
has_mad="no"
has_faad="no"
has_ffmpeg="no"
has_amr_nb_fixed="no"
has_amr_nb="no"
has_amr_wb="no"
has_ogg="no"
has_vorbis="no"
has_theora="no"
has_a52="no"
has_pulseaudio="no"
has_oss_audio="no"
has_alsa="no"
has_jack="no"
has_directfb="no"
has_x11="no"
has_x11_shm="no"
has_x11_xv="no"
no_gcc_opt="no"
use_fixed_point="no"
use_memory_tracking="no"
use_std_alloc="no"
has_opengl="no"
has_tinygl="no"
enable_tinygl="no"
has_ssl="no"
has_ipv6="no"
has_dvb4linux="no"
has_xmlrpc="no"
has_openjpeg="no"
has_libxml2="no"
gprof_build="no"
static_build="no"
want_pic="no"
has_joystick="no"
has_xul="no"
enable_joystick="no"
static_mp4box="no"
disable_3d="no"
disable_svg="no"
disable_vrml="no"
disable_x3d="no"
disable_od="no"
disable_bifs="no"
disable_bifs_enc="no"
disable_laser="no"
disable_beng="no"
disable_qtvr="no"
disable_avi="no"
disable_m2ps="no"
disable_m2ts="no"
disable_m2ts_mux="no"
disable_ogg="no"
disable_parsers="no"
disable_import="no"
disable_export="no"
disable_swf="no"
disable_scene_stats="no"
disable_scene_dump="no"
disable_scene_encode="no"
disable_loader_isoff="no"
disable_loader_bt="no"
disable_loader_xmt="no"
disable_od_dump="no"
disable_isom_dump="no"
disable_mcrypt="no"
disable_isoff="no"
disable_isoff_write="no"
disable_isoff_frag="no"
disable_isoff_hint="no"
disable_isoff_frag="no"
disable_streaming="no"
enable_depth_compositor="no"
enable_renoir="no"
has_avcap="no"
avcap_cflags=""
avcap_ldflags="-lavcap"
has_opensvc="no"

win32="no"
mingw32="no"
cygwin="no"
linux="no"
freebsd="no"
darwin="no"
sunos="no"
alt_macosx_dir=""
Mac_Applications=""
extralibs="-lm"
bigendian="no"
SHFLAGS=-shared
need_inet_aton="no"
CFLAGS=""
CPPFLAGS=""
GPAC_SH_FLAGS=-lpthread
DYN_LIB_SUFFIX="so"
X11_PATH="/usr/X11R6"
OSS_CFLAGS=""
OSS_LDFLAGS=""
INSTFLAGS=""
is_64="no"



#configure usage
if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
    cat << EOF

Usage: configure [options]
Options: [defaults in brackets after descriptions]

GPAC configuration options:
  --help                   print this message
  --prefix=PREFIX          install in PREFIX [$prefix]
  --mandir=DIR             man documentation in DIR [PREFIX/man]

  --source-path=PATH       path of source code [$source_path]
  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]
  --cc =CC                 use C   compiler CC  [$cc]
  --cpp=CPP                use C++ compiler CPP [$cpp]
  --make=MAKE              use specified make [$make]
  --extra-cflags=ECFLAGS   add ECFLAGS to CFLAGS [$CFLAGS]
  --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [$LDFLAGS]
  --extra-libs=ELIBS       add ELIBS [$ELIBS]
  --cpu=CPU                force cpu to CPU  [$cpu]
  --sdl-cfg=SDL_PATH       specify path to sdl-config for local install [$sdl_path]
  --enable-sdl-static      use static SDL linking [default=no]
  --X11-path=X11_PATH      specify path for X11 includes and libraries [$X11_PATH]
  --dxsdk-path=DX_PATH     specify directX SDK for MinGW [$dxsdk_path]
  --xulsdk-path=XUL_PATH   specify Mozilla XUL (Gecko) SDK include path [$xulsdk_path]
  --mozdir=MOZ_PATH        specify mozilla main directory path for system install

  --enable-debug           produce debug version
  --enable-gprof           enable profiling
  --enable-pic             enable Position Independant Code for shared objects
  --strip                  enable strip
  --std-allocator          uses standard lib memory allocator
  --track-memory           enable tracking of all memory allocated by gpac
  --disable-opt            disable GCC optimizations
  --disable-ipv6           disable IPV6 support
  --disable-wx             disable wxWidgets support
  --disable-platinum       disable Platinum UPnP support
  --disable-alsa           disable Alsa audio
  --disable-oss-audio      disable OSS audio
  --enable-jack            enable  Jack audio
  --disable-jack           disable Jack audio
  --enable-pulseaudio      enable  Pulse audio
  --disable-pulseaudio     disable Pulse audio
  --disable-x11-shm        disable X11 shared memory support
  --disable-x11-xv         disable X11 Xvideo support
  --enable-fixed-point     enable fixed-point math
  --enable-tinygl          enable TinyGL support
  --enable-joystick        enable joystick support
  --disable-ssl            disable OpenSSL support
  --enable-amr-nb-fixed    enable AMR NB fixed-point decoder
  --enable-amr-nb          enable AMR NB library
  --enable-amr-wb          enable AMR WB library
  --enable-amr             enable both AMR NB and WB libraries
  --enable-static-bin      GPAC static build
  --static-mp4box          configure for static linking of MP4Box.
  --enable-depth           enables depth handling in the compositor

Configuration options for libgpac - all options can be enabled with --enable-optname
  --disable-all            disables all features in libgpac
  --disable-3d             disable 3D rendering
  --disable-svg            disable SVG
  --disable-vrml           disable MPEG-4/VRML/X3D
  --disable-x3d            disable X3D only
  --disable-odf            disable full support of MPEG-4 OD Framework
  --disable-bifs           disable BIFS
  --disable-bifs-enc       disable BIFS coder
  --disable-laser          disable LASeR coder
  --disable-beng           disable scene encoder engine
  --disable-qtvr           disable import of Cubic QTVR files
  --disable-avi            disable AVI
  --disable-ogg            disable OGG
  --disable-m2ps           disable MPEG2 PS
  --disable-m2ts           disable MPEG2 TS
  --disable-m2ts-mux       disable MPEG2 TS Multiplexer
  --disable-dvb4linux      disable dvb4linux support
  --disable-parsers        disable AV parsers
  --disable-import         disable media importers
  --disable-export         disable media exporters
  --disable-swf            disable SWF import
  --disable-scene-stats    disable scene graph statistics
  --disable-scene-dump     disable scene graph dump
  --disable-scene-encode   disable BIFS & LASeR to ISO File Format encoding
  --disable-loader-isoff   disable scene loading from ISO File Format
  --disable-loader-bt      disable scene loading from ISO File Format
  --disable-loader-xmt     disable scene loading from ISO File Format
  --disable-od-dump        disable OD dump
  --disable-isom-dump      disable ISOM dump
  --disable-mcrypt         disable mcrypt
  --disable-isoff          disable ISO File Format
  --disable-isoff-write    disable ISO File Format edit/write
  --disable-isoff-hint     disable ISO File Format hinting
  --disable-isoff-frag     disable fragments in ISO File Format
  --disable-streaming      disable RTP/RTSP/SDP

Extra libraries configuration. You can turn a libray off or force using the local version in gpac/extra_lib/
  --use-js=OPT             force SpiderMonkey ECMAScript OPT=[no,local]
  --use-ft=OPT             force FreeType OPT=[no,local]
  --use-zlib=OPT           force ZLIB OPT=[no,local]
  --use-jpeg=OPT           force JPEG OPT=[no,local]
  --use-png=OPT            force PNG OPT=[no,local]
  --use-faad=OPT           force FAAD OPT=[no,local]
  --use-mad=OPT            force MAD OPT=[no,local]
  --use-xvid=OPT           force XVID OPT=[no,local]
  --use-ffmpeg=OPT         force FFMPEG OPT=[no,local]
  --use-ogg=OPT            force OGG OPT=[no,system,local]
  --use-vorbis=OPT         force vorbis OPT=[no,system,local]
  --use-theora=OPT         force theora OPT=[no,system,local]
  --use-openjpeg=OPT       force openjpeg OPT=[no,system,local]
  --use-a52=OPT            force a52 (ac3) OPT=[no,system,local]

NOTE: The object files are build at the place where configure is launched
EOF
exit 1
fi

for opt do
    case "$opt" in
        --prefix=*) prefix=`echo $opt | cut -d '=' -f 2`
            ;;
        --libdir=*) libdir=`echo $opt | cut -d '=' -f 2`
            ;;
        --mandir=*) mandir=`echo $opt | cut -d '=' -f 2`
            ;;
        --source-path=*) source_path=`echo $opt | cut -d '=' -f 2`
            ;;
        --cross-prefix=*) cross_prefix=`echo $opt | cut -d '=' -f 2` && echo "\ncross-prefix detected: $cross_prefix"
            ;;
        --cc=*) cc=`echo $opt | cut -d '=' -f 2`
            ;;
        --make=*) make=`echo $opt | cut -d '=' -f 2`
            ;;
        --extra-cflags=*) CFLAGS="$CFLAGS ${opt#--extra-cflags=}"
            ;;
        --extra-ldflags=*) LDFLAGS="$LDFLAGS ${opt#--extra-ldflags=}"
            ;;
        --extra-libs=*) extralibs=${opt#--extra-libs=}
            ;;
        --cpu=*) cpu=`echo $opt | cut -d '=' -f 2`
            ;;
        --enable-debug) debuginfo="yes"; no_gcc_opt="yes"
            ;;
        --disable-opt) no_gcc_opt="yes"
            ;;
        --enable-pic) want_pic="yes";
            ;;
    esac
done

case "$cpu" in
    i386|i486|i586|i686|i86pc|BePC)
        cpu="x86"
        ;;
    x86_64|amd64)
        cpu="x86"
        if [ "$linux" = "yes" -o "$darwin" = "yes" ] ; then
            is_64="yes"
        fi
        case `uname -s` in
            SunOS)
                canon_arch=`isainfo -n`
                ;;
            *)
                canon_arch="`$cc -dumpmachine | sed -e 's,\([^-]*\)-.*,\1,'`"
                ;;
        esac

        if [ x"$canon_arch" = x"x86_64" -o x"$canon_arch" = x"amd64" ]; then
            if [ -z "`echo $CFLAGS | grep -- -m32`"  ]; then
                cpu="x86_64"
                want_pic="yes"
            fi
        fi
        ;;
    armv4l|arm)
        cpu="armv4l"
        ;;
    alpha)
        cpu="alpha"
        ;;
    ppc64)
        cpu="powerpc"
        ;;  
    "Power Macintosh"|ppc)
        cpu="powerpc"
        ;;
    mips)
        cpu="mips"
        ;;
    sh4|sh4a|sh)
        cpu="sh4"
        ;;
    sun4u|sun4v)
        cpu="sparc"
        if [ -z "`echo $CFLAGS | grep -- -m32`" ]; then
            is_64="yes"
            PIC_CFLAGS="-fPIC -DPIC"
            want_pic="yes"
        fi
        ;;
    *)
        cpu="unknown"
        ;;
esac

#checking for CFLAGS
if test -z "$CFLAGS"; then
    CFLAGS=""
fi

if test "$win32" = "yes" ; then
    cross_prefix=""
fi

if test "$mingw32" = "yes" ; then
    cross_prefix=""
fi


cc="${cross_prefix}${cc}"
#for ccache
cc="${cc}"
cpp="${cross_prefix}${cpp}"
ar="${cross_prefix}${ar}"
ranlib="${cross_prefix}${ranlib}"
strip="${cross_prefix}${strip}"
pkg_config="${cross_prefix}${pkg_config}"


#check pkg_config
if test "$cross_prefix" = "" ; then
    if ! $pkg_config --version >/dev/null 2>&1 ; then
        echo "$pkg_config not found, configure may detect wrong libraries"
    fi
fi


#find source path
source_path="`echo $0 | sed -e 's#/configure##'`"
source_path_used="yes"
if test -z "$source_path" -o "$source_path" = "." ; then
    source_path="`pwd`"
    source_path_used="no"
else
    source_path="`cd \"$source_path\"; pwd`"
fi


#OS specific
targetos=`uname -s`
case $targetos in
    BeOS)
        js_flags=-DXP_BEOS
        xul_flags=-DXP_BEOS
        prefix="/boot/home/config"
        CFLAGS="$CFLAGS -DPIC -fomit-frame-pointer"
        # 3 gcc releases known for BeOS, each with ugly bugs
        gcc_version="$($cc -v 2>&1 | grep version | cut -d ' ' -f3-)"
        case "$gcc_version" in
            2.9-beos-991026*|2.9-beos-000224*) echo "R5/GG gcc"
                ;;
            *20010315*) echo "BeBits gcc"
                CFLAGS="$CFLAGS -fno-expensive-optimizations"
                ;;
        esac

        SHFLAGS=-nostart
        #no need for libm, but the inet stuff
        #check for BONE
        if (echo $BEINCLUDES|grep 'headers/be/bone' >/dev/null); then
            extralibs="-lbind -lsocket"
        else
            need_inet_aton="yes"
            extralibs="-lnet"
        fi
        ;;

    SunOS)
        make="gmake"
        readelf="greadelf"
        LDFLAGS="${opt#--extra-ldflags=}"
        instflags=""
        #check for 64-bit
        cat > $TMPC << EOF
#include <stdio.h>
int main( void ) { return 0; }
EOF

        CFLAGS_NO_LTO=$(echo ${CFLAGS} | sed -e 's/\ -flto[-A-Za-z0-9=]*//g')
        $cc ${CFLAGS_NO_LTO} -o $TMPO $TMPC 2>/dev/null && $($readelf -h $TMPO | grep "Class:.*ELF64$" >/dev/null 2>&1)
        if test $? -eq 0; then
          is_64="yes"
        fi
        if test "$is_64" = "yes"; then
            if test "$cpu" = "x86_64"; then
                libdir=lib/amd64
            elif test "$cpu" = "sparc"; then
                libdir=lib/sparcv9
            fi
        fi
        sunos="yes"
        need_inet_aton="yes"
        extralibs="$extralibs -lsocket -lnsl"
        ;;

    FreeBSD)
        make="gmake"
        LDFLAGS="$LDFLAGS -export-dynamic"
        CFLAGS="$CFLAGS -pthread"
        GPAC_SH_FLAGS=-pthread
        freebsd="yes"
        js_flags="-DXP_UNIX -I/usr/include/js"
        ;;

    BSD/OS)
        extralibs="-lpoll -lgnugetopt -lm"
        make="gmake"
        ;;

    Darwin)
        js_flags=-DXP_MAC
        xul_flags=-DXP_MAC
        if test -d /sw/bin ; then
            alt_macosx_dir="/sw"
            CFLAGS_DIR="-I/sw/include"
            LDFLAGS="-L/sw/lib $LDFLAGS"
        elif test -d /opt/local/bin ; then
            alt_macosx_dir="/opt/local"
            CFLAGS_DIR="-I/opt/local/include"
            LDFLAGS="-L/opt/local/lib $LDFLAGS"
        fi
        cc="cc"
        Mac_Applications="/Applications"
        SHFLAGS="-dynamiclib"
        DYN_LIB_SUFFIX="dylib"
        extralibs=""
        GPAC_SH_FLAGS=""
        strip="strip -x"
        if test "$is_64" = "yes" ; then
            LDFLAGS="$LDFLAGS -read_only_relocs warning"
        fi
        darwin="yes"
        gcc_version=`$cc -v 2>&1 | grep version | cut -d ' ' -f3`
        case "$gcc_version" in
            *2.95*) 
                CFLAGS="$CFLAGS -no-cpp-precomp -pipe -fomit-frame-pointer"
                ;;
            3.*)
                CFLAGS="$CFLAGS -no-cpp-precomp -pipe -fomit-frame-pointer -mdynamic-no-pic -fno-common"
                ;;
            4.*) 
                CFLAGS="$CFLAGS -pipe -fomit-frame-pointer -fno-common"
                ;;
        esac
        ;;

    MINGW32*)
        js_flags="-DXP_PC -D_declspec=__declspec"
        mingw32="yes"
        win32="yes"
        extralibs="$extralibs -lws2_32 -lwinmm"
        ;;

    CYGWIN*)
        js_flags=-DXP_PC 
        extralibs="$extralibs -lws2_32 -lwinmm"
        cygwin="yes"
        win32="yes"
        ;;

    Linux)
        js_flags="-DXP_UNIX -I/usr/include/js"
        LDFLAGS="$LDFLAGS -Wl,--warn-common -Wl,-z,defs"
        #OSS_LDFLAGS="-laoss"
        linux="yes"
        case "$cpu" in
            sh4)
                CFLAGS="$CFLAGS -isystem \"$prefix/include\""
                #LDFLAGS="$LDFLAGS -L$prefix/lib"
                ;;
        esac
        ;;
    *) ;;
esac


#defines directory for binaries and libs (ex. for TinyGL)
target_bin_dir="" 
if test "$cross_prefix" = "" ; then
    target_bin_dir=`${cc} -v 2>&1 | sed -n '2p' | awk ' {print $2}'`-${cc_orig}
else
    target_bin_dir=${cross_prefix}${cc_orig}
fi


#if test "$source_path_used" = "yes" ; then
mkdir -p extra_lib
mkdir -p extra_lib/lib
mkdir -p extra_lib/lib/gcc
#fi


#OK check for all local & systems lib
local_inc=$source_path/extra_lib/include
local_lib=extra_lib/lib/gcc


#check GCC flags support
cat > $TMPC << EOF
#include <stdio.h>
int main( void ) { return 0; }
EOF
CFLAGS="$CFLAGS -Wall"
if $cc -o $TMPO $TMPC -fno-strict-aliasing 2> /dev/null  ; then
    CFLAGS="$CFLAGS -fno-strict-aliasing"
fi
CPPFLAGS="$CFLAGS"
if $cc -o $TMPO $TMPC -lz -Wno-pointer-sign 2> /dev/null  ; then
    CFLAGS="$CFLAGS -Wno-pointer-sign"
fi


#GCC opt
if test "$no_gcc_opt" = "no"; then
    CFLAGS="-O3 $CFLAGS"
else
    CFLAGS="-O0 $CFLAGS"
fi


#GCC PIC
if test "$want_pic"  = "yes" ; then
    CFLAGS="$CFLAGS -fPIC -DPIC"
    CPPFLAGS="$CPPFLAGS -fPIC -DPIC"
fi


#force use of cflags with cc
cc_naked=$cc
cpp_naked=$cpp
cc="$cc $CFLAGS"
cpp="$cpp $CPPFLAGS"


#look for zlib
cat > $TMPC << EOF
#include <zlib.h>
int main( void ) { if (strcmp(zlibVersion(), ZLIB_VERSION)) { puts("zlib version differs !!!"); return 1; } return 0; }
EOF
has_zlib="no"
if test "$cross_prefix" = "" ; then
  if $cc -o $TMPO $TMPC -lz $LDFLAGS 2> /dev/null  ; then
      has_zlib="system"
  fi
fi
if test "$has_zlib" = "no" ; then
  if $cc -o $TMPO $TMPC -I"$local_inc/zlib" -L$local_lib -lz 2> /dev/null  ; then
    has_zlib="local"
  else
    echo "error: zlib not found on system or in local libs"
    exit 1
  fi
fi



#check dlopen
cat > $TMPC << EOF
#include <dlfcn.h>
int main( void ) { return (int) dlopen("foo", 0); }
EOF

if $cc -o $TMPE $TMPC > /dev/null 2>&1 ; then
    dlopen="yes"
elif $cc -o $TMPE $TMPC $LDFLAGS -ldl > /dev/null 2>&1 ; then
    GPAC_SH_FLAGS="$GPAC_SH_FLAGS -ldl"
else
    if test "$win32" = "no"; then
        echo "error: dlopen not found on system"
        exit 1
    fi
fi



#look for spidermonkey JS support

#spidermonkey test for new API
if test "$has_js" = "no" ; then

cat > $TMPCPP << EOF
#include <jsapi.h>
int main( void ) { JSContext *cx; jsval *rp; return JS_AddValueRoot(cx, rp); }
EOF

    #try local
    js_inc="$local_inc/js"
    js_flags="-DXP_UNIX -I$local_inc/js"
    if $cpp -o $TMPO $TMPCPP $js_flags -L$local_lib -ljs -lpthread 2> /dev/null  ; then
        has_js="local"
        #dc added
    else
        #try pkg-config
        if $pkg_config --exists mozilla-js 2> /dev/null  ; then
            js_flags=`$pkg_config --cflags mozilla-js`
            js_lib_pkg=`$pkg_config --libs mozilla-js`
            if $cpp -o $TMPO $TMPCPP $js_flags $js_lib_pkg $LDFLAGS -lpthread 2> /dev/null  ; then
                has_js="system"
                js_lib=`$pkg_config --libs mozilla-js`
            fi
        #try firefox folders (starting at ubuntu 11.10, no pkg-config)
        elif ls -d /usr/lib/firefox* > /dev/null 2>&1 ; then
            firefox_version=`cd /usr/lib ; ls -d firefox* | grep -v addons | grep -v devel ; cd - > /dev/null`
            for i in $firefox_version ; do
                if test "$has_js" = "no" ; then
                    js_inc="/usr/include/$i"
                    js_flags="-DXP_UNIX -I$js_inc"
                    js_lib="-L/usr/lib/$i/ -lxul -lmozsqlite3 -lmozalloc -lnssutil3 -lnss3"
                    if $cpp -o $TMPO $TMPCPP $js_flags $js_lib 2> /dev/null  ; then
                        has_js="$i"
                    elif $cpp -o $TMPO $TMPCPP $js_flags -lnssutil3 $js_lib -lssl3 2> /dev/null  ; then
                        #firefox 11 compatibility
                        has_js="$i"
                        js_lib="-lnssutil3 $js_lib -lssl3"
                    fi
                fi
            done
        fi

        if test "$has_js" = "no" ; then
            #try prefix (DC)
            js_inc="$prefix/include/js"
            js_flags="-DXP_UNIX -I$prefix/include/js"
            if $cpp -o $TMPO $TMPCPP $js_flags -L$prefix/lib -ljs -lpthread 2> /dev/null  ; then
                has_js="prefix"
                #dc added end
            else
                if $cpp -o $TMPO $TMPCPP $js_flags $LDFLAGS -ljs -lpthread 2> /dev/null  ; then
                    js_inc="/usr/include"
                    has_js="system"
                elif $cpp -o $TMPO $TMPCPP -DXP_UNIX -I$alt_macosx_dir/include/js -L$alt_macosx_dir/lib $LDFLAGS -ljs -lpthread 2> /dev/null ; then
                    has_js="system"
                    js_flags="-DXP_UNIX -I$alt_macosx_dir/include/js"
                    js_lib="-L$alt_macosx_dir/lib -ljs"
                    js_inc="$alt_macosx_dir/include/js"
                else
                    #debian spidermonkey (smjs)
                    js_flags="-DXP_UNIX -I/usr/include/smjs"
                    js_inc="/usr/include/smjs"
                    if $cpp -o $TMPO $TMPCPP $js_flags $LDFLAGS -lsmjs -lpthread 2> /dev/null  ; then
                        has_js="system"
                        js_lib="-lsmjs"
                    else
                        #debian spidermonkey (mozjs)
                        js_flags="-DXP_UNIX -I/usr/include/mozjs"
                        js_inc="/usr/include/mozjs"
                        if $cpp -o $TMPO $TMPCPP $js_flags $LDFLAGS -lmozjs -lpthread 2> /dev/null  ; then
                            has_js="system"
                            js_lib="-lmozjs"
                        fi
                    fi
                fi
            fi
        fi
    fi
fi

new_js_api="no"
if test "$has_js" != "no" ; then
    js_flags="-DSPIDERMONKEY_NEW_API $js_flags"
    new_js_api="yes"
fi

#spidermonkey test for regular API
if test "$has_js" = "no" ; then

    cat > $TMPC << EOF
#include <jsapi.h>
int main( void ) { return 0; }
EOF

    #try local
    js_inc="$local_inc/js"
    js_flags="-DXP_UNIX -I$local_inc/js"
    if test "$cpu" = "sh4" ; then
        lm_lib="-lm"
    fi
    if $cc -o $TMPO $TMPC $js_flags $lm_lib -L$local_lib -ljs 2> /dev/null  ; then
        has_js="local"
        #dc added
    else
        #try prefix (DC)
        js_inc="$prefix/include/js"
        js_flags="-DXP_UNIX -I$prefix/include/js"
        if $cc -o $TMPO $TMPC $js_flags -L$prefix/lib -ljs 2> /dev/null  ; then
            has_js="prefix"
            #dc added end
        else
            if $pkg_config --exists mozilla-js 2> /dev/null  ; then
                js_flags=`$pkg_config --cflags mozilla-js`
                js_lib_pkg=`$pkg_config --libs mozilla-js`
                if $cc -o $TMPO $TMPC $js_flags $js_lib_pkg $LDFLAGS -lpthread 2> /dev/null  ; then
                    has_js="system"
                    js_lib=`$pkg_config --libs mozilla-js`
                fi
            fi
            if test "$has_js" = "no" ; then
                if $cc -o $TMPO $TMPC $js_flags $LDFLAGS -ljs 2> /dev/null  ; then
                    js_inc="/usr/include"
                    has_js="system"
                elif $cc -o $TMPO $TMPC -DXP_UNIX -I$alt_macosx_dir/include/js -L$alt_macosx_dir/lib $LDFLAGS -ljs 2> /dev/null ; then
                    has_js="system"
                    js_flags="-DXP_UNIX -I$alt_macosx_dir/include/js"
                    js_lib="-L$alt_macosx_dir/lib -ljs"
                    js_inc="$alt_macosx_dir/include/js"
                else
                    #debian spidermonkey (smjs)
                    js_flags="-DXP_UNIX -I/usr/include/smjs"
                    js_inc="/usr/include/smjs"
                    if $cc -o $TMPO $TMPC $js_flags $LDFLAGS -lsmjs 2> /dev/null  ; then
                        has_js="system"
                        js_lib="-lsmjs"
                    else
                        #debian spidermonkey (mozjs)
                        js_flags="-DXP_UNIX -I/usr/include/mozjs"
                        js_inc="/usr/include/mozjs"
                        if $cc -o $TMPO $TMPC $js_flags $LDFLAGS -lmozjs 2> /dev/null  ; then
                            has_js="system"
                            js_lib="-lmozjs"
                        fi
                    fi
                fi
            fi
        fi
    fi

fi

if test "$has_js" != "no" ; then
    if test "$linux" = "yes" ; then
        if test "$cpu" != "sh4"; then
            #WARNING: there is a bug in MOZJS packages, the MOZILLA_1_8_BRANCH macro is not signaled, there is no way of knowing
            #if the lib has been compiled with or without the macro. We currently just decide that if the macro is present
            #in the header, it was enabled in the build
            if test "$new_js_api" = "no" ; then
                if grep MOZILLA_1_8_BRANCH $js_inc/jsapi.h > /dev/null 2>&1 ; then
                    js_flags="-DMOZILLA_1_8_BRANCH $js_flags"
                    echo "WARNING: Turning on MOZILLA_1_8_BRANCH SpiderMonkey macro"
                    echo "If you have troubles with scripts in GPAC, disable this macro and recompile"
                fi
            else
cat > $TMPC << EOF
#include <jsapi.h>
int main( void ) { JSContext *cx; JS_SetRuntimeThread(cx); }
EOF
                if $cc -o $TMPO $TMPC $js_flags $LDFLAGS $js_lib 2> /dev/null  ; then
                    js_flags="$js_flags"
                else
                    js_flags="-DNO_JS_RUNTIMETHREAD $js_flags"
                fi
            fi
        fi
    fi
fi

#fi


#end JS test



#look for platinum support
cat > $TMPC << EOF
#include <Platinum.h>
int main( void ) { return 0; }
EOF
if $cpp -o $TMPO $TMPC -I$local_inc/platinum $LDFLAGS -L$local_lib -lPlatinum -lPltMediaServer -lPltMediaConnect -lPltMediaRenderer -lNeptune -lZlib -lpthread 2> /dev/null  ; then
  has_platinum="yes"
fi


#look for avcap support
avcap_cflags=""
avcap_ldflags="-lavcap"

cat > $TMPC << EOF
#include <avcap/avcap.h>
using namespace avcap;
int main( void ) { 
  const DeviceCollector::DeviceList& dl = DEVICE_COLLECTOR::instance().getDeviceList();
  DeviceDescriptor* dd = 0;
  for (DeviceCollector::DeviceList::const_iterator i = dl.begin(); i != dl.end(); i++) {
    dd = *i;
    std::cout << dd->getName().c_str() << "\n";
  }
  return 0; 
}
EOF
if $cpp -o $TMPO $TMPC $LDFLAGS $avcap_cflags $avcap_ldflags 2> /dev/null  ; then
  has_avcap="yes"
else
    if test "$darwin" = "yes" ; then
        avcap_cflags="-I$local_inc -I$local_inc/avcap/osx"
        avcap_ldflags="${wl}-flat_namespace -lavcap -lpthread  -framework QuickTime -framework QuartzCore"
    else
        avcap_cflags="-I$local_inc -I$local_inc/avcap/linux"
        avcap_ldflags="-lavcap -lpthread"
    fi
    if $cpp -o $TMPO $TMPC $avcap_cflags $LDFLAGS -L$local_lib $avcap_ldflags 2> /dev/null  ; then
        has_avcap="yes"
        avcap_ldflags="-L../../$local_lib $avcap_ldflags"
    fi
fi


#look for opensvc support

if test "$darwin" = "yes" ; then
osvc_cflags="-I/usr/include -I/usr/local/include"
osvc_ldflags="-L/usr/lib -L/usr/local/lib -lOpenSVCDec"
else
osvc_cflags=""
osvc_ldflags="-lOpenSVCDec"
fi

cat > $TMPC << EOF
#include <OpenSVCDecoder/SVCDecoder_ietr_api.h>
int main( void ) { return 0; }
EOF
if $cpp -o $TMPO $TMPC $osvc_cflags $LDFLAGS $osvc_ldflags 2> /dev/null  ; then
  has_opensvc="yes"
else
osvc_cflags="-I$local_inc"
osvc_ldflags="-lOpenSVCDec"

if $cpp -o $TMPO $TMPC $osvc_cflags $LDFLAGS -L$local_lib $osvc_ldflags 2> /dev/null  ; then
  has_opensvc="yes"
  osvc_ldflags="-L../../$local_lib $osvc_ldflags"
fi

fi


#look for freetype support
cat > $TMPC << EOF
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_GLYPH_H
#include FT_OUTLINE_H
int main( void ) { return 0; }
EOF
if test "$cross_prefix" = "" ; then
    ft_cflags="-I$prefix/include "
    ft_lflags="-L$prefix/lib -lfreetype"
    if $cc $CFLAGS_DIR -o $TMPO $TMPC $ft_cflags $ft_lflags $LDFLAGS 2> /dev/null  ; then
        has_ft="system"
    else
        ft_cflags="`freetype-config --cflags`"
        ft_lflags="`freetype-config --libs`"
        if $cc -o $TMPO $TMPC $ft_cflags $ft_lflags $LDFLAGS 2> /dev/null  ; then
            has_ft="system"
        fi
    fi
fi
if test "$has_ft" = "no" ; then
    if test "`which freetype-config`" != ""; then
        ft_cflags="-I$local_inc/freetype"
        ft_lflags="-L$local_lib -lfreetype"
        if $cc -o $TMPO $TMPC $ft_cflags $ft_lflags 2> /dev/null  ; then
            has_ft="local"
        fi
    fi
fi
#end freetype test



#look for OpenSSL support
cat > $TMPC << EOF
#include <openssl/ssl.h>
#include <openssl/x509.h>
#include <openssl/err.h>
#include <openssl/rand.h>
int main( void ) { return 0; }
EOF

if test "$win32" = "yes" ; then
    LINK_SSL="-lssleay32 -leay32"
else
    LINK_SSL="-lssl -lcrypto"
fi

if $cc -o $TMPO $TMPC $LINK_SSL $LDFLAGS 2> /dev/null  ; then
    has_ssl="yes"
fi



#look for JPEG support
cat > $TMPC << EOF
#include <stdio.h>
#include <jpeglib.h>
int main( void ) { return 0; }
EOF

if test "$cross_prefix" = "" ; then
    if $cc -o $TMPO $TMPC $LDFLAGS -ljpeg 2> /dev/null  ; then
        has_jpeg="system"
    elif test "$alt_macosx_dir" != "" ; then
        if cc -o $TMPO $TMPC -I$alt_macosx_dir/include -L$alt_macosx_dir/lib $LDFLAGS -ljpeg 2> /dev/null ; then
            has_jpeg="system"
        fi
    elif test "`which $prefix/bin/jpeg-config`" != ""; then
        jpeg_cflags="`$prefix/bin/jpeg-config --cflags`"
        jpeg_lflags="`$prefix/bin/jpeg-config --libs`"
        if $cc -o $TMPO $TMPC $jpeg_cflags $jpeg_lflags $LDFLAGS 2> /dev/null  ; then
            has_jpeg="system"
        fi
    else
        jpeg_cflags="-I$prefix/include"
        jpeg_lflags="-L$prefix/lib -ljpeg"
        if $cc -o $TMPO $TMPC $jpeg_cflags $jpeg_lflags $LDFLAGS 2> /dev/null  ; then
            has_jpeg="system"
        fi
    fi
fi
if test "$has_jpeg" = "no" ; then
    jpeg_cflags="-I$local_inc/jpeg"
    jpeg_lflags="-L$local_lib -ljpeg"
    if $cc -o $TMPO $TMPC $jpeg_cflags $jpeg_lflags 2> /dev/null  ; then
        has_jpeg="local"
    fi
fi



#look for OpenJPEG support
cat > $TMPC << EOF
#include <stdio.h>
#include <openjpeg.h>
int main( void ) { return 0; }
EOF

if test "$cross_prefix" = "" ; then
    if $cc -o $TMPO $TMPC $LDFLAGS -lopenjpeg 2> /dev/null  ; then
        has_openjpeg="system"
    elif test "$alt_macosx_dir" != "" ; then
        if cc -o $TMPO $TMPC -I$alt_macosx_dir/include -L$alt_macosx_dir/lib $LDFLAGS -ljpeg 2> /dev/null ; then
            has_openjpeg="system"
        fi
    fi
fi

if test "$has_openjpeg" = "no" ; then
    if $cc -o $TMPO $TMPC -I$local_inc/openjpeg -L$local_lib -lopenjpeg 2> /dev/null  ; then
        has_openjpeg="local"
    fi
fi



#look for PNG support
cat > $TMPC << EOF
#include <png.h>
int main( void ) { return 0; }
EOF

if test "$cross_prefix" = "" ; then
    png_cflags="-I$prefix/include"
    png_lflags="-L$prefix/lib -lpng -lz"
    #-nostdlib prevents from searching standard compiler libraries
    #if $cc -o $TMPO $TMPC -nostdlib $png_cflags $png_lflags 2> /dev/null  ; then
    if $cc -o $TMPO $TMPC $png_cflags $png_lflags $LDFLAGS 2> /dev/null  ; then
        has_png="system"
    elif $cc -o $TMPO $TMPC $LDFLAGS -lpng -lz 2> /dev/null  ; then
        has_png="system"
    elif test "$alt_macosx_dir" != "" ; then
        if $cc -o $TMPO $TMPC -I$alt_macosx_dir/include -L$alt_macosx_dir/lib $LDFLAGS -lpng 2> /dev/null ; then
            has_png="system"
        fi
    fi
fi
if test "$has_png" = "no" ; then
    if $cc -o $TMPO $TMPC -I$local_inc/png -L$local_lib -lpng 2> /dev/null  ; then
        has_png="local"
    fi
fi



#look for MAD support
cat > $TMPC << EOF
#include <mad.h>
int main( void ) { return 0; }
EOF

if test "$cross_prefix" = "" ; then
    if $cc -o $TMPO $TMPC $LDFLAGS -lmad 2> /dev/null  ; then
        has_mad="system"
    elif test "$alt_macosx_dir" != "" ; then
        if $cc -o $TMPO $TMPC -I$alt_macosx_dir/include -L$alt_macosx_dir/lib $LDFLAGS -lmad 2> /dev/null ; then
            has_mad="system"
        fi
    fi
fi
if test "$has_mad" = "no" ; then
    if $cc -o $TMPO $TMPC -I$local_inc/mad -L$local_lib -lmad 2> /dev/null  ; then
        has_mad="local"
    fi
fi



#look for A52DEC support
cat > $TMPC << EOF
#define uint32_t unsigned int
#define uint8_t unsigned char
#include <a52dec/mm_accel.h>
#include <a52dec/a52.h>
int main( void ) { return 0; }
EOF

if test "$cross_prefix" = "" ; then
    if $cc -o $TMPO $TMPC $LDFLAGS -la52 2> /dev/null  ; then
        has_a52="system"
    elif test "$alt_macosx_dir" != "" ; then
        if $cc -o $TMPO $TMPC -I$alt_macosx_dir/include -L$alt_macosx_dir/lib $LDFLAGS -la52 2> /dev/null ; then
            has_a52="system"
        fi
    fi
fi
if test "$has_a52" = "no" ; then
    if $cc -o $TMPO $TMPC -I$local_inc -L$local_lib -la52 2> /dev/null  ; then
        has_a52="local"
    fi
fi



#look for XVID support
cat > $TMPC << EOF
#include <xvid.h>
int main( void ) { return 0; }
EOF

if test "$cross_prefix" = "" ; then
    if $cc -o $TMPO $TMPC -I$prefix/include -L$prefix/lib $LDFLAGS -lxvidcore -lpthread 2> /dev/null  ; then
        has_xvid="system"
    elif $cc -o $TMPO $TMPC $LDFLAGS -lxvidcore -lpthread 2> /dev/null  ; then
        has_xvid="system"
    elif test "$alt_macosx_dir" != "" ; then
        if $cc -o $TMPO $TMPC -I$alt_macosx_dir/include -L$alt_macosx_dir/lib $LDFLAGS -lxvidcore -lpthread 2> /dev/null ; then
            has_xvid="system"
        fi
    fi
fi
if test "$has_xvid" = "no" ; then
    if $cc -o $TMPO $TMPC -I$local_inc/xvid -L$local_lib -lxvidcore -lpthread 2> /dev/null  ; then
        has_xvid="local"
    fi
fi



#look for FAAD support
cat > $TMPC << EOF
#include <faad.h>
int main( void ) { return 0; }
EOF

if test "$cross_prefix" = "" ; then
    if $cc -o $TMPO $TMPC $LDFLAGS -lfaad -lm 2> /dev/null  ; then
        has_faad="system"
    elif test "$alt_macosx_dir" != "" ; then
        if $cc -o $TMPO $TMPC -I$alt_macosx_dir/include -L$alt_macosx_dir/lib $LDFLAGS -lfaad 2> /dev/null ; then
            has_faad="system"
        fi
    fi
fi
if test "$has_faad" = "no" ; then
    if $cc -o $TMPO $TMPC -I$local_inc/faad -L$local_lib -lfaad -lm 2> /dev/null  ; then
        has_faad="local"
    fi
fi



#look for FFMPEG support

if $pkg_config --exists libavcodec libavformat libswscale 2> /dev/null  ; then
    ffmpeg_cflags=`$pkg_config --cflags libavcodec libavformat libswscale libavutil`
    ffmpeg_lflags=`$pkg_config --libs libavcodec libavformat libswscale libavutil`
    has_ffmpeg="system"
else
    ffmpeg_cflags=""
    ffmpeg_lflags="-lz -lavcodec -lavformat"
fi

cat > $TMPC << EOF
#include <libavcodec/avcodec.h>
int main( void ) { return 0; }
EOF

if $cc -o $TMPO $TMPC $ffmpeg_cflags $ffmpeg_lflags $LDFLAGS 2> /dev/null  ; then
    old_ffmpeg_inc="no"
else
    old_ffmpeg_inc="yes"

    cat > $TMPC << EOF
#include <ffmpeg/avcodec.h>
int main( void ) { return 0; }
EOF

fi

if test "$cross_prefix" = "" ; then 
    if $cc -o $TMPO $TMPC -I$prefix/include -L$prefix/lib $ffmpeg_lflags $LDFLAGS 2> /dev/null  ; then
        has_ffmpeg="system"
        ffmpeg_cflags="-I$prefix/include"
        ffmpeg_lflags="-L$prefix/lib $ffmpeg_lflags"
    elif $cc -o $TMPO $TMPC $ffmpeg_lflags $LDFLAGS 2> /dev/null  ; then
        has_ffmpeg="system"
    elif test "$alt_macosx_dir" != "" ; then
        if $cc -o $TMPO $TMPC -I$alt_macosx_dir/include -L$alt_macosx_dir/lib $ffmpeg_lflags $LDFLAGS 2> /dev/null ; then
            has_ffmpeg="system"
            ffmpeg_cflags="-I$alt_macosx_dir/include"
            ffmpeg_lflags="-L$alt_macosx_dir/lib $ffmpeg_lflags"
        fi
    fi
fi
if test "$has_ffmpeg" = "no" ; then
    if $cc -o $TMPO $TMPC -I$local_inc -L$local_lib $ffmpeg_lflags 2> /dev/null  ; then
        has_ffmpeg="local"
        ffmpeg_cflags="-I$local_inc"
        ffmpeg_lflags="-L$local_lib $ffmpeg_lflags"
    fi
fi



#look for FREENECT support
freenect_flags=""
freenect_ld="-lfreenect"

if $pkg_config --exists libfreenect 2> /dev/null  ; then
  freenect_flags=`$pkg_config --cflags libfreenect`
  freenect_libs=`$pkg_config --libs libfreenect`
  has_freenect="system"
  freenect_flags="-DFREENECT_FLAT_HEADERS $freenect_flags" 

else

has_freenect="no"
cat > $TMPC << EOF
#include <libfreenect/libfreenect.h>
int main( void ) { return 0; }
EOF

if test "$cross_prefix" = "" ; then
    if $cc -o $TMPO $TMPC $LDFLAGS -lfreenect 2> /dev/null  ; then
        has_freenect="system"
    elif test "$alt_macosx_dir" != "" ; then
        if $cc -o $TMPO $TMPC -I$alt_macosx_dir/include -L$alt_macosx_dir/lib $LDFLAGS -lfreenect 2> /dev/null ; then
            has_freenect="system"
            freenect_flags=-I$alt_macosx_dir/include
            freenect_ld=-L$alt_macosx_dir/lib -lfreenect
        fi
    fi
fi
if test "$has_freenect" = "no" ; then
    if $cc -o $TMPO $TMPC -I$local_inc/freenect -L$local_lib -lfreenect 2> /dev/null  ; then
        has_freenect="local"
        freenect_flags=-I$local_inc/freenect
        freenect_ld=-L$local_lib -lfreenect
    fi
fi

fi


#look for vorbis support
cat > $TMPC << EOF
#include <vorbis/codec.h>
int main( void ) { return 0; }
EOF

if $cc -o $TMPO $TMPC $LDFLAGS -lvorbis 2> /dev/null  ; then
    has_vorbis="system"
elif test "$alt_macosx_dir" != "" ; then
    if $cc -o $TMPO $TMPC -I$alt_macosx_dir/include -L$alt_macosx_dir/lib $LDFLAGS -lvorbis 2> /dev/null ; then
        has_vorbis="system"
    fi
elif $cc -o $TMPO $TMPC -I$local_inc -L$local_lib -lvorbis -lm 2> /dev/null  ; then
    has_vorbis="local"
fi



#look for theora support
cat > $TMPC << EOF
#include <theora/theora.h>
int main( void ) { return 0; }
EOF

if $cc -o $TMPO $TMPC $LDFLAGS -ltheora 2> /dev/null  ; then
    has_theora="system"
elif test "$alt_macosx_dir" != "" ; then
    if $cc -o $TMPO $TMPC -I$alt_macosx_dir/include -L$alt_macosx_dir/lib $LDFLAGS -ltheora -logg 2> /dev/null ; then
        has_theora="system"
    fi
elif $cc -o $TMPO $TMPC -I$local_inc -L$local_lib -ltheora -logg -lm 2> /dev/null  ; then
    has_theora="local"
fi



#look for OGG support
cat > $TMPC << EOF
#include <ogg/ogg.h>
int main( void ) { return 0; }
EOF

if $cc -o $TMPO $TMPC $LDFLAGS -logg 2> /dev/null  ; then
    has_ogg="system"
elif test "$alt_macosx_dir" != "" ; then
    if $cc -o $TMPO $TMPC -I$alt_macosx_dir/include -L$alt_macosx_dir/lib $LDFLAGS -logg 2> /dev/null ; then
        has_ogg="system"
    fi
elif $cc -o $TMPO $TMPC -I$local_inc -L$local_lib -logg -lm 2> /dev/null  ; then
    has_ogg="local"
else
    has_vorbis=no
    has_theora=no
fi



#look for OSS support
if test "$darwin" = "yes" ; then

    cat > $TMPC << EOF
#include <soundcard.h>
int main( void ) { return 0; }
EOF

    if $cc -o $TMPO $TMPC -DLIBOSS_INTERNAL -I$alt_macosx_dir/include/ -I$alt_macosx_dir/include/liboss -L$alt_macosx_dir/lib -loss $LDFLAGS 2> /dev/null ; then
        has_oss_audio="yes"
        OSS_CFLAGS="-DLIBOSS_INTERNAL -I$alt_macosx_dir/include/ -I$alt_macosx_dir/include/liboss"
        OSS_LDFLAGS="-L$alt_macosx_dir/lib -loss"
    fi

else

    cat > $TMPC << EOF
#include <sys/ioctl.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/soundcard.h>
int main( void ) { return 0; }
EOF

    if $cc -o $TMPO $TMPC 2> /dev/null  ; then
        has_oss_audio="yes"
    else
        cat > $TMPC << EOF
#include <sys/ioctl.h>
#include <unistd.h>
#include <fcntl.h>
#include <soundcard.h>
int main( void ) { return 0; }
EOF

        if $cc -o $TMPO $TMPC $LDFLAGS 2> /dev/null  ; then
            has_oss_audio="yes"
        fi
    fi

fi



#look for wxWidgets support
has_wx="no"
wx_too_old="no"

if test "$cross_prefix" = "" ; then
    if type wx-config >/dev/null 2>&1; then

        wx_version=`wx-config --version | sed 's/[^0-9]//g'`

        if test "$wx_version" -lt 250 ; then
            wx_too_old="yes"
            has_wx="yes"
        else
            if test "$wx_version" -lt 260 ; then
                has_wx="yes"
                wx_cflags=`wx-config --cppflags`
                wx_lflags=`wx-config --libs`
            else
                has_wx="yes"
                wx_cflags=`wx-config --cppflags core, base`
                wx_lflags=`wx-config --libs core, base`
            fi

            if test "$darwin" = "yes" ; then
                wx_lflags="-Wl,-bind_at_load $wx_lflags -lstdc++" #10.4 needs it, not sure about 10.3
            fi
        fi

        cat > $TMPCPP << EOF
#include <wx/wx.h>
int main( void ) { return 0; }
EOF

        if $cc $wx_cflags -o $TMPO $TMPCPP $wx_lflags > /dev/null 2>&1 ; then
            wx_version=`wx-config --version | sed 's/[^0-9]//g'`
            if test "$wx_version" -lt 254 ; then
                wx_too_old="yes"
            else
                has_wx="yes"
            fi
        fi
    fi
fi
#end wx test

#if svg isn't disabled
if test "$disable_svg" != "yes"; then
    #then check libxm2 presence via pkg-config
    if $pkg_config libxml-2.0 --exists > /dev/null 2>&1  ; then
        libxml2_cflags=`$pkg_config libxml-2.0 --cflags`
        libxml2_lib_flags=`$pkg_config libxml-2.0 --libs`
        has_libxml2="yes"
    fi
fi



#look for IPv6
cat > $TMPC << EOF
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
int main( void ) {
struct sockaddr_storage saddr;
struct ipv6_mreq mreq6;
getaddrinfo(0,0,0,0);
getnameinfo(0,0,0,0,0,0,0);
IN6_IS_ADDR_MULTICAST( (struct in6_addr *) 0);
}
EOF

if $cc -o $TMPE $TMPC $LDFLAGS $extralibs > /dev/null 2>&1  ; then
    has_ipv6="yes"
fi



#look for DVB4linux
cat > $TMPC << EOF
#include <linux/dvb/dmx.h>
#include <linux/dvb/frontend.h>
int main( void ) {
}
EOF

if $cc -o $TMPE $TMPC $LDFLAGS > /dev/null 2>&1  ; then
    has_dvb4linux="yes"
fi



#look for XMLRPC
cat > $TMPC << EOF
#include <xmlrpc-c/base.h>
#include <xmlrpc-c/server.h>
#include <xmlrpc-c/server_abyss.h>
int main( void ) {
}
EOF

if $cc -o $TMPE $TMPC $LDFLAGS > /dev/null 2>&1  ; then
    has_xmlrpc="yes"
fi



#look for alsa
cat > $TMPC << EOF
#include <alsa/asoundlib.h>
int main( void ) {
}
EOF

if $cc -o $TMPE $TMPC $LDFLAGS > /dev/null 2>&1  ; then
    has_alsa="yes"
fi



#look for pulseaudio
cat > $TMPC << EOF
#include <pulse/pulseaudio.h>
int main( void ) {
}
EOF

if $cc -o $TMPE $TMPC $LDFLAGS > /dev/null 2>&1  ; then
    has_pulseaudio="yes"
fi



#look for jack
cat > $TMPC << EOF
#include <jack/jack.h>
int main( void ) {
}
EOF
if $cc -o $TMPE $TMPC $LDFLAGS > /dev/null 2>&1  ; then
    has_jack="yes"
fi



#look for directfb support
cat > $TMPC << EOF
#include <directfb.h>
int main( void ) { return 0; }
EOF
directfb_inc="/usr/include/directfb"
directfb_lib="-ldirectfb -lfusion -ldirect"
if $cc -o $TMPO $TMPC -I$directfb_inc -L$directfb_lib $LDFLAGS 2> /dev/null  ; then
    has_directfb="yes"
fi



#look for X11 shared memory support
cat > $TMPC << EOF
#include <X11/Xlib.h>
int main( void ) { return 0; }
EOF

if $cc -o $TMPO $TMPC -I$X11_PATH/include -L$X11_PATH/lib $LDFLAGS 2> /dev/null  ; then
    has_x11="yes"

    #look for X11 shared memory support
    cat > $TMPC << EOF
#include <X11/Xlib.h>
#include <X11/extensions/XShm.h>
#include <sys/ipc.h>
#include <sys/shm.h>
int main( void ) { return 0; }
EOF

    if $cc -o $TMPO $TMPC -I$X11_PATH/include -L$X11_PATH/lib $LDFLAGS 2> /dev/null  ; then
        has_x11_shm="yes"
    fi

    #look for XVideo support
    cat > $TMPC << EOF
#include <X11/Xlib.h>
#include <X11/extensions/Xv.h>
#include <X11/extensions/Xvlib.h>
int main( void ) { return 0; }
EOF

    if $cc -o $TMPO $TMPC -I$X11_PATH/include -L$X11_PATH/lib $LDFLAGS 2> /dev/null  ; then
        has_x11_xv="yes"
    fi

fi



#overwrite detection with manual settings
for opt do
    case "$opt" in
        --sdl-cfg=*) sdl_path=`echo $opt | cut -d '=' -f 2`; sdl_local="yes"
            ;;
        --enable-sdl-static=*) sdl_static="yes"
            ;;
        --enable-jack=*) has_jack="yes"
            ;;
        --X11-path=*) X11_PATH=`echo $opt | cut -d '=' -f 2`
            ;;
        --dxsdk-path=*) dxsdk_path=`echo $opt | cut -d '=' -f 2`
            ;;
        --xulsdk-path=*) xulsdk_path=`echo $opt | cut -d '=' -f 2`
            ;;
        --mozdir=*) moz_path=`echo $opt | cut -d '=' -f 2`
            ;;
        --enable-amr-nb-fixed) has_amr_nb_fixed="yes"
            ;;
        --disable-pulseaudio=*) has_pulseaudio="no"
            ;;
        --enable-amr-nb) has_amr_nb="yes"
            ;;
        --enable-amr-wb) has_amr_wb="yes"
            ;;
        --enable-amr) has_amr_wb="yes"; has_amr_nb="yes"
            ;;
        --disable-oggvorbis) has_oggvorbis="no"
            ;;
        --disable-jack=*) has_jack="no"
            ;;
        --disable-alsa) has_alsa="no"
            ;;
        --enable-gprof) gprof_build="yes";
            ;;
        --enable-static-bin) static_build="yes";
            ;;
        --disable-ipv6) has_ipv6="no"
            ;;
        --disable-wx) has_wx="no"
            ;;
        --disable-platinum) has_platinum="no"
            ;;
        --disable-oss-audio) has_oss_audio="no"
            ;;
        --disable-x11-shm) has_x11_shm="no"
            ;;
        --disable-x11-xv) has_x11_xv="no"
            ;;
        --enable-fixed-point) use_fixed_point="yes"
            ;;
        --strip) INSTFLAGS="-s $INSTFLAGS"
            ;;
        --std-allocator) use_std_alloc="yes"
            ;;
        --track-memory) use_memory_tracking="yes"
            ;;
        --enable-tinygl) enable_tinygl="yes"
            ;;
        --disable-ssl) has_ssl="no"
            ;;
        --enable-depth) enable_depth_compositor="yes"
            ;;
        --static-mp4box) static_mp4box="yes"
            ;;
        --use-faad=*) has_faad=${opt#--use-faad=}
            ;;
        --use-js=*) has_js=${opt#--use-js=}
            ;;
        --use-ft=*) has_ft=${opt#--use-ft=}
            ;;
        --use-mad=*) has_mad=${opt#--use-mad=}
            ;;
        --use-a52=*) has_a52=${opt#--use-a52=}
            ;;
        --use-xvid=*) has_xvid=${opt#--use-xvid=}
            ;;
        --use-jpeg=*) has_jpeg=${opt#--use-jpeg=}
            ;;
        --use-ffmpeg=*) has_ffmpeg=${opt#--use-ffmpeg=}
            ;;
        --use-freenect=*) has_freenect=${opt#--use-freenect=}
            ;;
        --use-png=*) tmp_has_png=${opt#--use-png=}
            if test "$tmp_has_png" = "system" ; then
                if test "$has_png"  != "system" ; then
                    if test "$cross_prefix" != "" ; then
                        echo 
                        echo "WARNING: PNG has been forced to system, but we are cross-compiling, it will have to be on target"
                        echo 
                    else
                        echo 
                        echo "WARNING!! : PNG has been forced to system even though it hasn't been found in this host"
                        echo 
                    fi
                fi
            fi
            has_png=$tmp_has_png
            ;;
        --use-zlib=*) tmp_has_zlib=${opt#--use-zlib=}
            if test "$tmp_has_zlib" = "system" ; then
                if test "$has_zlib"  != "system" ; then
                    if test "$cross_prefix" != "" ; then
                        echo 
                        echo "WARNING: ZLIB has been forced to system, but we are cross-compiling, it will have to be on target"
                        echo 
                    else
                        echo 
                        echo "WARNING!! : ZLIB has been forced to system even though it hasn't been found in this host"
                        echo 
                    fi
                fi
            fi
            has_png=$tmp_has_png
            ;;
        --use-ogg=*) has_ogg=${opt#--use-ogg=}
            ;;
        --use-vorbis=*) has_vorbis=${opt#--use-vorbis=}
            ;;
        --use-theora=*) has_theora=${opt#--use-theora=}
            ;;
        --use-openjpeg=*) has_openjpeg=${opt#--use-openjpeg=}
            ;;
        --enable-joystick) enable_joystick="yes"
            ;;
        --enable-pulseaudio=*) has_pulseaudio="yes"
            ;;

        --disable-all) has_pulseaudio="no"; has_alsa="no"; disable_3d="yes"; disable_svg="yes"; disable_vrml="yes"; disable_od="yes"; disable_bifs="yes"; disable_bifs_enc="yes"; disable_laser="yes"; disable_beng="yes"; disable_qtvr="yes";  disable_avi="yes"; disable_ogg="yes"; disable_m2ps="yes"; disable_m2ts="yes"; disable_m2ts_mux="yes"; disable_parsers="yes"; disable_import="yes"; disable_export="yes"; disable_swf="yes"; disable_scene_stats="yes"; disable_scene_dump="yes"; disable_scene_encode="yes"; disable_loader_isoff="yes"; disable_od_dump="yes"; disable_isom_dump="yes"; disable_mcrypt="yes"; disable_isoff="yes"; disable_isoff_write="yes"; disable_isoff_hint="yes"; disable_isoff_frag="yes"; disable_streaming="yes"; disable_x3d="yes"; disable_loader_bt="yes"; disable_loader_xmt="yes"; has_dvb4linux="no"
            ;;

        --disable-3d) disable_3d="yes"
            ;;
        --enable-3d) disable_3d="no"
            ;;
        --disable-svg) disable_svg="yes"
            ;;
        --enable-svg) disable_svg="no"
            ;;
        --disable-vrml) disable_vrml="yes"
            ;;
        --enable-vrml) disable_vrml="no"
            ;;
        --disable-x3d) disable_x3d="yes"
            ;;
        --enable-x3d) disable_x3d="no"
            ;;
        --disable-odf) disable_od="yes"
            ;;
        --enable-odf) disable_od="no"
            ;;
        --disable-bifs) disable_bifs="yes"
            ;;
        --enable-bifs) disable_bifs="no"
            ;;
        --disable-bifs-enc) disable_bifs_enc="yes"
            ;;
        --enable-bifs-enc) disable_bifs_enc="no"
            ;;
        --disable-laser) disable_laser="yes"
            ;;
        --enable-laser) disable_laser="no"
            ;;
        --disable-beng) disable_beng="yes"
            ;;
        --enable-beng) disable_beng="no"
            ;;
        --disable-qtvr) disable_qtvr="yes"
            ;;
        --enable-qtvr) disable_qtvr="no"
            ;;
        --disable-avi) disable_avi="yes"
            ;;
        --enable-avi) disable_avi="no"
            ;;
        --disable-ogg) disable_ogg="yes"
            ;;
        --enable-ogg) disable_ogg="no"
            ;;
        --disable-m2ps) disable_m2ps="yes"
            ;;
        --enable-m2ps) disable_m2ps="no"
            ;;
        --disable-m2ts) disable_m2ts="yes"
            ;;
        --enable-m2ts) disable_m2ts="no"
            ;;
        --disable-m2ts-mux) disable_m2ts_mux="yes"
            ;;
        --enable-m2ts-mux) disable_m2ts_mux="no"
            ;;
        --disable-dvb4linux) has_dvb4linux="no"
            ;;
        --disable-parsers) disable_parsers="yes"
            ;;
        --enable-parsers) disable_parsers="no"
            ;;
        --disable-import) disable_import="yes"
            ;;
        --enable-import) disable_import="no"
            ;;
        --disable-export) disable_export="yes"
            ;;
        --enable-export) disable_export="no"
            ;;
        --disable-swf) disable_swf="yes"
            ;;
        --enable-swf) disable_swf="no"
            ;;
        --disable-scene-stats) disable_scene_stats="yes"
            ;;
        --enable-scene-stats) disable_scene_stats="no"
            ;;
        --disable-scene-dump) disable_scene_dump="yes"
            ;;
        --enable-scene-dump) disable_scene_dump="no"
            ;;
        --disable-scene-encode) disable_scene_encode="yes"
            ;;
        --enable-scene-encode) disable_scene_encode="no"
            ;;
        --disable-loader-isoff) disable_loader_isoff="yes"
            ;;
        --enable-loader-isoff) disable_loader_isoff="no"
            ;;
        --disable-loader-bt) disable_loader_bt="yes"
            ;;
        --enable-loader-bt) disable_loader_bt="no"
            ;;
        --disable-loader-xmt) disable_loader_xmt="yes"
            ;;
        --enable-loader-xmt) disable_loader_xmt="no"
            ;;
        --disable-od-dump) disable_od_dump="yes"
            ;;
        --enable-od-dump) disable_od_dump="no"
            ;;
        --disable-isom-dump) disable_isom_dump="yes"
            ;;
        --enable-isom-dump) disable_isom_dump="no"
            ;;
        --disable-mcrypt) disable_mcrypt="yes"
            ;;
        --enable-mcrypt) disable_mcrypt="no"
            ;;
        --disable-isoff) disable_isoff="yes"
            ;;
        --enable-isoff) disable_isoff="no"
            ;;
        --disable-isoff-write) disable_isoff_write="yes"
            ;;
        --enable-isoff-write) disable_isoff_write="no"
            ;;
        --disable-isoff-hint) disable_isoff_hint="yes"
            ;;
        --enable-isoff-hint) disable_isoff_hint="no"
            ;;
        --disable-isoff-frag) disable_isoff_frag="yes"
            ;;
        --enable-isoff-frag) disable_isoff_frag="no"
            ;;
        --disable-streaming) disable_streaming="yes"
            ;;
        --enable-streaming) disable_streaming="no"
            ;; 


    esac
done



#look for OpenGL support or for TinyGL support
LINK3D=""
INCL3D=""
DarwinGL="no"

if test "$darwin" = "yes" ; then
    cat > $TMPC << EOF
#include <OpenGL/gl.h>
#include <OpenGL/glu.h>
int main( void ) { glEnable(GL_NORMALIZE); return 0; }
EOF

else
    cat > $TMPC << EOF
#include <GL/gl.h>
#include <GL/glu.h>
int main( void ) { glEnable(GL_NORMALIZE); return 0; }
EOF

fi

if test "$disable_3d" = "no" ; then
    if test "$win32" = "yes" ; then
        if test "$cygwin" = "yes" ; then
            LINK3D="-lw32api/opengl32 -lw32api/glu32"
        else
            LINK3D="-lopengl32 -lglu32"
        fi
    elif test "$darwin" = "yes" ; then
        LINK3D="-framework OpenGL -framework GLUT"
        DarwinGL="yes"
    else
        LINK3D="-lGL -lGLU -lX11"
    fi
    if $cc -o $TMPO $TMPC $LINK3D $LDFLAGS 2> /dev/null  ; then
        has_opengl="yes"
    elif $cc -o $TMPO $TMPC -I$X11_PATH/include -L$X11_PATH/lib $LDFLAGS 2> /dev/null  ; then
        has_opengl="yes"
        INCL3D="-I$X11_PATH/include"
        LINK3D="-L$X11_PATH/lib $LINK3D"
    fi
    if test "$has_opengl" = "no" ; then
        LINK3D=""
    fi
fi

cat > $TMPC << EOF
#include <GL/gl.h>
int main( void ) { int a ; a = TINYGL ; }
EOF

if test "$enable_tinygl" = "yes"  ;then
    if $cc -o $TMPO $TMPC $LDFLAGS -lTinyGL 2> /dev/null  ; then
        has_tinygl="yes"
        has_opengl="yes"
        LINK3D="-lTinyGL"
    fi
fi



#look for GECKO support
cat > $TMPCPP << EOF
#include <npapi.h>
int main( void ) { return 0; }
EOF

if $cc -o $TMPO $TMPCPP -I$xulsdk_path $LDFLAGS 2> /dev/null  ; then
    has_xul="system"
    xul_flags="-I$xulsdk_path $xul_flags"
fi

if test "$has_xul" = "no" ; then
    if $pkg_config --exists libxul 2> /dev/null ; then
        if $cpp -o $TMPO $TMPCPP `$pkg_config --cflags libxul` `$pkg_config --libs libxul` ; then
            has_xul="system"
            xul_flags="`$pkg_config --cflags libxul` `$pkg_config --libs libxul`" 
        fi
    fi
fi

if test "$has_xul" = "no" ; then
    if $cc -o $TMPO $TMPCPP $xul_flags -I$local_inc/gecko-sdk/include $LDFLAGS 2> /dev/null  ; then
        has_xul="local"
        xul_flags="-I$local_inc/gecko-sdk/include $xul_flags"
    else
        #xulrunner directories are sometimes included through js/xul/ff packages
        if test ! "$has_js" = "no" -a ! "$has_js" = "local" ; then
            if $cc -o $TMPO $TMPCPP $js_flags $js_lib_pkg $LDFLAGS 2> /dev/null  ; then
                xul_flags=`$pkg_config --cflags mozilla-js`
                has_xul="$has_js"
            fi
        fi
    fi
fi



#look for joystick support
cat > $TMPC << EOF
#include <linux/joystick.h>
int main( void ) { return 0; }
EOF
if test "$enable_joystick" = "yes"  ;then
    if $cc -o $TMPO $TMPC $LDFLAGS  2> /dev/null  ; then
        has_joystick="yes"
    fi
fi



#look for DX support
dx_path="system"
has_mingw_directx="no"
if test "$win32" = "yes" ; then

    cat > $TMPC << EOF
#include <ddraw.h>
int main( void ) { return 0; }
EOF

    if $cc -o $TMPO $TMPC $LDFLAGS 2> /dev/null  ; then
        has_mingw_directx="yes"
    else
        dx_path="$dxsdk_path"
        if $cc -o $TMPO $TMPC -I$dxsdk_path/include -L$dxsdk_path/lib -lddraw 2> /dev/null  ; then
            has_mingw_directx="yes"
        fi
    fi

fi



#look for SDL support
sdl_too_old=no
has_sdl=no
sdl_config="sdl-config"
if test "$sdl_local" = "yes"; then
    sdl_config="$sdl_path/sdl-config"
    sdl_static="yes"
fi


if test "$cross_prefix" = "" ; then
    if type $sdl_config >/dev/null 2>&1; then

        cat > $TMPC << EOF
#include <SDL.h>
#undef main
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
EOF

        if test "$sdl_static" = "yes"; then
            sdl_lib_flags=`$sdl_config --static-libs`
        else
            sdl_lib_flags=`$sdl_config --libs`
        fi
        sdl_cflags=`$sdl_config --cflags`

        if $cc -o $TMPO $sdl_cflags $TMPC $LDFLAGS $sdl_lib_flags  > /dev/null 2>&1  ; then
            _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
            if test "$_sdlversion" -lt 121 ; then
                sdl_too_old=yes
            else
                has_sdl=yes
            fi
        fi
    fi
fi
#end SDL check



#look at endianess
if test -z "$cross_prefix" ; then

    # big/little endian test
    cat > $TMPC << EOF
#include <inttypes.h>
int main(int argc, char ** argv){
volatile uint32_t i=0x01234567;
return (*((uint8_t*)(&i))) == 0x67;
}
EOF

    if $cc -o $TMPO $TMPC $LDFLAGS 2>/dev/null ; then
        $TMPO && bigendian="yes"
    else
        echo big/little endian test failed
    fi

else

    # if cross compiling, cannot launch a program, so make a static guess
    if test "$cpu" = "powerpc" -o "$cpu" = "mips" ; then
        bigendian="yes"
    fi

fi



#man dir
if test x"$mandir" = x""; then
    mandir="${prefix}/man"
fi

if test "$static_mp4box" = "yes"; then
    has_opengl="no"
    has_ssl="no"
    has_js="no"
    has_jpeg="no"
    has_png="no"
fi

if test "$cpu" = "sh4"; then
    viren_dir="`ls \"$source_path/modules\" | grep viren_out`"
    if test "$viren_dir" = "viren_out"; then
        enable_depth_compositor="yes"
        enable_renoir="yes"
    fi
fi



#prepare for config.h writing
TMPH="${TMPDIR1}/gpac-conf-${RANDOM}-$$-${RANDOM}.h"
echo "/* Automatically generated by configure */" > $TMPH
echo "#ifndef GF_CONFIG_H" >> $TMPH
echo "#define GF_CONFIG_H" >> $TMPH
echo "#define GPAC_CONFIGURATION \"$GPAC_CONFIGURATION\"" >> $TMPH

version="`grep '#define GPAC_VERSION ' \"$source_path/include/gpac/tools.h\" | cut -d '"' -f 2`"
version_major=`grep '#define GPAC_VERSION_MAJOR ' $source_path/include/gpac/tools.h | sed -e 's/.*\([0-9]\)\+$/\1/'`
version_minor=`grep '#define GPAC_VERSION_MINOR ' $source_path/include/gpac/tools.h | sed -e 's/.*\([0-9]\)\+$/\1/'`
version_micro=`grep '#define GPAC_VERSION_MICRO ' $source_path/include/gpac/tools.h | sed -e 's/.*\([0-9]\)\+$/\1/'`
soname_version="${version_major}.${version_minor}.${version_micro}"

if which svnversion >/dev/null
then
    revision="`svnversion \"$source_path\"`"
    echo "#define GPAC_SVN_REVISION	\"$revision\"" > $source_path/include/gpac/version.h
else
    echo "Cannot find SVN revision"
fi

echo ""
echo "** System Configuration"
echo "Install prefix: $prefix"
echo "Source path: $source_path"
echo "C   compiler: $cc_naked"
echo "C++ compiler: $cpp_naked"
echo "make: $make"
echo "CPU: $cpu"
echo "Big Endian: $bigendian"
if test $cpu = "mips"; then
    echo "MMI enabled: $mmi"
fi
echo ""
echo "** GPAC $version rev$revision Core Configuration **"
echo "debug version: $debuginfo"
echo "GProf enabled: $gprof_build"
echo "Static build enabled: $static_build"
echo "Memory tracking enabled: $use_memory_tracking"
echo "Use standard memory allocator: $use_std_alloc"
echo "fixed-point version: $use_fixed_point"
echo "IPV6 Support: $has_ipv6"


if test "$disable_svg" = "yes" ; then
    echo "SVG disabled"
    echo "#define GPAC_DISABLE_SVG" >> $TMPH
fi
if test "$disable_vrml" = "yes" ; then
    echo "MPEG-4/VRML/X3D disabled"
    echo "#define GPAC_DISABLE_VRML" >> $TMPH
fi
if test "$disable_x3d" = "yes" ; then
    echo "X3D disabled"
    echo "#define GPAC_DISABLE_X3D" >> $TMPH
fi
if test "$disable_od" = "yes" ; then
    echo "OD Full support disabled"
    echo "#define GPAC_MINIMAL_ODF" >> $TMPH
fi
if test "$disable_bifs" = "yes" ; then
    echo "BIFS coder disabled"
    echo "#define GPAC_DISABLE_BIFS" >> $TMPH
fi
if test "$disable_bifs_enc" = "yes" ; then
    echo "BIFS encoder disabled"
    echo "#define GPAC_DISABLE_BIFS_ENC" >> $TMPH
fi
if test "$disable_laser" = "yes" ; then
    echo "LASeR coder disabled"
    echo "#define GPAC_DISABLE_LASER" >> $TMPH
fi
if test "$disable_beng" = "yes" ; then
    echo "Scene encoder engine disabled"
    echo "#define GPAC_DISABLE_SENG" >> $TMPH
fi
if test "$disable_qtvr" = "yes" ; then
    echo "Cubic QTVR import disabled"
    echo "#define GPAC_DISABLE_QTVR" >> $TMPH
fi
if test "$disable_avi" = "yes" ; then
    echo "AVI disabled"
    echo "#define GPAC_DISABLE_AVILIB" >> $TMPH
fi
if test "$disable_ogg" = "yes" ; then
    echo "OGG disabled"
    echo "#define GPAC_DISABLE_OGG" >> $TMPH
fi
if test "$disable_m2ps" = "yes" ; then
    echo "MPEG-2 PS disabled"
    echo "#define GPAC_DISABLE_MPEG2PS" >> $TMPH
fi
if test "$disable_m2ts" = "yes" ; then
    echo "MPEG-2 TS disabled"
    echo "#define GPAC_DISABLE_MPEG2TS" >> $TMPH
fi
if test "$disable_m2ts_mux" = "yes" ; then
    echo "MPEG-2 TS Multiplexer disabled"
    echo "#define GPAC_DISABLE_MPEG2TS_MUX" >> $TMPH
fi
if test "$disable_parsers" = "yes" ; then
    echo "AV Parsers disabled"
    echo "#define GPAC_DISABLE_AV_PARSERS" >> $TMPH
fi
if test "$disable_import" = "yes" ; then
    echo "Media importers disabled"
    echo "#define GPAC_DISABLE_MEDIA_IMPORT" >> $TMPH
fi
if test "$disable_export" = "yes" ; then
    echo "Media exmporters disabled"
    echo "#define GPAC_DISABLE_MEDIA_EXPORT" >> $TMPH
fi
if test "$disable_swf" = "yes" ; then
    echo "SWF import disabled"
    echo "#define GPAC_DISABLE_SWF_IMPORT" >> $TMPH
fi
if test "$disable_scene_stats" = "yes" ; then
    echo "Scene statistics disabled"
    echo "#define GPAC_DISABLE_SCENE_STATS" >> $TMPH
fi
if test "$disable_scene_dump" = "yes" ; then
    echo "Scene dump disabled"
    echo "#define GPAC_DISABLE_SCENE_DUMP" >> $TMPH
fi
if test "$disable_scene_encode" = "yes" ; then
    echo "Scene encoder to ISO FF disabled"
    echo "#define GPAC_DISABLE_SCENE_ENCODER" >> $TMPH
fi
if test "$disable_loader_isoff" = "yes" ; then
    echo "Scene loader from ISO FF disabled"
    echo "#define GPAC_DISABLE_LOADER_ISOM" >> $TMPH
fi
if test "$disable_loader_bt" = "yes" ; then
    echo "BT/WRL Scene loader disabled"
    echo "#define GPAC_DISABLE_LOADER_BT" >> $TMPH
fi
if test "$disable_loader_xmt" = "yes" ; then
    echo "XMT/X3D Scene loader disabled"
    echo "#define GPAC_DISABLE_LOADER_XMT" >> $TMPH
fi
if test "$disable_od_dump" = "yes" ; then
    echo "OD dump disabled"
    echo "#define GPAC_DISABLE_OD_DUMP" >> $TMPH
fi
if test "$disable_isom_dump" = "yes" ; then
    echo "ISOM dump disabled"
    echo "#define GPAC_DISABLE_ISOM_DUMP" >> $TMPH
fi
if test "$disable_mcrypt" = "yes" ; then
    echo "MCrypt disabled"
    echo "#define GPAC_DISABLE_MCRYPT" >> $TMPH
fi
if test "$disable_isoff" = "yes" ; then
    echo "ISO File Format disabled"
    echo "#define GPAC_DISABLE_ISOM" >> $TMPH
fi
if test "$disable_isoff_write" = "yes" ; then
    echo "ISO File Format write disabled"
    echo "#define GPAC_DISABLE_ISOM_WRITE" >> $TMPH
fi
if test "$disable_isoff_hint" = "yes" ; then
    echo "ISO File Format hinting disabled"
    echo "#define GPAC_DISABLE_ISOM_HINTING" >> $TMPH
fi
if test "$disable_isoff_frag" = "yes" ; then
    echo "ISO File Format fragments disabled"
    echo "#define GPAC_DISABLE_ISOM_FRAGMENTS" >> $TMPH
fi
if test "$disable_streaming" = "yes" ; then
    echo "RTP/RTSP/SDP streaming disabled"
    echo "#define GPAC_DISABLE_STREAMING" >> $TMPH
fi

if test "$enable_depth_compositor" = "yes" ; then
    echo "Depth Compositor enabled"
    echo "#define GF_SR_USE_DEPTH" >> $TMPH
fi

echo ""

echo "** Detected libraries **"
echo "zlib: $has_zlib"

if test "$win32" != "yes" ; then
    echo "OSS Audio: $has_oss_audio"
    echo "ALSA Audio: $has_alsa"
    echo "Jack Audio: $has_jack"
    echo "PulseAudio Audio: $has_pulseaudio"
    echo "DirectFB support: $has_directfb"
    echo "X11 Shared Memory support: $has_x11_shm (path: $X11_PATH)"
    echo "X11 XVideo support: $has_x11_xv"
fi

echo "SDL Support: $has_sdl"
if test "$sdl_too_old" = "yes" ; then
    echo "SDL Version too old - please upgrade for SDL support"
fi
echo "OpenGL support: $has_opengl"
echo "TinyGL support: $has_tinygl"
echo "OpenSSL support: $has_ssl"

echo "Mozilla XUL/GECKO support: $has_xul"

if test "$win32" = "yes" ; then
    echo "DirectX Support: $has_mingw_directx"
fi
if test "$linux" = "yes" ; then
    echo "DVB Support: $has_dvb4linux"
fi

echo "XMLRPC Support: $has_xmlrpc"

if test "$wx_too_old" = "yes" ; then
    has_wx="no"
    echo "wxWidgets Version too old - please upgrade to 2.6.0 for wxWidgets support"
fi
if test "$has_wx" = "yes" ; then
    echo "wxWidgets support: Version $wx_version"
else
    echo "wxWidgets support: no"
fi


echo ""
echo "** Extra Libraries used **"
echo "SpiderMonkey: $has_js"
echo "FreeType: $has_ft"
echo "JPEG: $has_jpeg"
echo "OpenJPEG: $has_openjpeg"
echo "PNG: $has_png"
echo "MAD: $has_mad"
echo "FAAD: $has_faad"
echo "XVID: $has_xvid"
echo "FFMPEG: $has_ffmpeg"
echo "Xiph OGG: $has_ogg"
echo "Platinum UPnP: $has_platinum"
echo "AVCap: $has_avcap"
if test "$has_ogg" = "no"; then
    has_ogg="no"
else
    echo "Xiph Vorbis: $has_vorbis"
    echo "Xiph Theora: $has_theora"
fi
echo "A52 (AC3): $has_a52"
echo "OpenSVCDecoder: $has_opensvc"
echo "Freenect: $has_freenect"

if test "$enable_renoir" = "yes" ; then
    echo "Renoir enabled - make sure the driver libraries are present in modules/viren_out directory"
fi

if test "$has_amr_nb_fixed" = "yes" ; then
    echo ""
    echo "*** AMR NB FIXED-POINT NOTICE ***"
    echo "Make sure you have downloaded TS26.073 from:"
    echo "http://www.3gpp.org/ftp/Specs/archive/26_series/26.073/26073-*.zip"
    echo "or through gpac_extra_libs and extracted src to modules/amr_dec/amr_nb"
    echo "without overwriting typedefs.h file"
    echo ""
fi

if test "$has_amr_nb" = "yes" ; then
    echo ""
    echo "*** AMR NB NOTICE ***"
    echo "Make sure you have downloaded TS26.104 from:"
    echo "http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-*.zip"
    echo "or through gpac_extra_libs and extracted src to modules/amr_float_dec/amr_nb_ft"
    echo "without overwriting typedefs.h file"
    echo ""
fi


if test "$has_amr_wb" = "yes" ; then
    echo ""
    echo "*** AMR WB NOTICE ***"
    echo "Make sure you have downloaded TS26.204 from:"
    echo "http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-*.zip"
    echo "or through gpac_extra_libs and extracted src to modules/amr_float_dec/amr_wb_ft"
    echo "without overwriting typedefs.h file"
    echo ""
fi

echo ""
if test "$use_memory_tracking" = "yes"; then
    echo "!! WARNING: GPAC Memory tracking is enabled !!"
    echo "!! This may corrupt third-party tools using libgpac !!"
    echo "!! Use at your own risk, and only for GPAC benchmarking !!"
    echo ""
fi

#needs gmon for win32 gprof
if test "$gprof_build" = "yes"; then
    if test "$win32" = "yes"; then
        extralibs="$extralibs -lgmon"
    fi
fi

if test "$darwin" = "yes" ; then
    CFLAGS="$CFLAGS_DIR $CFLAGS"
fi

ldir=`pwd`
CFLAGS="$CFLAGS -fvisibility=\"hidden\" -DGPAC_HAVE_CONFIG_H -I\"$ldir\""
CPPFLAGS="$CPPFLAGS"


echo "Creating config.mak"
echo "# Automatically generated by configure - do not modify" > config.mak

echo "GPAC_CONFIGURATION=$GPAC_CONFIGURATION" >> config.mak

echo "prefix=$prefix" >> config.mak
echo "DESTDIR=$DESTDIR" >> config.mak
echo "moddir=$prefix/$libdir/gpac" >> config.mak
echo "moddir_path=$prefix/$libdir/gpac" >> config.mak
echo "mandir=$mandir" >> config.mak
echo "tinygl_target_bin_dir=$target_bin_dir" >> config.mak
echo "MAKE=$make" >> config.mak
echo "CC=$cc_naked" >> config.mak
echo "AR=$ar" >> config.mak
echo "RANLIB=$ranlib" >> config.mak
echo "STRIP=$strip" >> config.mak
echo "INSTALL=$install" >> config.mak
echo "INSTFLAGS=$instflags" >> config.mak
echo "OPTFLAGS=$CFLAGS" >> config.mak
echo "CPPFLAGS=$CPPFLAGS" >> config.mak
echo "LDFLAGS=$LDFLAGS" >> config.mak
echo "SHFLAGS=$SHFLAGS" >> config.mak
echo "libdir=$libdir" >> config.mak


#for cross-compilation
if test "$cross_prefix" != "" ; then
    echo "CROSS_COMPILING=yes" >> config.mak
fi

if test "$cpu" = "x86" ; then
    echo "TARGET_ARCH_X86=yes" >> config.mak
elif test "$cpu" = "armv4l" ; then
    echo "TARGET_ARCH_ARMV4L=yes" >> config.mak
elif test "$cpu" = "alpha" ; then
    echo "TARGET_ARCH_ALPHA=yes" >> config.mak
elif test "$cpu" = "sparc64" ; then
    echo "TARGET_ARCH_SPARC64=yes" >> config.mak
elif test "$cpu" = "powerpc" ; then
    echo "TARGET_ARCH_POWERPC=yes" >> config.mak
elif test "$cpu" = "mips" ; then
    echo "TARGET_ARCH_MIPS=yes" >> config.mak
fi


if test "$bigendian" = "yes" ; then
    echo "IS_BIGENDIAN=yes" >> config.mak
    echo "#define GPAC_BIG_ENDIAN" >> $TMPH
fi
echo "EXTRALIBS=$extralibs" >> config.mak
echo "VERSION=$version" >>config.mak
echo "VERSION_MAJOR=$version_major" >>config.mak
echo "VERSION_SONAME=$soname_version" >>config.mak

if test "$use_fixed_point" = "yes"; then
    echo "#define GPAC_FIXED_POINT" >> $TMPH
fi

if test "$use_memory_tracking" = "yes"; then
    echo "#define GPAC_MEMORY_TRACKING" >> $TMPH
elif test "$use_std_alloc" = "yes"; then 
    echo "#define GPAC_STD_ALLOCATOR" >> $TMPH
fi


if test "$win32" = "yes" ; then
    echo "CONFIG_WIN32=yes" >> config.mak
    echo "CONFIG_OS=CONFIG_WIN32" >> config.mak
    echo "#define GPAC_CONFIG_WIN32" >> $TMPH
elif test "$linux" = "yes" ; then
    echo "CONFIG_LINUX=yes" >> config.mak
    echo "CONFIG_OS=CONFIG_LINUX" >> config.mak
    echo "#define GPAC_CONFIG_LINUX" >> $TMPH
elif test "$freebsd" = "yes" ; then
    echo "CONFIG_FREEBSD=yes" >> config.mak
    echo "CONFIG_OS=CONFIG_FREEBSD" >> config.mak
    echo "#define GPAC_CONFIG_FREEBSD" >> $TMPH
elif test "$darwin" = "yes" ; then
    echo "CONFIG_DARWIN=yes" >> config.mak
    echo "CONFIG_OS=CONFIG_DARWIN" >> config.mak
    echo "#define GPAC_CONFIG_DARWIN" >> $TMPH
    if test "$DarwinGL" = "yes" ; then
        echo "#define CONFIG_DARWIN_GL" >> $TMPH
    fi
    echo "mac_apps=$Mac_Applications" >> config.mak
elif test "$sunos" = "yes" ; then
    echo "CONFIG_SUNOS=yes" >> config.mak
    echo "CONFIG_OS=CONFIG_SUNOS" >> config.mak
    echo "#define GPAC_CONFIG_SUNOS" >> $TMPH
else
    echo "CONFIG_OS=CONFIG_GEN" >> config.mak
    echo "#define GPAC_CONFIG_GENERIC" >> $TMPH
fi

if test "$win32" = "no" ; then
    echo "GPAC_SH_FLAGS=$GPAC_SH_FLAGS" >> config.mak
    echo "DYN_LIB_SUFFIX=$DYN_LIB_SUFFIX" >> config.mak
else
    echo "DYN_LIB_SUFFIX=dll" >> config.mak
fi


echo "INSTFLAGS=$INSTFLAGS" >> config.mak

echo "CONFIG_JS=$has_js" >> config.mak
if test "$has_js" = "no" ; then
    has_js="no"
else
    if test "$has_js" = "local" ; then
        js_flags="-DXP_UNIX -I$local_inc/js"
        js_lib="-ljs"
    fi
    echo "JS_FLAGS=$js_flags" >> config.mak
    echo "JS_LIBS=$js_lib" >> config.mak
    echo "#define GPAC_HAS_SPIDERMONKEY" >> $TMPH
fi
echo "CONFIG_ZLIB=$has_zlib" >> config.mak
echo "CONFIG_FT=$has_ft" >> config.mak

echo "CONFIG_JPEG=$has_jpeg" >> config.mak
if test "$has_jpeg" != "no" ; then
    echo "#define GPAC_HAS_JPEG" >> $TMPH
fi

echo "CONFIG_PNG=$has_png" >> config.mak
if test "$has_png" != "no" ; then
    echo "#define GPAC_HAS_PNG" >> $TMPH
fi

echo "CONFIG_JP2=$has_openjpeg" >> config.mak
echo "CONFIG_FAAD=$has_faad" >> config.mak
echo "CONFIG_MAD=$has_mad" >> config.mak
echo "CONFIG_XVID=$has_xvid" >> config.mak
echo "CONFIG_OGG=$has_ogg" >> config.mak
echo "CONFIG_VORBIS=$has_vorbis" >> config.mak
echo "CONFIG_THEORA=$has_theora" >> config.mak
echo "CONFIG_FFMPEG=$has_ffmpeg" >> config.mak
if test "$has_ffmpeg" != "no"
then
    echo "ffmpeg_cflags=$ffmpeg_cflags" >> config.mak
    echo "ffmpeg_lflags=$ffmpeg_lflags" >> config.mak
fi
echo "CONFIG_FFMPEG_OLD=$old_ffmpeg_inc" >> config.mak

echo "CONFIG_OSS_AUDIO=$has_oss_audio" >> config.mak
echo "CONFIG_ALSA=$has_alsa" >> config.mak
echo "CONFIG_JACK=$has_jack" >> config.mak
echo "CONFIG_A52=$has_a52" >> config.mak
echo "CONFIG_PULSEAUDIO=$has_pulseaudio" >> config.mak
echo "CONFIG_FREENECT=$has_freenect" >> config.mak
if test "$has_freenect" != "no"
then
    echo "FREENECT_CFLAGS=$freenect_flags" >> config.mak
    echo "FREENECT_LDLAGS=$freenect_ld" >> config.mak
fi

echo "DISABLE_SVG=$disable_svg" >> config.mak
echo "DISABLE_LOADER_BT=$disable_loader_bt" >> config.mak
echo "HAS_LIBXML2=$has_libxml2" >> config.mak
if test "$has_libxml2" = "yes"; then
    echo "XML2_CFLAGS=$libxml2_cflags" >> config.mak
    echo "XML2_LIBS=$libxml2_lib_flags" >> config.mak
fi
if test "$disable_parsers" = "yes" ; then
    disable_m2ts_mux="yes"
fi
if test "$disable_m2ts_mux" = "yes" -o "$disable_m2ts" = "yes" ; then
    echo "DISABLE_M2TS=yes" >> config.mak
else
    echo "DISABLE_M2TS=no" >> config.mak
fi
if test "$disable_beng" = "no"; then
    echo "DISABLE_SENG=no" >> config.mak
fi

echo "GPAC_USE_TINYGL=$has_tinygl" >> config.mak
echo "OGL_INCLS=$INCL3D" >> config.mak

if test "$disable_isoff" = "yes" -o "$disable_isoff_write" = "yes" ; then
	echo "DISABLE_ISOFF=yes" >> config.mak
else
        echo "DISABLE_ISOFF=no" >> config.mak
fi

echo "HAS_OPENGL=$has_opengl" >> config.mak

if test "$has_opengl" = "yes" ; then
    echo "OGL_LIBS=$LINK3D" >> config.mak
else
    echo "#define GPAC_DISABLE_3D" >> $TMPH
fi

if test "$has_tinygl" = "yes" ; then
    echo "#define GPAC_USE_TINYGL" >> $TMPH
fi

echo "ENABLE_JOYSTICK=$has_joystick" >> config.mak

echo "HAS_OPENSSL=$has_ssl" >> config.mak
if test "$has_ssl" = "yes" ; then
    echo "SSL_LIBS=$LINK_SSL" >> config.mak
    echo "#define GPAC_HAS_SSL" >> $TMPH
fi

echo "CONFIG_SDL=$has_sdl" >> config.mak
if test "$has_sdl" = "yes" ; then
    echo "SDL_CFLAGS=$sdl_cflags" >> config.mak
    echo "SDL_LIBS=$sdl_lib_flags" >> config.mak
fi
if test "$has_ft" = "no" ; then
    has_ft="no"
else
    echo "FT_CFLAGS=$ft_cflags" >> config.mak
    echo "FT_LIBS=$ft_lflags" >> config.mak
fi
echo "CONFIG_AMR_NB=$has_amr_nb_fixed" >> config.mak
echo "CONFIG_AMR_NB_FT=$has_amr_nb" >> config.mak
echo "CONFIG_AMR_WB_FT=$has_amr_wb" >> config.mak
echo "DEBUGBUILD=$debuginfo" >> config.mak
echo "GPROFBUILD=$gprof_build" >> config.mak
echo "STATICBUILD=$static_build" >> config.mak

echo "CONFIG_IPV6=$has_ipv6" >> config.mak
if test "$has_ipv6" = "yes" ; then
    echo "#define GPAC_HAS_IPV6" >> $TMPH
fi

if test "$win32" = "yes" ; then
    echo "CONFIG_DIRECTX=$has_mingw_directx" >> config.mak
    if test "$has_mingw_directx" = "yes" ; then
        echo "DX_PATH=$dx_path" >> config.mak
    fi
fi

echo "USE_WXWIDGETS=$has_wx" >> config.mak
if test "$has_wx" = "yes"; then
    echo "WX_CFLAGS=$wx_cflags" >> config.mak
    echo "WX_LFLAGS=$wx_lflags" >> config.mak
fi

echo "CONFIG_PLATINUM=$has_platinum" >> config.mak

echo "CONFIG_AVCAP=$has_avcap" >> config.mak
if test "$has_avcap" = "yes" ; then
    echo "AVCAP_CFLAGS=$avcap_cflags" >> config.mak
    echo "AVCAP_LDFLAGS=$avcap_ldflags" >> config.mak
fi

echo "CONFIG_OPENSVC=$has_opensvc" >> config.mak
if test "$has_opensvc" = "yes" ; then
    echo "OSVC_CFLAGS=$osvc_cflags" >> config.mak
    echo "OSVC_LDFLAGS=$osvc_ldflags" >> config.mak
fi

echo "MOZILLA_DIR=$moz_path" >> config.mak

echo "CONFIG_XUL=$has_xul" >> config.mak
if test "$has_xul" != "no"; then
    echo "XUL_CFLAGS=$xul_flags" >> config.mak
fi

echo "LINUX_DVB=$has_dvb4linux" >> config.mak
if test "$has_dvb4linux" = "yes"; then
    echo "#define GPAC_HAS_LINUX_DVB" >> $TMPH
fi

echo "XMLRPC_INC=$has_xmlrpc" >> config.mak

if test "$has_oss_audio" != "no"; then
    echo "OSS_INC_TYPE=$has_oss_audio" >> config.mak
    echo "OSS_CFLAGS=$OSS_CFLAGS" >> config.mak
    echo "OSS_LDFLAGS=$OSS_LDFLAGS" >> config.mak
fi

echo "CONFIG_DIRECTFB=$has_directfb" >> config.mak
echo "DIRECTFB_INC_PATH=$directfb_inc" >> config.mak
echo "DIRECTFB_LIB=$directfb_lib" >> config.mak

echo "CONFIG_X11=$has_x11" >> config.mak

if test "$has_x11_shm" = "yes"; then
    echo "USE_X11_SHM=$has_x11_shm" >> config.mak
fi
if test "$has_x11_xv" = "yes"; then
    echo "USE_X11_XV=$has_x11_xv" >> config.mak
fi

if test "$is_64" = "yes"; then
    echo "X11_LIB_PATH=$X11_PATH/lib64" >> config.mak
else
    echo "X11_LIB_PATH=$X11_PATH/lib" >> config.mak
fi
echo "X11_INC_PATH=$X11_PATH/include" >> config.mak

echo "MP4BOX_STATIC=$static_mp4box" >> config.mak

echo "RENOIR_ENABLE=$enable_renoir" >> config.mak

GPAC_ENST_INC=no
GPAC_ENST=no
enst_dir="`ls \"$source_path/src/\" | grep enst`"
if test "$enst_dir" = "enst"; then
    echo "GPAC Proprietary Extensions enabled"
    GPAC_ENST_INC=yes
    #we need libiconv for eit & co
    cat > $TMPC << EOF
#include <iconv.h>
int main( void ) {
}
EOF

    if $cc -o $TMPE $TMPC -L$local_lib -liconv > /dev/null 2>&1  ; then
        GPAC_ENST=yes
        echo "LIBGPAC_ENST=`cd src; ls enst/*.c | sed -e 's/\.c/.o/' | tr -s '\r\n' ' ' ; cd ..`" >> config.mak
    else
        echo "Couldn't find libiconv - disabling GPAC ENST extensions"
        GPAC_ENST="no"
    fi
fi
echo "GPAC_ENST=$GPAC_ENST" >> config.mak
echo "GPAC_ENST_INC=$GPAC_ENST" >> config.mak



#build tree in object directory if source path is different from current one
if test "$source_path_used" = "yes" ; then

    echo "Creating compilation tree image"
    SRC_DIRS="src src/utils src/isomedia src/ietf src/odf src/bifs src/scenegraph src/terminal src/mcrypt src/media_tools src/scene_manager src/compositor src/laser" 

    APP_DIRS="applications/mp4box applications/mp4client applications/osmozilla applications/osmo4_wx applications/mp42ts"

    for dir in $SRC_DIRS ; do
        mkdir -p "$dir"
    done
    ln -sf "$source_path/Makefile" Makefile
    ln -sf "$source_path/src/Makefile" src/Makefile

    mkdir -p applications
    ln -sf "$source_path/applications/Makefile" applications/Makefile
    mkdir -p applications/testapps

    for dir in $APP_DIRS ; do
        mkdir -p "$dir"
        ln -sf "$source_path/$dir/Makefile" "$dir/Makefile"
    done


    cur_dir="`pwd`"
    cd "$source_path/"
    MOD_DIRS="`ls -d modules/*/`"
    cd "$cur_dir"

    mkdir -p modules
    ln -sf "$source_path/modules/Makefile" modules/Makefile

    for dir in $MOD_DIRS ; do
        if ls "$source_path/$dir/Makefile" > /dev/null 2>&1; then
            mkdir -p "$dir"
            ln -sf "$source_path/$dir/Makefile" "$dir/Makefile"
        fi
    done
    if test "$has_mingw_directx" = "yes"; then
        ln -sf "$source_path/modules/dx_hw/hand.cur" modules/dx_hw/hand.cur
        ln -sf "$source_path/modules/dx_hw/collide.cur" modules/dx_hw/collide.cur
    fi

    cd "$cur_dir"

    echo "SRC_LOCAL_PATH=no" >> config.mak
else
    echo "SRC_LOCAL_PATH=yes" >> config.mak
fi

echo "SRC_PATH=$source_path" >> config.mak
echo "LOCAL_INC_PATH=$local_inc" >> config.mak


echo "#endif" >> $TMPH


#do not overwrite config.h if unchanged to avoid superfluous rebuilds.
if ! cmp -s $TMPH config.h ; then
    rm -f config.h
    mv -f $TMPH config.h
else
    echo "config.h is unchanged"
fi


rm -f $TMPO $TMPC $TMPE $TMPS $TMPCPP $TMPH


if [ ! -d "./bin" ] ; then
    mkdir ./bin
fi
if [ ! -d "./bin/gcc" ] ; then
    mkdir ./bin/gcc
fi
if [ ! -d "./bin/gcc/temp" ] ; then
    mkdir ./bin/gcc/temp
fi

echo '%.opic : %.c' >> config.mak
echo '	$(CC) $(CFLAGS) $(PIC_CFLAGS) -c $< -o $@' >> config.mak

#pkg-config
echo "prefix=$prefix"				 > gpac.pc
echo "exec_prefix=\${prefix}"			>> gpac.pc
echo "libdir=\${exec_prefix}/lib"		>> gpac.pc
echo "includedir=\${exec_prefix}/include"	>> gpac.pc
echo ""						>> gpac.pc
echo "Name: gpac"				>> gpac.pc
echo "Description: GPAC Multimedia Framework"	>> gpac.pc
echo "URL: http://gpac.sourceforge.net"		>> gpac.pc
echo "Version:$version"				>> gpac.pc
echo "Cflags: -I\${prefix}/include/gpac"	>> gpac.pc
echo "Libs: -L\${libdir} -lgpac"		>> gpac.pc

echo "Done - type 'make help' for make info, 'make' to build"
