Added initial gobject-introspection support

This commit is contained in:
Sebastian Pölsterl 2010-09-22 23:13:37 +02:00 committed by Wim Taymans
parent c310f0032c
commit 347e10e1f9
3 changed files with 137 additions and 14 deletions

View file

@ -0,0 +1,88 @@
dnl -*- mode: autoconf -*-
dnl Copyright 2009 Johan Dahlin
dnl
dnl This file is free software; the author(s) gives unlimited
dnl permission to copy and/or distribute it, with or without
dnl modifications, as long as this notice is preserved.
dnl
# serial 1
m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
[
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([LT_INIT],[$0])dnl setup libtool first
dnl enable/disable introspection
m4_if([$2], [require],
[dnl
enable_introspection=yes
],[dnl
AC_ARG_ENABLE(introspection,
AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
[Enable introspection for this build]),,
[enable_introspection=auto])
])dnl
AC_MSG_CHECKING([for gobject-introspection])
dnl presence/version checking
AS_CASE([$enable_introspection],
[no], [dnl
found_introspection="no (disabled, use --enable-introspection to enable)"
],dnl
[yes],[dnl
PKG_CHECK_EXISTS([gobject-introspection-1.0],,
AC_MSG_ERROR([gobject-introspection-1.0 is not installed]))
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1],
found_introspection=yes,
AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME]))
],dnl
[auto],[dnl
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no)
],dnl
[dnl
AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
])dnl
AC_MSG_RESULT([$found_introspection])
INTROSPECTION_SCANNER=
INTROSPECTION_COMPILER=
INTROSPECTION_GENERATE=
INTROSPECTION_GIRDIR=
INTROSPECTION_TYPELIBDIR=
if test "x$found_introspection" = "xyes"; then
INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
fi
AC_SUBST(INTROSPECTION_SCANNER)
AC_SUBST(INTROSPECTION_COMPILER)
AC_SUBST(INTROSPECTION_GENERATE)
AC_SUBST(INTROSPECTION_GIRDIR)
AC_SUBST(INTROSPECTION_TYPELIBDIR)
AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
])
dnl Usage:
dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
[
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
])
dnl Usage:
dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
[
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
])

View file

@ -1,5 +1,4 @@
AC_PREREQ(2.52) AC_PREREQ(2.60)
dnl initialize autoconf dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right ! dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, cvs and prerelease does Werror too dnl releases only do Wall, cvs and prerelease does Werror too
@ -8,7 +7,7 @@ AC_INIT(Gst-RTSP, 0.10.6.1,
gst-rtsp) gst-rtsp)
dnl initialize automake dnl initialize automake
AM_INIT_AUTOMAKE AM_INIT_AUTOMAKE([-Wno-portability 1.10])
dnl define PACKAGE_VERSION_* variables dnl define PACKAGE_VERSION_* variables
AS_VERSION AS_VERSION
@ -28,6 +27,11 @@ AM_MAINTAINER_MODE
dnl sets host_* variables dnl sets host_* variables
AC_CANONICAL_HOST AC_CANONICAL_HOST
dnl use pretty build output with automake >= 1.11
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],
[AM_DEFAULT_VERBOSITY=1
AC_SUBST(AM_DEFAULT_VERBOSITY)])
dnl our libraries and install dirs use major.minor as a version dnl our libraries and install dirs use major.minor as a version
GST_MAJORMINOR=$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR GST_MAJORMINOR=$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR
dnl we override it here if we need to for the release candidate of new series dnl we override it here if we need to for the release candidate of new series
@ -73,6 +77,9 @@ AM_CHECK_PYTHON_HEADERS([HAVE_PYTHON_HEADERS="yes"], [HAVE_PYTHON_HEADERS="no"])
AC_PATH_PROG(VALGRIND_PATH, valgrind, no) AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno") AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
dnl check for gobject-introspection
GOBJECT_INTROSPECTION_CHECK([0.6.3])
dnl check for documentation tools dnl check for documentation tools
AG_GST_DOCBOOK_CHECK AG_GST_DOCBOOK_CHECK
GTK_DOC_CHECK([1.3]) GTK_DOC_CHECK([1.3])

View file

@ -1,24 +1,24 @@
public_headers = \ public_headers = \
rtsp-server.h \ rtsp-params.h \
rtsp-client.h \ rtsp-sdp.h \
rtsp-media.h \ rtsp-media.h \
rtsp-media-factory.h \ rtsp-media-factory.h \
rtsp-media-mapping.h \ rtsp-media-mapping.h \
rtsp-params.h \ rtsp-session.h \
rtsp-sdp.h \
rtsp-session-pool.h \ rtsp-session-pool.h \
rtsp-session.h rtsp-client.h \
rtsp-server.h
c_sources = \ c_sources = \
rtsp-server.c \ rtsp-params.c \
rtsp-client.c \ rtsp-sdp.c \
rtsp-media.c \ rtsp-media.c \
rtsp-media-factory.c \ rtsp-media-factory.c \
rtsp-media-mapping.c \ rtsp-media-mapping.c \
rtsp-params.c \ rtsp-session.c \
rtsp-sdp.c \
rtsp-session-pool.c \ rtsp-session-pool.c \
rtsp-session.c rtsp-client.c \
rtsp-server.c
lib_LTLIBRARIES = \ lib_LTLIBRARIES = \
libgstrtspserver-@GST_MAJORMINOR@.la libgstrtspserver-@GST_MAJORMINOR@.la
@ -38,3 +38,31 @@ libgstrtspserver_@GST_MAJORMINOR@_la_LIBTOOLFLAGS = --tag=disable-static
libgstrtspserver_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/rtsp-server libgstrtspserver_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/rtsp-server
libgstrtspserver_@GST_MAJORMINOR@include_HEADERS = $(public_headers) libgstrtspserver_@GST_MAJORMINOR@include_HEADERS = $(public_headers)
CLEANFILES =
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) --strip-prefix=Gst
INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
if HAVE_INTROSPECTION
introspection_sources = $(public_headers) $(c_sources)
GstRtspServer-0.10.gir: $(INTROSPECTION_SCANNER) libgstrtspserver-@GST_MAJORMINOR@.la
GstRtspServer_0_10_gir_INCLUDES = Gst-@GST_MAJORMINOR@ GstRtsp-@GST_MAJORMINOR@
GstRtspServer_0_10_gir_CFLAGS = $(INCLUDES)
GstRtspServer_0_10_gir_LIBS = libgstrtspserver-@GST_MAJORMINOR@.la
GstRtspServer_0_10_gir_FILES = $(introspection_sources)
GstRtspServer_0_10_gir_NAMESPACE = GstRtspServer
GstRtspServer_0_10_gir_VERSION = @GST_MAJORMINOR@
INTROSPECTION_GIRS += GstRtspServer-0.10.gir
girdir = $(datadir)/gir-1.0
gir_DATA = $(INTROSPECTION_GIRS)
typelibdir = $(libdir)/girepository-1.0
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
CLEANFILES += $(gir_DATA) $(typelib_DATA)
endif