mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-12-14 08:56:37 -05:00
port to meson
This commit is contained in:
parent
924824d0a3
commit
67dd3adb87
69 changed files with 1056 additions and 999 deletions
61
Makefile.am
61
Makefile.am
|
|
@ -1,61 +0,0 @@
|
||||||
# This file is part of Pinos.
|
|
||||||
#
|
|
||||||
# Pinos is free software; you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU Lesser General Public License as published by
|
|
||||||
# the Free Software Foundation; either version 2 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# Pinos 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 Lesser General Public License
|
|
||||||
# along with Pinos; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
bootstrap.sh \
|
|
||||||
git-version-gen \
|
|
||||||
LICENSE \
|
|
||||||
GPL \
|
|
||||||
LGPL \
|
|
||||||
PROTOCOL \
|
|
||||||
README
|
|
||||||
|
|
||||||
SUBDIRS = pinos man po
|
|
||||||
|
|
||||||
DIST_SUBDIRS = pinos man po
|
|
||||||
|
|
||||||
MAINTAINERCLEANFILES =
|
|
||||||
noinst_DATA =
|
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
|
||||||
pkgconfig_DATA = pkgconfig/libpinos-$(PINOS_MAJORMINOR).pc
|
|
||||||
|
|
||||||
DISTCLEANFILES = pkgconfig/libpinos-$(PINOS_MAJORMINOR).pc
|
|
||||||
|
|
||||||
|
|
||||||
eolspace:
|
|
||||||
find \( -name '*.c' -o -name '*.h' -o -name 'Makefile.am' \) -exec perl -i -pe 's/\s+\n$$/\1\n/;' \{\} \;
|
|
||||||
|
|
||||||
untabify:
|
|
||||||
find \( -name '*.c' -o -name '*.h' \) -exec perl -i -pe 's/\t/ /g;' \{\} \;
|
|
||||||
|
|
||||||
fedora-snapshot: dist
|
|
||||||
cp $(distdir).tar.gz $$HOME/git.fedora/pinos/$(distdir).tar.gz
|
|
||||||
|
|
||||||
dist-hook:
|
|
||||||
echo $(VERSION) > $(distdir)/.tarball-version
|
|
||||||
echo $(VERSION) > $(distdir)/.version
|
|
||||||
|
|
||||||
.PHONY: distcleancheck
|
|
||||||
|
|
||||||
# see git-version-gen
|
|
||||||
BUILT_SOURCES = $(top_srcdir)/.version
|
|
||||||
$(top_srcdir)/.version:
|
|
||||||
echo $(VERSION) > $@-t && mv $@-t $@
|
|
||||||
|
|
||||||
DISTCLEANFILES += \
|
|
||||||
po/.intltool-merge-cache
|
|
||||||
55
bootstrap.sh
55
bootstrap.sh
|
|
@ -1,55 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# This file is part of Pinos
|
|
||||||
#
|
|
||||||
# Pinos is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU Lesser General Public License as published by
|
|
||||||
# the Free Software Foundation; either version 2 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# Pinos 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 Lesser General Public License
|
|
||||||
# along with Pinos; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
case $(uname) in
|
|
||||||
*Darwin*)
|
|
||||||
LIBTOOLIZE="glibtoolize"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
test "x$LIBTOOLIZE" = "x" && LIBTOOLIZE=libtoolize
|
|
||||||
|
|
||||||
if [ -f .git/hooks/pre-commit.sample -a ! -f .git/hooks/pre-commit ] ; then
|
|
||||||
cp -p .git/hooks/pre-commit.sample .git/hooks/pre-commit && \
|
|
||||||
chmod +x .git/hooks/pre-commit && \
|
|
||||||
echo "Activated pre-commit hook."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -f .tarball-version ]; then
|
|
||||||
echo "Marking tarball version as modified."
|
|
||||||
echo -n `cat .tarball-version | sed 's/-rebootstrapped$//'`-rebootstrapped >.tarball-version
|
|
||||||
fi
|
|
||||||
|
|
||||||
# We check for this here, because if pkg-config is not found in the
|
|
||||||
# system, it's likely that the pkg.m4 macro file is also not present,
|
|
||||||
# which will make PKG_PROG_PKG_CONFIG be undefined and the generated
|
|
||||||
# configure file faulty.
|
|
||||||
if ! pkg-config --version &>/dev/null; then
|
|
||||||
echo "pkg-config is required to bootstrap this program" &>/dev/null
|
|
||||||
DIE=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Other necessary programs
|
|
||||||
intltoolize --version >/dev/null || DIE=1
|
|
||||||
test "$DIE" = 1 && exit 1
|
|
||||||
|
|
||||||
autopoint --force
|
|
||||||
AUTOPOINT='intltoolize --automake --copy' autoreconf --force --install --verbose
|
|
||||||
|
|
||||||
if test "x$NOCONFIGURE" = "x"; then
|
|
||||||
CFLAGS="$CFLAGS -g -O0" ./configure --sysconfdir=/etc --localstatedir=/var --enable-force-preopen "$@"
|
|
||||||
make clean
|
|
||||||
fi
|
|
||||||
447
config.h.meson
Normal file
447
config.h.meson
Normal file
|
|
@ -0,0 +1,447 @@
|
||||||
|
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||||
|
|
||||||
|
/* Define if building universal (internal helper macro) */
|
||||||
|
#mesondefine AC_APPLE_UNIVERSAL_BUILD
|
||||||
|
|
||||||
|
/* poll doesn't work on devices */
|
||||||
|
#mesondefine BROKEN_POLL
|
||||||
|
|
||||||
|
/* Define to 1 if translation of program messages to the user's native
|
||||||
|
language is requested. */
|
||||||
|
#mesondefine ENABLE_NLS
|
||||||
|
|
||||||
|
/* Subunit protocol result output */
|
||||||
|
#mesondefine ENABLE_SUBUNIT
|
||||||
|
|
||||||
|
/* gettext package name */
|
||||||
|
#mesondefine GETTEXT_PACKAGE
|
||||||
|
|
||||||
|
/* The GIO library directory. */
|
||||||
|
#mesondefine GIO_LIBDIR
|
||||||
|
|
||||||
|
/* The GIO modules directory. */
|
||||||
|
#mesondefine GIO_MODULE_DIR
|
||||||
|
|
||||||
|
/* GStreamer API Version */
|
||||||
|
#mesondefine GST_API_VERSION
|
||||||
|
|
||||||
|
/* data dir */
|
||||||
|
#mesondefine GST_DATADIR
|
||||||
|
|
||||||
|
/* Define if option parsing is disabled */
|
||||||
|
#mesondefine GST_DISABLE_OPTION_PARSING
|
||||||
|
|
||||||
|
/* Define if pipeline parsing code is disabled */
|
||||||
|
#mesondefine GST_DISABLE_PARSE
|
||||||
|
|
||||||
|
/* Extra platform specific plugin suffix */
|
||||||
|
#mesondefine GST_EXTRA_MODULE_SUFFIX
|
||||||
|
|
||||||
|
/* macro to use to show function name */
|
||||||
|
#mesondefine GST_FUNCTION
|
||||||
|
|
||||||
|
/* Defined if gcov is enabled to force a rebuild due to config.h changing */
|
||||||
|
#mesondefine GST_GCOV_ENABLED
|
||||||
|
|
||||||
|
/* Defined when registry scanning through fork is unsafe */
|
||||||
|
#mesondefine GST_HAVE_UNSAFE_FORK
|
||||||
|
|
||||||
|
/* Default errorlevel to use */
|
||||||
|
#mesondefine GST_LEVEL_DEFAULT
|
||||||
|
|
||||||
|
/* GStreamer license */
|
||||||
|
#mesondefine GST_LICENSE
|
||||||
|
|
||||||
|
/* package name in plugins */
|
||||||
|
#mesondefine GST_PACKAGE_NAME
|
||||||
|
|
||||||
|
/* package origin */
|
||||||
|
#mesondefine GST_PACKAGE_ORIGIN
|
||||||
|
|
||||||
|
/* GStreamer package release date/time for plugins as YYYY-MM-DD */
|
||||||
|
#mesondefine GST_PACKAGE_RELEASE_DATETIME
|
||||||
|
|
||||||
|
/* Define if static plugins should be built */
|
||||||
|
#mesondefine GST_PLUGIN_BUILD_STATIC
|
||||||
|
|
||||||
|
/* location of the installed gst-plugin-scanner */
|
||||||
|
#mesondefine GST_PLUGIN_SCANNER_INSTALLED
|
||||||
|
|
||||||
|
#mesondefine GST_PTP_HELPER_INSTALLED
|
||||||
|
|
||||||
|
/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
|
||||||
|
CoreFoundation framework. */
|
||||||
|
#mesondefine HAVE_CFLOCALECOPYCURRENT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
|
||||||
|
the CoreFoundation framework. */
|
||||||
|
#mesondefine HAVE_CFPREFERENCESCOPYAPPVALUE
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `clock_gettime' function. */
|
||||||
|
#mesondefine HAVE_CLOCK_GETTIME
|
||||||
|
|
||||||
|
/* Define if the target CPU is an Alpha */
|
||||||
|
#mesondefine HAVE_CPU_ALPHA
|
||||||
|
|
||||||
|
/* Define if the target CPU is an ARM */
|
||||||
|
#mesondefine HAVE_CPU_ARM
|
||||||
|
|
||||||
|
/* Define if the target CPU is a CRIS */
|
||||||
|
#mesondefine HAVE_CPU_CRIS
|
||||||
|
|
||||||
|
/* Define if the target CPU is a CRISv32 */
|
||||||
|
#mesondefine HAVE_CPU_CRISV32
|
||||||
|
|
||||||
|
/* Define if the target CPU is a HPPA */
|
||||||
|
#mesondefine HAVE_CPU_HPPA
|
||||||
|
|
||||||
|
/* Define if the target CPU is an x86 */
|
||||||
|
#mesondefine HAVE_CPU_I386
|
||||||
|
|
||||||
|
/* Define if the target CPU is a IA64 */
|
||||||
|
#mesondefine HAVE_CPU_IA64
|
||||||
|
|
||||||
|
/* Define if the target CPU is a M68K */
|
||||||
|
#mesondefine HAVE_CPU_M68K
|
||||||
|
|
||||||
|
/* Define if the target CPU is a MIPS */
|
||||||
|
#mesondefine HAVE_CPU_MIPS
|
||||||
|
|
||||||
|
/* Define if the target CPU is a PowerPC */
|
||||||
|
#mesondefine HAVE_CPU_PPC
|
||||||
|
|
||||||
|
/* Define if the target CPU is a 64 bit PowerPC */
|
||||||
|
#mesondefine HAVE_CPU_PPC64
|
||||||
|
|
||||||
|
/* Define if the target CPU is a S390 */
|
||||||
|
#mesondefine HAVE_CPU_S390
|
||||||
|
|
||||||
|
/* Define if the target CPU is a SPARC */
|
||||||
|
#mesondefine HAVE_CPU_SPARC
|
||||||
|
|
||||||
|
/* Define if the target CPU is a x86_64 */
|
||||||
|
#mesondefine HAVE_CPU_X86_64
|
||||||
|
|
||||||
|
/* Define if the GNU dcgettext() function is already present or preinstalled.
|
||||||
|
*/
|
||||||
|
#mesondefine HAVE_DCGETTEXT
|
||||||
|
|
||||||
|
/* Defined if we have dladdr () */
|
||||||
|
#mesondefine HAVE_DLADDR
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||||
|
#mesondefine HAVE_DLFCN_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `fgetpos' function. */
|
||||||
|
#mesondefine HAVE_FGETPOS
|
||||||
|
|
||||||
|
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
|
||||||
|
#mesondefine HAVE_FSEEKO
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `fsetpos' function. */
|
||||||
|
#mesondefine HAVE_FSETPOS
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `ftello' function. */
|
||||||
|
#mesondefine HAVE_FTELLO
|
||||||
|
|
||||||
|
/* defined if the compiler implements __func__ */
|
||||||
|
#mesondefine HAVE_FUNC
|
||||||
|
|
||||||
|
/* defined if the compiler implements __FUNCTION__ */
|
||||||
|
#mesondefine HAVE_FUNCTION
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `getpagesize' function. */
|
||||||
|
#mesondefine HAVE_GETPAGESIZE
|
||||||
|
|
||||||
|
/* Define if the GNU gettext() function is already present or preinstalled. */
|
||||||
|
#mesondefine HAVE_GETTEXT
|
||||||
|
|
||||||
|
/* Have GMP library */
|
||||||
|
#mesondefine HAVE_GMP
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `gmtime_r' function. */
|
||||||
|
#mesondefine HAVE_GMTIME_R
|
||||||
|
|
||||||
|
/* Have GSL library */
|
||||||
|
#mesondefine HAVE_GSL
|
||||||
|
|
||||||
|
/* Define if you have the iconv() function and it works. */
|
||||||
|
#mesondefine HAVE_ICONV
|
||||||
|
|
||||||
|
/* Define to 1 if the system has the type `intmax_t'. */
|
||||||
|
#mesondefine HAVE_INTMAX_T
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
|
#mesondefine HAVE_INTTYPES_H
|
||||||
|
|
||||||
|
/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and
|
||||||
|
declares uintmax_t. */
|
||||||
|
#mesondefine HAVE_INTTYPES_H_WITH_UINTMAX
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `localtime_r' function. */
|
||||||
|
#mesondefine HAVE_LOCALTIME_R
|
||||||
|
|
||||||
|
/* Define to 1 if the system has the type long long */
|
||||||
|
#mesondefine HAVE_LONG_LONG
|
||||||
|
|
||||||
|
/* Define to 1 if the system has the type `long long int'. */
|
||||||
|
#mesondefine HAVE_LONG_LONG_INT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
|
#mesondefine HAVE_MEMORY_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have a working `mmap' system call. */
|
||||||
|
#mesondefine HAVE_MMAP
|
||||||
|
|
||||||
|
/* Have a monotonic clock */
|
||||||
|
#mesondefine HAVE_MONOTONIC_CLOCK
|
||||||
|
|
||||||
|
/* Defined if compiling for OSX */
|
||||||
|
#mesondefine HAVE_OSX
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `poll' function. */
|
||||||
|
#mesondefine HAVE_POLL
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <poll.h> header file. */
|
||||||
|
#mesondefine HAVE_POLL_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `posix_memalign' function. */
|
||||||
|
#mesondefine HAVE_POSIX_MEMALIGN
|
||||||
|
|
||||||
|
/* Have posix timers */
|
||||||
|
#mesondefine HAVE_POSIX_TIMERS
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `ppoll' function. */
|
||||||
|
#mesondefine HAVE_PPOLL
|
||||||
|
|
||||||
|
/* defined if the compiler implements __PRETTY_FUNCTION__ */
|
||||||
|
#mesondefine HAVE_PRETTY_FUNCTION
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <process.h> header file. */
|
||||||
|
#mesondefine HAVE_PROCESS_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `pselect' function. */
|
||||||
|
#mesondefine HAVE_PSELECT
|
||||||
|
|
||||||
|
/* Define if you have POSIX threads libraries and header files. */
|
||||||
|
#mesondefine HAVE_PTHREAD
|
||||||
|
|
||||||
|
/* Have PTHREAD_PRIO_INHERIT. */
|
||||||
|
#mesondefine HAVE_PTHREAD_PRIO_INHERIT
|
||||||
|
|
||||||
|
/* Define to 1 if the system has the type `ptrdiff_t'. */
|
||||||
|
#mesondefine HAVE_PTRDIFF_T
|
||||||
|
|
||||||
|
/* Define if RDTSC is available */
|
||||||
|
#mesondefine HAVE_RDTSC
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `sigaction' function. */
|
||||||
|
#mesondefine HAVE_SIGACTION
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
#mesondefine HAVE_STDINT_H
|
||||||
|
|
||||||
|
/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares
|
||||||
|
uintmax_t. */
|
||||||
|
#mesondefine HAVE_STDINT_H_WITH_UINTMAX
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdio_ext.h> header file. */
|
||||||
|
#mesondefine HAVE_STDIO_EXT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
#mesondefine HAVE_STDLIB_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <strings.h> header file. */
|
||||||
|
#mesondefine HAVE_STRINGS_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
#mesondefine HAVE_STRING_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/param.h> header file. */
|
||||||
|
#mesondefine HAVE_SYS_PARAM_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/poll.h> header file. */
|
||||||
|
#mesondefine HAVE_SYS_POLL_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/prctl.h> header file. */
|
||||||
|
#mesondefine HAVE_SYS_PRCTL_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/socket.h> header file. */
|
||||||
|
#mesondefine HAVE_SYS_SOCKET_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
|
#mesondefine HAVE_SYS_STAT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/times.h> header file. */
|
||||||
|
#mesondefine HAVE_SYS_TIMES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/time.h> header file. */
|
||||||
|
#mesondefine HAVE_SYS_TIME_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
|
#mesondefine HAVE_SYS_TYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/utsname.h> header file. */
|
||||||
|
#mesondefine HAVE_SYS_UTSNAME_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/wait.h> header file. */
|
||||||
|
#mesondefine HAVE_SYS_WAIT_H
|
||||||
|
|
||||||
|
/* Have tm_gmtoff field in struct tm */
|
||||||
|
#mesondefine HAVE_TM_GMTOFF
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <ucontext.h> header file. */
|
||||||
|
#mesondefine HAVE_UCONTEXT_H
|
||||||
|
|
||||||
|
/* Have __uint128_t type */
|
||||||
|
#mesondefine HAVE_UINT128_T
|
||||||
|
|
||||||
|
/* defined if unaligned memory access works correctly */
|
||||||
|
#mesondefine HAVE_UNALIGNED_ACCESS
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
#mesondefine HAVE_UNISTD_H
|
||||||
|
|
||||||
|
/* Define to 1 if the system has the type `unsigned long long int'. */
|
||||||
|
#mesondefine HAVE_UNSIGNED_LONG_LONG_INT
|
||||||
|
|
||||||
|
/* Define if valgrind should be used */
|
||||||
|
#mesondefine HAVE_VALGRIND
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
|
||||||
|
#mesondefine HAVE_VALGRIND_VALGRIND_H
|
||||||
|
|
||||||
|
/* Defined if compiling for Windows */
|
||||||
|
#mesondefine HAVE_WIN32
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <winsock2.h> header file. */
|
||||||
|
#mesondefine HAVE_WINSOCK2_H
|
||||||
|
|
||||||
|
/* the host CPU */
|
||||||
|
#mesondefine HOST_CPU
|
||||||
|
|
||||||
|
/* library dir */
|
||||||
|
#mesondefine LIBDIR
|
||||||
|
|
||||||
|
/* gettext locale dir */
|
||||||
|
#mesondefine LOCALEDIR
|
||||||
|
|
||||||
|
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||||
|
*/
|
||||||
|
#mesondefine LT_OBJDIR
|
||||||
|
|
||||||
|
/* Memory alignment to use */
|
||||||
|
#mesondefine MEMORY_ALIGNMENT
|
||||||
|
|
||||||
|
/* Memory alignment by malloc default */
|
||||||
|
#mesondefine MEMORY_ALIGNMENT_MALLOC
|
||||||
|
|
||||||
|
/* Memory alignment by pagesize */
|
||||||
|
#mesondefine MEMORY_ALIGNMENT_PAGESIZE
|
||||||
|
|
||||||
|
/* Name of package */
|
||||||
|
#mesondefine PACKAGE
|
||||||
|
|
||||||
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
#mesondefine PACKAGE_BUGREPORT
|
||||||
|
|
||||||
|
/* Define to the full name of this package. */
|
||||||
|
#mesondefine PACKAGE_NAME
|
||||||
|
|
||||||
|
/* Define to the full name and version of this package. */
|
||||||
|
#mesondefine PACKAGE_STRING
|
||||||
|
|
||||||
|
/* Define to the one symbol short name of this package. */
|
||||||
|
#mesondefine PACKAGE_TARNAME
|
||||||
|
|
||||||
|
/* Define to the home page for this package. */
|
||||||
|
#mesondefine PACKAGE_URL
|
||||||
|
|
||||||
|
/* Define to the version of this package. */
|
||||||
|
#mesondefine PACKAGE_VERSION
|
||||||
|
|
||||||
|
/* directory where plugins are located */
|
||||||
|
#mesondefine PLUGINDIR
|
||||||
|
|
||||||
|
/* directory where plugins are located */
|
||||||
|
#mesondefine MODULEDIR
|
||||||
|
|
||||||
|
/* directory where config files are located */
|
||||||
|
#mesondefine PINOS_CONFIG_DIR
|
||||||
|
|
||||||
|
/* Define to necessary symbol if this constant uses a non-standard name on
|
||||||
|
your system. */
|
||||||
|
#mesondefine PTHREAD_CREATE_JOINABLE
|
||||||
|
|
||||||
|
/* The size of `char', as computed by sizeof. */
|
||||||
|
#mesondefine SIZEOF_CHAR
|
||||||
|
|
||||||
|
/* The size of `int', as computed by sizeof. */
|
||||||
|
#mesondefine SIZEOF_INT
|
||||||
|
|
||||||
|
/* The size of `long', as computed by sizeof. */
|
||||||
|
#mesondefine SIZEOF_LONG
|
||||||
|
|
||||||
|
/* The size of `short', as computed by sizeof. */
|
||||||
|
#mesondefine SIZEOF_SHORT
|
||||||
|
|
||||||
|
/* The size of `void*', as computed by sizeof. */
|
||||||
|
#mesondefine SIZEOF_VOIDP
|
||||||
|
|
||||||
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
|
#mesondefine STDC_HEADERS
|
||||||
|
|
||||||
|
/* the target CPU */
|
||||||
|
#mesondefine TARGET_CPU
|
||||||
|
|
||||||
|
/* Define if we should poison deallocated memory */
|
||||||
|
#mesondefine USE_POISONING
|
||||||
|
|
||||||
|
/* Version number of package */
|
||||||
|
#mesondefine VERSION
|
||||||
|
|
||||||
|
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
|
||||||
|
significant byte first (like Motorola and SPARC, unlike Intel). */
|
||||||
|
#if defined AC_APPLE_UNIVERSAL_BUILD
|
||||||
|
# if defined __BIG_ENDIAN__
|
||||||
|
# define WORDS_BIGENDIAN 1
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
# ifndef WORDS_BIGENDIAN
|
||||||
|
# undef WORDS_BIGENDIAN
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Enable large inode numbers on Mac OS X 10.5. */
|
||||||
|
#ifndef _DARWIN_USE_64_BIT_INODE
|
||||||
|
# define _DARWIN_USE_64_BIT_INODE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Number of bits in a file offset, on hosts where this is settable. */
|
||||||
|
#mesondefine _FILE_OFFSET_BITS
|
||||||
|
|
||||||
|
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
|
||||||
|
#mesondefine _LARGEFILE_SOURCE
|
||||||
|
|
||||||
|
/* Define for large files, on AIX-style hosts. */
|
||||||
|
#mesondefine _LARGE_FILES
|
||||||
|
|
||||||
|
/* We need at least WinXP SP2 for __stat64 */
|
||||||
|
#mesondefine __MSVCRT_VERSION__
|
||||||
|
|
||||||
|
/* Define to the widest signed integer type if <stdint.h> and <inttypes.h> do
|
||||||
|
not define. */
|
||||||
|
#mesondefine intmax_t
|
||||||
|
|
||||||
|
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||||
|
#mesondefine size_t
|
||||||
|
|
||||||
|
#mesondefine HAVE_GETPID
|
||||||
|
#mesondefine HAVE__GETPID
|
||||||
|
#mesondefine HAVE_DECL_STRDUP
|
||||||
|
#mesondefine HAVE__STRDUP
|
||||||
|
#mesondefine HAVE_MKSTEMP
|
||||||
|
#mesondefine HAVE_FORK
|
||||||
|
#mesondefine HAVE_ALARM
|
||||||
|
#mesondefine HAVE_DECL_LOCALTIME_R
|
||||||
|
#mesondefine HAVE_DECL_STRSIGNAL
|
||||||
313
configure.ac
313
configure.ac
|
|
@ -1,313 +0,0 @@
|
||||||
AC_PREREQ(2.63)
|
|
||||||
|
|
||||||
AC_INIT(pinos, 0.1)
|
|
||||||
AC_CONFIG_SRCDIR([pinos/daemon/main.c])
|
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
|
||||||
AC_CONFIG_HEADERS([config.h])
|
|
||||||
AC_CONFIG_AUX_DIR([build-aux])
|
|
||||||
AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability subdir-objects silent-rules color-tests dist-xz tar-ustar])
|
|
||||||
|
|
||||||
AS_IF([! test -n "$VERSION"], [
|
|
||||||
AC_MSG_ERROR([git-version-gen failed])
|
|
||||||
])
|
|
||||||
|
|
||||||
m4_define(pinos_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
|
|
||||||
m4_define(pinos_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
|
|
||||||
|
|
||||||
AC_SUBST(PINOS_MAJOR, pinos_major)
|
|
||||||
AC_SUBST(PINOS_MINOR, pinos_minor)
|
|
||||||
AC_SUBST(PINOS_MAJORMINOR, pinos_major.pinos_minor)
|
|
||||||
|
|
||||||
AC_SUBST(PINOS_API_VERSION, 0)
|
|
||||||
AC_SUBST(PINOS_PROTOCOL_VERSION, 0)
|
|
||||||
|
|
||||||
# The stable ABI for client applications, for the version info x:y:z
|
|
||||||
# always will hold y=z
|
|
||||||
AC_SUBST(LIBPINOS_VERSION_INFO, [0:0:0])
|
|
||||||
|
|
||||||
dnl sets host_* variables
|
|
||||||
AC_CANONICAL_HOST
|
|
||||||
|
|
||||||
AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
|
|
||||||
|
|
||||||
AC_CHECK_PROG([STOW], [stow], [yes], [no])
|
|
||||||
|
|
||||||
AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [
|
|
||||||
AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
|
|
||||||
ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
|
|
||||||
])
|
|
||||||
|
|
||||||
AM_SILENT_RULES([yes])
|
|
||||||
|
|
||||||
#### Checks for programs. ####
|
|
||||||
|
|
||||||
# mkdir -p
|
|
||||||
|
|
||||||
AC_PROG_MKDIR_P
|
|
||||||
|
|
||||||
# ln -s
|
|
||||||
|
|
||||||
AC_PROG_LN_S
|
|
||||||
|
|
||||||
# CC
|
|
||||||
|
|
||||||
AC_PROG_CC
|
|
||||||
AC_PROG_CC_C99
|
|
||||||
AM_PROG_CC_C_O
|
|
||||||
# Only required if you want the WebRTC canceller -- no runtime dep on
|
|
||||||
# libstdc++ otherwise
|
|
||||||
AC_PROG_CXX
|
|
||||||
AC_PROG_GCC_TRADITIONAL
|
|
||||||
AC_USE_SYSTEM_EXTENSIONS
|
|
||||||
|
|
||||||
# M4
|
|
||||||
|
|
||||||
AC_CHECK_PROGS([M4], gm4 m4, no)
|
|
||||||
AS_IF([test "x$M4" = "xno"], AC_MSG_ERROR([m4 missing]))
|
|
||||||
|
|
||||||
# pkg-config
|
|
||||||
|
|
||||||
PKG_PROG_PKG_CONFIG
|
|
||||||
|
|
||||||
# gettext
|
|
||||||
|
|
||||||
if test "x$enable_nls" != "xno"; then
|
|
||||||
IT_PROG_INTLTOOL([0.35.0])
|
|
||||||
|
|
||||||
AM_GNU_GETTEXT_VERSION([0.18.1])
|
|
||||||
AM_GNU_GETTEXT([external])
|
|
||||||
|
|
||||||
GETTEXT_PACKAGE=pinos
|
|
||||||
AC_SUBST([GETTEXT_PACKAGE])
|
|
||||||
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
|
|
||||||
|
|
||||||
pinoslocaledir='${prefix}/${DATADIRNAME}/locale'
|
|
||||||
AX_DEFINE_DIR(PINOS_LOCALEDIR, pinoslocaledir, [Gettext locale dir])
|
|
||||||
else
|
|
||||||
# workaround till an intltool m4 bug is fixed upstream
|
|
||||||
# (https://bugs.launchpad.net/intltool/+bug/904647)
|
|
||||||
USE_NLS=no
|
|
||||||
AC_SUBST(USE_NLS)
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_ARG_WITH([module-dir],
|
|
||||||
AS_HELP_STRING([--with-module-dir=PATH],
|
|
||||||
[Directory where modules are located (default is ${libdir}/pinos/modules]),
|
|
||||||
[moduledir=$withval],
|
|
||||||
[moduledir="${libdir}/pinos-${PINOS_MAJORMINOR}/modules"])
|
|
||||||
AC_SUBST(moduledir)
|
|
||||||
AX_DEFINE_DIR(MODULEDIR, moduledir, [Directory where modules are located])
|
|
||||||
|
|
||||||
#### Compiler flags ####
|
|
||||||
|
|
||||||
AX_APPEND_COMPILE_FLAGS(
|
|
||||||
[-Wall -W -Wextra -pipe -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -ffast-math -fno-common -fdiagnostics-show-option -fdiagnostics-color=auto],
|
|
||||||
[], [-pedantic -Werror])
|
|
||||||
|
|
||||||
AS_CASE([" $CFLAGS "], [*" -O0 "*], [], [
|
|
||||||
# Don't append the flag if it already exists.
|
|
||||||
# Only enable fastpath asserts when doing a debug build, e.g. from bootstrap.sh.
|
|
||||||
AX_APPEND_FLAG([-DFASTPATH], [CPPFLAGS])
|
|
||||||
|
|
||||||
# Cannot use AX_APPEND_FLAG here, as it assumes no space inside the added flags.
|
|
||||||
# Cannot append flags with AX_APPEND_FLAG one by one, as this would destroy all fortifications
|
|
||||||
# if CPPFLAGS already contain -D_FORTIFY_SOURCE=2.
|
|
||||||
|
|
||||||
# Warnings to be aware of that appear with -D_FORTIFY_SOURCE=2 but without -U_FORTIFY_SOURCE:
|
|
||||||
# On Fedora 20 with -O0: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
|
|
||||||
# On Gentoo with -O2: "_FORTIFY_SOURCE" redefined [enabled by default]
|
|
||||||
AS_VAR_APPEND([CPPFLAGS],[" -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2"])
|
|
||||||
])
|
|
||||||
|
|
||||||
#### Linker flags ####
|
|
||||||
|
|
||||||
# Check whether the linker supports the -version-script option.
|
|
||||||
# The Make variable $(srcdir) needs to be in the LDFLAGS in that form,
|
|
||||||
# so that it is expanded the right way in every subdir.
|
|
||||||
AX_CHECK_LINK_FLAG(["-Wl,-version-script=${srcdir}/pinos/map-file"],
|
|
||||||
[VERSIONING_LDFLAGS='-Wl,-version-script=$(abs_top_srcdir)/pinos/map-file'])
|
|
||||||
AC_SUBST([VERSIONING_LDFLAGS])
|
|
||||||
|
|
||||||
# Use immediate (now) bindings; avoids the funky re-call in itself.
|
|
||||||
# The -z now syntax is lifted from Sun's linker and works with GNU's too, other linkers might be added later.
|
|
||||||
AX_APPEND_LINK_FLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS])
|
|
||||||
AC_SUBST([IMMEDIATE_LDFLAGS])
|
|
||||||
|
|
||||||
# On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly,
|
|
||||||
# so we request the nodelete flag to be enabled.
|
|
||||||
# On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
|
|
||||||
AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS])
|
|
||||||
AC_SUBST([NODELETE_LDFLAGS])
|
|
||||||
|
|
||||||
# Check for the proper way to build libraries that have no undefined symbols
|
|
||||||
case $host in
|
|
||||||
# FreeBSD (et al.) does not complete linking for shared objects when pthreads
|
|
||||||
# are requested, as different implementations are present.
|
|
||||||
*-freebsd* | *-openbsd*) ;;
|
|
||||||
*)
|
|
||||||
for possible_flag in "-Wl,--no-undefined" "-Wl,-z,defs"; do
|
|
||||||
AX_CHECK_LINK_FLAG([$possible_flag], [NOUNDEFINED_LDFLAGS="$possible_flag"; break])
|
|
||||||
done
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
AC_SUBST([NOUNDEFINED_LDFLAGS])
|
|
||||||
|
|
||||||
#### libtool stuff ####
|
|
||||||
|
|
||||||
LT_PREREQ(2.4)
|
|
||||||
LT_INIT([dlopen win32-dll disable-static])
|
|
||||||
|
|
||||||
dnl As an extra safety device, check for lt_dladvise_init() which is
|
|
||||||
dnl only implemented in libtool 2.x, and refine as we go if we have
|
|
||||||
dnl refined requirements.
|
|
||||||
dnl
|
|
||||||
dnl Check the header files first since the system may have a
|
|
||||||
dnl libltdl.so for runtime, but no headers, and we want to bail out as
|
|
||||||
dnl soon as possible.
|
|
||||||
dnl
|
|
||||||
dnl We don't need any special variable for this though, since the user
|
|
||||||
dnl can give the proper place to find libltdl through the standard
|
|
||||||
dnl variables like LDFLAGS and CPPFLAGS.
|
|
||||||
|
|
||||||
AC_CHECK_HEADER([ltdl.h],
|
|
||||||
[AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
|
|
||||||
[LIBLTDL=])
|
|
||||||
|
|
||||||
AS_IF([test "x$LIBLTDL" = "x"],
|
|
||||||
[AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.4 or later installed.])])
|
|
||||||
AC_SUBST([LIBLTDL])
|
|
||||||
|
|
||||||
|
|
||||||
#### Pinos runtime environment ####
|
|
||||||
|
|
||||||
AC_SUBST(pinosconfdir, ["${sysconfdir}/pinos"])
|
|
||||||
AX_DEFINE_DIR(PINOS_CONFIG_DIR, pinosconfdir, [Directory for configuration files])
|
|
||||||
|
|
||||||
###################################
|
|
||||||
# External libraries #
|
|
||||||
###################################
|
|
||||||
|
|
||||||
#### [lib]iconv ####
|
|
||||||
|
|
||||||
AM_ICONV
|
|
||||||
|
|
||||||
#### Valgrind (optional) ####
|
|
||||||
|
|
||||||
AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
|
|
||||||
|
|
||||||
#### GLib ####
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.32, dummy=yes,
|
|
||||||
AC_MSG_ERROR(GLib >= 2.32 is required))
|
|
||||||
AC_SUBST(GLIB_CFLAGS)
|
|
||||||
AC_SUBST(GLIB_LIBS)
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GIOUNIX, gio-unix-2.0 >= 2.32, dummy=yes,
|
|
||||||
AC_MSG_ERROR(GIO-Unix >= 2.32 is required))
|
|
||||||
GLIB_CFLAGS="$GLIB_CFLAGS $GIOUNIX_CFLAGS"
|
|
||||||
GLIB_LIBS="$GLIB_LIBS $GIOUNIX_LIBS"
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GMODULE, gmodule-no-export-2.0 >= 2.32, dummy=yes,
|
|
||||||
AC_MSG_ERROR(GModule >= 2.32 is required))
|
|
||||||
GLIB_CFLAGS="$GLIB_CFLAGS $GMODULE_CFLAGS"
|
|
||||||
GLIB_LIBS="$GLIB_LIBS $GMODULE_LIBS"
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for glib-mkenums script])
|
|
||||||
GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
|
|
||||||
AS_IF([test "x$GLIB_MKENUMS" = "x"],
|
|
||||||
[AC_MSG_ERROR([glib-mkenums not listed in glib-2.0 pkg-config file])],
|
|
||||||
[AC_SUBST([GLIB_MKENUMS])
|
|
||||||
AC_MSG_RESULT([$GLIB_MKENUMS])])
|
|
||||||
|
|
||||||
AC_SUBST([GDBUS_CODEGEN], [`$PKG_CONFIG --variable gdbus_codegen gio-2.0`])
|
|
||||||
|
|
||||||
#### GStreamer ####
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GST, gstreamer-1.0 >= 1.5.0, dummy=yes,
|
|
||||||
AC_MSG_ERROR(GStreamer >= 1.5.0 is required))
|
|
||||||
AC_SUBST(GST_CFLAGS)
|
|
||||||
AC_SUBST(GST_LIBS)
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GSTBASE, gstreamer-base-1.0 >= 1.5.0, dummy=yes,
|
|
||||||
AC_MSG_ERROR(GStreamer Base>= 1.5.0 is required))
|
|
||||||
GST_CFLAGS="$GST_CFLAGS $GSTBASE_CFLAGS"
|
|
||||||
GST_LIBS="$GST_LIBS $GSTBASE_LIBS"
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GSTPBASE, gstreamer-plugins-base-1.0 >= 1.5.0, dummy=yes,
|
|
||||||
AC_MSG_ERROR(GStreamer Plugins Base>= 1.5.0 is required))
|
|
||||||
GST_CFLAGS="$GST_CFLAGS $GSTPBASE_CFLAGS"
|
|
||||||
GST_LIBS="$GST_LIBS $GSTPBASE_LIBS"
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GSTNET, gstreamer-net-1.0 >= 1.5.0, dummy=yes,
|
|
||||||
AC_MSG_ERROR(GStreamer Net>= 1.5.0 is required))
|
|
||||||
GST_CFLAGS="$GST_CFLAGS $GSTNET_CFLAGS"
|
|
||||||
GST_LIBS="$GST_LIBS $GSTNET_LIBS"
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GSTALLOC, gstreamer-allocators-1.0 >= 1.5.0, dummy=yes,
|
|
||||||
AC_MSG_ERROR(GStreamer Allocators>= 1.5.0 is required))
|
|
||||||
GST_CFLAGS="$GST_CFLAGS $GSTALLOC_CFLAGS"
|
|
||||||
GST_LIBS="$GST_LIBS $GSTALLOC_LIBS"
|
|
||||||
|
|
||||||
#### ALSA ####
|
|
||||||
PKG_CHECK_MODULES(ALSA, alsa >= 0.9.1, dummy=yes,
|
|
||||||
AC_MSG_ERROR(ALSA >= 0.9.1 is required))
|
|
||||||
|
|
||||||
AC_SUBST(ALSA_CFLAGS)
|
|
||||||
AC_SUBST(ALSA_LIBS)
|
|
||||||
|
|
||||||
###################################
|
|
||||||
# Modules #
|
|
||||||
###################################
|
|
||||||
|
|
||||||
#### module-gst (Gstreamer module) ####
|
|
||||||
AC_ARG_ENABLE([module-gst],
|
|
||||||
AS_HELP_STRING([--disable-module-gst],[Disable building of GStreamer module]))
|
|
||||||
|
|
||||||
AM_CONDITIONAL([BUILD_MODULE_GST], [test "x$enable_module_gst" != "xno"])
|
|
||||||
AS_IF([test "x$enable_module_gst" != "xno"], ENABLE_MODULE_GST=yes, ENABLE_MODULE_GST=no)
|
|
||||||
|
|
||||||
#### module-spa (SPA module) ####
|
|
||||||
AC_ARG_ENABLE([module-spa],
|
|
||||||
AS_HELP_STRING([--disable-module-spa],[Disable building of SPA module]))
|
|
||||||
|
|
||||||
AM_CONDITIONAL([BUILD_MODULE_SPA], [test "x$enable_module_spa" != "xno"])
|
|
||||||
AS_IF([test "x$enable_module_spa" != "xno"], ENABLE_MODULE_SPA=yes, ENABLE_MODULE_SPA=no)
|
|
||||||
|
|
||||||
|
|
||||||
#### Build and Install man pages ####
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([manpages],
|
|
||||||
AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]))
|
|
||||||
|
|
||||||
AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" != "xno"])
|
|
||||||
|
|
||||||
dnl *** output files ***
|
|
||||||
|
|
||||||
dnl keep this alphabetic per directory, please
|
|
||||||
AC_CONFIG_FILES([
|
|
||||||
Makefile
|
|
||||||
pinos/Makefile
|
|
||||||
pinos/daemon/pinos.conf
|
|
||||||
man/Makefile
|
|
||||||
man/pinos.1.xml
|
|
||||||
man/pinos-monitor.1.xml
|
|
||||||
pkgconfig/libpinos-$PINOS_MAJORMINOR.pc:pkgconfig/libpinos.pc.in
|
|
||||||
po/Makefile.in
|
|
||||||
])
|
|
||||||
AC_OUTPUT
|
|
||||||
|
|
||||||
echo "
|
|
||||||
|
|
||||||
Configuration
|
|
||||||
Version : ${VERSION}
|
|
||||||
Source code location : ${srcdir}
|
|
||||||
Prefix : ${prefix}
|
|
||||||
Moduledir : ${moduledir}
|
|
||||||
Compiler : ${CC}
|
|
||||||
|
|
||||||
Modules
|
|
||||||
module-gst : ${ENABLE_MODULE_GST}
|
|
||||||
module-spa : ${ENABLE_MODULE_SPA}
|
|
||||||
|
|
||||||
pinos configured. Type 'make' to build.
|
|
||||||
"
|
|
||||||
36
m4/.gitignore
vendored
36
m4/.gitignore
vendored
|
|
@ -1,36 +0,0 @@
|
||||||
codeset.m4
|
|
||||||
fcntl-o.m4
|
|
||||||
gettext.m4
|
|
||||||
glibc*.m4
|
|
||||||
iconv.m4
|
|
||||||
intdiv0.m4
|
|
||||||
intl.m4
|
|
||||||
intldir.m4
|
|
||||||
intlmacosx.m4
|
|
||||||
intltool.m4
|
|
||||||
intmax.m4
|
|
||||||
inttypes-pri.m4
|
|
||||||
inttypes_h.m4
|
|
||||||
lcmessage.m4
|
|
||||||
lib-ld.m4
|
|
||||||
lib-link.m4
|
|
||||||
lib-prefix.m4
|
|
||||||
libtool.m4
|
|
||||||
lock.m4
|
|
||||||
longlong.m4
|
|
||||||
ltoptions.m4
|
|
||||||
ltsugar.m4
|
|
||||||
ltversion.m4
|
|
||||||
lt~obsolete.m4
|
|
||||||
nls.m4
|
|
||||||
po.m4
|
|
||||||
printf-posix.m4
|
|
||||||
progtest.m4
|
|
||||||
size_max.m4
|
|
||||||
stdint_h.m4
|
|
||||||
threadlib.m4
|
|
||||||
uintmax_t.m4
|
|
||||||
visibility.m4
|
|
||||||
wchar_t.m4
|
|
||||||
wint_t.m4
|
|
||||||
xsize.m4
|
|
||||||
|
|
@ -1,65 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# http://www.gnu.org/software/autoconf-archive/ax_append_compile_flags.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_APPEND_COMPILE_FLAGS([FLAG1 FLAG2 ...], [FLAGS-VARIABLE], [EXTRA-FLAGS])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# For every FLAG1, FLAG2 it is checked whether the compiler works with the
|
|
||||||
# flag. If it does, the flag is added FLAGS-VARIABLE
|
|
||||||
#
|
|
||||||
# If FLAGS-VARIABLE is not specified, the current language's flags (e.g.
|
|
||||||
# CFLAGS) is used. During the check the flag is always added to the
|
|
||||||
# current language's flags.
|
|
||||||
#
|
|
||||||
# If EXTRA-FLAGS is defined, it is added to the current language's default
|
|
||||||
# flags (e.g. CFLAGS) when the check is done. The check is thus made with
|
|
||||||
# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to
|
|
||||||
# force the compiler to issue an error when a bad flag is given.
|
|
||||||
#
|
|
||||||
# NOTE: This macro depends on the AX_APPEND_FLAG and
|
|
||||||
# AX_CHECK_COMPILE_FLAG. Please keep this macro in sync with
|
|
||||||
# AX_APPEND_LINK_FLAGS.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
|
|
||||||
#
|
|
||||||
# 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 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 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, the respective Autoconf Macro's copyright owner
|
|
||||||
# gives unlimited permission to copy, distribute and modify the configure
|
|
||||||
# scripts that are the output of Autoconf when processing the Macro. You
|
|
||||||
# need not follow the terms of the GNU General Public License when using
|
|
||||||
# or distributing such scripts, even though portions of the text of the
|
|
||||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
|
||||||
# all other use of the material that constitutes the Autoconf Macro.
|
|
||||||
#
|
|
||||||
# This special exception to the GPL applies to versions of the Autoconf
|
|
||||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
|
||||||
# modified version of the Autoconf Macro, you may extend this special
|
|
||||||
# exception to the GPL to apply to your modified version as well.
|
|
||||||
|
|
||||||
#serial 4
|
|
||||||
|
|
||||||
AC_DEFUN([AX_APPEND_COMPILE_FLAGS],
|
|
||||||
[AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
|
|
||||||
AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
|
|
||||||
for flag in $1; do
|
|
||||||
AX_CHECK_COMPILE_FLAG([$flag], [AX_APPEND_FLAG([$flag], [$2])], [], [$3])
|
|
||||||
done
|
|
||||||
])dnl AX_APPEND_COMPILE_FLAGS
|
|
||||||
|
|
@ -1,71 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# http://www.gnu.org/software/autoconf-archive/ax_append_flag.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_APPEND_FLAG(FLAG, [FLAGS-VARIABLE])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# FLAG is appended to the FLAGS-VARIABLE shell variable, with a space
|
|
||||||
# added in between.
|
|
||||||
#
|
|
||||||
# If FLAGS-VARIABLE is not specified, the current language's flags (e.g.
|
|
||||||
# CFLAGS) is used. FLAGS-VARIABLE is not changed if it already contains
|
|
||||||
# FLAG. If FLAGS-VARIABLE is unset in the shell, it is set to exactly
|
|
||||||
# FLAG.
|
|
||||||
#
|
|
||||||
# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
|
|
||||||
# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
|
|
||||||
#
|
|
||||||
# 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 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 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, the respective Autoconf Macro's copyright owner
|
|
||||||
# gives unlimited permission to copy, distribute and modify the configure
|
|
||||||
# scripts that are the output of Autoconf when processing the Macro. You
|
|
||||||
# need not follow the terms of the GNU General Public License when using
|
|
||||||
# or distributing such scripts, even though portions of the text of the
|
|
||||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
|
||||||
# all other use of the material that constitutes the Autoconf Macro.
|
|
||||||
#
|
|
||||||
# This special exception to the GPL applies to versions of the Autoconf
|
|
||||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
|
||||||
# modified version of the Autoconf Macro, you may extend this special
|
|
||||||
# exception to the GPL to apply to your modified version as well.
|
|
||||||
|
|
||||||
#serial 5
|
|
||||||
|
|
||||||
AC_DEFUN([AX_APPEND_FLAG],
|
|
||||||
[dnl
|
|
||||||
AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_SET_IF
|
|
||||||
AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])])
|
|
||||||
AS_VAR_SET_IF(FLAGS,[
|
|
||||||
AS_CASE([" AS_VAR_GET(FLAGS) "],
|
|
||||||
[*" $1 "*], [AC_RUN_LOG([: FLAGS already contains $1])],
|
|
||||||
[
|
|
||||||
AS_VAR_APPEND(FLAGS," $1")
|
|
||||||
AC_RUN_LOG([: FLAGS="$FLAGS"])
|
|
||||||
])
|
|
||||||
],
|
|
||||||
[
|
|
||||||
AS_VAR_SET(FLAGS,[$1])
|
|
||||||
AC_RUN_LOG([: FLAGS="$FLAGS"])
|
|
||||||
])
|
|
||||||
AS_VAR_POPDEF([FLAGS])dnl
|
|
||||||
])dnl AX_APPEND_FLAG
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# http://www.gnu.org/software/autoconf-archive/ax_append_link_flags.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_APPEND_LINK_FLAGS([FLAG1 FLAG2 ...], [FLAGS-VARIABLE], [EXTRA-FLAGS])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# For every FLAG1, FLAG2 it is checked whether the linker works with the
|
|
||||||
# flag. If it does, the flag is added FLAGS-VARIABLE
|
|
||||||
#
|
|
||||||
# If FLAGS-VARIABLE is not specified, the linker's flags (LDFLAGS) is
|
|
||||||
# used. During the check the flag is always added to the linker's flags.
|
|
||||||
#
|
|
||||||
# If EXTRA-FLAGS is defined, it is added to the linker's default flags
|
|
||||||
# when the check is done. The check is thus made with the flags: "LDFLAGS
|
|
||||||
# EXTRA-FLAGS FLAG". This can for example be used to force the linker to
|
|
||||||
# issue an error when a bad flag is given.
|
|
||||||
#
|
|
||||||
# NOTE: This macro depends on the AX_APPEND_FLAG and AX_CHECK_LINK_FLAG.
|
|
||||||
# Please keep this macro in sync with AX_APPEND_COMPILE_FLAGS.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
|
|
||||||
#
|
|
||||||
# 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 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 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, the respective Autoconf Macro's copyright owner
|
|
||||||
# gives unlimited permission to copy, distribute and modify the configure
|
|
||||||
# scripts that are the output of Autoconf when processing the Macro. You
|
|
||||||
# need not follow the terms of the GNU General Public License when using
|
|
||||||
# or distributing such scripts, even though portions of the text of the
|
|
||||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
|
||||||
# all other use of the material that constitutes the Autoconf Macro.
|
|
||||||
#
|
|
||||||
# This special exception to the GPL applies to versions of the Autoconf
|
|
||||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
|
||||||
# modified version of the Autoconf Macro, you may extend this special
|
|
||||||
# exception to the GPL to apply to your modified version as well.
|
|
||||||
|
|
||||||
#serial 4
|
|
||||||
|
|
||||||
AC_DEFUN([AX_APPEND_LINK_FLAGS],
|
|
||||||
[AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG])
|
|
||||||
AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
|
|
||||||
for flag in $1; do
|
|
||||||
AX_CHECK_LINK_FLAG([$flag], [AX_APPEND_FLAG([$flag], [m4_default([$2], [LDFLAGS])])], [], [$3])
|
|
||||||
done
|
|
||||||
])dnl AX_APPEND_LINK_FLAGS
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# Check whether the given FLAG works with the current language's compiler
|
|
||||||
# or gives an error. (Warnings, however, are ignored)
|
|
||||||
#
|
|
||||||
# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
|
|
||||||
# success/failure.
|
|
||||||
#
|
|
||||||
# If EXTRA-FLAGS is defined, it is added to the current language's default
|
|
||||||
# flags (e.g. CFLAGS) when the check is done. The check is thus made with
|
|
||||||
# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to
|
|
||||||
# force the compiler to issue an error when a bad flag is given.
|
|
||||||
#
|
|
||||||
# INPUT gives an alternative input source to AC_COMPILE_IFELSE.
|
|
||||||
#
|
|
||||||
# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
|
|
||||||
# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
|
|
||||||
# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
|
|
||||||
#
|
|
||||||
# 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 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 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, the respective Autoconf Macro's copyright owner
|
|
||||||
# gives unlimited permission to copy, distribute and modify the configure
|
|
||||||
# scripts that are the output of Autoconf when processing the Macro. You
|
|
||||||
# need not follow the terms of the GNU General Public License when using
|
|
||||||
# or distributing such scripts, even though portions of the text of the
|
|
||||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
|
||||||
# all other use of the material that constitutes the Autoconf Macro.
|
|
||||||
#
|
|
||||||
# This special exception to the GPL applies to versions of the Autoconf
|
|
||||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
|
||||||
# modified version of the Autoconf Macro, you may extend this special
|
|
||||||
# exception to the GPL to apply to your modified version as well.
|
|
||||||
|
|
||||||
#serial 4
|
|
||||||
|
|
||||||
AC_DEFUN([AX_CHECK_COMPILE_FLAG],
|
|
||||||
[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
|
|
||||||
AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
|
|
||||||
AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
|
|
||||||
ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
|
|
||||||
_AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
|
|
||||||
AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
|
|
||||||
[AS_VAR_SET(CACHEVAR,[yes])],
|
|
||||||
[AS_VAR_SET(CACHEVAR,[no])])
|
|
||||||
_AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
|
|
||||||
AS_VAR_IF(CACHEVAR,yes,
|
|
||||||
[m4_default([$2], :)],
|
|
||||||
[m4_default([$3], :)])
|
|
||||||
AS_VAR_POPDEF([CACHEVAR])dnl
|
|
||||||
])dnl AX_CHECK_COMPILE_FLAGS
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# http://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# Check whether the given FLAG works with the linker or gives an error.
|
|
||||||
# (Warnings, however, are ignored)
|
|
||||||
#
|
|
||||||
# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
|
|
||||||
# success/failure.
|
|
||||||
#
|
|
||||||
# If EXTRA-FLAGS is defined, it is added to the linker's default flags
|
|
||||||
# when the check is done. The check is thus made with the flags: "LDFLAGS
|
|
||||||
# EXTRA-FLAGS FLAG". This can for example be used to force the linker to
|
|
||||||
# issue an error when a bad flag is given.
|
|
||||||
#
|
|
||||||
# INPUT gives an alternative input source to AC_LINK_IFELSE.
|
|
||||||
#
|
|
||||||
# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
|
|
||||||
# macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
|
|
||||||
# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
|
|
||||||
#
|
|
||||||
# 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 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 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, the respective Autoconf Macro's copyright owner
|
|
||||||
# gives unlimited permission to copy, distribute and modify the configure
|
|
||||||
# scripts that are the output of Autoconf when processing the Macro. You
|
|
||||||
# need not follow the terms of the GNU General Public License when using
|
|
||||||
# or distributing such scripts, even though portions of the text of the
|
|
||||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
|
||||||
# all other use of the material that constitutes the Autoconf Macro.
|
|
||||||
#
|
|
||||||
# This special exception to the GPL applies to versions of the Autoconf
|
|
||||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
|
||||||
# modified version of the Autoconf Macro, you may extend this special
|
|
||||||
# exception to the GPL to apply to your modified version as well.
|
|
||||||
|
|
||||||
#serial 4
|
|
||||||
|
|
||||||
AC_DEFUN([AX_CHECK_LINK_FLAG],
|
|
||||||
[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
|
|
||||||
AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl
|
|
||||||
AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [
|
|
||||||
ax_check_save_flags=$LDFLAGS
|
|
||||||
LDFLAGS="$LDFLAGS $4 $1"
|
|
||||||
AC_LINK_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
|
|
||||||
[AS_VAR_SET(CACHEVAR,[yes])],
|
|
||||||
[AS_VAR_SET(CACHEVAR,[no])])
|
|
||||||
LDFLAGS=$ax_check_save_flags])
|
|
||||||
AS_VAR_IF(CACHEVAR,yes,
|
|
||||||
[m4_default([$2], :)],
|
|
||||||
[m4_default([$3], :)])
|
|
||||||
AS_VAR_POPDEF([CACHEVAR])dnl
|
|
||||||
])dnl AX_CHECK_LINK_FLAGS
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# http://www.gnu.org/software/autoconf-archive/ax_define_dir.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_DEFINE_DIR(VARNAME, DIR [, DESCRIPTION])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# This macro sets VARNAME to the expansion of the DIR variable, taking
|
|
||||||
# care of fixing up ${prefix} and such.
|
|
||||||
#
|
|
||||||
# VARNAME is then offered as both an output variable and a C preprocessor
|
|
||||||
# symbol.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
#
|
|
||||||
# AX_DEFINE_DIR([DATADIR], [datadir], [Where data are placed to.])
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2008 Stepan Kasal <kasal@ucw.cz>
|
|
||||||
# Copyright (c) 2008 Andreas Schwab <schwab@suse.de>
|
|
||||||
# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
|
|
||||||
# Copyright (c) 2008 Alexandre Oliva
|
|
||||||
#
|
|
||||||
# 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 6
|
|
||||||
|
|
||||||
AU_ALIAS([AC_DEFINE_DIR], [AX_DEFINE_DIR])
|
|
||||||
AC_DEFUN([AX_DEFINE_DIR], [
|
|
||||||
prefix_NONE=
|
|
||||||
exec_prefix_NONE=
|
|
||||||
test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
|
|
||||||
test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
|
|
||||||
dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn
|
|
||||||
dnl refers to ${prefix}. Thus we have to use `eval' twice.
|
|
||||||
eval ax_define_dir="\"[$]$2\""
|
|
||||||
eval ax_define_dir="\"$ax_define_dir\""
|
|
||||||
AC_SUBST($1, "$ax_define_dir")
|
|
||||||
AC_DEFINE_UNQUOTED($1, "$ax_define_dir", [$3])
|
|
||||||
test "$prefix_NONE" && prefix=NONE
|
|
||||||
test "$exec_prefix_NONE" && exec_prefix=NONE
|
|
||||||
])
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# http://www.gnu.org/software/autoconf-archive/ax_require_defined.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_REQUIRE_DEFINED(MACRO)
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# AX_REQUIRE_DEFINED is a simple helper for making sure other macros have
|
|
||||||
# been defined and thus are available for use. This avoids random issues
|
|
||||||
# where a macro isn't expanded. Instead the configure script emits a
|
|
||||||
# non-fatal:
|
|
||||||
#
|
|
||||||
# ./configure: line 1673: AX_CFLAGS_WARN_ALL: command not found
|
|
||||||
#
|
|
||||||
# It's like AC_REQUIRE except it doesn't expand the required macro.
|
|
||||||
#
|
|
||||||
# Here's an example:
|
|
||||||
#
|
|
||||||
# AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG])
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2014 Mike Frysinger <vapier@gentoo.org>
|
|
||||||
#
|
|
||||||
# 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 1
|
|
||||||
|
|
||||||
AC_DEFUN([AX_REQUIRE_DEFINED], [dnl
|
|
||||||
m4_ifndef([$1], [m4_fatal([macro ]$1[ is not defined; is a m4 file missing?])])
|
|
||||||
])dnl AX_REQUIRE_DEFINED
|
|
||||||
144
meson.build
Normal file
144
meson.build
Normal file
|
|
@ -0,0 +1,144 @@
|
||||||
|
project('pinos', 'c',
|
||||||
|
version : '0.0.1.1',
|
||||||
|
meson_version : '>= 0.33.0',
|
||||||
|
default_options : [ 'warning_level=1',
|
||||||
|
'c_std=gnu99',
|
||||||
|
'buildtype=debugoptimized' ])
|
||||||
|
|
||||||
|
|
||||||
|
pinos_version = meson.project_version()
|
||||||
|
version_arr = pinos_version.split('.')
|
||||||
|
pinos_version_major = version_arr[0]
|
||||||
|
pinos_version_minor = version_arr[1]
|
||||||
|
pinos_version_micro = version_arr[2]
|
||||||
|
if version_arr.length() == 4
|
||||||
|
pinos_version_nano = version_arr[3]
|
||||||
|
else
|
||||||
|
pinos_version_nano = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
apiversion = '1.0'
|
||||||
|
soversion = 0
|
||||||
|
libversion = '@0@.@1@.0'.format(soversion, pinos_version_minor.to_int() * 100 + pinos_version_micro.to_int())
|
||||||
|
|
||||||
|
prefix = get_option('prefix')
|
||||||
|
|
||||||
|
gnome = import('gnome')
|
||||||
|
|
||||||
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
|
||||||
|
cdata = configuration_data()
|
||||||
|
cdata.set('PINOS_VERSION_MAJOR', pinos_version_major)
|
||||||
|
cdata.set('PINOS_VERSION_MINOR', pinos_version_minor)
|
||||||
|
cdata.set('PINOS_VERSION_MICRO', pinos_version_micro)
|
||||||
|
cdata.set('PINOS_VERSION_NANO', pinos_version_nano)
|
||||||
|
cdata.set('PINOS_API_VERSION', '"@0@"'.format(apiversion))
|
||||||
|
cdata.set('PINOS_DATADIR', '"@0@/@1@"'.format(prefix, get_option('datadir')))
|
||||||
|
cdata.set('LOCALEDIR', '"@0@/@1@"'.format(prefix, get_option('localedir')))
|
||||||
|
cdata.set('LIBDIR', '"@0@/@1@"'.format(prefix, get_option('libdir')))
|
||||||
|
cdata.set('PINOS_API_VERSION', '"0.1"')
|
||||||
|
cdata.set('GETTEXT_PACKAGE', '"pinos"')
|
||||||
|
cdata.set('PINOS_LICENSE', '"LGPL"')
|
||||||
|
cdata.set('PINOS_PACKAGE_ORIGIN', '"Unknown package origin"')
|
||||||
|
cdata.set('PINOS_PACKAGE_NAME', '"Pinos source release"')
|
||||||
|
cdata.set('PACKAGE', '"pinos"')
|
||||||
|
cdata.set('PACKAGE_NAME', '"Pinos"')
|
||||||
|
cdata.set('PACKAGE_STRING', '"Pinos @0@"'.format(pinos_version))
|
||||||
|
cdata.set('PACKAGE_TARNAME', '"pinos"')
|
||||||
|
cdata.set('PACKAGE_URL', '""')
|
||||||
|
cdata.set('PACKAGE_VERSION', '"@0@"'.format(pinos_version))
|
||||||
|
cdata.set('PLUGINDIR', '"@0@/@1@/pinos"'.format(get_option('prefix'),get_option('libdir')))
|
||||||
|
cdata.set('MODULEDIR', '"@0@/@1@/pinos"'.format(get_option('prefix'),get_option('libdir')))
|
||||||
|
cdata.set('PINOS_CONFIG_DIR', '"@0@/etc/pinos"'.format(get_option('prefix')))
|
||||||
|
cdata.set('VERSION', '"@0@"'.format(pinos_version))
|
||||||
|
# FIXME: --with-memory-alignment],[8,N,malloc,pagesize (default is 32)]) option
|
||||||
|
cdata.set('MEMORY_ALIGNMENT_MALLOC', 1)
|
||||||
|
|
||||||
|
|
||||||
|
check_headers = [['dlfcn.h','HAVE_DLFCN_H'],
|
||||||
|
['inttypes.h', 'HAVE_INTTYPES_H'],
|
||||||
|
['memory.h', 'HAVE_MEMORY_H'],
|
||||||
|
['poll.h', 'HAVE_POLL_H'],
|
||||||
|
['stdint.h', 'HAVE_STDINT_H'],
|
||||||
|
['stdio_ext.h', 'HAVE_STDIO_EXT_H'],
|
||||||
|
['strings.h', 'HAVE_STRINGS_H'],
|
||||||
|
['string.h', 'HAVE_STRING_H'],
|
||||||
|
['sys/param.h', 'HAVE_SYS_PARAM_H'],
|
||||||
|
['sys/poll.h', 'HAVE_SYS_POLL_H'],
|
||||||
|
['sys/prctl.h', 'HAVE_SYS_PRCTL_H'],
|
||||||
|
['sys/socket.h', 'HAVE_SYS_SOCKET_H'],
|
||||||
|
['sys/stat.h', 'HAVE_SYS_STAT_H'],
|
||||||
|
['sys/times.h', 'HAVE_SYS_TIMES_H'],
|
||||||
|
['sys/time.h', 'HAVE_SYS_TIME_H'],
|
||||||
|
['sys/types.h', 'HAVE_SYS_TYPES_H'],
|
||||||
|
['sys/utsname.h', 'HAVE_SYS_UTSNAME_H'],
|
||||||
|
['sys/wait.h', 'HAVE_SYS_WAIT_H'],
|
||||||
|
['ucontext.h', 'HAVE_UCONTEXT_H'],
|
||||||
|
['unistd.h', 'HAVE_UNISTD_H'],
|
||||||
|
['valgrind/valgrind.h', 'HAVE_VALGRIND_VALGRIND_H'],
|
||||||
|
]
|
||||||
|
|
||||||
|
foreach h : check_headers
|
||||||
|
if cc.has_header(h.get(0))
|
||||||
|
cdata.set(h.get(1), 1)
|
||||||
|
endif
|
||||||
|
endforeach
|
||||||
|
|
||||||
|
if cc.has_function('poll', prefix : '#include<poll.h>')
|
||||||
|
cdata.set('HAVE_POLL', 1)
|
||||||
|
endif
|
||||||
|
if cc.has_function('pselect', prefix : '#include<sys/select.h>')
|
||||||
|
cdata.set('HAVE_PSELECT', 1)
|
||||||
|
endif
|
||||||
|
cdata.set('HAVE_MMAP', 1)
|
||||||
|
|
||||||
|
if cc.has_function('posix_memalign', prefix : '#include<stdlib.h>')
|
||||||
|
cdata.set('HAVE_POSIX_MEMALIGN', 1)
|
||||||
|
endif
|
||||||
|
if cc.has_function('getpagesize', prefix : '#include<unistd.h>')
|
||||||
|
cdata.set('HAVE_GETPAGESIZE', 1)
|
||||||
|
endif
|
||||||
|
if cc.has_function('clock_gettime', prefix : '#include <time.h>')
|
||||||
|
cdata.set('HAVE_CLOCK_GETTIME', 1)
|
||||||
|
endif
|
||||||
|
|
||||||
|
if cc.has_type('ptrdiff_t')
|
||||||
|
cdata.set('HAVE_PTRDIFF_T')
|
||||||
|
endif
|
||||||
|
|
||||||
|
if cc.has_function('mkstemp', prefix : '#include <stdlib.h>')
|
||||||
|
cdata.set('HAVE_MKSTEMP', 1)
|
||||||
|
endif
|
||||||
|
|
||||||
|
configure_file(input : 'config.h.meson',
|
||||||
|
output : 'config.h',
|
||||||
|
configuration : cdata)
|
||||||
|
|
||||||
|
configinc = include_directories('.')
|
||||||
|
pinosinc = include_directories('pinos')
|
||||||
|
|
||||||
|
# Find dependencies
|
||||||
|
glib_dep = dependency('glib-2.0', version : '>=2.32.0')
|
||||||
|
gobject_dep = dependency('gobject-2.0')
|
||||||
|
gmodule_dep = dependency('gmodule-2.0')
|
||||||
|
gio_dep = [dependency('gio-2.0'), dependency('gio-unix-2.0')]
|
||||||
|
mathlib = cc.find_library('m', required : false)
|
||||||
|
rt_lib = cc.find_library('rt', required : false) # clock_gettime
|
||||||
|
dl_lib = cc.find_library('dl', required : false)
|
||||||
|
gst_dep = [dependency('gstreamer-1.0'),
|
||||||
|
dependency('gstreamer-plugins-base-1.0'),
|
||||||
|
dependency('gstreamer-video-1.0'),
|
||||||
|
dependency('gstreamer-audio-1.0'),
|
||||||
|
dependency('gstreamer-allocators-1.0'),]
|
||||||
|
|
||||||
|
subdir('spa')
|
||||||
|
subdir('pinos')
|
||||||
|
subdir('pkgconfig')
|
||||||
|
|
||||||
|
#gtkdoc = find_program('gtkdoc-scan', required : false)
|
||||||
|
#if gtkdoc.found()
|
||||||
|
# subdir('docs')
|
||||||
|
#else
|
||||||
|
# message('Not building documentation as gtk-doc was not found')
|
||||||
|
#endif
|
||||||
54
pinos/client/build_mkenum.py
Executable file
54
pinos/client/build_mkenum.py
Executable file
|
|
@ -0,0 +1,54 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
# This is in its own file rather than inside meson.build
|
||||||
|
# because a) mixing the two is ugly and b) trying to
|
||||||
|
# make special characters such as \n go through all
|
||||||
|
# backends is a fool's errand.
|
||||||
|
|
||||||
|
import sys, os, shutil, subprocess
|
||||||
|
|
||||||
|
h_array = ['--fhead',
|
||||||
|
"#ifndef __PINOS_ENUM_TYPES_H__\n#define __PINOS_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n",
|
||||||
|
'--fprod',
|
||||||
|
"\n/* enumerations from \"@filename@\" */\n",
|
||||||
|
'--vhead',
|
||||||
|
"GType @enum_name@_get_type (void);\n#define PINOS_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n",
|
||||||
|
'--ftail',
|
||||||
|
"G_END_DECLS\n\n#endif /* __PINOS_ENUM_TYPES_H__ */"]
|
||||||
|
|
||||||
|
c_array = [
|
||||||
|
'--fhead',
|
||||||
|
"#include \"pinos.h\"\n#define C_ENUM(v) ((gint) v)\n#define C_FLAGS(v) ((guint) v)\n ",
|
||||||
|
'--fprod',
|
||||||
|
"\n/* enumerations from \"@filename@\" */",
|
||||||
|
'--vhead',
|
||||||
|
"GType\n@enum_name@_get_type (void)\n{\n static gsize id = 0;\n static const G@Type@Value values[] = {",
|
||||||
|
'--vprod',
|
||||||
|
" { C_@TYPE@(@VALUENAME@), \"@VALUENAME@\", \"@valuenick@\" },",
|
||||||
|
'--vtail',
|
||||||
|
" { 0, NULL, NULL }\n };\n\n if (g_once_init_enter (&id)) {\n GType tmp = g_@type@_register_static (\"@EnumName@\", values);\n g_once_init_leave (&id, tmp);\n }\n\n return (GType) id;\n}"
|
||||||
|
]
|
||||||
|
|
||||||
|
cmd = []
|
||||||
|
argn = 1
|
||||||
|
# Find the full command needed to run glib-mkenums
|
||||||
|
# On UNIX-like, this is just the full path to glib-mkenums
|
||||||
|
# On Windows, this is the full path to interpreter + full path to glib-mkenums
|
||||||
|
for arg in sys.argv[1:]:
|
||||||
|
cmd.append(arg)
|
||||||
|
argn += 1
|
||||||
|
if arg.endswith('glib-mkenums'):
|
||||||
|
break
|
||||||
|
ofilename = sys.argv[argn]
|
||||||
|
headers = sys.argv[argn + 1:]
|
||||||
|
|
||||||
|
if ofilename.endswith('.h'):
|
||||||
|
arg_array = h_array
|
||||||
|
else:
|
||||||
|
arg_array = c_array
|
||||||
|
|
||||||
|
pc = subprocess.Popen(cmd + arg_array + headers, stdout=subprocess.PIPE)
|
||||||
|
(stdo, _) = pc.communicate()
|
||||||
|
if pc.returncode != 0:
|
||||||
|
sys.exit(pc.returncode)
|
||||||
|
open(ofilename, 'wb').write(stdo)
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
* Boston, MA 02110-1301, USA.
|
* Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <pinos/client/pinos.h>
|
||||||
#include <pinos/client/format.h>
|
#include <pinos/client/format.h>
|
||||||
|
|
||||||
static SpaFormat *
|
static SpaFormat *
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
* Boston, MA 02110-1301, USA.
|
* Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "pinos.h"
|
||||||
#include "mainloop.h"
|
#include "mainloop.h"
|
||||||
|
|
||||||
struct _PinosMainLoopPrivate
|
struct _PinosMainLoopPrivate
|
||||||
|
|
|
||||||
69
pinos/client/meson.build
Normal file
69
pinos/client/meson.build
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
pinos_headers = [
|
||||||
|
'context.h',
|
||||||
|
'format.h',
|
||||||
|
'introspect.h',
|
||||||
|
'mainloop.h',
|
||||||
|
'pinos.h',
|
||||||
|
'properties.h',
|
||||||
|
'stream.h',
|
||||||
|
'ringbuffer.h',
|
||||||
|
'subscribe.h',
|
||||||
|
]
|
||||||
|
|
||||||
|
pinos_sources = [
|
||||||
|
'context.c',
|
||||||
|
'format.c',
|
||||||
|
'introspect.c',
|
||||||
|
'mainloop.c',
|
||||||
|
'properties.c',
|
||||||
|
'stream.c',
|
||||||
|
'pinos.c',
|
||||||
|
'ringbuffer.c',
|
||||||
|
'subscribe.c',
|
||||||
|
]
|
||||||
|
|
||||||
|
install_headers(pinos_headers, subdir : 'pinos/client')
|
||||||
|
|
||||||
|
mkenums = find_program('build_mkenum.py')
|
||||||
|
glib_mkenums = find_program('glib-mkenums')
|
||||||
|
|
||||||
|
enumtypes_h = custom_target('enumtypes_h',
|
||||||
|
output : 'enumtypes.h',
|
||||||
|
input : pinos_headers,
|
||||||
|
install : true,
|
||||||
|
install_dir : 'include/pinos/client',
|
||||||
|
command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
|
||||||
|
|
||||||
|
enumtypes_c = custom_target('enumtypes_c',
|
||||||
|
output : 'enumtypes.c',
|
||||||
|
input : pinos_headers,
|
||||||
|
depends : [enumtypes_h],
|
||||||
|
command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
|
||||||
|
|
||||||
|
|
||||||
|
libpinos_c_args = [
|
||||||
|
'-DHAVE_CONFIG_H',
|
||||||
|
'-D_GNU_SOURCE',
|
||||||
|
'-DG_LOG_DOMAIN=g_log_domain_pinos',
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
pinos_gen_sources = [enumtypes_h]
|
||||||
|
|
||||||
|
libpinos = shared_library('pinos', pinos_sources,
|
||||||
|
enumtypes_h, enumtypes_c,
|
||||||
|
version : libversion,
|
||||||
|
soversion : soversion,
|
||||||
|
c_args : libpinos_c_args,
|
||||||
|
include_directories : [configinc, spa_inc],
|
||||||
|
link_with : spalib,
|
||||||
|
install : true,
|
||||||
|
dependencies : [gobject_dep, gmodule_dep, glib_dep, gio_dep, mathlib],
|
||||||
|
)
|
||||||
|
|
||||||
|
pinos_dep = declare_dependency(link_with : libpinos,
|
||||||
|
include_directories : [configinc, spa_inc],
|
||||||
|
dependencies : [glib_dep, gobject_dep, gmodule_dep],
|
||||||
|
# Everything that uses libpinos needs this built to compile
|
||||||
|
sources : pinos_gen_sources,
|
||||||
|
)
|
||||||
|
|
@ -22,6 +22,8 @@
|
||||||
#include "pinos/client/pinos.h"
|
#include "pinos/client/pinos.h"
|
||||||
#include "spa/include/spa/memory.h"
|
#include "spa/include/spa/memory.h"
|
||||||
|
|
||||||
|
const gchar g_log_domain_pinos[] = "Pinos";
|
||||||
|
|
||||||
GQuark
|
GQuark
|
||||||
pinos_error_quark (void)
|
pinos_error_quark (void)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@
|
||||||
#ifndef __PINOS_H__
|
#ifndef __PINOS_H__
|
||||||
#define __PINOS_H__
|
#define __PINOS_H__
|
||||||
|
|
||||||
|
extern const char g_log_domain_pinos[];
|
||||||
|
|
||||||
#include <pinos/client/context.h>
|
#include <pinos/client/context.h>
|
||||||
#include <pinos/client/enumtypes.h>
|
#include <pinos/client/enumtypes.h>
|
||||||
#include <pinos/client/introspect.h>
|
#include <pinos/client/introspect.h>
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
#include <glib-object.h>
|
#include <glib-object.h>
|
||||||
|
|
||||||
|
#include "pinos/client/pinos.h"
|
||||||
#include "pinos/client/properties.h"
|
#include "pinos/client/properties.h"
|
||||||
|
|
||||||
struct _PinosProperties {
|
struct _PinosProperties {
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@
|
||||||
* Boston, MA 02110-1301, USA.
|
* Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define _GNU_SOURCE
|
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
@ -28,6 +26,7 @@
|
||||||
#include <gio/gio.h>
|
#include <gio/gio.h>
|
||||||
#include <glib-object.h>
|
#include <glib-object.h>
|
||||||
|
|
||||||
|
#include <pinos/client/pinos.h>
|
||||||
#include <pinos/client/enumtypes.h>
|
#include <pinos/client/enumtypes.h>
|
||||||
#include <pinos/client/ringbuffer.h>
|
#include <pinos/client/ringbuffer.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -632,8 +632,10 @@ add_state_change (PinosStream *stream, SpaControlBuilder *builder, SpaNodeState
|
||||||
PinosStreamPrivate *priv = stream->priv;
|
PinosStreamPrivate *priv = stream->priv;
|
||||||
SpaControlCmdNodeStateChange sc;
|
SpaControlCmdNodeStateChange sc;
|
||||||
|
|
||||||
sc.state = priv->node_state = state;
|
if (priv->node_state != state) {
|
||||||
spa_control_builder_add_cmd (builder, SPA_CONTROL_CMD_NODE_STATE_CHANGE, &sc);
|
sc.state = priv->node_state = state;
|
||||||
|
spa_control_builder_add_cmd (builder, SPA_CONTROL_CMD_NODE_STATE_CHANGE, &sc);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
@ -1504,27 +1506,7 @@ pinos_stream_start (PinosStream *stream)
|
||||||
static gboolean
|
static gboolean
|
||||||
do_stop (PinosStream *stream)
|
do_stop (PinosStream *stream)
|
||||||
{
|
{
|
||||||
PinosStreamPrivate *priv = stream->priv;
|
|
||||||
SpaControlBuilder builder;
|
|
||||||
SpaControl control;
|
|
||||||
SpaControlCmdNodeCommand cnc;
|
|
||||||
SpaNodeCommand nc;
|
|
||||||
|
|
||||||
control_builder_init (stream, &builder);
|
|
||||||
cnc.command = &nc;
|
|
||||||
nc.type = SPA_NODE_COMMAND_PAUSE;
|
|
||||||
nc.data = NULL;
|
|
||||||
nc.size = 0;
|
|
||||||
spa_control_builder_add_cmd (&builder, SPA_CONTROL_CMD_NODE_COMMAND, &cnc);
|
|
||||||
spa_control_builder_end (&builder, &control);
|
|
||||||
|
|
||||||
if (spa_control_write (&control, priv->fd) < 0)
|
|
||||||
g_warning ("stream %p: failed to write control", stream);
|
|
||||||
|
|
||||||
spa_control_clear (&control);
|
|
||||||
|
|
||||||
g_object_unref (stream);
|
g_object_unref (stream);
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,8 @@
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <server/command.h>
|
#include <pinos/client/pinos.h>
|
||||||
|
#include <pinos/server/command.h>
|
||||||
|
|
||||||
#include "pinos/daemon/daemon-config.h"
|
#include "pinos/daemon/daemon-config.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
#include <server/daemon.h>
|
#include <pinos/server/daemon.h>
|
||||||
|
|
||||||
#define PINOS_TYPE_DAEMON_CONFIG (pinos_daemon_config_get_type ())
|
#define PINOS_TYPE_DAEMON_CONFIG (pinos_daemon_config_get_type ())
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,9 +20,9 @@
|
||||||
#include <gio/gio.h>
|
#include <gio/gio.h>
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|
||||||
#include <client/pinos.h>
|
#include <pinos/client/pinos.h>
|
||||||
#include <server/daemon.h>
|
#include <pinos/server/daemon.h>
|
||||||
#include <server/module.h>
|
#include <pinos/server/module.h>
|
||||||
#include <spa/include/spa/memory.h>
|
#include <spa/include/spa/memory.h>
|
||||||
|
|
||||||
#include "daemon-config.h"
|
#include "daemon-config.h"
|
||||||
|
|
|
||||||
22
pinos/daemon/meson.build
Normal file
22
pinos/daemon/meson.build
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
pinos_sources = [
|
||||||
|
'main.c',
|
||||||
|
'daemon-config.c',
|
||||||
|
]
|
||||||
|
|
||||||
|
pinos_headers = [
|
||||||
|
'daemon-config.h',
|
||||||
|
]
|
||||||
|
|
||||||
|
pinos_c_args = [
|
||||||
|
'-DHAVE_CONFIG_H',
|
||||||
|
'-D_GNU_SOURCE',
|
||||||
|
'-DG_LOG_DOMAIN=g_log_domain_pinos',
|
||||||
|
]
|
||||||
|
|
||||||
|
executable('pinos',
|
||||||
|
pinos_sources,
|
||||||
|
install: true,
|
||||||
|
c_args : pinos_c_args,
|
||||||
|
include_directories : [configinc, spa_inc],
|
||||||
|
dependencies : [glib_dep, gobject_dep, gmodule_dep, pinos_dep, pinoscore_dep],
|
||||||
|
)
|
||||||
15
pinos/dbus/meson.build
Normal file
15
pinos/dbus/meson.build
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
|
||||||
|
gdbus_codegen = find_program('gdbus-codegen')
|
||||||
|
|
||||||
|
org_pinos_files = ['org-pinos.c', 'org-pinos.h']
|
||||||
|
|
||||||
|
gdbus_target = custom_target('org-pinos',
|
||||||
|
output : org_pinos_files,
|
||||||
|
input : 'org.pinos.xml',
|
||||||
|
command : [gdbus_codegen,
|
||||||
|
'--interface-prefix', 'org.pinos.',
|
||||||
|
'--generate-c-code', 'pinos/dbus/org-pinos',
|
||||||
|
'--c-namespace', 'Pinos',
|
||||||
|
'--c-generate-object-manager',
|
||||||
|
'@INPUT@'],
|
||||||
|
)
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
|
||||||
#include <client/pinos.h>
|
#include <pinos/client/pinos.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <client/pinos.h>
|
#include <pinos/client/pinos.h>
|
||||||
|
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
|
||||||
#include <client/pinos.h>
|
#include <pinos/client/pinos.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,8 @@
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
#include <gst/base/gstbasesink.h>
|
#include <gst/base/gstbasesink.h>
|
||||||
|
|
||||||
#include <client/pinos.h>
|
#include <pinos/client/pinos.h>
|
||||||
#include <gst/gstpinospool.h>
|
#include <pinos/gst/gstpinospool.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
#include <gst/base/gstpushsrc.h>
|
#include <gst/base/gstpushsrc.h>
|
||||||
|
|
||||||
#include <client/pinos.h>
|
#include <pinos/client/pinos.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
|
|
||||||
31
pinos/gst/meson.build
Normal file
31
pinos/gst/meson.build
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
pinos_gst_sources = [
|
||||||
|
'gstpinos.c',
|
||||||
|
'gstpinosclock.c',
|
||||||
|
'gstpinosdeviceprovider.c',
|
||||||
|
'gstpinosformat.c',
|
||||||
|
'gstpinospool.c',
|
||||||
|
'gstpinossink.c',
|
||||||
|
'gstpinossrc.c',
|
||||||
|
]
|
||||||
|
|
||||||
|
pinos_gst_headers = [
|
||||||
|
'gstpinosclock.h',
|
||||||
|
'gstpinosdeviceprovider.h',
|
||||||
|
'gstpinosformat.h',
|
||||||
|
'gstpinospool.h',
|
||||||
|
'gstpinossink.h',
|
||||||
|
'gstpinossrc.h',
|
||||||
|
]
|
||||||
|
|
||||||
|
pinos_gst_c_args = [
|
||||||
|
'-DHAVE_CONFIG_H',
|
||||||
|
]
|
||||||
|
|
||||||
|
pinos_gst = shared_library('gstpinos',
|
||||||
|
pinos_gst_sources,
|
||||||
|
c_args : pinos_gst_c_args,
|
||||||
|
include_directories : [configinc, spa_inc],
|
||||||
|
dependencies : [gobject_dep, glib_dep, gio_dep, gst_dep, pinos_dep, pinoscore_dep],
|
||||||
|
install : true,
|
||||||
|
install_dir : '@0@/gstreamer-1.0'.format(get_option('libdir')),
|
||||||
|
)
|
||||||
8
pinos/meson.build
Normal file
8
pinos/meson.build
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
|
||||||
|
subdir('dbus')
|
||||||
|
subdir('client')
|
||||||
|
subdir('server')
|
||||||
|
subdir('daemon')
|
||||||
|
subdir('tools')
|
||||||
|
subdir('modules')
|
||||||
|
subdir('gst')
|
||||||
27
pinos/modules/gst/meson.build
Normal file
27
pinos/modules/gst/meson.build
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
pinos_module_spa_headers = [
|
||||||
|
'spa-alsa-monitor.h',
|
||||||
|
'spa-audiotestsrc.h',
|
||||||
|
'spa-v4l2-monitor.h',
|
||||||
|
'spa-videotestsrc.h',
|
||||||
|
]
|
||||||
|
|
||||||
|
pinos_module_spa_sources = [
|
||||||
|
'module.c',
|
||||||
|
'spa-alsa-monitor.c',
|
||||||
|
'spa-audiotestsrc.c',
|
||||||
|
'spa-v4l2-monitor.c',
|
||||||
|
'spa-videotestsrc.c',
|
||||||
|
]
|
||||||
|
|
||||||
|
pinos_module_spa_c_args = [
|
||||||
|
'-DHAVE_CONFIG_H',
|
||||||
|
'-D_GNU_SOURCE',
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
pinos_module_spa = shared_library('pinos-module-spa', pinos_module_spa_sources,
|
||||||
|
c_args : pinos_module_spa_c_args,
|
||||||
|
include_directories : [configinc, pinosinc, spa_inc],
|
||||||
|
link_with : spalib,
|
||||||
|
dependencies : [gobject_dep, gmodule_dep, glib_dep, gio_dep, mathlib, dl_lib, pinos_dep, pinoscore_dep],
|
||||||
|
)
|
||||||
2
pinos/modules/meson.build
Normal file
2
pinos/modules/meson.build
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
#subdir('gst')
|
||||||
|
subdir('spa')
|
||||||
29
pinos/modules/spa/meson.build
Normal file
29
pinos/modules/spa/meson.build
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
pinos_module_spa_headers = [
|
||||||
|
'spa-alsa-monitor.h',
|
||||||
|
'spa-audiotestsrc.h',
|
||||||
|
'spa-v4l2-monitor.h',
|
||||||
|
'spa-videotestsrc.h',
|
||||||
|
]
|
||||||
|
|
||||||
|
pinos_module_spa_sources = [
|
||||||
|
'module.c',
|
||||||
|
'spa-alsa-monitor.c',
|
||||||
|
'spa-audiotestsrc.c',
|
||||||
|
'spa-v4l2-monitor.c',
|
||||||
|
'spa-videotestsrc.c',
|
||||||
|
]
|
||||||
|
|
||||||
|
pinos_module_spa_c_args = [
|
||||||
|
'-DHAVE_CONFIG_H',
|
||||||
|
'-D_GNU_SOURCE',
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
pinos_module_spa = shared_library('pinos-module-spa', pinos_module_spa_sources,
|
||||||
|
c_args : pinos_module_spa_c_args,
|
||||||
|
include_directories : [configinc, pinosinc, spa_inc],
|
||||||
|
link_with : spalib,
|
||||||
|
install : true,
|
||||||
|
install_dir : '@0@/pinos-0.1'.format(get_option('libdir')),
|
||||||
|
dependencies : [gobject_dep, gmodule_dep, glib_dep, gio_dep, mathlib, dl_lib, pinos_dep, pinoscore_dep],
|
||||||
|
)
|
||||||
|
|
@ -17,8 +17,6 @@
|
||||||
* Boston, MA 02110-1301, USA.
|
* Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define _GNU_SOURCE
|
|
||||||
|
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <poll.h>
|
#include <poll.h>
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@
|
||||||
* Boston, MA 02110-1301, USA.
|
* Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define _GNU_SOURCE
|
|
||||||
|
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <poll.h>
|
#include <poll.h>
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@
|
||||||
* Boston, MA 02110-1301, USA.
|
* Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define _GNU_SOURCE
|
|
||||||
|
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
|
|
||||||
#include <spa/include/spa/node.h>
|
#include <spa/include/spa/node.h>
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@
|
||||||
* Boston, MA 02110-1301, USA.
|
* Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define _GNU_SOURCE
|
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,8 @@
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <server/module.h>
|
#include <pinos/client/pinos.h>
|
||||||
|
#include <pinos/server/module.h>
|
||||||
|
|
||||||
#include "command.h"
|
#include "command.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
#include <server/daemon.h>
|
#include <pinos/server/daemon.h>
|
||||||
|
|
||||||
typedef struct _PinosCommand PinosCommand;
|
typedef struct _PinosCommand PinosCommand;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -554,11 +554,17 @@ do_start (PinosLink *this, SpaNodeState in_state, SpaNodeState out_state)
|
||||||
} else {
|
} else {
|
||||||
pinos_link_update_state (this, PINOS_LINK_STATE_PAUSED);
|
pinos_link_update_state (this, PINOS_LINK_STATE_PAUSED);
|
||||||
|
|
||||||
if (in_state == SPA_NODE_STATE_PAUSED)
|
if (in_state == SPA_NODE_STATE_PAUSED) {
|
||||||
pinos_node_set_state (this->input_node, PINOS_NODE_STATE_RUNNING);
|
pinos_node_set_state (this->input_node, PINOS_NODE_STATE_RUNNING);
|
||||||
|
if (pinos_node_get_state (this->input_node) != PINOS_NODE_STATE_RUNNING)
|
||||||
|
res = SPA_RESULT_RETURN_ASYNC (0);
|
||||||
|
}
|
||||||
|
|
||||||
if (out_state == SPA_NODE_STATE_PAUSED)
|
if (out_state == SPA_NODE_STATE_PAUSED) {
|
||||||
pinos_node_set_state (this->output_node, PINOS_NODE_STATE_RUNNING);
|
pinos_node_set_state (this->output_node, PINOS_NODE_STATE_RUNNING);
|
||||||
|
if (pinos_node_get_state (this->output_node) != PINOS_NODE_STATE_RUNNING)
|
||||||
|
res = SPA_RESULT_RETURN_ASYNC (0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
42
pinos/server/meson.build
Normal file
42
pinos/server/meson.build
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
pinoscore_headers = [
|
||||||
|
'client.h',
|
||||||
|
'client-node.h',
|
||||||
|
'command.h',
|
||||||
|
'daemon.h',
|
||||||
|
'link.h',
|
||||||
|
'module.h',
|
||||||
|
'node.h',
|
||||||
|
'node-factory.h',
|
||||||
|
]
|
||||||
|
|
||||||
|
pinoscore_sources = [
|
||||||
|
'client.c',
|
||||||
|
'client-node.c',
|
||||||
|
'command.c',
|
||||||
|
'daemon.c',
|
||||||
|
'link.c',
|
||||||
|
'module.c',
|
||||||
|
'node.c',
|
||||||
|
'node-factory.c',
|
||||||
|
]
|
||||||
|
|
||||||
|
libpinoscore_c_args = [
|
||||||
|
'-DHAVE_CONFIG_H',
|
||||||
|
'-D_GNU_SOURCE',
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
libpinoscore = shared_library('pinoscore', pinoscore_sources, gdbus_target,
|
||||||
|
version : libversion,
|
||||||
|
soversion : soversion,
|
||||||
|
c_args : libpinoscore_c_args,
|
||||||
|
include_directories : [configinc, spa_inc],
|
||||||
|
link_with : spalib,
|
||||||
|
install : true,
|
||||||
|
dependencies : [gobject_dep, gmodule_dep, glib_dep, gio_dep, mathlib, dl_lib, pinos_dep],
|
||||||
|
)
|
||||||
|
|
||||||
|
pinoscore_dep = declare_dependency(link_with : libpinoscore,
|
||||||
|
include_directories : [configinc, spa_inc],
|
||||||
|
dependencies : [glib_dep, gobject_dep, gmodule_dep, pinos_dep],
|
||||||
|
)
|
||||||
|
|
@ -25,6 +25,7 @@
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
#include <gmodule.h>
|
#include <gmodule.h>
|
||||||
|
|
||||||
|
#include "pinos/client/pinos.h"
|
||||||
#include "pinos/server/module.h"
|
#include "pinos/server/module.h"
|
||||||
|
|
||||||
#define PINOS_SYMBOL_MODULE_INIT "pinos__module_init"
|
#define PINOS_SYMBOL_MODULE_INIT "pinos__module_init"
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ typedef struct _PinosNodeFactory PinosNodeFactory;
|
||||||
typedef struct _PinosNodeFactoryClass PinosNodeFactoryClass;
|
typedef struct _PinosNodeFactoryClass PinosNodeFactoryClass;
|
||||||
typedef struct _PinosNodeFactoryPrivate PinosNodeFactoryPrivate;
|
typedef struct _PinosNodeFactoryPrivate PinosNodeFactoryPrivate;
|
||||||
|
|
||||||
#include <server/daemon.h>
|
#include <pinos/server/daemon.h>
|
||||||
|
|
||||||
#define PINOS_TYPE_NODE_FACTORY (pinos_node_factory_get_type ())
|
#define PINOS_TYPE_NODE_FACTORY (pinos_node_factory_get_type ())
|
||||||
#define PINOS_IS_NODE_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PINOS_TYPE_NODE_FACTORY))
|
#define PINOS_IS_NODE_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PINOS_TYPE_NODE_FACTORY))
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,8 @@ struct _PinosNodePrivate
|
||||||
guint n_used_input_links;
|
guint n_used_input_links;
|
||||||
|
|
||||||
SpaNodeEventAsyncComplete ac;
|
SpaNodeEventAsyncComplete ac;
|
||||||
|
uint32_t pending_state_seq;
|
||||||
|
PinosNodeState pending_state;
|
||||||
};
|
};
|
||||||
|
|
||||||
G_DEFINE_TYPE (PinosNode, pinos_node, G_TYPE_OBJECT);
|
G_DEFINE_TYPE (PinosNode, pinos_node, G_TYPE_OBJECT);
|
||||||
|
|
@ -359,13 +361,20 @@ start_node (PinosNode *this)
|
||||||
static SpaResult
|
static SpaResult
|
||||||
suspend_node (PinosNode *this)
|
suspend_node (PinosNode *this)
|
||||||
{
|
{
|
||||||
SpaResult res;
|
PinosNodePrivate *priv = this->priv;
|
||||||
|
SpaResult res = SPA_RESULT_OK;
|
||||||
|
guint i;
|
||||||
|
|
||||||
g_debug ("node %p: suspend node", this);
|
g_debug ("node %p: suspend node", this);
|
||||||
|
|
||||||
if ((res = spa_node_port_set_format (this->node, 0, 0, NULL)) < 0)
|
for (i = 0; i < priv->n_input_ports; i++) {
|
||||||
g_warning ("error unset format output: %d", res);
|
if ((res = spa_node_port_set_format (this->node, priv->input_port_ids[i], 0, NULL)) < 0)
|
||||||
|
g_warning ("error unset format output: %d", res);
|
||||||
|
}
|
||||||
|
for (i = 0; i < priv->n_output_ports; i++) {
|
||||||
|
if ((res = spa_node_port_set_format (this->node, priv->output_port_ids[i], 0, NULL)) < 0)
|
||||||
|
g_warning ("error unset format output: %d", res);
|
||||||
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -404,6 +413,7 @@ static gboolean
|
||||||
node_set_state (PinosNode *this,
|
node_set_state (PinosNode *this,
|
||||||
PinosNodeState state)
|
PinosNodeState state)
|
||||||
{
|
{
|
||||||
|
PinosNodePrivate *priv = this->priv;
|
||||||
SpaResult res = SPA_RESULT_OK;
|
SpaResult res = SPA_RESULT_OK;
|
||||||
|
|
||||||
g_debug ("node %p: set state %s", this, pinos_node_state_as_string (state));
|
g_debug ("node %p: set state %s", this, pinos_node_state_as_string (state));
|
||||||
|
|
@ -434,7 +444,12 @@ node_set_state (PinosNode *this,
|
||||||
if (SPA_RESULT_IS_ERROR (res))
|
if (SPA_RESULT_IS_ERROR (res))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
pinos_node_update_state (this, state);
|
if (SPA_RESULT_IS_ASYNC (res)) {
|
||||||
|
priv->pending_state_seq = SPA_RESULT_ASYNC_SEQ (res);
|
||||||
|
priv->pending_state = state;
|
||||||
|
} else {
|
||||||
|
pinos_node_update_state (this, state);
|
||||||
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
@ -482,6 +497,9 @@ do_handle_async_complete (PinosNode *this)
|
||||||
init_complete (this);
|
init_complete (this);
|
||||||
priv->async_init = FALSE;
|
priv->async_init = FALSE;
|
||||||
}
|
}
|
||||||
|
if (priv->pending_state_seq == ac->seq) {
|
||||||
|
pinos_node_update_state (this, priv->pending_state);
|
||||||
|
}
|
||||||
g_signal_emit (this, signals[SIGNAL_ASYNC_COMPLETE], 0, ac->seq, ac->res);
|
g_signal_emit (this, signals[SIGNAL_ASYNC_COMPLETE], 0, ac->seq, ac->res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1029,6 +1047,7 @@ pinos_node_init (PinosNode * node)
|
||||||
(GCallback) handle_remove,
|
(GCallback) handle_remove,
|
||||||
node);
|
node);
|
||||||
priv->state = PINOS_NODE_STATE_CREATING;
|
priv->state = PINOS_NODE_STATE_CREATING;
|
||||||
|
priv->pending_state_seq = SPA_ID_INVALID;
|
||||||
pinos_node1_set_state (priv->iface, priv->state);
|
pinos_node1_set_state (priv->iface, priv->state);
|
||||||
|
|
||||||
priv->input_links = g_array_new (FALSE, TRUE, sizeof (NodeLink));
|
priv->input_links = g_array_new (FALSE, TRUE, sizeof (NodeLink));
|
||||||
|
|
|
||||||
5
pinos/tools/meson.build
Normal file
5
pinos/tools/meson.build
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
executable('pinos-monitor',
|
||||||
|
'pinos-monitor.c',
|
||||||
|
install: true,
|
||||||
|
dependencies : [glib_dep, gobject_dep, gmodule_dep, pinos_dep],
|
||||||
|
)
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
* Boston, MA 02110-1301, USA.
|
* Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <client/pinos.h>
|
#include <pinos/client/pinos.h>
|
||||||
|
|
||||||
static GMainLoop *loop;
|
static GMainLoop *loop;
|
||||||
|
|
||||||
|
|
|
||||||
22
pkgconfig/meson.build
Normal file
22
pkgconfig/meson.build
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
pkgconf = configuration_data()
|
||||||
|
|
||||||
|
pkgconf.set('prefix', get_option('prefix'))
|
||||||
|
pkgconf.set('exec_prefix', '${prefix}')
|
||||||
|
pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
|
||||||
|
pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
|
||||||
|
pkgconf.set('PINOS_API_VERSION', apiversion)
|
||||||
|
pkgconf.set('VERSION', pinos_version)
|
||||||
|
|
||||||
|
pkg_install_dir = '@0@/pkgconfig'.format(get_option('libdir'))
|
||||||
|
|
||||||
|
pkg_files = ['libpinos',
|
||||||
|
]
|
||||||
|
|
||||||
|
foreach p : pkg_files
|
||||||
|
infile = p + '.pc.in'
|
||||||
|
outfile = p + '-0.1.pc'
|
||||||
|
configure_file(input : infile,
|
||||||
|
output : outfile,
|
||||||
|
configuration : pkgconf,
|
||||||
|
install_dir : pkg_install_dir)
|
||||||
|
endforeach
|
||||||
|
|
@ -130,9 +130,10 @@ typedef struct {
|
||||||
|
|
||||||
/* SPA_CONTROL_CMD_SET_FORMAT */
|
/* SPA_CONTROL_CMD_SET_FORMAT */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint32_t seq;
|
uint32_t seq;
|
||||||
uint32_t port_id;
|
uint32_t port_id;
|
||||||
SpaFormat *format;
|
SpaPortFormatFlags flags;
|
||||||
|
SpaFormat *format;
|
||||||
} SpaControlCmdSetFormat;
|
} SpaControlCmdSetFormat;
|
||||||
|
|
||||||
/* SPA_CONTROL_CMD_SET_PROPERTY */
|
/* SPA_CONTROL_CMD_SET_PROPERTY */
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,22 @@
|
||||||
install_headers('buffer.h',
|
spa_headers = [
|
||||||
'command.h',
|
'buffer.h',
|
||||||
'defs.h',
|
'clock.h',
|
||||||
'event.h',
|
'control.h',
|
||||||
'node.h',
|
'debug.h',
|
||||||
'plugin.h',
|
'defs.h',
|
||||||
'port.h',
|
'dict.h',
|
||||||
'props.h')
|
'format.h',
|
||||||
|
'memory.h',
|
||||||
|
'monitor.h',
|
||||||
|
'node-command.h',
|
||||||
|
'node-event.h',
|
||||||
|
'node.h',
|
||||||
|
'plugin.h',
|
||||||
|
'poll.h',
|
||||||
|
'port.h',
|
||||||
|
'props.h',
|
||||||
|
'queue.h',
|
||||||
|
'ringbuffer.h'
|
||||||
|
]
|
||||||
|
|
||||||
|
install_headers(spa_headers, subdir : 'spa')
|
||||||
|
|
|
||||||
|
|
@ -10,9 +10,13 @@ spalib_sources = ['audio-raw.c',
|
||||||
|
|
||||||
spalib = shared_library('spa-lib',
|
spalib = shared_library('spa-lib',
|
||||||
spalib_sources,
|
spalib_sources,
|
||||||
include_directories : inc,
|
include_directories : spa_inc,
|
||||||
install : true)
|
|
||||||
spalibs = static_library('spa-lib',
|
|
||||||
spalib_sources,
|
|
||||||
include_directories : inc,
|
|
||||||
install : true)
|
install : true)
|
||||||
|
#spalibs = static_library('spa-lib',
|
||||||
|
# spalib_sources,
|
||||||
|
# include_directories : spa_inc,
|
||||||
|
# install : true)
|
||||||
|
|
||||||
|
spalib_dep = declare_dependency(link_with : spalib,
|
||||||
|
include_directories : spa_inc,
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
project('spa', 'c')
|
#project('spa', 'c')
|
||||||
|
|
||||||
alsa_dep = dependency('alsa')
|
alsa_dep = dependency('alsa')
|
||||||
v4l2_dep = dependency('libv4l2')
|
v4l2_dep = dependency('libv4l2')
|
||||||
|
|
@ -16,7 +16,7 @@ cc = meson.get_compiler('c')
|
||||||
dl_lib = cc.find_library('dl', required : true)
|
dl_lib = cc.find_library('dl', required : true)
|
||||||
pthread_lib = cc.find_library('pthread', required : true)
|
pthread_lib = cc.find_library('pthread', required : true)
|
||||||
|
|
||||||
inc = include_directories('include')
|
spa_inc = include_directories('include')
|
||||||
|
|
||||||
subdir('include')
|
subdir('include')
|
||||||
subdir('lib')
|
subdir('lib')
|
||||||
|
|
|
||||||
|
|
@ -255,7 +255,7 @@ spa_alsa_monitor_set_event_callback (SpaMonitor *monitor,
|
||||||
return SPA_RESULT_ERROR;
|
return SPA_RESULT_ERROR;
|
||||||
|
|
||||||
udev_monitor_filter_add_match_subsystem_devtype (this->umonitor,
|
udev_monitor_filter_add_match_subsystem_devtype (this->umonitor,
|
||||||
"video4linux",
|
"sound",
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
udev_monitor_enable_receiving (this->umonitor);
|
udev_monitor_enable_receiving (this->umonitor);
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,13 @@
|
||||||
alsa_sources = ['alsa.c',
|
spa_alsa_sources = ['alsa.c',
|
||||||
'alsa-monitor.c',
|
'alsa-monitor.c',
|
||||||
'alsa-sink.c',
|
'alsa-sink.c',
|
||||||
'alsa-source.c',
|
'alsa-source.c',
|
||||||
'alsa-utils.c']
|
'alsa-utils.c']
|
||||||
|
|
||||||
alsalib = shared_library('spa-alsa',
|
spa_alsa = shared_library('spa-alsa',
|
||||||
alsa_sources,
|
spa_alsa_sources,
|
||||||
include_directories : inc,
|
include_directories : spa_inc,
|
||||||
dependencies : [ alsa_dep, libudev_dep ],
|
dependencies : [ alsa_dep, libudev_dep ],
|
||||||
link_with : spalib,
|
link_with : spalib,
|
||||||
install : true)
|
install : true,
|
||||||
|
install_dir : '@0@/spa'.format(get_option('libdir')))
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ audiomixer_sources = ['audiomixer.c', 'plugin.c']
|
||||||
|
|
||||||
audiomixerlib = shared_library('spa-audiomixer',
|
audiomixerlib = shared_library('spa-audiomixer',
|
||||||
audiomixer_sources,
|
audiomixer_sources,
|
||||||
include_directories : inc,
|
include_directories : spa_inc,
|
||||||
link_with : spalib,
|
link_with : spalib,
|
||||||
install : true)
|
install : true,
|
||||||
|
install_dir : '@0@/spa'.format(get_option('libdir')))
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ audiotestsrc_sources = ['audiotestsrc.c', 'plugin.c']
|
||||||
|
|
||||||
audiotestsrclib = shared_library('spa-audiotestsrc',
|
audiotestsrclib = shared_library('spa-audiotestsrc',
|
||||||
audiotestsrc_sources,
|
audiotestsrc_sources,
|
||||||
include_directories : inc,
|
include_directories : spa_inc,
|
||||||
link_with : spalib,
|
link_with : spalib,
|
||||||
install : true)
|
install : true,
|
||||||
|
install_dir : '@0@/spa'.format(get_option('libdir')))
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@ ffmpeg_sources = ['ffmpeg.c',
|
||||||
|
|
||||||
ffmpeglib = shared_library('spa-ffmpeg',
|
ffmpeglib = shared_library('spa-ffmpeg',
|
||||||
ffmpeg_sources,
|
ffmpeg_sources,
|
||||||
include_directories : inc,
|
include_directories : spa_inc,
|
||||||
dependencies : [ avcodec_dep, avformat_dep ],
|
dependencies : [ avcodec_dep, avformat_dep ],
|
||||||
link_with : spalib,
|
link_with : spalib,
|
||||||
install : true)
|
install : true,
|
||||||
|
install_dir : '@0@/spa'.format(get_option('libdir')))
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,5 @@ libvalib = shared_library('spa-libva',
|
||||||
include_directories : inc,
|
include_directories : inc,
|
||||||
dependencies : libva_dep,
|
dependencies : libva_dep,
|
||||||
link_with : spalib,
|
link_with : spalib,
|
||||||
install : true)
|
install : true,
|
||||||
|
install_dir : '@0@/spa'.format(get_option('libdir')))
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ remote_sources = ['proxy.c', 'plugin.c']
|
||||||
|
|
||||||
remotelib = shared_library('spa-remote',
|
remotelib = shared_library('spa-remote',
|
||||||
remote_sources,
|
remote_sources,
|
||||||
include_directories : inc,
|
include_directories : spa_inc,
|
||||||
link_with : spalib,
|
link_with : spalib,
|
||||||
install : true)
|
install : true,
|
||||||
|
install_dir : '@0@/spa'.format(get_option('libdir')))
|
||||||
|
|
|
||||||
|
|
@ -496,6 +496,7 @@ spa_proxy_node_port_set_format (SpaNode *node,
|
||||||
spa_control_builder_init_into (&builder, buf, sizeof (buf), NULL, 0);
|
spa_control_builder_init_into (&builder, buf, sizeof (buf), NULL, 0);
|
||||||
sf.seq = this->seq++;
|
sf.seq = this->seq++;
|
||||||
sf.port_id = port_id;
|
sf.port_id = port_id;
|
||||||
|
sf.flags = flags;
|
||||||
sf.format = (SpaFormat *) format;
|
sf.format = (SpaFormat *) format;
|
||||||
spa_control_builder_add_cmd (&builder, SPA_CONTROL_CMD_SET_FORMAT, &sf);
|
spa_control_builder_add_cmd (&builder, SPA_CONTROL_CMD_SET_FORMAT, &sf);
|
||||||
spa_control_builder_end (&builder, &control);
|
spa_control_builder_end (&builder, &control);
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@ v4l2_sources = ['v4l2.c',
|
||||||
|
|
||||||
v4l2lib = shared_library('spa-v4l2',
|
v4l2lib = shared_library('spa-v4l2',
|
||||||
v4l2_sources,
|
v4l2_sources,
|
||||||
include_directories : inc,
|
include_directories : spa_inc,
|
||||||
dependencies : [ v4l2_dep, libudev_dep ],
|
dependencies : [ v4l2_dep, libudev_dep ],
|
||||||
link_with : spalib,
|
link_with : spalib,
|
||||||
install : true)
|
install : true,
|
||||||
|
install_dir : '@0@/spa'.format(get_option('libdir')))
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ videotestsrc_sources = ['videotestsrc.c', 'plugin.c']
|
||||||
|
|
||||||
videotestsrclib = shared_library('spa-videotestsrc',
|
videotestsrclib = shared_library('spa-videotestsrc',
|
||||||
videotestsrc_sources,
|
videotestsrc_sources,
|
||||||
include_directories : inc,
|
include_directories : spa_inc,
|
||||||
dependencies : threads_dep,
|
dependencies : threads_dep,
|
||||||
link_with : spalib,
|
link_with : spalib,
|
||||||
install : true)
|
install : true,
|
||||||
|
install_dir : '@0@/spa'.format(get_option('libdir')))
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ volume_sources = ['volume.c', 'plugin.c']
|
||||||
|
|
||||||
volumelib = shared_library('spa-volume',
|
volumelib = shared_library('spa-volume',
|
||||||
volume_sources,
|
volume_sources,
|
||||||
include_directories : inc,
|
include_directories : spa_inc,
|
||||||
link_with : spalib,
|
link_with : spalib,
|
||||||
install : true)
|
install : true,
|
||||||
|
install_dir : '@0@/spa'.format(get_option('libdir')))
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@ xv_sources = ['xv.c',
|
||||||
|
|
||||||
xvlib = shared_library('spa-xv',
|
xvlib = shared_library('spa-xv',
|
||||||
xv_sources,
|
xv_sources,
|
||||||
include_directories : inc,
|
include_directories : spa_inc,
|
||||||
dependencies : xv_dep,
|
dependencies : xv_dep,
|
||||||
link_with : spalib,
|
link_with : spalib,
|
||||||
install : true)
|
install : true,
|
||||||
|
install_dir : '@0@/spa'.format(get_option('libdir')))
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
executable('test-mixer', 'test-mixer.c',
|
executable('test-mixer', 'test-mixer.c',
|
||||||
include_directories : inc,
|
include_directories : spa_inc,
|
||||||
dependencies : [dl_lib, pthread_lib],
|
dependencies : [dl_lib, pthread_lib],
|
||||||
link_with : spalib,
|
link_with : spalib,
|
||||||
install : false)
|
install : false)
|
||||||
|
|
||||||
executable('test-v4l2', 'test-v4l2.c',
|
executable('test-v4l2', 'test-v4l2.c',
|
||||||
include_directories : inc,
|
include_directories : spa_inc,
|
||||||
dependencies : [dl_lib, sdl_dep, pthread_lib],
|
dependencies : [dl_lib, sdl_dep, pthread_lib],
|
||||||
link_with : spalib,
|
link_with : spalib,
|
||||||
install : false)
|
install : false)
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
executable('spa-inspect', 'spa-inspect.c',
|
executable('spa-inspect', 'spa-inspect.c',
|
||||||
include_directories : inc,
|
include_directories : spa_inc,
|
||||||
dependencies : [dl_lib],
|
dependencies : [dl_lib],
|
||||||
link_with : spalib,
|
link_with : spalib,
|
||||||
install : true)
|
install : true)
|
||||||
|
|
||||||
executable('spa-monitor', 'spa-monitor.c',
|
executable('spa-monitor', 'spa-monitor.c',
|
||||||
include_directories : inc,
|
include_directories : spa_inc,
|
||||||
dependencies : [dl_lib],
|
dependencies : [dl_lib],
|
||||||
link_with : spalib,
|
link_with : spalib,
|
||||||
install : true)
|
install : true)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue