diff options
author | Olivier CrĂȘte <olivier.crete@collabora.co.uk> | 2009-02-05 12:38:37 +0000 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.co.uk> | 2009-02-05 12:47:39 +0000 |
commit | 4789542dc48b5a6970d44acb4ba851801b6f1673 (patch) | |
tree | cb203cb3ec913cede946bab37c81814b9f3c36d6 /common | |
parent | d1ea53d5635966800c6cd431afe40ed255d6849a (diff) | |
download | farstream-4789542dc48b5a6970d44acb4ba851801b6f1673.tar.gz |
Replace copy of common with git submodule
Diffstat (limited to 'common')
56 files changed, 0 insertions, 9963 deletions
diff --git a/common b/common new file mode 160000 +Subproject e7d9928e8e6bc01e9a93e07879d28ca68ed1632 diff --git a/common/Makefile.am b/common/Makefile.am deleted file mode 100644 index bfd23499..00000000 --- a/common/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ -SUBDIRS = m4 - -EXTRA_DIST = \ - gtk-doc.mak \ - gst-autogen.sh \ - gst.supp \ - check.mak \ - gtk-doc-plugins.mak \ - plugins.xsl \ - gstdoc-scangobj \ - coverage/coverage-report.pl \ - coverage/coverage-report.xsl \ - coverage/coverage-report-entry.pl \ - gst-xmlinspect.py mangle-tmpl.py scangobj-merge.py diff --git a/common/check.mak b/common/check.mak deleted file mode 100644 index 9ac509d9..00000000 --- a/common/check.mak +++ /dev/null @@ -1,149 +0,0 @@ -clean-local-check: - for i in `find . -name ".libs" -type d`; do \ - rm -rf $$i; \ - done - -if HAVE_VALGRIND -# hangs spectacularly on some machines, so let's not do this by default yet -check-valgrind: - make valgrind -else -check-valgrind: - @true -endif - -LOOPS = 10 - -# run any given test by running make test.check -# if the test fails, run it again at at least debug level 2 -%.check: % - @$(TESTS_ENVIRONMENT) \ - CK_DEFAULT_TIMEOUT=20 \ - $* || \ - $(TESTS_ENVIRONMENT) \ - GST_DEBUG=$$GST_DEBUG,*:2 \ - CK_DEFAULT_TIMEOUT=20 \ - $* - -# run any given test in a loop -%.torture: % - @for i in `seq 1 $(LOOPS)`; do \ - $(TESTS_ENVIRONMENT) \ - CK_DEFAULT_TIMEOUT=20 \ - $*; done - -# run any given test in an infinite loop -%.forever: % - @while true; do \ - $(TESTS_ENVIRONMENT) \ - CK_DEFAULT_TIMEOUT=20 \ - $* || break; done - -# valgrind any given test by running make test.valgrind -%.valgrind: % - $(TESTS_ENVIRONMENT) \ - CK_DEFAULT_TIMEOUT=360 \ - G_SLICE=always-malloc \ - libtool --mode=execute \ - $(VALGRIND_PATH) -q \ - $(foreach s,$(SUPPRESSIONS),--suppressions=$(s)) \ - --tool=memcheck --leak-check=full --trace-children=yes \ - --leak-resolution=high --num-callers=20 \ - ./$* 2>&1 | tee valgrind.log - @if grep "==" valgrind.log > /dev/null 2>&1; then \ - rm valgrind.log; \ - exit 1; \ - fi - @rm valgrind.log - -# valgrind any given test and generate suppressions for it -%.valgrind.gen-suppressions: % - $(TESTS_ENVIRONMENT) \ - CK_DEFAULT_TIMEOUT=360 \ - G_SLICE=always-malloc \ - libtool --mode=execute \ - $(VALGRIND_PATH) -q \ - $(foreach s,$(SUPPRESSIONS),--suppressions=$(s)) \ - --tool=memcheck --leak-check=full --trace-children=yes \ - --leak-resolution=high --num-callers=20 \ - --gen-suppressions=all \ - ./$* 2>&1 | tee suppressions.log - -# valgrind any given test until failure by running make test.valgrind-forever -%.valgrind-forever: % - @while make $*.valgrind; do \ - true; done - -# gdb any given test by running make test.gdb -%.gdb: % - $(TESTS_ENVIRONMENT) \ - CK_FORK=no \ - libtool --mode=execute \ - gdb $* - -# torture tests -torture: $(TESTS) - -rm test-registry.xml - @echo "Torturing tests ..." - for i in `seq 1 $(LOOPS)`; do \ - make check || \ - (echo "Failure after $$i runs"; exit 1) || \ - exit 1; \ - done - @banner="All $(LOOPS) loops passed"; \ - dashes=`echo "$$banner" | sed s/./=/g`; \ - echo $$dashes; echo $$banner; echo $$dashes - -# forever tests -forever: $(TESTS) - -rm test-registry.xml - @echo "Forever tests ..." - while true; do \ - make check || \ - (echo "Failure"; exit 1) || \ - exit 1; \ - done - -# valgrind all tests -valgrind: $(TESTS) - @echo "Valgrinding tests ..." - @failed=0; \ - for t in $(filter-out $(VALGRIND_TESTS_DISABLE),$(TESTS)); do \ - make $$t.valgrind; \ - if test "$$?" -ne 0; then \ - echo "Valgrind error for test $$t"; \ - failed=`expr $$failed + 1`; \ - whicht="$$whicht $$t"; \ - fi; \ - done; \ - if test "$$failed" -ne 0; then \ - echo "$$failed tests had leaks or errors under valgrind:"; \ - echo "$$whicht"; \ - false; \ - fi - -# inspect every plugin feature -GST_INSPECT = $(GST_TOOLS_DIR)/gst-inspect-$(GST_MAJORMINOR) -inspect: - @echo "Inspecting features ..." - for e in `$(TESTS_ENVIRONMENT) $(GST_INSPECT) | head -n -2 \ - | cut -d: -f2`; \ - do echo Inspecting $$e; \ - $(GST_INSPECT) $$e > /dev/null 2>&1; done - -help: - @echo "make check -- run all checks" - @echo "make torture -- run all checks $(LOOPS) times" - @echo "make (dir)/(test).check -- run the given check once" - @echo "make (dir)/(test).forever -- run the given check forever" - @echo "make (dir)/(test).torture -- run the given check $(LOOPS) times" - @echo - @echo "make (dir)/(test).gdb -- start up gdb for the given test" - @echo - @echo "make valgrind -- valgrind all tests" - @echo "make (dir)/(test).valgrind -- valgrind the given test" - @echo "make (dir)/(test).valgrind-forever -- valgrind the given test forever" - @echo "make (dir)/(test).valgrind.gen-suppressions -- generate suppressions" - @echo " and save to suppressions.log" - @echo "make inspect -- inspect all plugin features" - diff --git a/common/coverage/coverage-report-entry.pl b/common/coverage/coverage-report-entry.pl deleted file mode 100644 index 8f653afe..00000000 --- a/common/coverage/coverage-report-entry.pl +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/perl -# -# Copyright (C) 2006 Daniel Berrange -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 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 General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -print <<EOF; -<html> -<head> -<title>Coverage report for $ARGV[0]</title> -<style type="text/css"> - span.perfect { - background: rgb(0,255,0); - } - span.terrible { - background: rgb(255,0,0); - } -</style> -</head> -<body> -<h1>Coverage report for $ARGV[0]</h1> - -<pre> -EOF - - -while (<>) { - s/&/&/g; - s/</</g; - s/>/>/g; - - if (/^\s*function (\S+) called (\d+) returned \d+% blocks executed \d+%/) { - my $class = $2 > 0 ? "perfect" : "terrible"; - $_ = "<span class=\"$class\" id=\"" . $1 . "\">$_</span>"; - } elsif (/^\s*branch\s+\d+\s+taken\s+(\d+)%\s+.*$/) { - my $class = $1 > 0 ? "perfect" : "terrible"; - $_ = "<span class=\"$class\">$_</span>"; - } elsif (/^\s*branch\s+\d+\s+never executed.*$/) { - my $class = "terrible"; - $_ = "<span class=\"$class\">$_</span>"; - } elsif (/^\s*call\s+\d+\s+never executed.*$/) { - my $class = "terrible"; - $_ = "<span class=\"$class\">$_</span>"; - } elsif (/^\s*call\s+\d+\s+returned\s+(\d+)%.*$/) { - my $class = $1 > 0 ? "perfect" : "terrible"; - $_ = "<span class=\"$class\">$_</span>"; - } - - - print; -} - -print <<EOF; -</pre> -</body> -</html> -EOF diff --git a/common/coverage/coverage-report.pl b/common/coverage/coverage-report.pl deleted file mode 100644 index 046bc370..00000000 --- a/common/coverage/coverage-report.pl +++ /dev/null @@ -1,125 +0,0 @@ -#!/usr/bin/perl -# -# Copyright (C) 2006 Daniel Berrange -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 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 General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -use warnings; -use strict; - -my %coverage = ( functions => {}, files => {} ); - -my %filemap; - -my $type; -my $name; - -my @functions; - -while (<>) { - if (/^Function '(.*)'\s*$/) { - $type = "function"; - $name = $1; - $coverage{$type}->{$name} = {}; - push @functions, $name; - } elsif (/^File '(.*?)'\s*$/) { - $type = "file"; - $name = $1; - $coverage{$type}->{$name} = {}; - - foreach my $func (@functions) { - $coverage{"function"}->{$func}->{file} = $name; - } - @functions = (); - } elsif (/^Lines executed:(.*)%\s*of\s*(\d+)\s*$/) { - $coverage{$type}->{$name}->{lines} = $2; - $coverage{$type}->{$name}->{linesCoverage} = $1; - } elsif (/^Branches executed:(.*)%\s*of\s*(\d+)\s*$/) { - $coverage{$type}->{$name}->{branches} = $2; - $coverage{$type}->{$name}->{branchesCoverage} = $1; - } elsif (/^Taken at least once:(.*)%\s*of\s*(\d+)\s*$/) { - $coverage{$type}->{$name}->{conds} = $2; - $coverage{$type}->{$name}->{condsCoverage} = $1; - } elsif (/^Calls executed:(.*)%\s*of\s*(\d+)\s*$/) { - $coverage{$type}->{$name}->{calls} = $2; - $coverage{$type}->{$name}->{callsCoverage} = $1; - } elsif (/^No branches$/) { - $coverage{$type}->{$name}->{branches} = 0; - $coverage{$type}->{$name}->{branchesCoverage} = "100.00"; - $coverage{$type}->{$name}->{conds} = 0; - $coverage{$type}->{$name}->{condsCoverage} = "100.00"; - } elsif (/^No calls$/) { - $coverage{$type}->{$name}->{calls} = 0; - $coverage{$type}->{$name}->{callsCoverage} = "100.00"; - } elsif (/^\s*(.*):creating '(.*)'\s*$/) { - $filemap{$1} = $2; - } elsif (/^\s*$/) { - # nada - } else { - warn "Shit [$_]\n"; - } -} - -my %summary; -foreach my $type ("function", "file") { - $summary{$type} = {}; - foreach my $m ("lines", "branches", "conds", "calls") { - my $totalGot = 0; - my $totalMiss = 0; - my $count = 0; - foreach my $func (keys %{$coverage{function}}) { - $count++; - my $got = $coverage{function}->{$func}->{$m}; - $totalGot += $got; - my $miss = $got * $coverage{function}->{$func}->{$m ."Coverage"} / 100; - $totalMiss += $miss; - } - $summary{$type}->{$m} = sprintf("%d", $totalGot); - $summary{$type}->{$m . "Coverage"} = sprintf("%.2f", $totalMiss / $totalGot * 100); - } -} - - - -print "<coverage>\n"; - -foreach my $type ("function", "file") { - printf "<%ss>\n", $type; - foreach my $name (sort { $a cmp $b } keys %{$coverage{$type}}) { - my $rec = $coverage{$type}->{$name}; - printf " <entry name=\"%s\" details=\"%s\">\n", $name, ($type eq "file" ? $filemap{$name} : $filemap{$rec->{file}}); - printf " <lines count=\"%s\" coverage=\"%s\"/>\n", $rec->{lines}, $rec->{linesCoverage}; - if (exists $rec->{branches}) { - printf " <branches count=\"%s\" coverage=\"%s\"/>\n", $rec->{branches}, $rec->{branchesCoverage}; - } - if (exists $rec->{conds}) { - printf " <conditions count=\"%s\" coverage=\"%s\"/>\n", $rec->{conds}, $rec->{condsCoverage}; - } - if (exists $rec->{calls}) { - printf " <calls count=\"%s\" coverage=\"%s\"/>\n", $rec->{calls}, $rec->{callsCoverage}; - } - print " </entry>\n"; - } - - printf " <summary>\n"; - printf " <lines count=\"%s\" coverage=\"%s\"/>\n", $summary{$type}->{lines}, $summary{$type}->{linesCoverage}; - printf " <branches count=\"%s\" coverage=\"%s\"/>\n", $summary{$type}->{branches}, $summary{$type}->{branchesCoverage}; - printf " <conditions count=\"%s\" coverage=\"%s\"/>\n", $summary{$type}->{conds}, $summary{$type}->{condsCoverage}; - printf " <calls count=\"%s\" coverage=\"%s\"/>\n", $summary{$type}->{calls}, $summary{$type}->{callsCoverage}; - printf " </summary>\n"; - printf "</%ss>\n", $type; -} - -print "</coverage>\n"; diff --git a/common/coverage/coverage-report.xsl b/common/coverage/coverage-report.xsl deleted file mode 100644 index b19ebb63..00000000 --- a/common/coverage/coverage-report.xsl +++ /dev/null @@ -1,235 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
-#
-# Copyright (C) 2006 Daniel Berrange
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 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 General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- version="1.0">
-
- <xsl:output method="html"/>
-
- <xsl:template match="coverage">
- <html>
- <head>
- <title>Coverage report</title>
- <style type="text/css">
- tbody tr.odd td.label {
- border-top: 1px solid rgb(128,128,128);
- border-bottom: 1px solid rgb(128,128,128);
- }
- tbody tr.odd td.label {
- background: rgb(200,200,200);
- }
-
- thead, tfoot {
- background: rgb(60,60,60);
- color: white;
- font-weight: bold;
- }
-
- tr td.perfect {
- background: rgb(0,255,0);
- color: black;
- }
- tr td.excellant {
- background: rgb(140,255,140);
- color: black;
- }
- tr td.good {
- background: rgb(160,255,0);
- color: black;
- }
- tr td.poor {
- background: rgb(255,160,0);
- color: black;
- }
- tr td.bad {
- background: rgb(255,140,140);
- color: black;
- }
- tr td.terrible {
- background: rgb(255,0,0);
- color: black;
- }
- </style>
- </head>
- <body>
- <h1>Coverage report</h1>
- <xsl:apply-templates/>
- </body>
- </html>
- </xsl:template>
-
- <xsl:template match="functions">
- <h2>Function coverage</h2>
- <xsl:call-template name="content">
- <xsl:with-param name="type" select="'function'"/>
- </xsl:call-template>
- </xsl:template>
-
-
- <xsl:template match="files">
- <h2>File coverage</h2>
- <xsl:call-template name="content">
- <xsl:with-param name="type" select="'file'"/>
- </xsl:call-template>
- </xsl:template>
-
- <xsl:template name="content">
- <xsl:param name="type"/>
- <table>
- <thead>
- <tr>
- <th>Name</th>
- <th>Lines</th>
- <th>Branches</th>
- <th>Conditions</th>
- <th>Calls</th>
- </tr>
- </thead>
- <tbody>
- <xsl:for-each select="entry">
- <xsl:call-template name="entry">
- <xsl:with-param name="type" select="$type"/>
- <xsl:with-param name="class">
- <xsl:choose>
- <xsl:when test="position() mod 2">
- <xsl:text>odd</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>even</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:for-each>
- </tbody>
- <tfoot>
- <xsl:for-each select="summary">
- <xsl:call-template name="entry">
- <xsl:with-param name="type" select="'summary'"/>
- <xsl:with-param name="class">
- <xsl:choose>
- <xsl:when test="position() mod 2">
- <xsl:text>odd</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>even</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:for-each>
- </tfoot>
- </table>
- </xsl:template>
-
- <xsl:template name="entry">
- <xsl:param name="type"/>
- <xsl:param name="class"/>
- <tr class="{$class}">
- <xsl:choose>
- <xsl:when test="$type = 'function'">
- <td class="label"><a href="{@details}.html#{@name}"><xsl:value-of select="@name"/></a></td>
- </xsl:when>
- <xsl:when test="$type = 'file'">
- <td class="label"><a href="{@details}.html"><xsl:value-of select="@name"/></a></td>
- </xsl:when>
- <xsl:otherwise>
- <td class="label">Summary</td>
- </xsl:otherwise>
- </xsl:choose>
-
- <xsl:if test="count(lines)">
- <xsl:apply-templates select="lines"/>
- </xsl:if>
- <xsl:if test="not(count(lines))">
- <xsl:call-template name="missing"/>
- </xsl:if>
-
- <xsl:if test="count(branches)">
- <xsl:apply-templates select="branches"/>
- </xsl:if>
- <xsl:if test="not(count(branches))">
- <xsl:call-template name="missing"/>
- </xsl:if>
-
- <xsl:if test="count(conditions)">
- <xsl:apply-templates select="conditions"/>
- </xsl:if>
- <xsl:if test="not(count(conditions))">
- <xsl:call-template name="missing"/>
- </xsl:if>
-
- <xsl:if test="count(calls)">
- <xsl:apply-templates select="calls"/>
- </xsl:if>
- <xsl:if test="not(count(calls))">
- <xsl:call-template name="missing"/>
- </xsl:if>
-
- </tr>
- </xsl:template>
-
- <xsl:template match="lines">
- <xsl:call-template name="row"/>
- </xsl:template>
-
- <xsl:template match="branches">
- <xsl:call-template name="row"/>
- </xsl:template>
-
- <xsl:template match="conditions">
- <xsl:call-template name="row"/>
- </xsl:template>
-
- <xsl:template match="calls">
- <xsl:call-template name="row"/>
- </xsl:template>
-
- <xsl:template name="missing">
- <td></td>
- </xsl:template>
-
- <xsl:template name="row">
- <xsl:variable name="quality">
- <xsl:choose>
- <xsl:when test="@coverage = 100">
- <xsl:text>perfect</xsl:text>
- </xsl:when>
- <xsl:when test="@coverage >= 80.0">
- <xsl:text>excellant</xsl:text>
- </xsl:when>
- <xsl:when test="@coverage >= 60.0">
- <xsl:text>good</xsl:text>
- </xsl:when>
- <xsl:when test="@coverage >= 40.0">
- <xsl:text>poor</xsl:text>
- </xsl:when>
- <xsl:when test="@coverage >= 20.0">
- <xsl:text>bad</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>terrible</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <td class="{$quality}"><xsl:value-of select="@coverage"/>% of <xsl:value-of select="@count"/></td>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/common/coverage/lcov.mak b/common/coverage/lcov.mak deleted file mode 100644 index 0ca94564..00000000 --- a/common/coverage/lcov.mak +++ /dev/null @@ -1,42 +0,0 @@ -## .PHONY so it always rebuilds it -.PHONY: lcov-reset lcov lcov-run lcov-report lcov-upload - -# run lcov from scratch, always -lcov-reset: - $(MAKE) lcov-run - $(MAKE) lcov-report - -# run lcov from scratch if the dir is not there -lcov: - $(MAKE) lcov-reset - -if GST_GCOV_ENABLED -# reset run coverage tests -lcov-run: - @-rm -rf lcov - lcov --directory . --zerocounters - -if test -d tests/check; then $(MAKE) -C tests/check inspect; fi - -$(MAKE) check - -# generate report based on current coverage data -lcov-report: - mkdir lcov - lcov --compat-libtool --directory . --capture --output-file lcov/lcov.info - lcov -l lcov/lcov.info | grep -v "`cd $(top_srcdir) && pwd`" | cut -d: -f1 > lcov/remove - lcov -l lcov/lcov.info | grep "tests/check/" | cut -d: -f1 >> lcov/remove - lcov -r lcov/lcov.info `cat lcov/remove` > lcov/lcov.cleaned.info - rm lcov/remove - mv lcov/lcov.cleaned.info lcov/lcov.info - genhtml -t "$(PACKAGE_STRING)" -o lcov --num-spaces 2 lcov/lcov.info - -lcov-upload: lcov - rsync -rvz -e ssh --delete lcov/* gstreamer.freedesktop.org:/srv/gstreamer.freedesktop.org/www/data/coverage/lcov/$(PACKAGE) - -else -lcov-run: - echo "Need to reconfigure with --enable-gcov" - -lcov-report: - echo "Need to reconfigure with --enable-gcov" -endif - diff --git a/common/glib-gen.mak b/common/glib-gen.mak deleted file mode 100644 index 068b945f..00000000 --- a/common/glib-gen.mak +++ /dev/null @@ -1,44 +0,0 @@ -# these are the variables your Makefile.am should set -# the example is based on the colorbalance interface - -#glib_enum_headers=$(colorbalance_headers) -#glib_enum_define=GST_COLOR_BALANCE -#glib_enum_prefix=gst_color_balance - -enum_headers=$(foreach h,$(glib_enum_headers),\n\#include \"$(h)\") - -# these are all the rules generating the relevant files -%-marshal.h: %-marshal.list Makefile - glib-genmarshal --header --prefix=$(glib_enum_prefix)_marshal $< > $*-marshal.h.tmp - mv $*-marshal.h.tmp $*-marshal.h - -%-marshal.c: %-marshal.list Makefile - echo "#include \"$*-marshal.h\"" >> $*-marshal.c.tmp - glib-genmarshal --body --prefix=$(glib_enum_prefix)_marshal $< >> $*-marshal.c.tmp - mv $*-marshal.c.tmp $*-marshal.c - -%-enum-types.h: $(glib_enum_headers) Makefile - glib-mkenums \ - --fhead "#ifndef __$(glib_enum_define)_ENUM_TYPES_H__\n#define __$(glib_enum_define)_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \ - --fprod "\n/* enumerations from \"@filename@\" */\n" \ - --vhead "GType @enum_name@_get_type (void);\n#define $(glib_enum_define)_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ - --ftail "G_END_DECLS\n\n#endif /* __$(glib_enum_define)_ENUM_TYPES_H__ */" \ - $^ > $@ - -%-enum-types.c: $(glib_enum_headers) Makefile - @if test "x$(glib_enum_headers)" == "x"; then echo "ERROR: glib_enum_headers is empty, please fix Makefile"; exit 1; fi - glib-mkenums \ - --fhead "#include \"$*-enum-types.h\"\n$(enum_headers)" \ - --fprod "\n/* enumerations from \"@filename@\" */" \ - --vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \ - --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ - --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \ - $^ > $@ - -# a hack rule to make sure .Plo files exist because they get include'd -# from Makefile's -.deps/%-marshal.Plo: - touch $@ - -.deps/%-enum-types.Plo: - touch $@ diff --git a/common/gst-autogen.sh b/common/gst-autogen.sh deleted file mode 100644 index ae60f7e1..00000000 --- a/common/gst-autogen.sh +++ /dev/null @@ -1,294 +0,0 @@ -# a silly hack that generates autoregen.sh but it's handy -# Remove the old autoregen.sh first to create a new file, -# as the current one may be being read by the shell executing -# this script. -if [ -f "autoregen.sh" ]; then - rm autoregen.sh -fi -echo "#!/bin/sh" > autoregen.sh -echo "./autogen.sh $@ \$@" >> autoregen.sh -chmod +x autoregen.sh - -# helper functions for autogen.sh - -debug () -# print out a debug message if DEBUG is a defined variable -{ - if test ! -z "$DEBUG" - then - echo "DEBUG: $1" - fi -} - -version_check () -# check the version of a package -# first argument : package name (executable) -# second argument : optional path where to look for it instead -# third argument : source download url -# rest of arguments : major, minor, micro version -# all consecutive ones : suggestions for binaries to use -# (if not specified in second argument) -{ - PACKAGE=$1 - PKG_PATH=$2 - URL=$3 - MAJOR=$4 - MINOR=$5 - MICRO=$6 - - # for backwards compatibility, we let PKG_PATH=PACKAGE when PKG_PATH null - if test -z "$PKG_PATH"; then PKG_PATH=$PACKAGE; fi - debug "major $MAJOR minor $MINOR micro $MICRO" - VERSION=$MAJOR - if test ! -z "$MINOR"; then VERSION=$VERSION.$MINOR; else MINOR=0; fi - if test ! -z "$MICRO"; then VERSION=$VERSION.$MICRO; else MICRO=0; fi - - debug "major $MAJOR minor $MINOR micro $MICRO" - - for SUGGESTION in $PKG_PATH; do - COMMAND="$SUGGESTION" - - # don't check if asked not to - test -z "$NOCHECK" && { - echo -n " checking for $COMMAND >= $VERSION ... " - } || { - # we set a var with the same name as the package, but stripped of - # unwanted chars - VAR=`echo $PACKAGE | sed 's/-//g'` - debug "setting $VAR" - eval $VAR="$COMMAND" - return 0 - } - - debug "checking version with $COMMAND" - ($COMMAND --version) < /dev/null > /dev/null 2>&1 || - { - echo "not found." - continue - } - # strip everything that's not a digit, then use cut to get the first field - pkg_version=`$COMMAND --version|head -n 1|sed 's/^.*)[^0-9]*//'|cut -d' ' -f1` - debug "pkg_version $pkg_version" - # remove any non-digit characters from the version numbers to permit numeric - # comparison - pkg_major=`echo $pkg_version | cut -d. -f1 | sed s/[a-zA-Z\-].*//g` - pkg_minor=`echo $pkg_version | cut -d. -f2 | sed s/[a-zA-Z\-].*//g` - pkg_micro=`echo $pkg_version | cut -d. -f3 | sed s/[a-zA-Z\-].*//g` - test -z "$pkg_major" && pkg_major=0 - test -z "$pkg_minor" && pkg_minor=0 - test -z "$pkg_micro" && pkg_micro=0 - debug "found major $pkg_major minor $pkg_minor micro $pkg_micro" - - #start checking the version - debug "version check" - - # reset check - WRONG= - - if [ ! "$pkg_major" -gt "$MAJOR" ]; then - debug "major: $pkg_major <= $MAJOR" - if [ "$pkg_major" -lt "$MAJOR" ]; then - debug "major: $pkg_major < $MAJOR" - WRONG=1 - elif [ ! "$pkg_minor" -gt "$MINOR" ]; then - debug "minor: $pkg_minor <= $MINOR" - if [ "$pkg_minor" -lt "$MINOR" ]; then - debug "minor: $pkg_minor < $MINOR" - WRONG=1 - elif [ "$pkg_micro" -lt "$MICRO" ]; then - debug "micro: $pkg_micro < $MICRO" - WRONG=1 - fi - fi - fi - - if test ! -z "$WRONG"; then - echo "found $pkg_version, not ok !" - continue - else - echo "found $pkg_version, ok." - # we set a var with the same name as the package, but stripped of - # unwanted chars - VAR=`echo $PACKAGE | sed 's/-//g'` - debug "setting $VAR" - eval $VAR="$COMMAND" - return 0 - fi - done - - echo "not found !" - echo "You must have $PACKAGE installed to compile $package." - echo "Download the appropriate package for your distribution," - echo "or get the source tarball at $URL" - return 1; -} - -aclocal_check () -{ - # normally aclocal is part of automake - # so we expect it to be in the same place as automake - # so if a different automake is supplied, we need to adapt as well - # so how's about replacing automake with aclocal in the set var, - # and saving that in $aclocal ? - # note, this will fail if the actual automake isn't called automake* - # or if part of the path before it contains it - if [ -z "$automake" ]; then - echo "Error: no automake variable set !" - return 1 - else - aclocal=`echo $automake | sed s/automake/aclocal/` - debug "aclocal: $aclocal" - if [ "$aclocal" != "aclocal" ]; - then - CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-aclocal=$aclocal" - fi - if [ ! -x `which $aclocal` ]; then - echo "Error: cannot execute $aclocal !" - return 1 - fi - fi -} - -autoheader_check () -{ - # same here - autoheader is part of autoconf - # use the same voodoo - if [ -z "$autoconf" ]; then - echo "Error: no autoconf variable set !" - return 1 - else - autoheader=`echo $autoconf | sed s/autoconf/autoheader/` - debug "autoheader: $autoheader" - if [ "$autoheader" != "autoheader" ]; - then - CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-autoheader=$autoheader" - fi - if [ ! -x `which $autoheader` ]; then - echo "Error: cannot execute $autoheader !" - return 1 - fi - fi - -} -autoconf_2_52d_check () -{ - # autoconf 2.52d has a weird issue involving a yes:no error - # so don't allow it's use - test -z "$NOCHECK" && { - ac_version=`$autoconf --version|head -n 1|sed 's/^[a-zA-Z\.\ ()]*//;s/ .*$//'` - if test "$ac_version" = "2.52d"; then - echo "autoconf 2.52d has an issue with our current build." - echo "We don't know who's to blame however. So until we do, get a" - echo "regular version. RPM's of a working version are on the gstreamer site." - exit 1 - fi - } - return 0 -} - -die_check () -{ - # call with $DIE - # if set to 1, we need to print something helpful then die - DIE=$1 - if test "x$DIE" = "x1"; - then - echo - echo "- Please get the right tools before proceeding." - echo "- Alternatively, if you're sure we're wrong, run with --nocheck." - exit 1 - fi -} - -autogen_options () -{ - if test "x$1" = "x"; then - return 0 - fi - - while test "x$1" != "x" ; do - optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` - case "$1" in - --noconfigure) - NOCONFIGURE=defined - AUTOGEN_EXT_OPT="$AUTOGEN_EXT_OPT --noconfigure" - echo "+ configure run disabled" - shift - ;; - --nocheck) - AUTOGEN_EXT_OPT="$AUTOGEN_EXT_OPT --nocheck" - NOCHECK=defined - echo "+ autotools version check disabled" - shift - ;; - --debug) - DEBUG=defined - AUTOGEN_EXT_OPT="$AUTOGEN_EXT_OPT --debug" - echo "+ debug output enabled" - shift - ;; - -h|--help) - echo "autogen.sh (autogen options) -- (configure options)" - echo "autogen.sh help options: " - echo " --noconfigure don't run the configure script" - echo " --nocheck don't do version checks" - echo " --debug debug the autogen process" - echo - echo " --with-autoconf PATH use autoconf in PATH" - echo " --with-automake PATH use automake in PATH" - echo - echo "Any argument either not in the above list or after a '--' will be " - echo "passed to ./configure." - exit 1 - ;; - --with-automake=*) - AUTOMAKE=$optarg - echo "+ using alternate automake in $optarg" - CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-automake=$AUTOMAKE" - shift - ;; - --with-autoconf=*) - AUTOCONF=$optarg - echo "+ using alternate autoconf in $optarg" - CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-autoconf=$AUTOCONF" - shift - ;; - --) shift ; break ;; - *) - echo "+ passing argument $1 to configure" - CONFIGURE_EXT_OPT="$CONFIGURE_EXT_OPT $1" - shift - ;; - esac - done - - for arg do CONFIGURE_EXT_OPT="$CONFIGURE_EXT_OPT $arg"; done - if test ! -z "$CONFIGURE_EXT_OPT" - then - echo "+ options passed to configure: $CONFIGURE_EXT_OPT" - fi -} - -toplevel_check () -{ - srcfile=$1 - test -f $srcfile || { - echo "You must run this script in the top-level $package directory" - exit 1 - } -} - - -tool_run () -{ - tool=$1 - options=$2 - run_if_fail=$3 - echo "+ running $tool $options..." - $tool $options || { - echo - echo $tool failed - eval $run_if_fail - exit 1 - } -} diff --git a/common/gst-xmlinspect.py b/common/gst-xmlinspect.py deleted file mode 100644 index 0d7f6961..00000000 --- a/common/gst-xmlinspect.py +++ /dev/null @@ -1,168 +0,0 @@ -# -*- Mode: Python -*- -# vi:si:et:sw=4:sts=4:ts=4 - -""" -examine all plugins and elements and output xml documentation for them -used as part of the plugin documentation build -""" - -import sys -import os -import pygst -pygst.require('0.10') -import gst - -INDENT_SIZE = 2 - -# all templates - -PAD_TEMPLATE = """<caps> - <name>%(name)s</name> - <direction>%(direction)s</direction> - <presence>%(presence)s</presence> - <details>%(details)s</details> -</caps>""" - -ELEMENT_TEMPLATE = """<element> - <name>%(name)s</name> - <longname>%(longname)s</longname> - <class>%(class)s</class> - <description>%(description)s</description> - <author>%(author)s</author> - <pads> -%(pads)s - </pads> -</element>""" - -PLUGIN_TEMPLATE = """<plugin> - <name>%(name)s</name> - <description>%(description)s</description> - <filename>%(filename)s</filename> - <basename>%(basename)s</basename> - <version>%(version)s</version> - <license>%(license)s</license> - <source>%(source)s</source> - <package>%(package)s</package> - <origin>%(origin)s</origin> - <elements> -%(elements)s - </elements> -</plugin>""" - -def xmlencode(line): - """ - Replace &, <, and > - """ - line = "&".join(line.split("&")) - line = "<".join(line.split("<")) - line = ">".join(line.split(">")) - return line - -def get_offset(indent): - return " " * INDENT_SIZE * indent - -def output_pad_template(pt, indent=0): - print "PAD TEMPLATE", pt.name_template - paddir = ("unknown","source","sink") - padpres = ("always","sometimes","request") - - d = { - 'name': xmlencode(pt.name_template), - 'direction': xmlencode(paddir[pt.direction]), - 'presence': xmlencode(padpres[pt.presence]), - 'details': xmlencode(pt.static_caps.string), - } - block = PAD_TEMPLATE % d - - offset = get_offset(indent) - return offset + ("\n" + offset).join(block.split("\n")) - -def output_element_factory(elf, indent=0): - print "ELEMENT", elf.get_name() - - padsoutput = [] - padtemplates = elf.get_static_pad_templates() - for padtemplate in padtemplates: - padsoutput.append(output_pad_template(padtemplate, indent)) - - d = { - 'name': xmlencode(elf.get_name()), - 'longname': xmlencode(elf.get_longname()), - 'class': xmlencode(elf.get_klass()), - 'description': xmlencode(elf.get_description()), - 'author': xmlencode(elf.get_author()), - 'pads': "\n".join(padsoutput), - } - block = ELEMENT_TEMPLATE % d - - offset = get_offset(indent) - return offset + ("\n" + offset).join(block.split("\n")) - -def output_plugin(plugin, indent=0): - print "PLUGIN", plugin.get_name() - version = plugin.get_version() - - elements = {} - gst.debug('getting features for plugin %s' % plugin.get_name()) - registry = gst.registry_get_default() - features = registry.get_feature_list_by_plugin(plugin.get_name()) - gst.debug('plugin %s has %d features' % (plugin.get_name(), len(features))) - for feature in features: - if isinstance(feature, gst.ElementFactory): - elements[feature.get_name()] = feature - #gst.debug("got features") - - elementsoutput = [] - keys = elements.keys() - keys.sort() - for name in keys: - feature = elements[name] - elementsoutput.append(output_element_factory(feature, indent + 2)) - - filename = plugin.get_filename() - basename = filename - if basename: - basename = os.path.basename(basename) - d = { - 'name': xmlencode(plugin.get_name()), - 'description': xmlencode(plugin.get_description()), - 'filename': filename, - 'basename': basename, - 'version': version, - 'license': xmlencode(plugin.get_license()), - 'source': xmlencode(plugin.get_source()), - 'package': xmlencode(plugin.get_package()), - 'origin': xmlencode(plugin.get_origin()), - 'elements': "\n".join(elementsoutput), - } - block = PLUGIN_TEMPLATE % d - - offset = get_offset(indent) - return offset + ("\n" + offset).join(block.split("\n")) - -def main(): - if len(sys.argv) == 1: - sys.stderr.write("Please specify a source module to inspect") - sys.exit(1) - source = sys.argv[1] - - if len(sys.argv) > 2: - os.chdir(sys.argv[2]) - - registry = gst.registry_get_default() - all = registry.get_plugin_list() - for plugin in all: - gst.debug("inspecting plugin %s from source %s" % ( - plugin.get_name(), plugin.get_source())) - # this skips gstcoreelements, with bin and pipeline - if plugin.get_filename() is None: - continue - if plugin.get_source() != source: - continue - - filename = "plugin-%s.xml" % plugin.get_name() - handle = open(filename, "w") - handle.write(output_plugin(plugin)) - handle.close() - -main() diff --git a/common/gst.supp b/common/gst.supp deleted file mode 100644 index 9b2a3a26..00000000 --- a/common/gst.supp +++ /dev/null @@ -1,1988 +0,0 @@ -### this file contains suppressions for valgrind when running -### the gstreamer unit tests -### it might be useful for wider use as well - -### syscall suppressions - -{ - <clone on Wim's Debian> - Memcheck:Param - clone(parent_tidptr) - fun:clone - fun:clone -} - -{ - <clone on Wim's Debian> - Memcheck:Param - clone(child_tidptr) - fun:clone - fun:clone -} - -{ - <clone on Wim's Debian> - Memcheck:Param - clone(tlsinfo) - fun:clone - fun:clone -} - -### glibc suppressions - -{ - <conditional jump on wim's debian 2/2/06> - Memcheck:Cond - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open - fun:gst_plugin_load_file -} - -# glibc does not deallocate thread-local storage - -{ - <tls> - Memcheck:Leak - fun:calloc - fun:_dl_allocate_tls - fun:pthread_create@@* -} - -# I get an extra stack entry on x86/dapper -{ - <tls> - Memcheck:Leak - fun:calloc - obj:/lib/ld-2.3.*.so - fun:_dl_allocate_tls - fun:pthread_create@@* -} - - -{ - <pthread strstr> - Memcheck:Cond - fun:strstr - fun:__pthread_initialize_minimal - obj:/lib/libpthread-*.so - obj:/lib/libpthread-*.so - fun:call_init - fun:_dl_init - obj:/lib/ld-*.so -} - -# a thread-related free problem in glibc from Edgard -{ - __libc_freeres_rw_acess - Memcheck:Addr4 - obj:* - obj:* - obj:* - obj:* - obj:* - fun:__libc_freeres -} - -{ - <a conditional jump on wim's debian> - Memcheck:Cond - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so -} - -# g_module_open-related problems -{ - <started showing up on fc4-quick> - Memcheck:Addr2 - fun:memcpy - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open - fun:gst_plugin_load_file - fun:gst_registry_scan_path_level - fun:gst_registry_scan_path_level - fun:gst_registry_scan_path_level - fun:init_post - fun:g_option_context_parse - fun:gst_init_check - fun:gst_init - fun:gst_check_init - fun:main -} - -{ - <started showing up on fc4-quick> - Memcheck:Addr4 - fun:memcpy - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open - fun:gst_plugin_load_file - fun:gst_registry_scan_path_level - fun:gst_registry_scan_path_level - fun:gst_registry_scan_path_level - fun:init_post - fun:g_option_context_parse - fun:gst_init_check - fun:gst_init - fun:gst_check_init - fun:main -} - -{ - <g_module_open on wim's debian> - Memcheck:Cond - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:do_sym - fun:_dl_sym - fun:dlsym_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlsym - fun:g_module_symbol - fun:g_module_open - fun:gst_plugin_load_file -} - -{ - <g_module_open on wim's debian> - Memcheck:Cond - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open - fun:gst_plugin_load_file -} -{ - <g_module_open on wim's debian> - Memcheck:Cond - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open - fun:gst_plugin_load_file - fun:gst_plugin_load_by_name - fun:gst_plugin_feature_load -} - -{ - <leak on wim's debian in g_module_open> - Memcheck:Leak - fun:malloc - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open - fun:gst_plugin_load_file - fun:gst_plugin_load_by_name -} - -{ - <invalid read on wim's debian> - Memcheck:Addr4 - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so -} - -{ - <invalid read on wim's debian> - Memcheck:Addr4 - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run -} - -{ - <invalid read on wim's debian - 2006-02-02> - Memcheck:Addr4 - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open -} - -{ - <invalid read on wim's debian - 2006-02-02> - Memcheck:Addr4 - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open -} - -{ - <invalid read on wim's debian - 2006-02-02> - Memcheck:Addr4 - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:do_sym - fun:_dl_sym - fun:dlsym_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlsym - fun:g_module_symbol - fun:g_module_open -} - -{ - <futex on Andy's 64-bit ubuntu> - Memcheck:Param - futex(uaddr2) - fun:pthread_once - obj:/lib/libc-2.3.*.so - obj:/lib/libc-2.3.*.so - fun:mbsnrtowcs - fun:vfprintf - fun:vsprintf - fun:sprintf - obj:/lib/libc-2.3.*.so - fun:tmpfile - fun:setup_pipe - fun:setup_messaging_with_key - fun:setup_messaging -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen - fun:g_module_open -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libc-2.7.so - fun:_dl_sym - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlsym - fun:g_module_symbol - fun:g_module_open -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen - fun:g_module_open -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen - fun:g_module_open -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen - fun:g_module_open -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libc-2.7.so - obj:/lib/ld-2.7.so - fun:__libc_dlopen_mode -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libc-2.7.so - obj:/lib/ld-2.7.so - fun:__libc_dlopen_mode -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libc-2.7.so - obj:/lib/ld-2.7.so - fun:__libc_dlopen_mode - obj:/lib/i686/cmov/libc-2.7.so - obj:/lib/i686/cmov/libc-2.7.so - obj:/lib/i686/cmov/libc-2.7.so - obj:/lib/i686/cmov/libc-2.7.so - obj:/lib/i686/cmov/libc-2.7.so - fun:iconv_open -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libc-2.7.so - obj:/lib/ld-2.7.so - fun:__libc_dlopen_mode - obj:/lib/i686/cmov/libc-2.7.so - obj:/lib/i686/cmov/libc-2.7.so - obj:/lib/i686/cmov/libc-2.7.so - obj:/lib/i686/cmov/libc-2.7.so - obj:/lib/i686/cmov/libc-2.7.so - fun:iconv_open -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Cond - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Cond - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Cond - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Cond - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Cond - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Cond - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen -} - -{ - <suppression for glibc 2.7 on debian> - Memcheck:Addr4 - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - obj:/lib/ld-2.7.so - obj:/lib/i686/cmov/libdl-2.7.so - fun:dlopen -} - -# suppression for a glibc bug: -# http://valgrind.org/docs/manual/faq.html#faq.exit_errors> -{ - <Workaround for a glibc bug> - Memcheck:Free - fun:free - obj:*libc-*.so - fun:__libc_freeres - fun:* - fun:_Exit -} - -# valgrind doesn't allow me to specify a suppression for Addr1, Addr2, Addr4 -# as Addr*, so 3 copies for that; and then 2 of each for that pesky memcpy -{ - <Invalid read of size 1, 2, 4 on thomas's FC4> - Memcheck:Addr1 - fun:_dl_signal_error - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open -} - -{ - <Invalid read of size 1, 2, 4 on thomas's FC4> - Memcheck:Addr2 - fun:_dl_signal_error - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open -} -{ - <Invalid read of size 1, 2, 4 on thomas's FC4> - Memcheck:Addr4 - fun:_dl_signal_error - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open -} - -{ - <Invalid read of size 1, 2, 4 on thomas's FC4> - Memcheck:Addr1 - fun:memcpy - fun:_dl_signal_error - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open -} - -{ - <Invalid read of size 1, 2, 4 on thomas's FC4> - Memcheck:Addr2 - fun:memcpy - fun:_dl_signal_error - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open -} -{ - <Invalid read of size 1, 2, 4 on thomas's FC4> - Memcheck:Addr4 - fun:memcpy - fun:_dl_signal_error - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open -} - -{ - <Addr8 on Andy's AMD64 ubuntu in dl_open> - Memcheck:Addr8 - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/libc-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:_dl_open - obj:/lib/libdl-2.3.*.so - obj:/lib/ld-2.3.*.so -} - -{ - <Conditional jump on Andy's AMD64 ubuntu> - Memcheck:Cond - obj:/lib/ld-2.3.*.so - obj:/lib/libc-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:_dl_open - obj:/lib/libdl-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/libdl-2.3.*.so - fun:dlopen - fun:g_module_open - fun:gst_plugin_load_file - fun:gst_plugin_load_by_name - fun:gst_plugin_feature_load -} - -{ - <Mike's x86 dapper> - Memcheck:Addr4 - obj:/lib/ld-2.3.6.so - obj:/lib/ld-2.3.6.so - obj:/lib/tls/i686/cmov/libc-2.3.6.so - obj:/lib/ld-2.3.6.so - fun:_dl_open - obj:/lib/tls/i686/cmov/libdl-2.3.6.so - obj:/lib/ld-2.3.6.so - obj:/lib/tls/i686/cmov/libdl-2.3.6.so - fun:dlopen -} - -{ - <Mike's x86 dapper> - Memcheck:Cond - obj:/lib/ld-2.3.6.so - obj:/lib/tls/i686/cmov/libc-2.3.6.so - obj:/lib/ld-2.3.6.so - fun:_dl_open - obj:/lib/tls/i686/cmov/libdl-2.3.6.so - obj:/lib/ld-2.3.6.so - obj:/lib/tls/i686/cmov/libdl-2.3.6.so - fun:dlopen -} - -{ - <Another dapper one> - Memcheck:Cond - obj:/lib/ld-2.3.6.so - obj:/lib/ld-2.3.6.so - obj:/lib/ld-2.3.6.so - obj:/lib/tls/i686/cmov/libc-2.3.6.so - obj:/lib/ld-2.3.6.so - fun:_dl_open - obj:/lib/tls/i686/cmov/libdl-2.3.6.so - obj:/lib/ld-2.3.6.so - obj:/lib/tls/i686/cmov/libdl-2.3.6.so - fun:dlopen -} - -### glib suppressions -{ - <g_parse_debug_string> - Memcheck:Cond - fun:g_parse_debug_string - obj:/usr/lib*/libglib-2.0.so.* - fun:g_slice_alloc - fun:g_slice_alloc0 -} - -{ - <g_type_init malloc> - Memcheck:Leak - fun:malloc - fun:g_malloc - fun:g_strdup - fun:g_quark_from_string - obj:* - obj:* - fun:g_type_register_fundamental - obj:* - fun:g_type_init_with_debug_flags - fun:g_type_init - fun:init_pre -} - -{ - <g_type_init calloc> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - obj:* - obj:* - fun:g_type_register_fundamental -} - -{ - <g_type_init calloc 2> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - obj:* - obj:* - fun:g_type_init_with_debug_flags -} - -{ - <g_type_init calloc 3, GSlice version> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:g_slice_alloc - obj:* - obj:* - fun:g_type_init_with_debug_flags -} - -#pthread memleaks - -{ - Thread creation leak - Memcheck:Leak - fun:calloc - fun:allocate_dtv - fun:_dl_allocate* - fun:_dl_allocate* - fun:__pthread_initialize_minimal -} - -{ - Thread management leak - Memcheck:Leak - fun:calloc - fun:allocate_dtv - fun:_dl_allocate* - fun:_dl_allocate* - fun:__pthread_* -} - -{ - Thread management leak 2 - Memcheck:Leak - fun:memalign - fun:_dl_allocate* - fun:_dl_allocate* - fun:__pthread_* -} - -{ - pthread_create Syscall param write(buf) points to uninitialised byte(s) - Memcheck:Param - write(buf) - fun:pthread_create@@GLIBC_2.2.5 - fun:g_thread_create* - -} - -# nss_parse_* memleak (used by g_option_context_parse) -{ - nss_parse_* memleak - Memcheck:Leak - fun:malloc - fun:nss_parse_service_list - fun:__nss_database_lookup -} - -# liboil suppressions -{ - <liboil cpu_fault_check_try> - Memcheck:Value8 - obj:/usr/lib/liboil-0.3.so.0.1.0 - obj:/usr/lib/liboil-0.3.so.0.1.0 - obj:/usr/lib/liboil-0.3.so.0.1.0 - fun:oil_cpu_fault_check_try - fun:oil_test_check_impl - fun:oil_class_optimize - fun:oil_optimize_all - fun:oil_init -} - -{ - <annoying read error inside dlopen stuff on Ubuntu Dapper x86_64> - Memcheck:Addr8 - obj:/lib/ld-2.3.6.so -} - -{ - <Ubuntu Dapper x86_64> - Memcheck:Param - futex(uaddr2) - fun:pthread_once - obj:/lib/libc-2.3.6.so - obj:/lib/libc-2.3.6.so - fun:setlocale - fun:init_pre - fun:g_option_context_parse - fun:gst_init_check - fun:gst_init - fun:gst_check_init - fun:main -} - -{ - <Ubuntu Dapper x86_64 dlopen stuff again> - Memcheck:Cond - obj:/lib/ld-2.3.6.so - obj:/lib/ld-2.3.6.so - fun:_dl_open - obj:/lib/libdl-2.3.6.so - obj:/lib/ld-2.3.6.so - obj:/lib/libdl-2.3.6.so - fun:dlopen - fun:g_module_open - fun:gst_plugin_load_file -} -# this exists in a bunch of different variations, hence the short tail/trace -{ - <dlopen invalid read of size 4 suppression on tpm's Ubuntu edgy/x86> - Memcheck:Addr4 - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so -} -{ - <and the same for 64bit systems> - Memcheck:Addr8 - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so -} - -# More edgy suppressions (Mike) -{ - <dlopen Condition jump suppressions for Ubuntu Edgy/x86> - Memcheck:Cond - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - fun:dlopen_doit - obj:/lib/ld-2.4.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 -} - -{ - <dlopen Condition jump suppressions for Ubuntu Edgy/x86> - Memcheck:Cond - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - fun:dlopen_doit - obj:/lib/ld-2.4.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 -} - -{ - <dlopen Condition jump suppressions for Ubuntu Edgy/x86> - Memcheck:Cond - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - fun:do_sym - fun:_dl_sym -} - -# This one's overly general, but there's zero other information in the stack -# trace - just these five lines! -{ - <dlopen Condition jump suppressions for Ubuntu Edgy/x86> - Memcheck:Cond - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so -} - -{ - <tls leaks on Edgy/x86> - Memcheck:Leak - fun:calloc - obj:/lib/ld-2.4.so - fun:_dl_allocate_tls - fun:pthread_create@@GLIBC_2.1 -} - -# TLS leaks for feisty/x86 -{ - <tls leaks on Feisty/x86> - Memcheck:Leak - fun:calloc - fun:allocate_dtv - fun:_dl_allocate_tls - fun:pthread_create@@GLIBC_2.1 -} - -{ - <libcdio 0.76 leak> - Memcheck:Leak - fun:calloc - obj:/usr/lib/libcdio.so.6.0.1 - fun:cdio_open_am_linux - obj:/usr/lib/libcdio.so.6.0.1 - fun:cdio_open_am -} - -{ - <Addr8 on Jan's AMD64 ubuntu Feisty in dl_open> - Memcheck:Addr8 - obj:/lib/ld-2.5.so -} - -{ - <First of many Alsa errors> - Memcheck:Cond - fun:snd_pcm_direct_shm_create_or_connect - fun:snd_pcm_dsnoop_open - fun:_snd_pcm_dsnoop_open - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_pcm_open_slave - fun:_snd_pcm_plug_open - obj:/*lib/libasound.so.2.0.0 - fun:snd_pcm_open_slave - fun:_snd_pcm_asym_open - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 -} - -{ - <alsa error> - Memcheck:Cond - fun:snd_pcm_hw_param_set_near - fun:set_hwparams -} - -{ - <alsa error> - Memcheck:Cond - fun:_snd_pcm_hw_param_set_min - fun:snd_pcm_hw_param_set_min - fun:snd_pcm_hw_param_set_near - fun:set_hwparams -} - -{ - <alsa error> - Memcheck:Cond - fun:_snd_pcm_hw_param_set_min - fun:snd_pcm_hw_param_set_min - fun:snd_pcm_hw_param_set_near - fun:set_hwparams -} - -{ - <alsa error> - Memcheck:Cond - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_pcm_hw_param_set_near - fun:set_hwparams -} -{ - <alsa error> - Memcheck:Cond - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_pcm_close - obj:/*lib/libasound.so.2.0.0 -} -{ - <alsa error> - Memcheck:Cond - fun:snd_pcm_direct_shm_create_or_connect - fun:snd_pcm_dmix_open - fun:_snd_pcm_dmix_open - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_pcm_open_slave - fun:_snd_pcm_softvol_open - obj:/*lib/libasound.so.2.0.0 - fun:snd_pcm_open_slave - fun:_snd_pcm_plug_open - obj:/*lib/libasound.so.2.0.0 - fun:snd_pcm_open_slave - fun:_snd_pcm_asym_open - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 -} -{ - <alsa error> - Memcheck:Leak - fun:malloc - fun:strdup - fun:snd_dlobj_cache_add - obj:/*lib/libasound.so.2.0.0 - fun:snd_pcm_open_slave - fun:snd_pcm_dsnoop_open - fun:_snd_pcm_dsnoop_open - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_pcm_open_slave - fun:_snd_pcm_plug_open - obj:/*lib/libasound.so.2.0.0 - fun:snd_pcm_open_slave - fun:_snd_pcm_asym_open - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 -} -# Catch about 15 variations on inserting info into an ALSA -# internal cache -{ - <alsa error> - Memcheck:Leak - fun:malloc - fun:snd_dlobj_cache_add - obj:/*lib/libasound.so.2.0.0 -} -{ - <this catches a bunch of very similar errors related to parsing the configs> - Memcheck:Leak - fun:malloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load -} -{ - <alsa error> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_searcha_hooks -} -{ - <alsa error - same as above with 6 libasound> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_searcha_hooks -} -{ - <alsa error - same as above with 7 libasound> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_searcha_hooks -} -{ - <alsa error - same as above with 10 libasound> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_searcha_hooks -} -{ - <alsa error - same as above with 11 libasound> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_searcha_hooks -} -{ - <alsa error> - Memcheck:Leak - fun:malloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - fun:snd_config_hook_load_for_all_cards - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_searcha_hooks - fun:snd_config_search_alias_hooks - fun:snd_config_search_definition -} -{ - <alsa error - same as above, but using calloc> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - fun:snd_config_hook_load_for_all_cards - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_searcha_hooks - fun:snd_config_search_alias_hooks - fun:snd_config_search_definition -} -{ - <alsa error - same as above, but with only 9 libasounds> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_searcha_hooks - fun:snd_config_search_alias_hooks - fun:snd_config_search_definition -} -{ - <alsa error> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_update_r - fun:snd_config_update -} -{ - <alsa error - same as above, with 7 libasound repeats> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_update_r - fun:snd_config_update -} -{ - <alsa error - same as above, with 6 libasound repeats> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_update_r - fun:snd_config_update -} -{ - <alsa error> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_update_r - fun:snd_config_update -} -{ - <alsa error - same as above, with 6 libasound repeats> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_update_r - fun:snd_config_update -} -{ - <alsa error - same as above, with 7 libasound repeats> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_update_r - fun:snd_config_update -} -{ - <alsa error - same as above, with 8 libasound repeats> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_update_r - fun:snd_config_update -} -{ - <alsa error - same as above, with 9 libasound repeats> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_update_r - fun:snd_config_update -} -{ - <alsa error - same as above, with 10 libasound repeats> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_update_r - fun:snd_config_update -} -{ - <alsa error - same as above, with 11 libasound repeats> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_update_r - fun:snd_config_update -} -{ - <alsa error> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_searcha_hooks - fun:snd_config_search_alias_hooks - fun:snd_config_search_definition - obj:/*lib/libasound.so.2.0.0 -} -{ - <alsa error> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_searcha_hooks - fun:snd_config_search_alias_hooks - fun:snd_config_search_definition - obj:/*lib/libasound.so.2.0.0 -} -{ - <alsa error> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - fun:snd_config_hook_load_for_all_cards - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_searcha_hooks - fun:snd_config_search_alias_hooks - fun:snd_config_search_definition - obj:/*lib/libasound.so.2.0.0 -} -{ - <alsa error - same as above, but with 8 libasound in the stack> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - fun:snd_config_hook_load_for_all_cards - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_searcha_hooks - fun:snd_config_search_alias_hooks - fun:snd_config_search_definition - obj:/*lib/libasound.so.2.0.0 -} -{ - <alsa error - same as above, but with 7 libasound in the stack> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - fun:snd_config_hook_load_for_all_cards - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_searcha_hooks - fun:snd_config_search_alias_hooks - fun:snd_config_search_definition - obj:/*lib/libasound.so.2.0.0 -} -{ - <alsa error - same as above, but with 6 libasound in the stack> - Memcheck:Leak - fun:calloc - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_hook_load - fun:snd_config_hook_load_for_all_cards - obj:/*lib/libasound.so.2.0.0 - fun:snd_config_searcha_hooks - fun:snd_config_search_alias_hooks - fun:snd_config_search_definition - obj:/*lib/libasound.so.2.0.0 -} -{ - <nss lookup within ALSA> - Memcheck:Leak - fun:malloc - obj:/lib/libc*.so - fun:__nss_database_lookup - obj:* - obj:* - fun:getgrnam_r - fun:getgrnam - fun:snd_pcm_direct_parse_open_conf -} - -{ - <libxcb leak on Ubuntu Feisty> - Memcheck:Leak - fun:calloc - fun:_XCBInitDisplayLock - fun:XOpenDisplay -} - -# GConf internal initialisations related to getting the default client. -{ - <Orbit something or other> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc_tcval - obj:/usr/lib/libORBit-2.so.* - fun:ORBit_demarshal_IOR - fun:ORBit_demarshal_object - fun:CORBA_ORB_string_to_object - obj:/usr/lib/libgconf-2.so.* - fun:gconf_get_current_lock_holder - fun:gconf_activate_server - obj:/usr/lib/libgconf-2.so.* - obj:/usr/lib/libgconf-2.so.* - fun:gconf_engine_get_default -} -{ - <gconf internal leak> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc_tcval - obj:/usr/lib/libORBit-2.so.* - fun:PortableServer_POA_servant_to_reference - obj:/usr/lib/libgconf-2.so.* - obj:/usr/lib/libgconf-2.so.* - obj:/usr/lib/libgconf-2.so.* - fun:gconf_engine_get_default -} -{ - <gconf internal leak> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc_tcval - obj:/usr/lib/libORBit-2.so.* - fun:ORBit_demarshal_IOR - fun:ORBit_demarshal_object - fun:CORBA_ORB_string_to_object - obj:/usr/lib/libgconf-2.so.* - fun:gconf_get_current_lock_holder - fun:gconf_activate_server - obj:/usr/lib/libgconf-2.so.* - obj:/usr/lib/libgconf-2.so.* - fun:gconf_engine_get_default -} -{ - <gconf internal initialisation> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc* - obj:/usr/lib/libORBit-2.so.* - fun:ORBit_demarshal_IOR - fun:ORBit_demarshal_object - fun:ORBit_demarshal_value - obj:/usr/lib/libORBit-2.so.* - fun:ORBit_small_invoke_stub - fun:ConfigServer_get_default_database - obj:/usr/lib/libgconf-2.so.* - fun:gconf_engine_get_default -} -{ - <gconf internal init> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc* - obj:/usr/lib/libORBit-2.so.* - fun:IOP_generate_profiles - fun:ORBit_marshal_object - fun:ORBit_marshal_value - obj:/usr/lib/libORBit-2.so.* - fun:ORBit_small_invoke_stub - fun:ConfigServer_add_client - obj:/usr/lib/libgconf-2.so.* - obj:/usr/lib/libgconf-2.so.* - fun:gconf_engine_get_default -} -{ - <gconf internal init> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc_by_tc - obj:/usr/lib/libORBit-2.so.* - fun:PortableServer_POA_servant_to_reference - obj:/usr/lib/libgconf-2.so.* - obj:/usr/lib/libgconf-2.so.* - obj:/usr/lib/libgconf-2.so.* - fun:gconf_engine_get_default -} -{ - <gconf internal init> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc_by_tc - obj:/usr/lib/libORBit-2.so.* - fun:ORBit_demarshal_IOR - fun:ORBit_demarshal_object - fun:CORBA_ORB_string_to_object - obj:/usr/lib/libgconf-2.so.* - fun:gconf_get_current_lock_holder - fun:gconf_activate_server - obj:/usr/lib/libgconf-2.so.* - obj:/usr/lib/libgconf-2.so.* - fun:gconf_engine_get_default -} - -# Some libORBit/bonobo initialisation stuff -{ - <bonobo init> - Memcheck:Leak - fun:malloc - fun:g_malloc - fun:ORBit_alloc_string - fun:CORBA_string_dup - fun:Bonobo_ActivationEnvValue_set - fun:bonobo_activation_init_activation_env - fun:bonobo_activation_orb_init - fun:bonobo_activation_init -} -{ - <bonobo init> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc* - fun:ORBit_small_alloc* - obj:/usr/lib/libORBit-2.so* - fun:PortableServer_POA_servant_to_reference - obj:/usr/lib/libbonobo-2.so* -} -{ - <bonobo init> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc_tcval - fun:ORBit_small_allocbuf - fun:ORBit_adaptor_setup - obj:/usr/lib/libORBit-2.so* - fun:ORBit_POA_setup_root - fun:ORBit_init_internals - fun:CORBA_ORB_init -} -{ - <bonobo init - more recent variant of above> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc_tcval - fun:ORBit_adaptor_setup - obj:/usr/lib/libORBit-2.so* - fun:ORBit_POA_setup_root - fun:ORBit_init_internals - fun:CORBA_ORB_init -} -{ - <bonobo init> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc* - fun:ORBit_small_allocbuf - fun:bonobo_activation_init_activation_env - fun:bonobo_activation_orb_init - fun:bonobo_activation_init -} - -# More GConf stuff from the FC5 buildbot, mostly variations on the -# above stack traces -{ - <incompletely initialised ORBit buffer> - Memcheck:Param - writev(vector[...]) - fun:writev - obj:/usr/lib/libORBit-2.so* - fun:link_connection_writev - fun:giop_send_buffer_write - obj:/usr/lib/libORBit-2.so* - fun:ORBit_small_invoke_stub - fun:ORBit_small_invoke_stub_n - fun:ORBit_c_stub_invoke - fun:ConfigServer_ping - fun:gconf_activate_server - obj:/usr/lib/libgconf-2.so* - obj:/usr/lib/libgconf-2.so* - fun:gconf_engine_get_default -} -{ - <gconf init> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc* - fun:ORBit_small_alloc* - obj:/usr/lib/libORBit-2.so* - fun:PortableServer_POA_servant_to_reference - obj:/usr/lib/libgconf-2.so* - obj:/usr/lib/libgconf-2.so* - obj:/usr/lib/libgconf-2.so* - fun:gconf_engine_get_default -} -{ - <gconf init> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc* - fun:ORBit_small_alloc - obj:/usr/lib/libORBit-2.so* - fun:ORBit_demarshal_IOR - fun:ORBit_demarshal_object - fun:CORBA_ORB_string_to_object - obj:/usr/lib/libgconf-2.so* - fun:gconf_get_current_lock_holder - fun:gconf_activate_server - obj:/usr/lib/libgconf-2.so* - obj:/usr/lib/libgconf-2.so* - fun:gconf_engine_get_default -} -{ - <gconf init> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc* - fun:ORBit_small_alloc* - obj:/usr/lib/libORBit-2.so* - fun:ORBit_demarshal_IOR - fun:ORBit_demarshal_object - fun:CORBA_ORB_string_to_object - obj:/usr/lib/libgconf-2.so* - fun:gconf_get_current_lock_holder - fun:gconf_activate_server - obj:/usr/lib/libgconf-2.so* - obj:/usr/lib/libgconf-2.so* - fun:gconf_engine_get_default -} -{ - <bonobo init> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc* - fun:ORBit_small_alloc* - obj:/usr/lib/libORBit-2.so* - fun:ORBit_demarshal_IOR - fun:ORBit_demarshal_object - fun:ORBit_demarshal_value - obj:/usr/lib/libORBit-2.so* - fun:ORBit_small_invoke_stub - fun:ORBit_small_invoke_stub_n - fun:ORBit_c_stub_invoke - fun:ConfigServer_get_default_database - obj:/usr/lib/libgconf-2.so* - fun:gconf_engine_get_default -} -{ - <gconf init> - Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:ORBit_alloc* - fun:ORBit_small_alloc* - obj:/usr/lib/libORBit-2.so* - fun:ORBit_OAObject_object_to_objkey - fun:IOP_generate_profiles - fun:ORBit_marshal_object - fun:ORBit_marshal_value - obj:/usr/lib/libORBit-2.so* - fun:ORBit_small_invoke_stub - fun:ORBit_small_invoke_stub_n - fun:ORBit_c_stub_invoke - fun:ConfigServer_add_client - obj:/usr/lib/libgconf-2.so* - obj:/usr/lib/libgconf-2.so* - fun:gconf_engine_get_default -} -{ - <GLib caching the home dir> - Memcheck:Leak - fun:malloc - obj:*libc-*.so - fun:__nss_database_lookup - obj:* - obj:* - fun:getpwnam_r - obj:/usr/lib*/libglib-2.0.so.* - fun:g_get_home_dir -} -{ - <GLib caching the user name> - Memcheck:Leak - fun:malloc - obj:*libc-*.so - fun:__nss_database_lookup - obj:* - obj:* - fun:getpwnam_r - obj:/usr/lib*/libglib-2.0.so.* - fun:g_get_user_name -} -{ - <GLib caching the tmp dir> - Memcheck:Leak - fun:malloc - obj:*libc-*.so - fun:__nss_database_lookup - obj:* - obj:* - fun:getpwnam_r - obj:/usr/lib*/libglib-2.0.so.* - fun:g_get_tmp_dir -} - -{ - <GLib caching the host name> - Memcheck:Leak - fun:malloc - obj:*libc-*.so - fun:__nss_database_lookup - obj:* - obj:* - fun:getpwnam_r - obj:/usr/lib*/libglib-2.0.so.0.* - fun:g_get_host_name -} - - -## Some Fontconfig errors. -{ - <First time load of a font - feisty x86_64> - Memcheck:Leak - fun:malloc - fun:FcPatternObjectInsertElt - fun:FcPatternObjectAddWithBinding - fun:FcPatternAppend - fun:FcEndElement - obj:/usr/lib/libexpat.so.1.0.0 - obj:/usr/lib/libexpat.so.1.0.0 - obj:/usr/lib/libexpat.so.1.0.0 - obj:/usr/lib/libexpat.so.1.0.0 - fun:XML_ParseBuffer - fun:FcConfigParseAndLoad - fun:FcConfigParseAndLoad - fun:FcParseInclude - fun:FcEndElement - obj:/usr/lib/libexpat.so.1.0.0 - obj:/usr/lib/libexpat.so.1.0.0 - obj:/usr/lib/libexpat.so.1.0.0 - obj:/usr/lib/libexpat.so.1.0.0 - fun:XML_ParseBuffer - fun:FcConfigParseAndLoad -} -{ - <First time load of a font - feisty x86_64> - Memcheck:Leak - fun:malloc - fun:FcStrCopy - fun:FcEndElement - obj:/usr/lib/libexpat.so.1.0.0 - obj:/usr/lib/libexpat.so.1.0.0 - obj:/usr/lib/libexpat.so.1.0.0 - obj:/usr/lib/libexpat.so.1.0.0 - fun:XML_ParseBuffer - fun:FcConfigParseAndLoad - fun:FcConfigParseAndLoad - fun:FcParseInclude - fun:FcEndElement - obj:/usr/lib/libexpat.so.1.0.0 - obj:/usr/lib/libexpat.so.1.0.0 - obj:/usr/lib/libexpat.so.1.0.0 - obj:/usr/lib/libexpat.so.1.0.0 - fun:XML_ParseBuffer - fun:FcConfigParseAndLoad - fun:FcInitLoadConfig - fun:FcInitLoadConfigAndFonts -} - diff --git a/common/gstdoc-scangobj b/common/gstdoc-scangobj deleted file mode 100755 index cb7b731c..00000000 --- a/common/gstdoc-scangobj +++ /dev/null @@ -1,1644 +0,0 @@ -#!/usr/bin/perl -w -# -*- cperl -*- -# -# gtk-doc - GTK DocBook documentation generator. -# Copyright (C) 1998 Damon Chaplin -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 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 General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# - -# -# This gets information about object heirarchies and signals -# by compiling a small C program. CFLAGS and LDFLAGS must be -# set appropriately before running this script. -# -# NOTE: the lookup_signal_arg_names() function contains the argument names of -# standard GTK signal handlers. This may need to be updated for new -# GTK signals or Gnome widget signals. - -use Getopt::Long; - -unshift @INC, '/usr/share/gtk-doc/data'; -require "gtkdoc-common.pl"; - -# Options - -# name of documentation module -my $MODULE; -my $OUTPUT_DIR; -my $PRINT_VERSION; -my $PRINT_HELP; -my $TYPE_INIT_FUNC="g_type_init ()"; - -# --nogtkinit is deprecated, as it is the default now anyway. -%optctl = (module => \$MODULE, - source => \$SOURCE, - types => \$TYPES_FILE, - nogtkinit => \$NO_GTK_INIT, - 'type-init-func' => \$TYPE_INIT_FUNC, - 'output-dir' => \$OUTPUT_DIR, - 'version' => \$PRINT_VERSION, - 'help' => \$PRINT_HELP); - -GetOptions(\%optctl, "module=s", "source=s", "types:s", "output-dir:s", "nogtkinit", "type-init-func:s", "version", "help"); - -if ($NO_GTK_INIT) { - # Do nothing. This just avoids a warning. -} - -if ($PRINT_VERSION) { - print "1.5\n"; - exit 0; -} - -if (!$MODULE) { - $PRINT_HELP = 1; -} - -if ($PRINT_HELP) { - print "gstdoc-scangobj version 1.5\n"; - print "\n--module=MODULE_NAME Name of the doc module being parsed"; - print "\n--source=SOURCE_NAME Name of the source module for plugins"; - print "\n--types=FILE The name of the file to store the types in"; - print "\n--type-init-func=FUNC The init function to call instead of g_type_init ()"; - print "\n--output-dir=DIRNAME The directory where the results are stored"; - print "\n--version Print the version of this program"; - print "\n--help Print this help\n"; - exit 0; -} - -$OUTPUT_DIR = $OUTPUT_DIR ? $OUTPUT_DIR : "."; - -$TYPES_FILE = $TYPES_FILE ? $TYPES_FILE : "$OUTPUT_DIR/$MODULE.types"; - -open (TYPES, $TYPES_FILE) || die "Cannot open $TYPES_FILE: $!\n"; -open (OUTPUT, ">$MODULE-scan.c") || die "Cannot open $MODULE-scan.c: $!\n"; - -my $old_signals_filename = "$OUTPUT_DIR/$MODULE.signals"; -my $new_signals_filename = "$OUTPUT_DIR/$MODULE.signals.new"; -my $old_hierarchy_filename = "$OUTPUT_DIR/$MODULE.hierarchy"; -my $new_hierarchy_filename = "$OUTPUT_DIR/$MODULE.hierarchy.new"; -my $old_interfaces_filename = "$OUTPUT_DIR/$MODULE.interfaces"; -my $new_interfaces_filename = "$OUTPUT_DIR/$MODULE.interfaces.new"; -my $old_prerequisites_filename = "$OUTPUT_DIR/$MODULE.prerequisites"; -my $new_prerequisites_filename = "$OUTPUT_DIR/$MODULE.prerequisites.new"; -my $old_args_filename = "$OUTPUT_DIR/$MODULE.args"; -my $new_args_filename = "$OUTPUT_DIR/$MODULE.args.new"; - -# write a C program to scan the types - -$includes = ""; -@types = (); -@impl_types = (); - -for (<TYPES>) { - if (/^#include/) { - $includes .= $_; - } elsif (/^%/) { - next; - } elsif (/^\s*$/) { - next; - } elsif (/^type:(.*)$/) { - $t = $1; - chomp $t; - push @impl_types, $t; - } else { - chomp; - push @types, $_; - } -} - -$ntypes = @types + @impl_types; - -print OUTPUT <<EOT; -#include <string.h> -#include <stdlib.h> -#include <stdio.h> -#include <errno.h> - -$includes - -#ifdef GTK_IS_WIDGET_CLASS -#include <gtk/gtkversion.h> -#endif -GType *object_types = NULL; - -static GType * -get_object_types (void) -{ - GList *plugins = NULL; - GList *factories = NULL; - GList *l; - GstElementFactory *factory = NULL; - GType type; - - gint i = 0; - - /* get a list of features from plugins in our source module */ - plugins = gst_registry_get_plugin_list (gst_registry_get_default()); - - while (plugins) { - GList *features; - GstPlugin *plugin; - const gchar *source; - - plugin = (GstPlugin *) (plugins->data); - plugins = g_list_next (plugins); - source = gst_plugin_get_source (plugin); - /*g_print ("plugin: %s source: %s\\n", plugin->desc.name, source);*/ - if (!source || strcmp (source, "$SOURCE") != 0) { - continue; - } - g_print ("plugin: %s source: %s\\n", plugin->desc.name, source); - - features = - gst_registry_get_feature_list_by_plugin (gst_registry_get_default (), - plugin->desc.name); - while (features) { - GstPluginFeature *feature; - feature = GST_PLUGIN_FEATURE (features->data); - feature = gst_plugin_feature_load (feature); - if (!feature) { - g_warning ("Could not load plugin feature %s", - gst_plugin_feature_get_name (feature)); - } - - if (GST_IS_ELEMENT_FACTORY (feature)) { - factory = GST_ELEMENT_FACTORY (feature); - factories = g_list_prepend (factories, factory); - } - features = g_list_next (features); - } - } - - g_message ("number of element factories: %d", g_list_length (factories)); - - /* allocate the object_types array to hold them */ - object_types = g_new0 (GType, g_list_length (factories)+$ntypes+1); - - l = factories; - i = 0; - - /* fill it */ - while (l) { - factory = GST_ELEMENT_FACTORY (l->data); - type = gst_element_factory_get_element_type (factory); - if (type != 0) { - g_message ("adding type %p for factory %s", (void *) type, gst_element_factory_get_longname (factory)); - object_types[i++] = type; - } else { - g_message ("type info for factory %s not found", - gst_element_factory_get_longname (factory)); - } - l = g_list_next (l); - } - -EOT - -# get_type functions: -for (@types) { -print OUTPUT <<EOT; - type = $_ (); - if (type == 0) { - g_message ("$_ () didn't return a valid type"); - } - else { - object_types[i++] = type; - } -EOT -} - -# Implicit types retrieved from GLib: -for (@impl_types) { -print OUTPUT <<EOT; - type = g_type_from_name ("$_"); - if (type == 0) { - g_message ("Implicit type $_ not found"); - } - else { - object_types[i++] = type; - } -EOT -} - -print OUTPUT <<EOT; - - object_types[i] = 0; - - /* Need to make sure all the types are loaded in and initialize - * their signals and properties. - */ - for (i=0; object_types[i]; i++) { - if (G_TYPE_IS_CLASSED (object_types[i])) - g_type_class_ref (object_types[i]); - else { - g_warning ("not reffing type: %s", g_type_name (object_types[i])); - } - } - - return object_types; -} - -/* - * This uses GObject type functions to output signal prototypes and the object - * hierarchy. - */ - -/* The output files */ -const gchar *signals_filename = "$new_signals_filename"; -const gchar *hierarchy_filename = "$new_hierarchy_filename"; -const gchar *interfaces_filename = "$new_interfaces_filename"; -const gchar *prerequisites_filename = "$new_prerequisites_filename"; -const gchar *args_filename = "$new_args_filename"; - - -static void output_signals (void); -static void output_object_signals (FILE *fp, - GType object_type); -static void output_object_signal (FILE *fp, - const gchar *object_class_name, - guint signal_id); -static const gchar * get_type_name (GType type, - gboolean * is_pointer); -static const gchar * get_gdk_event (const gchar * signal_name); -static const gchar ** lookup_signal_arg_names (const gchar * type, - const gchar * signal_name); - -static void output_object_hierarchy (void); -static void output_hierarchy (FILE *fp, - GType type, - guint level); - -static void output_object_interfaces (void); -static void output_interfaces (FILE *fp, - GType type); - -static void output_interface_prerequisites (void); -static void output_prerequisites (FILE *fp, - GType type); - -static void output_args (void); -static void output_object_args (FILE *fp, GType object_type); - -int -main (int argc, char *argv[]) -{ - /* Silence the compiler: */ - if (argv != argv) argc = argc; - - $TYPE_INIT_FUNC; - - get_object_types (); - - output_signals (); - output_object_hierarchy (); - output_object_interfaces (); - output_interface_prerequisites (); - output_args (); - - return 0; -} - - -static void -output_signals (void) -{ - FILE *fp; - gint i; - - fp = fopen (signals_filename, "w"); - if (fp == NULL) - { - g_warning ("Couldn't open output file: %s : %s", signals_filename, strerror(errno)); - return; - } - - for (i = 0; object_types[i]; i++) - output_object_signals (fp, object_types[i]); - - fclose (fp); -} - -static gint -compare_signals (const void *a, const void *b) -{ - const guint *signal_a = a; - const guint *signal_b = b; - - return strcmp (g_signal_name (*signal_a), g_signal_name (*signal_b)); -} - -/* This outputs all the signals of one object. */ -static void -output_object_signals (FILE *fp, GType object_type) -{ - const gchar *object_class_name; - guint *signals, n_signals; - guint sig; - - if (G_TYPE_IS_INSTANTIATABLE (object_type) || - G_TYPE_IS_INTERFACE (object_type)) - { - - object_class_name = g_type_name (object_type); - - signals = g_signal_list_ids (object_type, &n_signals); - qsort (signals, n_signals, sizeof (guint), compare_signals); - - for (sig = 0; sig < n_signals; sig++) - { - output_object_signal (fp, object_class_name, signals[sig]); - } - g_free (signals); - } -} - - -/* This outputs one signal. */ -static void -output_object_signal (FILE *fp, - const gchar *object_name, - guint signal_id) -{ - GSignalQuery query_info; - const gchar *type_name, *ret_type, *object_arg, *arg_name; - gchar *pos, *object_arg_lower; - gboolean is_pointer; - gchar ret_type_buffer[1024], buffer[1024]; - guint i, param; - const gchar **arg_names; - gint param_num, widget_num, event_num, callback_num; - gint *arg_num; - gchar signal_name[128]; - gchar flags[16]; - - /* g_print ("Object: %s Signal: %u\\n", object_name, signal_id);*/ - - param_num = 1; - widget_num = event_num = callback_num = 0; - - g_signal_query (signal_id, &query_info); - - /* Output the return type and function name. */ - ret_type = get_type_name (query_info.return_type & ~G_SIGNAL_TYPE_STATIC_SCOPE, &is_pointer); - sprintf (ret_type_buffer, "%s%s", ret_type, is_pointer ? "*" : ""); - - /* Output the signal object type and the argument name. We assume the - type is a pointer - I think that is OK. We remove "Gtk" or "Gnome" and - convert to lower case for the argument name. */ - pos = buffer; - sprintf (pos, "%s ", object_name); - pos += strlen (pos); - - if (!strncmp (object_name, "Gtk", 3)) - object_arg = object_name + 3; - else if (!strncmp (object_name, "Gnome", 5)) - object_arg = object_name + 5; - else - object_arg = object_name; - - object_arg_lower = g_ascii_strdown (object_arg, -1); - sprintf (pos, "*%s\\n", object_arg_lower); - pos += strlen (pos); - if (!strncmp (object_arg_lower, "widget", 6)) - widget_num = 2; - g_free(object_arg_lower); - - /* Convert signal name to use underscores rather than dashes '-'. */ - strcpy (signal_name, query_info.signal_name); - for (i = 0; signal_name[i]; i++) - { - if (signal_name[i] == '-') - signal_name[i] = '_'; - } - - /* Output the signal parameters. */ - arg_names = lookup_signal_arg_names (object_name, signal_name); - - for (param = 0; param < query_info.n_params; param++) - { - if (arg_names) - { - sprintf (pos, "%s\\n", arg_names[param]); - pos += strlen (pos); - } - else - { - type_name = get_type_name (query_info.param_types[param] & ~G_SIGNAL_TYPE_STATIC_SCOPE, &is_pointer); - - /* Most arguments to the callback are called "arg1", "arg2", etc. - GdkWidgets are called "widget", "widget2", ... - GdkEvents are called "event", "event2", ... - GtkCallbacks are called "callback", "callback2", ... */ - if (!strcmp (type_name, "GtkWidget")) - { - arg_name = "widget"; - arg_num = &widget_num; - } - else if (!strcmp (type_name, "GdkEvent")) - { - type_name = get_gdk_event (signal_name); - arg_name = "event"; - arg_num = &event_num; - is_pointer = TRUE; - } - else if (!strcmp (type_name, "GtkCallback") - || !strcmp (type_name, "GtkCCallback")) - { - arg_name = "callback"; - arg_num = &callback_num; - } - else - { - arg_name = "arg"; - arg_num = ¶m_num; - } - sprintf (pos, "%s ", type_name); - pos += strlen (pos); - - if (!arg_num || *arg_num == 0) - sprintf (pos, "%s%s\\n", is_pointer ? "*" : " ", arg_name); - else - sprintf (pos, "%s%s%i\\n", is_pointer ? "*" : " ", arg_name, - *arg_num); - pos += strlen (pos); - - if (arg_num) - { - if (*arg_num == 0) - *arg_num = 2; - else - *arg_num += 1; - } - } - } - - pos = flags; - /* We use one-character flags for simplicity. */ - if (query_info.signal_flags & G_SIGNAL_RUN_FIRST) - *pos++ = 'f'; - if (query_info.signal_flags & G_SIGNAL_RUN_LAST) - *pos++ = 'l'; - if (query_info.signal_flags & G_SIGNAL_RUN_CLEANUP) - *pos++ = 'c'; - if (query_info.signal_flags & G_SIGNAL_NO_RECURSE) - *pos++ = 'r'; - if (query_info.signal_flags & G_SIGNAL_DETAILED) - *pos++ = 'd'; - if (query_info.signal_flags & G_SIGNAL_ACTION) - *pos++ = 'a'; - if (query_info.signal_flags & G_SIGNAL_NO_HOOKS) - *pos++ = 'h'; - *pos = 0; - - fprintf (fp, - "<SIGNAL>\\n<NAME>%s::%s</NAME>\\n<RETURNS>%s</RETURNS>\\n<FLAGS>%s</FLAGS>\\n%s</SIGNAL>\\n\\n", - object_name, query_info.signal_name, ret_type_buffer, flags, buffer); -} - - -/* Returns the type name to use for a signal argument or return value, given - the GtkType from the signal info. It also sets is_pointer to TRUE if the - argument needs a '*' since it is a pointer. */ -static const gchar * -get_type_name (GType type, gboolean * is_pointer) -{ - const gchar *type_name; - - *is_pointer = FALSE; - type_name = g_type_name (type); - - switch (type) { - case G_TYPE_NONE: - case G_TYPE_CHAR: - case G_TYPE_UCHAR: - case G_TYPE_BOOLEAN: - case G_TYPE_INT: - case G_TYPE_UINT: - case G_TYPE_LONG: - case G_TYPE_ULONG: - case G_TYPE_FLOAT: - case G_TYPE_DOUBLE: - case G_TYPE_POINTER: - /* These all have normal C type names so they are OK. */ - return type_name; - - case G_TYPE_STRING: - /* A GtkString is really a gchar*. */ - *is_pointer = TRUE; - return "gchar"; - - case G_TYPE_ENUM: - case G_TYPE_FLAGS: - /* We use a gint for both of these. Hopefully a subtype with a decent - name will be registered and used instead, as GTK+ does itself. */ - return "gint"; - - case G_TYPE_BOXED: - /* The boxed type shouldn't be used itself, only subtypes. Though we - return 'gpointer' just in case. */ - return "gpointer"; - - case G_TYPE_PARAM: - /* A GParam is really a GParamSpec*. */ - *is_pointer = TRUE; - return "GParamSpec"; - - default: - break; - } - - /* For all GObject subclasses we can use the class name with a "*", - e.g. 'GtkWidget *'. */ - if (g_type_is_a (type, G_TYPE_OBJECT)) - *is_pointer = TRUE; - - if (G_TYPE_IS_CLASSED (type)) - *is_pointer = TRUE; - - /* All boxed subtypes will be pointers as well. */ - if (g_type_is_a (type, G_TYPE_BOXED)) - *is_pointer = TRUE; - - /* All pointer subtypes will be pointers as well. */ - if (g_type_is_a (type, G_TYPE_POINTER)) - *is_pointer = TRUE; - - /* But enums are not */ - if (g_type_is_a (type, G_TYPE_ENUM) || - g_type_is_a (type, G_TYPE_FLAGS)) - *is_pointer = FALSE; - - return type_name; -} - - -static const gchar * -get_gdk_event (const gchar * signal_name) -{ - static const gchar *GbGDKEvents[] = - { - "button_press_event", "GdkEventButton", - "button_release_event", "GdkEventButton", - "motion_notify_event", "GdkEventMotion", - "delete_event", "GdkEvent", - "destroy_event", "GdkEvent", - "expose_event", "GdkEventExpose", - "key_press_event", "GdkEventKey", - "key_release_event", "GdkEventKey", - "enter_notify_event", "GdkEventCrossing", - "leave_notify_event", "GdkEventCrossing", - "configure_event", "GdkEventConfigure", - "focus_in_event", "GdkEventFocus", - "focus_out_event", "GdkEventFocus", - "map_event", "GdkEvent", - "unmap_event", "GdkEvent", - "property_notify_event", "GdkEventProperty", - "selection_clear_event", "GdkEventSelection", - "selection_request_event", "GdkEventSelection", - "selection_notify_event", "GdkEventSelection", - "proximity_in_event", "GdkEventProximity", - "proximity_out_event", "GdkEventProximity", - "drag_begin_event", "GdkEventDragBegin", - "drag_request_event", "GdkEventDragRequest", - "drag_end_event", "GdkEventDragRequest", - "drop_enter_event", "GdkEventDropEnter", - "drop_leave_event", "GdkEventDropLeave", - "drop_data_available_event", "GdkEventDropDataAvailable", - "other_event", "GdkEventOther", - "client_event", "GdkEventClient", - "no_expose_event", "GdkEventNoExpose", - "visibility_notify_event", "GdkEventVisibility", - "window_state_event", "GdkEventWindowState", - "scroll_event", "GdkEventScroll", - NULL - }; - - gint i; - - for (i = 0; GbGDKEvents[i]; i += 2) - { - if (!strcmp (signal_name, GbGDKEvents[i])) - return GbGDKEvents[i + 1]; - } - return "GdkEvent"; -} - - -/* This returns argument names to use for some known GTK signals. - It is passed a widget name, e.g. 'GtkCList' and a signal name, e.g. - 'select_row' and it returns a pointer to an array of argument types and - names. */ -static const gchar ** -lookup_signal_arg_names (const gchar * type, const gchar * signal_name) -{ - /* Each arg array starts with the object type name and the signal name, - and then signal arguments follow. */ - static const gchar *GbArgTable[][16] = - { - {"GtkCList", "select_row", - "gint row", - "gint column", - "GdkEventButton *event"}, - {"GtkCList", "unselect_row", - "gint row", - "gint column", - "GdkEventButton *event"}, - {"GtkCList", "click_column", - "gint column"}, - - {"GtkCList", "resize_column", - "gint column", - "gint width"}, - - {"GtkCList", "extend_selection", - "GtkScrollType scroll_type", - "gfloat position", - "gboolean auto_start_selection"}, - {"GtkCList", "scroll_vertical", - "GtkScrollType scroll_type", - "gfloat position"}, - {"GtkCList", "scroll_horizontal", - "GtkScrollType scroll_type", - "gfloat position"}, - - {"GtkCTree", "tree_select_row", - "GtkCTreeNode *node", - "gint column"}, - {"GtkCTree", "tree_unselect_row", - "GtkCTreeNode *node", - "gint column"}, - {"GtkCTree", "tree_expand", - "GtkCTreeNode *node"}, - {"GtkCTree", "tree_collapse", - "GtkCTreeNode *node"}, - {"GtkCTree", "tree_move", - "GtkCTreeNode *node", - "GtkCTreeNode *new_parent", - "GtkCTreeNode *new_sibling"}, - {"GtkCTree", "change_focus_row_expansion", - "GtkCTreeExpansionType expansion"}, - - {"GtkEditable", "insert_text", - "gchar *new_text", - "gint new_text_length", - "gint *position"}, - {"GtkEditable", "delete_text", - "gint start_pos", - "gint end_pos"}, - {"GtkEditable", "set_editable", - "gboolean is_editable"}, - {"GtkEditable", "move_cursor", - "gint x", - "gint y"}, - {"GtkEditable", "move_word", - "gint num_words"}, - {"GtkEditable", "move_page", - "gint x", - "gint y"}, - {"GtkEditable", "move_to_row", - "gint row"}, - {"GtkEditable", "move_to_column", - "gint column"}, - - {"GtkEditable", "kill_char", - "gint direction"}, - {"GtkEditable", "kill_word", - "gint direction"}, - {"GtkEditable", "kill_line", - "gint direction"}, - - - {"GtkInputDialog", "enable_device", - "GdkDevice *deviceid"}, - {"GtkInputDialog", "disable_device", - "GdkDevice *deviceid"}, - - {"GtkListItem", "extend_selection", - "GtkScrollType scroll_type", - "gfloat position", - "gboolean auto_start_selection"}, - {"GtkListItem", "scroll_vertical", - "GtkScrollType scroll_type", - "gfloat position"}, - {"GtkListItem", "scroll_horizontal", - "GtkScrollType scroll_type", - "gfloat position"}, - - {"GtkMenuShell", "move_current", - "GtkMenuDirectionType direction"}, - {"GtkMenuShell", "activate_current", - "gboolean force_hide"}, - - - {"GtkNotebook", "switch_page", - "GtkNotebookPage *page", - "guint page_num"}, - {"GtkStatusbar", "text_pushed", - "guint context_id", - "gchar *text"}, - {"GtkStatusbar", "text_popped", - "guint context_id", - "gchar *text"}, - {"GtkTipsQuery", "widget_entered", - "GtkWidget *widget", - "gchar *tip_text", - "gchar *tip_private"}, - {"GtkTipsQuery", "widget_selected", - "GtkWidget *widget", - "gchar *tip_text", - "gchar *tip_private", - "GdkEventButton *event"}, - {"GtkToolbar", "orientation_changed", - "GtkOrientation orientation"}, - {"GtkToolbar", "style_changed", - "GtkToolbarStyle style"}, - {"GtkWidget", "draw", - "GdkRectangle *area"}, - {"GtkWidget", "size_request", - "GtkRequisition *requisition"}, - {"GtkWidget", "size_allocate", - "GtkAllocation *allocation"}, - {"GtkWidget", "state_changed", - "GtkStateType state"}, - {"GtkWidget", "style_set", - "GtkStyle *previous_style"}, - - {"GtkWidget", "install_accelerator", - "gchar *signal_name", - "gchar key", - "gint modifiers"}, - - {"GtkWidget", "add_accelerator", - "guint accel_signal_id", - "GtkAccelGroup *accel_group", - "guint accel_key", - "GdkModifierType accel_mods", - "GtkAccelFlags accel_flags"}, - - {"GtkWidget", "parent_set", - "GtkObject *old_parent"}, - - {"GtkWidget", "remove_accelerator", - "GtkAccelGroup *accel_group", - "guint accel_key", - "GdkModifierType accel_mods"}, - {"GtkWidget", "debug_msg", - "gchar *message"}, - {"GtkWindow", "move_resize", - "gint *x", - "gint *y", - "gint width", - "gint height"}, - {"GtkWindow", "set_focus", - "GtkWidget *widget"}, - - {"GtkWidget", "selection_get", - "GtkSelectionData *data", - "guint info", - "guint time"}, - {"GtkWidget", "selection_received", - "GtkSelectionData *data", - "guint time"}, - - {"GtkWidget", "drag_begin", - "GdkDragContext *drag_context"}, - {"GtkWidget", "drag_end", - "GdkDragContext *drag_context"}, - {"GtkWidget", "drag_data_delete", - "GdkDragContext *drag_context"}, - {"GtkWidget", "drag_leave", - "GdkDragContext *drag_context", - "guint time"}, - {"GtkWidget", "drag_motion", - "GdkDragContext *drag_context", - "gint x", - "gint y", - "guint time"}, - {"GtkWidget", "drag_drop", - "GdkDragContext *drag_context", - "gint x", - "gint y", - "guint time"}, - {"GtkWidget", "drag_data_get", - "GdkDragContext *drag_context", - "GtkSelectionData *data", - "guint info", - "guint time"}, - {"GtkWidget", "drag_data_received", - "GdkDragContext *drag_context", - "gint x", - "gint y", - "GtkSelectionData *data", - "guint info", - "guint time"}, - - {NULL} - }; - - gint i; - - for (i = 0; GbArgTable[i][0]; i++) - { -#if 1 - if (!strcmp (type, GbArgTable[i][0]) - && !strcmp (signal_name, GbArgTable[i][1])) - return &GbArgTable[i][2]; -#endif - } - return NULL; -} - -/* This outputs the hierarchy of all objects which have been initialized, - i.e. by calling their XXX_get_type() initialization function. */ -static void -output_object_hierarchy (void) -{ - FILE *fp; - gint i; - - fp = fopen (hierarchy_filename, "w"); - if (fp == NULL) - { - g_warning ("Couldn't open output file: %s : %s", hierarchy_filename, strerror(errno)); - return; - } - output_hierarchy (fp, G_TYPE_OBJECT, 0); - output_hierarchy (fp, G_TYPE_INTERFACE, 0); - - for (i=0; object_types[i]; i++) { - if (!g_type_parent (object_types[i]) && - (object_types[i] != G_TYPE_NONE) && - (object_types[i] != G_TYPE_OBJECT) && - (object_types[i] != G_TYPE_INTERFACE) - ) { - g_warning ("printing hierarchy for root type: %s", - g_type_name (object_types[i])); - output_hierarchy (fp, object_types[i], 0); - } - } - /* for debugging - for (i=0; object_types[i]; i++) { - if(object_types[i] != G_TYPE_NONE) { - g_print ("type has not been added to hierarchy: %s\\n", - g_type_name (object_types[i])); - } - } - for debugging */ - - fclose (fp); -} - -/* This is called recursively to output the hierarchy of a widget. */ -static void -output_hierarchy (FILE *fp, - GType type, - guint level) -{ - guint i; - GType *children; - guint n_children; - - if (!type) - return; - - /* for debugging - for (i=0; object_types[i]; i++) { - if(object_types[i] == type) { - g_print ("added type to hierarchy (level %d): %s\\n", - level, g_type_name (type)); - object_types[i] = G_TYPE_NONE; - break; - } - } - for debugging */ - - for (i = 0; i < level; i++) - fprintf (fp, " "); - fprintf (fp, "%s", g_type_name (type)); - fprintf (fp, "\\n"); - - children = g_type_children (type, &n_children); - - for (i=0; i < n_children; i++) { - output_hierarchy (fp, children[i], level + 1); - } - - g_free (children); -} - -static void output_object_interfaces (void) -{ - guint i; - FILE *fp; - - fp = fopen (interfaces_filename, "w"); - if (fp == NULL) - { - g_warning ("Couldn't open output file: %s : %s", interfaces_filename, strerror(errno)); - return; - } - output_interfaces (fp, G_TYPE_OBJECT); - - for (i = 0; object_types[i]; i++) - { - if (!g_type_parent (object_types[i]) && - (object_types[i] != G_TYPE_OBJECT) && - G_TYPE_IS_INSTANTIATABLE (object_types[i])) - { - output_interfaces (fp, object_types[i]); - } - } - fclose (fp); -} - -static void -output_interfaces (FILE *fp, - GType type) -{ - guint i; - GType *children, *interfaces; - guint n_children, n_interfaces; - - if (!type) - return; - - interfaces = g_type_interfaces (type, &n_interfaces); - - if (n_interfaces > 0) - { - fprintf (fp, "%s", g_type_name (type)); - for (i=0; i < n_interfaces; i++) - fprintf (fp, " %s", g_type_name (interfaces[i])); - fprintf (fp, "\\n"); - } - g_free (interfaces); - - children = g_type_children (type, &n_children); - - for (i=0; i < n_children; i++) - output_interfaces (fp, children[i]); - - g_free (children); -} - -static void output_interface_prerequisites (void) -{ - FILE *fp; - - fp = fopen (prerequisites_filename, "w"); - if (fp == NULL) - { - g_warning ("Couldn't open output file: %s : %s", prerequisites_filename, strerror(errno)); - return; - } - output_prerequisites (fp, G_TYPE_INTERFACE); - fclose (fp); -} - -static void -output_prerequisites (FILE *fp, - GType type) -{ -#if GLIB_CHECK_VERSION(2,1,0) - guint i; - GType *children, *prerequisites; - guint n_children, n_prerequisites; - - if (!type) - return; - - prerequisites = g_type_interface_prerequisites (type, &n_prerequisites); - - if (n_prerequisites > 0) - { - fprintf (fp, "%s", g_type_name (type)); - for (i=0; i < n_prerequisites; i++) - fprintf (fp, " %s", g_type_name (prerequisites[i])); - fprintf (fp, "\\n"); - } - g_free (prerequisites); - - children = g_type_children (type, &n_children); - - for (i=0; i < n_children; i++) - output_prerequisites (fp, children[i]); - - g_free (children); -#endif -} - -static void -output_args (void) -{ - FILE *fp; - gint i; - - fp = fopen (args_filename, "w"); - if (fp == NULL) - { - g_warning ("Couldn't open output file: %s : %s", args_filename, strerror(errno)); - return; - } - - for (i = 0; object_types[i]; i++) { - output_object_args (fp, object_types[i]); - } - - fclose (fp); -} - -static gint -compare_param_specs (const void *a, const void *b) -{ - GParamSpec *spec_a = *(GParamSpec **)a; - GParamSpec *spec_b = *(GParamSpec **)b; - - return strcmp (g_param_spec_get_name (spec_a), g_param_spec_get_name (spec_b)); -} - -/* Its common to have unsigned properties restricted - * to the signed range. Therefore we make this look - * a bit nicer by spelling out the max constants. - */ - -/* Don't use "==" with floats, it might trigger a gcc warning. */ -#define GTKDOC_COMPARE_FLOAT(x, y) (x <= y && x >= y) - -static gchar* -describe_double_constant (gdouble value) -{ - gchar *desc; - - if (GTKDOC_COMPARE_FLOAT (value, G_MAXDOUBLE)) - desc = g_strdup ("G_MAXDOUBLE"); - else if (GTKDOC_COMPARE_FLOAT (value, G_MINDOUBLE)) - desc = g_strdup ("G_MINDOUBLE"); - else if (GTKDOC_COMPARE_FLOAT (value, -G_MAXDOUBLE)) - desc = g_strdup ("-G_MAXDOUBLE"); - else if (GTKDOC_COMPARE_FLOAT (value, G_MAXFLOAT)) - desc = g_strdup ("G_MAXFLOAT"); - else if (GTKDOC_COMPARE_FLOAT (value, G_MINFLOAT)) - desc = g_strdup ("G_MINFLOAT"); - else if (GTKDOC_COMPARE_FLOAT (value, -G_MAXFLOAT)) - desc = g_strdup ("-G_MAXFLOAT"); - else - desc = g_strdup_printf ("%lg", value); - - return desc; -} - -static gchar* -describe_signed_constant (gint64 value) -{ - gchar *desc; - - if (value == G_MAXINT) - desc = g_strdup ("G_MAXINT"); - else if (value == G_MININT) - desc = g_strdup ("G_MININT"); - else if (value == G_MAXUINT) - desc = g_strdup ("G_MAXUINT"); - else if (value == G_MAXLONG) - desc = g_strdup ("G_MAXLONG"); - else if (value == G_MINLONG) - desc = g_strdup ("G_MINLONG"); - else if (value == G_MAXULONG) - desc = g_strdup ("G_MAXULONG"); - else if (value == G_MAXINT64) - desc = g_strdup ("G_MAXINT64"); - else if (value == G_MININT64) - desc = g_strdup ("G_MININT64"); - else - desc = g_strdup_printf ("%" G_GINT64_FORMAT, value); - - return desc; -} - -static gchar* -describe_unsigned_constant (guint64 value) -{ - gchar *desc; - - if (value == G_MAXINT) - desc = g_strdup ("G_MAXINT"); - else if (value == G_MININT) - desc = g_strdup ("G_MININT"); - else if (value == G_MAXUINT) - desc = g_strdup ("G_MAXUINT"); - else if (value == G_MAXLONG) - desc = g_strdup ("G_MAXLONG"); - else if (value == G_MINLONG) - desc = g_strdup ("G_MINLONG"); - else if (value == G_MAXULONG) - desc = g_strdup ("G_MAXULONG"); - else if (value == G_MAXINT64) - desc = g_strdup ("G_MAXINT64"); - else if (value == G_MININT64) - desc = g_strdup ("G_MININT64"); - else if (value == G_MAXUINT64) - desc = g_strdup ("G_MAXUINT64"); - else - desc = g_strdup_printf ("%" G_GUINT64_FORMAT, value); - - return desc; -} - -static gchar* -describe_type (GParamSpec *spec) -{ - gchar *desc; - gchar *lower; - gchar *upper; - - if (G_IS_PARAM_SPEC_CHAR (spec)) - { - GParamSpecChar *pspec = G_PARAM_SPEC_CHAR (spec); - - lower = describe_signed_constant (pspec->minimum); - upper = describe_signed_constant (pspec->maximum); - if (pspec->minimum == G_MININT8 && pspec->maximum == G_MAXINT8) - desc = g_strdup (""); - else if (pspec->minimum == G_MININT8) - desc = g_strdup_printf ("<= %s", upper); - else if (pspec->maximum == G_MAXINT8) - desc = g_strdup_printf (">= %s", lower); - else - desc = g_strdup_printf ("[%s,%s]", lower, upper); - g_free (lower); - g_free (upper); - } - else if (G_IS_PARAM_SPEC_UCHAR (spec)) - { - GParamSpecUChar *pspec = G_PARAM_SPEC_UCHAR (spec); - - lower = describe_unsigned_constant (pspec->minimum); - upper = describe_unsigned_constant (pspec->maximum); - if (pspec->minimum == 0 && pspec->maximum == G_MAXUINT8) - desc = g_strdup (""); - else if (pspec->minimum == 0) - desc = g_strdup_printf ("<= %s", upper); - else if (pspec->maximum == G_MAXUINT8) - desc = g_strdup_printf (">= %s", lower); - else - desc = g_strdup_printf ("[%s,%s]", lower, upper); - g_free (lower); - g_free (upper); - } - else if (G_IS_PARAM_SPEC_INT (spec)) - { - GParamSpecInt *pspec = G_PARAM_SPEC_INT (spec); - - lower = describe_signed_constant (pspec->minimum); - upper = describe_signed_constant (pspec->maximum); - if (pspec->minimum == G_MININT && pspec->maximum == G_MAXINT) - desc = g_strdup (""); - else if (pspec->minimum == G_MININT) - desc = g_strdup_printf ("<= %s", upper); - else if (pspec->maximum == G_MAXINT) - desc = g_strdup_printf (">= %s", lower); - else - desc = g_strdup_printf ("[%s,%s]", lower, upper); - g_free (lower); - g_free (upper); - } - else if (G_IS_PARAM_SPEC_UINT (spec)) - { - GParamSpecUInt *pspec = G_PARAM_SPEC_UINT (spec); - - lower = describe_unsigned_constant (pspec->minimum); - upper = describe_unsigned_constant (pspec->maximum); - if (pspec->minimum == 0 && pspec->maximum == G_MAXUINT) - desc = g_strdup (""); - else if (pspec->minimum == 0) - desc = g_strdup_printf ("<= %s", upper); - else if (pspec->maximum == G_MAXUINT) - desc = g_strdup_printf (">= %s", lower); - else - desc = g_strdup_printf ("[%s,%s]", lower, upper); - g_free (lower); - g_free (upper); - } - else if (G_IS_PARAM_SPEC_LONG (spec)) - { - GParamSpecLong *pspec = G_PARAM_SPEC_LONG (spec); - - lower = describe_signed_constant (pspec->minimum); - upper = describe_signed_constant (pspec->maximum); - if (pspec->minimum == G_MINLONG && pspec->maximum == G_MAXLONG) - desc = g_strdup (""); - else if (pspec->minimum == G_MINLONG) - desc = g_strdup_printf ("<= %s", upper); - else if (pspec->maximum == G_MAXLONG) - desc = g_strdup_printf (">= %s", lower); - else - desc = g_strdup_printf ("[%s,%s]", lower, upper); - g_free (lower); - g_free (upper); - } - else if (G_IS_PARAM_SPEC_ULONG (spec)) - { - GParamSpecULong *pspec = G_PARAM_SPEC_ULONG (spec); - gchar *upper; - - lower = describe_unsigned_constant (pspec->minimum); - upper = describe_unsigned_constant (pspec->maximum); - if (pspec->minimum == 0 && pspec->maximum == G_MAXULONG) - desc = g_strdup (""); - else if (pspec->minimum == 0) - desc = g_strdup_printf ("<= %s", upper); - else if (pspec->maximum == G_MAXULONG) - desc = g_strdup_printf (">= %s", lower); - else - desc = g_strdup_printf ("[%s,%s]", lower, upper); - g_free (lower); - g_free (upper); - } - else if (G_IS_PARAM_SPEC_INT64 (spec)) - { - GParamSpecInt64 *pspec = G_PARAM_SPEC_INT64 (spec); - - lower = describe_signed_constant (pspec->minimum); - upper = describe_signed_constant (pspec->maximum); - if (pspec->minimum == G_MININT64 && pspec->maximum == G_MAXINT64) - desc = g_strdup (""); - else if (pspec->minimum == G_MININT64) - desc = g_strdup_printf ("<= %s", upper); - else if (pspec->maximum == G_MAXINT64) - desc = g_strdup_printf (">= %s", lower); - else - desc = g_strdup_printf ("[%s,%s]", lower, upper); - g_free (lower); - g_free (upper); - } - else if (G_IS_PARAM_SPEC_UINT64 (spec)) - { - GParamSpecUInt64 *pspec = G_PARAM_SPEC_UINT64 (spec); - - lower = describe_unsigned_constant (pspec->minimum); - upper = describe_unsigned_constant (pspec->maximum); - if (pspec->minimum == 0 && pspec->maximum == G_MAXUINT64) - desc = g_strdup (""); - else if (pspec->minimum == 0) - desc = g_strdup_printf ("<= %s", upper); - else if (pspec->maximum == G_MAXUINT64) - desc = g_strdup_printf (">= %s", lower); - else - desc = g_strdup_printf ("[%s,%s]", lower, upper); - g_free (lower); - g_free (upper); - } - else if (G_IS_PARAM_SPEC_FLOAT (spec)) - { - GParamSpecFloat *pspec = G_PARAM_SPEC_FLOAT (spec); - - lower = describe_double_constant (pspec->minimum); - upper = describe_double_constant (pspec->maximum); - if (GTKDOC_COMPARE_FLOAT (pspec->minimum, -G_MAXFLOAT)) - { - if (GTKDOC_COMPARE_FLOAT (pspec->maximum, G_MAXFLOAT)) - desc = g_strdup (""); - else - desc = g_strdup_printf ("<= %s", upper); - } - else if (GTKDOC_COMPARE_FLOAT (pspec->maximum, G_MAXFLOAT)) - desc = g_strdup_printf (">= %s", lower); - else - desc = g_strdup_printf ("[%s,%s]", lower, upper); - g_free (lower); - g_free (upper); - } - else if (G_IS_PARAM_SPEC_DOUBLE (spec)) - { - GParamSpecDouble *pspec = G_PARAM_SPEC_DOUBLE (spec); - - lower = describe_double_constant (pspec->minimum); - upper = describe_double_constant (pspec->maximum); - if (GTKDOC_COMPARE_FLOAT (pspec->minimum, -G_MAXDOUBLE)) - { - if (GTKDOC_COMPARE_FLOAT (pspec->maximum, G_MAXDOUBLE)) - desc = g_strdup (""); - else - desc = g_strdup_printf ("<= %s", upper); - } - else if (GTKDOC_COMPARE_FLOAT (pspec->maximum, G_MAXDOUBLE)) - desc = g_strdup_printf (">= %s", lower); - else - desc = g_strdup_printf ("[%s,%s]", lower, upper); - g_free (lower); - g_free (upper); - } - else - { - desc = g_strdup (""); - } - - return desc; -} - -static gchar* -describe_default (GParamSpec *spec) -{ - gchar *desc; - - if (G_IS_PARAM_SPEC_CHAR (spec)) - { - GParamSpecChar *pspec = G_PARAM_SPEC_CHAR (spec); - - desc = g_strdup_printf ("%d", pspec->default_value); - } - else if (G_IS_PARAM_SPEC_UCHAR (spec)) - { - GParamSpecUChar *pspec = G_PARAM_SPEC_UCHAR (spec); - - desc = g_strdup_printf ("%u", pspec->default_value); - } - else if (G_IS_PARAM_SPEC_BOOLEAN (spec)) - { - GParamSpecBoolean *pspec = G_PARAM_SPEC_BOOLEAN (spec); - - desc = g_strdup_printf ("%s", pspec->default_value ? "TRUE" : "FALSE"); - } - else if (G_IS_PARAM_SPEC_INT (spec)) - { - GParamSpecInt *pspec = G_PARAM_SPEC_INT (spec); - - desc = g_strdup_printf ("%d", pspec->default_value); - } - else if (G_IS_PARAM_SPEC_UINT (spec)) - { - GParamSpecUInt *pspec = G_PARAM_SPEC_UINT (spec); - - desc = g_strdup_printf ("%u", pspec->default_value); - } - else if (G_IS_PARAM_SPEC_LONG (spec)) - { - GParamSpecLong *pspec = G_PARAM_SPEC_LONG (spec); - - desc = g_strdup_printf ("%ld", pspec->default_value); - } - else if (G_IS_PARAM_SPEC_LONG (spec)) - { - GParamSpecULong *pspec = G_PARAM_SPEC_ULONG (spec); - - desc = g_strdup_printf ("%lu", pspec->default_value); - } - else if (G_IS_PARAM_SPEC_INT64 (spec)) - { - GParamSpecInt64 *pspec = G_PARAM_SPEC_INT64 (spec); - - desc = g_strdup_printf ("%" G_GINT64_FORMAT, pspec->default_value); - } - else if (G_IS_PARAM_SPEC_UINT64 (spec)) - { - GParamSpecUInt64 *pspec = G_PARAM_SPEC_UINT64 (spec); - - desc = g_strdup_printf ("%" G_GUINT64_FORMAT, pspec->default_value); - } - else if (G_IS_PARAM_SPEC_UNICHAR (spec)) - { - GParamSpecUnichar *pspec = G_PARAM_SPEC_UNICHAR (spec); - - if (g_unichar_isprint (pspec->default_value)) - desc = g_strdup_printf ("'%c'", pspec->default_value); - else - desc = g_strdup_printf ("%u", pspec->default_value); - } - else if (G_IS_PARAM_SPEC_ENUM (spec)) - { - GParamSpecEnum *pspec = G_PARAM_SPEC_ENUM (spec); - - GEnumValue *value = g_enum_get_value (pspec->enum_class, pspec->default_value); - if (value) - desc = g_strdup_printf ("%s", value->value_name); - else - desc = g_strdup_printf ("%d", pspec->default_value); - } - else if (G_IS_PARAM_SPEC_FLAGS (spec)) - { - GParamSpecFlags *pspec = G_PARAM_SPEC_FLAGS (spec); - guint default_value; - GString *acc; - - default_value = pspec->default_value; - acc = g_string_new (""); - - while (default_value) - { - GFlagsValue *value = g_flags_get_first_value (pspec->flags_class, default_value); - - if (!value) - break; - - if (acc->len > 0) - g_string_append (acc, "|"); - g_string_append (acc, value->value_name); - - default_value &= ~value->value; - } - - if (default_value == 0) - desc = g_string_free (acc, FALSE); - else - { - desc = g_strdup_printf ("%d", pspec->default_value); - g_string_free (acc, TRUE); - } - } - else if (G_IS_PARAM_SPEC_FLOAT (spec)) - { - GParamSpecFloat *pspec = G_PARAM_SPEC_FLOAT (spec); - - desc = g_strdup_printf ("%g", pspec->default_value); - } - else if (G_IS_PARAM_SPEC_DOUBLE (spec)) - { - GParamSpecDouble *pspec = G_PARAM_SPEC_DOUBLE (spec); - - desc = g_strdup_printf ("%lg", pspec->default_value); - } - else if (G_IS_PARAM_SPEC_STRING (spec)) - { - GParamSpecString *pspec = G_PARAM_SPEC_STRING (spec); - - if (pspec->default_value) - { - gchar *esc = g_strescape (pspec->default_value, NULL); - - desc = g_strdup_printf ("\\"%s\\"", esc); - - g_free (esc); - } - else - desc = g_strdup_printf ("NULL"); - } - else - { - desc = g_strdup (""); - } - - return desc; -} - - -static void -output_object_args (FILE *fp, GType object_type) -{ - gpointer class; - const gchar *object_class_name; - guint arg; - gchar flags[16], *pos; - GParamSpec **properties; - guint n_properties; - gboolean child_prop; - gboolean style_prop; - gboolean is_pointer; - const gchar *type_name; - gchar *type_desc; - gchar *default_value; - - if (G_TYPE_IS_OBJECT (object_type)) - { - class = g_type_class_peek (object_type); - if (!class) - return; - - properties = g_object_class_list_properties (class, &n_properties); - } -#if GLIB_MAJOR_VERSION > 2 || (GLIB_MAJOR_VERSION == 2 && GLIB_MINOR_VERSION >= 3) - else if (G_TYPE_IS_INTERFACE (object_type)) - { - class = g_type_default_interface_ref (object_type); - - if (!class) - return; - - properties = g_object_interface_list_properties (class, &n_properties); - } -#endif - else - return; - - object_class_name = g_type_name (object_type); - - child_prop = FALSE; - style_prop = FALSE; - - while (TRUE) { - qsort (properties, n_properties, sizeof (GParamSpec *), compare_param_specs); - for (arg = 0; arg < n_properties; arg++) - { - GParamSpec *spec = properties[arg]; - const gchar *nick, *blurb, *dot; - - if (spec->owner_type != object_type) - continue; - - pos = flags; - /* We use one-character flags for simplicity. */ - if (child_prop && !style_prop) - *pos++ = 'c'; - if (style_prop) - *pos++ = 's'; - if (spec->flags & G_PARAM_READABLE) - *pos++ = 'r'; - if (spec->flags & G_PARAM_WRITABLE) - *pos++ = 'w'; - if (spec->flags & G_PARAM_CONSTRUCT) - *pos++ = 'x'; - if (spec->flags & G_PARAM_CONSTRUCT_ONLY) - *pos++ = 'X'; - *pos = 0; - - nick = g_param_spec_get_nick (spec); - blurb = g_param_spec_get_blurb (spec); - - dot = ""; - if (blurb) { - int str_len = strlen (blurb); - if (str_len > 0 && blurb[str_len - 1] != '.') - dot = "."; - } - - type_desc = describe_type (spec); - default_value = describe_default (spec); - type_name = get_type_name (spec->value_type, &is_pointer); - fprintf (fp, "<ARG>\\n<NAME>%s::%s</NAME>\\n<TYPE>%s%s</TYPE>\\n<RANGE>%s</RANGE>\\n<FLAGS>%s</FLAGS>\\n<NICK>%s</NICK>\\n<BLURB>%s%s</BLURB>\\n<DEFAULT>%s</DEFAULT>\\n</ARG>\\n\\n", - object_class_name, g_param_spec_get_name (spec), type_name, is_pointer ? "*" : "", type_desc, flags, nick ? nick : "(null)", blurb ? blurb : "(null)", dot, default_value); - g_free (type_desc); - g_free (default_value); - } - - g_free (properties); - -#ifdef GTK_IS_CONTAINER_CLASS - if (!child_prop && GTK_IS_CONTAINER_CLASS (class)) { - properties = gtk_container_class_list_child_properties (class, &n_properties); - child_prop = TRUE; - continue; - } -#endif - -#ifdef GTK_IS_WIDGET_CLASS -#if GTK_CHECK_VERSION(2,1,0) - if (!style_prop && GTK_IS_WIDGET_CLASS (class)) { - properties = gtk_widget_class_list_style_properties (GTK_WIDGET_CLASS (class), &n_properties); - style_prop = TRUE; - continue; - } -#endif -#endif - - break; - } -} -EOT - -close OUTPUT; - -# Compile and run our file - -$CC = $ENV{CC} ? $ENV{CC} : "gcc"; -$LD = $ENV{LD} ? $ENV{LD} : $CC; -$CFLAGS = $ENV{CFLAGS} ? "$ENV{CFLAGS} -Wall -g" : "-Wall -g"; -$LDFLAGS = $ENV{LDFLAGS} ? $ENV{LDFLAGS} : ""; - -my $o_file; -if ($CC =~ /libtool/) { - $o_file = "$MODULE-scan.lo" -} else { - $o_file = "$MODULE-scan.o" -} - -print "gtk-doc: Compiling scanner\n"; -$command = "$CC $CFLAGS -c -o $o_file $MODULE-scan.c"; -system($command) == 0 or die "Compilation of scanner failed: $!\n"; - -print "gtk-doc: Linking scanner\n"; -$command = "$LD -o $MODULE-scan $o_file $LDFLAGS"; -system($command) == 0 or die "Linking of scanner failed: $!\n"; - -print "gtk-doc: Running scanner $MODULE-scan\n"; -system("sh -c ./$MODULE-scan") == 0 or die "Scan failed: $!\n"; - -unlink "./$MODULE-scan.c", "./$MODULE-scan.o", "./$MODULE-scan.lo", "./$MODULE-scan"; - -#&UpdateFileIfChanged ($old_signals_filename, $new_signals_filename, 0); -&UpdateFileIfChanged ($old_hierarchy_filename, $new_hierarchy_filename, 0); -&UpdateFileIfChanged ($old_interfaces_filename, $new_interfaces_filename, 0); -&UpdateFileIfChanged ($old_prerequisites_filename, $new_prerequisites_filename, 0); -#&UpdateFileIfChanged ($old_args_filename, $new_args_filename, 0); - - diff --git a/common/gtk-doc-plugins.mak b/common/gtk-doc-plugins.mak deleted file mode 100644 index 7bc49cfa..00000000 --- a/common/gtk-doc-plugins.mak +++ /dev/null @@ -1,408 +0,0 @@ -# This is an include file specifically tuned for building documentation -# for GStreamer plug-ins -# It has been further specialized to farsight2 plugins stuff - -help: - @echo - @echo "If you are a doc maintainer, run 'make update' to update" - @echo "the documentation files maintained in CVS" - @echo - @echo Other useful make targets: - @echo - @echo check-inspected-versions: make sure the inspected plugin info - @echo is up to date before a release - @echo - -# update the stuff maintained by doc maintainers -update: - $(MAKE) inspect-update - $(MAKE) scanobj-update - -# We set GPATH here; this gives us semantics for GNU make -# which are more like other make's VPATH, when it comes to -# whether a source that is a target of one rule is then -# searched for in VPATH/GPATH. -# -GPATH = $(srcdir) - -# thomas: make docs parallel installable -TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@ - -EXTRA_DIST = \ - $(srcdir)/inspect/*.xml \ - inspect.stamp \ - inspect-build.stamp \ - $(SCANOBJ_FILES) \ - $(content_files) \ - $(extra_files) \ - $(HTML_IMAGES) \ - $(DOC_MAIN_SGML_FILE) \ - $(DOC_OVERRIDES) \ - $(DOC_MODULE)-sections.txt - -DOC_STAMPS = \ - scan-build.stamp \ - tmpl-build.stamp \ - sgml-build.stamp \ - html-build.stamp \ - scan.stamp \ - tmpl.stamp \ - sgml.stamp \ - html.stamp \ - scanobj-build.stamp \ - scanobj-trans-build.stamp - -# files generated/updated by gtkdoc-scangobj -SCANOBJ_FILES = \ - $(DOC_MODULE).signals \ - $(DOC_MODULE).hierarchy \ - $(DOC_MODULE).interfaces \ - $(DOC_MODULE).prerequisites \ - $(DOC_MODULE).types \ - $(DOC_MODULE).args - -SCANOBJ_FILES_O = \ - .libs/$(DOC_MODULE)-scan.o - -# files generated/updated by gtkdoc-scan -SCAN_FILES = \ - $(DOC_MODULE)-sections.txt \ - $(DOC_MODULE)-overrides.txt \ - $(DOC_MODULE)-undocumented.txt \ - $(DOC_MODULE)-decl.txt \ - $(DOC_MODULE)-decl-list.txt - - -REPORT_FILES = \ - $(DOC_MODULE)-undocumented.txt \ - $(DOC_MODULE)-undeclared.txt \ - $(DOC_MODULE)-unused.txt - -# FC3 seems to need -scan.c to be part of CLEANFILES for distcheck -# no idea why FC4 can do without -CLEANFILES += \ - $(SCANOBJ_FILES_O) \ - $(DOC_MODULE)-scan.c \ - $(REPORT_FILES) \ - $(DOC_STAMPS) \ - inspect-registry.xml - - -if ENABLE_GTK_DOC -all-local: html-build.stamp - -#### scan gobjects; done by documentation maintainer #### -scanobj-update: - -rm scanobj-build.stamp - $(MAKE) scanobj-build.stamp - -# in the case of non-srcdir builds, the built gst directory gets added -# to gtk-doc scanning; but only then, to avoid duplicates -# FIXME: since we don't have the scan step as part of the build anymore, -# we could remove that -# TODO: finish elite script that updates the output files of this step -# instead of rewriting them, so that multiple maintainers can generate -# a collective set of args and signals -scanobj-build.stamp: $(SCANOBJ_DEPS) $(basefiles) - @echo '*** Scanning GObjects ***' - if test x"$(srcdir)" != x. ; then \ - for f in $(SCANOBJ_FILES); \ - do \ - cp $(srcdir)/$$f . ; \ - done; \ - else \ - $(INSPECT_ENVIRONMENT) \ - CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" \ - CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" \ - LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \ - $(GST_DOC_SCANOBJ) --type-init-func="gst_init(NULL,NULL)" \ - --module=$(DOC_MODULE) --source=$(PACKAGE) && \ - $(PYTHON) \ - $(top_srcdir)/common/scangobj-merge.py $(DOC_MODULE); \ - fi - touch scanobj-build.stamp - -$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(SCANOBJ_FILES_O): scan-build.stamp scanobj-trans-build.stamp - @true - -### inspect GStreamer plug-ins; done by documentation maintainer ### - -# only look at the plugins in this module when building inspect .xml stuff -INSPECT_REGISTRY=$(top_builddir)/docs/plugins/inspect-registry.xml -INSPECT_ENVIRONMENT=\ - GST_PLUGIN_SYSTEM_PATH= \ - GST_PLUGIN_PATH=$(top_builddir)/gst:$(top_builddir)/sys:$(top_builddir)/ext:$(top_builddir)/plugins:$(top_builddir)/src:$(top_builddir)/gnl \ - GST_REGISTRY=$(INSPECT_REGISTRY) - -inspect-update: inspect - -rm -f $(INSPECT_REGISTRY) inspect-build.stamp - $(MAKE) inspect-build.stamp - -if ENABLE_PLUGIN_DOCS - -# FIXME: inspect.stamp should be written to by gst-xmlinspect.py -# IF the output changed; see gtkdoc-mktmpl -inspect-build.stamp: - @echo '*** Rebuilding plugin inspection files ***' - if test -d inspect; then rm -rf inspect; fi - mkdir inspect - if test x"$(srcdir)" != x. ; then \ - cp $(srcdir)/inspect.stamp . ; \ - cp $(srcdir)/inspect-build.stamp . ; \ - else \ - $(INSPECT_ENVIRONMENT) $(PYTHON) \ - $(top_srcdir)/common/gst-xmlinspect.py $(PACKAGE) inspect && \ - echo -n "timestamp" > inspect.stamp && \ - touch inspect-build.stamp; \ - fi - -else -inspect-build.stamp: - @true: -endif - -### scan headers; done on every build ### -scan-build.stamp: $(HFILE_GLOB) $(EXTRA_HFILES) $(basefiles) scanobj-build.stamp inspect-build.stamp scanobj-trans-build.stamp - if test "x$(top_srcdir)" != "x$(top_builddir)" && \ - test -d "$(top_builddir)/gst"; \ - then \ - export BUILT_OPTIONS="--source-dir=$(top_builddir)/gst"; \ - fi; \ - gtkdoc-scan \ - $(SCAN_OPTIONS) $(EXTRA_HFILES) \ - --module=$(DOC_MODULE) \ - $$BUILT_OPTIONS \ - --ignore-headers="$(IGNORE_HFILES)"; \ - touch scan-build.stamp - -#### update templates; done on every build #### - -### FIXME: make this error out again when docs are fixed for 0.9 -# in a non-srcdir build, we need to copy files from the previous step -# and the files from previous runs of this step -tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_OVERRIDES) - @echo '*** Rebuilding template files ***' - if test x"$(srcdir)" != x. ; then \ - for f in $(SCANOBJ_FILES) $(SCAN_FILES); \ - do \ - if test -e $(srcdir)/$$f; then cp $(srcdir)/$$f . ; fi; \ - done; \ - fi - gtkdoc-mktmpl --module=$(DOC_MODULE) | tee tmpl-build.log - $(PYTHON) \ - $(top_srcdir)/common/mangle-tmpl.py $(srcdir)/inspect tmpl - @cat $(DOC_MODULE)-unused.txt - rm -f tmpl-build.log - touch tmpl-build.stamp - -tmpl.stamp: tmpl-build.stamp - @true - -#### build xml; done on every build #### - -### FIXME: make this error out again when docs are fixed for 0.9 -sgml-build.stamp: tmpl.stamp inspect.stamp $(CFILE_GLOB) $(top_srcdir)/common/plugins.xsl - @echo '*** Building XML ***' - @-mkdir -p xml - @for a in $(srcdir)/inspect/*.xml; do \ - xsltproc --stringparam module $(MODULE) \ - $(top_srcdir)/common/plugins.xsl $$a > xml/`basename $$a`; done - @for f in $(EXAMPLE_CFILES); do \ - $(PYTHON) $(top_srcdir)/common/c-to-xml.py $$f > xml/element-`basename $$f .c`.xml; done - gtkdoc-mkdb \ - --module=$(DOC_MODULE) \ - --source-dir=$(DOC_SOURCE_DIR) \ - --main-sgml-file=$(srcdir)/$(DOC_MAIN_SGML_FILE) \ - --output-format=xml \ - --ignore-files="$(IGNORE_HFILES) $(IGNORE_CFILES)" \ - $(MKDB_OPTIONS) \ - | tee sgml-build.log - @if grep "WARNING:" sgml-build.log > /dev/null; then true; fi # exit 1; fi - cp ../version.entities xml - rm sgml-build.log - touch sgml-build.stamp - -sgml.stamp: sgml-build.stamp - @true - -#### build html; done on every step #### - -html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) - @echo '*** Building HTML ***' - if test -d html; then rm -rf html; fi - mkdir html - cp $(srcdir)/$(DOC_MAIN_SGML_FILE) html - @for f in $(content_files); do cp $(srcdir)/$$f html; done - cp -pr xml html - cp ../version.entities html - cd html && gtkdoc-mkhtml $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) \ - 2>&1 | tee ../html-build.log - @if grep "warning:" html-build.log > /dev/null; then \ - echo "ERROR"; grep "warning:" html-build.log; exit 1; fi - @rm html-build.log - mv html/index.sgml html/index.sgml.bak - $(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_MAJORMINOR@\//g" html/index.sgml.bak >html/index.sgml - rm -f html/index.sgml.bak - rm -f html/$(DOC_MAIN_SGML_FILE) - rm -rf html/xml - rm -f html/version.entities - test "x$(HTML_IMAGES)" = "x" || for i in "" $(HTML_IMAGES) ; do \ - if test "$$i" != ""; then cp $(srcdir)/$$i html ; fi; done - @echo '-- Fixing Crossreferences' - gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) - touch html-build.stamp - -clean-local-gtkdoc: - rm -rf xml tmpl html -# clean files copied for nonsrcdir templates build - if test x"$(srcdir)" != x. ; then \ - rm -rf $(SCANOBJ_FILES) $(SCAN_FILES); \ - rm -f *.stamp; \ - fi -else -all-local: -clean-local-gtkdoc: -endif - -clean-local: clean-local-gtkdoc - rm -f *~ *.bak - rm -rf .libs - -distclean-local: clean - rm -rf tmpl/*.sgml.bak - rm -rf *.o - -MAINTAINERCLEANFILES = $(MAINTAINER_DOC_STAMPS) - -# thomas: make docs parallel installable; devhelp requires majorminor too -install-data-local: - (installfiles=`echo $(srcdir)/html/*.sgml $(srcdir)/html/*.html $(srcdir)/html/*.png $(srcdir)/html/*.css`; \ - if test "$$installfiles" = '$(srcdir)/html/*.sgml $(srcdir)/html/*.html $(srcdir)/html/*.png $(srcdir)/html/*.css'; \ - then echo '-- Nothing to install' ; \ - else \ - $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \ - for i in $$installfiles; do \ - echo '-- Installing '$$i ; \ - $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ - done; \ - pngfiles=`echo ./html/*.png`; \ - if test "$$pngfiles" != './html/*.png'; then \ - for i in $$pngfiles; do \ - echo '-- Installing '$$i ; \ - $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ - done; \ - fi; \ - echo '-- Installing $(srcdir)/html/$(DOC_MODULE).devhelp' ; \ - $(INSTALL_DATA) $(srcdir)/html/$(DOC_MODULE).devhelp \ - $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp; \ - if test -e $(srcdir)/html/$(DOC_MODULE).devhelp2; then \ - $(INSTALL_DATA) $(srcdir)/html/$(DOC_MODULE).devhelp2 \ - $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp2; \ - fi; \ - fi) -uninstall-local: - (installfiles=`echo ./html/*.html`; \ - if test "$$installfiles" = './html/*.html'; \ - then echo '-- Nothing to uninstall' ; \ - else \ - for i in $$installfiles; do \ - rmfile=`basename $$i` ; \ - echo '-- Uninstalling $(DESTDIR)$(TARGET_DIR)/'$$rmfile ; \ - rm -f $(DESTDIR)$(TARGET_DIR)/$$rmfile; \ - done; \ - pngfiles=`echo ./html/*.png`; \ - if test "$$pngfiles" != './html/*.png'; then \ - for i in $$pngfiles; do \ - rmfile=`basename $$i` ; \ - echo '-- Uninstalling $(DESTDIR)$(TARGET_DIR)/'$$rmfile ; \ - rm -f $(DESTDIR)$(TARGET_DIR)/$$rmfile; \ - done; \ - fi; \ - echo '-- Uninstalling $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE).devhelp' ; \ - rm -f $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp; \ - if test -e $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp2; then \ - rm -f $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp2; \ - fi; \ - echo '-- Uninstalling $(DESTDIR)$(TARGET_DIR)/index.sgml' ; \ - rm -f $(DESTDIR)$(TARGET_DIR)/index.sgml; \ - if test -e $(DESTDIR)$(TARGET_DIR)/style.css; then \ - echo '-- Uninstalling $(DESTDIR)$(TARGET_DIR)/style.css' ; \ - rm -f $(DESTDIR)$(TARGET_DIR)/style.css; \ - fi; \ - fi) - if test -d $(DESTDIR)$(TARGET_DIR); then rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(TARGET_DIR) 2>/dev/null; fi; true - -# -# Checks -# -check-hierarchy: $(DOC_MODULE).hierarchy - @if grep ' ' $(DOC_MODULE).hierarchy; then \ - echo "$(DOC_MODULE).hierarchy contains tabs, please fix"; \ - /bin/false; \ - fi - -check: check-hierarchy - -# wildcard is apparently not portable to other makes, hence the use of find -inspect_files = $(shell find $(srcdir)/inspect -name '*.xml') - -check-inspected-versions: - @echo Checking plugin versions of inspected plugin data ...; \ - fail=0 ; \ - for each in $(inspect_files) ; do \ - if (grep -H '<version>' $$each | grep -v '<version>$(VERSION)'); then \ - echo $$each should be fixed to say version $(VERSION) or be removed ; \ - echo "sed -i -e 's/<version.*version>/<version>$(VERSION)<\/version>/'" $$each; \ - echo ; \ - fail=1; \ - fi ; \ - done ; \ - exit $$fail - -scanobj-trans-update: - -rm scanobj-trans-build.stamp - $(MAKE) scanobj-trans-build.stamp - -# We have a scanobj-build.stamp just to prevent both from running at the same -# time as they use temp files with the same name - -scanobj-trans-build.stamp: $(SCANOBJ_DEPS) $(basefiles) scanobj-build.stamp farsight2-transmitters.types - @echo '*** Scanning Transmitters ***' - if test x"$(srcdir)" = x. ; then \ - GST_PLUGIN_PATH=$(top_builddir)/gst:$(top_builddir)/ext \ - GST_REGISTRY=$(INSPECT_REGISTRY) \ - FS_PLUGIN_PATH="$(FS_PLUGIN_PATH)" \ - CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" \ - CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" \ - LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \ - $(srcdir)/gtkdoc-scangobj-transmitters \ - --type-init-func="gst_init(NULL,NULL)" \ - --types=farsight2-transmitters.types \ - --module=$(DOC_MODULE) && \ - $(PYTHON) \ - $(top_srcdir)/common/scangobj-merge.py $(DOC_MODULE); \ - fi - touch scanobj-trans-build.stamp - -# -# Require gtk-doc when making dist -# -if ENABLE_GTK_DOC -dist-check-gtkdoc: -else -dist-check-gtkdoc: - @echo "*** gtk-doc must be installed and enabled in order to make dist" - @false -endif - -# FIXME: decide whether we want to dist generated html or not -dist-hook: dist-check-gtkdoc dist-hook-local - mkdir $(distdir)/html - cp $(srcdir)/html/* $(distdir)/html - -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/ - -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/ - -cp $(srcdir)/html/$(DOC_MODULE).devhelp* $(distdir)/html - cd $(distdir) && rm -f $(DISTCLEANFILES) - -.PHONY : dist-hook-local docs - diff --git a/common/gtk-doc.mak b/common/gtk-doc.mak deleted file mode 100644 index 5b4e9d8f..00000000 --- a/common/gtk-doc.mak +++ /dev/null @@ -1,268 +0,0 @@ -########################################################################### -# Everything below here is generic and you shouldn't need to change it. -########################################################################### -# thomas: except of course that we did - -# thomas: copied from glib-2 -# We set GPATH here; this gives us semantics for GNU make -# which are more like other make's VPATH, when it comes to -# whether a source that is a target of one rule is then -# searched for in VPATH/GPATH. -# -GPATH = $(srcdir) - -# thomas: make docs parallel installable -TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@ - -EXTRA_DIST = \ - $(content_files) \ - $(extra_files) \ - $(HTML_IMAGES) \ - $(DOC_MAIN_SGML_FILE) \ - $(DOC_MODULE).types \ - $(DOC_OVERRIDES) \ - $(DOC_MODULE)-sections.txt - -DOC_STAMPS = \ - scan-build.stamp \ - tmpl-build.stamp \ - sgml-build.stamp \ - html-build.stamp \ - $(srcdir)/tmpl.stamp \ - $(srcdir)/sgml.stamp \ - $(srcdir)/html.stamp - -SCANOBJ_FILES = \ - $(DOC_MODULE).args \ - $(DOC_MODULE).hierarchy \ - $(DOC_MODULE).interfaces \ - $(DOC_MODULE).prerequisites \ - .libs/$(DOC_MODULE)-scan.o \ - $(DOC_MODULE).signals - -REPORT_FILES = \ - $(DOC_MODULE)-undocumented.txt \ - $(DOC_MODULE)-undeclared.txt \ - $(DOC_MODULE)-unused.txt - -CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) - -if ENABLE_GTK_DOC -all-local: html-build.stamp - -#### scan #### - -# in the case of non-srcdir builds, the built gst directory gets added -# to gtk-doc scanning; but only then, to avoid duplicates -scan-build.stamp: $(HFILE_GLOB) $(SCANOBJ_DEPS) $(basefiles) - @echo '*** Scanning header files ***' - if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null; \ - then \ - if test x"$(srcdir)" != x. ; then \ - cp $(srcdir)/$(DOC_MODULE).types . ; \ - chmod u+w $(DOC_MODULE).types ; \ - fi ; \ - GST_PLUGIN_SYSTEM_PATH=`cd $(top_builddir) && pwd` \ - GST_PLUGIN_PATH= \ - CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" \ - CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" \ - gtkdoc-scangobj --type-init-func="gst_init(NULL,NULL)" \ - --module=$(DOC_MODULE) ; \ - else \ - cd $(srcdir) ; \ - for i in $(SCANOBJ_FILES) ; do \ - test -f $$i || touch $$i ; \ - done \ - fi - if test "x$(top_srcdir)" != "x$(top_builddir)"; \ - then \ - export BUILT_OPTIONS="--source-dir=$(DOC_BUILD_DIR)"; \ - fi; \ - gtkdoc-scan \ - $(SCAN_OPTIONS) $(EXTRA_HFILES) \ - --module=$(DOC_MODULE) \ - --source-dir=$(DOC_SOURCE_DIR) \ - $$BUILT_OPTIONS \ - --ignore-headers="$(IGNORE_HFILES)" - touch scan-build.stamp - -$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp - @true - -#### templates #### - -tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_OVERRIDES) - @echo '*** Rebuilding template files ***' - if test x"$(srcdir)" != x. ; then \ - cp $(srcdir)/$(DOC_MODULE)-sections.txt . ; \ - touch $(DOC_MODULE)-decl.txt ; \ - fi - gtkdoc-mktmpl --module=$(DOC_MODULE) | tee tmpl-build.log - @if test -s $(DOC_MODULE)-unused.txt; then \ - exit $(if $(DOCS_ARE_INCOMPLETE_PLEASE_FIXME),0,1); fi - rm -f tmpl-build.log - touch tmpl-build.stamp - -tmpl.stamp: tmpl-build.stamp - @true - -#### xml #### - -### FIXME: make this error out again when docs are complete -sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) - @echo '*** Building XML ***' - gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --main-sgml-file=$(srcdir)/$(DOC_MAIN_SGML_FILE) --output-format=xml $(MKDB_OPTIONS) | tee sgml-build.log - @if grep "WARNING:" sgml-build.log > /dev/null; then true; fi # exit 1; fi - cp ../version.entities xml - rm sgml-build.log - touch sgml-build.stamp - -sgml.stamp: sgml-build.stamp - @true - -#### html #### - -html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) - @echo '*** Building HTML ***' - if test -d html; then rm -rf html; fi - mkdir html - cp $(srcdir)/$(DOC_MAIN_SGML_FILE) html - @for f in $(content_files); do cp $(srcdir)/$$f html; done - cp -pr xml html - cp ../version.entities html - cd html && gtkdoc-mkhtml $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) - mv html/index.sgml html/index.sgml.bak - $(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_MAJORMINOR@\//g" html/index.sgml.bak >html/index.sgml - rm -f html/index.sgml.bak - rm -f html/$(DOC_MAIN_SGML_FILE) - rm -rf html/xml - rm -f html/version.entities - test "x$(HTML_IMAGES)" = "x" || for i in "" $(HTML_IMAGES) ; do \ - if test "$$i" != ""; then cp $(srcdir)/$$i html ; fi; done - @echo '-- Fixing Crossreferences' - gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) - touch html-build.stamp -else -all-local: -endif - -clean-local: - rm -f *~ *.bak - rm -rf xml html - rm -rf .libs - -maintainer-clean-local: clean - cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt - -# company: don't delete .sgml and -sections.txt as they're in CVS -# FIXME : thomas added all sgml files and some other things to make -# make distcheck work -distclean-local: clean - rm -f $(DOC_MODULE)-decl-list.txt - rm -f $(DOC_MODULE)-decl.txt - rm -f $(REPORT_FILES) - rm -rf tmpl/*.sgml.bak - rm -f $(DOC_MODULE).hierarchy - rm -f *.stamp || true - if test x"$(srcdir)" != x. ; then \ - rm -f $(DOC_MODULE)-docs.sgml ; \ - rm -f $(DOC_MODULE).types ; \ - rm -f $(DOC_MODULE).interfaces ; \ - rm -f $(DOC_MODULE)-overrides.txt ; \ - rm -f $(DOC_MODULE).prerequisites ; \ - rm -f $(DOC_MODULE)-sections.txt ; \ - rm -rf tmpl/*.sgml ; \ - fi - rm -rf *.o - -# thomas: make docs parallel installable; devhelp requires majorminor too -install-data-local: - $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR) - (installfiles=`echo ./html/*.html`; \ - if test "$$installfiles" = './html/*.html'; \ - then echo '-- Nothing to install' ; \ - else \ - for i in $$installfiles; do \ - echo '-- Installing '$$i ; \ - $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ - done; \ - pngfiles=`echo ./html/*.png`; \ - if test "$$pngfiles" != './html/*.png'; then \ - for i in $$pngfiles; do \ - echo '-- Installing '$$i ; \ - $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ - done; \ - fi; \ - echo '-- Installing $(srcdir)/html/$(DOC_MODULE).devhelp' ; \ - $(INSTALL_DATA) $(srcdir)/html/$(DOC_MODULE).devhelp \ - $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp; \ - if test -e $(srcdir)/html/$(DOC_MODULE).devhelp2; then \ - $(INSTALL_DATA) $(srcdir)/html/$(DOC_MODULE).devhelp2 \ - $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp2; \ - fi; \ - echo '-- Installing $(srcdir)/html/index.sgml' ; \ - $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \ - if test -e $(srcdir)/html/style.css; then \ - echo '-- Installing $(srcdir)/html/style.css' ; \ - $(INSTALL_DATA) $(srcdir)/html/style.css $(DESTDIR)$(TARGET_DIR); \ - fi; \ - fi) -uninstall-local: - (installfiles=`echo ./html/*.html`; \ - if test "$$installfiles" = './html/*.html'; \ - then echo '-- Nothing to uninstall' ; \ - else \ - for i in $$installfiles; do \ - rmfile=`basename $$i` ; \ - echo '-- Uninstalling $(DESTDIR)$(TARGET_DIR)/'$$rmfile ; \ - rm -f $(DESTDIR)$(TARGET_DIR)/$$rmfile; \ - done; \ - pngfiles=`echo ./html/*.png`; \ - if test "$$pngfiles" != './html/*.png'; then \ - for i in $$pngfiles; do \ - rmfile=`basename $$i` ; \ - echo '-- Uninstalling $(DESTDIR)$(TARGET_DIR)/'$$rmfile ; \ - rm -f $(DESTDIR)$(TARGET_DIR)/$$rmfile; \ - done; \ - fi; \ - echo '-- Uninstalling $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE).devhelp' ; \ - rm -f $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp; \ - if test -e $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp2; then \ - rm -f $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp2; \ - fi; \ - echo '-- Uninstalling $(DESTDIR)$(TARGET_DIR)/index.sgml' ; \ - rm -f $(DESTDIR)$(TARGET_DIR)/index.sgml; \ - if test -e $(DESTDIR)$(TARGET_DIR)/style.css; then \ - echo '-- Uninstalling $(DESTDIR)$(TARGET_DIR)/style.css' ; \ - rm -f $(DESTDIR)$(TARGET_DIR)/style.css; \ - fi; \ - fi) - if test -d $(DESTDIR)$(TARGET_DIR); then rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(TARGET_DIR) 2>/dev/null; fi; true - -# -# Require gtk-doc when making dist -# -if ENABLE_GTK_DOC -dist-check-gtkdoc: -else -dist-check-gtkdoc: - @echo "*** gtk-doc must be installed and enabled in order to make dist" - @false -endif - -dist-hook: dist-check-gtkdoc dist-hook-local - mkdir $(distdir)/tmpl - mkdir $(distdir)/xml - mkdir $(distdir)/html - -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl - -cp $(srcdir)/sgml/*.xml $(distdir)/xml - -cp $(srcdir)/html/index.sgml $(distdir)/html - -cp $(srcdir)/html/*.html $(srcdir)/html/*.css $(distdir)/html - -cp $(srcdir)/html/$(DOC_MODULE).devhelp* $(distdir)/html - - images=$(HTML_IMAGES) ; \ - for i in "" $$images ; do \ - if test "$$i" != ""; then cp $(srcdir)/$$i $(distdir)/html ; fi; \ - done - -.PHONY : dist-hook-local diff --git a/common/m4/Makefile.am b/common/m4/Makefile.am deleted file mode 100644 index 510c4d79..00000000 --- a/common/m4/Makefile.am +++ /dev/null @@ -1,39 +0,0 @@ -EXTRA_DIST = \ - as-ac-expand.m4 \ - codeset.m4 \ - gst-default.m4 \ - gst.m4 \ - inttypes.m4 \ - progtest.m4 \ - as-auto-alt.m4 \ - gettext.m4 \ - gst-doc.m4 \ - gst-plugindir.m4 \ - inttypes-pri.m4 \ - stdint_h.m4 \ - as-compiler-flag.m4 \ - glibc21.m4 \ - gst-error.m4 \ - gst-plugin-docs.m4 \ - isc-posix.m4 \ - uintmax_t.m4 \ - as-libtool.m4\ - gst-arch.m4\ - gst-feature.m4 \ - gst-valgrind.m4 \ - lcmessage.m4 \ - ulonglong.m4 \ - as-python.m4 \ - gst-args.m4 \ - iconv.m4 \ - lib-ld.m4 \ - as-scrub-include.m4 \ - gst-check.m4 \ - gst-gettext.m4 \ - intdiv0.m4 \ - lib-link.m4 \ - as-version.m4 \ - gst-debuginfo.m4 \ - gst-glib2.m4 \ - inttypes_h.m4 \ - lib-prefix.m4 diff --git a/common/m4/as-ac-expand.m4 b/common/m4/as-ac-expand.m4 deleted file mode 100644 index d6c9e330..00000000 --- a/common/m4/as-ac-expand.m4 +++ /dev/null @@ -1,43 +0,0 @@ -dnl as-ac-expand.m4 0.2.0 -dnl autostars m4 macro for expanding directories using configure's prefix -dnl thomas@apestaart.org - -dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR) -dnl example -dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir) -dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local - -AC_DEFUN([AS_AC_EXPAND], -[ - EXP_VAR=[$1] - FROM_VAR=[$2] - - dnl first expand prefix and exec_prefix if necessary - prefix_save=$prefix - exec_prefix_save=$exec_prefix - - dnl if no prefix given, then use /usr/local, the default prefix - if test "x$prefix" = "xNONE"; then - prefix="$ac_default_prefix" - fi - dnl if no exec_prefix given, then use prefix - if test "x$exec_prefix" = "xNONE"; then - exec_prefix=$prefix - fi - - full_var="$FROM_VAR" - dnl loop until it doesn't change anymore - while true; do - new_full_var="`eval echo $full_var`" - if test "x$new_full_var" = "x$full_var"; then break; fi - full_var=$new_full_var - done - - dnl clean up - full_var=$new_full_var - AC_SUBST([$1], "$full_var") - - dnl restore prefix and exec_prefix - prefix=$prefix_save - exec_prefix=$exec_prefix_save -]) diff --git a/common/m4/as-auto-alt.m4 b/common/m4/as-auto-alt.m4 deleted file mode 100644 index 3f7920dd..00000000 --- a/common/m4/as-auto-alt.m4 +++ /dev/null @@ -1,50 +0,0 @@ -dnl as-auto-alt.m4 0.0.2 -dnl autostars m4 macro for supplying alternate autotools versions to configure -dnl thomas@apestaart.org -dnl -dnl AS_AUTOTOOLS_ALTERNATE() -dnl -dnl supplies --with arguments for autoconf, autoheader, automake, aclocal - -AC_DEFUN([AS_AUTOTOOLS_ALTERNATE], -[ - dnl allow for different autoconf version - AC_ARG_WITH(autoconf, - AC_HELP_STRING([--with-autoconf], - [use a different autoconf for regeneration of Makefiles]), - [ - unset AUTOCONF - AM_MISSING_PROG(AUTOCONF, ${withval}) - AC_MSG_NOTICE([Using $AUTOCONF as autoconf]) - ]) - - dnl allow for different autoheader version - AC_ARG_WITH(autoheader, - AC_HELP_STRING([--with-autoheader], - [use a different autoheader for regeneration of Makefiles]), - [ - unset AUTOHEADER - AM_MISSING_PROG(AUTOHEADER, ${withval}) - AC_MSG_NOTICE([Using $AUTOHEADER as autoheader]) - ]) - - dnl allow for different automake version - AC_ARG_WITH(automake, - AC_HELP_STRING([--with-automake], - [use a different automake for regeneration of Makefiles]), - [ - unset AUTOMAKE - AM_MISSING_PROG(AUTOMAKE, ${withval}) - AC_MSG_NOTICE([Using $AUTOMAKE as automake]) - ]) - - dnl allow for different aclocal version - AC_ARG_WITH(aclocal, - AC_HELP_STRING([--with-aclocal], - [use a different aclocal for regeneration of Makefiles]), - [ - unset ACLOCAL - AM_MISSING_PROG(ACLOCAL, ${withval}) - AC_MSG_NOTICE([Using $ACLOCAL as aclocal]) - ]) -]) diff --git a/common/m4/as-compiler-flag.m4 b/common/m4/as-compiler-flag.m4 deleted file mode 100644 index 882a4c7f..00000000 --- a/common/m4/as-compiler-flag.m4 +++ /dev/null @@ -1,64 +0,0 @@ -dnl as-compiler-flag.m4 0.1.0 - -dnl autostars m4 macro for detection of compiler flags - -dnl David Schleef <ds@schleef.org> -dnl Tim-Philipp MĂŒller <tim centricular net> - -dnl AS_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED]) -dnl Tries to compile with the given CFLAGS. -dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags, -dnl and ACTION-IF-NOT-ACCEPTED otherwise. - -AC_DEFUN([AS_COMPILER_FLAG], -[ - AC_MSG_CHECKING([to see if compiler understands $1]) - - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $1" - - AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) - CFLAGS="$save_CFLAGS" - - if test "X$flag_ok" = Xyes ; then - $2 - true - else - $3 - true - fi - AC_MSG_RESULT([$flag_ok]) -]) - -dnl AS_CXX_COMPILER_FLAG(CPPFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED]) -dnl Tries to compile with the given CPPFLAGS. -dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags, -dnl and ACTION-IF-NOT-ACCEPTED otherwise. - -AC_DEFUN([AS_CXX_COMPILER_FLAG], -[ - AC_REQUIRE([AC_PROG_CXX]) - - AC_MSG_CHECKING([to see if c++ compiler understands $1]) - - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $1" - - AC_LANG_PUSH(C++) - - AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) - CPPFLAGS="$save_CPPFLAGS" - - if test "X$flag_ok" = Xyes ; then - $2 - true - else - $3 - true - fi - - AC_LANG_POP(C++) - - AC_MSG_RESULT([$flag_ok]) -]) - diff --git a/common/m4/as-libtool.m4 b/common/m4/as-libtool.m4 deleted file mode 100644 index 73dec1f4..00000000 --- a/common/m4/as-libtool.m4 +++ /dev/null @@ -1,45 +0,0 @@ -dnl as-libtool.m4 0.1.4 - -dnl autostars m4 macro for libtool versioning - -dnl Thomas Vander Stichele <thomas at apestaart dot org> - -dnl $Id: as-libtool.m4,v 1.6 2004/06/01 10:04:44 thomasvs Exp $ - -dnl AS_LIBTOOL(PREFIX, CURRENT, REVISION, AGE, [RELEASE]) - -dnl example -dnl AS_LIBTOOL(GST, 2, 0, 0) - -dnl this macro -dnl - defines [$PREFIX]_CURRENT, REVISION and AGE -dnl - defines [$PREFIX]_LIBVERSION -dnl - defines [$PREFIX]_LT_LDFLAGS to set versioning -dnl - AC_SUBST's them all - -dnl if RELEASE is given, then add a -release option to the LDFLAGS -dnl with the given release version -dnl then use [$PREFIX]_LT_LDFLAGS in the relevant Makefile.am's - -dnl call AM_PROG_LIBTOOL after this call - -AC_DEFUN([AS_LIBTOOL], -[ - [$1]_CURRENT=[$2] - [$1]_REVISION=[$3] - [$1]_AGE=[$4] - [$1]_LIBVERSION=[$2]:[$3]:[$4] - AC_SUBST([$1]_CURRENT) - AC_SUBST([$1]_REVISION) - AC_SUBST([$1]_AGE) - AC_SUBST([$1]_LIBVERSION) - - [$1]_LT_LDFLAGS="$[$1]_LT_LDFLAGS -version-info $[$1]_LIBVERSION" - if test ! -z "[$5]" - then - [$1]_LT_LDFLAGS="$[$1]_LT_LDFLAGS -release [$5]" - fi - AC_SUBST([$1]_LT_LDFLAGS) - - AC_LIBTOOL_DLOPEN -]) diff --git a/common/m4/as-python.m4 b/common/m4/as-python.m4 deleted file mode 100644 index 4eb1a314..00000000 --- a/common/m4/as-python.m4 +++ /dev/null @@ -1,153 +0,0 @@ -## ------------------------ -## Python file handling -## From Andrew Dalke -## Updated by James Henstridge -## Updated by Andy Wingo to loop through possible pythons -## ------------------------ - -# AS_PATH_PYTHON([MINIMUM-VERSION]) - -# Adds support for distributing Python modules and packages. To -# install modules, copy them to $(pythondir), using the python_PYTHON -# automake variable. To install a package with the same name as the -# automake package, install to $(pkgpythondir), or use the -# pkgpython_PYTHON automake variable. - -# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as -# locations to install python extension modules (shared libraries). -# Another macro is required to find the appropriate flags to compile -# extension modules. - -# If your package is configured with a different prefix to python, -# users will have to add the install directory to the PYTHONPATH -# environment variable, or create a .pth file (see the python -# documentation for details). - -# If the MINIMUM-VERSION argument is passed, AS_PATH_PYTHON will -# cause an error if the version of python installed on the system -# doesn't meet the requirement. MINIMUM-VERSION should consist of -# numbers and dots only. - -# Updated to loop over all possible python binaries by Andy Wingo -# <wingo@pobox.com> -# Updated to only warn and unset PYTHON if no good one is found - -AC_DEFUN([AS_PATH_PYTHON], - [ - dnl Find a version of Python. I could check for python versions 1.4 - dnl or earlier, but the default installation locations changed from - dnl $prefix/lib/site-python in 1.4 to $prefix/lib/python1.5/site-packages - dnl in 1.5, and I don't want to maintain that logic. - - dnl should we do the version check? - PYTHON_CANDIDATES="python python2.6 python2.5 python 2.4 python 2.3 \ - python2.2 python2.1 python2.0 python2 \ - python1.6 python1.5" - ifelse([$1],[], - [AC_PATH_PROG(PYTHON, $PYTHON_CANDIDATES)], - [ - AC_MSG_NOTICE(Looking for Python version >= $1) - changequote(<<, >>)dnl - prog=" -import sys, string -minver = '$1' -# split string by '.' and convert to numeric -minver_info = map(string.atoi, string.split(minver, '.')) -# we can now do comparisons on the two lists: -if sys.version_info >= tuple(minver_info): - sys.exit(0) -else: - sys.exit(1)" - changequote([, ])dnl - - python_good=false - for python_candidate in $PYTHON_CANDIDATES; do - unset PYTHON - AC_PATH_PROG(PYTHON, $python_candidate) 1> /dev/null 2> /dev/null - - if test "x$PYTHON" = "x"; then continue; fi - - if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC; then - AC_MSG_CHECKING(["$PYTHON":]) - AC_MSG_RESULT([okay]) - python_good=true - break; - else - dnl clear the cache val - unset ac_cv_path_PYTHON - fi - done - ]) - - if test "$python_good" != "true"; then - AC_MSG_WARN([No suitable version of python found]) - PYTHON= - else - - AC_MSG_CHECKING([local Python configuration]) - - dnl Query Python for its version number. Getting [:3] seems to be - dnl the best way to do this; it's what "site.py" does in the standard - dnl library. Need to change quote character because of [:3] - - AC_SUBST(PYTHON_VERSION) - changequote(<<, >>)dnl - PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[:3]"` - changequote([, ])dnl - - - dnl Use the values of $prefix and $exec_prefix for the corresponding - dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made - dnl distinct variables so they can be overridden if need be. However, - dnl general consensus is that you shouldn't need this ability. - - AC_SUBST(PYTHON_PREFIX) - PYTHON_PREFIX='${prefix}' - - AC_SUBST(PYTHON_EXEC_PREFIX) - PYTHON_EXEC_PREFIX='${exec_prefix}' - - dnl At times (like when building shared libraries) you may want - dnl to know which OS platform Python thinks this is. - - AC_SUBST(PYTHON_PLATFORM) - PYTHON_PLATFORM=`$PYTHON -c "import sys; print sys.platform"` - - - dnl Set up 4 directories: - - dnl pythondir -- where to install python scripts. This is the - dnl site-packages directory, not the python standard library - dnl directory like in previous automake betas. This behaviour - dnl is more consistent with lispdir.m4 for example. - dnl - dnl Also, if the package prefix isn't the same as python's prefix, - dnl then the old $(pythondir) was pretty useless. - - AC_SUBST(pythondir) - pythondir=$PYTHON_PREFIX"/lib/python"$PYTHON_VERSION/site-packages - - dnl pkgpythondir -- $PACKAGE directory under pythondir. Was - dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is - dnl more consistent with the rest of automake. - dnl Maybe this should be put in python.am? - - AC_SUBST(pkgpythondir) - pkgpythondir=\${pythondir}/$PACKAGE - - dnl pyexecdir -- directory for installing python extension modules - dnl (shared libraries) Was PYTHON_SITE_EXEC in previous betas. - - AC_SUBST(pyexecdir) - pyexecdir=$PYTHON_EXEC_PREFIX"/lib/python"$PYTHON_VERSION/site-packages - - dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) - dnl Maybe this should be put in python.am? - - AC_SUBST(pkgpyexecdir) - pkgpyexecdir=\${pyexecdir}/$PACKAGE - - AC_MSG_RESULT([looks good]) - - fi -]) diff --git a/common/m4/as-scrub-include.m4 b/common/m4/as-scrub-include.m4 deleted file mode 100644 index 96dfb8f0..00000000 --- a/common/m4/as-scrub-include.m4 +++ /dev/null @@ -1,36 +0,0 @@ -dnl as-scrub-include.m4 0.0.4 - -dnl autostars m4 macro for scrubbing CFLAGS of system include dirs -dnl because gcc 3.x complains about including system including dirs - -dnl Thomas Vander Stichele <thomas at apestaart dot org> - -dnl $Id: as-scrub-include.m4,v 1.5 2004/06/12 08:19:09 thomasvs Exp $ - -dnl This macro uses output of cpp -v and expects it to contain text that -dnl looks a little bit like this: -dnl #include <...> search starts here: -dnl /usr/local/include -dnl /usr/lib/gcc-lib/i386-redhat-linux/3.2/include -dnl /usr/include -dnl End of search list. - -dnl AS_SCRUB_INCLUDE(VAR) -dnl example -dnl AS_SCRUB_INCLUDE(CFLAGS) -dnl will remove all system include dirs from the given CFLAGS - -AC_DEFUN([AS_SCRUB_INCLUDE], -[ - GIVEN_CFLAGS=$[$1] - INCLUDE_DIRS=`echo | cpp -v 2>&1` - - dnl remove everything from this output between the "starts here" and "End of" - dnl line - INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` - for dir in $INCLUDE_DIRS; do - dnl use "" as the sed script so $dir gets expanded - GIVEN_CFLAGS=`echo $GIVEN_CFLAGS | sed -e "s#-I$dir ##"` - done - [$1]=$GIVEN_CFLAGS -]) diff --git a/common/m4/as-version.m4 b/common/m4/as-version.m4 deleted file mode 100644 index a5b43990..00000000 --- a/common/m4/as-version.m4 +++ /dev/null @@ -1,71 +0,0 @@ -dnl as-version.m4 0.2.0 - -dnl autostars m4 macro for versioning - -dnl Thomas Vander Stichele <thomas at apestaart dot org> - -dnl $Id: as-version.m4,v 1.4 2004/06/01 09:40:05 thomasvs Exp $ - -dnl AS_VERSION - -dnl example -dnl AS_VERSION - -dnl this macro -dnl - AC_SUBST's PACKAGE_VERSION_MAJOR, _MINOR, _MICRO -dnl - AC_SUBST's PACKAGE_VERSION_RELEASE, -dnl which can be used for rpm release fields -dnl - doesn't call AM_INIT_AUTOMAKE anymore because it prevents -dnl maintainer mode from running correctly -dnl -dnl don't forget to put #undef PACKAGE_VERSION_RELEASE in acconfig.h -dnl if you use acconfig.h - -AC_DEFUN([AS_VERSION], -[ - PACKAGE_VERSION_MAJOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f1) - PACKAGE_VERSION_MINOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f2) - PACKAGE_VERSION_MICRO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f3) - - AC_SUBST(PACKAGE_VERSION_MAJOR) - AC_SUBST(PACKAGE_VERSION_MINOR) - AC_SUBST(PACKAGE_VERSION_MICRO) -]) - -dnl AS_NANO(ACTION-IF-NO-NANO, [ACTION-IF-NANO]) - -dnl requires AC_INIT to be called before -dnl For projects using a fourth or nano number in your versioning to indicate -dnl development or prerelease snapshots, this macro allows the build to be -dnl set up differently accordingly. - -dnl this macro: -dnl - parses AC_PACKAGE_VERSION, set by AC_INIT, and extracts the nano number -dnl - sets the variable PACKAGE_VERSION_NANO -dnl - sets the variable PACKAGE_VERSION_RELEASE, which can be used -dnl for rpm release fields -dnl - executes ACTION-IF-NO-NANO or ACTION-IF-NANO - -dnl example: -dnl AS_NANO(RELEASE="yes", RELEASE="no") - -AC_DEFUN([AS_NANO], -[ - AC_MSG_CHECKING(nano version) - - NANO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f4) - - if test x"$NANO" = x || test "x$NANO" = "x0" ; then - AC_MSG_RESULT([0 (release)]) - NANO=0 - PACKAGE_VERSION_RELEASE=1 - ifelse([$1], , :, [$1]) - else - AC_MSG_RESULT($NANO) - PACKAGE_VERSION_RELEASE=0.`date +%Y%m%d.%H%M%S` - ifelse([$2], , :, [$2]) - fi - PACKAGE_VERSION_NANO=$NANO - AC_SUBST(PACKAGE_VERSION_NANO) - AC_SUBST(PACKAGE_VERSION_RELEASE) -]) diff --git a/common/m4/codeset.m4 b/common/m4/codeset.m4 deleted file mode 100644 index 59535ebc..00000000 --- a/common/m4/codeset.m4 +++ /dev/null @@ -1,23 +0,0 @@ -# codeset.m4 serial AM1 (gettext-0.10.40) -dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible. - -AC_DEFUN([AM_LANGINFO_CODESET], -[ - AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, - [AC_TRY_LINK([#include <langinfo.h>], - [char* cs = nl_langinfo(CODESET);], - am_cv_langinfo_codeset=yes, - am_cv_langinfo_codeset=no) - ]) - if test $am_cv_langinfo_codeset = yes; then - AC_DEFINE(HAVE_LANGINFO_CODESET, 1, - [Define if you have <langinfo.h> and nl_langinfo(CODESET).]) - fi -]) diff --git a/common/m4/gettext.m4 b/common/m4/gettext.m4 deleted file mode 100644 index 45cad855..00000000 --- a/common/m4/gettext.m4 +++ /dev/null @@ -1,587 +0,0 @@ -# gettext.m4 serial 17 (gettext-0.11.5) -dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. -dnl Bruno Haible <haible@clisp.cons.org>, 2000-2002. - -dnl Macro to add for using GNU gettext. - -dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). -dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The -dnl default (if it is not specified or empty) is 'no-libtool'. -dnl INTLSYMBOL should be 'external' for packages with no intl directory, -dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. -dnl If INTLSYMBOL is 'use-libtool', then a libtool library -dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, -dnl depending on --{enable,disable}-{shared,static} and on the presence of -dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library -dnl $(top_builddir)/intl/libintl.a will be created. -dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext -dnl implementations (in libc or libintl) without the ngettext() function -dnl will be ignored. If NEEDSYMBOL is specified and is -dnl 'need-formatstring-macros', then GNU gettext implementations that don't -dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored. -dnl INTLDIR is used to find the intl libraries. If empty, -dnl the value `$(top_builddir)/intl/' is used. -dnl -dnl The result of the configuration is one of three cases: -dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled -dnl and used. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 2) GNU gettext has been found in the system's C library. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 3) No internationalization, always use English msgid. -dnl Catalog format: none -dnl Catalog extension: none -dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. -dnl The use of .gmo is historical (it was needed to avoid overwriting the -dnl GNU format catalogs when building on a platform with an X/Open gettext), -dnl but we keep it in order not to force irrelevant filename changes on the -dnl maintainers. -dnl -AC_DEFUN([AM_GNU_GETTEXT], -[ - dnl Argument checking. - ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , - [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT -])])])])]) - ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , - [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT -])])])]) - define(gt_included_intl, ifelse([$1], [external], [no], [yes])) - define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], [])) - - AC_REQUIRE([AM_PO_SUBDIRS])dnl - ifelse(gt_included_intl, yes, [ - AC_REQUIRE([AM_INTL_SUBDIR])dnl - ]) - - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - - dnl Sometimes libintl requires libiconv, so first search for libiconv. - dnl Ideally we would do this search only after the - dnl if test "$USE_NLS" = "yes"; then - dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then - dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT - dnl the configure script would need to contain the same shell code - dnl again, outside any 'if'. There are two solutions: - dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. - dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. - dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not - dnl documented, we avoid it. - ifelse(gt_included_intl, yes, , [ - AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) - ]) - - AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - AC_ARG_ENABLE(nls, - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT($USE_NLS) - AC_SUBST(USE_NLS) - - ifelse(gt_included_intl, yes, [ - BUILD_INCLUDED_LIBINTL=no - USE_INCLUDED_LIBINTL=no - ]) - LIBINTL= - LTLIBINTL= - POSUB= - - dnl If we use NLS figure out what method - if test "$USE_NLS" = "yes"; then - gt_use_preinstalled_gnugettext=no - ifelse(gt_included_intl, yes, [ - AC_MSG_CHECKING([whether included gettext is requested]) - AC_ARG_WITH(included-gettext, - [ --with-included-gettext use the GNU gettext library included here], - nls_cv_force_use_gnu_gettext=$withval, - nls_cv_force_use_gnu_gettext=no) - AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - ]) - dnl User does not insist on using GNU NLS library. Figure out what - dnl to use. If GNU gettext is available we use this. Else we have - dnl to fall back to GNU NLS library. - - dnl Add a version number to the cache macros. - define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1))) - define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc]) - define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl]) - - AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, - [AC_TRY_LINK([#include <libintl.h> -]ifelse([$2], [need-formatstring-macros], -[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) -#endif -changequote(,)dnl -typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; -changequote([,])dnl -], [])[extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings;], - [bindtextdomain ("", ""); -return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], - gt_cv_func_gnugettext_libc=yes, - gt_cv_func_gnugettext_libc=no)]) - - if test "$gt_cv_func_gnugettext_libc" != "yes"; then - dnl Sometimes libintl requires libiconv, so first search for libiconv. - ifelse(gt_included_intl, yes, , [ - AM_ICONV_LINK - ]) - dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL - dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) - dnl because that would add "-liconv" to LIBINTL and LTLIBINTL - dnl even if libiconv doesn't exist. - AC_LIB_LINKFLAGS_BODY([intl]) - AC_CACHE_CHECK([for GNU gettext in libintl], - gt_cv_func_gnugettext_libintl, - [gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCINTL" - gt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBINTL" - dnl Now see whether libintl exists and does not depend on libiconv. - AC_TRY_LINK([#include <libintl.h> -]ifelse([$2], [need-formatstring-macros], -[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) -#endif -changequote(,)dnl -typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; -changequote([,])dnl -], [])[extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias ();], - [bindtextdomain ("", ""); -return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], - gt_cv_func_gnugettext_libintl=yes, - gt_cv_func_gnugettext_libintl=no) - dnl Now see whether libintl exists and depends on libiconv. - if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then - LIBS="$LIBS $LIBICONV" - AC_TRY_LINK([#include <libintl.h> -]ifelse([$2], [need-formatstring-macros], -[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) -#endif -changequote(,)dnl -typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; -changequote([,])dnl -], [])[extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias ();], - [bindtextdomain ("", ""); -return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], - [LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - gt_cv_func_gnugettext_libintl=yes - ]) - fi - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS"]) - fi - - dnl If an already present or preinstalled GNU gettext() is found, - dnl use it. But if this macro is used in GNU gettext, and GNU - dnl gettext is already preinstalled in libintl, we update this - dnl libintl. (Cf. the install rule in intl/Makefile.in.) - if test "$gt_cv_func_gnugettext_libc" = "yes" \ - || { test "$gt_cv_func_gnugettext_libintl" = "yes" \ - && test "$PACKAGE" != gettext; }; then - gt_use_preinstalled_gnugettext=yes - else - dnl Reset the values set by searching for libintl. - LIBINTL= - LTLIBINTL= - INCINTL= - fi - - ifelse(gt_included_intl, yes, [ - if test "$gt_use_preinstalled_gnugettext" != "yes"; then - dnl GNU gettext is not found in the C library. - dnl Fall back on included GNU gettext library. - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions used to generate GNU NLS library. - INTLOBJS="\$(GETTOBJS)" - BUILD_INCLUDED_LIBINTL=yes - USE_INCLUDED_LIBINTL=yes - LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV" - LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV" - LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` - fi - - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions to use GNU gettext tools. - CATOBJEXT=.gmo - fi - ]) - - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - AC_DEFINE(ENABLE_NLS, 1, - [Define to 1 if translation of program messages to the user's native language - is requested.]) - else - USE_NLS=no - fi - fi - - if test "$USE_NLS" = "yes"; then - - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if test "$gt_cv_func_gnugettext_libintl" = "yes"; then - AC_MSG_CHECKING([how to link with libintl]) - AC_MSG_RESULT([$LIBINTL]) - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) - fi - - dnl For backward compatibility. Some packages may be using this. - AC_DEFINE(HAVE_GETTEXT, 1, - [Define if the GNU gettext() function is already present or preinstalled.]) - AC_DEFINE(HAVE_DCGETTEXT, 1, - [Define if the GNU dcgettext() function is already present or preinstalled.]) - fi - - dnl We need to process the po/ directory. - POSUB=po - fi - - ifelse(gt_included_intl, yes, [ - dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL - dnl to 'yes' because some of the testsuite requires it. - if test "$PACKAGE" = gettext; then - BUILD_INCLUDED_LIBINTL=yes - fi - - dnl Make all variables we use known to autoconf. - AC_SUBST(BUILD_INCLUDED_LIBINTL) - AC_SUBST(USE_INCLUDED_LIBINTL) - AC_SUBST(CATOBJEXT) - AC_SUBST(INTLOBJS) - - dnl For backward compatibility. Some configure.ins may be using this. - nls_cv_header_intl= - nls_cv_header_libgt= - - dnl For backward compatibility. Some Makefiles may be using this. - DATADIRNAME=share - AC_SUBST(DATADIRNAME) - - dnl For backward compatibility. Some Makefiles may be using this. - INSTOBJEXT=.mo - AC_SUBST(INSTOBJEXT) - - dnl For backward compatibility. Some Makefiles may be using this. - GENCAT=gencat - AC_SUBST(GENCAT) - - dnl Enable libtool support if the surrounding package wishes it. - INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix - AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) - ]) - - dnl For backward compatibility. Some Makefiles may be using this. - INTLLIBS="$LIBINTL" - AC_SUBST(INTLLIBS) - - dnl Make all documented variables known to autoconf. - AC_SUBST(LIBINTL) - AC_SUBST(LTLIBINTL) - AC_SUBST(POSUB) -]) - - -dnl Checks for all prerequisites of the po subdirectory, -dnl except for USE_NLS. -AC_DEFUN([AM_PO_SUBDIRS], -[ - AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AM_MKINSTALLDIRS])dnl - - dnl Perform the following tests also if --disable-nls has been given, - dnl because they are needed for "make dist" to work. - - dnl Search for GNU msgfmt in the PATH. - dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. - dnl The second test excludes FreeBSD msgfmt. - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && - (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - - dnl Search for GNU xgettext 0.11 or newer in the PATH. - dnl The first test excludes Solaris xgettext and early GNU xgettext versions. - dnl The second test excludes FreeBSD xgettext. - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - dnl Remove leftover from FreeBSD xgettext call. - rm -f messages.po - - dnl Search for GNU msgmerge 0.11 or newer in the PATH. - AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, - [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :) - - dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. - dnl Test whether we really found GNU msgfmt. - if test "$GMSGFMT" != ":"; then - dnl If it is no GNU msgfmt we define it as : so that the - dnl Makefiles still can work. - if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && - (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - : ; - else - GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` - AC_MSG_RESULT( - [found $GMSGFMT program is not GNU msgfmt; ignore it]) - GMSGFMT=":" - fi - fi - - dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. - dnl Test whether we really found GNU xgettext. - if test "$XGETTEXT" != ":"; then - dnl If it is no GNU xgettext we define it as : so that the - dnl Makefiles still can work. - if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && - (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - : ; - else - AC_MSG_RESULT( - [found xgettext program is not GNU xgettext; ignore it]) - XGETTEXT=":" - fi - dnl Remove leftover from FreeBSD xgettext call. - rm -f messages.po - fi - - AC_OUTPUT_COMMANDS([ - for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.in.in. - case "$ac_file" in */Makefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" - # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend - # on $ac_dir but don't depend on user-specified configuration - # parameters. - if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then - # The LINGUAS file contains the set of available languages. - if test -n "$ALL_LINGUAS"; then - test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" - fi - ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assigment from automake. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' - fi - case "$ac_given_srcdir" in - .) srcdirpre= ;; - *) srcdirpre='$(srcdir)/' ;; - esac - POFILES= - GMOFILES= - UPDATEPOFILES= - DUMMYPOFILES= - for lang in $ALL_LINGUAS; do - POFILES="$POFILES $srcdirpre$lang.po" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" - DUMMYPOFILES="$DUMMYPOFILES $lang.nop" - done - # CATALOGS depends on both $ac_dir and the user's LINGUAS - # environment variable. - INST_LINGUAS= - if test -n "$ALL_LINGUAS"; then - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "$LINGUAS"; then - desiredlanguages="$LINGUAS" - else - desiredlanguages="$ALL_LINGUAS" - fi - for desiredlang in $desiredlanguages; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - INST_LINGUAS="$INST_LINGUAS $presentlang" - fi - done - fi - CATALOGS= - if test -n "$INST_LINGUAS"; then - for lang in $INST_LINGUAS; do - CATALOGS="$CATALOGS $lang.gmo" - done - fi - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" - for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do - if test -f "$f"; then - case "$f" in - *.orig | *.bak | *~) ;; - *) cat "$f" >> "$ac_dir/Makefile" ;; - esac - fi - done - fi - ;; - esac - done], - [# Capture the value of obsolete ALL_LINGUAS because we need it to compute - # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it - # from automake. - eval 'ALL_LINGUAS''="$ALL_LINGUAS"' - # Capture the value of LINGUAS because we need it to compute CATALOGS. - LINGUAS="${LINGUAS-%UNSET%}" - ]) -]) - - -dnl Checks for all prerequisites of the intl subdirectory, -dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, -dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. -AC_DEFUN([AM_INTL_SUBDIR], -[ - AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AM_MKINSTALLDIRS])dnl - AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_CANONICAL_HOST])dnl - AC_REQUIRE([AC_PROG_RANLIB])dnl - AC_REQUIRE([AC_ISC_POSIX])dnl - AC_REQUIRE([AC_HEADER_STDC])dnl - AC_REQUIRE([AC_C_CONST])dnl - AC_REQUIRE([AC_C_INLINE])dnl - AC_REQUIRE([AC_TYPE_OFF_T])dnl - AC_REQUIRE([AC_TYPE_SIZE_T])dnl - AC_REQUIRE([AC_FUNC_ALLOCA])dnl - AC_REQUIRE([AC_FUNC_MMAP])dnl - AC_REQUIRE([jm_GLIBC21])dnl - AC_REQUIRE([gt_INTDIV0])dnl - AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl - AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl - AC_REQUIRE([gt_INTTYPES_PRI])dnl - - AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ -stdlib.h string.h unistd.h sys/param.h]) - AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \ -geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \ -strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next]) - - AM_ICONV - AM_LANGINFO_CODESET - if test $ac_cv_header_locale_h = yes; then - AM_LC_MESSAGES - fi - - dnl intl/plural.c is generated from intl/plural.y. It requires bison, - dnl because plural.y uses bison specific features. It requires at least - dnl bison-1.26 because earlier versions generate a plural.c that doesn't - dnl compile. - dnl bison is only needed for the maintainer (who touches plural.y). But in - dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put - dnl the rule in general Makefile. Now, some people carelessly touch the - dnl files or have a broken "make" program, hence the plural.c rule will - dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not - dnl present or too old. - AC_CHECK_PROGS([INTLBISON], [bison]) - if test -z "$INTLBISON"; then - ac_verc_fail=yes - else - dnl Found it, now check the version. - AC_MSG_CHECKING([version of bison]) -changequote(<<,>>)dnl - ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) -changequote([,])dnl - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - esac - AC_MSG_RESULT([$ac_prog_version]) - fi - if test $ac_verc_fail = yes; then - INTLBISON=: - fi -]) - - -AC_DEFUN([AM_MKINSTALLDIRS], -[ - dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly - dnl find the mkinstalldirs script in another subdir but $(top_srcdir). - dnl Try to locate is. - MKINSTALLDIRS= - if test -n "$ac_aux_dir"; then - MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" - fi - if test -z "$MKINSTALLDIRS"; then - MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" - fi - AC_SUBST(MKINSTALLDIRS) -]) - - -dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) -AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) diff --git a/common/m4/glibc21.m4 b/common/m4/glibc21.m4 deleted file mode 100644 index 9c9f3db3..00000000 --- a/common/m4/glibc21.m4 +++ /dev/null @@ -1,32 +0,0 @@ -# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40) -dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -# Test for the GNU C Library, version 2.1 or newer. -# From Bruno Haible. - -AC_DEFUN([jm_GLIBC21], - [ - AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, - ac_cv_gnu_library_2_1, - [AC_EGREP_CPP([Lucky GNU user], - [ -#include <features.h> -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) - Lucky GNU user - #endif -#endif - ], - ac_cv_gnu_library_2_1=yes, - ac_cv_gnu_library_2_1=no) - ] - ) - AC_SUBST(GLIBC21) - GLIBC21="$ac_cv_gnu_library_2_1" - ] -) diff --git a/common/m4/gst-arch.m4 b/common/m4/gst-arch.m4 deleted file mode 100644 index 6eadaf5c..00000000 --- a/common/m4/gst-arch.m4 +++ /dev/null @@ -1,123 +0,0 @@ -dnl AG_GST_ARCH -dnl sets up defines and automake conditionals for host architecture -dnl checks endianness -dnl defines HOST_CPU - -AC_DEFUN([AG_GST_ARCH], -[ - AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use host_ variables - - dnl Determine CPU - case "x${host_cpu}" in - xi?86 | xk? | xi?86_64) - HAVE_CPU_I386=yes - AC_DEFINE(HAVE_CPU_I386, 1, [Define if the host CPU is an x86]) - - dnl FIXME could use some better detection - dnl (ie CPUID) - case "x${host_cpu}" in - xi386 | xi486) ;; - *) - AC_DEFINE(HAVE_RDTSC, 1, [Define if RDTSC is available]) ;; - esac ;; - xpowerpc) - HAVE_CPU_PPC=yes - AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the host CPU is a PowerPC]) ;; - xpowerpc64) - HAVE_CPU_PPC64=yes - AC_DEFINE(HAVE_CPU_PPC64, 1, [Define if the host CPU is a 64 bit PowerPC]) ;; - xalpha*) - HAVE_CPU_ALPHA=yes - AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the host CPU is an Alpha]) ;; - xarm*) - HAVE_CPU_ARM=yes - AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the host CPU is an ARM]) ;; - xsparc*) - HAVE_CPU_SPARC=yes - AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the host CPU is a SPARC]) ;; - xmips*) - HAVE_CPU_MIPS=yes - AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the host CPU is a MIPS]) ;; - xhppa*) - HAVE_CPU_HPPA=yes - AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the host CPU is a HPPA]) ;; - xs390*) - HAVE_CPU_S390=yes - AC_DEFINE(HAVE_CPU_S390, 1, [Define if the host CPU is a S390]) ;; - xia64*) - HAVE_CPU_IA64=yes - AC_DEFINE(HAVE_CPU_IA64, 1, [Define if the host CPU is a IA64]) ;; - xm68k*) - HAVE_CPU_M68K=yes - AC_DEFINE(HAVE_CPU_M68K, 1, [Define if the host CPU is a M68K]) ;; - xx86_64) - HAVE_CPU_X86_64=yes - AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the host CPU is a x86_64]) ;; - xcris) - HAVE_CPU_CRIS=yes - AC_DEFINE(HAVE_CPU_CRIS, 1, [Define if the host CPU is a CRIS]) ;; - xcrisv32) - HAVE_CPU_CRISV32=yes - AC_DEFINE(HAVE_CPU_CRISV32, 1, [Define if the host CPU is a CRISv32]) ;; - esac - - dnl Determine endianness - AC_C_BIGENDIAN - - AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes") - AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes") - AM_CONDITIONAL(HAVE_CPU_PPC64, test "x$HAVE_CPU_PPC64" = "xyes") - AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes") - AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes") - AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes") - AM_CONDITIONAL(HAVE_CPU_HPPA, test "x$HAVE_CPU_HPPA" = "xyes") - AM_CONDITIONAL(HAVE_CPU_MIPS, test "x$HAVE_CPU_MIPS" = "xyes") - AM_CONDITIONAL(HAVE_CPU_S390, test "x$HAVE_CPU_S390" = "xyes") - AM_CONDITIONAL(HAVE_CPU_IA64, test "x$HAVE_CPU_IA64" = "xyes") - AM_CONDITIONAL(HAVE_CPU_M68K, test "x$HAVE_CPU_M68K" = "xyes") - AM_CONDITIONAL(HAVE_CPU_X86_64, test "x$HAVE_CPU_X86_64" = "xyes") - AM_CONDITIONAL(HAVE_CPU_CRIS, test "x$HAVE_CPU_CRIS" = "xyes") - AM_CONDITIONAL(HAVE_CPU_CRISV32, test "x$HAVE_CPU_CRISV32" = "xyes") - - AC_DEFINE_UNQUOTED(HOST_CPU, "$host_cpu", [the host CPU]) -]) - -dnl check if unaligned memory access works correctly -AC_DEFUN([AG_GST_UNALIGNED_ACCESS], [ - AC_MSG_CHECKING([if unaligned memory access works correctly]) - if test x"$as_cv_unaligned_access" = x ; then - case $host in - alpha*|arm*|hp*|mips*|sh*|sparc*|ia64*) - _AS_ECHO_N([(blacklisted) ]) - as_cv_unaligned_access=no - ;; - i?86*|x86_64|amd64|powerpc*|m68k*|cris*) - _AS_ECHO_N([(whitelisted) ]) - as_cv_unaligned_access=yes - ;; - esac - else - _AS_ECHO_N([(cached) ]) - fi - if test x"$as_cv_unaligned_access" = x ; then - AC_TRY_RUN([ -int main(int argc, char **argv) -{ - char array[] = "ABCDEFGH"; - unsigned int iarray[2]; - memcpy(iarray,array,8); -#define GET(x) (*(unsigned int *)((char *)iarray + (x))) - if(GET(0) != 0x41424344 && GET(0) != 0x44434241) return 1; - if(GET(1) != 0x42434445 && GET(1) != 0x45444342) return 1; - if(GET(2) != 0x43444546 && GET(2) != 0x46454443) return 1; - if(GET(3) != 0x44454647 && GET(3) != 0x47464544) return 1; - return 0; -} - ], as_cv_unaligned_access="yes", as_cv_unaligned_access="no") - fi - AC_MSG_RESULT($as_cv_unaligned_access) - if test "$as_cv_unaligned_access" = "yes"; then - AC_DEFINE_UNQUOTED(HAVE_UNALIGNED_ACCESS, 1, - [defined if unaligned memory access works correctly]) - fi -]) diff --git a/common/m4/gst-args.m4 b/common/m4/gst-args.m4 deleted file mode 100644 index 56af66a9..00000000 --- a/common/m4/gst-args.m4 +++ /dev/null @@ -1,327 +0,0 @@ -dnl configure-time options shared among gstreamer modules - -dnl AG_GST_ARG_DEBUG -dnl AG_GST_ARG_PROFILING -dnl AG_GST_ARG_VALGRIND -dnl AG_GST_ARG_GCOV - -dnl AG_GST_ARG_EXAMPLES - -dnl AG_GST_ARG_WITH_PKG_CONFIG_PATH -dnl AG_GST_ARG_WITH_PACKAGE_NAME -dnl AG_GST_ARG_WITH_PACKAGE_ORIGIN - -dnl AG_GST_ARG_WITH_PLUGINS -dnl AG_GST_CHECK_PLUGIN -dnl AG_GST_DISABLE_PLUGIN - -dnl AG_GST_ARG_ENABLE_EXTERNAL -dnl AG_GST_ARG_ENABLE_EXPERIMENTAL -dnl AG_GST_ARG_ENABLE_BROKEN - -AC_DEFUN([AG_GST_ARG_DEBUG], -[ - dnl debugging stuff - AC_ARG_ENABLE(debug, - AC_HELP_STRING([--disable-debug],[disable addition of -g debugging info]), - [ - case "${enableval}" in - yes) USE_DEBUG=yes ;; - no) USE_DEBUG=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;; - esac - ], - [USE_DEBUG=yes]) dnl Default value -]) - -AC_DEFUN([AG_GST_ARG_PROFILING], -[ - AC_ARG_ENABLE(profiling, - AC_HELP_STRING([--enable-profiling], - [adds -pg to compiler commandline, for profiling]), - [ - case "${enableval}" in - yes) USE_PROFILING=yes ;; - no) USE_PROFILING=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;; - esac - ], - [USE_PROFILING=no]) dnl Default value -]) - -AC_DEFUN([AG_GST_ARG_VALGRIND], -[ - dnl valgrind inclusion - AC_ARG_ENABLE(valgrind, - AC_HELP_STRING([--disable-valgrind],[disable run-time valgrind detection]), - [ - case "${enableval}" in - yes) USE_VALGRIND="$USE_DEBUG" ;; - no) USE_VALGRIND=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-valgrind) ;; - esac - ], - [USE_VALGRIND="$USE_DEBUG"]) dnl Default value - VALGRIND_REQ="3.0" - if test "x$USE_VALGRIND" = xyes; then - PKG_CHECK_MODULES(VALGRIND, valgrind >= $VALGRIND_REQ, - USE_VALGRIND="yes", - [ - USE_VALGRIND="no" - AC_MSG_RESULT([no]) - ]) - fi - if test "x$USE_VALGRIND" = xyes; then - AC_DEFINE(HAVE_VALGRIND, 1, [Define if valgrind should be used]) - AC_MSG_NOTICE(Using extra code paths for valgrind) - fi -]) - -AC_DEFUN([AG_GST_ARG_GCOV], -[ - AC_ARG_ENABLE(gcov, - AC_HELP_STRING([--enable-gcov], - [compile with coverage profiling instrumentation (gcc only)]), - enable_gcov=$enableval, - enable_gcov=no) - if test x$enable_gcov = xyes ; then - if test "x$GCC" != "xyes" - then - AC_MSG_ERROR([gcov only works if gcc is used]) - fi - - AS_COMPILER_FLAG(["-fprofile-arcs"], - [GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs"], - true) - AS_COMPILER_FLAG(["-ftest-coverage"], - [GCOV_CFLAGS="$GCOV_CFLAGS -ftest-coverage"], - true) - dnl remove any -O flags - FIXME: is this needed ? - GCOV_CFLAGS=`echo "$GCOV_CFLAGS" | sed -e 's/-O[[0-9]]*//g'` - dnl libtool 1.5.22 and lower strip -fprofile-arcs from the flags - dnl passed to the linker, which is a bug; -fprofile-arcs implicitly - dnl links in -lgcov, so we do it explicitly here for the same effect - GCOV_LIBS=-lgcov - AC_SUBST(GCOV_CFLAGS) - AC_SUBST(GCOV_LIBS) - GCOV=`echo $CC | sed s/gcc/gcov/g` - AC_SUBST(GCOV) - - GST_GCOV_ENABLED=yes - AC_DEFINE_UNQUOTED(GST_GCOV_ENABLED, 1, - [Defined if gcov is enabled to force a rebuild due to config.h changing]) - dnl if gcov is used, we do not want default -O2 CFLAGS - if test "x$GST_GCOV_ENABLED" = "xyes" - then - CFLAGS="-O0" - AC_SUBST(CFLAGS) - CXXFLAGS="-O0" - AC_SUBST(CXXFLAGS) - FFLAGS="-O0" - AC_SUBST(FFLAGS) - CCASFLAGS="-O0" - AC_SUBST(CCASFLAGS) - AC_MSG_NOTICE([gcov enabled, setting CFLAGS and friends to $CFLAGS]) - fi - fi - AM_CONDITIONAL(GST_GCOV_ENABLED, test x$enable_gcov = xyes) -]) - -AC_DEFUN([AG_GST_ARG_EXAMPLES], -[ - AC_ARG_ENABLE(examples, - AC_HELP_STRING([--disable-examples], [disable building examples]), - [ - case "${enableval}" in - yes) BUILD_EXAMPLES=yes ;; - no) BUILD_EXAMPLES=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;; - esac - ], - [BUILD_EXAMPLES=yes]) dnl Default value - AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes") -]) - -AC_DEFUN([AG_GST_ARG_WITH_PKG_CONFIG_PATH], -[ - dnl possibly modify pkg-config path - AC_ARG_WITH(pkg-config-path, - AC_HELP_STRING([--with-pkg-config-path], - [colon-separated list of pkg-config(1) dirs]), - [ - export PKG_CONFIG_PATH=${withval} - AC_MSG_NOTICE(Set PKG_CONFIG_PATH to $PKG_CONFIG_PATH) - ]) -]) - - -dnl This macro requires that GST_CVS is set to yes or no (release) -AC_DEFUN([AG_GST_ARG_WITH_PACKAGE_NAME], -[ - dnl package name in plugins - AC_ARG_WITH(package-name, - AC_HELP_STRING([--with-package-name], - [specify package name to use in plugins]), - [ - case "${withval}" in - yes) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;; - no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;; - *) GST_PACKAGE_NAME="${withval}" ;; - esac - ], - [ - P=$1 - if test "x$P" = "x" - then - P=$PACKAGE_NAME - fi - - dnl default value - if test "x$GST_CVS" = "xyes" - then - dnl nano >= 1 - GST_PACKAGE_NAME="$P CVS/prerelease" - else - GST_PACKAGE_NAME="$P source release" - fi - ] - ) - AC_MSG_NOTICE(Using $GST_PACKAGE_NAME as package name) - AC_DEFINE_UNQUOTED(GST_PACKAGE_NAME, "$GST_PACKAGE_NAME", - [package name in plugins]) - AC_SUBST(GST_PACKAGE_NAME) -]) - -AC_DEFUN([AG_GST_ARG_WITH_PACKAGE_ORIGIN], -[ - dnl package origin URL - AC_ARG_WITH(package-origin, - AC_HELP_STRING([--with-package-origin], - [specify package origin URL to use in plugins]), - [ - case "${withval}" in - yes) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;; - no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;; - *) GST_PACKAGE_ORIGIN="${withval}" ;; - esac - ], - [GST_PACKAGE_ORIGIN="[Unknown package origin]"] dnl Default value - ) - AC_MSG_NOTICE(Using $GST_PACKAGE_ORIGIN as package origin) - AC_DEFINE_UNQUOTED(GST_PACKAGE_ORIGIN, "$GST_PACKAGE_ORIGIN", - [package origin]) - AC_SUBST(GST_PACKAGE_ORIGIN) -]) - -dnl sets WITH_PLUGINS to the list of plug-ins given as an argument -dnl also clears GST_PLUGINS_ALL and GST_PLUGINS_SELECTED -AC_DEFUN([AG_GST_ARG_WITH_PLUGINS], -[ - AC_ARG_WITH(plugins, - AC_HELP_STRING([--with-plugins], - [comma-separated list of dependencyless plug-ins to compile]), - [WITH_PLUGINS=$withval], - [WITH_PLUGINS=]) - - GST_PLUGINS_ALL="" - GST_PLUGINS_SELECTED="" - - AC_SUBST(GST_PLUGINS_ALL) - AC_SUBST(GST_PLUGINS_SELECTED) -]) - -dnl AG_GST_CHECK_PLUGIN(PLUGIN-NAME) -dnl -dnl This macro adds the plug-in <PLUGIN-NAME> to GST_PLUGINS_ALL. Then it -dnl checks if WITH_PLUGINS is empty or the plugin is present in WITH_PLUGINS, -dnl and if so adds it to GST_PLUGINS_SELECTED. Then it checks if the plugin -dnl is present in WITHOUT_PLUGINS (ie. was disabled specifically) and if so -dnl removes it from GST_PLUGINS_SELECTED. -dnl -dnl The macro will call AM_CONDITIONAL(USE_PLUGIN_<PLUGIN-NAME>, ...) to allow -dnl control of what is built in Makefile.ams. -AC_DEFUN([AG_GST_CHECK_PLUGIN], -[ - GST_PLUGINS_ALL="$GST_PLUGINS_ALL [$1]" - - define([pname_def],translit([$1], -a-z, _a-z)) - - AC_ARG_ENABLE([$1], - AC_HELP_STRING([--disable-[$1]], [disable dependency-less $1 plugin]), - [ - case "${enableval}" in - yes) [gst_use_]pname_def=yes ;; - no) [gst_use_]pname_def=no ;; - *) AC_MSG_ERROR([bad value ${enableval} for --enable-$1]) ;; - esac - ], - [[gst_use_]pname_def=yes]) dnl Default value - - if test x$[gst_use_]pname_def = xno; then - AC_MSG_NOTICE(disabling dependency-less plugin $1) - WITHOUT_PLUGINS="$WITHOUT_PLUGINS [$1]" - fi - undefine([pname_def]) - - if [[ -z "$WITH_PLUGINS" ]] || echo " [$WITH_PLUGINS] " | tr , ' ' | grep -i " [$1] " > /dev/null; then - GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED [$1]" - fi - if echo " [$WITHOUT_PLUGINS] " | tr , ' ' | grep -i " [$1] " > /dev/null; then - GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ [$1] / /'` - fi - AM_CONDITIONAL([USE_PLUGIN_]translit([$1], a-z, A-Z), echo " $GST_PLUGINS_SELECTED " | grep -i " [$1] " > /dev/null) -]) - -dnl AG_GST_DISABLE_PLUGIN(PLUGIN-NAME) -dnl -dnl This macro disables the plug-in <PLUGIN-NAME> by removing it from -dnl GST_PLUGINS_SELECTED. -AC_DEFUN([AG_GST_DISABLE_PLUGIN], -[ - GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ [$1] / /'` - AM_CONDITIONAL([USE_PLUGIN_]translit([$1], a-z, A-Z), false) -]) - -AC_DEFUN([AG_GST_ARG_ENABLE_EXTERNAL], -[ - AG_GST_CHECK_FEATURE(EXTERNAL, [building of plug-ins with external deps],, - HAVE_EXTERNAL=yes, enabled, - [ - AC_MSG_NOTICE(building external plug-ins) - BUILD_EXTERNAL="yes" - ],[ - AC_MSG_WARN(all plug-ins with external dependencies will not be built) - BUILD_EXTERNAL="no" - ]) - # make BUILD_EXTERNAL available to Makefile.am - AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes") -]) - -dnl experimental plug-ins; stuff that hasn't had the dust settle yet -dnl read 'builds, but might not work' -AC_DEFUN([AG_GST_ARG_ENABLE_EXPERIMENTAL], -[ - AG_GST_CHECK_FEATURE(EXPERIMENTAL, [building of experimental plug-ins],, - HAVE_EXPERIMENTAL=yes, disabled, - [ - AC_MSG_WARN(building experimental plug-ins) - BUILD_EXPERIMENTAL="yes" - ],[ - AC_MSG_NOTICE(not building experimental plug-ins) - BUILD_EXPERIMENTAL="no" - ]) - # make BUILD_EXPERIMENTAL available to Makefile.am - AM_CONDITIONAL(BUILD_EXPERIMENTAL, test "x$BUILD_EXPERIMENTAL" = "xyes") -]) - -dnl broken plug-ins; stuff that doesn't seem to build at the moment -AC_DEFUN([AG_GST_ARG_ENABLE_BROKEN], -[ - AG_GST_CHECK_FEATURE(BROKEN, [building of broken plug-ins],, - HAVE_BROKEN=yes, disabled, - [ - AC_MSG_WARN([building broken plug-ins -- no bug reports on these, only patches ...]) - ],[ - AC_MSG_NOTICE([not building broken plug-ins]) - ]) -]) diff --git a/common/m4/gst-check.m4 b/common/m4/gst-check.m4 deleted file mode 100644 index 3f6b8ffd..00000000 --- a/common/m4/gst-check.m4 +++ /dev/null @@ -1,138 +0,0 @@ -dnl pkg-config-based checks for GStreamer modules and dependency modules - -dnl generic: -dnl AG_GST_PKG_CHECK_MODULES([PREFIX], [WHICH], [REQUIRED]) -dnl sets HAVE_[$PREFIX], [$PREFIX]_* -dnl AG_GST_CHECK_MODULES([PREFIX], [MODULE], [MINVER], [NAME], [REQUIRED]) -dnl sets HAVE_[$PREFIX], [$PREFIX]_* - -dnl specific: -dnl AG_GST_CHECK_GST([MAJMIN], [MINVER], [REQUIRED]) -dnl also sets/ACSUBSTs GST_TOOLS_DIR and GST_PLUGINS_DIR -dnl AG_GST_CHECK_GST_BASE([MAJMIN], [MINVER], [REQUIRED]) -dnl AG_GST_CHECK_GST_GDP([MAJMIN], [MINVER], [REQUIRED]) -dnl AG_GST_CHECK_GST_CONTROLLER([MAJMIN], [MINVER], [REQUIRED]) -dnl AG_GST_CHECK_GST_CHECK([MAJMIN], [MINVER], [REQUIRED]) -dnl AG_GST_CHECK_GST_PLUGINS_BASE([MAJMIN], [MINVER], [REQUIRED]) -dnl also sets/ACSUBSTs GSTPB_PLUGINS_DIR - -AC_DEFUN([AG_GST_PKG_CHECK_MODULES], -[ - which="[$2]" - dnl not required by default, since we use this mostly for plugin deps - required=ifelse([$3], , "no", [$3]) - - PKG_CHECK_MODULES([$1], $which, - [ - HAVE_[$1]="yes" - ], - [ - HAVE_[$1]="no" - AC_MSG_RESULT(no) - if test "x$required" = "xyes"; then - AC_MSG_ERROR($[$1]_PKG_ERRORS) - else - AC_MSG_NOTICE($[$1]_PKG_ERRORS) - fi - ]) - - dnl AC_SUBST of CFLAGS and LIBS was not done before automake 1.7 - dnl It gets done automatically in automake >= 1.7, which we now require -])) - -AC_DEFUN([AG_GST_CHECK_MODULES], -[ - module=[$2] - minver=[$3] - name="[$4]" - required=ifelse([$5], , "yes", [$5]) dnl required by default - - PKG_CHECK_MODULES([$1], $module >= $minver, - [ - HAVE_[$1]="yes" - ], - [ - HAVE_[$1]="no" - AC_MSG_RESULT(no) - AC_MSG_NOTICE($[$1]_PKG_ERRORS) - if test "x$required" = "xyes"; then - AC_MSG_ERROR([no $module >= $minver ($name) found]) - else - AC_MSG_NOTICE([no $module >= $minver ($name) found]) - fi - ]) - - dnl AC_SUBST of CFLAGS and LIBS was not done before automake 1.7 - dnl It gets done automatically in automake >= 1.7, which we now require -])) - -AC_DEFUN([AG_GST_CHECK_GST], -[ - AG_GST_CHECK_MODULES(GST, gstreamer-[$1], [$2], [GStreamer], [$3]) - dnl allow setting before calling this macro to override - if test -z $GST_TOOLS_DIR; then - GST_TOOLS_DIR=`$PKG_CONFIG --variable=toolsdir gstreamer-[$1]` - if test -z $GST_TOOLS_DIR; then - AC_MSG_ERROR( - [no tools dir set in GStreamer pkg-config file, core upgrade needed.]) - fi - fi - AC_MSG_NOTICE([using GStreamer tools in $GST_TOOLS_DIR]) - AC_SUBST(GST_TOOLS_DIR) - - dnl check for where core plug-ins got installed - dnl this is used for unit tests - dnl allow setting before calling this macro to override - if test -z $GST_PLUGINS_DIR; then - GST_PLUGINS_DIR=`$PKG_CONFIG --variable=pluginsdir gstreamer-[$1]` - if test -z $GST_PLUGINS_DIR; then - AC_MSG_ERROR( - [no pluginsdir set in GStreamer pkg-config file, core upgrade needed.]) - fi - fi - AC_MSG_NOTICE([using GStreamer plug-ins in $GST_PLUGINS_DIR]) - AC_SUBST(GST_PLUGINS_DIR) -]) - -AC_DEFUN([AG_GST_CHECK_GST_BASE], -[ - AG_GST_CHECK_MODULES(GST_BASE, gstreamer-base-[$1], [$2], - [GStreamer Base Libraries], [$3]) -]) - -AC_DEFUN([AG_GST_CHECK_GST_GDP], -[ - AG_GST_CHECK_MODULES(GST_GDP, gstreamer-dataprotocol-[$1], [$2], - [GStreamer Data Protocol Library], [$3]) -]) - -AC_DEFUN([AG_GST_CHECK_GST_CONTROLLER], -[ - AG_GST_CHECK_MODULES(GST_CONTROLLER, gstreamer-controller-[$1], [$2], - [GStreamer Controller Library], [$3]) -]) - -AC_DEFUN([AG_GST_CHECK_GST_CHECK], -[ - AG_GST_CHECK_MODULES(GST_CHECK, gstreamer-check-[$1], [$2], - [GStreamer Check unittest Library], [$3]) -]) - -AC_DEFUN([AG_GST_CHECK_GST_PLUGINS_BASE], -[ - AG_GST_CHECK_MODULES(GST_PLUGINS_BASE, gstreamer-plugins-base-[$1], [$2], - [GStreamer Base Plug-ins Library], [$3]) - - dnl check for where base plug-ins got installed - dnl this is used for unit tests - dnl allow setting before calling this macro to override - if test -z $GSTPB_PLUGINS_DIR; then - GSTPB_PLUGINS_DIR=`$PKG_CONFIG --variable=pluginsdir gstreamer-plugins-base-[$1]` - if test -z $GSTPB_PLUGINS_DIR; then - AC_MSG_ERROR( - [no pluginsdir set in GStreamer Base Plug-ins pkg-config file]) - fi - fi - AC_MSG_NOTICE([using GStreamer Base Plug-ins in $GSTPB_PLUGINS_DIR]) - AC_SUBST(GSTPB_PLUGINS_DIR) -]) diff --git a/common/m4/gst-debuginfo.m4 b/common/m4/gst-debuginfo.m4 deleted file mode 100644 index b48854d9..00000000 --- a/common/m4/gst-debuginfo.m4 +++ /dev/null @@ -1,46 +0,0 @@ -AC_DEFUN([AG_GST_DEBUGINFO], [ -AC_ARG_ENABLE(debug, -AC_HELP_STRING([--disable-debug],[disable addition of -g debugging info]), -[case "${enableval}" in - yes) USE_DEBUG=yes ;; - no) USE_DEBUG=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;; -esac], -[USE_DEBUG=yes]) dnl Default value - -AC_ARG_ENABLE(DEBUG, -AC_HELP_STRING([--disable-DEBUG],[disables compilation of debugging messages]), -[case "${enableval}" in - yes) ENABLE_DEBUG=yes ;; - no) ENABLE_DEBUG=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;; -esac], -[ENABLE_DEBUG=yes]) dnl Default value -if test x$ENABLE_DEBUG = xyes; then - AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in]) -fi - -AC_ARG_ENABLE(INFO, -AC_HELP_STRING([--disable-INFO],[disables compilation of informational messages]), -[case "${enableval}" in - yes) ENABLE_INFO=yes ;; - no) ENABLE_INFO=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;; -esac], -[ENABLE_INFO=yes]) dnl Default value -if test x$ENABLE_INFO = xyes; then - AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in]) -fi - -AC_ARG_ENABLE(debug-color, -AC_HELP_STRING([--disable-debug-color],[disables color output of DEBUG and INFO output]), -[case "${enableval}" in - yes) ENABLE_DEBUG_COLOR=yes ;; - no) ENABLE_DEBUG_COLOR=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;; -esac], -[ENABLE_DEBUG_COLOR=yes]) dnl Default value -if test "x$ENABLE_DEBUG_COLOR" = xyes; then - AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized]) -fi -]) diff --git a/common/m4/gst-default.m4 b/common/m4/gst-default.m4 deleted file mode 100644 index c5d7cb42..00000000 --- a/common/m4/gst-default.m4 +++ /dev/null @@ -1,123 +0,0 @@ -dnl default elements used for tests and such - -dnl AG_GST_DEFAULT_ELEMENTS - -AC_DEFUN([AG_GST_DEFAULT_ELEMENTS], -[ - dnl decide on default elements - dnl FIXME: describe where exactly this gets used - dnl FIXME: decide if it's a problem that this could point to sinks from - dnl depending plugin modules - DEFAULT_AUDIOSINK="autoaudiosink" - DEFAULT_VIDEOSINK="autovideosink" - DEFAULT_AUDIOSRC="alsasrc" - DEFAULT_VIDEOSRC="v4lsrc" - DEFAULT_VISUALIZER="goom" - case "$host" in - *-sun-* | *pc-solaris* ) - DEFAULT_AUDIOSINK="sunaudiosink" - DEFAULT_VIDEOSINK="ximagesink" - DEFAULT_AUDIOSRC="sunaudiosrc" - ;; - *-darwin* ) - DEFAULT_AUDIOSINK="osxaudiosink" - DEFAULT_AUDIOSRC="osxaudiosrc" - DEFAULT_VIDEOSINK="osxvideosink" - ;; - esac - - dnl Default audio sink - AC_ARG_WITH(default-audiosink, - AC_HELP_STRING([--with-default-audiosink], [specify default audio sink]), - [ - case "${withval}" in - yes) AC_MSG_ERROR(bad value ${withval} for --with-default-audiosink) ;; - no) AC_MSG_ERROR(bad value ${withval} for --with-default-audiosink) ;; - *) DEFAULT_AUDIOSINK="${withval}" ;; - esac - ], - [ - DEFAULT_AUDIOSINK="$DEFAULT_AUDIOSINK" - ] dnl Default value as determined above - ) - AC_MSG_NOTICE(Using $DEFAULT_AUDIOSINK as default audio sink) - AC_SUBST(DEFAULT_AUDIOSINK) - AC_DEFINE_UNQUOTED(DEFAULT_AUDIOSINK, "$DEFAULT_AUDIOSINK", - [Default audio sink]) - - dnl Default audio source - AC_ARG_WITH(default-audiosrc, - AC_HELP_STRING([--with-default-audiosrc], [specify default audio source]), - [ - case "${withval}" in - yes) AC_MSG_ERROR(bad value ${withval} for --with-default-audiosrc) ;; - no) AC_MSG_ERROR(bad value ${withval} for --with-default-audiosrc) ;; - *) DEFAULT_AUDIOSRC="${withval}" ;; - esac - ], - [ - DEFAULT_AUDIOSRC="$DEFAULT_AUDIOSRC" - ] dnl Default value as determined above - ) - AC_MSG_NOTICE(Using $DEFAULT_AUDIOSRC as default audio source) - AC_SUBST(DEFAULT_AUDIOSRC) - AC_DEFINE_UNQUOTED(DEFAULT_AUDIOSRC, "$DEFAULT_AUDIOSRC", - [Default audio source]) - - dnl Default video sink - AC_ARG_WITH(default-videosink, - AC_HELP_STRING([--with-default-videosink], [specify default video sink]), - [ - case "${withval}" in - yes) AC_MSG_ERROR(bad value ${withval} for --with-default-videosink) ;; - no) AC_MSG_ERROR(bad value ${withval} for --with-default-videosink) ;; - *) DEFAULT_VIDEOSINK="${withval}" ;; - esac - ], - [ - DEFAULT_VIDEOSINK="$DEFAULT_VIDEOSINK" - ] dnl Default value as determined above - ) - AC_MSG_NOTICE(Using $DEFAULT_VIDEOSINK as default video sink) - AC_SUBST(DEFAULT_VIDEOSINK) - AC_DEFINE_UNQUOTED(DEFAULT_VIDEOSINK, "$DEFAULT_VIDEOSINK", - [Default video sink]) - - dnl Default video source - AC_ARG_WITH(default-videosrc, - AC_HELP_STRING([--with-default-videosrc], [specify default video source]), - [ - case "${withval}" in - yes) AC_MSG_ERROR(bad value ${withval} for --with-default-videosrc) ;; - no) AC_MSG_ERROR(bad value ${withval} for --with-default-videosrc) ;; - *) DEFAULT_VIDEOSRC="${withval}" ;; - esac - ], - [ - DEFAULT_VIDEOSRC="$DEFAULT_VIDEOSRC" - ] dnl Default value as determined above - ) - AC_MSG_NOTICE(Using $DEFAULT_VIDEOSRC as default video source) - AC_SUBST(DEFAULT_VIDEOSRC) - AC_DEFINE_UNQUOTED(DEFAULT_VIDEOSRC, "$DEFAULT_VIDEOSRC", - [Default video source]) - - dnl Default visualizer - AC_ARG_WITH(default-visualizer, - AC_HELP_STRING([--with-default-visualizer], [specify default visualizer]), - [ - case "${withval}" in - yes) AC_MSG_ERROR(bad value ${withval} for --with-default-visualizer) ;; - no) AC_MSG_ERROR(bad value ${withval} for --with-default-visualizer) ;; - *) DEFAULT_VISUALIZER="${withval}" ;; - esac - ], - [ - DEFAULT_AUDIOSINK="$DEFAULT_VISUALIZER" - ] dnl Default value as determined above - ) - AC_MSG_NOTICE(Using $DEFAULT_VISUALIZER as default visualizer) - AC_SUBST(DEFAULT_VISUALIZER) - AC_DEFINE_UNQUOTED(DEFAULT_VISUALIZER, "$DEFAULT_VISUALIZER", - [Default visualizer]) -]) diff --git a/common/m4/gst-doc.m4 b/common/m4/gst-doc.m4 deleted file mode 100644 index 7000c17a..00000000 --- a/common/m4/gst-doc.m4 +++ /dev/null @@ -1,148 +0,0 @@ -AC_DEFUN([AG_GST_DOCBOOK_CHECK], -[ - dnl choose a location to install docbook docs in - if test "x$PACKAGE_TARNAME" = "x" - then - AC_MSG_ERROR([Internal error - PACKAGE_TARNAME not set]) - fi - docdir="\$(datadir)/doc/$PACKAGE_TARNAME-$GST_MAJORMINOR" - - dnl enable/disable docbook documentation building - AC_ARG_ENABLE(docbook, - AC_HELP_STRING([--enable-docbook], - [use docbook to build documentation [default=no]]),, - enable_docbook=no) - - have_docbook=no - - if test x$enable_docbook = xyes; then - dnl check if we actually have everything we need - - dnl check for docbook tools - AC_CHECK_PROG(HAVE_DOCBOOK2PS, docbook2ps, yes, no) - AC_CHECK_PROG(HAVE_DOCBOOK2HTML, docbook2html, yes, no) - AC_CHECK_PROG(HAVE_JADETEX, jadetex, yes, no) - AC_CHECK_PROG(HAVE_PS2PDF, ps2pdf, yes, no) - - # -V option appeared in 0.6.10 - docbook2html_min_version=0.6.10 - if test "x$HAVE_DOCBOOK2HTML" != "xno"; then - docbook2html_version=`docbook2html --version` - AC_MSG_CHECKING([docbook2html version ($docbook2html_version) >= $docbook2html_min_version]) - if perl -w <<EOF - (\$min_version_major, \$min_version_minor, \$min_version_micro ) = "$docbook2html_min_version" =~ /(\d+)\.(\d+)\.(\d+)/; - (\$docbook2html_version_major, \$docbook2html_version_minor, \$docbook2html_version_micro ) = "$docbook2html_version" =~ /(\d+)\.(\d+)\.(\d+)/; - exit (((\$docbook2html_version_major > \$min_version_major) || - ((\$docbook2html_version_major == \$min_version_major) && - (\$docbook2html_version_minor >= \$min_version_minor)) || - ((\$docbook2html_version_major == \$min_version_major) && - (\$docbook2html_version_minor >= \$min_version_minor) && - (\$docbook2html_version_micro >= \$min_version_micro))) - ? 0 : 1); -EOF - then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - HAVE_DOCBOOK2HTML=no - fi - fi - - dnl check if we can process docbook stuff - AS_DOCBOOK(have_docbook=yes, have_docbook=no) - - dnl check for extra tools - AC_CHECK_PROG(HAVE_DVIPS, dvips, yes, no) - AC_CHECK_PROG(HAVE_XMLLINT, xmllint, yes, no) - - dnl check for image conversion tools - AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, yes, no) - if test "x$HAVE_FIG2DEV" = "xno" ; then - AC_MSG_WARN([Did not find fig2dev (from xfig), images will not be generated.]) - fi - - dnl The following is a hack: if fig2dev doesn't display an error message - dnl for the desired type, we assume it supports it. - HAVE_FIG2DEV_EPS=no - if test "x$HAVE_FIG2DEV" = "xyes" ; then - fig2dev_quiet=`fig2dev -L eps </dev/null 2>&1 >/dev/null` - if test "x$fig2dev_quiet" = "x" ; then - HAVE_FIG2DEV_EPS=yes - fi - fi - HAVE_FIG2DEV_PNG=no - if test "x$HAVE_FIG2DEV" = "xyes" ; then - fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null` - if test "x$fig2dev_quiet" = "x" ; then - HAVE_FIG2DEV_PNG=yes - fi - fi - HAVE_FIG2DEV_PDF=no - if test "x$HAVE_FIG2DEV" = "xyes" ; then - fig2dev_quiet=`fig2dev -L pdf </dev/null 2>&1 >/dev/null` - if test "x$fig2dev_quiet" = "x" ; then - HAVE_FIG2DEV_PDF=yes - fi - fi - - AC_CHECK_PROG(HAVE_PNGTOPNM, pngtopnm, yes, no) - AC_CHECK_PROG(HAVE_PNMTOPS, pnmtops, yes, no) - AC_CHECK_PROG(HAVE_EPSTOPDF, epstopdf, yes, no) - - dnl check if we can generate HTML - if test "x$HAVE_DOCBOOK2HTML" = "xyes" && \ - test "x$enable_docbook" = "xyes" && \ - test "x$HAVE_XMLLINT" = "xyes" && \ - test "x$HAVE_FIG2DEV_PNG" = "xyes"; then - DOC_HTML=yes - AC_MSG_NOTICE(Will output HTML documentation) - else - DOC_HTML=no - AC_MSG_NOTICE(Will not output HTML documentation) - fi - - dnl check if we can generate PS - if test "x$HAVE_DOCBOOK2PS" = "xyes" && \ - test "x$enable_docbook" = "xyes" && \ - test "x$HAVE_XMLLINT" = "xyes" && \ - test "x$HAVE_JADETEX" = "xyes" && \ - test "x$HAVE_FIG2DEV_EPS" = "xyes" && \ - test "x$HAVE_DVIPS" = "xyes" && \ - test "x$HAVE_PNGTOPNM" = "xyes" && \ - test "x$HAVE_PNMTOPS" = "xyes"; then - DOC_PS=yes - AC_MSG_NOTICE(Will output PS documentation) - else - DOC_PS=no - AC_MSG_NOTICE(Will not output PS documentation) - fi - - dnl check if we can generate PDF - using only ps2pdf - if test "x$DOC_PS" = "xyes" && \ - test "x$enable_docbook" = "xyes" && \ - test "x$HAVE_XMLLINT" = "xyes" && \ - test "x$HAVE_PS2PDF" = "xyes"; then - DOC_PDF=yes - AC_MSG_NOTICE(Will output PDF documentation) - else - DOC_PDF=no - AC_MSG_NOTICE(Will not output PDF documentation) - fi - - dnl if we don't have everything, we should disable - if test "x$have_docbook" != "xyes"; then - enable_docbook=no - fi - fi - - dnl if we're going to install documentation, tell us where - if test "x$have_docbook" = "xyes"; then - AC_MSG_NOTICE(Installing documentation in $docdir) - AC_SUBST(docdir) - fi - - AM_CONDITIONAL(ENABLE_DOCBOOK, test x$enable_docbook = xyes) - AM_CONDITIONAL(DOC_HTML, test x$DOC_HTML = xyes) - AM_CONDITIONAL(DOC_PDF, test x$DOC_PDF = xyes) - AM_CONDITIONAL(DOC_PS, test x$DOC_PS = xyes) -]) diff --git a/common/m4/gst-error.m4 b/common/m4/gst-error.m4 deleted file mode 100644 index f97f9a6f..00000000 --- a/common/m4/gst-error.m4 +++ /dev/null @@ -1,145 +0,0 @@ -Dnl handle various error-related things - -dnl Thomas Vander Stichele <thomas@apestaart.org> -dnl Tim-Philipp MĂŒller <tim centricular net> - -dnl Last modification: 2008-02-18 - -dnl AG_GST_SET_ERROR_CFLAGS([ADD-WERROR]) -dnl AG_GST_SET_ERROR_CXXFLAGS([ADD-WERROR]) -dnl AG_GST_SET_LEVEL_DEFAULT([IS-CVS-VERSION]) - - -dnl Sets ERROR_CFLAGS to something the compiler will accept. -dnl AC_SUBST them so they are available in Makefile - -dnl -Wall is added if it is supported -dnl -Werror is added if ADD-WERROR is not "no" - -dnl These flags can be overridden at make time: -dnl make ERROR_CFLAGS= -AC_DEFUN([AG_GST_SET_ERROR_CFLAGS], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AS_COMPILER_FLAG]) - - - dnl if we support -Wall, set it unconditionally - AS_COMPILER_FLAG(-Wall, - ERROR_CFLAGS="-Wall", - ERROR_CFLAGS="") - - dnl if asked for, add -Werror if supported - if test "x$1" != "xno" - then - AS_COMPILER_FLAG(-Werror, ERROR_CFLAGS="$ERROR_CFLAGS -Werror") - - dnl if -Werror isn't suported, try -errwarn=%all (Sun Forte case) - if test "x$ERROR_CFLAGS" == "x" - then - AS_COMPILER_FLAG([-errwarn=%all], [ - ERROR_CFLAGS="-errwarn=%all" - dnl try -errwarn=%all,no%E_EMPTY_DECLARATION, - dnl no%E_STATEMENT_NOT_REACHED,no%E_ARGUEMENT_MISMATCH, - dnl no%E_MACRO_REDEFINED (Sun Forte case) - dnl For Forte we need disable "empty declaration" warning produced by un-needed semicolon - dnl "statement not reached" disabled because there is g_assert_not_reached () in some places - dnl "macro redefined" because of gst/gettext.h - dnl FIXME: is it really supposed to be 'ARGUEMENT' and not 'ARGUMENT'? - for f in 'no%E_EMPTY_DECLARATION' \ - 'no%E_STATEMENT_NOT_REACHED' \ - 'no%E_ARGUEMENT_MISMATCH' \ - 'no%E_MACRO_REDEFINED' - do - AS_COMPILER_FLAG([-errwarn=%all,$f], [ - ERROR_CFLAGS="$ERROR_CFLAGS,$f" - ]) - done - ]) - fi - fi - - AC_SUBST(ERROR_CFLAGS) - AC_MSG_NOTICE([set ERROR_CFLAGS to $ERROR_CFLAGS]) -]) - -dnl Sets ERROR_CXXFLAGS to something the compiler will accept. -dnl AC_SUBST them so they are available in Makefile - -dnl -Wall is added if it is supported -dnl -Werror is added if ADD-WERROR is not "no" - -dnl These flags can be overridden at make time: -dnl make ERROR_CXXFLAGS= -AC_DEFUN([AG_GST_SET_ERROR_CXXFLAGS], -[ - AC_REQUIRE([AC_PROG_CXX]) - AC_REQUIRE([AS_CXX_COMPILER_FLAG]) - - - dnl if we support -Wall, set it unconditionally - AS_CXX_COMPILER_FLAG(-Wall, [ - ERROR_CXXFLAGS="-Wall" - ], [ - ERROR_CXXFLAGS="" - ]) - - dnl if asked for, add -Werror if supported - if test "x$1" != "xno" - then - AS_CXX_COMPILER_FLAG(-Werror, werror_supported=yes, werror_supported=no) - - if test "x$werror_supported" = "xyes"; then - ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror" - - dnl add exceptions - for f in '-Wno-non-virtual-dtor' - do - AS_CXX_COMPILER_FLAG([$f], ERROR_CXXFLAGS="$ERROR_CXXFLAGS $f") - done - else - dnl if -Werror isn't suported, try -errwarn=%all - AS_CXX_COMPILER_FLAG([-errwarn=%all], errwarnall=yes, errwarnall=no) - if test "x$errwarnall" = "xyes"; then - ERROR_CXXFLAGS="-errwarn=%all" - dnl try -errwarn=%all,no%E_EMPTY_DECLARATION, - dnl no%E_STATEMENT_NOT_REACHED,no%E_ARGUEMENT_MISMATCH, - dnl no%E_MACRO_REDEFINED (Sun Forte case) - dnl For Forte we need disable "empty declaration" warning produced by un-needed semicolon - dnl "statement not reached" disabled because there is g_assert_not_reached () in some places - dnl "macro redefined" because of gst/gettext.h - dnl FIXME: is it really supposed to be 'ARGUEMENT' and not 'ARGUMENT'? - dnl FIXME: do any of these work with the c++ compiler? if not, why - dnl do we check at all? - for f in 'no%E_EMPTY_DECLARATION' \ - 'no%E_STATEMENT_NOT_REACHED' \ - 'no%E_ARGUEMENT_MISMATCH' \ - 'no%E_MACRO_REDEFINED' - do - AS_CXX_COMPILER_FLAG([-errwarn=%all,$f], [ - ERROR_CXXFLAGS="$ERROR_CXXFLAGS,$f" - ]) - done - fi - fi - fi - - AC_SUBST(ERROR_CXXFLAGS) - AC_MSG_NOTICE([set ERROR_CXXFLAGS to $ERROR_CXXFLAGS]) -]) - -dnl Sets the default error level for debugging messages -AC_DEFUN([AG_GST_SET_LEVEL_DEFAULT], -[ - dnl define correct errorlevel for debugging messages. We want to have - dnl GST_ERROR messages printed when running cvs builds - if test "x[$1]" = "xyes"; then - GST_LEVEL_DEFAULT=GST_LEVEL_ERROR - else - GST_LEVEL_DEFAULT=GST_LEVEL_NONE - fi - AC_DEFINE_UNQUOTED(GST_LEVEL_DEFAULT, $GST_LEVEL_DEFAULT, - [Default errorlevel to use]) - dnl AC_SUBST so we can use it for win32/common/config.h - AC_SUBST(GST_LEVEL_DEFAULT) -]) diff --git a/common/m4/gst-feature.m4 b/common/m4/gst-feature.m4 deleted file mode 100644 index 67770299..00000000 --- a/common/m4/gst-feature.m4 +++ /dev/null @@ -1,286 +0,0 @@ -dnl Perform a check for a feature for GStreamer -dnl Richard Boulton <richard-alsa@tartarus.org> -dnl Thomas Vander Stichele <thomas@apestaart.org> added useful stuff -dnl Last modification: 25/06/2001 -dnl -dnl AG_GST_CHECK_FEATURE(FEATURE-NAME, FEATURE-DESCRIPTION, -dnl DEPENDENT-PLUGINS, TEST-FOR-FEATURE, -dnl DISABLE-BY-DEFAULT, ACTION-IF-USE, ACTION-IF-NOTUSE) -dnl -dnl This macro adds a command line argument to allow the user to enable -dnl or disable a feature, and if the feature is enabled, performs a supplied -dnl test to check if the feature is available. -dnl -dnl The test should define HAVE_<FEATURE-NAME> to "yes" or "no" depending -dnl on whether the feature is available. -dnl -dnl The macro will set USE_<FEATURE-NAME> to "yes" or "no" depending on -dnl whether the feature is to be used. -dnl Thomas changed this, so that when USE_<FEATURE-NAME> was already set -dnl to no, then it stays that way. -dnl -dnl The macro will call AM_CONDITIONAL(USE_<FEATURE-NAME>, ...) to allow -dnl the feature to control what is built in Makefile.ams. If you want -dnl additional actions resulting from the test, you can add them with the -dnl ACTION-IF-USE and ACTION-IF-NOTUSE parameters. -dnl -dnl FEATURE-NAME is the name of the feature, and should be in -dnl purely upper case characters. -dnl FEATURE-DESCRIPTION is used to describe the feature in help text for -dnl the command line argument. -dnl DEPENDENT-PLUGINS lists any plug-ins which depend on this feature. -dnl TEST-FOR-FEATURE is a test which sets HAVE_<FEATURE-NAME> to "yes" -dnl or "no" depending on whether the feature is -dnl available. -dnl DISABLE-BY-DEFAULT if "disabled", the feature is disabled by default, -dnl if any other value, the feature is enabled by default. -dnl ACTION-IF-USE any extra actions to perform if the feature is to be -dnl used. -dnl ACTION-IF-NOTUSE any extra actions to perform if the feature is not to -dnl be used. -dnl -dnl -dnl thomas : -dnl we also added a history. -dnl GST_PLUGINS_YES will contain all plugins to be built -dnl that were checked through AG_GST_CHECK_FEATURE -dnl GST_PLUGINS_NO will contain those that won't be built - -AC_DEFUN([AG_GST_CHECK_FEATURE], -[echo -AC_MSG_NOTICE(*** checking feature: [$2] ***) -if test "x[$3]" != "x" -then - AC_MSG_NOTICE(*** for plug-ins: [$3] ***) -fi -dnl -builtin(define, [gst_endisable], ifelse($5, [disabled], [enable], [disable]))dnl -dnl if it is set to NO, then don't even consider it for building -NOUSE= -if test "x$USE_[$1]" = "xno"; then - NOUSE="yes" -fi -AC_ARG_ENABLE(translit([$1], A-Z, a-z), - [ ]builtin(format, --%-26s gst_endisable %s, gst_endisable-translit([$1], A-Z, a-z), [$2]ifelse([$3],,,: [$3])), - [ case "${enableval}" in - yes) USE_[$1]=yes;; - no) USE_[$1]=no;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;; - esac], - [ USE_$1=]ifelse($5, [disabled], [no], [yes])) dnl DEFAULT - -dnl *** set it back to no if it was preset to no -if test "x$NOUSE" = "xyes"; then - USE_[$1]="no" - AC_MSG_WARN(*** $3 pre-configured not to be built) -fi -NOUSE= - -dnl *** If it's enabled - -if test x$USE_[$1] = xyes; then - dnl save compile variables before the test - - gst_check_save_LIBS=$LIBS - gst_check_save_LDFLAGS=$LDFLAGS - gst_check_save_CFLAGS=$CFLAGS - gst_check_save_CPPFLAGS=$CPPFLAGS - gst_check_save_CXXFLAGS=$CXXFLAGS - - HAVE_[$1]=no - dnl TEST_FOR_FEATURE - $4 - - LIBS=$gst_check_save_LIBS - LDFLAGS=$gst_check_save_LDFLAGS - CFLAGS=$gst_check_save_CFLAGS - CPPFLAGS=$gst_check_save_CPPFLAGS - CXXFLAGS=$gst_check_save_CXXFLAGS - - dnl If it isn't found, unset USE_[$1] - if test x$HAVE_[$1] = xno; then - USE_[$1]=no - else - ifelse([$3], , :, [AC_MSG_NOTICE(*** These plugins will be built: [$3])]) - fi -fi -dnl *** Warn if it's disabled or not found -if test x$USE_[$1] = xyes; then - ifelse([$6], , :, [$6]) - if test "x$3" != "x"; then - GST_PLUGINS_YES="\t[$3]\n$GST_PLUGINS_YES" - fi - AC_DEFINE(HAVE_[$1], , [Define to enable $2]ifelse($3,,, [ (used by $3)]).) -else - ifelse([$3], , :, [AC_MSG_NOTICE(*** These plugins will not be built: [$3])]) - if test "x$3" != "x"; then - GST_PLUGINS_NO="\t[$3]\n$GST_PLUGINS_NO" - fi - ifelse([$7], , :, [$7]) -fi -dnl *** Define the conditional as appropriate -AM_CONDITIONAL(USE_[$1], test x$USE_[$1] = xyes) -]) - -dnl Use a -config program which accepts --cflags and --libs parameters -dnl to set *_CFLAGS and *_LIBS and check existence of a feature. -dnl Richard Boulton <richard-alsa@tartarus.org> -dnl Last modification: 26/06/2001 -dnl AG_GST_CHECK_CONFIGPROG(FEATURE-NAME, CONFIG-PROG-FILENAME, MODULES) -dnl -dnl This check was written for GStreamer: it should be renamed and checked -dnl for portability if you decide to use it elsewhere. -dnl -AC_DEFUN([AG_GST_CHECK_CONFIGPROG], -[ - AC_PATH_PROG([$1]_CONFIG, [$2], no) - if test x$[$1]_CONFIG = xno; then - [$1]_LIBS= - [$1]_CFLAGS= - HAVE_[$1]=no - else - if [$2] --plugin-libs [$3] &> /dev/null; then - [$1]_LIBS=`[$2] --plugin-libs [$3]` - else - [$1]_LIBS=`[$2] --libs [$3]` - fi - [$1]_CFLAGS=`[$2] --cflags [$3]` - HAVE_[$1]=yes - fi - AC_SUBST([$1]_LIBS) - AC_SUBST([$1]_CFLAGS) -]) - -dnl Use AC_CHECK_LIB and AC_CHECK_HEADER to do both tests at once -dnl sets HAVE_module if we have it -dnl Richard Boulton <richard-alsa@tartarus.org> -dnl Last modification: 26/06/2001 -dnl AG_GST_CHECK_LIBHEADER(FEATURE-NAME, LIB NAME, LIB FUNCTION, EXTRA LD FLAGS, -dnl HEADER NAME, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND) -dnl -dnl This check was written for GStreamer: it should be renamed and checked -dnl for portability if you decide to use it elsewhere. -dnl -AC_DEFUN([AG_GST_CHECK_LIBHEADER], -[ - AC_CHECK_LIB([$2], [$3], HAVE_[$1]=yes, HAVE_[$1]=no,[$4]) - if test "x$HAVE_[$1]" = "xyes"; then - AC_CHECK_HEADER([$5], :, HAVE_[$1]=no) - if test "x$HAVE_[$1]" = "xyes"; then - dnl execute what needs to be - ifelse([$6], , :, [$6]) - else - ifelse([$7], , :, [$7]) - fi - else - ifelse([$7], , :, [$7]) - fi - AC_SUBST(HAVE_[$1]) -] -) - -dnl 2004-02-14 Thomas - changed to get set properly and use proper output -dnl 2003-06-27 Benjamin Otte - changed to make this work with gstconfig.h -dnl -dnl Add a subsystem --disable flag and all the necessary symbols and substitions -dnl -dnl AG_GST_CHECK_SUBSYSTEM_DISABLE(SYSNAME, [subsystem name]) -dnl -AC_DEFUN([AG_GST_CHECK_SUBSYSTEM_DISABLE], -[ - dnl this define will replace each literal subsys_def occurrence with - dnl the lowercase hyphen-separated subsystem - dnl e.g. if $1 is GST_DEBUG then subsys_def will be a macro with gst-debug - define([subsys_def],translit([$1], _A-Z, -a-z)) - - AC_ARG_ENABLE(subsys_def, - AC_HELP_STRING(--disable-subsys_def, [disable $2]), - [ - case "${enableval}" in - yes) GST_DISABLE_[$1]=no ;; - no) GST_DISABLE_[$1]=yes ;; - *) AC_MSG_ERROR([bad value ${enableval} for --enable-subsys_def]) ;; - esac - ], - [GST_DISABLE_[$1]=no]) dnl Default value - - if test x$GST_DISABLE_[$1] = xyes; then - AC_MSG_NOTICE([disabled subsystem [$2]]) - GST_DISABLE_[$1]_DEFINE="#define GST_DISABLE_$1 1" - else - GST_DISABLE_[$1]_DEFINE="/* #undef GST_DISABLE_$1 */" - fi - AC_SUBST(GST_DISABLE_[$1]_DEFINE) - undefine([subsys_def]) -]) - - -dnl Parse gstconfig.h for feature and defines add the symbols and substitions -dnl -dnl AG_GST_PARSE_SUBSYSTEM_DISABLE(GST_CONFIGPATH, FEATURE) -dnl -AC_DEFUN([AG_GST_PARSE_SUBSYSTEM_DISABLE], -[ - grep >/dev/null "#undef GST_DISABLE_$2" $1 - if test $? = 0; then - GST_DISABLE_[$2]=0 - else - GST_DISABLE_[$2]=1 - fi - AC_SUBST(GST_DISABLE_[$2]) -]) - -dnl Parse gstconfig.h and defines add the symbols and substitions -dnl -dnl GST_CONFIGPATH=`$PKG_CONFIG --variable=includedir gstreamer-0.10`"/gst/gstconfig.h" -dnl AG_GST_PARSE_SUBSYSTEM_DISABLES(GST_CONFIGPATH) -dnl -AC_DEFUN([AG_GST_PARSE_SUBSYSTEM_DISABLES], -[ - AG_GST_PARSE_SUBSYSTEM_DISABLE($1,GST_DEBUG) - AG_GST_PARSE_SUBSYSTEM_DISABLE($1,LOADSAVE) - AG_GST_PARSE_SUBSYSTEM_DISABLE($1,PARSE) - AG_GST_PARSE_SUBSYSTEM_DISABLE($1,TRACE) - AG_GST_PARSE_SUBSYSTEM_DISABLE($1,ALLOC_TRACE) - AG_GST_PARSE_SUBSYSTEM_DISABLE($1,REGISTRY) - AG_GST_PARSE_SUBSYSTEM_DISABLE($1,ENUMTYPES) - AG_GST_PARSE_SUBSYSTEM_DISABLE($1,INDEX) - AG_GST_PARSE_SUBSYSTEM_DISABLE($1,PLUGIN) - AG_GST_PARSE_SUBSYSTEM_DISABLE($1,URI) - AG_GST_PARSE_SUBSYSTEM_DISABLE($1,XML) -]) - - - -dnl relies on GST_PLUGINS_ALL, GST_PLUGINS_SELECTED, GST_PLUGINS_YES, -dnl GST_PLUGINS_NO, and BUILD_EXTERNAL -AC_DEFUN([AG_GST_OUTPUT_PLUGINS], [ - -printf "configure: *** Plug-ins without external dependencies that will be built:\n" -( for i in $GST_PLUGINS_SELECTED; do printf '\t'$i'\n'; done ) | sort -printf "\n" - -printf "configure: *** Plug-ins without external dependencies that will NOT be built:\n" -( for i in $GST_PLUGINS_ALL; do - case $GST_PLUGINS_SELECTED in - *$i*) - ;; - *) - printf '\t'$i'\n' - ;; - esac - done ) | sort -printf "\n" - -if test "x$BUILD_EXTERNAL" = "xno"; then - printf "configure: *** No plug-ins with external dependencies will be built\n" -else - printf "configure: *** Plug-ins with dependencies that will be built:" - printf "$GST_PLUGINS_YES\n" | sort - printf "\n" - printf "configure: *** Plug-ins with dependencies that will NOT be built:" - printf "$GST_PLUGINS_NO\n" | sort - printf "\n" -fi -]) - diff --git a/common/m4/gst-gettext.m4 b/common/m4/gst-gettext.m4 deleted file mode 100644 index a63651bf..00000000 --- a/common/m4/gst-gettext.m4 +++ /dev/null @@ -1,21 +0,0 @@ -dnl gettext setup - -dnl AG_GST_GETTEXT([gettext-package]) -dnl defines GETTEXT_PACKAGE and LOCALEDIR - -AC_DEFUN([AG_GST_GETTEXT], -[ - if test "$USE_NLS" = "yes"; then - GETTEXT_PACKAGE=[$1] - else - GETTEXT_PACKAGE=[NULL] - fi - AC_SUBST(GETTEXT_PACKAGE) - AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], "$GETTEXT_PACKAGE", - [gettext package name]) - - dnl define LOCALEDIR in config.h - AS_AC_EXPAND(LOCALEDIR, $datadir/locale) - AC_DEFINE_UNQUOTED([LOCALEDIR], "$LOCALEDIR", - [gettext locale dir]) -]) diff --git a/common/m4/gst-glib2.m4 b/common/m4/gst-glib2.m4 deleted file mode 100644 index 3060e5ea..00000000 --- a/common/m4/gst-glib2.m4 +++ /dev/null @@ -1,25 +0,0 @@ -dnl check for a minimum version of GLib - -dnl AG_GST_GLIB_CHECK([minimum-version-required]) - -AC_DEFUN([AG_GST_GLIB_CHECK], -[ - dnl Minimum required version of GLib - GLIB_REQ=[$1] - if test "x$GLIB_REQ" = "x" - then - AC_MSG_ERROR([Please specify a required version for GLib 2.0]) - fi - AC_SUBST(GLIB_REQ) - - dnl Check for glib with everything - AG_GST_PKG_CHECK_MODULES(GLIB, - glib-2.0 >= $GLIB_REQ gobject-2.0 gthread-2.0 gmodule-no-export-2.0) - - if test "x$HAVE_GLIB" = "xno"; then - AC_MSG_ERROR([This package requires GLib >= $GLIB_REQ to compile.]) - fi - - dnl for the poor souls who for example have glib in /usr/local - AS_SCRUB_INCLUDE(GLIB_CFLAGS) -]) diff --git a/common/m4/gst-plugin-docs.m4 b/common/m4/gst-plugin-docs.m4 deleted file mode 100644 index 0ccc64b1..00000000 --- a/common/m4/gst-plugin-docs.m4 +++ /dev/null @@ -1,24 +0,0 @@ -dnl AG_GST_PLUGIN_DOCS([MINIMUM-GTK-DOC-VERSION],[MINIMUM-PYTHON-VERSION]) -dnl -dnl checks for prerequisites for the common/mangle-tmpl.py script -dnl used when building the plugin documentation - -AC_DEFUN([AG_GST_PLUGIN_DOCS], -[ - AC_BEFORE([GTK_DOC_CHECK],[$0])dnl check for gtk-doc first - AC_BEFORE([AS_PATH_PYTHON],[$1])dnl find python first - - build_plugin_docs=no - have_pygst=no - PKG_CHECK_MODULES(PYDOCSTUFF, [ gst-python-0.10 ], [have_pygst=yes], - [have_pygst=no]) - AC_MSG_CHECKING([whether to build plugin documentation]) - if test x$enable_gtk_doc = xyes -a x$have_pygst = xyes; then - build_plugin_docs=yes - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no (gtk-doc/pygst disabled or not available)]) - fi - - AM_CONDITIONAL(ENABLE_PLUGIN_DOCS, test x$build_plugin_docs = xyes) -]) diff --git a/common/m4/gst-plugindir.m4 b/common/m4/gst-plugindir.m4 deleted file mode 100644 index 09989d07..00000000 --- a/common/m4/gst-plugindir.m4 +++ /dev/null @@ -1,17 +0,0 @@ -dnl AG_GST_SET_PLUGINDIR - -dnl AC_DEFINE PLUGINDIR to the full location where plug-ins will be installed -dnl AC_SUBST plugindir, to be used in Makefile.am's - -AC_DEFUN([AG_GST_SET_PLUGINDIR], -[ - dnl define location of plugin directory - AS_AC_EXPAND(PLUGINDIR, ${libdir}/gstreamer-$GST_MAJORMINOR) - AC_DEFINE_UNQUOTED(PLUGINDIR, "$PLUGINDIR", - [directory where plugins are located]) - AC_MSG_NOTICE([Using $PLUGINDIR as the plugin install location]) - - dnl plugin directory configure-time variable for use in Makefile.am - plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR" - AC_SUBST(plugindir) -]) diff --git a/common/m4/gst-valgrind.m4 b/common/m4/gst-valgrind.m4 deleted file mode 100644 index eddedb35..00000000 --- a/common/m4/gst-valgrind.m4 +++ /dev/null @@ -1,35 +0,0 @@ -AC_DEFUN([AG_GST_VALGRIND_CHECK], -[ - dnl valgrind inclusion - AC_ARG_ENABLE(valgrind, - AC_HELP_STRING([--disable-valgrind], [disable run-time valgrind detection]), - [ - case "${enableval}" in - yes) USE_VALGRIND="$USE_DEBUG" ;; - no) USE_VALGRIND=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-valgrind) ;; - esac], - [ - USE_VALGRIND="$USE_DEBUG" - ]) dnl Default value - - VALGRIND_REQ="3.0" - if test "x$USE_VALGRIND" = xyes; then - PKG_CHECK_MODULES(VALGRIND, valgrind >= $VALGRIND_REQ, - USE_VALGRIND="yes", - [ - USE_VALGRIND="no" - AC_MSG_RESULT([no]) - ]) - fi - - if test "x$USE_VALGRIND" = xyes; then - AC_DEFINE(HAVE_VALGRIND, 1, [Define if valgrind should be used]) - AC_MSG_NOTICE(Using extra code paths for valgrind) - fi - AC_SUBST(VALGRIND_CFLAGS) - AC_SUBST(VALGRIND_LIBS) - - AC_PATH_PROG(VALGRIND_PATH, valgrind, no) - AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno") -]) diff --git a/common/m4/gst.m4 b/common/m4/gst.m4 deleted file mode 100644 index 04b466fb..00000000 --- a/common/m4/gst.m4 +++ /dev/null @@ -1,10 +0,0 @@ -dnl AG_GST_INIT -dnl sets up use of GStreamer configure.ac macros -dnl all GStreamer autoconf macros are prefixed -dnl with AG_GST_ for public macros -dnl with _AG_GST_ for private macros - -AC_DEFUN([AG_GST_INIT], -[ - m4_pattern_forbid(^_?AG_GST_) -]) diff --git a/common/m4/iconv.m4 b/common/m4/iconv.m4 deleted file mode 100644 index c5f35798..00000000 --- a/common/m4/iconv.m4 +++ /dev/null @@ -1,103 +0,0 @@ -# iconv.m4 serial AM4 (gettext-0.11.3) -dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible. - -AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], -[ - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([iconv]) -]) - -AC_DEFUN([AM_ICONV_LINK], -[ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable GNU libiconv installed). - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) - - dnl Add $INCICONV to CPPFLAGS before performing the following checks, - dnl because if the user has installed libiconv and not disabled its use - dnl via --without-libiconv-prefix, he wants to use it. The first - dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. - am_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) - - AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - AC_TRY_LINK([#include <stdlib.h> -#include <iconv.h>], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_func_iconv=yes) - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - AC_TRY_LINK([#include <stdlib.h> -#include <iconv.h>], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_lib_iconv=yes - am_cv_func_iconv=yes) - LIBS="$am_save_LIBS" - fi - ]) - if test "$am_cv_func_iconv" = yes; then - AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) - fi - if test "$am_cv_lib_iconv" = yes; then - AC_MSG_CHECKING([how to link with libiconv]) - AC_MSG_RESULT([$LIBICONV]) - else - dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV - dnl either. - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - AC_SUBST(LIBICONV) - AC_SUBST(LTLIBICONV) -]) - -AC_DEFUN([AM_ICONV], -[ - AM_ICONV_LINK - if test "$am_cv_func_iconv" = yes; then - AC_MSG_CHECKING([for iconv declaration]) - AC_CACHE_VAL(am_cv_proto_iconv, [ - AC_TRY_COMPILE([ -#include <stdlib.h> -#include <iconv.h> -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif -], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) - am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - AC_MSG_RESULT([$]{ac_t:- - }[$]am_cv_proto_iconv) - AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, - [Define as const if the declaration of iconv() needs const.]) - fi -]) diff --git a/common/m4/intdiv0.m4 b/common/m4/intdiv0.m4 deleted file mode 100644 index 55dddcf1..00000000 --- a/common/m4/intdiv0.m4 +++ /dev/null @@ -1,72 +0,0 @@ -# intdiv0.m4 serial 1 (gettext-0.11.3) -dnl Copyright (C) 2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible. - -AC_DEFUN([gt_INTDIV0], -[ - AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_CANONICAL_HOST])dnl - - AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], - gt_cv_int_divbyzero_sigfpe, - [ - AC_TRY_RUN([ -#include <stdlib.h> -#include <signal.h> - -static void -#ifdef __cplusplus -sigfpe_handler (int sig) -#else -sigfpe_handler (sig) int sig; -#endif -{ - /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ - exit (sig != SIGFPE); -} - -int x = 1; -int y = 0; -int z; -int nan; - -int main () -{ - signal (SIGFPE, sigfpe_handler); -/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ -#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) - signal (SIGTRAP, sigfpe_handler); -#endif -/* Linux/SPARC yields signal SIGILL. */ -#if defined (__sparc__) && defined (__linux__) - signal (SIGILL, sigfpe_handler); -#endif - - z = x / y; - nan = y / y; - exit (1); -} -], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, - [ - # Guess based on the CPU. - case "$host_cpu" in - alpha* | i[34567]86 | m68k | s390*) - gt_cv_int_divbyzero_sigfpe="guessing yes";; - *) - gt_cv_int_divbyzero_sigfpe="guessing no";; - esac - ]) - ]) - case "$gt_cv_int_divbyzero_sigfpe" in - *yes) value=1;; - *) value=0;; - esac - AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, - [Define if integer division by zero raises signal SIGFPE.]) -]) diff --git a/common/m4/inttypes-pri.m4 b/common/m4/inttypes-pri.m4 deleted file mode 100644 index fd007c31..00000000 --- a/common/m4/inttypes-pri.m4 +++ /dev/null @@ -1,32 +0,0 @@ -# inttypes-pri.m4 serial 1 (gettext-0.11.4) -dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible. - -# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI* -# macros to non-string values. This is the case on AIX 4.3.3. - -AC_DEFUN([gt_INTTYPES_PRI], -[ - AC_REQUIRE([gt_HEADER_INTTYPES_H]) - if test $gt_cv_header_inttypes_h = yes; then - AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], - gt_cv_inttypes_pri_broken, - [ - AC_TRY_COMPILE([#include <inttypes.h> -#ifdef PRId32 -char *p = PRId32; -#endif -], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) - ]) - fi - if test "$gt_cv_inttypes_pri_broken" = yes; then - AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, - [Define if <inttypes.h> exists and defines unusable PRI* macros.]) - fi -]) diff --git a/common/m4/inttypes.m4 b/common/m4/inttypes.m4 deleted file mode 100644 index ab370ffe..00000000 --- a/common/m4/inttypes.m4 +++ /dev/null @@ -1,27 +0,0 @@ -# inttypes.m4 serial 1 (gettext-0.11.4) -dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Paul Eggert. - -# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with -# <sys/types.h>. - -AC_DEFUN([gt_HEADER_INTTYPES_H], -[ - AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, - [ - AC_TRY_COMPILE( - [#include <sys/types.h> -#include <inttypes.h>], - [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) - ]) - if test $gt_cv_header_inttypes_h = yes; then - AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, - [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.]) - fi -]) diff --git a/common/m4/inttypes_h.m4 b/common/m4/inttypes_h.m4 deleted file mode 100644 index 400a1118..00000000 --- a/common/m4/inttypes_h.m4 +++ /dev/null @@ -1,28 +0,0 @@ -# inttypes_h.m4 serial 4 (gettext-0.11.4) -dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Paul Eggert. - -# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists, -# doesn't clash with <sys/types.h>, and declares uintmax_t. - -AC_DEFUN([jm_AC_HEADER_INTTYPES_H], -[ - AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h, - [AC_TRY_COMPILE( - [#include <sys/types.h> -#include <inttypes.h>], - [uintmax_t i = (uintmax_t) -1;], - jm_ac_cv_header_inttypes_h=yes, - jm_ac_cv_header_inttypes_h=no)]) - if test $jm_ac_cv_header_inttypes_h = yes; then - AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, -[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, - and declares uintmax_t. ]) - fi -]) diff --git a/common/m4/isc-posix.m4 b/common/m4/isc-posix.m4 deleted file mode 100644 index 1319dd1c..00000000 --- a/common/m4/isc-posix.m4 +++ /dev/null @@ -1,26 +0,0 @@ -# isc-posix.m4 serial 2 (gettext-0.11.2) -dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -# This file is not needed with autoconf-2.53 and newer. Remove it in 2005. - -# This test replaces the one in autoconf. -# Currently this macro should have the same name as the autoconf macro -# because gettext's gettext.m4 (distributed in the automake package) -# still uses it. Otherwise, the use in gettext.m4 makes autoheader -# give these diagnostics: -# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX -# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX - -undefine([AC_ISC_POSIX]) - -AC_DEFUN([AC_ISC_POSIX], - [ - dnl This test replaces the obsolescent AC_ISC_POSIX kludge. - AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) - ] -) diff --git a/common/m4/lcmessage.m4 b/common/m4/lcmessage.m4 deleted file mode 100644 index ffd4008b..00000000 --- a/common/m4/lcmessage.m4 +++ /dev/null @@ -1,32 +0,0 @@ -# lcmessage.m4 serial 3 (gettext-0.11.3) -dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper <drepper@cygnus.com>, 1995. - -# Check whether LC_MESSAGES is available in <locale.h>. - -AC_DEFUN([AM_LC_MESSAGES], -[ - AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, - [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], - am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) - if test $am_cv_val_LC_MESSAGES = yes; then - AC_DEFINE(HAVE_LC_MESSAGES, 1, - [Define if your <locale.h> file defines LC_MESSAGES.]) - fi -]) diff --git a/common/m4/lib-ld.m4 b/common/m4/lib-ld.m4 deleted file mode 100644 index ddb57323..00000000 --- a/common/m4/lib-ld.m4 +++ /dev/null @@ -1,97 +0,0 @@ -# lib-ld.m4 serial 1 (gettext-0.11) -dnl Copyright (C) 1996-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl Subroutines of libtool.m4, -dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision -dnl with libtool.m4. - -dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. -AC_DEFUN([AC_LIB_PROG_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then - acl_cv_prog_gnu_ld=yes -else - acl_cv_prog_gnu_ld=no -fi]) -with_gnu_ld=$acl_cv_prog_gnu_ld -]) - -dnl From libtool-1.4. Sets the variable LD. -AC_DEFUN([AC_LIB_PROG_LD], -[AC_ARG_WITH(gnu-ld, -[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], -test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by GCC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]* | [A-Za-z]:[\\/]*)] - [re_direlt='/[^/][^/]*/\.\./'] - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(acl_cv_path_LD, -[if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$acl_cv_path_LD" -if test -n "$LD"; then - AC_MSG_RESULT($LD) -else - AC_MSG_RESULT(no) -fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -AC_LIB_PROG_LD_GNU -]) diff --git a/common/m4/lib-link.m4 b/common/m4/lib-link.m4 deleted file mode 100644 index 6b942510..00000000 --- a/common/m4/lib-link.m4 +++ /dev/null @@ -1,554 +0,0 @@ -# lib-link.m4 serial 3 (gettext-0.11.3) -dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible. - -dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and -dnl augments the CPPFLAGS variable. -AC_DEFUN([AC_LIB_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - define([Name],[translit([$1],[./-], [___])]) - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - ac_cv_lib[]Name[]_libs="$LIB[]NAME" - ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" - ac_cv_lib[]Name[]_cppflags="$INC[]NAME" - ]) - LIB[]NAME="$ac_cv_lib[]Name[]_libs" - LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" - INC[]NAME="$ac_cv_lib[]Name[]_cppflags" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the - dnl results of this search when this library appears as a dependency. - HAVE_LIB[]NAME=yes - undefine([Name]) - undefine([NAME]) -]) - -dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) -dnl searches for libname and the libraries corresponding to explicit and -dnl implicit dependencies, together with the specified include files and -dnl the ability to compile and link the specified testcode. If found, it -dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and -dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and -dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs -dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. -AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - define([Name],[translit([$1],[./-], [___])]) - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - - dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - - dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, - dnl because if the user has installed lib[]Name and not disabled its use - dnl via --without-lib[]Name-prefix, he wants to use it. - ac_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - - AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ - ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIB[]NAME" - AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) - LIBS="$ac_save_LIBS" - ]) - if test "$ac_cv_lib[]Name" = yes; then - HAVE_LIB[]NAME=yes - AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) - AC_MSG_CHECKING([how to link with lib[]$1]) - AC_MSG_RESULT([$LIB[]NAME]) - else - HAVE_LIB[]NAME=no - dnl If $LIB[]NAME didn't lead to a usable library, we don't need - dnl $INC[]NAME either. - CPPFLAGS="$ac_save_CPPFLAGS" - LIB[]NAME= - LTLIB[]NAME= - fi - AC_SUBST([HAVE_LIB]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - undefine([Name]) - undefine([NAME]) -]) - -dnl Determine the platform dependent parameters needed to use rpath: -dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, -dnl hardcode_direct, hardcode_minus_L, -dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec. -AC_DEFUN([AC_LIB_RPATH], -[ - AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS - AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld - AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host - AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir - AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - ]) - wl="$acl_cv_wl" - libext="$acl_cv_libext" - shlibext="$acl_cv_shlibext" - hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - hardcode_direct="$acl_cv_hardcode_direct" - hardcode_minus_L="$acl_cv_hardcode_minus_L" - sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec" - sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec" - dnl Determine whether the user wants rpath handling at all. - AC_ARG_ENABLE(rpath, - [ --disable-rpath do not hardcode runtime library paths], - :, enable_rpath=yes) -]) - -dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. -AC_DEFUN([AC_LIB_LINKFLAGS_BODY], -[ - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_ARG_WITH([lib$1-prefix], -[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib - --without-lib$1-prefix don't search for lib$1 in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/lib" - fi - fi -]) - dnl Search the library and its dependencies in $additional_libdir and - dnl $LDFLAGS. Using breadth-first-seach. - LIB[]NAME= - LTLIB[]NAME= - INC[]NAME= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='$1 $2' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - dnl See if it was already located by an earlier AC_LIB_LINKFLAGS - dnl or AC_LIB_HAVE_LINKFLAGS call. - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" - else - dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined - dnl that this library doesn't exist. So just drop it. - : - fi - else - dnl Search the library lib$name in $additional_libdir and $LDFLAGS - dnl and the already constructed $LIBNAME/$LTLIBNAME. - found_dir= - found_la= - found_so= - found_a= - if test $use_additional = yes; then - if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then - found_dir="$additional_libdir" - found_so="$additional_libdir/lib$name.$shlibext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - else - if test -f "$additional_libdir/lib$name.$libext"; then - found_dir="$additional_libdir" - found_a="$additional_libdir/lib$name.$libext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then - found_dir="$dir" - found_so="$dir/lib$name.$shlibext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - else - if test -f "$dir/lib$name.$libext"; then - found_dir="$dir" - found_a="$dir/lib$name.$libext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - dnl Found the library. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - dnl Linking with a shared library. We attempt to hardcode its - dnl directory into the executable's runpath, unless it's the - dnl standard /usr/lib. - if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then - dnl No hardcoding is needed. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - dnl The hardcoding into $LIBNAME is system dependent. - if test "$hardcode_direct" = yes; then - dnl Using DIR/libNAME.so during linking hardcodes DIR into the - dnl resulting binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - dnl Rely on "-L$found_dir". - dnl But don't add it if it's already contained in the LDFLAGS - dnl or the already constructed $LIBNAME - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" - fi - if test "$hardcode_minus_L" != no; then - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH - dnl here, because this doesn't fit in flags passed to the - dnl compiler. So give up. No hardcoding. This affects only - dnl very old systems. - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - dnl Linking with a static library. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" - else - dnl We shouldn't come here, but anyway it's good to have a - dnl fallback. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" - fi - fi - dnl Assume the include files are nearby. - additional_includedir= - case "$found_dir" in - */lib | */lib/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - dnl Potentially add $additional_includedir to $INCNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's /usr/local/include and we are using GCC on Linux, - dnl 3. if it's already present in $CPPFLAGS or the already - dnl constructed $INCNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INC[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $INCNAME. - INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - dnl Look for dependencies. - if test -n "$found_la"; then - dnl Read the .la file. It defines the variables - dnl dlname, library_names, old_library, dependency_libs, current, - dnl age, revision, installed, dlopen, dlpreopen, libdir. - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - dnl We use only dependency_libs. - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's /usr/local/lib and we are using GCC on Linux, - dnl 3. if it's already present in $LDFLAGS or the already - dnl constructed $LIBNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/lib"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/lib"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LIBNAME. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LTLIBNAME. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - dnl Handle this in the next round. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - dnl Handle this in the next round. Throw away the .la's - dnl directory; it is already contained in a preceding -L - dnl option. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - dnl Most likely an immediate library name. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" - ;; - esac - done - fi - else - dnl Didn't find the library; assume it is in the system directories - dnl known to the linker and runtime loader. (All the system - dnl directories known to the linker should also be known to the - dnl runtime loader, otherwise the system is severely misconfigured.) - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user must - dnl pass all path elements in one option. We can arrange that for a - dnl single library, but not when more than one $LIBNAMEs are used. - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" - done - dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - else - dnl The -rpath options are cumulative. - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - dnl When using libtool, the option that works for both libraries and - dnl executables is -R. The -R options are cumulative. - for found_dir in $ltrpathdirs; do - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" - done - fi -]) - -dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, -dnl unless already present in VAR. -dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes -dnl contains two or three consecutive elements that belong together. -AC_DEFUN([AC_LIB_APPENDTOVAR], -[ - for element in [$2]; do - haveit= - for x in $[$1]; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - [$1]="${[$1]}${[$1]:+ }$element" - fi - done -]) diff --git a/common/m4/lib-prefix.m4 b/common/m4/lib-prefix.m4 deleted file mode 100644 index b8b79ab9..00000000 --- a/common/m4/lib-prefix.m4 +++ /dev/null @@ -1,148 +0,0 @@ -# lib-prefix.m4 serial 1 (gettext-0.11) -dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible. - -dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed -dnl to access previously installed libraries. The basic assumption is that -dnl a user will want packages to use other packages he previously installed -dnl with the same --prefix option. -dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate -dnl libraries, but is otherwise very convenient. -AC_DEFUN([AC_LIB_PREFIX], -[ - AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_ARG_WITH([lib-prefix], -[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib - --without-lib-prefix don't search for libraries in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/lib" - fi - fi -]) - if test $use_additional = yes; then - dnl Potentially add $additional_includedir to $CPPFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's already present in $CPPFLAGS, - dnl 3. if it's /usr/local/include and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - for x in $CPPFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $CPPFLAGS. - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" - fi - fi - fi - fi - dnl Potentially add $additional_libdir to $LDFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's already present in $LDFLAGS, - dnl 3. if it's /usr/local/lib and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/lib"; then - haveit= - for x in $LDFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_libdir" = "X/usr/local/lib"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LDFLAGS. - LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" - fi - fi - fi - fi - fi -]) - -dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, -dnl acl_final_exec_prefix, containing the values to which $prefix and -dnl $exec_prefix will expand at the end of the configure script. -AC_DEFUN([AC_LIB_PREPARE_PREFIX], -[ - dnl Unfortunately, prefix and exec_prefix get only finally determined - dnl at the end of configure. - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the -dnl variables prefix and exec_prefix bound to the values they will have -dnl at the end of the configure script. -AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], -[ - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - $1 - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" -]) diff --git a/common/m4/progtest.m4 b/common/m4/progtest.m4 deleted file mode 100644 index 443c8e30..00000000 --- a/common/m4/progtest.m4 +++ /dev/null @@ -1,59 +0,0 @@ -# progtest.m4 serial 2 (gettext-0.10.40) -dnl Copyright (C) 1996-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper <drepper@cygnus.com>, 1996. - -# Search path for a program which passes the given test. - -dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, -dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -AC_DEFUN([AM_PATH_PROG_WITH_TEST], -[# Extract the first word of "$2", so it can be a program name with args. -set dummy $2; ac_word=[$]2 -AC_MSG_CHECKING([for $ac_word]) -AC_CACHE_VAL(ac_cv_path_$1, -[case "[$]$1" in - /*) - ac_cv_path_$1="[$]$1" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in ifelse([$5], , $PATH, [$5]); do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" -dnl If no 4th arg is given, leave the cache variable unset, -dnl so AC_PATH_PROGS will keep looking. -ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" -])dnl - ;; -esac])dnl -$1="$ac_cv_path_$1" -if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then - AC_MSG_RESULT([$]$1) -else - AC_MSG_RESULT(no) -fi -AC_SUBST($1)dnl -]) diff --git a/common/m4/stdint_h.m4 b/common/m4/stdint_h.m4 deleted file mode 100644 index 4b5a4ac6..00000000 --- a/common/m4/stdint_h.m4 +++ /dev/null @@ -1,28 +0,0 @@ -# stdint_h.m4 serial 2 (gettext-0.11.4) -dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Paul Eggert. - -# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists, -# doesn't clash with <sys/types.h>, and declares uintmax_t. - -AC_DEFUN([jm_AC_HEADER_STDINT_H], -[ - AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h, - [AC_TRY_COMPILE( - [#include <sys/types.h> -#include <stdint.h>], - [uintmax_t i = (uintmax_t) -1;], - jm_ac_cv_header_stdint_h=yes, - jm_ac_cv_header_stdint_h=no)]) - if test $jm_ac_cv_header_stdint_h = yes; then - AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, -[Define if <stdint.h> exists, doesn't clash with <sys/types.h>, - and declares uintmax_t. ]) - fi -]) diff --git a/common/m4/uintmax_t.m4 b/common/m4/uintmax_t.m4 deleted file mode 100644 index ec3a8b92..00000000 --- a/common/m4/uintmax_t.m4 +++ /dev/null @@ -1,29 +0,0 @@ -# uintmax_t.m4 serial 6 (gettext-0.11) -dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Paul Eggert. - -AC_PREREQ(2.13) - -# Define uintmax_t to `unsigned long' or `unsigned long long' -# if <inttypes.h> does not exist. - -AC_DEFUN([jm_AC_TYPE_UINTMAX_T], -[ - AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) - AC_REQUIRE([jm_AC_HEADER_STDINT_H]) - if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then - AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) - test $ac_cv_type_unsigned_long_long = yes \ - && ac_type='unsigned long long' \ - || ac_type='unsigned long' - AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, - [Define to unsigned long or unsigned long long - if <inttypes.h> and <stdint.h> don't define.]) - fi -]) diff --git a/common/m4/ulonglong.m4 b/common/m4/ulonglong.m4 deleted file mode 100644 index c375e474..00000000 --- a/common/m4/ulonglong.m4 +++ /dev/null @@ -1,23 +0,0 @@ -# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40) -dnl Copyright (C) 1999-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Paul Eggert. - -AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG], -[ - AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, - [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;], - [unsigned long long ullmax = (unsigned long long) -1; - return ull << i | ull >> i | ullmax / ull | ullmax % ull;], - ac_cv_type_unsigned_long_long=yes, - ac_cv_type_unsigned_long_long=no)]) - if test $ac_cv_type_unsigned_long_long = yes; then - AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, - [Define if you have the unsigned long long type.]) - fi -]) diff --git a/common/mangle-tmpl.py b/common/mangle-tmpl.py deleted file mode 100644 index 6cb52d73..00000000 --- a/common/mangle-tmpl.py +++ /dev/null @@ -1,158 +0,0 @@ -# -*- Mode: Python -*- -# vi:si:et:sw=4:sts=4:ts=4 - -""" -use the output from gst-xmlinspect.py to mangle tmpl/*.sgml and -insert/overwrite Short Description and Long Description -""" - -# FIXME: right now it uses pygst and scans on its own; -# we really should use inspect/*.xml instead since the result of -# gst-xmlinspect.py is commited by the docs maintainer, who can be -# expected to have pygst, but this step should be done for every docs build, -# so no pygst allowed - -# read in inspect/*.xml -# for every tmpl/element-(name).xml: mangle with details from element - -import glob -import re -import sys -import os - -class Tmpl: - def __init__(self, filename): - self.filename = filename - self._sectionids = [] - self._sections = {} - - def read(self): - """ - Read and parse the sections from the given file. - """ - lines = open(self.filename).readlines() - matcher = re.compile("<!-- ##### SECTION (\S+) ##### -->\n") - id = None - - for line in lines: - match = matcher.search(line) - if match: - id = match.expand("\\1") - self._sectionids.append(id) - self._sections[id] = [] - else: - if not id: - sys.stderr.write( - "WARNING: line before a SECTION header: %s" % line) - else: - self._sections[id].append(line) - - def get_section(self, id): - """ - Get the content from the given section. - """ - return self._sections[id] - - def set_section(self, id, content): - """ - Replace the given section id with the given content. - """ - self._sections[id] = content - - def output(self): - """ - Return the output of the current template in the tmpl/*.sgml format. - """ - lines = [] - for id in self._sectionids: - lines.append("<!-- ##### SECTION %s ##### -->\n" % id) - for line in self._sections[id]: - lines.append(line) - - return "".join(lines) - - def write(self, backup=False): - """ - Write out the template file again, backing up the previous one. - """ - if backup: - target = self.filename + ".mangle.bak" - os.rename(self.filename, target) - - handle = open(self.filename, "w") - handle.write(self.output()) - handle.close() - -import xml.dom.minidom - -def get_elements(file): - elements = {} - doc = xml.dom.minidom.parse(file) - - elem = None - for e in doc.childNodes: - if e.nodeType == e.ELEMENT_NODE and e.localName == 'plugin': - elem = e - break - if elem == None: - return None - - elem2 = None - for e in elem.childNodes: - if e.nodeType == e.ELEMENT_NODE and e.localName == 'elements': - elem2 = e - break - if elem2 == None: - return None - - elem = elem2 - - for e in elem.childNodes: - if e.nodeType == e.ELEMENT_NODE and e.localName == 'element': - name = None - description = None - - for e2 in e.childNodes: - if e2.nodeType == e2.ELEMENT_NODE and e2.localName == 'name': - name = e2.childNodes[0].nodeValue.encode("UTF-8") - elif e2.nodeType == e2.ELEMENT_NODE and e2.localName == 'description': - description = e2.childNodes[0].nodeValue.encode("UTF-8") - - if name != None and description != None: - elements[name] = {'description': description} - - return elements - -def main(): - if not len(sys.argv) == 3: - sys.stderr.write('Please specify the inspect/ dir and the tmpl/ dir') - sys.exit(1) - - inspectdir = sys.argv[1] - tmpldir = sys.argv[2] - - # parse all .xml files; build map of element name -> short desc - #for file in glob.glob("inspect/plugin-*.xml"): - elements = {} - for file in glob.glob("%s/plugin-*.xml" % inspectdir): - elements.update(get_elements(file)) - - for file in glob.glob("%s/element-*.sgml" % tmpldir): - base = os.path.basename(file) - element = base[len("element-"):-len(".sgml")] - tmpl = Tmpl(file) - tmpl.read() - if element in elements.keys(): - description = elements[element]['description'] - tmpl.set_section("Short_Description", "%s\n\n" % description) - - # put in an include if not yet there - line = '<include xmlns="http://www.w3.org/2003/XInclude" href="' + \ - 'element-' + element + '-details.xml" />\n' - section = tmpl.get_section("Long_Description") - if not section[0] == line: - section.insert(0, line) - tmpl.set_section("Long_Description", section) - tmpl.write() - -main() diff --git a/common/plugins.xsl b/common/plugins.xsl deleted file mode 100644 index 2eab2204..00000000 --- a/common/plugins.xsl +++ /dev/null @@ -1,209 +0,0 @@ -<?xml version='1.0'?> <!--*- mode: xml -*--> - -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:exsl="http://exslt.org/common" - xmlns:str="http://exslt.org/strings" - extension-element-prefixes="exsl str" - version="1.0"> -<xsl:output method="xml" indent="yes" - doctype-public ="-//OASIS//DTD DocBook XML V4.1.2//EN" - doctype-system = "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/> - -<xsl:param name="module" /> - - <xsl:template match="element"> - <xsl:element name="varlistentry"> - <xsl:element name="term"> - <xsl:element name="link"> - <xsl:attribute name="linkend"><xsl:value-of select="$module" />-plugins-<xsl:value-of select="name"/></xsl:attribute> - <xsl:value-of select="name" /> - </xsl:element> - </xsl:element> - <xsl:element name="listitem"> - <xsl:element name="simpara"><xsl:value-of select="description" /></xsl:element> - </xsl:element> - </xsl:element> - <xsl:variable name="name"><xsl:copy-of select="name"/></xsl:variable> - <!-- here we write an element-(name)-details.xml file for the element --> - <exsl:document href="{concat ('xml/element-', $name, '-details.xml')}" method="xml" indent="yes"> - - <xsl:element name="refsynopsisdiv"> - <xsl:element name="refsect2"> - <xsl:element name="title">Element Information</xsl:element> - <xsl:element name="variablelist"> - - <!-- plugin name and link --> - <xsl:element name="varlistentry"> - <xsl:element name="term">plugin</xsl:element> - <xsl:element name="listitem"> - <xsl:element name="simpara"> - <xsl:element name="link"> - <xsl:attribute name="linkend">plugin-<xsl:value-of select="../../name"/></xsl:attribute> - <xsl:value-of select="../../name" /> - </xsl:element> - </xsl:element> - </xsl:element> - </xsl:element> - - <xsl:element name="varlistentry"> - <xsl:element name="term">author</xsl:element> - <xsl:element name="listitem"> - <xsl:element name="simpara"><xsl:value-of select="author" /></xsl:element> - </xsl:element> - </xsl:element> - - <xsl:element name="varlistentry"> - <xsl:element name="term">class</xsl:element> - <xsl:element name="listitem"> - <xsl:element name="simpara"><xsl:value-of select="class" /></xsl:element> - </xsl:element> - </xsl:element> - - </xsl:element> <!-- variablelist --> - </xsl:element> <!-- refsect2 --> - - <xsl:element name="refsect2"> - <xsl:element name="title">Element Pads</xsl:element> - <!-- process all caps --> - <xsl:for-each select="pads/caps"> - <xsl:element name="variablelist"> - <xsl:element name="varlistentry"> - <xsl:element name="term">name</xsl:element> - <xsl:element name="listitem"> - <xsl:element name="simpara"><xsl:value-of select="name" /></xsl:element> - </xsl:element> - </xsl:element> - - <xsl:element name="varlistentry"> - <xsl:element name="term">direction</xsl:element> - <xsl:element name="listitem"> - <xsl:element name="simpara"><xsl:value-of select="direction" /></xsl:element> - </xsl:element> - </xsl:element> - - <xsl:element name="varlistentry"> - <xsl:element name="term">presence</xsl:element> - <xsl:element name="listitem"> - <xsl:element name="simpara"><xsl:value-of select="presence" /></xsl:element> - </xsl:element> - </xsl:element> - - <xsl:for-each select='str:tokenize(details, ";")'> - <xsl:element name="varlistentry"> - <xsl:element name="term"> - <xsl:if test="position()=1">details</xsl:if> - </xsl:element> - <xsl:element name="listitem"> - <xsl:element name="simpara"><xsl:value-of select='.'/></xsl:element> - </xsl:element> - </xsl:element> - </xsl:for-each> - - </xsl:element> <!-- variablelist --> - - <!--xsl:element name="programlisting"><xsl:value-of select="details" /></xsl:element--> - - </xsl:for-each> - </xsl:element> <!-- refsect2 --> - </xsl:element> <!-- refsynopsisdiv --> - - </exsl:document> - </xsl:template> - - <xsl:template match="plugin"> - <xsl:element name="refentry"> - <xsl:attribute name="id"><xsl:value-of select="$module" />-plugins-plugin-<xsl:value-of select="name"/></xsl:attribute> - - <xsl:element name="refmeta"> - <xsl:element name="refentrytitle"> - <xsl:value-of select="name"/> - </xsl:element> - <xsl:element name="manvolnum">3</xsl:element> - <xsl:element name="refmiscinfo">FIXME Library</xsl:element> - </xsl:element> <!-- refmeta --> - - <xsl:element name="refnamediv"> - <xsl:element name="refname"> - <xsl:element name="anchor"> - <xsl:attribute name="id">plugin-<xsl:value-of select="name"/></xsl:attribute> - <xsl:value-of select="name"/> - </xsl:element> - </xsl:element> - - <xsl:element name="refpurpose"> - <xsl:value-of select="description"/> - </xsl:element> - </xsl:element> - - <xsl:element name="refsect1"> - <xsl:element name="title">Plugin Information</xsl:element> - <xsl:element name="variablelist"> - - <xsl:element name="varlistentry"> - <xsl:element name="term">filename</xsl:element> - <xsl:element name="listitem"> - <xsl:element name="simpara"><xsl:value-of select="basename" /></xsl:element> - </xsl:element> - </xsl:element> - - <xsl:element name="varlistentry"> - <xsl:element name="term">version</xsl:element> - <xsl:element name="listitem"> - <xsl:element name="simpara"><xsl:value-of select="version" /></xsl:element> - </xsl:element> - </xsl:element> - - <xsl:element name="varlistentry"> - <xsl:element name="term">run-time license</xsl:element> - <xsl:element name="listitem"> - <xsl:element name="simpara"><xsl:value-of select="license" /></xsl:element> - </xsl:element> - </xsl:element> - - <xsl:element name="varlistentry"> - <xsl:element name="term">package</xsl:element> - <xsl:element name="listitem"> - <xsl:element name="simpara"><xsl:value-of select="package" /></xsl:element> - </xsl:element> - </xsl:element> - - <xsl:element name="varlistentry"> - <xsl:element name="term">origin</xsl:element> - <xsl:element name="listitem"> - <xsl:element name="simpara"> - <!-- only show origin as link if it starts with http --> - <xsl:choose> - <xsl:when test="substring(@href, 1, 4) = 'http'"> - <xsl:element name="ulink"> - <xsl:attribute name="url"><xsl:value-of select="origin" /></xsl:attribute> - <xsl:value-of select="origin" /> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="origin" /> - </xsl:otherwise> - </xsl:choose> - </xsl:element> - </xsl:element> - </xsl:element> - - </xsl:element> - </xsl:element> - - <xsl:element name="refsect1"> - <xsl:element name="title">Elements</xsl:element> - <!-- process all elements --> - <xsl:element name="variablelist"> - <xsl:apply-templates select="elements"/> - </xsl:element> - </xsl:element> - - </xsl:element> - - </xsl:template> - - <!-- ignore --> - <xsl:template match="gst-plugin-paths" /> - -</xsl:stylesheet> diff --git a/common/scangobj-merge.py b/common/scangobj-merge.py deleted file mode 100755 index a79b4044..00000000 --- a/common/scangobj-merge.py +++ /dev/null @@ -1,278 +0,0 @@ -#!/usr/bin/python -# -*- Mode: Python -*- -# vi:si:et:sw=4:sts=4:ts=4 - -""" -parse, update and write .signals and .args files -""" - -import sys -import os - -def debug(*args): - pass - -# OrderedDict class based on -# http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/107747 -# Licensed under the Python License -class OrderedDict(dict): - def __init__(self, dict = None): - self._keys = [] - dict.__init__(self, dict) - - def __delitem__(self, key): - dict.__delitem__(self, key) - self._keys.remove(key) - - def __setitem__(self, key, item): - dict.__setitem__(self, key, item) - if key not in self._keys: self._keys.append(key) - - def clear(self): - dict.clear(self) - self._keys = [] - - def copy(self): - dict = dict.copy(self) - dict._keys = self._keys[:] - return dict - - def items(self): - return zip(self._keys, self.values()) - - def keys(self): - return self._keys - - def popitem(self): - try: - key = self._keys[-1] - except IndexError: - raise KeyError('dictionary is empty') - - val = self[key] - del self[key] - - return (key, val) - - def setdefault(self, key, failobj = None): - dict.setdefault(self, key, failobj) - if key not in self._keys: self._keys.append(key) - - def update(self, dict): - dict.update(self, dict) - for key in dict.keys(): - if key not in self._keys: self._keys.append(key) - - def values(self): - return map(self.get, self._keys) - -class Object: - def __init__(self, name): - self._signals = OrderedDict() - self._args = OrderedDict() - self.name = name - - def __repr__(self): - return "<Object %s>" % self.name - - def add_signal(self, signal, overwrite=True): - if not overwrite and self._signals.has_key(signal.name): - raise IndexError, "signal %s already in %r" % (signal.name, self) - self._signals[signal.name] = signal - - def add_arg(self, arg, overwrite=True): - if not overwrite and self._args.has_key(arg.name): - raise IndexError, "arg %s already in %r" % (arg.name, self) - self._args[arg.name] = arg - -class Docable: - def __init__(self, **kwargs): - for key in self.attrs: - setattr(self, key, kwargs[key]) - self.dict = kwargs - - def __repr__(self): - return "<%r %s>" % (str(self.__class__), self.name) - -class Signal(Docable): - attrs = ['name', 'returns', 'args'] - -class Arg(Docable): - attrs = ['name', 'type', 'range', 'flags', 'nick', 'blurb', 'default'] - -class GDoc: - def load_file(self, filename): - try: - lines = open(filename).readlines() - self.load_data("".join(lines)) - except IOError: - print "WARNING - could not read from %s" % filename - - def save_file(self, filename, backup=False): - """ - Save the signals information to the given .signals file if the - file content changed. - """ - olddata = None - try: - lines = open(filename).readlines() - olddata = "".join(lines) - except IOError: - print "WARNING - could not read from %s" % filename - newdata = self.get_data() - if olddata and olddata == newdata: - return - - if olddata: - if backup: - os.rename(filename, filename + '.bak') - - handle = open(filename, "w") - handle.write(newdata) - handle.close() - -class Signals(GDoc): - def __init__(self): - self._objects = OrderedDict() - - def load_data(self, data): - """ - Load the .signals lines, creating our list of objects and signals. - """ - import re - smatcher = re.compile( - '(?s)' # make . match \n - '<SIGNAL>\n(.*?)</SIGNAL>\n' - ) - nmatcher = re.compile( - '<NAME>' - '(?P<object>\S*)' # store object - '::' - '(?P<signal>\S*)' # store signal - '</NAME>' - ) - rmatcher = re.compile( - '(?s)' # make . match \n - '<RETURNS>(?P<returns>\S*)</RETURNS>\n' # store returns - '(?P<args>.*)' # store args - ) - for block in smatcher.findall(data): - nmatch = nmatcher.search(block) - if nmatch: - o = nmatch.group('object') - debug("Found object", o) - debug("Found signal", nmatch.group('signal')) - if not self._objects.has_key(o): - object = Object(o) - self._objects[o] = object - - rmatch = rmatcher.search(block) - if rmatch: - dict = rmatch.groupdict().copy() - dict['name'] = nmatch.group('signal') - signal = Signal(**dict) - self._objects[o].add_signal(signal) - - def get_data(self): - lines = [] - for o in self._objects.values(): - for s in o._signals.values(): - block = """<SIGNAL> -<NAME>%(object)s::%(name)s</NAME> -<RETURNS>%(returns)s</RETURNS> -%(args)s</SIGNAL> -""" - d = s.dict.copy() - d['object'] = o.name - lines.append(block % d) - - return "\n".join(lines) + '\n' - -class Args(GDoc): - def __init__(self): - self._objects = OrderedDict() - - def load_data(self, data): - """ - Load the .args lines, creating our list of objects and args. - """ - import re - amatcher = re.compile( - '(?s)' # make . match \n - '<ARG>\n(.*?)</ARG>\n' - ) - nmatcher = re.compile( - '<NAME>' - '(?P<object>\S*)' # store object - '::' - '(?P<arg>\S*)' # store arg - '</NAME>' - ) - rmatcher = re.compile( - '(?s)' # make . match \n - '<TYPE>(?P<type>\S*)</TYPE>\n' # store type - '<RANGE>(?P<range>.*?)</RANGE>\n' # store range - '<FLAGS>(?P<flags>\S*)</FLAGS>\n' # store flags - '<NICK>(?P<nick>.*?)</NICK>\n' # store nick - '<BLURB>(?P<blurb>.*?)</BLURB>\n' # store blurb - '<DEFAULT>(?P<default>.*?)</DEFAULT>\n' # store default - ) - for block in amatcher.findall(data): - nmatch = nmatcher.search(block) - if nmatch: - o = nmatch.group('object') - debug("Found object", o) - debug("Found arg", nmatch.group('arg')) - if not self._objects.has_key(o): - object = Object(o) - self._objects[o] = object - - rmatch = rmatcher.search(block) - if rmatch: - dict = rmatch.groupdict().copy() - dict['name'] = nmatch.group('arg') - arg = Arg(**dict) - self._objects[o].add_arg(arg) - else: - print "ERROR: could not match arg from block %s" % block - - def get_data(self): - lines = [] - for o in self._objects.values(): - for a in o._args.values(): - block = """<ARG> -<NAME>%(object)s::%(name)s</NAME> -<TYPE>%(type)s</TYPE> -<RANGE>%(range)s</RANGE> -<FLAGS>%(flags)s</FLAGS> -<NICK>%(nick)s</NICK> -<BLURB>%(blurb)s</BLURB> -<DEFAULT>%(default)s</DEFAULT> -</ARG> -""" - d = a.dict.copy() - d['object'] = o.name - lines.append(block % d) - - return "\n".join(lines) + '\n' - -def main(argv): - modulename = None - try: - modulename = argv[1] - except IndexError: - sys.stderr.write('Pleae provide a documentation module name\n') - sys.exit(1) - - print "Merging scangobj output for %s" % modulename - signals = Signals() - signals.load_file(modulename + '.signals') - signals.load_file(modulename + '.signals.new') - signals.save_file(modulename + '.signals', backup=True) - - args = Args() - args.load_file(modulename + '.args') - args.load_file(modulename + '.args.new') - args.save_file(modulename + '.args', backup=True) - -main(sys.argv) |