diff options
-rwxr-xr-x | tools/gst-project-maker | 86 |
1 files changed, 76 insertions, 10 deletions
diff --git a/tools/gst-project-maker b/tools/gst-project-maker index c2acc0846..c75fae64f 100755 --- a/tools/gst-project-maker +++ b/tools/gst-project-maker @@ -46,6 +46,12 @@ NAME=$(echo $name | sed -e 's/\(.*\)/\U\1/') Prefix=$(echo $prefix | sed -e 's/_\(.\)/\U\1/g' -e 's/^\(.\)/\U\1/') Name=$(echo $name | sed -e 's/_\(.\)/\U\1/g' -e 's/^\(.\)/\U\1/') +if [ "$prefix" != "gst" ] ; then + cmdline_prefix="--prefix $prefix" +else + cmdline_prefix="" +fi + GST_IS_REPLACE=${PREFIX}_IS_${NAME} GST_REPLACE=${PREFIX}_${NAME} GST_TYPE_REPLACE=${PREFIX}_TYPE_${NAME} @@ -134,6 +140,7 @@ AM_MAINTAINER_MODE([enable]) dnl check for tools (compiler etc.) AC_PROG_CC +AM_PROG_CC_C_O dnl required version of libtool LT_PREREQ([2.2.6]) @@ -197,12 +204,12 @@ dnl set proper LDFLAGS for plugins GST_PLUGIN_LDFLAGS='-module -avoid-version -export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*' AC_SUBST(GST_PLUGIN_LDFLAGS) -AC_CONFIG_FILES([Makefile plugins/Makefile]) +AC_CONFIG_FILES([Makefile plugins/Makefile tools/Makefile]) AC_OUTPUT EOF cat >$basedir/Makefile.am <<EOF -SUBDIRS = plugins +SUBDIRS = plugins tools EXTRA_DIST = autogen.sh @@ -217,7 +224,7 @@ cat >$basedir/plugins/Makefile.am <<EOF plugin_LTLIBRARIES = lib$gstreplace.la # sources used to compile this plug-in -lib${gstreplace}_la_SOURCES = ${gstreplace}.c +lib${gstreplace}_la_SOURCES = ${gstreplace}plugin.c ${gstreplace}.c ${gstreplace}.h # compiler and linker flags used to compile this plugin, set in configure.ac lib${gstreplace}_la_CFLAGS = \$(GST_CFLAGS) @@ -279,14 +286,13 @@ cat <<EOF #endif #include <gst/gst.h> +#include "gstreplace.h" static gboolean plugin_init (GstPlugin * plugin) { -#if 0 - gst_element_register (replace, "replace", GST_RANK_NONE, - GST_TYPE_REPLACE_TEMPLATE); -#endif + gst_element_register (plugin, "replace", GST_RANK_NONE, + GST_TYPE_REPLACE); return TRUE; } @@ -316,9 +322,69 @@ generate | sed \ -e "s/GstReplace/$GstReplace/g" \ -e "s/gst_replace/$gst_replace/g" \ -e "s/gstreplace/$gstreplace/g" \ - -e "s/replace/$replace/g" >$basedir/plugins/$gstreplace.c + -e "s/replace/$replace/g" >$basedir/plugins/${gstreplace}plugin.c + +gst-indent $basedir/plugins/${gstreplace}plugin.c +rm -f $basedir/plugins/${gstreplace}plugin.c~ + +cat >$basedir/plugins/${gstreplace}.c <<EOF +/* This file should be replaced by element source generated by + * gst-element-maker, or by your own source code. To generate suitable + * element source using gst-element-maker, run: + * + * gst-element-maker $cmdline_prefix $replace BASE_CLASS + * + * Where BASE_CLASS is replaced by one of the base class templates, + * such as basesrc, basetransform, audiofilter, videofilter2, etc. + * Then copy the resulting $gstreplace.c file over this file, and + * $gstreplace.h over $gstreplace.h. + */ +/* The rest of this file is shim code to allow the project to compile */ +EOF -gst-indent $basedir/plugins/$gstreplace.c -rm -f $basedir/plugins/$gstreplace.c~ +cat >$basedir/plugins/${gstreplace}.h <<EOF +/* This file should be replaced by element header generated by + * gst-element-maker, or by your own source code. To generate suitable + * element header using gst-element-maker, run: + * + * gst-element-maker $cmdline_prefix $replace BASE_CLASS + * + * Where BASE_CLASS is replaced by one of the base class templates, + * such as basesrc, basetransform, audiofilter, videofilter2, etc. + * Then copy the resulting $gstreplace.h file over this file, and + * $gstreplace.c over $gstreplace.c. + */ +/* The rest of this file is shim code to allow the project to compile */ +#define ${GST_TYPE_REPLACE} G_TYPE_NONE +EOF + + +mkdir -p $basedir/tools + +cat >$basedir/tools/Makefile.am <<EOF +bin_PROGRAMS = ${gst__replace} + +# sources used to compile this plug-in +${gst_replace}_SOURCES = ${gstreplace}.c + +# compiler and linker flags used to compile the program, set in configure.ac +${gst_replace}_CFLAGS = \$(GST_CFLAGS) +${gst_replace}_LDADD = \$(GST_LIBS) + +EOF + +cat >$basedir/tools/${gstreplace}.c <<EOF +/* This file should be replaced by application source generated by + * gst-app-maker, or by your own source code. To generate suitable + * app source using gst-app-maker, run: + * + * gst-app-maker $cmdline_prefix $replace + * + * Then copy the resulting $gstreplace.c file over this file. + */ +/* The rest of this file is shim code to allow the project to compile */ +#include <stdio.h> +int main (void) { printf ("FIXME\n"); return 0; } +EOF |