#!/bin/sh

# Proprietary configure script of RFC5766-TURN-Server project

cleanup() {
	rm -rf ${TMPCPROGC}
	rm -rf ${TMPCPROGB}
	rm -rf ${TH_TMPCPROGC}
	rm -rf ${TH_TMPCPROGB}
	rm -rf ${DTLS_TMPCPROGC}
	rm -rf ${DTLS_TMPCPROGB}
	rm -rf ${PQ_TMPCPROGC}
	rm -rf ${PQ_TMPCPROGB}
	rm -rf ${MYSQL_TMPCPROGC}
	rm -rf ${MYSQL_TMPCPROGB}
	rm -rf ${D_TMPCPROGC}
	rm -rf ${D_TMPCPROGB}
	rm -rf ${E_TMPCPROGC}
	rm -rf ${E_TMPCPROGO}
	rm -rf ${HR_TMPCPROGC}
	rm -rf ${HR_TMPCPROGB}
}

testlibraw() {
    ${CC} ${TMPCPROGC} -o ${TMPCPROGB} ${OSCFLAGS} ${OSLIBS} -${1} 2>/dev/null
    ER=$?
    if ! [ ${ER} -eq 0 ] ; then
	echo "Do not use -${1}"
	return 0
    else
	OSLIBS="${OSLIBS} -${1}"
	return 1
    fi
}

testlibevent2() {
    ${CC} -c ${E_TMPCPROGC} -o ${E_TMPCPROGO} ${OSCFLAGS} 2>/dev/null
    ER=$?
    if ! [ ${ER} -eq 0 ] ; then
	echo "Libevent2 development is not installed properly"
	return 0
    else
	return 1
    fi
}

testhiredis() {
	HIREDISCFLAGS=
	HIREDISLIBS=-lhiredis
    ${CC} ${HR_TMPCPROGC} -o ${HR_TMPCPROGB} ${OSCFLAGS} ${DBLIBS} ${HIREDISCFLAGS} ${HIREDISLIBS} 2>/dev/null
    ER=$?
    if ! [ ${ER} -eq 0 ] ; then
	echo
		echo "HIREDIS DEVELOPMENT LIBRARY (libhiredis.*) AND/OR HEADERS (hiredis/*.h)"
		echo "	ARE NOT INSTALLED PROPERLY ON THIS SYSTEM."
		echo "	THAT'S OK BUT THE TURN SERVER IS BUILDING WITHOUT REDIS SUPPORT."
		echo
		return 0
    else
		DBCFLAGS="${DBCFLAGS} ${HIREDISCFLAGS}"
		DBLIBS="${DBLIBS} ${HIREDISLIBS}"
		return 1
    fi
}

testlibpq() {
    POSTCFLAGS="-I${PREFIX}/pgsql/include -I${PREFIX}/include/pgsql/ -I${PREFIX}/include/postgres/ -I${PREFIX}/postgres/include/ -I${PREFIX}/include/postgresql/ -I${PREFIX}/postgresql/include/"
    POSTCFLAGS="${POSTCFLAGS} -I/usr/local/pgsql/include -I/usr/local/include/pgsql/ -I/usr/local/include/postgres/ -I/usr/local/postgres/include/ -I/usr/local/include/postgresql/ -I/usr/local/postgresql/include/"
    POSTCFLAGS="${POSTCFLAGS} -I/usr/pgsql/include -I/usr/include/pgsql/ -I/usr/include/postgres/ -I/usr/postgres/include/ -I/usr/include/postgresql/ -I/usr/postgresql/include/"
    POSTLIBS="-L${PREFIX}/pgsql/lib -L${PREFIX}/lib/pgsql -L${PREFIX}/lib64/pgsql -L/usr/local/pgsql/lib -L/usr/local/lib/pgsql -L/usr/local/lib64/pgsql -L/usr/pgsql/lib -L/usr/lib/pgsql -L/usr/lib64/pgsql"
    POSTLIBS="${POSTLIBS} -L${PREFIX}/postgres/lib -L${PREFIX}/lib/postgres -L${PREFIX}/lib64/postgres -L/usr/local/postgres/lib -L/usr/local/lib/postgres -L/usr/local/lib64/postgres -L/usr/postgres/lib -L/usr/lib/postgres -L/usr/lib64/postgres"
    POSTLIBS="${POSTLIBS} -L${PREFIX}/postgresql/lib -L${PREFIX}/lib/postgresql -L${PREFIX}/lib64/postgresql -L/usr/local/postgresql/lib -L/usr/local/lib/postgresql -L/usr/local/lib64/postgresql -L/usr/postgresql/lib -L/usr/lib/postgresql -L/usr/lib64/postgresql"
    POSTLIBS="${OSLIBS} ${POSTLIBS} -lpq"
    ${CC} ${PQ_TMPCPROGC} -o ${PQ_TMPCPROGB} ${OSCFLAGS} ${DBCFLAGS} ${POSTCFLAGS} ${DBLIBS} ${POSTLIBS} ${OSLIBS} 2>/dev/null 
    ER=$?
    if ! [ ${ER} -eq 0 ] ; then
    	echo
		echo "POSTGRESQL DEVELOPMENT LIBRARY (libpq.a) AND/OR HEADER (libpq-fe.h)"
		echo "	ARE NOT INSTALLED PROPERLY ON THIS SYSTEM."
		echo "	THAT'S OK BUT THE TURN SERVER IS BUILDING WITHOUT POSTGRESQL DATABASE SUPPORT."
		echo
		return 0
    else
		DBCFLAGS="${DBCFLAGS} ${POSTCFLAGS}"
		DBLIBS="${DBLIBS} ${POSTLIBS}"
		return 1
    fi
}

testlibmysql() {
    MYSQL_CFLAGS="-I${PREFIX}/mysql/include -I${PREFIX}/include/mysql/"
    MYSQL_CFLAGS="${MYSQL_CFLAGS} -I/usr/local/mysql/include -I/usr/local/include/mysql/"
    MYSQL_CFLAGS="${MYSQL_CFLAGS} -I/usr/mysql/include -I/usr/include/mysql/"
    MYSQL_LIBS="-L${PREFIX}/mysql/lib -L${PREFIX}/lib/mysql -L${PREFIX}/lib64/mysql"
    MYSQL_LIBS="${MYSQL_LIBS} -L/usr/local/mysql/lib -L/usr/local/lib/mysql -L/usr/local/lib64/mysql"
    MYSQL_LIBS="${MYSQL_LIBS} -L/usr/mysql/lib -L/usr/lib/mysql -L/usr/lib64/mysql"
    MYSQL_LIBS="${OSLIBS} ${MYSQL_LIBS} -lmysqlclient"
    ${CC} ${MYSQL_TMPCPROGC} -o ${MYSQL_TMPCPROGB} ${OSCFLAGS} ${DBCFLAGS} ${DBLIBS} ${MYSQL_CFLAGS} ${MYSQL_LIBS} ${OSLIBS} 2>/dev/null
    ER=$?
    if ! [ ${ER} -eq 0 ] ; then
    	echo
		echo "MYSQL DEVELOPMENT LIBRARY (libmysqlclient) AND/OR HEADER (mysql.h)"
		echo "	ARE NOT INSTALLED PROPERLY ON THIS SYSTEM."
		echo "	THAT'S OK BUT THE TURN SERVER IS BUILDING WITHOUT MYSQL DATABASE SUPPORT."
		echo
		return 0
    else
		DBCFLAGS="${DBCFLAGS} ${MYSQL_CFLAGS}"
		DBLIBS="${DBLIBS} ${MYSQL_LIBS}"
		return 1
    fi
}

testlib() {
    testlibraw l${1}
}

pthread_testlib() {

    if [ -z "${PTHREAD_LIBS}" ] ; then
    	${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>/dev/null
    	ER=$?
    	if [ ${ER} -eq 0 ] ; then
    		return 1
    	else
    		${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} -pthread 2>/dev/null
    		ER=$?
    		if ! [ ${ER} -eq 0 ] ; then
    			${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} -lpthread 2>/dev/null
    			ER=$?
    			if [ ${ER} -eq 0 ] ; then
    				OSLIBS="${OSLIBS} -lpthread"
			fi
    		else
    			OSLIBS="${OSLIBS} -pthread"
    		fi
    	fi
    else
    	OSLIBS="${OSLIBS} ${PTHREAD_LIBS}"
    fi
		

    ${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>/dev/null
    ER=$?
    if ! [ ${ER} -eq 0 ] ; then
    	${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} -D_GNU_SOURCE 2>/dev/null
    	ER=$?
    	if ! [ ${ER} -eq 0 ] ; then
    		echo "Do not use pthreads"
	    	return 0
	else 
	    	echo "Older GNU pthread library found"
	    	OSCFLAGS="${OSCFLAGS} -D_GNU_SOURCE"
	    	return 1
	fi
    else
		return 1
    fi
}

dtls_testlib() {

    if [ -z "${TURN_NO_DTLS}" ] ; then
    	${CC} ${DTLS_TMPCPROGC} -o ${DTLS_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>/dev/null
    	ER=$?
    	if [ ${ER} -eq 0 ] ; then
    	    return 1
    	else
    	    return 0
	fi
    else
	return 0
    fi
}

testdaemon() {

	${CC} ${D_TMPCPROGC} -o ${D_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>/dev/null
	ER=$?
	if [ ${ER} -eq 0 ] ; then
	    OSCFLAGS="${OSCFLAGS} -DHAS_DAEMON"
	fi
}

#########################
# Start
#########################

cleanup

#########################
# To be set:
#########################

if [ -z "${PORTNAME}" ] ; then
	PORTNAME=turnserver
fi

if [ -z "${PREFIX}" ] ; then
	PREFIX=/usr/local
fi

if [ -z "${MANPREFIX}" ] ; then
	MANPREFIX=${PREFIX}
fi

if [ -z "${EXAMPLESDIR}" ] ; then
	EXAMPLESDIR=${PREFIX}/share/examples/${PORTNAME}
fi

if [ -z "${DOCSDIR}" ] ; then
	DOCSDIR=${PREFIX}/share/doc/${PORTNAME}
fi

if [ -z "${LIBDIR}" ] ; then
	LIBDIR=${PREFIX}/lib
fi

if [ -z "${SCHEMADIR}" ] ; then
	SCHEMADIR=${PREFIX}/share/${PORTNAME}
fi

if [ -z "${TURNINCLUDEDIR}" ] ; then
	TURNINCLUDEDIR=${PREFIX}/include/turn
fi

if [ -z "${ARCHIVERCMD}" ] ; then
	ARCHIVERCMD="ar -r"
fi

OSCFLAGS="-I${PREFIX}/include/ -I/usr/local/include ${CFLAGS}"
OSLIBS="${LDFLAGS} -L${PREFIX}/lib/event2/ -L${PREFIX}/lib/ -L/usr/local/lib/event2/ -L/usr/local/lib/ -L${PREFIX}/lib64/event2/ -L${PREFIX}/lib64/ -L/usr/local/lib64/event2/ -L/usr/local/lib64/"

###########################
# Install shell commands
###########################

type ginstall 2>/dev/null
ER=$?
if [ ${ER} -eq 0 ] ; then
	INSTALL_PROGRAM="ginstall"
	INSTALL_MAN="ginstall"
	INSTALL_SCRIPT="ginstall"
	INSTALL_SHARED_LIB="ginstall"
	INSTALL_STATIC_LIB="ginstall"
	INSTALL_DATA="ginstall"
	MKDIR="ginstall -d"
else
	type install 2>/dev/null
	ER=$?
	if [ ${ER} -eq 0 ] ; then
		INSTALL_PROGRAM="install"
		INSTALL_MAN="install"
		INSTALL_SCRIPT="install"
		INSTALL_SHARED_LIB="install"
		INSTALL_STATIC_LIB="install"
		INSTALL_DATA="install"
		MKDIR="install -d"
	else
		INSTALL_PROGRAM="cp -pf"
		INSTALL_MAN="cp -pf"
		INSTALL_SCRIPT="cp -pf"
		INSTALL_SHARED_LIB="cp -pf"
		INSTALL_STATIC_LIB="cp -pf"
		INSTALL_DATA="cp -pf"
		MKDIR="mkdir -p"
	fi
fi

INSTALL_DIR="cp -rpf"
MKBUILDDIR="mkdir -p"
RMCMD="rm -rf"

type more 2>/dev/null
ER=$?
if [ ${ER} -eq 0 ] ; then
    MORECMD="more"
else
    type less 2>/dev/null
    ER=$?
    if [ ${ER} -eq 0 ] ; then
	MORECMD="less"
    else
	MORECMD="cat"
    fi
fi

#############################
# Adjustments for Solaris
#############################

SYSTEM=`uname`

if [ "${SYSTEM}" = "SunOS" ] ; then
# Solaris ? is this you ?!
    OSCFLAGS="${OSCFLAGS} -D__EXTENSIONS__ -D_XOPEN_SOURCE=500"
fi

#########################
# Temporary DIR location:
#########################

TMPDIR="."

if [ -d /var/tmp ] ; then
  TMPDIR="/var/tmp"
elif [ -d /tmp ] ; then
  TMPDIR=/tmp
fi

echo Use TMP dir ${TMPDIR}

#########################
# Basic C test programs
#########################

TMPCPROG=__test__ccomp__$$
TMPCPROGC=${TMPDIR}/${TMPCPROG}.c
TMPCPROGB=${TMPDIR}/${TMPCPROG}

cat > ${TMPCPROGC} <<!
#include <stdlib.h>
int main(int argc, char** argv) {
    return (int)(argv[argc][0]);
}
!

TH_TMPCPROG=__test__ccomp__pthread__$$
TH_TMPCPROGC=${TMPDIR}/${TH_TMPCPROG}.c
TH_TMPCPROGB=${TMPDIR}/${TH_TMPCPROG}

cat > ${TH_TMPCPROGC} <<!
#include <stdlib.h>
#include <pthread.h>
int main(int argc, char** argv) {
    pthread_mutexattr_settype(0,PTHREAD_MUTEX_RECURSIVE);
    return (int)pthread_create(0,0,0,0)+(int)(argv[argc][0]);
}
!

DTLS_TMPCPROG=__test__ccomp__dtls__$$
DTLS_TMPCPROGC=${TMPDIR}/${DTLS_TMPCPROG}.c
DTLS_TMPCPROGB=${TMPDIR}/${DTLS_TMPCPROG}

cat > ${DTLS_TMPCPROGC} <<!
#include <stdlib.h>
#include <openssl/ssl.h>
#include <openssl/bio.h>
int main(int argc, char** argv) {
    return (((int)(BIO_CTRL_DGRAM_QUERY_MTU)) + argc + (int)(argv[argc][0]) + DTLSv1_listen(NULL,NULL));
}
!

D_TMPCPROG=__test__ccomp__daemon__$$
D_TMPCPROGC=${TMPDIR}/${D_TMPCPROG}.c
D_TMPCPROGB=${TMPDIR}/${D_TMPCPROG}

cat > ${D_TMPCPROGC} <<!
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char** argv) {
    return (int)daemon(0,0)+(int)(argv[argc][0]);
}
!

E_TMPCPROG=__test__ccomp__libevent2__$$
E_TMPCPROGC=${TMPDIR}/${E_TMPCPROG}.c
E_TMPCPROGO=${TMPDIR}/${E_TMPCPROG}.o

cat > ${E_TMPCPROGC} <<!
#include <stdlib.h>
#include <event2/event.h>
int main(int argc, char** argv) {
    return (int)(argv[argc][0]);
}
!

HR_TMPCPROG=__test__ccomp__hiredis__$$
HR_TMPCPROGC=${TMPDIR}/${HR_TMPCPROG}.c
HR_TMPCPROGB=${TMPDIR}/${HR_TMPCPROG}

cat > ${HR_TMPCPROGC} <<!
#include <stdlib.h>
#include <hiredis/hiredis.h>
#include <hiredis/async.h>
int main(int argc, char** argv) {
	redisAsyncHandleRead(NULL);
    return (int)(argv[argc][0]);
}
!

PQ_TMPCPROG=__test__ccomp__libpq__$$
PQ_TMPCPROGC=${TMPDIR}/${PQ_TMPCPROG}.c
PQ_TMPCPROGB=${TMPDIR}/${PQ_TMPCPROG}

cat > ${PQ_TMPCPROGC} <<!
#include <stdlib.h>
#include <libpq-fe.h>
int main(int argc, char** argv) {
    return (argc+(PQprotocolVersion(NULL))+(int)(argv[0][0]));
}
!

MYSQL_TMPCPROG=__test__ccomp__libmysql__$$
MYSQL_TMPCPROGC=${TMPDIR}/${MYSQL_TMPCPROG}.c
MYSQL_TMPCPROGB=${TMPDIR}/${MYSQL_TMPCPROG}

cat > ${MYSQL_TMPCPROGC} <<!
#include <stdlib.h>
#include <mysql.h>
int main(int argc, char** argv) {
    return (argc+
    	(int)(mysql_real_connect(NULL, NULL, NULL, NULL, NULL, 0, NULL, 0)!=0)+
    	(int)(argv[0][0]));
}
!

##########################
# What is our compiler ?
##########################

if [ -z "${CC}" ] ; then
    CC=cc
    ${CC} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>/dev/null
	ER=$?
	if ! [ ${ER} -eq 0 ] ; then
		CC=gcc
    	${CC} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>/dev/null
		ER=$?
		if ! [ ${ER} -eq 0 ] ; then
			CC=clang
    		${CC} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>/dev/null
			ER=$?
			if ! [ ${ER} -eq 0 ] ; then
				CC=unknown
			fi
		fi
	fi
fi

echo "Compiler: ${CC}"

${CC} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB}
ER=$?
if ! [ ${ER} -eq 0 ] ; then
    echo "ERROR: cannot use compiler ${CC} properly"
    cleanup
    exit
fi

###########################
# Check if we can use GNU
# or Clang compiler flags
###########################

GNUOSCFLAGS="-Wall -Wextra -Wformat-security -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Wcast-qual"

${CC} -Werror ${GNUOSCFLAGS} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>/dev/null
ER=$?
if ! [ ${ER} -eq 0 ] ; then
	echo "Hm..."
	${CC} -Wall ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>/dev/null
	ER=$?
	if ! [ ${ER} -eq 0 ] ; then
    	echo "Not an ordinary GNU or Clang compiler"
    else
    	echo "C++ or something..."
    	OSCFLAGS="-Wall ${OSCFLAGS}"
    fi
else
    OSCFLAGS="${GNUOSCFLAGS} ${OSCFLAGS}"
fi

###########################
# Test some general-purpose
# libraries 
###########################

testlib socket
testlib nsl
testlib dl
testlib rt
testlib wldap32
ER=$?
if ! [ ${ER} -eq 0 ] ; then
    #CYGWIN ?
    TURN_NO_THREADS="-DTURN_NO_THREADS"
    OSCFLAGS="-DTURN_UDP_SOCKET_CONNECT_BUG ${OSCFLAGS}"
fi
testlib wldap64
testlib intl

###########################
# Can we use multi-threading ?
###########################

if [ -z ${TURN_NO_THREADS} ] ; then 

pthread_testlib
ER=$?
if [ ${ER} -eq 0 ] ; then
	echo "WARNING: Cannot find pthread library functions."
	echo "Using single-thread mode."
	TURN_NO_THREADS="-DTURN_NO_THREADS"
fi

else
	TURN_NO_THREADS="-DTURN_NO_THREADS"
fi

###########################
# Can we use daemon ?
###########################

testdaemon

###########################
# Test OpenSSL installation
###########################

testlib ssl
ER=$?
if ! [ ${ER} -eq 0 ] ; then
    echo "SSL lib found."
else
    echo "ERROR: OpenSSL development libraries are not installed properly in required location."
    echo "Abort."
    cleanup
    exit
fi

testlib crypto
ER=$?
if ! [ ${ER} -eq 0 ] ; then
    echo "Crypto SSL lib found."
else
    echo "ERROR: OpenSSL Crypto development libraries are not installed properly in required location."
    echo "Abort."
    cleanup
    exit
fi

###########################
# Can we use DTLS ?
###########################

if [ -z ${TURN_NO_DTLS} ] ; then 

dtls_testlib
ER=$?
if [ ${ER} -eq 0 ] ; then
	echo "WARNING: Cannot find DTLS support."
	echo "Turning DTLS off."
	TURN_NO_DTLS="-DTURN_NO_DTLS"
fi

else
	TURN_NO_DTLS="-DTURN_NO_DTLS"
fi

###########################
# Test Libevent2 setup
###########################
testlibevent2
ER=$?
if ! [ ${ER} -eq 0 ] ; then
    echo "Libevent2 development found."
else
    echo "ERROR: Libevent2 development libraries are not installed properly in required location."
    echo "ERROR: may be you have just too old libevent tool - then you have to upgrade it."
    echo "See the INSTALL file."
    echo "Abort."
    cleanup
    exit
fi

testlib event
ER=$?
if ! [ ${ER} -eq 0 ] ; then
    echo "Libevent2 runtime found."
else
    echo "ERROR: Libevent2 runtime libraries are not installed properly in required location."
    echo "See the INSTALL file."
    echo "Abort."
    cleanup
    exit
fi

if [ -z "${TURN_NO_TLS}" ] ; then

testlib event_openssl
ER=$?
if ! [ ${ER} -eq 0 ] ; then
    echo "Libevent2 openssl found."
else
    echo "ERROR: Libevent2 development libraries are not compiled with OpenSSL support."
    echo "TLS will be disabled."
    TURN_NO_TLS="-DTURN_NO_TLS"
fi

else
	TURN_NO_TLS="-DTURN_NO_TLS"

fi

if [ -z "${TURN_NO_THREADS}" ] ; then
    testlib event_pthreads
    ER=$?
    if ! [ ${ER} -eq 0 ] ; then
    	echo "Libevent2 pthreads found."
    else
    	echo "WARNING: Libevent2 development libraries are not compiled with threads support."
    	echo "Using single-thread mode."
	TURN_NO_THREADS="-DTURN_NO_THREADS"
    fi
fi

###########################
# Test PostgreSQL
###########################

if [ -z "${TURN_NO_PQ}" ] ; then

testlibpq
ER=$?
if ! [ ${ER} -eq 0 ] ; then
  echo "PostgreSQL found."
else
  TURN_NO_PQ="-DTURN_NO_PQ"
fi

else
	TURN_NO_PQ="-DTURN_NO_PQ"
fi

###########################
# Test MySQL
###########################

if [ -z "${TURN_NO_MYSQL}" ] ; then

testlibmysql
ER=$?
if ! [ ${ER} -eq 0 ] ; then
  echo "MySQL found."
else
  TURN_NO_MYSQL="-DTURN_NO_MYSQL"
fi

else
	TURN_NO_MYSQL="-DTURN_NO_MYSQL"

fi

###########################
# Test Redis
###########################

if [ -z "${TURN_NO_HIREDIS}" ] ; then

testhiredis

ER=$?
if ! [ ${ER} -eq 0 ] ; then
  echo "Hiredis found."
else
  TURN_NO_HIREDIS="-DTURN_NO_HIREDIS"
fi

else
	TURN_NO_HIREDIS="-DTURN_NO_HIREDIS"

fi

###############################
# So, what we have now:
###############################

OSCFLAGS="${OSCFLAGS} ${TURN_NO_THREADS} ${TURN_NO_DTLS} ${TURN_NO_TLS} -D__USE_OPENSSL__ -DINSTALL_PREFIX=${PREFIX}"

echo PREFIX="${PREFIX}" OSLIBS="${OSLIBS}" DBLIBS="${DBLIBS}" OSCFLAGS="${OSCFLAGS}" DBCFLAGS="${DBCFLAGS}" $@

###############################
# Make make:
###############################

echo "#################################" > Makefile
echo "# Generated by configure script #" >> Makefile
echo "#################################" >> Makefile
echo "CC = ${CC}" >> Makefile
echo "LDFLAGS += ${OSLIBS}" >> Makefile
echo "DBLIBS += ${DBLIBS}" >> Makefile
echo "CFLAGS += ${OSCFLAGS}" >> Makefile
echo "CPPFLAGS = ${CPPFLAGS}" >> Makefile
echo "DBCFLAGS += ${DBCFLAGS} ${TURN_NO_PQ} ${TURN_NO_MYSQL} ${TURN_NO_HIREDIS}" >> Makefile
echo "#" >> Makefile
echo "PORTNAME = ${PORTNAME}" >> Makefile
echo "PREFIX = ${PREFIX}" >> Makefile
echo "MANPREFIX = ${MANPREFIX}" >> Makefile
echo "EXAMPLESDIR = ${EXAMPLESDIR}" >> Makefile
echo "DOCSDIR = ${DOCSDIR}" >> Makefile
echo "LIBDIR = ${LIBDIR}" >> Makefile
echo "SCHEMADIR = ${SCHEMADIR}" >> Makefile
echo "TURNINCLUDEDIR = ${TURNINCLUDEDIR}" >> Makefile
echo "#" >> Makefile
echo "ARCHIVERCMD = ${ARCHIVERCMD}" >> Makefile
echo "MKDIR = ${MKDIR}" >> Makefile
echo "INSTALL_PROGRAM = ${INSTALL_PROGRAM}" >> Makefile
echo "INSTALL_MAN = ${INSTALL_MAN}" >> Makefile
echo "INSTALL_SCRIPT = ${INSTALL_SCRIPT}" >> Makefile
echo "INSTALL_SHARED_LIB = ${INSTALL_SHARED_LIB}" >> Makefile
echo "INSTALL_STATIC_LIB = ${INSTALL_STATIC_LIB}" >> Makefile
echo "INSTALL_DATA = ${INSTALL_DATA}" >> Makefile
echo "INSTALL_DIR = ${INSTALL_DIR}" >> Makefile
echo "MKBUILDDIR = ${MKBUILDDIR}" >> Makefile
echo "RMCMD = ${RMCMD}" >> Makefile
echo "MORECMD = ${MORECMD}" >> Makefile
echo "################################" >> Makefile
echo "" >> Makefile
cat Makefile.in >> Makefile

###############################
# End:
###############################

cleanup


