diff --git a/configure b/configure
index bc76478..4b66ebc 100755
--- a/configure
+++ b/configure
@@ -3,171 +3,48 @@
# Proprietary configure script of Coturn project
cleanup() {
- rm -rf ${TMPCPROGC}
- rm -rf ${TMPCPROGB}
- rm -rf ${TH_TMPCPROGC}
- rm -rf ${TH_TMPCPROGB}
- rm -rf ${GCM_TMPCPROGC}
- rm -rf ${GCM_TMPCPROGB}
- rm -rf ${PQ_TMPCPROGC}
- rm -rf ${PQ_TMPCPROGB}
- rm -rf ${MYSQL_TMPCPROGC}
- rm -rf ${MYSQL_TMPCPROGB}
- rm -rf ${MONGO_TMPCPROGC}
- rm -rf ${MONGO_TMPCPROGB}
- rm -rf ${D_TMPCPROGC}
- rm -rf ${D_TMPCPROGB}
- rm -rf ${SQL_TMPCPROGC}
- rm -rf ${SQL_TMPCPROGO}
- rm -rf ${E_TMPCPROGC}
- rm -rf ${E_TMPCPROGO}
- rm -rf ${HR_TMPCPROGC}
- rm -rf ${HR_TMPCPROGB}
- rm -rf ${TMPCADDRPROGO}
+ rm -rf ${TMPCPROGC}
+ rm -rf ${TMPCPROGB}
+ rm -rf ${TH_TMPCPROGC}
+ rm -rf ${TH_TMPCPROGB}
+ rm -rf ${GCM_TMPCPROGC}
+ rm -rf ${GCM_TMPCPROGB}
+ rm -rf ${D_TMPCPROGC}
+ rm -rf ${D_TMPCPROGB}
+ rm -rf ${TMPCADDRPROGO}
}
testlibraw() {
${CC} ${TMPCPROGC} -o ${TMPCPROGB} ${OSCFLAGS} ${OSLIBS} -${1} 2>>/dev/null
ER=$?
if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "Library option -${1} cannot be used"
- return 0
- else
- OSLIBS="${OSLIBS} -${1}"
- return 1
+ ${ECHO_CMD} "Library option -${1} cannot be used"
+ return 1
fi
-}
-testsqlite_comp() {
- SQLITE_LIBS=-lsqlite3
- ${CC} -c ${SQL_TMPCPROGC} -o ${SQL_TMPCPROGO} ${OSCFLAGS} 2>>/dev/null
- ER=$?
- if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "SQLite development is not installed properly"
- return 0
- else
- DBLIBS="${DBLIBS} ${SQLITE_LIBS}"
- return 1
- fi
+ OSLIBS="${OSLIBS} -${1}"
}
-testlibevent2_comp() {
- ${CC} -c ${E_TMPCPROGC} -o ${E_TMPCPROGO} ${OSCFLAGS} 2>>/dev/null
- ER=$?
- if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "Libevent2 development is not installed properly"
- return 0
- else
- return 1
- fi
-}
-
-testhiredis() {
- for inc in ${INCLUDEDIR}/hiredis /usr/local/include/hiredis /usr/hiredis /usr/include/hiredis
- do
- if [ -d ${inc} ] ; then
- HIREDISCFLAGS="${HIREDISCFLAGS} -I${inc}"
- fi
- done
- HIREDISLIBS=-lhiredis
- ${CC} ${HR_TMPCPROGC} -o ${HR_TMPCPROGB} ${OSCFLAGS} ${DBLIBS} ${HIREDISCFLAGS} ${HIREDISLIBS} ${OSLIBS} 2>>/dev/null
- ER=$?
- if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD}
- ${ECHO_CMD} "HIREDIS DEVELOPMENT LIBRARY (libhiredis.*) AND/OR HEADERS (hiredis/*.h)"
- ${ECHO_CMD} " ARE NOT INSTALLED PROPERLY ON THIS SYSTEM."
- ${ECHO_CMD} " THAT'S OK BUT THE TURN SERVER IS BUILDING WITHOUT REDIS SUPPORT."
- ${ECHO_CMD}
- return 0
- else
- DBCFLAGS="${DBCFLAGS} ${HIREDISCFLAGS}"
- DBLIBS="${DBLIBS} ${HIREDISLIBS}"
- return 1
+# testpkg_server pkg1 pkg2 ...
+# If all libraries are found, adds them to DBCFLAGS/DBLIBS and returns success.
+# Otherwise, returns failure.
+testpkg_server() {
+ ADD_LIBS=`$PKGCONFIG --libs "$@" 2>/dev/null`
+ if [ $? -ne 0 ] ; then
+ return 1
fi
+ DBCFLAGS="${DBCFLAGS} `$PKGCONFIG --cflags "$@"`"
+ DBLIBS="${DBLIBS} $ADD_LIBS"
}
-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/"
- for ilib in ${PREFIX}/pgsql/lib ${PREFIX}/lib/pgsql ${PREFIX}/lib64/pgsql /usr/local/pgsql/lib /usr/local/lib/pgsql /usr/local/lib64/pgsql /usr/pgsql/lib /usr/lib/pgsql /usr/lib64/pgsql ${PREFIX}/postgres/lib ${PREFIX}/lib/postgres ${PREFIX}/lib64/postgres /usr/local/postgres/lib /usr/local/lib/postgres /usr/local/lib64/postgres /usr/postgres/lib /usr/lib/postgres /usr/lib64/postgres ${PREFIX}/postgresql/lib ${PREFIX}/lib/postgresql ${PREFIX}/lib64/postgresql /usr/local/postgresql/lib /usr/local/lib/postgresql /usr/local/lib64/postgresql /usr/postgresql/lib /usr/lib/postgresql /usr/lib64/postgresql
- do
- if [ -d ${ilib} ] ; then
- POSTLIBS="${POSTLIBS} -L${ilib}"
- if ! [ -z "${TURN_ACCEPT_RPATH}" ] ; then
- TURN_RPATH="${TURN_RPATH} -Wl,-rpath,${ilib}"
- fi
- fi
- done
- 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_CMD}
- ${ECHO_CMD} "POSTGRESQL DEVELOPMENT LIBRARY (libpq.a) AND/OR HEADER (libpq-fe.h)"
- ${ECHO_CMD} " ARE NOT INSTALLED PROPERLY ON THIS SYSTEM."
- ${ECHO_CMD} " THAT'S OK BUT THE TURN SERVER IS BUILDING WITHOUT POSTGRESQL DATABASE SUPPORT."
- ${ECHO_CMD}
- 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/"
- for ilib in ${PREFIX}/mysql/lib ${PREFIX}/lib/mysql ${PREFIX}/lib64/mysql /usr/local/mysql/lib /usr/local/lib/mysql /usr/local/lib64/mysql /usr/mysql/lib /usr/lib/mysql /usr/lib64/mysql
- do
- if [ -d ${ilib} ] ; then
- MYSQL_LIBS="${MYSQL_LIBS} -L${ilib}"
- if ! [ -z "${TURN_ACCEPT_RPATH}" ] ; then
- TURN_RPATH="${TURN_RPATH} -Wl,-rpath,${ilib}"
- fi
- fi
- done
- 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_CMD}
- ${ECHO_CMD} "MYSQL DEVELOPMENT LIBRARY (libmysqlclient) AND/OR HEADER (mysql.h)"
- ${ECHO_CMD} " ARE NOT INSTALLED PROPERLY ON THIS SYSTEM."
- ${ECHO_CMD} " THAT'S OK BUT THE TURN SERVER IS BUILDING WITHOUT MYSQL DATABASE SUPPORT."
- ${ECHO_CMD}
- return 0
- else
- DBCFLAGS="${DBCFLAGS} ${MYSQL_CFLAGS}"
- DBLIBS="${DBLIBS} ${MYSQL_LIBS}"
- return 1
- fi
-}
-
-testlibmongoc() {
- for inc in ${INCLUDEDIR}/libmongoc-1.0 ${INCLUDEDIR}/libbson-1.0 /usr/local/include/libmongoc-1.0 /usr/local/include/libbson-1.0 /usr/libmongoc-1.0 /usr/libbson-1.0 /usr/include/libbson-1.0/ /usr/include/libmongoc-1.0/
- do
- if [ -d ${inc} ] ; then
- MONGO_CFLAGS="${MONGO_CFLAGS} -I${inc}"
- fi
- done
- MONGO_LIBS="-lmongoc-1.0 -lbson-1.0"
- ${CC} ${MONGO_TMPCPROGC} -o ${MONGO_TMPCPROGB} ${OSCFLAGS} ${DBCFLAGS} ${DBLIBS} ${MONGO_CFLAGS} ${MONGO_LIBS} ${OSLIBS} 2>>/dev/null
- ER=$?
- if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD}
- ${ECHO_CMD} "MONGODB DEVELOPMENT LIBRARIES (libmongoc-1.0 and libbson-1.0) AND/OR HEADER (mongoc.h)"
- ${ECHO_CMD} " ARE NOT INSTALLED PROPERLY ON THIS SYSTEM."
- ${ECHO_CMD} " THAT'S OK BUT THE TURN SERVER IS BUILDING WITHOUT MONGODB SUPPORT."
- ${ECHO_CMD}
- return 0
- else
- DBCFLAGS="${DBCFLAGS} ${MONGO_CFLAGS}"
- DBLIBS="${DBLIBS} ${MONGO_LIBS}"
- return 1
+# Like testpkg_server, but adds flags to OSCFLAGS/OSLIBS
+testpkg_common() {
+ ADD_LIBS=`$PKGCONFIG --libs "$@" 2>/dev/null`
+ if [ $? -ne 0 ] ; then
+ return 1
fi
+ OSCFLAGS="${OSCFLAGS} `$PKGCONFIG --cflags "$@"`"
+ OSLIBS="${OSLIBS} $ADD_LIBS"
}
testlib() {
@@ -175,61 +52,48 @@ testlib() {
}
pthread_testlib() {
+ if [ -n "${PTHREAD_LIBS}" ] ; then
+ OSLIBS="${OSLIBS} ${PTHREAD_LIBS}"
+ return
+ fi
- SYSTEM=`uname`
+ if [ `uname` = "DragonFly" ] ; then
+ OSLIBS="${OSLIBS} -pthread"
+ TURN_NO_SCTP=1
+ return
+ fi
- if [ "${SYSTEM}" = "DragonFly" ] ; then
- OSLIBS="${OSLIBS} -pthread"
- TURN_NO_SCTP=1
+ if [ -n `uname | grep -i bsd` ] ; then
+ OSLIBS="${OSLIBS} -pthread"
+ return
fi
- ISBSD=`uname | grep -i bsd`
- if ! [ -z "${ISBSD}" ] ; then
- OSLIBS="${OSLIBS} -pthread"
+ ${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>/dev/null
+ if [ $? -eq 0 ] ; then
+ return
fi
- 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
- OSLIBS="${OSLIBS} -pthread"
- return 1
- else
- ${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} -lpthread 2>>/dev/null
- ER=$?
- if [ ${ER} -eq 0 ] ; then
- OSLIBS="${OSLIBS} -lpthread"
- return 1
- fi
- fi
- fi
- else
- OSLIBS="${OSLIBS} ${PTHREAD_LIBS}"
+ ${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} -pthread 2>/dev/null
+ if [ $? -eq 0 ] ; then
+ OSLIBS="${OSLIBS} -pthread"
+ return
fi
-
- ${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} -D_GNU_SOURCE 2>>/dev/null
- ER=$?
- if [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "Older GNU pthread library found"
- OSCFLAGS="${OSCFLAGS} -D_GNU_SOURCE"
- return 1
- else
- ${ECHO_CMD} "Do not use pthreads"
- fi
+ ${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} -lpthread 2>/dev/null
+ if [ $? -eq 0 ] ; then
+ OSLIBS="${OSLIBS} -lpthread"
+ return
+ fi
+
+ ${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} -pthread -D_GNU_SOURCE 2>/dev/null
+ if [ $? -eq 0 ] ; then
+ ${ECHO_CMD} "Older GNU pthread library found"
+ OSCFLAGS="${OSLIBS} -D_GNU_SOURCE"
+ OSLIBS="${OSLIBS} -pthread"
+ return
fi
-
- return 0
+
+ return 1
}
pthread_testbarriers() {
@@ -238,33 +102,23 @@ pthread_testbarriers() {
${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>>/dev/null
ER=$?
if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "pthread barriers not found"
- OSCFLAGS="${OSCFLAGS} -DTURN_NO_THREAD_BARRIERS"
+ ${ECHO_CMD} "pthread barriers not found"
+ OSCFLAGS="${OSCFLAGS} -DTURN_NO_THREAD_BARRIERS"
+ return 1
fi
}
gcm_testlib() {
-
- if [ -z "${TURN_NO_GCM}" ] ; then
- ${CC} ${GCM_TMPCPROGC} -o ${GCM_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>>/dev/null
- ER=$?
- if [ ${ER} -eq 0 ] ; then
- return 1
- else
- return 0
- fi
- else
- return 0
- fi
+ ${CC} ${GCM_TMPCPROGC} -o ${GCM_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>/dev/null
}
testdaemon() {
- ${CC} ${D_TMPCPROGC} -o ${D_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>>/dev/null
- ER=$?
- if [ ${ER} -eq 0 ] ; then
- OSCFLAGS="${OSCFLAGS} -DTURN_HAS_DAEMON"
- fi
+ ${CC} ${D_TMPCPROGC} -o ${D_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>>/dev/null
+ ER=$?
+ if [ ${ER} -eq 0 ] ; then
+ OSCFLAGS="${OSCFLAGS} -DTURN_HAS_DAEMON"
+ fi
}
test_sin_len() {
@@ -272,16 +126,16 @@ test_sin_len() {
${CC} -c ${OSCFLAGS} -DTURN_HAS_SIN_LEN -Isrc ${TMPCADDRPROGC} -o ${TMPCADDRPROGO} 2>>/dev/null
ER=$?
if [ ${ER} -eq 0 ] ; then
- OSCFLAGS="${OSCFLAGS} -DTURN_HAS_SIN_LEN"
- ${ECHO_CMD} "Sockets code is fine: sin_len field present"
+ OSCFLAGS="${OSCFLAGS} -DTURN_HAS_SIN_LEN"
+ ${ECHO_CMD} "Sockets code is fine: sin_len field present"
else
- ${CC} -c ${OSCFLAGS} -Isrc ${TMPCADDRPROGC} -o ${TMPCADDRPROGO} 2>>/dev/null
- ER=$?
- if [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "Sockets code is fine: no sin_len field present"
- else
- ${ECHO_CMD} "WARNING: trial compilation failed: src/client/ns_turn_ioaddr.c"
- fi
+ ${CC} -c ${OSCFLAGS} -Isrc ${TMPCADDRPROGC} -o ${TMPCADDRPROGO} 2>>/dev/null
+ ER=$?
+ if [ ${ER} -eq 0 ] ; then
+ ${ECHO_CMD} "Sockets code is fine: no sin_len field present"
+ else
+ ${ECHO_CMD} "WARNING: trial compilation failed: src/client/ns_turn_ioaddr.c"
+ fi
fi
}
@@ -296,15 +150,15 @@ cleanup
#########################
if [ -z "${ECHO_CMD}" ] ; then
- ECHO_CMD=echo
+ ECHO_CMD=echo
fi
if [ -z "${FIND_CMD}" ] ; then
- FIND_CMD=find
+ FIND_CMD=find
fi
if [ -z "${PORTNAME}" ] ; then
- PORTNAME=turnserver
+ PORTNAME=turnserver
fi
#########################
@@ -315,237 +169,229 @@ ac_prev=
ac_dashdash=
for ac_option
do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=BINDIR ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- BINDIR=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated | --localstate | --localstat)
- ac_prev=LOCALSTATEDIR ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* | --localstate=* | --localstat=*)
- LOCALSTATEDIR=$ac_optarg ;;
-
- -turndbdir | --turndbdir | --turndbdi | --turndbd | --turndb | --turnd)
- ac_prev=TURNDBDIR ;;
- -turndbdir=* | --turndbdir=* | --turndbdi=* | --turndbd=* | --turndb=* | --turnd=*)
- TURNDBDIR=$ac_optarg ;;
-
- -datadir | --datadir | --datadi | --datad | -schemadir | --schemadir)
- ac_prev=SCHEMADIR ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | -schemadir=* | --schemadir=*)
- SCHEMADIR=$ac_optarg ;;
-
- -docdir | --docdir | --docdi | --doc | --do | -docsdir | --docsdir | --docsdi | --docs)
- ac_prev=DOCDIR ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=* | -docsdir=* | --docsdir=* | --docsdi=* | --docs=*)
- DOCSDIR=$ac_optarg ;;
-
- -examplesdir | --examplesdir | -examples | --examples)
- ac_prev=EXAMPLESDIR ;;
- -examplesdir=* | --examplesdir=* | -examples=* | --examples=*)
- EXAMPLESDIR=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=INCLUDEDIR ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- INCLUDEDIR=$ac_optarg ;;
-
- -turnincludedir | --turnincludedir)
- ac_prev=TURNINCLUDEDIR ;;
- -turnincludedir=* | --turnincludedir=*)
- TURNINCLUDEDIR=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=LIBDIR ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- LIBDIR=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m | -manprefix | --manprefix)
- ac_prev=MAXPREFIX ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=* | -manprefix=* | --manprefix=*)
- MANPREFIX=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=PREFIX ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- PREFIX=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy | -confdir | --confdir)
- ac_prev=CONFDIR ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=* | -confdir=* | --confdir=*)
- CONFDIR=$ac_optarg ;;
-
- -disable-rpath | --disable-rpath)
- TURN_DISABLE_RPATH=1 ;;
-
- esac
-
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=BINDIR ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ BINDIR=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated | --localstate | --localstat)
+ ac_prev=LOCALSTATEDIR ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* | --localstate=* | --localstat=*)
+ LOCALSTATEDIR=$ac_optarg ;;
+
+ -turndbdir | --turndbdir | --turndbdi | --turndbd | --turndb | --turnd)
+ ac_prev=TURNDBDIR ;;
+ -turndbdir=* | --turndbdir=* | --turndbdi=* | --turndbd=* | --turndb=* | --turnd=*)
+ TURNDBDIR=$ac_optarg ;;
+
+ -datadir | --datadir | --datadi | --datad | -schemadir | --schemadir)
+ ac_prev=SCHEMADIR ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | -schemadir=* | --schemadir=*)
+ SCHEMADIR=$ac_optarg ;;
+
+ -docdir | --docdir | --docdi | --doc | --do | -docsdir | --docsdir | --docsdi | --docs)
+ ac_prev=DOCDIR ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=* | -docsdir=* | --docsdir=* | --docsdi=* | --docs=*)
+ DOCSDIR=$ac_optarg ;;
+
+ -examplesdir | --examplesdir | -examples | --examples)
+ ac_prev=EXAMPLESDIR ;;
+ -examplesdir=* | --examplesdir=* | -examples=* | --examples=*)
+ EXAMPLESDIR=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=INCLUDEDIR ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ INCLUDEDIR=$ac_optarg ;;
+
+ -turnincludedir | --turnincludedir)
+ ac_prev=TURNINCLUDEDIR ;;
+ -turnincludedir=* | --turnincludedir=*)
+ TURNINCLUDEDIR=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=LIBDIR ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ LIBDIR=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m | -manprefix | --manprefix)
+ ac_prev=MAXPREFIX ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=* | -manprefix=* | --manprefix=*)
+ MANPREFIX=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=PREFIX ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ PREFIX=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy | -confdir | --confdir)
+ ac_prev=CONFDIR ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=* | -confdir=* | --confdir=*)
+ CONFDIR=$ac_optarg ;;
+
+ -disable-rpath | --disable-rpath)
+ TURN_DISABLE_RPATH=1 ;;
+
+ esac
+
done
if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ as_fn_error $? "missing argument to $ac_option"
fi
#############################################
if [ -z "${PREFIX}" ] ; then
- if [ -z "${prefix}" ] ; then
-
- SYSTEM=`uname`
-
- if [ "${SYSTEM}" = "NetBSD" ] ; then
- # A little tough guy
- PREFIX=/usr/pkg
- elif [ "${SYSTEM}" = "SunOS" ] ; then
- # A fat guy
- PREFIX=/usr
- else
- # An ordinary person
- PREFIX=/usr/local
- fi
- else
- PREFIX=${prefix}
- fi
+ if [ -z "${prefix}" ] ; then
+
+ SYSTEM=`uname`
+
+ if [ "${SYSTEM}" = "NetBSD" ] ; then
+ # A little tough guy
+ PREFIX=/usr/pkg
+ elif [ "${SYSTEM}" = "SunOS" ] ; then
+ # A fat guy
+ PREFIX=/usr
+ else
+ # An ordinary person
+ PREFIX=/usr/local
+ fi
+ else
+ PREFIX=${prefix}
+ fi
fi
if [ -z "${BINDIR}" ] ; then
if [ -z "${bindir}" ] ; then
- BINDIR=${PREFIX}/bin
+ BINDIR=${PREFIX}/bin
else
- BINDIR=${bindir}
+ BINDIR=${bindir}
fi
fi
if [ -z "${LOCALSTATEDIR}" ] ; then
if [ -z "${localstatedir}" ] ; then
-
- if [ "${PREFIX}" = "/usr" ] ; then
- LOCALSTATEDIR=/var
- else
- LOCALSTATEDIR=${PREFIX}/var
- fi
-
+
+ if [ "${PREFIX}" = "/usr" ] ; then
+ LOCALSTATEDIR=/var
+ else
+ LOCALSTATEDIR=${PREFIX}/var
+ fi
+
else
- LOCALSTATEDIR=${localstatedir}
+ LOCALSTATEDIR=${localstatedir}
fi
fi
if [ -z "${CONFDIR}" ] ; then
if [ -z "${confdir}" ] ; then
- CONFDIR=${PREFIX}/etc
+ CONFDIR=${PREFIX}/etc
else
- CONFDIR=${confdir}
+ CONFDIR=${confdir}
fi
fi
if [ -z "${MANPREFIX}" ] ; then
if [ -z "${manprefix}" ] ; then
- MANPREFIX=${PREFIX}
+ MANPREFIX=${PREFIX}
else
- MANPREFIX=${manprefix}
+ MANPREFIX=${manprefix}
fi
fi
if [ -z "${EXAMPLESDIR}" ] ; then
if [ -z "${examplesdir}" ] ; then
- EXAMPLESDIR=${PREFIX}/share/examples/${PORTNAME}
+ EXAMPLESDIR=${PREFIX}/share/examples/${PORTNAME}
else
- EXAMPLESDIR=${examplesdir}
+ EXAMPLESDIR=${examplesdir}
fi
fi
if [ -z "${DOCSDIR}" ] ; then
if [ -z "${docsdir}" ] ; then
- DOCSDIR=${PREFIX}/share/doc/${PORTNAME}
+ DOCSDIR=${PREFIX}/share/doc/${PORTNAME}
else
- DOCSDIR=${docsdir}
+ DOCSDIR=${docsdir}
fi
fi
if [ -z "${LIBDIR}" ] ; then
if [ -z "${libdir}" ] ; then
- LIBDIR=${PREFIX}/lib
+ LIBDIR=${PREFIX}/lib
else
- LIBDIR=${libdir}
+ LIBDIR=${libdir}
fi
fi
if [ -z "${SCHEMADIR}" ] ; then
if [ -z "${schemadir}" ] ; then
- SCHEMADIR=${PREFIX}/share/${PORTNAME}
+ SCHEMADIR=${PREFIX}/share/${PORTNAME}
else
- SCHEMADIR=${schemadir}
+ SCHEMADIR=${schemadir}
fi
fi
if [ -z "${INCLUDEDIR}" ] ; then
if [ -z "${includedir}" ] ; then
- INCLUDEDIR=${PREFIX}/include
+ INCLUDEDIR=${PREFIX}/include
else
- INCLUDEDIR=${includedir}
+ INCLUDEDIR=${includedir}
fi
fi
if [ -z "${TURNINCLUDEDIR}" ] ; then
if [ -z "${turnincludedir}" ] ; then
- TURNINCLUDEDIR=${INCLUDEDIR}/turn
+ TURNINCLUDEDIR=${INCLUDEDIR}/turn
else
- TURNINCLUDEDIR=${turnincludedir}
+ TURNINCLUDEDIR=${turnincludedir}
fi
fi
###############################################
if [ -z "${ARCHIVERCMD}" ] ; then
- ARCHIVERCMD="ar -r"
+ ARCHIVERCMD="ar -r"
fi
if [ -z "${MORECMD}" ]; then
- MORECMD="cat"
+ MORECMD="cat"
fi
-OSCFLAGS="-I${INCLUDEDIR} -I${PREFIX}/include/ -I/usr/local/include ${CFLAGS}"
+OSCFLAGS="${CFLAGS}"
OSLIBS="${LDFLAGS}"
-for ilib in ${PREFIX}/lib/event2/ ${PREFIX}/lib/ /usr/local/lib/event2/ /usr/local/lib/ ${PREFIX}/lib64/event2/ ${PREFIX}/lib64/ /usr/local/lib64/event2/ /usr/local/lib64/
-do
- if [ -d ${ilib} ] ; then
- OSLIBS="${OSLIBS} -L${ilib}"
- TURN_RPATH="${TURN_RPATH} -Wl,-rpath,${ilib}"
- fi
-done
-SYSTEM=`uname`
-if [ "${SYSTEM}" = "NetBSD" ] ; then
- OSCFLAGS="${OSCFLAGS} -I/usr/pkg/include"
- OSLIBS="-L/usr/pkg/lib ${OSLIBS}"
- if ! [ -z "${TURN_ACCEPT_RPATH}" ] ; then
- TURN_RPATH="${TURN_RPATH} -Wl,-rpath,/usr/pkg/lib"
- fi
+if [ `uname` = "NetBSD" ] ; then
+ OSCFLAGS="${OSCFLAGS} -I/usr/pkg/include"
+ OSLIBS="-L/usr/pkg/lib ${OSLIBS}"
+ if ! [ -z "${TURN_ACCEPT_RPATH}" ] ; then
+ TURN_RPATH="${TURN_RPATH} -Wl,-rpath,/usr/pkg/lib"
+ fi
fi
###########################
@@ -555,41 +401,41 @@ fi
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"
+ 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
+ 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
type pkill 2>>/dev/null
ER=$?
if [ ${ER} -eq 0 ] ; then
- PKILL_PROGRAM="pkill"
+ PKILL_PROGRAM="pkill"
else
- PKILL_PROGRAM="${ECHO_CMD}"
+ PKILL_PROGRAM="${ECHO_CMD}"
fi
INSTALL_DIR="cp -rpf"
@@ -604,9 +450,9 @@ else
type sqlite 2>>/dev/null
ER=$?
if [ ${ER} -eq 0 ] ; then
- SQLITE_CMD="sqlite"
+ SQLITE_CMD="sqlite"
else
- SQLITE_CMD=${ECHO_CMD}
+ SQLITE_CMD=${ECHO_CMD}
fi
fi
@@ -614,10 +460,8 @@ fi
# Adjustments for Solaris
#############################
-SYSTEM=`uname`
-
-if [ "${SYSTEM}" = "SunOS" ] ; then
-# Solaris ? is this you ?!
+if [ `uname` = "SunOS" ] ; then
+ # Solaris ? is this you ?!
OSCFLAGS="${OSCFLAGS} -D__EXTENSIONS__ -D_XOPEN_SOURCE=500 -DTURN_NO_GETDOMAINNAME"
OSLIBS="${OSLIBS} -lnsl"
TURN_NO_SCTP=1
@@ -630,9 +474,9 @@ fi
TMPDIR="."
if [ -d /var/tmp ] ; then
- TMPDIR="/var/tmp"
+ TMPDIR="/var/tmp"
elif [ -d /tmp ] ; then
- TMPDIR=/tmp
+ TMPDIR=/tmp
fi
${ECHO_CMD} Use TMP dir ${TMPDIR}
@@ -693,83 +537,6 @@ int main(int argc, char** argv) {
}
!
-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]);
-}
-!
-
-SQL_TMPCPROG=__test__ccomp__sqlite__$$
-SQL_TMPCPROGC=${TMPDIR}/${SQL_TMPCPROG}.c
-SQL_TMPCPROGO=${TMPDIR}/${SQL_TMPCPROG}.o
-
-cat > ${SQL_TMPCPROGC} <<!
-#include <stdlib.h>
-#include <sqlite3.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]));
-}
-!
-
-MONGO_TMPCPROG=__test__ccomp__libmongoc__$$
-MONGO_TMPCPROGC=${TMPDIR}/${MONGO_TMPCPROG}.c
-MONGO_TMPCPROGB=${TMPDIR}/${MONGO_TMPCPROG}
-
-cat > ${MONGO_TMPCPROGC} <<!
-#include <mongoc.h>
-int main(int argc, char** argv) {
- return (argc+
- (int)(mongoc_client_new("mongodb://localhost:27017")!=0)+
- (int)(argv[0][0]));
-}
-!
-
##########################
# What is our compiler ?
##########################
@@ -777,20 +544,30 @@ int main(int argc, char** argv) {
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
+ 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
+ ${ECHO_CMD} "ERROR: Failed to a find working C compiler"
+ cleanup
+ exit
+ fi
+ fi
+ fi
+else
+ ${CC} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
+ ER=$?
+ if ! [ ${ER} -eq 0 ] ; then
+ ${ECHO_CMD} "ERROR: cannot use compiler ${CC} properly"
+ cleanup
+ exit
+ fi
fi
${ECHO_CMD} "Compiler: ${CC}"
@@ -799,18 +576,37 @@ if [ -z "${TURN_ACCEPT_RPATH}" ] ; then
${CC} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} -Wl,-rpath,/usr/lib 2>>/dev/null
ER=$?
if [ ${ER} -eq 0 ] ; then
- TURN_ACCEPT_RPATH=1
+ TURN_ACCEPT_RPATH=1
fi
fi
-${CC} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
-ER=$?
-if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "ERROR: cannot use compiler ${CC} properly"
- cleanup
- exit
+##########################
+# Which pkg-config?
+##########################
+
+if [ -z "$PKGCONFIG" ] ; then
+ for PKGCONFIG in pkgconf pkg-config ; do
+ if type "$PKGCONFIG" 2>/dev/null ; then
+ break
+ fi
+ PKGCONFIG=
+ done
+
+ if [ -z "$PKGCONFIG" ] ; then
+ ${ECHO_CMD} "ERROR: pkg-config not found"
+ cleanup
+ exit
+ fi
+else
+ if ! type "$PKGCONFIG" 2>/dev/null ; then
+ ${ECHO_CMD} "ERROR: cannot use $PKGCONFIG"
+ cleanup
+ exit
+ fi
fi
+${ECHO_CMD} "pkg-config: $PKGCONFIG"
+
###########################
# Check if we can use GNU
# or Clang compiler flags
@@ -827,26 +623,26 @@ if ! [ ${ER} -eq 0 ] ; then
${CC} -Wall ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
ER=$?
if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "Not an ordinary GNU or Clang compiler"
+ ${ECHO_CMD} "Not an ordinary GNU or Clang compiler"
else
- ${ECHO_CMD} "g++ or something..."
- GNUOSCFLAGS="-g -Wall -Wno-deprecated-declarations -Wextra -Wformat-security -Wpointer-arith -Wcast-qual"
- ${CC} -Werror ${GNUOSCFLAGS} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
- ER=$?
- if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "Not an ordinary g++ compiler"
- GNUOSCFLAGS="-x c++ -g -Wall -Wno-deprecated-declarations -Wextra -Wformat-security -Wpointer-arith -Wcast-qual"
- ${CC} -Werror ${GNUOSCFLAGS} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
- ER=$?
- if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "Not an ordinary c++ compiler"
- else
- ${ECHO_CMD} "Clang++ compiler ?"
- OSCFLAGS="${GNUOSCFLAGS} ${OSCFLAGS}"
- fi
- else
- OSCFLAGS="${GNUOSCFLAGS} ${OSCFLAGS}"
- fi
+ ${ECHO_CMD} "g++ or something..."
+ GNUOSCFLAGS="-g -Wall -Wno-deprecated-declarations -Wextra -Wformat-security -Wpointer-arith -Wcast-qual"
+ ${CC} -Werror ${GNUOSCFLAGS} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
+ ER=$?
+ if ! [ ${ER} -eq 0 ] ; then
+ ${ECHO_CMD} "Not an ordinary g++ compiler"
+ GNUOSCFLAGS="-x c++ -g -Wall -Wno-deprecated-declarations -Wextra -Wformat-security -Wpointer-arith -Wcast-qual"
+ ${CC} -Werror ${GNUOSCFLAGS} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
+ ER=$?
+ if ! [ ${ER} -eq 0 ] ; then
+ ${ECHO_CMD} "Not an ordinary c++ compiler"
+ else
+ ${ECHO_CMD} "Clang++ compiler ?"
+ OSCFLAGS="${GNUOSCFLAGS} ${OSCFLAGS}"
+ fi
+ else
+ OSCFLAGS="${GNUOSCFLAGS} ${OSCFLAGS}"
+ fi
fi
else
OSCFLAGS="${GNUOSCFLAGS} ${OSCFLAGS}"
@@ -854,14 +650,12 @@ fi
###########################
# Test some general-purpose
-# libraries
+# libraries
###########################
testlib socket
testlib rt
-testlib wldap32
-ER=$?
-if ! [ ${ER} -eq 0 ] ; then
+if testlib wldap32; then
echo "CYGWIN ?"
fi
testlib wldap64
@@ -879,25 +673,24 @@ test_sin_len
# Can we use multi-threading ?
###########################
-pthread_testlib
-ER=$?
-if [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "ERROR: Cannot find pthread library functions."
- exit
+if ! pthread_testlib ; then
+ ${ECHO_CMD} "ERROR: Cannot find pthread library functions."
+ cleanup
+ exit
fi
-if [ -z ${TURN_NO_THREAD_BARRIERS} ] ; then
- pthread_testbarriers
-else
- TURN_NO_THREAD_BARRIERS="-DTURN_NO_THREAD_BARRIERS"
+if [ -z ${TURN_NO_THREAD_BARRIERS} ] ; then
+ pthread_testbarriers
+else
+ TURN_NO_THREAD_BARRIERS="-DTURN_NO_THREAD_BARRIERS"
fi
-if [ -z ${TURN_IP_RECVERR} ] ; then
- ${ECHO_CMD} "Ignore IP_RECVERR"
-else
- ${ECHO_CMD} "Use IP_RECVERR"
- TURN_IP_RECVERR="-DTURN_IP_RECVERR"
- OSCFLAGS="${OSCFLAGS} ${TURN_IP_RECVERR}"
+if [ -z ${TURN_IP_RECVERR} ] ; then
+ ${ECHO_CMD} "Ignore IP_RECVERR"
+else
+ ${ECHO_CMD} "Use IP_RECVERR"
+ TURN_IP_RECVERR="-DTURN_IP_RECVERR"
+ OSCFLAGS="${OSCFLAGS} ${TURN_IP_RECVERR}"
fi
###########################
@@ -910,10 +703,8 @@ testdaemon
# Test OpenSSL installation
###########################
-testlib crypto
-ER=$?
-if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "Crypto SSL lib found."
+if testpkg_common libcrypto; then
+ ${ECHO_CMD} "OpenSSL Crypto lib found."
else
${ECHO_CMD} "ERROR: OpenSSL Crypto development libraries are not installed properly in required location."
${ECHO_CMD} "Abort."
@@ -921,10 +712,8 @@ else
exit
fi
-testlib ssl
-ER=$?
-if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "SSL lib found."
+if testpkg_common libssl; then
+ ${ECHO_CMD} "OpenSSL SSL found."
else
${ECHO_CMD} "ERROR: OpenSSL development libraries are not installed properly in required location."
${ECHO_CMD} "Abort."
@@ -936,88 +725,40 @@ fi
# Can we use GCM cipher ?
###########################
-if [ -z ${TURN_NO_GCM} ] ; then
-
-gcm_testlib
-ER=$?
-if [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "WARNING: Cannot find GCM support."
- ${ECHO_CMD} "Turning GCM off."
- TURN_NO_GCM="-DTURN_NO_GCM"
-fi
-
+if [ -z ${TURN_NO_GCM} ] ; then
+ if ! gcm_testlib ; then
+ ${ECHO_CMD} "WARNING: Cannot find GCM support."
+ ${ECHO_CMD} "Turning GCM off."
+ TURN_NO_GCM="-DTURN_NO_GCM"
+ fi
else
- TURN_NO_GCM="-DTURN_NO_GCM"
+ TURN_NO_GCM="-DTURN_NO_GCM"
fi
###########################
# Test Libevent2 setup
###########################
-testlibevent2_comp
-ER=$?
-if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "Libevent2 development found."
+
+if testpkg_common libevent_core libevent_extra libevent_pthreads || testpkg_common libevent libevent_pthreads; then
+ ${ECHO_CMD} "Libevent2 runtime found."
else
- ${ECHO_CMD} "ERROR: Libevent2 development libraries are not installed properly in required location."
- ${ECHO_CMD} "ERROR: may be you have just too old libevent tool - then you have to upgrade it."
+ ${ECHO_CMD} "ERROR: Libevent2 runtime libraries not found or not compiled with threads support."
${ECHO_CMD} "See the INSTALL file."
${ECHO_CMD} "Abort."
cleanup
exit
fi
-testlib event_core
-ER=$?
-if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "Libevent2 runtime found."
- testlib event_extra
- ER=$?
- if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "Libevent2 runtime 'extra' found."
- else
- ${ECHO_CMD} "ERROR: Libevent2 'extra' runtime library is not installed properly in required location."
- ${ECHO_CMD} "See the INSTALL file."
- ${ECHO_CMD} "Abort."
- cleanup
- exit
- fi
-else
- testlib event
- ER=$?
- if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "Libevent2 runtime found (old style)."
+if [ -z "${TURN_NO_TLS}" ] ; then
+ if testpkg_server libevent_openssl; then
+ ${ECHO_CMD} "Libevent2 OpenSSL found."
else
- ${ECHO_CMD} "ERROR: Libevent2 runtime libraries are not installed properly in required location."
- ${ECHO_CMD} "See the INSTALL file."
- ${ECHO_CMD} "Abort."
- cleanup
- exit
+ ${ECHO_CMD} "ERROR: Libevent2 development libraries are not compiled with OpenSSL support."
+ ${ECHO_CMD} "TLS will be disabled."
+ TURN_NO_TLS="-DTURN_NO_TLS"
fi
-fi
-
-if [ -z "${TURN_NO_TLS}" ] ; then
-
- testlib event_openssl
- ER=$?
- if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "Libevent2 openssl found."
- else
- ${ECHO_CMD} "ERROR: Libevent2 development libraries are not compiled with OpenSSL support."
- ${ECHO_CMD} "TLS will be disabled."
- TURN_NO_TLS="-DTURN_NO_TLS"
- fi
-
-else
- TURN_NO_TLS="-DTURN_NO_TLS"
-fi
-
-testlib event_pthreads
-ER=$?
-if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "Libevent2 pthreads found."
else
- ${ECHO_CMD} "ERROR: Libevent2 development libraries are not compiled with threads support."
- exit
+ TURN_NO_TLS="-DTURN_NO_TLS"
fi
###########################
@@ -1025,41 +766,19 @@ fi
###########################
if [ -z "${TURN_NO_SQLITE}" ] ; then
-
- testlib sqlite3
- ER=$?
- if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "SQLite library found."
- else
- ${ECHO_CMD} "SQLite3 development library cannot be found."
- TURN_NO_SQLITE="-DTURN_NO_SQLITE"
- fi
-
- if [ -z "${TURN_NO_SQLITE}" ] ; then
- testsqlite_comp
- ER=$?
- if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "SQLite development found."
- else
- ${ECHO_CMD} "SQLite development libraries are not installed properly in required location."
- TURN_NO_SQLITE="-DTURN_NO_SQLITE"
- fi
- fi
-
- if ! [ -z "${TURN_NO_SQLITE}" ] ; then
- ${ECHO_CMD}
- ${ECHO_CMD} "SQLite DEVELOPMENT LIBRARY (libsqlite3) AND/OR HEADER (sqlite3.h)"
- ${ECHO_CMD} " ARE NOT INSTALLED PROPERLY ON THIS SYSTEM."
- ${ECHO_CMD} " THAT'S OK BUT THE TURN SERVER IS BUILDING WITHOUT SQLITE SUPPORT."
- ${ECHO_CMD}
- fi
+ if testpkg_server sqlite3; then
+ ${ECHO_CMD} "SQLite library found."
+ else
+ ${ECHO_CMD} "SQLite3 development library cannot be found. Building without SQLite3 support."
+ TURN_NO_SQLITE="-DTURN_NO_SQLITE"
+ fi
else
- TURN_NO_SQLITE="-DTURN_NO_SQLITE"
- SQLITE_CMD=${ECHO_CMD}
+ TURN_NO_SQLITE="-DTURN_NO_SQLITE"
+ SQLITE_CMD=${ECHO_CMD}
fi
if [ -z "${TURNDBDIR}" ] ; then
- TURNDBDIR=${LOCALSTATEDIR}/db
+ TURNDBDIR=${LOCALSTATEDIR}/db
fi
###########################
@@ -1067,16 +786,14 @@ fi
###########################
if [ -z "${TURN_NO_PQ}" ] ; then
-
- testlibpq
- ER=$?
- if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "PostgreSQL found."
- else
- TURN_NO_PQ="-DTURN_NO_PQ"
- fi
+ if testpkg_server libpq; then
+ ${ECHO_CMD} "PostgreSQL found."
+ else
+ ${ECHO_CMD} "PostgreSQL development library cannot be found. Building without PostgreSQL support."
+ TURN_NO_PQ="-DTURN_NO_PQ"
+ fi
else
- TURN_NO_PQ="-DTURN_NO_PQ"
+ TURN_NO_PQ="-DTURN_NO_PQ"
fi
###########################
@@ -1084,16 +801,14 @@ fi
###########################
if [ -z "${TURN_NO_MYSQL}" ] ; then
-
- testlibmysql
- ER=$?
- if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "MySQL found."
- else
- TURN_NO_MYSQL="-DTURN_NO_MYSQL"
- fi
+ if testpkg_server mariadb || testpkg_server mysqlclient ; then
+ ${ECHO_CMD} "MySQL found."
+ else
+ ${ECHO_CMD} "MySQL development library cannot be found. Building without MySQL support."
+ TURN_NO_MYSQL="-DTURN_NO_MYSQL"
+ fi
else
- TURN_NO_MYSQL="-DTURN_NO_MYSQL"
+ TURN_NO_MYSQL="-DTURN_NO_MYSQL"
fi
###########################
@@ -1101,16 +816,14 @@ fi
###########################
if [ -z "${TURN_NO_MONGO}" ] ; then
-
- testlibmongoc
- ER=$?
- if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "MongoDB found."
- else
- TURN_NO_MONGO="-DTURN_NO_MONGO"
- fi
+ if testpkg_server libmongoc-1.0; then
+ ${ECHO_CMD} "MongoDB found."
+ else
+ ${ECHO_CMD} "MongoDB development library cannot be found. Building without MongoDB support."
+ TURN_NO_MONGO="-DTURN_NO_MONGO"
+ fi
else
- TURN_NO_MONGO="-DTURN_NO_MONGO"
+ TURN_NO_MONGO="-DTURN_NO_MONGO"
fi
###########################
@@ -1118,19 +831,14 @@ fi
###########################
if [ -z "${TURN_NO_HIREDIS}" ] ; then
-
- testhiredis
-
- ER=$?
- if ! [ ${ER} -eq 0 ] ; then
- ${ECHO_CMD} "Hiredis found."
- else
- TURN_NO_HIREDIS="-DTURN_NO_HIREDIS"
- fi
-
+ if testpkg_server hiredis; then
+ ${ECHO_CMD} "Hiredis found."
+ else
+ ${ECHO_CMD} "Hiredis development library cannot be found. Building without Redis support."
+ TURN_NO_HIREDIS="-DTURN_NO_HIREDIS"
+ fi
else
- TURN_NO_HIREDIS="-DTURN_NO_HIREDIS"
-
+ TURN_NO_HIREDIS="-DTURN_NO_HIREDIS"
fi
###############################
@@ -1138,22 +846,21 @@ fi
###############################
if [ -z "${LDCONFIG}" ] ; then
- ISBSD=`uname | grep -i bsd`
- if [ -z "${ISBSD}" ] ; then
- ISLINUX=`uname | grep -i linux`
- if [ -z "${ISLINUX}" ] ; then
- SYSTEM=`uname`
- if [ "${SYSTEM}" = "SunOS" ] ; then
- LDCONFIG="crle -u -l"
- else
- LDCONFIG=${ECHO_CMD}
- fi
- else
- LDCONFIG="ldconfig -n"
- fi
- else
- LDCONFIG="ldconfig -m"
- fi
+ ISBSD=`uname | grep -i bsd`
+ if [ -z "${ISBSD}" ] ; then
+ ISLINUX=`uname | grep -i linux`
+ if [ -z "${ISLINUX}" ] ; then
+ if [ `uname` = "SunOS" ] ; then
+ LDCONFIG="crle -u -l"
+ else
+ LDCONFIG=${ECHO_CMD}
+ fi
+ else
+ LDCONFIG="ldconfig -n"
+ fi
+ else
+ LDCONFIG="ldconfig -m"
+ fi
fi
###############################
@@ -1162,11 +869,11 @@ fi
if [ -z "${TURN_NO_SCTP}" ] ; then
if [ -z "${TURN_SCTP_INCLUDE}" ] ; then
- if [ -f /usr/include/netinet/sctp.h ] ; then
- TURN_SCTP_INCLUDE="-DTURN_SCTP_INCLUDE=\"</usr/include/netinet/sctp.h>\""
- fi
+ if [ -f /usr/include/netinet/sctp.h ] ; then
+ TURN_SCTP_INCLUDE="-DTURN_SCTP_INCLUDE=\"</usr/include/netinet/sctp.h>\""
+ fi
else
- TURN_SCTP_INCLUDE="-DTURN_SCTP_INCLUDE=\"\\\"${TURN_SCTP_INCLUDE}\\\"\""
+ TURN_SCTP_INCLUDE="-DTURN_SCTP_INCLUDE=\"\\\"${TURN_SCTP_INCLUDE}\\\"\""
fi
else
TURN_NO_SCTP="-DTURN_NO_SCTP"
@@ -1179,10 +886,10 @@ fi
OSCFLAGS="${OSCFLAGS} ${TURN_NO_SCTP} ${TURN_SCTP_INCLUDE} ${TURN_NO_THREAD_BARRIERS} ${TURN_NO_DTLS} ${TURN_NO_GCM} ${TURN_NO_TLS} -DINSTALL_PREFIX=${PREFIX} -DTURNDB=${TURNDBDIR}/turndb"
if ! [ -z "${TURN_ACCEPT_RPATH}" ] ; then
- if [ -z "${TURN_DISABLE_RPATH}" ] ; then
- TURN_RPATH="${TURN_RPATH} -Wl,-rpath,/usr/local/lib"
- OSLIBS="${OSLIBS} ${TURN_RPATH}"
- fi
+ if [ -z "${TURN_DISABLE_RPATH}" ] ; then
+ TURN_RPATH="${TURN_RPATH} -Wl,-rpath,/usr/local/lib"
+ OSLIBS="${OSLIBS} ${TURN_RPATH}"
+ fi
fi
${ECHO_CMD} PREFIX="${PREFIX}" LOCALSTATEDIR="${LOCALSTATEDIR}" OSLIBS="${OSLIBS}" DBLIBS="${DBLIBS}" OSCFLAGS="${OSCFLAGS}" DBCFLAGS="${DBCFLAGS}" $@