diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000000..2e466cb2a3 --- /dev/null +++ b/Makefile.am @@ -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 + diff --git a/NEWS b/NEWS new file mode 100644 index 0000000000..e69de29bb2 diff --git a/README b/README new file mode 100644 index 0000000000..e69de29bb2 diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000000..e1e46f826b --- /dev/null +++ b/autogen.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +mkdir -p m4 +autoreconf -i --force --warnings=none -I . -I m4 +./configure --enable-maintainer-mode $* diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000000..578be864ea --- /dev/null +++ b/configure.ac @@ -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 "" diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000000..6f9fc80fda --- /dev/null +++ b/doc/Makefile.am @@ -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 "" > $@ + @echo "" >> $@ + @echo " " >> $@ + @echo "" >> $@ + +$(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 diff --git a/gst-sharp-1.0.pc.in b/gst-sharp-1.0.pc.in new file mode 100644 index 0000000000..c2dd575943 --- /dev/null +++ b/gst-sharp-1.0.pc.in @@ -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 diff --git a/out/gst-sharp.dll.config b/out/gst-sharp.dll.config new file mode 100644 index 0000000000..6a151fb4c2 --- /dev/null +++ b/out/gst-sharp.dll.config @@ -0,0 +1,3 @@ + + + diff --git a/sources/AssemblyInfo.cs.in b/sources/AssemblyInfo.cs.in new file mode 100644 index 0000000000..8d7ea8327e --- /dev/null +++ b/sources/AssemblyInfo.cs.in @@ -0,0 +1,25 @@ +// Copyright (C) 2013 Stephan Sundermann +// +// 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 . + +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")] diff --git a/sources/Makefile.am b/sources/Makefile.am new file mode 100644 index 0000000000..cd9aeb73cb --- /dev/null +++ b/sources/Makefile.am @@ -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; diff --git a/sources/gst-sharp-api.raw b/sources/gst-sharp-api.raw new file mode 100644 index 0000000000..228be61f3d --- /dev/null +++ b/sources/gst-sharp-api.raw @@ -0,0 +1,10418 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sources/gst-sharp.metadata b/sources/gst-sharp.metadata new file mode 100644 index 0000000000..1e4a9aca7d --- /dev/null +++ b/sources/gst-sharp.metadata @@ -0,0 +1,19 @@ + + + + MessageFunc + QueryFunc + + gpointer + gpointer + gpointer + + true + + true + GCond* + + + + + diff --git a/sources/gst-sharp.snk b/sources/gst-sharp.snk new file mode 100644 index 0000000000..82ba2fd97b Binary files /dev/null and b/sources/gst-sharp.snk differ