Commit 1e4272b4 authored by Tim-Philipp Müller's avatar Tim-Philipp Müller Committed by Olivier Crête

Remove autotools build

Remove dist check on the CI, since it doesn't really
add anything in the Meson case (tarball is based
on files checked into git and srcdir != builddir).
parent 7581462a
...@@ -3,63 +3,6 @@ stages: ...@@ -3,63 +3,6 @@ stages:
- test - test
- deploy - deploy
build autotools:
stage: build
image: registry.freedesktop.org/libnice/libnice/centos7/autotools-build
except:
- schedules
script:
- ifconfig
- export BUILD_ID="libnice-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
- export MAKEFLAGS="-j4"
- mkdir "$PREFIX"
- ./autogen.sh --prefix="$PREFIX" --enable-compile-warnings=error --enable-gtk-doc --enable-introspection
- make
- make install
artifacts:
untracked: true
test autotools:
stage: test
image: registry.freedesktop.org/libnice/libnice/centos7/autotools-build
except:
- schedules
needs:
- build autotools
script:
- ifconfig
- make check
artifacts:
when: always
paths:
- config.log
- nice/test-suite.log
- random/test-suite.log
- tests/test-suite.log
- stun/tests/test-suite.log
- docs/reference/libnice/test-suite.log
test autotools valgrind:
extends: test autotools
script:
- ifconfig
- make check-valgrind
distcheck autotools:
stage: test
image: registry.freedesktop.org/libnice/libnice/centos7/autotools-build
except:
- schedules
needs:
- build autotools
script:
- ifconfig
- make distcheck
artifacts:
paths:
- libnice-*.tar.gz
build meson: build meson:
stage: build stage: build
image: registry.freedesktop.org/libnice/libnice/centos7/meson-build image: registry.freedesktop.org/libnice/libnice/centos7/meson-build
...@@ -240,8 +183,7 @@ submit-to-coverity: ...@@ -240,8 +183,7 @@ submit-to-coverity:
- tar czvf libnice.tgz cov-int - tar czvf libnice.tgz cov-int
- curl --form token=$COVERITY_TOKEN --form email=olivier.crete@ocrete.ca --form file=@libnice.tgz --form version="${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}" --form description="CI weekly run" https://scan.coverity.com/builds?project=libnice - curl --form token=$COVERITY_TOKEN --form email=olivier.crete@ocrete.ca --form file=@libnice.tgz --form version="${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}" --form description="CI weekly run" https://scan.coverity.com/builds?project=libnice
pages:
documentation:
stage: deploy stage: deploy
dependencies: dependencies:
- doc-and-install meson - doc-and-install meson
......
#
# Makefile.am for the Nice Glib ICE library
#
# (C) 2006, 2007 Collabora Ltd.
# (C) 2006, 2007 Nokia Corporation. All rights reserved.
#
# Licensed under MPL 1.1/LGPL 2.1. See file COPYING.
include common.mk
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
SUBDIRS = \
stun \
socket \
random \
agent \
nice \
gst \
tests \
docs \
examples
DISTCHECK_CONFIGURE_FLAGS = --disable-assert -enable-gtk-doc --enable-introspection
EXTRA_DIST = \
COPYING.LGPL \
COPYING.MPL \
autogen.sh \
common.mk \
scripts/lcov.mk \
scripts/lcov.sh \
scripts/valgrind-test-driver \
m4/introspection.m4 \
meson.build \
meson_options.txt
MAINTAINERCLEANFILES = ar-lib
dist_check_SCRIPTS = \
scripts/check-symbols.sh \
scripts/make-symbol-list.sh
lcov:
find -name '*.gcda' -delete
$(MAKE) $(AM_MAKEFLAGS) check
find -type d -name '.libs' | while read d ; do \
mv -fv $$d/*.gc* $$d/.. 2>/dev/null || true ; \
done
$(MAKE) lcov-report
lcov-report:
mkdir -p lcov
lcov -d . -c > lcov/lcov.info
lcov -l lcov/lcov.info 2>/dev/null | \
egrep '(^/usr|/test.*\.c)' | \
cut -d: -f1 > lcov/lcov.remove
lcov -r lcov/lcov.info `cat lcov/lcov.remove` 2>/dev/null > lcov/lcov.info.clean
genhtml -o lcov lcov/lcov.info.clean
clean-local:
rm -rf doc
.PHONY: doc lcov-report lcov
...@@ -20,14 +20,23 @@ Requirements ...@@ -20,14 +20,23 @@ Requirements
pkg-config pkg-config
gnutls >= 2.12.0 or OpenSSL gnutls >= 2.12.0 or OpenSSL
gupnp-igd >= 0.1.2 (optional) gupnp-igd >= 0.1.2 (optional)
gstreamer-0.10 >= 0.10.0 (optional) gstreamer-0.10 (optional)
gstreamer-1.0 (optional) gstreamer-1.0 (optional)
Build instructions Build instructions
------------------ ------------------
To build, you need Python 3 and Meson. Then need to do: libnice uses the Meson Build System: https://mesonbuild.com
meson build && ninja -C build && sudo ninja -C build install
To build on Linux and Mac, you only need to type the usual commands :
meson builddir
ninja -C builddir
ninja -C builddir test (or "meson test -C builddir" for more control)
sudo ninja -C builddir install
See https://mesonbuild.com/Quick-guide.html#compiling-a-meson-project
for more details and how to install the Meson build system.
Structure Structure
--------- ---------
......
#
# Makefile.am for the Nice Glib ICE library
#
# (C) 2006, 2007 Collabora Ltd.
# (C) 2006, 2007 Nokia Corporation. All rights reserved.
#
# Licensed under MPL 1.1/LGPL 2.1. See file COPYING.
include $(top_srcdir)/common.mk
AM_CFLAGS = \
-DG_LOG_DOMAIN=\"libnice\" \
$(LIBNICE_CFLAGS) \
$(GLIB_CFLAGS) \
$(GUPNP_CFLAGS) \
-I $(top_srcdir) \
-I $(top_srcdir)/random \
-I $(top_srcdir)/socket \
-I $(top_srcdir)/stun
if WINDOWS
AM_CFLAGS += -DWINVER=0x0501 # _WIN32_WINNT_WINXP
endif
BUILT_SOURCES = \
agent-enum-types.h \
agent-enum-types.c
CLEANFILES += $(BUILT_SOURCES)
noinst_LTLIBRARIES = libagent.la
pkginclude_HEADERS = \
agent.h \
candidate.h \
debug.h \
address.h \
interfaces.h \
pseudotcp.h \
$(NULL)
libagent_la_SOURCES = \
address.h \
address.c \
debug.h \
debug.c \
candidate.h \
candidate.c \
component.h \
component.c \
agent.h \
agent-priv.h \
agent.c \
stream.h \
stream.c \
conncheck.c \
conncheck.h \
discovery.c \
discovery.h \
interfaces.c \
interfaces.h \
pseudotcp.h \
pseudotcp.c \
iostream.h \
iostream.c \
inputstream.h \
inputstream.c \
outputstream.h \
outputstream.c \
$(BUILT_SOURCES)
agent-enum-types.h: $(pkginclude_HEADERS) Makefile
$(AM_V_GEN)$(GLIB_MKENUMS) \
--fhead "#ifndef __AGENT_ENUM_TYPES_H__\n#define __AGENT_ENUM_TYPES_H__ 1\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
--fprod "/* enumerations from \"@filename@\" */\n" \
--vhead "GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define NICE_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
--ftail "G_END_DECLS\n\n#endif /* !AGENT_ENUM_TYPES_H */" \
$(addprefix $(srcdir)/,$(pkginclude_HEADERS)) > $@
agent-enum-types.c: $(pkginclude_HEADERS) Makefile agent-enum-types.h
$(AM_V_GEN)$(GLIB_MKENUMS) \
--fhead "#include <config.h>\n#include <glib-object.h>\n#include \"agent.h\"\n#include \"pseudotcp.h\"\n#include \"agent-enum-types.h\"" \
--fprod "\n/* enumerations from \"@filename@\" */" \
--vhead "GType\n@enum_name@_get_type (void)\n{\n static GType type = 0;\n if (!type) {\n static const G@Type@Value values[] = {" \
--vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
--vtail " { 0, NULL, NULL }\n };\n type = g_@type@_register_static (\"@EnumName@\", values);\n }\n return type;\n}\n\n" \
$(addprefix $(srcdir)/,$(pkginclude_HEADERS)) > $@
libagent_la_LIBADD = \
$(top_builddir)/random/libnice-random.la \
$(top_builddir)/socket/libsocket.la \
$(top_builddir)/stun/libstun.la \
$(GLIB_LIBS) \
$(GUPNP_LIBS) \
$(NULL)
libagent_la_DEPENDENCIES = \
$(top_builddir)/random/libnice-random.la \
$(top_builddir)/socket/libsocket.la \
$(top_builddir)/stun/libstun.la
if WINDOWS
libagent_la_LIBADD += -liphlpapi -lws2_32
endif
#
# GObject introspection
#
# We need --accept-unprefixed because of PseudoTcp and TurnServer.
#
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) --warn-all --accept-unprefixed
INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
if HAVE_INTROSPECTION
introspection_sources = $(pkginclude_HEADERS)
Nice-0.1.gir: libagent.la
Nice_0_1_gir_INCLUDES = GObject-2.0 Gio-2.0
Nice_0_1_gir_EXPORT_PACKAGES = nice
Nice_0_1_gir_CFLAGS = $(AM_CFLAGS)
Nice_0_1_gir_LIBS = libagent.la
Nice_0_1_gir_FILES = $(introspection_sources)
INTROSPECTION_GIRS += Nice-0.1.gir
girdir = $(datadir)/gir-1.0
gir_DATA = $(INTROSPECTION_GIRS)
typelibdir = $(libdir)/girepository-1.0
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
CLEANFILES += $(gir_DATA) $(typelib_DATA)
endif
EXTRA_DIST = meson.build
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
test -n "$srcdir" || srcdir=$(dirname "$0")
test -n "$srcdir" || srcdir=.
olddir=$(pwd)
cd $srcdir
(test -f configure.ac) || {
echo "*** ERROR: Directory '$srcdir' does not look like the top-level project directory ***"
exit 1
}
# shellcheck disable=SC2016
PKG_NAME=$(autoconf --trace 'AC_INIT:$1' configure.ac)
if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then
echo "*** WARNING: I am going to run 'configure' with no arguments." >&2
echo "*** If you wish to pass any to it, please specify them on the" >&2
echo "*** '$0' command line." >&2
echo "" >&2
fi
aclocal --install || exit 1
gtkdocize --copy || exit 1
autoreconf --verbose --force --install || exit 1
cd "$olddir"
if [ "$NOCONFIGURE" = "" ]; then
$srcdir/configure "$@" || exit 1
if [ "$1" = "--help" ]; then exit 0 else
echo "Now type 'make' to compile $PKG_NAME" || exit 1
fi
else
echo "Skipping configure process."
fi
CLEANFILES = *.gcno *.gcda
pkgincludedir = $(includedir)/nice
check-valgrind:
$(MAKE) TESTS_ENVIRONMENT="USE_VALGRIND=1 " check
LOG_DRIVER=$(top_srcdir)/scripts/valgrind-test-driver
.PHONY: check-valgrind
AC_PREREQ(2.62)
dnl Always compile with -Wall; if --enable-compile-warnings=error is passed,
dnl also use -Werror. git and pre-releases default to -Werror
dnl use a three digit version number for releases, and four for cvs/prerelease
AC_INIT([libnice],[0.1.17.1])
LIBNICE_RELEASE="no"
AC_CANONICAL_TARGET
AC_CONFIG_SRCDIR([agent/agent.c])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([1.12 -Wall -Wno-portability subdir-objects])
AC_CONFIG_FILES([
Makefile
agent/Makefile
stun/Makefile
stun/tests/Makefile
stun/tools/Makefile
socket/Makefile
nice/Makefile
nice/nice.pc
random/Makefile
gst/Makefile
docs/Makefile
docs/reference/Makefile
docs/reference/libnice/Makefile
tests/Makefile
examples/Makefile
])
# Set the libtool C/A/R version info
# If the source code was changed, but there were no interface changes:
# Increment REVISION.
# If there was a compatible interface change:
# Increment CURRENT and AGE. Set REVISION to 0
# If there was an incompatible interface change:
# Increment CURRENT. Set AGE and REVISION to 0
LIBNICE_CURRENT=20
LIBNICE_REVISION=0
LIBNICE_AGE=10
LIBNICE_LIBVERSION=${LIBNICE_CURRENT}:${LIBNICE_REVISION}:${LIBNICE_AGE}
LIBNICE_LT_LDFLAGS="-version-info ${LIBNICE_LIBVERSION} -no-undefined"
AC_SUBST(LIBNICE_LT_LDFLAGS)
dnl use pretty build output
AM_SILENT_RULES([yes])
# Checks for programs.
AC_USE_SYSTEM_EXTENSIONS
AC_PROG_CC
AM_PROG_AR
LT_PREREQ([2.2.6])
LT_INIT([dlopen win32-dll disable-static])
AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums])
# Check Operating System
AC_MSG_CHECKING([operating system])
case "$host" in
*-*-*mingw*|*-*-*cygwin*)
platform=win32
AC_MSG_RESULT($platform)
;;
*)
platform=linux/other
AC_MSG_RESULT($platform)
;;
esac
AM_CONDITIONAL([WINDOWS], [test "$platform" = "win32"])
# Checks for compiler features
AC_C_RESTRICT
AC_C_VARARRAYS
AC_HEADER_ASSERT
AC_HEADER_STDBOOL
AH_VERBATIM([_FORTIFY_SOURCE],
[/* Define to `2' to get GNU/libc warnings. */
/* Only define if -O1 or more is enabled */
#if defined __OPTIMIZE__ && __OPTIMIZE__ > 0
# define _FORTIFY_SOURCE 2
#endif])
AC_DEFINE([NICEAPI_EXPORT], [ ], [Public library function implementation])
AC_CHECK_HEADERS([arpa/inet.h net/in.h netdb.h])
AC_CHECK_HEADERS([ifaddrs.h],
[AC_CHECK_FUNCS([getifaddrs],
[AC_DEFINE(HAVE_GETIFADDRS, [1],
[Whether getifaddrs() is available on the system])])])
AC_CHECK_TYPES([size_t, ssize_t])
# Also put matching version in LIBNICE_CFLAGS
GLIB_REQ=2.54
LIBNICE_CFLAGS="-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_54 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_54"
dnl Support different levels of compiler error reporting.
dnl This configure flag is designed to mimic one from gnome-common,
dnl Defaults to "error" except for releases where it defaults to "yes"
AC_ARG_ENABLE(compile-warnings,
AS_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],
[Enable different levels of compiler warnings]),,
[AS_IF([test "$LIBNICE_RELEASE" = "yes"],
[enable_compile_warnings="yes"],
[enable_compile_warnings="error"])])
AC_DEFUN([NICE_ADD_FLAG],
AS_COMPILER_FLAG([-Werror $1], LIBNICE_CFLAGS="$LIBNICE_CFLAGS $1", [])
)
NICE_ADD_FLAG([-fno-strict-aliasing])
AS_IF([test "$enable_compile_warnings" != "no"],[
NICE_ADD_FLAG([-Wall])
])
AS_IF([test "x$enable_compile_warnings" != "xno" -a \
"x$enable_compile_warnings" != "xminimum"],[
NICE_ADD_FLAG([-Wextra])
NICE_ADD_FLAG([-Wundef])
NICE_ADD_FLAG([-Wnested-externs])
NICE_ADD_FLAG([-Wwrite-strings])
NICE_ADD_FLAG([-Wpointer-arith])
NICE_ADD_FLAG([-Wmissing-declarations])
NICE_ADD_FLAG([-Wmissing-prototypes])
NICE_ADD_FLAG([-Wstrict-prototypes])
NICE_ADD_FLAG([-Wredundant-decls])
NICE_ADD_FLAG([-Wno-unused-parameter])
NICE_ADD_FLAG([-Wno-missing-field-initializers])
NICE_ADD_FLAG([-Wdeclaration-after-statement])
NICE_ADD_FLAG([-Wformat=2])
NICE_ADD_FLAG([-Wold-style-definition])
NICE_ADD_FLAG([-Wcast-align])
NICE_ADD_FLAG([-Wformat-nonliteral])
NICE_ADD_FLAG([-Wformat-security])
NICE_ADD_FLAG([-Wno-cast-function-type])
])
AS_IF([test "$enable_compile_warnings" = "yes" -o \
"$enable_compile_warnings" = "maximum" -o \
"$enable_compile_warnings" = "error"],[
NICE_ADD_FLAG([-Wsign-compare])
NICE_ADD_FLAG([-Wstrict-aliasing])
NICE_ADD_FLAG([-Wshadow])
NICE_ADD_FLAG([-Winline])
NICE_ADD_FLAG([-Wpacked])
NICE_ADD_FLAG([-Wmissing-format-attribute])
NICE_ADD_FLAG([-Winit-self])
NICE_ADD_FLAG([-Wredundant-decls])
NICE_ADD_FLAG([-Wmissing-include-dirs])
NICE_ADD_FLAG([-Wunused-but-set-variable])
NICE_ADD_FLAG([-Warray-bounds])
])
AS_IF([test "$enable_compile_warnings" = "maximum" -o \
"$enable_compile_warnings" = "error"],[
NICE_ADD_FLAG([-Wswitch-default])
NICE_ADD_FLAG([-Waggregate-return])
])
AS_IF([test "x$enable_compile_warnings" = "xerror"],[
NICE_ADD_FLAG([-Werror])
NICE_ADD_FLAG([-Wno-suggest-attribute=format])
])
#
# Fixes for Solaris
#
AC_SEARCH_LIBS([inet_pton],[nsl])
AC_SEARCH_LIBS([socket],[socket inet])
case $host in
*-*-solaris* )
AC_DEFINE(_XOPEN_SOURCE, 600, Needed to get declarations for msg_control and msg_controllen on Solaris)
AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
;;
esac
AC_SUBST(LIBNICE_CFLAGS)
AC_MSG_NOTICE([set LIBNICE_CFLAGS to $LIBNICE_CFLAGS])
# Checks for libraries.
AC_CHECK_LIB(rt, clock_gettime, [LIBRT="-lrt"], [LIBRT=""])
AC_CHECK_FUNCS([poll])
AC_SUBST(LIBRT)
# Dependencies
NICE_PACKAGES_PUBLIC="glib-2.0 >= $GLIB_REQ gio-2.0 >= $GLIB_REQ gobject-2.0 >= $GLIB_REQ"
NICE_PACKAGES_PRIVATE="gthread-2.0"
PKG_CHECK_MODULES(GLIB, [$NICE_PACKAGES_PUBLIC $NICE_PACKAGES_PRIVATE])
AC_ARG_WITH(crypto-library,
AS_HELP_STRING([--with-crypto-library=\{gnutls,openssl,auto\}],[select Crypto library (gnutls or openssl)]),
[with_crypto_library=${withval}],
[with_crypto_library=auto])
AS_IF([test "$with_crypto_library" != "openssl"],
[
GNUTLS_PACKAGES_PRIVATE="gnutls >= 2.12.0"
PKG_CHECK_MODULES(GNUTLS, [$GNUTLS_PACKAGES_PRIVATE],
[
AC_DEFINE([HAVE_GNUTLS], [1], [Use GnuTLS])
GNUTLS_FOUND=yes
NICE_PACKAGES_PRIVATE="$NICE_PACKAGES_PRIVATE $GNUTLS_PACKAGES_PRIVATE"
],
[
AS_IF([test "$with_crypto_library" == "gnutls"],
[
AC_MSG_ERROR([Neither GnuTLS is not available])
]
)
]
)
]
)
AS_IF([test "x${GNUTLS_FOUND}" != "xyes"],
[
AX_CHECK_OPENSSL(
[
AC_DEFINE([HAVE_OPENSSL], [1], [Use OpenSSL])
NICE_PACKAGES_PRIVATE="$NICE_PACKAGES_PRIVATE libcrypto"
AC_MSG_NOTICE([OpenSSL selected])
],
[
AC_MSG_ERROR([Neither GnuTLS or OpenSSL is available])
]
)
],
[
AC_MSG_NOTICE([GnuTLS selected])
]
)
AC_SUBST([NICE_PACKAGES_PUBLIC])
AC_SUBST([NICE_PACKAGES_PRIVATE])
AC_ARG_WITH(gstreamer,
AS_HELP_STRING([--with-gstreamer],[build GStreamer plugin]),
[with_gstreamer=${withval}],
[with_gstreamer=auto])
AC_ARG_WITH(gstreamer-0.10,
AS_HELP_STRING([--with-gstreamer-0.10],[build GStreamer 0.10 plugin]),
[with_gstreamer010=${withval}],
[with_gstreamer010=auto])
AS_IF([test "$with_gstreamer" != no], [
PKG_CHECK_MODULES(GST, [
gstreamer-1.0 >= 0.11.91
gstreamer-base-1.0 >= 0.11.91
],
[
with_gstreamer=yes
GST_MAJORMINOR=1.0
gstplugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
],
[
AS_IF([test "$with_gstreamer" = yes], [
AC_MSG_ERROR([GStreamer 1.0 support was requested but GStreamer 1.0 libraries are not available])
])
with_gstreamer=no
])
PKG_CHECK_MODULES(GST_CHECK, [
gstreamer-check-1.0 >= 0.11.91
],
[
have_gst_check=yes
],
[
have_gst_check=no
])
])
AS_IF([test "$with_gstreamer010" != no], [
PKG_CHECK_MODULES(GST010, [
gstreamer-0.10 >= 0.10.10
gstreamer-base-0.10 >= 0.10.10
],
[
with_gstreamer010=yes
GST_MAJORMINOR=0.10
gstplugin010dir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
],
[
AS_IF([test "$with_gstreamer010" = yes], [
AC_MSG_ERROR([GStreamer 0.10 support was requested but GStreamer 0.10 libraries are not available])
])
with_gstreamer010=no
])
])
AC_SUBST(gstplugindir)
AC_SUBST(gstplugin010dir)
AM_CONDITIONAL(WITH_GSTREAMER, test "$with_gstreamer" = yes)
AM_CONDITIONAL(HAVE_GST_CHECK, test "$have_gst_check" = yes)
AM_CONDITIONAL(WITH_GSTREAMER010, test "$with_gstreamer010" = yes)
GUPNP_IGD_REQUIRED=0.2.4
AC_ARG_ENABLE([gupnp],
AS_HELP_STRING([--disable-gupnp],[Disable GUPnP IGD support]),
[case "${enableval}" in
yes) WANT_GUPNP=yes ;;
no) WANT_GUPNP=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-gupnp) ;;
esac],
WANT_GUPNP=test)
GUPNP_PACKAGES_PUBLIC=""
GUPNP_PACKAGES_PRIVATE="gupnp-igd-1.0 >= $GUPNP_IGD_REQUIRED"
GUPNP_PACKAGES="$GUPNP_PACKAGES_PUBLIC $GUPNP_PACKAGES_PRIVATE"
HAVE_GUPNP=no
if test "x$WANT_GUPNP" != "xno"; then
PKG_CHECK_MODULES(GUPNP, [$GUPNP_PACKAGES],
[ HAVE_GUPNP=yes ],
[ HAVE_GUPNP=no ])
fi
if test "x$WANT_GUPNP" = "xyes" && test "x$HAVE_GUPNP" = "xno"; then
AC_MSG_ERROR([Requested GUPnP IGD, but it is not available])
fi
if test "x$HAVE_GUPNP" = "xyes"; then
AC_DEFINE(HAVE_GUPNP,,[Have the GUPnP IGD library])
UPNP_ENABLED="true"
else
GUPNP_PACKAGES_PUBLIC=""
GUPNP_PACKAGES_PRIVATE=""
GUPNP_PACKAGES=""
fi
AC_SUBST([GUPNP_PACKAGES_PUBLIC])
AC_SUBST([GUPNP_PACKAGES_PRIVATE])
AC_SUBST([GUPNP_PACKAGES])
AC_SUBST(HAVE_GUPNP)
AC_SUBST([UPNP_ENABLED])
dnl Test coverage
AC_ARG_ENABLE([coverage],
[AS_HELP_STRING([--enable-coverage],
[build for test coverage (default disabled)])],,
[enable_coverage="no"])
AS_IF([test "${enable_coverage}" != "no"], [
CFLAGS="${CFLAGS} -g -O0 -fprofile-arcs -ftest-coverage"
LDFLAGS="-lgcov"
CCACHE_DISABLE=1
])
AC_SUBST(CCACHE_DISABLE)
dnl build static plugins or not
AC_MSG_CHECKING([whether to build static plugins or not])
AC_ARG_ENABLE(
static-plugins,
AC_HELP_STRING(
[--enable-static-plugins],
[build static plugins @<:@default=no@:>@]),
[AS_CASE(
[$enableval], [no], [], [yes], [],
[AC_MSG_ERROR([bad value "$enableval" for --enable-static-plugins])])],
[enable_static_plugins=no])
AC_MSG_RESULT([$enable_static_plugins])
if test "x$enable_static_plugins" = xyes; then
AC_DEFINE(GST_PLUGIN_BUILD_STATIC, 1,
[Define if static plugins should be built])
fi
AM_CONDITIONAL(GST_PLUGIN_BUILD_STATIC, test "x$enable_static_plugins" = "xyes")
case $host_os in
solaris*)
LDFLAGS="$LDFLAGS -lsocket -lnsl"
;;
*)
;;
esac
# check for gtk-doc
m4_ifdef([GTK_DOC_CHECK], [
GTK_DOC_CHECK([1.10],[--flavour no-tmpl])
],[
AM_CONDITIONAL([ENABLE_GTK_DOC], false)
])
# GObject introspection
GOBJECT_INTROSPECTION_CHECK([1.30.0])
dnl Ignore specific network interface name prefixes from the connection check
AC_MSG_CHECKING([whether to ignore specific network interface name prefixes])
AC_ARG_WITH([ignored-network-interface-prefix],
[AS_HELP_STRING([--with-ignored-network-interface-prefix=string@<:@,string...@:>@],
[Ignore network interfaces whose name starts with a string from this list in the ICE connection
check algorithm. For example, interfaces "virbr" in the case of the virtual bridge
handled by libvirtd, do not help in finding connectivity.])],
[interface_prefix="$withval"],
[interface_prefix="docker,veth,virbr,vnet"])
AS_IF([test -n "$interface_prefix" && test "x$interface_prefix" != "xno"],
[[interface_prefix_list=`echo $interface_prefix | sed 's/,/","/g'`]
AC_DEFINE_UNQUOTED([IGNORED_IFACE_PREFIX],["$interface_prefix_list"],
[Ignore this network interface prefix from the connection check])
AC_MSG_RESULT([yes, $interface_prefix])],
[AC_MSG_RESULT([no])])
AC_CONFIG_MACRO_DIR(m4)
AC_OUTPUT
SUBDIRS = reference
EXTRA_DIST = design.txt
## Process this file with automake to produce Makefile.in
# We require automake 1.6 at least.
AUTOMAKE_OPTIONS = 1.6
# The name of the module, e.g. 'glib'.
DOC_MODULE=libnice
# The top-level SGML file. You can change this if you want to.
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
# The directory containing the source code. Relative to $(srcdir).
# gtk-doc will search all .c & .h files beneath here for inline comments
# documenting the functions and macros.
# e.g. DOC_SOURCE_DIR=../../../gtk
DOC_SOURCE_DIR=$(top_srcdir)/agent $(top_srcdir)/stun
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
SCANGOBJ_OPTIONS=
# Extra options to supply to gtkdoc-scan.
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
SCAN_OPTIONS=--rebuild-types
# Extra options to supply to gtkdoc-mkdb.
# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
MKDB_OPTIONS=--xml-mode --output-format=xml --name-space=Nice
# Extra options to supply to gtkdoc-mktmpl
# e.g. MKTMPL_OPTIONS=--only-section-tmpl
MKTMPL_OPTIONS=
# Extra options to supply to gtkdoc-fixref. Not normally needed.
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
FIXXREF_OPTIONS=
# Used for dependencies. The docs will be rebuilt if any of these change.
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
HFILE_GLOB=$(top_srcdir)/agent/agent.h $(top_srcdir)/agent/address.h \
$(top_srcdir)/agent/debug.h $(top_srcdir)/agent/candidate.h \
$(top_srcdir)/agent/interfaces.h \
$(top_srcdir)/agent/pseudotcp.h \
$(top_srcdir)/stun/stunagent.h \
$(top_srcdir)/stun/stunmessage.h \
$(top_srcdir)/stun/debug.h \
$(top_srcdir)/stun/usages/bind.h \
$(top_srcdir)/stun/usages/ice.h \
$(top_srcdir)/stun/usages/timer.h \
$(top_srcdir)/stun/usages/turn.h
CFILE_GLOB=$(top_srcdir)/agent/agent.c \
$(top_srcdir)/agent/pseudotcp.c
# Header files to ignore when scanning.
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
IGNORE_HFILES= conncheck.h discovery.h stream.h component.h agent-priv.h \
iostream.h inputstream.h outputstream.h \
gstnice.h gstnicesrc.h gstnicesink.h \
md5.h sha1.h stunhmac.h utils.h rand.h stun5389.h stuncrc32.h \
stund.h agent-signals-marshal.h win32_common.h
# Images to copy into HTML directory.
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
HTML_IMAGES = states.png
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
content_files=
# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
# These files must be listed here *and* in content_files
# e.g. expand_content_files=running.sgml
expand_content_files=
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
# signals and properties.
# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
AM_CFLAGS = $(LIBNICE_CFLAGS) \
$(GLIB_CFLAGS) \
-I $(top_srcdir) \
-I $(top_srcdir)/random \
-I $(top_srcdir)/socket \
-I $(top_srcdir)/stun
GTKDOC_LIBS= $(top_builddir)/agent/libagent.la $(GLIB_LIBS) $(top_builddir)/stun/libstun.la \
$(GUPNP_LIBS)
# This includes the standard gtk-doc make rules, copied by gtkdocize.
include $(top_srcdir)/gtk-doc.make
# Other files to distribute
# e.g. EXTRA_DIST += version.xml.in
EXTRA_DIST += states.gv
EXTRA_DIST += meson.build
# Files not to distribute
# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
#DISTCLEANFILES +=
# If we ever need to regenerate this diagram.
# Since it’s not expected to change much, let’s not depend on GraphViz to
# build the docs.
states.png: states.gv
dot -Tpng -Gsize=9.6,2.9\! -Gdpi=200 $^ > $@
if ENABLE_GTK_DOC
TESTS_ENVIRONMENT = \
DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
TESTS = $(GTKDOC_CHECK)
endif
#
# Makefile.am for the Nice Glib ICE library
#
# (C) 2006, 2007 Collabora Ltd.
# (C) 2006, 2007 Nokia Corporation. All rights reserved.
#
# Licensed under MPL 1.1/LGPL 2.1. See file COPYING.
include $(top_srcdir)/common.mk
AM_CFLAGS = \
-I $(top_srcdir) \
-I $(top_srcdir)/agent \
-I $(top_srcdir)/random \
-I $(top_srcdir)/socket \
-I $(top_srcdir)/stun \
$(LIBNICE_CFLAGS) \
$(GLIB_CFLAGS) \
$(GUPNP_CFLAGS)
noinst_PROGRAMS = simple-example threaded-example sdp-example
simple_example_SOURCES = simple-example.c
simple_example_LDADD = $(top_builddir)/agent/libagent.la \
$(GLIB_LIBS) $(GUPNP_LIBS)
threaded_example_SOURCES = threaded-example.c
threaded_example_LDADD = $(top_builddir)/agent/libagent.la \
$(GLIB_LIBS) $(GUPNP_LIBS)
sdp_example_SOURCES = sdp-example.c
sdp_example_LDADD = $(top_builddir)/agent/libagent.la \
$(GLIB_LIBS) $(GUPNP_LIBS)
EXTRA_DIST = meson.build
#
# Makefile.am for the Nice Glib ICE library
#
# (C) 2006, 2007 Collabora Ltd.
# (C) 2006, 2007 Nokia Corporation. All rights reserved.
#
# Licensed under MPL 1.1/LGPL 2.1. See file COPYING.
AM_CFLAGS = $(LIBNICE_CFLAGS) \
-I $(top_srcdir) \
-I $(top_srcdir)/socket \
-I $(top_srcdir)/agent \
-I $(top_srcdir)/random \
-I $(top_srcdir)/stun
COMMON_LIBADD = \
$(top_builddir)/nice/libnice.la
# libgstnice
if WITH_GSTREAMER
gstplugin_LTLIBRARIES = libgstnice.la
libgstnice_la_CFLAGS = $(AM_CFLAGS) $(GST_CFLAGS) -DGST_USE_UNSTABLE_API
libgstnice_la_SOURCES = \
gstnicesrc.h \
gstnicesrc.c \
gstnicesink.h \
gstnicesink.c \
gstnice.h \
gstnice.c
libgstnice_la_LIBADD = $(COMMON_LIBADD) $(GST_LIBS)
libgstnice_la_LDFLAGS = -module -avoid-version -no-undefined
endif
if WITH_GSTREAMER010
gstplugin010_LTLIBRARIES = libgstnice010.la
libgstnice010_la_CFLAGS = $(AM_CFLAGS) $(GST010_CFLAGS)
libgstnice010_la_SOURCES = \
gstnicesrc.h \
gstnicesrc.c \
gstnicesink.h \
gstnicesink.c \
gstnice.h \
gstnice.c
libgstnice010_la_LIBADD = $(COMMON_LIBADD) $(GST010_LIBS)
libgstnice010_la_LDFLAGS = -module -avoid-version -no-undefined
endif
EXTRA_DIST = meson.build
dnl as-compiler-flag.m4 0.1.0
dnl autostars m4 macro for detection of compiler flags
dnl David Schleef <ds@schleef.org>
dnl Tim-Philipp Müller <tim centricular net>
dnl AS_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
dnl Tries to compile with the given CFLAGS.
dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags,
dnl and ACTION-IF-NOT-ACCEPTED otherwise.
AC_DEFUN([AS_COMPILER_FLAG],
[
AC_MSG_CHECKING([to see if compiler understands $1])
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $1"
AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
CFLAGS="$save_CFLAGS"
if test "X$flag_ok" = Xyes ; then
$2
true
else
$3
true
fi
AC_MSG_RESULT([$flag_ok])
])
dnl AS_CXX_COMPILER_FLAG(CPPFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
dnl Tries to compile with the given CPPFLAGS.
dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags,
dnl and ACTION-IF-NOT-ACCEPTED otherwise.
AC_DEFUN([AS_CXX_COMPILER_FLAG],
[
AC_REQUIRE([AC_PROG_CXX])
AC_MSG_CHECKING([to see if c++ compiler understands $1])
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $1"
AC_LANG_PUSH(C++)
AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
CPPFLAGS="$save_CPPFLAGS"
if test "X$flag_ok" = Xyes ; then
$2
true
else
$3
true
fi
AC_LANG_POP(C++)
AC_MSG_RESULT([$flag_ok])
])
# ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_check_openssl.html
# ===========================================================================
#
# SYNOPSIS
#
# AX_CHECK_OPENSSL([action-if-found[, action-if-not-found]])
#
# DESCRIPTION
#
# Look for OpenSSL in a number of default spots, or in a user-selected
# spot (via --with-openssl). Sets
#
# OPENSSL_INCLUDES to the include directives required
# OPENSSL_LIBS to the -l directives required
# OPENSSL_LDFLAGS to the -L or -R flags required
#
# and calls ACTION-IF-FOUND or ACTION-IF-NOT-FOUND appropriately
#
# This macro sets OPENSSL_INCLUDES such that source files should use the
# openssl/ directory in include directives:
#
# #include <openssl/hmac.h>
#
# LICENSE
#
# Copyright (c) 2009,2010 Zmanda Inc. <http://www.zmanda.com/>
# Copyright (c) 2009,2010 Dustin J. Mitchell <dustin@zmanda.com>
#
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided the copyright notice
# and this notice are preserved. This file is offered as-is, without any
# warranty.
#serial 10
AU_ALIAS([CHECK_SSL], [AX_CHECK_OPENSSL])
AC_DEFUN([AX_CHECK_OPENSSL], [
found=false
AC_ARG_WITH([openssl],
[AS_HELP_STRING([--with-openssl=DIR],
[root of the OpenSSL directory])],
[
case "$withval" in
"" | y | ye | yes | n | no)
AC_MSG_ERROR([Invalid --with-openssl value])
;;
*) ssldirs="$withval"
;;
esac
], [
# if pkg-config is installed and openssl has installed a .pc file,
# then use that information and don't search ssldirs
AC_CHECK_TOOL([PKG_CONFIG], [pkg-config])
if test x"$PKG_CONFIG" != x""; then
OPENSSL_LDFLAGS=`$PKG_CONFIG openssl --libs-only-L 2>/dev/null`
if test $? = 0; then
OPENSSL_LIBS=`$PKG_CONFIG openssl --libs-only-l 2>/dev/null`
OPENSSL_INCLUDES=`$PKG_CONFIG openssl --cflags-only-I 2>/dev/null`
found=true
fi
fi
# no such luck; use some default ssldirs
if ! $found; then
ssldirs="/usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr"
fi
]
)
# note that we #include <openssl/foo.h>, so the OpenSSL headers have to be in
# an 'openssl' subdirectory
if ! $found; then
OPENSSL_INCLUDES=
for ssldir in $ssldirs; do
AC_MSG_CHECKING([for openssl/ssl.h in $ssldir])
if test -f "$ssldir/include/openssl/ssl.h"; then
OPENSSL_INCLUDES="-I$ssldir/include"
OPENSSL_LDFLAGS="-L$ssldir/lib"
OPENSSL_LIBS="-lssl -lcrypto"
found=true
AC_MSG_RESULT([yes])
break
else
AC_MSG_RESULT([no])
fi
done
# if the file wasn't found, well, go ahead and try the link anyway -- maybe
# it will just work!
fi
# try the preprocessor and linker with our new flags,
# being careful not to pollute the global LIBS, LDFLAGS, and CPPFLAGS
AC_MSG_CHECKING([whether compiling and linking against OpenSSL works])
echo "Trying link with OPENSSL_LDFLAGS=$OPENSSL_LDFLAGS;" \
"OPENSSL_LIBS=$OPENSSL_LIBS; OPENSSL_INCLUDES=$OPENSSL_INCLUDES" >&AS_MESSAGE_LOG_FD
save_LIBS="$LIBS"
save_LDFLAGS="$LDFLAGS"
save_CPPFLAGS="$CPPFLAGS"
LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS"
LIBS="$OPENSSL_LIBS $LIBS"
CPPFLAGS="$OPENSSL_INCLUDES $CPPFLAGS"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([#include <openssl/ssl.h>], [SSL_new(NULL)])],
[
AC_MSG_RESULT([yes])
$1
], [
AC_MSG_RESULT([no])
$2
])
CPPFLAGS="$save_CPPFLAGS"
LDFLAGS="$save_LDFLAGS"
LIBS="$save_LIBS"
AC_SUBST([OPENSSL_INCLUDES])
AC_SUBST([OPENSSL_LIBS])
AC_SUBST([OPENSSL_LDFLAGS])
])
dnl -*- mode: autoconf -*-
dnl Copyright 2009 Johan Dahlin
dnl
dnl This file is free software; the author(s) gives unlimited
dnl permission to copy and/or distribute it, with or without
dnl modifications, as long as this notice is preserved.
dnl
# serial 1
m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
[
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([LT_INIT],[$0])dnl setup libtool first
dnl enable/disable introspection
m4_if([$2], [require],
[dnl
enable_introspection=yes
],[dnl
AC_ARG_ENABLE(introspection,
AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
[Enable introspection for this build]),,
[enable_introspection=auto])
])dnl
AC_MSG_CHECKING([for gobject-introspection])
dnl presence/version checking
AS_CASE([$enable_introspection],
[no], [dnl
found_introspection="no (disabled, use --enable-introspection to enable)"
],dnl
[yes],[dnl
PKG_CHECK_EXISTS([gobject-introspection-1.0],,
AC_MSG_ERROR([gobject-introspection-1.0 is not installed]))
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1],
found_introspection=yes,
AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME]))
],dnl
[auto],[dnl
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no)
dnl Canonicalize enable_introspection
enable_introspection=$found_introspection
],dnl
[dnl
AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
])dnl
AC_MSG_RESULT([$found_introspection])
INTROSPECTION_SCANNER=
INTROSPECTION_COMPILER=
INTROSPECTION_GENERATE=
INTROSPECTION_GIRDIR=
INTROSPECTION_TYPELIBDIR=
if test "x$found_introspection" = "xyes"; then
INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
fi
AC_SUBST(INTROSPECTION_SCANNER)
AC_SUBST(INTROSPECTION_COMPILER)
AC_SUBST(INTROSPECTION_GENERATE)
AC_SUBST(INTROSPECTION_GIRDIR)
AC_SUBST(INTROSPECTION_TYPELIBDIR)
AC_SUBST(INTROSPECTION_CFLAGS)
AC_SUBST(INTROSPECTION_LIBS)
AC_SUBST(INTROSPECTION_MAKEFILE)
AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
])
dnl Usage:
dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
[
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
])
dnl Usage:
dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
[
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
])
#
# Makefile.am for the Nice Glib ICE library
#
# (C) 2006, 2007 Collabora Ltd.
# (C) 2006, 2007 Nokia Corporation. All rights reserved.
#
# Licensed under MPL 1.1/LGPL 2.1. See file COPYING.
include $(top_srcdir)/common.mk
lib_LTLIBRARIES = libnice.la
libnice_la_SOURCES =
libnice_la_DEPENDENCIES = \
$(top_builddir)/agent/libagent.la \
libnice.sym
libnice_la_LIBADD = \
$(GLIB_LIBS) \
$(GUPNP_LIBS) \
$(top_builddir)/agent/libagent.la
libnice_la_LDFLAGS = \
-export-symbols $(srcdir)/libnice.sym \
$(LIBNICE_LT_LDFLAGS)
AM_CFLAGS = \
$(LIBNICE_CFLAGS) \
$(GLIB_CFLAGS) \
-I $(top_srcdir) \
-I $(top_srcdir)/agent \
-I $(top_srcdir)/random \
-I $(top_srcdir)/socket \
-I $(top_srcdir)/stun
test-symbols.sh::
chmod +x $(srcdir)/$@
libnice-symbols-test.c: libnice.sym
rm -f $@
while read s; do echo "void $$s(void) { }" ; done < $? > $@
libnice-symbols-test.o: libnice-symbols-test.c
$(CC) $(CFLAGS) -c -o $@ $?
libnice.symbols: libnice-symbols-test.o
rm -f $@
$(top_srcdir)/scripts/make-symbol-list.sh $? > $@
CLEANFILES += libnice.symbols libnice-symbols-test.c libnice-symbols-test.o
check_SCRIPTS = test-symbols.sh
check_DATA = libnice.symbols
TESTS = $(check_SCRIPTS)
EXTRA_DIST = $(check_SCRIPTS) \
libnice.sym libnice.ver \
meson.build gen-map.py gen-def.py
pkginclude_HEADERS = nice.h
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = nice.pc
#!/bin/sh
set -e
if test -z "$srcdir"; then
srcdir=$(dirname $0)
fi
check_symbols=$srcdir/../scripts/check-symbols.sh
if ! test -f $check_symbols; then
echo "cannot find check-symbols.sh"
exit 1
fi
if ! test -f .libs/libnice.so; then
echo "no shared object found" >&2
exit 77
fi
sh $check_symbols .libs/libnice.so libnice.symbols
#
# Makefile.am for the Nice Glib ICE library
#
# (C) 2006, 2007 Collabora Ltd.
# (C) 2006, 2007 Nokia Corporation. All rights reserved.
#
# Licensed under MPL 1.1/LGPL 2.1. See file COPYING.
include $(top_srcdir)/common.mk
AM_CFLAGS = $(LIBNICE_CFLAGS) $(GLIB_CFLAGS)
noinst_LTLIBRARIES = libnice-random.la
libnice_random_la_SOURCES = \
random.h \
random.c \
random-glib.h \
random-glib.c
check_PROGRAMS = test
test_LDADD = libnice-random.la $(GLIB_LIBS)
TESTS = $(check_PROGRAMS)
EXTRA_DIST = meson.build
#!/bin/sh
usage()
{
echo "usage: $0 library symbol-file"
exit 1
}
test -n "$1" || usage
lib="$1"
test -n "$2" || usage
symbol_file="$2"
make_symbol_list=`dirname $0`/make-symbol-list.sh
test -f "$make_symbol_list" || exit 1
if ! test -f "$symbol_file"; then
echo "$symbol_file doesn't exist"
exit 1
fi
diff=`sh $make_symbol_list "$lib" | \
diff -uB "$symbol_file" - | tail -n +3`
# stop if there are no differences
test -z "$diff" && exit 0
echo "symbols for $lib changed"
if echo "$diff" | grep -q '^-'; then
echo " missing:"
echo "$diff" | grep '^-' | cut -b 2- | \
xargs -i echo " " "{}"
fi
if echo "$diff" | grep -q '^+'; then
echo " extra:"
echo "$diff" | grep '^+' | cut -b 2- | \
xargs -i echo " " "{}"
fi
exit 1
# ccache breaks -fprofile-arcs
export CCACHE_DISABLE=1
OUT=lcov
lcov-clean:
$(MAKE) clean
find -name "*.gcno" -o -name "*.gcda" -exec rm '{}' ';'
rm -rf $(OUT)
lcov-build:
$(MAKE) CFLAGS="-O0 -fprofile-arcs -ftest-coverage" LDFLAGS="-lgcov" check
lcov-report:
# hack: move gcov file from libraries back to source directory
for dir in `find -name .libs`; do \
(cd `dirname $$dir`; mv .libs/*.gc?? . || true) 2>/dev/null; \
done
mkdir -p $(OUT)
lcov -d . -c >$(OUT)/lcov.info 2>/dev/null
lcov -l $(OUT)/lcov.info 2>/dev/null |\
egrep '(^/usr|/test.*\.c)' |\
cut -d: -f1 >$(OUT)/lcov.remove
lcov -r $(OUT)/lcov.info `cat $(OUT)/lcov.remove` 2>/dev/null >$(OUT)/lcov.info.clean
genhtml -o lcov $(OUT)/lcov.info.clean
#!/bin/sh
make -f scripts/lcov.mk lcov-clean && \
make -f scripts/lcov.mk lcov-build && \
make -f scripts/lcov.mk lcov-report
#!/bin/sh
test -n "$1" || exit 1
nm --print-file-name --defined-only --extern-only "$1" | \
cut -d ' ' -f 2,3 | \
grep -v '^[rA]' | \
sort
#! /bin/sh
# test-driver - basic testsuite driver script.
scriptversion=2017-04-04.22; # UTC
# Copyright (C) 2011-2014 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
# Make unconditional expansion of undefined variables an error. This
# helps a lot in preventing typo-related bugs.
set -u
usage_error ()
{
echo "$0: $*" >&2
print_usage >&2
exit 2
}
print_usage ()
{
cat <<END
Usage:
test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
[--expect-failure={yes|no}] [--color-tests={yes|no}]
[--enable-hard-errors={yes|no}] [--]
TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
The '--test-name', '--log-file' and '--trs-file' options are mandatory.
END
}
test_name= # Used for reporting.
log_file= # Where to save the output of the test script.
trs_file= # Where to save the metadata of the test run.
expect_failure=no
color_tests=no
enable_hard_errors=yes
while test $# -gt 0; do
case $1 in
--help) print_usage; exit $?;;
--version) echo "test-driver $scriptversion"; exit $?;;
--test-name) test_name=$2; shift;;
--log-file) log_file=$2; shift;;
--trs-file) trs_file=$2; shift;;
--color-tests) color_tests=$2; shift;;
--expect-failure) expect_failure=$2; shift;;
--enable-hard-errors) enable_hard_errors=$2; shift;;
--) shift; break;;
-*) usage_error "invalid option: '$1'";;
*) break;;
esac
shift
done
missing_opts=
test x"$test_name" = x && missing_opts="$missing_opts --test-name"
test x"$log_file" = x && missing_opts="$missing_opts --log-file"
test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
if test x"$missing_opts" != x; then
usage_error "the following mandatory options are missing:$missing_opts"
fi
if test $# -eq 0; then
usage_error "missing argument"
fi
if test $color_tests = yes; then
# Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
red='' # Red.
grn='' # Green.
lgn='' # Light green.
blu='' # Blue.
mgn='' # Magenta.
std='' # No color.
else
red= grn= lgn= blu= mgn= std=
fi
do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
trap "st=129; $do_exit" 1
trap "st=130; $do_exit" 2
trap "st=141; $do_exit" 13
trap "st=143; $do_exit" 15
# Test script is run here.
top_srcdir="`dirname $0`/.."
tests_dir="${top_srcdir}/tests"
USE_VALGRIND="`printenv USE_VALGRIND`"
if test "x${USE_VALGRIND}" = "x1"; then
${top_srcdir}/libtool --mode=execute valgrind \
--leak-check=full \
--show-reachable=no \
--error-exitcode=1 \
--suppressions=$tests_dir/libnice.supp \
--num-callers=30 "$@" >$log_file 2>&1
else
"$@" >$log_file 2>&1
fi
estatus=$?
if test $enable_hard_errors = no && test $estatus -eq 99; then
tweaked_estatus=1
else
tweaked_estatus=$estatus
fi
case $tweaked_estatus:$expect_failure in
0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
0:*) col=$grn res=PASS recheck=no gcopy=no;;
77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
*:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
*:*) col=$red res=FAIL recheck=yes gcopy=yes;;
esac
# Report the test outcome and exit status in the logs, so that one can
# know whether the test passed or failed simply by looking at the '.log'
# file, without the need of also peaking into the corresponding '.trs'
# file (automake bug#11814).
echo "$res $test_name (exit status: $estatus)" >>$log_file
# Report outcome to console.
echo "${col}${res}${std}: $test_name"
# Register the test result, and other relevant metadata.
echo ":test-result: $res" > $trs_file
echo ":global-test-result: $res" >> $trs_file
echo ":recheck: $recheck" >> $trs_file
echo ":copy-in-global-log: $gcopy" >> $trs_file
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
#
# Makefile.am for the Nice Glib ICE library
#
# (C) 2006, 2007 Collabora Ltd.
# (C) 2006, 2007 Nokia Corporation. All rights reserved.
#
# Licensed under MPL 1.1/LGPL 2.1. See file COPYING.
include $(top_srcdir)/common.mk
AM_CFLAGS = \
-DG_LOG_DOMAIN=\"libnice-socket\" \
$(LIBNICE_CFLAGS) \
$(GLIB_CFLAGS) \
$(GUPNP_CFLAGS) \
-I $(top_srcdir)/random \
-I $(top_srcdir)/agent \
-I $(top_srcdir)/
noinst_LTLIBRARIES = libsocket.la
libsocket_la_SOURCES = \
socket.h \
socket-priv.h \
socket.c \
udp-bsd.h \
udp-bsd.c \
tcp-bsd.h \
tcp-bsd.c \
tcp-active.h \
tcp-active.c \
tcp-passive.h \
tcp-passive.c \
pseudossl.h \
pseudossl.c \
socks5.h \
socks5.c \
http.h \
http.c \
udp-turn.h \
udp-turn.c \
udp-turn-over-tcp.h \
udp-turn-over-tcp.c
EXTRA_DIST = meson.build
#
# Makefile.am for the Nice Glib ICE library
#
# (C) 2006, 2007 Collabora Ltd.
# (C) 2006, 2007 Nokia Corporation. All rights reserved.
#
# Licensed under MPL 1.1/LGPL 2.1. See file COPYING.
SUBDIRS = . tools tests
include $(top_srcdir)/common.mk
AM_CFLAGS = \
-std=gnu99 \
-DG_LOG_DOMAIN=\"libnice-stun\" \
$(LIBNICE_CFLAGS) \
$(GNUTLS_CFLAGS) \
$(OPENSSL_INCLUDES) \
$(NULL)
AM_CPPFLAGS = -I$(top_srcdir)
if WINDOWS
AM_CFLAGS += -DWINVER=0x0501 # _WIN32_WINNT_WINXP
endif
noinst_LTLIBRARIES = libstun.la
libstun_la_SOURCES = constants.h \
stunagent.c stunagent.h \
stunmessage.c stunmessage.h \
stun5389.c stun5389.h \
stuncrc32.c stuncrc32.h \
rand.c rand.h \
stunhmac.c stunhmac.h \
utils.c utils.h \
debug.c debug.h \
usages/ice.c usages/ice.h \
usages/bind.c usages/bind.h \
usages/turn.c usages/turn.h \
usages/timer.c usages/timer.h
libstun_la_LIBADD = $(LIBRT) $(GNUTLS_LIBS) $(OPENSSL_LIBS) $(OPENSSL_LDFLAGS)
EXTRA_DIST = win32_common.h meson.build
libstun_la_includedir=$(includedir)/stun
libstun_la_include_HEADERS = stunagent.h stunmessage.h win32_common.h debug.h constants.h
libstun_usage_includedir=$(includedir)/stun/usages
libstun_usage_include_HEADERS = usages/bind.h usages/ice.h usages/turn.h usages/timer.h
#
# Makefile.am for the Nice Glib ICE library
#
# (C) 2007 Nokia Corporation. All rights reserved.
#
# Licensed under MPL 1.1/LGPL 2.1. See file COPYING.
include $(top_srcdir)/common.mk
AM_CPPFLAGS = -I$(top_srcdir)
AM_CFLAGS = -std=gnu99
LDADD = $(top_builddir)/stun/libstun.la
check_PROGRAMS = \
test-parse \
test-format \
test-bind \
test-conncheck \
test-hmac
if WINDOWS
AM_CFLAGS += -DWINVER=0x0501 # _WIN32_WINNT_WINXP
LDADD += -lws2_32
endif
dist_check_SCRIPTS = check-bind.sh
TESTS = $(check_PROGRAMS)
#$(dist_check_SCRIPTS)
EXTRA_DIST = meson.build
#! /bin/sh #! /bin/sh
if test -n "${BUILT_WITH_MESON}"; then STUNC=../tools/stunbdc
STUNC=$1 STUND=../tools/stund
STUND=$2
else
STUNC=../tools/stunbdc
STUND=../tools/stund
fi
cleanup() { cleanup() {
rm -f stund?.pid stund?.fail stunc?.log rm -f stund?.pid stund?.fail stunc?.log
......
...@@ -13,6 +13,5 @@ endforeach ...@@ -13,6 +13,5 @@ endforeach
if false and find_program('sh', required : false).found() if false and find_program('sh', required : false).found()
test('test-check-bind', find_program('check-bind.sh'), test('test-check-bind', find_program('check-bind.sh'),
timeout: 600, timeout: 600,
env: 'BUILT_WITH_MESON=1',
args: [stunbdc_exe, stund_exe]) args: [stunbdc_exe, stund_exe])
endif endif
#
# Makefile.am for the Nice Glib ICE library
#
# (C) 2006, 2007 Collabora Ltd.
# (C) 2006, 2007 Nokia Corporation. All rights reserved.
#
# Licensed under MPL 1.1/LGPL 2.1. See file COPYING.
#
include $(top_srcdir)/common.mk
AM_CFLAGS = -std=gnu99 $(LIBNICE_CFLAGS)
AM_CPPFLAGS = -I$(top_srcdir)
bin_PROGRAMS = stunbdc stund
check_PROGRAMS = stund
stund_SOURCES = stund.c stund.h
stund_LDADD = $(top_builddir)/stun/libstun.la
stunbdc_SOURCES = stunbdc.c
stunbdc_LDADD = $(top_builddir)/stun/libstun.la
if WINDOWS
AM_CFLAGS += -DWINVER=0x0501 # _WIN32_WINNT_WINXP
stunbdc_LDADD += -lws2_32
endif
EXTRA_DIST = meson.build
#
# Makefile.am for the Nice Glib ICE library
#
# (C) 2006, 2007 Collabora Ltd.
# (C) 2006, 2007 Nokia Corporation. All rights reserved.
#
# Licensed under MPL 1.1/LGPL 2.1. See file COPYING.
include $(top_srcdir)/common.mk
AM_CFLAGS = \
$(LIBNICE_CFLAGS) \
$(GLIB_CFLAGS) \
$(GUPNP_CFLAGS) \
-I $(top_srcdir) \
-I $(top_srcdir)/agent \
-I $(top_srcdir)/random \
-I $(top_srcdir)/socket \
-I $(top_srcdir)/stun
AM_CPPFLAGS = -DG_LOG_DOMAIN=\"libnice-tests\"
AM_TESTS_ENVIRONMENT = \
G_MESSAGES_DEBUG=all \
NICE_DEBUG=all \
GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:$(top_builddir)/gst
COMMON_LDADD = $(top_builddir)/agent/libagent.la $(top_builddir)/socket/libsocket.la $(GLIB_LIBS) $(GUPNP_LIBS)
check_PROGRAMS = \
test-pseudotcp \
test-pseudotcp-fin \
test-pseudotcp-fuzzy \
test-bsd \
test \
test-address \
test-add-remove-stream \
test-build-io-stream \
test-io-stream-thread \
test-io-stream-closing-write \
test-io-stream-closing-read \
test-io-stream-cancelling \
test-io-stream-pollable \
test-send-recv \
test-socket-is-based-on \
test-udp-turn-fragmentation \
test-priority \
test-fullmode \
test-different-number-streams \
test-restart \
test-fallback \
test-thread \
test-trickle \
test-new-trickle \
test-tcp \
test-icetcp \
test-credentials \
test-turn \
test-drop-invalid \
test-nomination \
test-interfaces
dist_check_SCRIPTS = \
check-test-fullmode-with-stun.sh \
test-pseudotcp-random.sh
if HAVE_GST_CHECK
check_PROGRAMS += test-gstreamer
endif
TESTS = $(check_PROGRAMS) $(dist_check_SCRIPTS)
noinst_HEADERS = test-io-stream-common.h
test_pseudotcp_LDADD = $(COMMON_LDADD)
test_pseudotcp_fin_LDADD = $(COMMON_LDADD)
test_pseudotcp_fuzzy_LDADD = $(COMMON_LDADD) -lm
test_bsd_LDADD = $(COMMON_LDADD)
test_LDADD = $(COMMON_LDADD)
test_thread_LDADD = $(COMMON_LDADD)
test_address_LDADD = $(COMMON_LDADD)
test_add_remove_stream_LDADD = $(COMMON_LDADD)
test_build_io_stream_LDADD = $(COMMON_LDADD)
test_io_stream_thread_SOURCES = test-io-stream-thread.c test-io-stream-common.c
test_io_stream_thread_LDADD = $(COMMON_LDADD)
test_io_stream_closing_write_SOURCES = test-io-stream-closing-write.c test-io-stream-common.c
test_io_stream_closing_write_LDADD = $(COMMON_LDADD)
test_io_stream_closing_read_SOURCES = test-io-stream-closing-read.c test-io-stream-common.c
test_io_stream_closing_read_LDADD = $(COMMON_LDADD)
test_io_stream_cancelling_SOURCES = test-io-stream-cancelling.c test-io-stream-common.c
test_io_stream_cancelling_LDADD = $(COMMON_LDADD)
test_io_stream_pollable_SOURCES = test-io-stream-pollable.c test-io-stream-common.c
test_io_stream_pollable_LDADD = $(COMMON_LDADD)
test_send_recv_SOURCES = test-send-recv.c test-io-stream-common.c
test_send_recv_LDADD = $(COMMON_LDADD)
test_socket_is_based_on_LDADD = $(COMMON_LDADD)
test_udp_turn_fragmentation_LDADD = $(COMMON_LDADD)
test_priority_LDADD = $(COMMON_LDADD)
test_fullmode_LDADD = $(COMMON_LDADD)
test_different_number_streams_LDADD = $(COMMON_LDADD)
test_restart_LDADD = $(COMMON_LDADD)
test_fallback_LDADD = $(COMMON_LDADD)
test_trickle_LDADD = $(COMMON_LDADD)
test_new_trickle_LDADD = $(COMMON_LDADD)
test_tcp_LDADD = $(COMMON_LDADD)
test_icetcp_LDADD = $(COMMON_LDADD)
test_credentials_LDADD = $(COMMON_LDADD)
test_turn_LDADD = $(COMMON_LDADD)
test_drop_invalid_LDADD = $(COMMON_LDADD)
test_nomination_LDADD = $(COMMON_LDADD)
test_gstreamer_CFLAGS = $(AM_CFLAGS) $(GST_CHECK_CFLAGS)
test_gstreamer_LDADD = -lnice -L$(top_builddir)/nice/.libs $(GLIB_LIBS) $(GUPNP_LIBS) $(GST_CHECK_LIBS) $(GST_LIBS)
test_interfaces_LDADD = $(COMMON_LDADD)
all-local:
chmod a+x $(srcdir)/check-test-fullmode-with-stun.sh
chmod a+x $(srcdir)/test-pseudotcp-random.sh
EXTRA_DIST = \
libnice.supp \
meson.build \
test-fullmode-with-stun.c
#! /bin/sh
if test -n "${BUILT_WITH_MESON}"; then
STUND=$1
TEST_FULLMODE=$2
else
STUND=../stun/tools/stund
TEST_FULLMODE=./test-fullmode
fi
echo "Starting ICE full-mode with STUN unit test."
[ -e "$STUND" ] || {
echo "STUN server not found: Cannot run unit test!" >&2
exit 77
}
set -x
pidfile=./stund.pid
export NICE_STUN_SERVER=127.0.0.1
export NICE_STUN_SERVER_PORT=3800
echo "Launching $STUND on port ${NICE_STUN_SERVER_PORT}."
rm -f -- "$pidfile"
(sh -c "echo \$\$ > \"$pidfile\" && exec "$STUND" ${NICE_STUN_SERVER_PORT}") &
sleep 1
"${TEST_FULLMODE}"
error=$?
kill "$(cat "$pidfile")"
rm -f -- "$pidfile"
wait
exit ${error}
# build with
# docker build -t registry.freedesktop.org/libnice/libnice/centos7/autotools-build:$(date --rfc-3339=date) .
# docker tag registry.freedesktop.org/libnice/libnice/centos7/autotools-build:$(date --rfc-3339=date) registry.freedesktop.org/libnice/libnice/centos7/autotools-build:latest
# docker push registry.freedesktop.org/libnice/libnice/centos7/autotools-build:$(date --rfc-3339=date)
# docker push registry.freedesktop.org/libnice/libnice/centos7/autotools-build:latest
# alternatively
# export BUILDAH_FORMAT=docker
# buildah bud -t registry.freedesktop.org/libnice/libnice/centos7/autotools-build:$(date --rfc-3339=date) .
# buildah tag registry.freedesktop.org/libnice/libnice/centos7/autotools-build:$(date --rfc-3339=date) registry.freedesktop.org/libnice/libnice/centos7/autotools-build:latest
# buildah push registry.freedesktop.org/libnice/libnice/centos7/autotools-build:latest
# buildah push registry.freedesktop.org/libnice/libnice/centos7/autotools-build:$(date --rfc-3339=date)
FROM centos:centos7
RUN yum -y update; yum clean all
RUN yum -y install git gtk-doc gnutls-devel gupnp-igd-devel gstreamer1-devel gobject-introspection-devel valgrind; yum clean all
RUN yum -y install autoconf automake libtool; yum clean all
RUN yum -y install net-tools; yum clean all
...@@ -37,9 +37,6 @@ if cc.has_header('arpa/inet.h') ...@@ -37,9 +37,6 @@ if cc.has_header('arpa/inet.h')
] ]
endif endif
tenv = environment()
tenv.set('BUILT_WITH_MESON', '1')
foreach tname : nice_tests foreach tname : nice_tests
if tname.startswith('test-io-stream') or tname.startswith('test-send-recv') if tname.startswith('test-io-stream') or tname.startswith('test-send-recv')
extra_src = ['test-io-stream-common.c'] extra_src = ['test-io-stream-common.c']
...@@ -54,7 +51,7 @@ foreach tname : nice_tests ...@@ -54,7 +51,7 @@ foreach tname : nice_tests
link_with: [libagent, libstun, libsocket, librandom], link_with: [libagent, libstun, libsocket, librandom],
install: false) install: false)
set_variable(tname.underscorify(), exe) set_variable(tname.underscorify(), exe)
test(tname, exe, env: tenv) test(tname, exe)
if tname == 'test-fullmode' if tname == 'test-fullmode'
wrapper_exe = executable ('nice-test-fullmode-with-stun', wrapper_exe = executable ('nice-test-fullmode-with-stun',
...@@ -63,7 +60,6 @@ foreach tname : nice_tests ...@@ -63,7 +60,6 @@ foreach tname : nice_tests
install: false) install: false)
test('test-fullmode-with-stun', wrapper_exe, test('test-fullmode-with-stun', wrapper_exe,
args: [stund_exe, test_fullmode], args: [stund_exe, test_fullmode],
env: tenv,
is_parallel: false, is_parallel: false,
depends: exe) depends: exe)
endif endif
...@@ -80,7 +76,7 @@ if gst_dep.found() ...@@ -80,7 +76,7 @@ if gst_dep.found()
dependencies: [nice_deps, gst_check, libm], dependencies: [nice_deps, gst_check, libm],
link_with: libnice, link_with: libnice,
install: false) install: false)
gst_env = tenv gst_env = environment()
gst_env.append('GST_PLUGIN_PATH_1_0', join_paths(meson.current_build_dir(), '..', 'gst')) gst_env.append('GST_PLUGIN_PATH_1_0', join_paths(meson.current_build_dir(), '..', 'gst'))
test('test-gstreamer', exe, env: gst_env) test('test-gstreamer', exe, env: gst_env)
endif endif
...@@ -88,8 +84,7 @@ endif ...@@ -88,8 +84,7 @@ endif
if find_program('sh', required : false).found() and find_program('dd', required : false).found() and find_program('diff', required : false).found() if find_program('sh', required : false).found() and find_program('dd', required : false).found() and find_program('diff', required : false).found()
test('test-pseudotcp-random', find_program('test-pseudotcp-random.sh'), test('test-pseudotcp-random', find_program('test-pseudotcp-random.sh'),
args: test_pseudotcp, args: test_pseudotcp)
env: tenv)
endif endif
debugenv = environment() debugenv = environment()
......
...@@ -2,11 +2,7 @@ ...@@ -2,11 +2,7 @@
set -e set -e
if test -n "${BUILT_WITH_MESON}"; then TEST_PSEUDOTCP="$1"
TEST_PSEUDOTCP=$1
else
TEST_PSEUDOTCP=./test-pseudotcp
fi
cleanup() { cleanup() {
rm -rf rand rand-copy rm -rf rand rand-copy
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment