Initial commit

This commit is contained in:
Stephan Sundermann 2013-06-17 16:23:54 +02:00
parent 94858d6f4a
commit 99ce224a50
15 changed files with 10732 additions and 0 deletions

0
AUTHORS Normal file
View file

0
ChangeLog Normal file
View file

8
Makefile.am Normal file
View file

@ -0,0 +1,8 @@
SUBDIRS = sources doc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gst-sharp-1.0.pc
EXTRA_DIST = gst-sharp-1.0.pc.in
DISTCLEANFILES = gst-sharp-1.0.pc

0
NEWS Normal file
View file

0
README Normal file
View file

5
autogen.sh Executable file
View file

@ -0,0 +1,5 @@
#!/bin/sh
mkdir -p m4
autoreconf -i --force --warnings=none -I . -I m4
./configure --enable-maintainer-mode $*

156
configure.ac Normal file
View file

@ -0,0 +1,156 @@
AC_INIT([gst-sharp], [1.0.6])
AC_CONFIG_SRCDIR([README])
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
AM_MAINTAINER_MODE
AC_PROG_INSTALL
dnl Package settings
ASSEMBLY_COMPANY=""
ASSEMBLY_COPYRIGHT="2012 Andreia Gaita"
ASSEMBLY_DESCRIPTION="Gst-1.0 bindings for Mono"
ASSEMBLY_NAME="gst-sharp"
ASSEMBLY_NAMESPACE="Gst"
ASSEMBLY_PC="gst-sharp-1.0"
ASSEMBLY_SHORTNAME="gst"
ASSEMBLY_TITLE="Gst#"
ASSEMBLY_VERSION="1.0.6"
AC_SUBST([ACLOCAL_AMFLAGS], ["-I m4 \${ACLOCAL_FLAGS}"])
AC_SUBST(ASSEMBLY_NAME)
AC_SUBST(ASSEMBLY_VERSION)
AC_SUBST(ASSEMBLY_NAMESPACE)
AC_SUBST(ASSEMBLY_SHORTNAME)
AC_SUBST(ASSEMBLY_TITLE)
AC_SUBST(ASSEMBLY_DESCRIPTION)
AC_SUBST(ASSEMBLY_COMPANY)
AC_SUBST(ASSEMBLY_COPYRIGHT)
AC_SUBST(ASSEMBLY_PC)
dnl Check for pkg-config
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
if test "x$PKG_CONFIG" = "xno"; then
AC_MSG_ERROR(['pkg-config' is not in your PATH.])
fi
dnl Check for Mono
PKG_CHECK_MODULES(MONO_DEPENDENCY, mono >= 1.0, has_mono=true, has_mono=false)
if test "x$has_mono" = "xtrue"; then
1 AC_PATH_PROG(RUNTIME, mono, no)
AC_PATH_PROG(CSC, gmcs, no)
LIB_PREFIX=.so
LIB_SUFFIX=
else
AC_PATH_PROG(CSC, csc.exe, no)
if test x$CSC = "xno"; then
AC_MSG_ERROR([You need to install either mono or .Net])
else
RUNTIME=
LIB_PREFIX=
LIB_SUFFIX=.dylib
fi
fi
CS="C#"
if test "x$CSC" = "xno" ; then
AC_MSG_ERROR([No $CS compiler found])
fi
AC_PATH_PROG(GACUTIL, gacutil, no)
if test "x$GACUTIL" = "xno" ; then
AC_MSG_ERROR([No gacutil tool found])
fi
GACUTIL_FLAGS="/package $ASSEMBLY_NAME /root "'$(DESTDIR)$(prefix)/lib'
AC_SUBST(RUNTIME)
AC_SUBST(CSC)
AC_SUBST(GACUTIL)
AC_SUBST(GACUTIL_FLAGS)
AC_SUBST(LIB_PREFIX)
AC_SUBST(LIB_SUFFIX)
dnl Check for gtk-sharp
PKG_CHECK_MODULES(GTK_SHARP, gtk-sharp-3.0)
AC_SUBST(GTK_SHARP_CFLAGS)
AC_SUBST(GTK_SHARP_LIBS)
gtksharp_prefix=`pkg-config --variable=prefix gtk-sharp-3.0`
AC_SUBST(gtksharp_prefix)
dnl Check for gapi
AC_PATH_PROG(GAPI_PARSER, gapi3-parser, no)
if test "x$GAPI_PARSER" = "xno"; then
AC_MSG_CHECKING(for gapi3-parser.exe)
GAPI_PARSER=`which gapi3-parser.exe 2> /dev/null`
if test "x$GAPI_PARSER" = "xno" ; then
AC_MSG_ERROR(['gapi3_parser'/'gapi3-parser.exe' not found.])
fi
AC_MSG_RESULT($GAPI_PARSER)
GAPI_PARSER="$MONO $GAPI_PARSER"
fi
AC_SUBST(GAPI_PARSER)
AC_PATH_PROG(GAPI_FIXUP, gapi3-fixup, no)
if test "x$GAPI_FIXUP" = "xno"; then
AC_MSG_CHECKING(for gapi3-fixup.exe)
GAPI_FIXUP=`which gapi3-fixup.exe 2> /dev/null`
if test "x$GAPI_FIXUP" = "xno" ; then
AC_MSG_ERROR(['gapi3_fixup'/'gapi3-fixup.exe' not found.])
fi
AC_MSG_RESULT($GAPI_FIXUP)
GAPI_FIXUP="$MONO $GAPI_FIXUP"
fi
AC_SUBST(GAPI_FIXUP)
AC_PATH_PROG(GAPI_CODEGEN, gapi3-codegen, no)
if test "x$GAPI_CODEGEN" = "xno"; then
AC_MSG_CHECKING(for gapi3_codegen.exe)
GAPI_CODEGEN=`which gapi3_codegen.exe 2> /dev/null`
if test "x$GAPI_CODEGEN" = "xno" ; then
AC_MSG_ERROR(['gapi3-codegen'/'gapi3_codegen.exe' not found.])
fi
AC_MSG_RESULT([$GAPI_CODEGEN])
GAPI_CODEGEN="$MONO $GAPI_CODEGEN"
fi
AC_SUBST(GAPI_CODEGEN)
dnl Check for monodoc
AC_PATH_PROG(MDASSEMBLER, mdassembler, no)
AC_PATH_PROG(MONODOCER, monodocer, no)
if test "x$MONODOCER" = "xno" -o "x$MDASSEMBLER" = "xno"; then
enable_monodoc=no
doc_sources_dir=
else
enable_monodoc=yes
doc_sources_dir="`pkg-config --variable=sourcesdir monodoc`"
fi
AC_SUBST(MDASSEMBLER)
AC_SUBST(MONODOCER)
AM_CONDITIONAL(ENABLE_MONODOC, test "x$enable_monodoc" = "xyes")
dnl Check for Gst
PKG_CHECK_MODULES(GST, gstreamer-1.0)
gst_prefix=/usr
AC_SUBST(gst_prefix)
AC_CONFIG_FILES([
Makefile
sources/Makefile
sources/AssemblyInfo.cs
gst-sharp-1.0.pc
doc/Makefile
])
AC_CONFIG_COMMANDS([default],[[ echo timestamp > stamp-h ]],[[]])
AC_OUTPUT
echo ""
echo "Configuration summary"
echo "---------------------"
echo ""
echo " * Installation prefix: $prefix"
echo " * compiler: $CSC"
echo " * Documentation: ($MONODOC)"
echo ""

43
doc/Makefile.am Normal file
View file

@ -0,0 +1,43 @@
if ENABLE_MONODOC
TARGETS = $(ASSEMBLY_NAME)-docs.source $(ASSEMBLY_NAME)-docs.zip $(ASSEMBLY_NAME)-docs.tree
docsdir = $(prefix)/lib/monodoc/sources
docs_DATA = $(TARGETS)
else
TARGETS =
docsdir = $(datadir)
docs_DATA =
endif
ASSEMBLIES = $(top_srcdir)/out/$(ASSEMBLY_NAME).dll
UPDATE_ASSEMBLIES = $(addprefix -assembly:, $(ASSEMBLIES))
all: $(TARGETS)
update:
$(MONODOCER) $(UPDATE_ASSEMBLIES) -path:en
$(srcdir)/en/*/*.xml $(srcdir)/en/*.xml:
$(MONODOCER) $(UPDATE_ASSEMBLIES) -path:en
$(ASSEMBLY_NAME)-docs.source:
@echo "Generating $@"
@echo "<?xml version=\"1.0\"?>" > $@
@echo "<monodoc>" >> $@
@echo " <source provider=\"ecma\" basefile=\"$(ASSEMBLY_NAME)-docs\" path=\"classlib-$(ASSEMBLY_SHORTNAME)\"/>" >> $@
@echo "</monodoc>" >> $@
$(ASSEMBLY_NAME)-docs.zip $(ASSEMBLY_NAME)-docs.tree: $(srcdir)/en/*/*.xml $(srcdir)/en/*.xml
$(MDASSEMBLER) --ecma $(srcdir)/en -o $(ASSEMBLY_NAME)-docs
CLEANFILES = $(TARGETS)
NAMESPACES=$(ASSEMBLY_NAMESPACE)
dist-hook:
mkdir -p $(distdir)/en
cp $(srcdir)/en/*.xml $(distdir)/en/
for i in $(NAMESPACES); do \
mkdir -p $(distdir)/en/$$i; \
cp $(srcdir)/en/$$i/*.xml $(distdir)/en/$$i; \
done

9
gst-sharp-1.0.pc.in Normal file
View file

@ -0,0 +1,9 @@
prefix=@prefix@
exec_prefix=${prefix}
libdir=@libdir@
Name: @ASSEMBLY_TITLE@
Description: @ASSEMBLY_DESCRIPTION@
Version: @VERSION@
Requires:
Libs: -r:${libdir}/mono/@ASSEMBLY_NAME@/@ASSEMBLY_NAME@.dll

3
out/gst-sharp.dll.config Normal file
View file

@ -0,0 +1,3 @@
<configuration>
<dllmap dll="gstreamer-1.0" target="libgstreamer-1.0.so.0"/>
</configuration>

View file

@ -0,0 +1,25 @@
// Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System.Reflection;
using System.Runtime.CompilerServices;
[assembly: AssemblyTitle("@ASSEMBLY_TITLE@")]
[assembly: AssemblyDescription("@ASSEMBLY_DESCRIPTION@")]
[assembly: AssemblyCompany("@ASSEMBLY_COMPANY@")]
[assembly: AssemblyCopyright("@ASSEMBLY_COPYRIGHT@")]
[assembly: AssemblyVersion("@ASSEMBLY_VERSION@")]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("@ASSEMBLY_NAME@.snk")]

46
sources/Makefile.am Normal file
View file

@ -0,0 +1,46 @@
RAW_API = $(ASSEMBLY_NAME)-api.raw
API = $(ASSEMBLY_NAME)-api.xml
METADATA = $(ASSEMBLY_NAME).metadata
DLL = $(top_srcdir)/out/$(ASSEMBLY_NAME).dll
DLLMAP = $(top_srcdir)/out/$(ASSEMBLY_NAME).dll.config
sources =
build_sources = AssemblyInfo.cs $(sources)
CLEANFILES = $(DLL) generated-stamp generated/*.cs $(API)
DISTCLEANFILES = AssemblyInfo.cs $(DLLMAP)
noinst_DATA = $(DLL)
EXTRA_DIST = \
$(RAW_API) \
$(sources) \
$(METADATA) \
AssemblyInfo.cs.in \
$(ASSEMBLY_NAME).snk
all: generated-stamp $(ASSEMBLY)
$(API): $(srcdir)/$(RAW_API) $(srcdir)/$(METADATA)
cp $(srcdir)/$(RAW_API) $(API)
chmod u+w $(API)
$(GAPI_FIXUP) --api=$(srcdir)/$(API) --metadata=$(srcdir)/$(METADATA)
generated-stamp: $(API)
$(GAPI_CODEGEN) --generate $(srcdir)/$(API) $(GTK_SHARP_CFLAGS) \
--outdir=generated \
--assembly-name=$(ASSEMBLY_NAME) && touch generated-stamp
$(DLL): $(build_sources) generated-stamp
$(CSC) -nowarn:169 -unsafe -target:library $(GTK_SHARP_LIBS) \
$(build_sources) generated/*.cs -out:$(DLL)
install-data-local:
echo "$(GACUTIL) /i $(DLL) /f $(GACUTIL_FLAGS)"; \
$(GACUTIL) /i $(DLL) /f $(GACUTIL_FLAGS) || exit 1;
uninstall-local:
echo "$(GACUTIL) /u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS)"; \
$(GACUTIL) /u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS) || exit 1;

10418
sources/gst-sharp-api.raw Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,19 @@
<?xml version="1.0"?>
<metadata>
<!-- Conflicts with structs -->
<attr path="/api/namespace/callback[@cname='GstMessageFunc']" name="name">MessageFunc</attr>
<attr path="/api/namespace/callback[@cname='GstQueryFunc']" name="name">QueryFunc</attr>
<!-- No Conversion for GLib.Value -->
<attr path="/api/namespace/object[@cname='GstPad']/property[@name='Caps']" name="type">gpointer</attr>
<attr path="/api/namespace/object[@cname='GstPad']/property[@name='Caps']" name="type">gpointer</attr>
<attr path="/api/namespace/object[@cname='GstPadTemplate']/property[@name='Caps']" name="type">gpointer</attr>
<!-- Error with array -->
<attr path="/api/namespace/object[@cname='GstGlobal']/method[@cname='gst_formats_contains']" name="hidden">true</attr>
<!-- Handle is missing in GstBuffer -->
<attr path="/api/namespace/boxed[@cname='GstBuffer']/method[@cname='gst_buffer_set_size']" name="hidden">true</attr>
<attr path="/api/namespace/boxed[@cname='GstMessage']/field[@cname='cond']" name="type">GCond*</attr>
<!-- Maybe some problems with the name -->
<remove-node path="/api/namespace/interface[@cname='GstURIHandler']/class_struct/method[@vm='get_type']" name="vm" />
<remove-node path="/api/namespace/interface[@cname='GstURIHandler']/virtual_method[@cname='get_type']" name="hidden" />
</metadata>

BIN
sources/gst-sharp.snk Normal file

Binary file not shown.