Update/Cleanup of the build system

This commit is contained in:
Sebastian Dröge 2009-04-07 09:45:54 +02:00
parent 4d881ef6fb
commit 7e7546b879
18 changed files with 47 additions and 324 deletions

View file

@ -3,4 +3,5 @@ Sebastian Dröge <sebastian.droege@collabora.co.uk>
Previous Authors:
Peter Johanson <peter@peterjohanson.com>
Aaron Bockover <aaron@abock.org>
Khaled Mohammed <khaled.mohammed@gmail.com>

242
ChangeLog
View file

@ -1,242 +0,0 @@
2006-08-29 Khaled Mohammed <khaled.mohammed@gmail.com>
* sample/MetaData.cs: a sample file which extracts tag information
from media files and displays them to console.
* sample/TypeFind.cs: fixed to make it work with the new DynamicSignal
class.
2006-08-25 Khaled Mohammed <khaled.mohammed@gmail.com>
* sample/QueueExample.cs: a sample file showcasing
use of the queue element
* gstreamer-sharp/Element.custom: added static LinkMany and UnlinkMany
functions
2006-08-20 Khaled Mohammed <khaled.mohammed@gmail.com>
* gstreamer-sharp/Buffer.custom: added Ref(), Unref() and Refcount()
functionality
* gstreamer-sharp/Gstreamer.metadata: suppressed auto generation of
few functions to remove build warnings.
* gstreamer-sharp/Pad.custom: added AddBufferProbe() and AddDataProbe()
* tests: Added few more tests.
2006-08-11 Khaled Mohammed <khaled.mohammed@gmail.com>
* gstreamer-sharp/Object.custom: overriden Dispose() function.
* gstreamer-sharp/tests: added more tests
2006-08-05 Khaled Mohammed <khaled.mohammed@gmail.com>
* gstreamer-sharp/GStreamer.metadata: added a new xml node to hide
generation of Refcount by GAPI.
* gstreamer-sharp/Object.custom: added Refcount property there.
* tests/ElementTest.cs: Adding test to Add/Remove Pad.
2006-08-03 Khaled Mohammed <khaled.mohammed@gmail.com>
* gstreamer-sharp/DynamicSignal.cs: Added the support for Retval.
Also changed the design to use only managed code.
* gstreamer-sharp/plugins-base/*: Changed the code to use the new
DynamicSignal class. Got rid of DynamicSignalArgs and is using
GLib.SignalArgs.
* tests/PipelineTest.cs: NUnit Test Suite for Pipeline. Most of
the tests are duplicate of the c test suite.
2006-07-13 Aaron Bockover <aaron@abock.org>
* gstreamer-sharp/BindingHelper.cs: Static helper class to assist
in making element bindings (delegate manipulation/invocation)
* gstreamer-sharp/DynamicSignal.cs: Updated DynamicSignalArgs so they
can more easily be derived
* gstreamer-sharp/Makefile.am: Updated build
* sample/HelloWorld.cs: More cleaning
* sample/Makefile.am:
* sample/TypeFind.cs: Added typefind sample
* gstreamer-sharp.mdp: Updated MonoDevelop project
* gstreamer-sharp/plugins-base/DecodeBin.cs: Signal support rewritten
to use BindingHelper/DynamicSignal
* gstreamer-sharp/plugins-base/TypeFindElement.cs: New typefind
element wrapper using BindingHelper/DynamicSignal
* gstreamer-sharp/Element.custom: Fixed property getter/setter methods
and added indexer wrapper for property lookup for syntax convenience
2006-07-12 Aaron Bockover <aaron@abock.org>
* sample/HelloWorld.cs: Cleaned up, works with new dynamic signal stuff
* gstreamer-sharp.mdp: Updated MonoDevelop project
* gstreamer-sharp/glue/dynamicsignal.c:
* gstreamer-sharp/DynamicSignal.cs: Added DynamicSignal support for
runtime GObject signal binding
* gstreamer-sharp/glue/Makefile.am:
* gstreamer-sharp/Makefile.am: Updated build
* gstreamer-sharp/Element.custom: Removed old DynamicSignal
stuff and added pass-thru/proxy Connect/Disconnect methods on
top of GLib.DynamicSignal
* gstreamer-sharp/DynamicSignalHandlerGenerator.cs:
* gstreamer-sharp/DynamicSignalMarshalHandler.cs: Removed
* gstreamer-sharp/gstreamer-sharp.dll.config.in: Updated maps, removed
old 0.8 maps
2006-07-12 Aaron Bockover <aaron@abock.org>
* gstreamer-sharp.mds:
* gstreamer-sharp.mdp: Updated MonoDevelo project/solution
* source/gstreamer-sharp-source.xml: Cleaned up a bit
* sample/DecodeBinTranscoder.cs: Updated to reflect renaming of
Clock.GstSecond to Clock.Second, etc.
* gstreamer-sharp/glue/clock.c: Added gstsharp_gst_clock_get_time_none
and gstsharp_gst_clock_time_is_valid
* gstreamer-sharp/Clock.custom: Added bindings for new clock glue
and renamed GstNSecond to NSecond (and friends)
2006-06-21 Khaled Mohammed <khaled.mohammed@gmail.com>
* gstreamer-sharp/DynamicSignalHandlerGenerator.cs: This class is
reponsible for generating a custom delegate class which supports
variable number of parameters.
* gstreamer-sharp/DyanmicSignalMarshalHandler.cs: This is an abstract
class and is derived by the new type generated by the Generator.
This class makes it easy for me to work with the new type.
* gstreamer-sharp/Element.custom: Added functions to add a custom signal,
a function which marshall's the signal parameters.
* sample/HelloWorld.cs: Added a sample to show the usuage of a custom signal.
2006-06-04 Khaled Mohammed <khaled.mohammed@gmail.com>
* gstreamer-sharp/glue/Bin.c: added this file to the source. It has only one
function which gives offset of *children in the C struct.
* gstreamer-sharp/glue/Makefile.am: added Bin.c to the list of C source that
must be compiled.
* tests/ElementTest.cs: added NUnit tests for Element class.
* tests/Makefile.am: added ElementTest.cs to the list of TestSuite
* tests/BinTest.cs: fixed the test for Bin.Children
2006-06-04 Michael Dominic K. <michaldominik@gmail.com>
* doc/gst-sharp-docs.zip:
* doc/gst-sharp-docs.tree: Removing, this is a left over from
something old (new prefix seems to be: gstreamer-sharp-).
* doc/en/Gst/Clock.xml: Fixing the docs to represent the change
introduced in the last commit.
2006-06-04 Michael Dominic K. <michaldominik@gmail.com>
* sample/DecodeBinTranscoder.cs: Fixing ambigious cast.
* gstreamer-sharp/glue/clock.c:
* gstreamer-sharp/Clock.custom: Changing the gint64 to guint64 and
long to ulong respectively. The clocktime (GstClockTime) is measured
in nanoseconds as unsigned long inside GStreamer.
This is introducing a small schizophrenia since some functions (such
as queries, seeks) take signed long (-1 to mark infinity or error).
This is the expected Gst behaviour.
Just sticking silently to long (instead of ulong) will bork us sooner
or later, especially for custom-build low level routines/elements.
Comments welcome.
2006-05-31 Michael Dominic K. <michaldominik@gmail.com>
* tests/PadTest.cs:
* tests/Makefile.am: Introducing a new test for Gst.Pad. All fixtures pass.
* tests/CapsTest.cs: Adding a new fixture for caps union testing (passes).
Fixing some code-style errors.
2006-05-30 Michael Dominic K. <michaldominik@gmail.com>
* README: Fixing a broken svn link to gtk-sharp sources.
* tests/CapsTest.cs:
* tests/Makefile.am: Introducing a new test for Gst.Caps. All fixtures pass.
2006-05-25 Aaron Bockover <aaron@abock.org>
* gstreamer-sharp/Gstreamer.metadata: Hide the Children property and
implement own version in Bin.custom to return an Element [] instead of
a GLib.List
* gstreamer-sharp/Bin.custom: Implement Bin.Children
* tests/BinTest.cs: wrote a test for Bin.Children
2006-05-25 Aaron Bockover <aaron@abock.org>
* gstreamer-sharp-0.10.pc.in: link against proper assembly
2006-05-21 Aaron Bockover <aaron@abock.org>
* gstreamer-sharp/plugins-base/DecodeBin.cs: Added a quick binding for
decodebin to test new-decoded-pad; probably is only a temporary solution
* sample/DecodeBinTranscoder.cs: Added a small decodebin sample
* sample/Makefile.am: Added build rules for decodebin sample
* gstreamer-sharp.mdp: Updated MonoDevelop project
* gstreamer-sharp/Makefile.am: Added plugins-base/DecodeBin.cs
2006-05-20 Aaron Bockover <aaron@abock.org>
* autogen.sh: Fixed a left over configure.in to configure.ac
* confiugre.ac: Added check foo for NUnit
* gstreamer-sharp.mdp:
* gstreamer-sharp.mds: Added MonoDevelop solution
* source/Makefile.am: Cleaned and fixed
* tests/ConsoleUi.cs:
* tests/ApplicationTest.cs:
* tests/BinTest.cs:
* tests/Makefile.am: Added NUnit test framework and a few tests for
Gst.Application and Gst.Bin
* gstreamer-sharp/CommonTags.cs:
* gstreamer-sharp/*.custom:
* gstreamer-sharp/glue/*.c: Cleaned up
* gstreamer-sharp/Application.cs: New application bindings; fixed
to work properly with GStreamer 0.10
* gstreamer-sharp/Version.cs: New Gst.Version class
* gstreamer-sharp/Makefile.am: Added Version.cs
* gstreamer-sharp/plugins-base/PlayBin.cs: Fixed and extended PlayBin
element binding with new (but not all) properties
* Makefile.am: Added tests
2006-05-19 Aaron Bockover <aaron@abock.org>
* gstreamer-sharp: Initial import to Mono Subversion; all prior work
has been done by Peter Johanson

View file

@ -1,4 +1,4 @@
SUBDIRS = source fixup gstreamer-sharp doc tests sample
SUBDIRS = source parser gstreamer-sharp doc tests samples
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gstreamer-sharp-0.10.pc

33
README
View file

@ -1,33 +0,0 @@
DISCLAIMER
----------
This project is no where near completion and should NOT be used AT ALL
in any release-ready/stable project. By building and installing this
project, you understand that no support will be given and it may very
well set fire you your system and delete all of your data. If this
happens, the only person responsible is yourself. You have been warned.
(It probably won't be that bad)
INSTALLATION
------------
To build gstreamer-sharp, you must have a subversion checkout of
gtk-sharp-2.0:
$ cd ~/cvs/mono
$ svn co svn://svn.myrealbox.com/source/trunk/gtk-sharp
$ cd gtk-sharp
$ ./bootstrap-2.14 --prefix=/usr
$ cd parser
$ make
$ sudo make install
This will patch, build, and install the fixed gapi-fixup tool without
overwriting your existing gtk-sharp library install. Of course, substitute
~/cvs/mono/ for the proper location of each respective checkout.
Once gapi-fixup has been installed, you may continue building
gstreamer-sharp like any other source module.

View file

@ -4,7 +4,9 @@ AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(gstreamer-sharp, 0.9.5.99)
AM_MAINTAINER_MODE
AC_PROG_CC
AC_PROG_INSTALL
AC_HEADER_STDC
PACKAGE_VERSION=gstreamer-sharp-0.10
AC_SUBST(PACKAGE_VERSION)
@ -16,29 +18,29 @@ PKG_CHECK_MODULES(MONO_DEPENDENCY, mono >= $MONO_REQUIRED_VERSION, has_mono=true
AM_PROG_LIBTOOL
if test "x$has_mono" = "xtrue"; then
GACUTIL_FLAGS='/package $(PACKAGE_VERSION) /gacdir $(libdir) /root $(DESTDIR)/$(libdir)'
GENERATED_SOURCES=generated/*.cs
AC_PATH_PROG(RUNTIME, mono, no)
AC_PATH_PROG(CSC, mcs, no)
if test `uname -s` = "Darwin"; then
GACUTIL_FLAGS='/package $(PACKAGE_VERSION) /gacdir $(libdir) /root $(DESTDIR)/$(libdir)'
GENERATED_SOURCES=generated/*.cs
AC_PATH_PROG(RUNTIME, mono, no)
AC_PATH_PROG(CSC, mcs, no)
if test `uname -s` = "Darwin"; then
LIB_PREFIX=
LIB_SUFFIX=.dylib
else
else
LIB_PREFIX=.so
LIB_SUFFIX=
fi
fi
else
AC_PATH_PROG(CSC, csc.exe, no)
GACUTIL_FLAGS=
GENERATED_SOURCES=generated\\\\*.cs
AC_PATH_PROG(CSC, csc.exe, no)
GACUTIL_FLAGS=
GENERATED_SOURCES=generated\\\\*.cs
if test x$CSC = "xno"; then
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
else
RUNTIME=
LIB_PREFIX=
LIB_SUFFIX=.dll
fi
fi
CS="C#"
@ -81,38 +83,33 @@ MONODOC_SOURCESDIR=`pkg-config --variable=sourcesdir monodoc`
AC_SUBST(MONODOC_SOURCESDIR)
## Versions of dependencies
GTKSHARP_REQUIRED_VERSION=2.4.0
AC_SUBST(GTKSHARP_REQUIRED_VERSION)
PKG_CHECK_MODULES(BASE_DEPENDENCIES, gtk-sharp-2.0 >= $GTKSHARP_REQUIRED_VERSION)
## glib-sharp dependancy
GLIBSHARP_REQUIRED_VERSION=2.13.90
PKG_CHECK_MODULES(GLIBSHARP, glib-sharp-2.0 >= $GLIBSHARP_REQUIRED_VERSION)
AC_SUBST(GLIBSHARP_LIBS)
## probably should make gstreamer-plugins optional
## but generating conditionally the source is not really possible
GLIB_REQUIRED_VERSION=2.14.0
PKG_CHECK_MODULES(GLIB,
glib-2.0 >= $GLIB_REQUIRED_VERSION
gobject-2.0 >= $GLIB_REQUIRED_VERSION
)
AC_SUBST(GLIB_LIBS)
AC_SUBST(GLIB_CFLAGS)
GSTREAMER_REQUIRED_VERSION=0.10.22
GSTREAMER_PLUGINS_REQUIRED_VERSION=0.10.22
AC_SUBST(GSTREAMER_REQUIRED_VERSION)
AC_SUBST(GSTREAMER_PLUGINS_REQUIRED_VERSION)
PKG_CHECK_MODULES(GST,
gstreamer-base-0.10 >= $GSTREAMER_REQUIRED_VERSION
gstreamer-plugins-base-0.10 >= $GSTREAMER_PLUGINS_REQUIRED_VERSION,
enable_gst=yes, enable_gst=no
gstreamer-base-0.10 >= $GSTREAMER_REQUIRED_VERSION
gstreamer-plugins-base-0.10 >= $GSTREAMER_PLUGINS_REQUIRED_VERSION
)
AC_SUBST(GST_LIBS)
AC_SUBST(GST_CFLAGS)
if test "x$enable_gst" = "xno" ; then
AC_MSG_ERROR([Install gstreamer and gstreamer-plugins])
fi
AM_CONDITIONAL(ENABLE_MONODOC, test "x$enable_monodoc" = "xyes")
## Check for the gapi programs
PKG_CHECK_MODULES(GAPI, gapi-2.0 >= $GTKSHARP_REQUIRED_VERSION)
PKG_CHECK_MODULES(GAPI, gapi-2.0 >= $GLIBSHARP_REQUIRED_VERSION)
AC_PATH_PROG(GAPI_CODEGEN, gapi2-codegen, no)
if test "x$GAPI_CODEGEN" = "xno"; then
@ -138,14 +135,14 @@ fi
AC_OUTPUT([
source/Makefile
fixup/Makefile
parser/Makefile
gstreamer-sharp/Makefile
gstreamer-sharp/AssemblyInfo.cs
gstreamer-sharp/gstreamer-sharp.dll.config
gstreamer-sharp/glue/Makefile
doc/Makefile
tests/Makefile
sample/Makefile
samples/Makefile
gstreamer-sharp-0.10.pc
Makefile
])

View file

@ -29,6 +29,7 @@ gstreamer-sharp-docs.zip gstreamer-sharp-docs.tree: $(srcdir)/en/*/*.xml $(srcdi
$(MDASSEMBLER) --ecma $(srcdir)/en -o gstreamer-sharp-docs
update: $(ASSEMBLIES)
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$(top_builddir)/gstreamer-sharp/glue/.libs \
$(MONODOCER) $(ASSEMBLIES_BUILD) -path:en -updateto:en -delete
CLEANFILES = gstreamer-sharp-docs.zip gstreamer-sharp-docs.tree

View file

@ -76,7 +76,7 @@ EXTRA_DIST = \
$(API): $(srcdir)/$(RAW_API) $(srcdir)/$(METADATA) $(srcdir)/$(SYMBOLS)
cp $(srcdir)/$(RAW_API) $(API)
chmod u+w $(API)
$(MONO) $(top_builddir)/fixup/gst-gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) \
$(MONO) $(top_builddir)/parser/gst-gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) \
--symbols=$(srcdir)/$(SYMBOLS)
generated-stamp: $(API) $(GAPI_CODEGEN) $(build_customs)

View file

@ -1,17 +1,16 @@
MCS_FLAGS = -debug
NUNIT_FLAGS = @MONO_NUNIT_LIBS@
NUNIT_FLAGS = $(MONO_NUNIT_LIBS)
ASSEMBLY_NAME = gstreamer-tests
ASSEMBLY = $(ASSEMBLY_NAME).dll
ASSEMBLY_CSFILES = $(srcdir)/ApplicationTest.cs $(srcdir)/BinTest.cs $(srcdir)/BufferTest.cs $(srcdir)/CapsTest.cs $(srcdir)/PadTest.cs $(srcdir)/ElementTest.cs $(srcdir)/MessageTest.cs $(srcdir)/PipelineTest.cs
NUNIT_TESTER_NAME = ConsoleUi
NUNIT_TESTER = $(NUNIT_TESTER_NAME).exe
NUNIT_TESTER_CSFILES = $(srcdir)/$(NUNIT_TESTER_NAME).cs
$(ASSEMBLY): $(ASSEMBLY_CSFILES)
$(CSC) $(MCS_FLAGS) $(NUNIT_FLAGS) -out:$@ -target:library -r:$(top_builddir)/gstreamer-sharp/gstreamer-sharp.dll $(ASSEMBLY_CSFILES) -pkg:glib-sharp-2.0
$(CSC) $(MCS_FLAGS) $(NUNIT_FLAGS) -out:$@ -target:library -r:$(top_builddir)/gstreamer-sharp/gstreamer-sharp.dll $(ASSEMBLY_CSFILES) $(GLIBSHARP_LIBS)
$(NUNIT_TESTER): $(NUNIT_TESTER_CSFILES)
$(CSC) $(MCS_FLAGS) -out:$@ $(NUNIT_FLAGS) $(NUNIT_TESTER_CSFILES)