WebRTC audio/video call and conferencing server.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

209 lines
6.9 KiB

#
# Spreed WebRTC.
# Copyright (C) 2013-2014 struktur AG
#
# This file is part of Spreed WebRTC.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
dnl required version of autoconf
AC_PREREQ([2.53])
AC_INIT([spreed-webrtc],[unknown],[opensource@struktur.de],[],[https://github.com/strukturag/spreed-webrtc])
I18N_VERSION="1.0"
I18N_PROJECT="Spreed WebRTC"
I18N_COPYRIGHT="struktur AG"
I18N_BUG_ADDRESS="simon@struktur.de"
AC_SUBST(I18N_VERSION)
AC_SUBST(I18N_PROJECT)
AC_SUBST(I18N_COPYRIGHT)
AC_SUBST(I18N_BUG_ADDRESS)
# minimum required versions
GO_VERSION_MIN=1.1
NODEJS_VERSION_MIN=0.6.0
NODEJS_VERSION_STYLES_MIN=0.10.0
SASS_VERSION_MIN=3.3.0
AC_CONFIG_SRCDIR([src/app/spreed-webrtc-server/main.go])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
dnl required version of automake
AM_INIT_AUTOMAKE([1.10])
dnl enable mainainer mode by default
AM_MAINTAINER_MODE([enable])
AC_PROG_MKDIR_P
AC_PROG_INSTALL
AC_PROG_GREP
AC_PROG_SED
AC_PROG_AWK
AC_SUBST(MKDIR_P)
AC_SUBST(INSTALL)
AC_SUBST(GREP)
AC_SUBST(SED)
AC_SUBST(AWK)
AC_PATH_PROGS([FIND],[find])
AC_SUBST(FIND)
AC_PATH_PROGS([JSHINT],[jshint])
if test x"${JSHINT}" != x"" ; then
AC_MSG_CHECKING([for version of jshint])
JSHINT_VERSION=`$JSHINT --version 2>&1 | $SED 's/^jshint v//'`
AC_MSG_RESULT([$JSHINT_VERSION])
fi
AC_SUBST(JSHINT)
AC_PATH_PROGS([JS_BEAUTIFY],[js-beautify])
AC_SUBST(JS_BEAUTIFY)
AC_PATH_PROGS([PYTHON],[python2 python])
if test x"${PYTHON}" != x"" ; then
AC_MSG_CHECKING([for version of python2])
PYTHON_VERSION=`$PYTHON --version 2>&1 | $SED 's/^Python //'`
AC_MSG_RESULT([$PYTHON_VERSION])
fi
AC_SUBST(PYTHON)
AC_PATH_PROGS([GO],[go])
if test x"${GO}" == x"" ; then
AC_MSG_ERROR([Please install Go before trying to build spreed-webrtc.])
fi
AC_MSG_CHECKING([for version of Go])
GO_VERSION=`$GO version | $SED 's/^go version go//' | $SED 's/ .*//'`
AC_MSG_RESULT([$GO_VERSION])
AX_COMPARE_VERSION([$GO_VERSION], [lt], [$GO_VERSION_MIN],
[AC_MSG_ERROR([Please install Go $GO_VERSION_MIN or newer before trying to build spreed-webrtc (found Go $GO_VERSION).])])
AC_SUBST(GO)
AC_PATH_PROGS([NODEJS],[nodejs node])
if test x"${NODEJS}" == x"" ; then
AC_MSG_ERROR([Please install node.js before trying to build spreed-webrtc.])
else
AC_MSG_CHECKING([for version of node.js])
NODEJS_VERSION=`$NODEJS --version | $SED 's/^v//'`
AC_MSG_RESULT([$NODEJS_VERSION])
AX_COMPARE_VERSION([$NODEJS_VERSION], [lt], [$NODEJS_VERSION_MIN],
[AC_MSG_ERROR([Please install node.js $NODEJS_VERSION_MIN or newer before trying to build spreed-webrtc (found node.js $NODEJS_VERSION).])])
AX_COMPARE_VERSION([$NODEJS_VERSION], [lt], [$NODEJS_VERSION_STYLES_MIN],
[AC_MSG_WARN([Please install node.js $NODEJS_VERSION_STYLES_MIN or newer before trying to build styles (found node.js $NODEJS_VERSION).])
NODEJS_SUPPORT_STYLES=no],[NODEJS_SUPPORT_STYLES=yes])
fi
AC_SUBST(NODEJS)
AC_SUBST(NODEJS_SUPPORT_STYLES)
AC_PATH_PROGS([SASS],[sass])
if test x"${SASS}" == x"" ; then
AC_MSG_WARN([Please install sass before trying to build styles.])
else
AC_MSG_CHECKING([for version of sass])
SASS_VERSION=`$SASS --version | $SED 's/^Sass //' | $SED 's/ .*//'`
AC_MSG_RESULT([$SASS_VERSION])
AX_COMPARE_VERSION([$SASS_VERSION], [lt], [$SASS_VERSION_MIN],
[AC_MSG_WARN([Please install sass $SASS_VERSION_MIN or newer before trying to build styles (found sass $SASS_VERSION).])
SASS_SUPPORT_STYLES=no],[SASS_SUPPORT_STYLES=yes])
fi
AC_SUBST(SASS)
AC_PATH_PROGS([COMPASS],[compass])
if test x"${COMPASS}" == x"" ; then
AC_MSG_WARN([Please install compass before trying to build styles.])
else
AC_MSG_CHECKING([for version of compass])
COMPASS_VERSION=`$COMPASS --version | $AWK 'NR==1' | $SED 's/^Compass //' | $SED 's/ .*//'`
AC_MSG_RESULT([$COMPASS_VERSION])
fi
AC_SUBST(COMPASS)
if test x"${SASS}" != x"" ; then
AC_MSG_CHECKING([for compass support in sass])
tempfile=`mktemp -t XXXXXXblah`
cd src/styles
$SASS --compass $tempfile > /dev/null 2> /dev/null
sass_compass=$?
rm $tempfile
cd ../../
if test x"${sass_compass}" != x"0" ; then
AC_MSG_RESULT([not available])
AC_MSG_WARN([Please install compass so it can be used using "sass --compass ...".])
SASS_SUPPORT_STYLES=no
else
AC_MSG_RESULT([ok])
fi
fi
AC_SUBST(SASS_SUPPORT_STYLES)
AC_PATH_PROGS([AUTOPREFIXER],[autoprefixer])
if test x"${AUTOPREFIXER}" == x"" ; then
AC_MSG_WARN([Please install autoprefixer before trying to build styles.])
else
AC_MSG_CHECKING([for version of autoprefixer])
AUTOPREFIXER_VERSION=`$AUTOPREFIXER --version | $SED 's/^autoprefixer //'`
AC_MSG_RESULT([$AUTOPREFIXER_VERSION])
fi
AC_SUBST(AUTOPREFIXER)
AC_PATH_PROGS([PYBABEL],[pybabel])
if test x"${PYBABEL}" == x"" ; then
AC_MSG_WARN([Please install pybabel before trying to build i18n.])
else
AC_MSG_CHECKING([for version of pybabel])
PYBABEL_VERSION=`$PYBABEL --version | $SED 's/^pybabel //'`
AC_MSG_RESULT([$PYBABEL_VERSION])
fi
AC_SUBST(PYBABEL)
AC_PATH_PROGS([NPM],[npm])
NODEJS_SUPPORT_PO2JSON=no
if test x"${NPM}" != x"" ; then
AC_MSG_CHECKING([for version of npm])
NPM_VERSION=`$NPM --version`
AC_MSG_RESULT([$NPM_VERSION])
AC_MSG_CHECKING([for po2json support in node.js])
found_po2json=`$NPM list --global 2> /dev/null | $GREP po2json`
if test x"${found_po2json}" == x"" ; then
AC_MSG_RESULT([not available])
AC_MSG_WARN([Please install the node.js module po2json to build i18n.])
else
AC_MSG_RESULT([ok])
AC_MSG_CHECKING([for version of po2json])
PO2JSON_VERSION=`$NPM list --global 2>&1 | $GREP po2json | $SED 's/^.*po2json@//'`
AC_MSG_RESULT([$PO2JSON_VERSION])
NODEJS_SUPPORT_PO2JSON=yes
fi
else
AC_MSG_WARN([Please install npm and the the node.js module po2json to build i18n.])
fi
AC_SUBST(NODEJS_SUPPORT_PO2JSON)
VERSION=`dpkg-parsechangelog | $SED -n 's/^Version: //p'`
PACKAGE_VERSION="$VERSION"
PACKAGE_STRING="$PACKAGE_NAME $PACKAGE_VERSION"
AC_DEFINE_UNQUOTED(VERSION, ["$VERSION"], [Version number of package])
AC_DEFINE_UNQUOTED(PACKAGE_VERSION, ["$PACKAGE_VERSION"], [Define to the version of this package.])
AC_DEFINE_UNQUOTED(PACKAGE_STRING, ["$PACKAGE_STRING"], [Define to the full name and version of this package.])
AC_CONFIG_FILES([
Makefile
src/styles/Makefile
src/i18n/Makefile
])
AC_OUTPUT