Commit graph

61 commits

Author SHA1 Message Date
Tim-Philipp Müller
46ed0f0489 libs: fix 'inconsistent DLL linkage' warnings on Windows
For each lib we build export its own API in headers when we're
building it, otherwise import the API from the headers.

This fixes linker warnings on Windows when building with MSVC.

The problem was that we had defined all GST_*_API decorators
unconditionally to GST_EXPORT. This was intentional and only
supposed to be temporary, but caused linker warnings because
we tell the linker that we want to export all symbols even
those from externall DLLs, and when the linker notices that
they were in external DLLS and not present locally it warns.

What we need to do when building each library is: export
the library's own symbols and import all other symbols. To
this end we define e.g. BUILDING_GST_FOO and then we define
the GST_FOO_API decorator either to export or to import
symbols depending on whether BUILDING_GST_FOO is set or not.
That way external users of each library API automatically
get the import.

https://bugzilla.gnome.org/show_bug.cgi?id=797185
2018-09-23 23:23:01 +01:00
Nirbheek Chauhan
1c8711816e gst/parse: Also pass -DGST_EXPORTS here
This static library gets included directly into libgstreamer-1.0.so, so it needs
the same GST_EXPORTS definition as the rest of the code that's compiled into
that otherwise it will try to find the constants it uses from gstinfo via DLL
importing (__declspec(dllimport)).

Fixes https://ci.gstreamer.net/job/cerbero-cross-mingw32/4393/
2016-05-23 14:24:16 +01:00
Tim-Philipp Müller
8e6561be91 Remove obsolete Android build cruft
This is not needed any longer.
2015-04-26 17:49:44 +01:00
Sebastian Dröge
191ca95fd9 parse: Don't dist the bison and flex generated headers
https://bugzilla.gnome.org/show_bug.cgi?id=727253
2014-04-07 11:36:58 +02:00
Sebastian Dröge
c3181fa5df parse: Use GLib malloc/free/realloc functions
https://bugzilla.gnome.org/show_bug.cgi?id=720100
2013-12-27 12:55:40 +01:00
Olivier Crête
3c4d54fd88 parse: Manually insert priv_gst_parse_yyget/set_column prototypes for older flex
Older versions of flex (before 2.5.36) don't add the prototype, so it must
be added manually. We can't check by the version number, because Debian/Ubuntu
patched it into their 2.5.35 at some point.
2013-11-29 14:02:24 -05:00
Fabian Kirsch
56d74ddb64 parse: fix segfaulting prototype-mismatch
Now YYDEBUG is always set, so check it's value

https://bugzilla.gnome.org/show_bug.cgi?id=712679
2013-11-28 19:05:23 -05:00
Tim-Philipp Müller
21ec07eab0 Merge remote-tracking branch 'origin/master' into symbol-exports 2011-10-08 19:54:06 +01:00
Tim-Philipp Müller
01d87250a8 gstparse: prefix generated parser functions so they don't get exported
Don't export those 35-something random _gst_parse_yy* symbols. These were
never in any header files and also blacklisted from our .def files, in
case anyone wonders.
2011-10-08 14:34:04 +01:00
Tim-Philipp Müller
5a8273e527 Merge branch 'master' into 0.11 2011-06-05 15:48:51 +01:00
Tim-Philipp Müller
6d374e54b9 parse: add prototypes for unused functions to avoid compiler warning
The warning is never fatal, because we don't use -Werror for the
parser helper library build, but the warnings are annoying anyway.
2011-06-05 15:27:19 +01:00
Tim-Philipp Müller
a4092cd5c4 Remove everything libxml2- and loadsave-related 2011-06-04 15:22:06 +01:00
Alessandro Decina
3f1ef2255a android: make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 01:08:07 +02:00
Tim-Philipp Müller
3d5843e1f4 build: fix make distcheck
The change from GST_ALL_CFLAGS to GST_OPTION_CFLAGS dropped the includes,
putting them back fixes make distcheck.
2010-03-24 15:47:22 +00:00
Benjamin Otte
f067d38d1d Make sure generated code doesn't run with -Werror
https://bugzilla.gnome.org/show_bug.cgi?id=611692
2010-03-10 19:27:09 +01:00
Sebastian Dröge
ce74a1ae19 build: Make some more rules silent if requested 2010-03-09 20:57:17 +00:00
Sebastian Dröge
91ba942748 gst/parse/: Require a new enough flex and bison and remove the parser hacks to use a pre-regenerated version.
Original commit message from CVS:
* gst/parse/Makefile.am:
* gst/parse/grammar.tab.pre.c:
* gst/parse/grammar.tab.pre.h:
* gst/parse/lex._gst_parse_yy.pre.c:
Require a new enough flex and bison and remove the parser hacks to use
a pre-regenerated version.
2008-04-01 13:48:59 +00:00
Sebastian Dröge
3749018bf6 gst/parse/Makefile.am: Move types.h from EXTRA_DIST to noinst_HEADERS.
Original commit message from CVS:
* gst/parse/Makefile.am:
Move types.h from EXTRA_DIST to noinst_HEADERS.
2008-01-10 13:03:35 +00:00
Sebastian Dröge
4df2c01e88 gst/parse/Makefile.am: And now fix the building of the flex sources. Now everything should work as expected.
Original commit message from CVS:
* gst/parse/Makefile.am:
And now fix the building of the flex sources. Now everything should
work as expected.
2007-04-19 14:23:25 +00:00
Sebastian Dröge
3215ad20c3 gst/parse/Makefile.am: Now hopefully fix the build failures by setting proper rule dependencies and moving instead of...
Original commit message from CVS:
* gst/parse/Makefile.am:
Now hopefully fix the build failures by setting proper rule
dependencies and moving instead of copying.
2007-04-19 14:06:52 +00:00
Stefan Kost
55eca2e566 gst/parse/Makefile.am: Fix the build by correcting the rule that gave wrong files to flex.
Original commit message from CVS:
* gst/parse/Makefile.am:
Fix the build by correcting the rule that gave wrong files to flex.
2007-04-19 10:22:29 +00:00
Sebastian Dröge
d3e8fea975 gst/parse/Makefile.am: Add correct grammar.tab.h dependency if compiling without new enough flex. Fixes #431150.
Original commit message from CVS:
* gst/parse/Makefile.am:
Add correct grammar.tab.h dependency if compiling without new enough
flex. Fixes #431150.
2007-04-19 06:18:24 +00:00
Sebastian Dröge
7a67f8a6bb gst/parse/Makefile.am: Fix typo and use outdated sources if the flex/bison sources are newer than the pregenerated on...
Original commit message from CVS:
* gst/parse/Makefile.am:
Fix typo and use outdated sources if the flex/bison sources are newer
than the pregenerated ones but flex is too old. Print a warning in
that case. This should fix the build on the build bot.
2007-04-18 13:34:48 +00:00
Marc-Andre Lureau
7a3a27d0c1 gst/parse/: Make the parser reentrant and recursively callable. This requires flex >= 2.5.31, for older versions preg...
Original commit message from CVS:
Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
* gst/parse/Makefile.am:
* gst/parse/grammar.y:
* gst/parse/parse.l:
Make the parser reentrant and recursively callable. This requires flex
>= 2.5.31, for older versions pregenerated sources are used as we
can't bump the build dependency. Finally fixes #349180.
* gst/gstparse.c: (gst_parse_launch):
Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
now anyway.
* docs/gst/Makefile.am:
* docs/gst/Makefile.am:
* gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
(__gst_parse_strfree), (__gst_parse_link_new),
(__gst_parse_link_free), (__gst_parse_chain_new),
(__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
(gst_parse_element_set), (gst_parse_free_link),
(gst_parse_found_pad), (gst_parse_perform_delayed_link),
(gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
(_gst_parse_launch):
* gst/parse/grammar.tab.pre.h:
* gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
(yy_get_previous_state), (yy_try_NUL_trans), (input),
(_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
(_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
(_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
(_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
(_gst_parse_yypop_buffer_state),
(_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
(_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
(yy_fatal_error), (_gst_parse_yyget_extra),
(_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
(_gst_parse_yyget_in), (_gst_parse_yyget_out),
(_gst_parse_yyget_leng), (_gst_parse_yyget_text),
(_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
(_gst_parse_yyset_column), (_gst_parse_yyset_in),
(_gst_parse_yyset_out), (_gst_parse_yyget_debug),
(_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
(_gst_parse_yyset_lval), (_gst_parse_yylex_init),
(yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
(yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
(_gst_parse_yyfree):
If the installed flex version is too old use pre-generated parser
sources. These pre-generated parser sources are always updated when
the actual flex/bison sources change but require everybody who wants
to change something in the parser to have flex >= 2.5.31 installed.
2007-04-18 12:34:51 +00:00
Stefan Kost
fb0ce08f2c gst/parse/: Reverted previous patch as it required to bump the flex dependency to 2.5.31, where fc4/5 seem to ship on...
Original commit message from CVS:
* gst/parse/Makefile.am:
* gst/parse/grammar.y:
* gst/parse/parse.l:
Reverted previous patch as it required to bump the flex dependency to
2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
2006-07-30 18:58:28 +00:00
Marc-Andre Lureau
48afa6dc3a gst/parse/: push & pop the state of the lexer for reentrant use case
Original commit message from CVS:
Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
* gst/parse/Makefile.am:
* gst/parse/grammar.y:
* gst/parse/parse.l:
push & pop the state of the lexer for reentrant use case
Fixes #349180
2006-07-30 18:32:49 +00:00
Tim-Philipp Müller
7e1530dda1 gst/parse/Makefile.am: Fix build with 'make -j N' even more (#340016).
Original commit message from CVS:
* gst/parse/Makefile.am:
Fix build with 'make -j N' even more (#340016).
2006-06-12 16:50:09 +00:00
Thomas Vander Stichele
02587befa4 fix parallel make
Original commit message from CVS:
fix parallel make
2006-05-14 23:23:56 +00:00
Tim-Philipp Müller
2a543782d0 gst/parse/Makefile.am: Make 'make -j' proof (see #340698).
Original commit message from CVS:
* gst/parse/Makefile.am:
Make 'make -j' proof (see #340698).
2006-05-05 09:01:52 +00:00
James Andrewartha
5deab8d3c3 Make sure gstprivate.h and/or config.h are always included first, otherwise some of our defines (like _FILE_OFFSET_BI...
Original commit message from CVS:
Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
* gst/gst.c:
* gst/gstbus.c:
* gst/gstclock.c:
* gst/gstevent.c:
* gst/gstformat.c:
* gst/gstmessage.c:
* gst/gstparse.c:
* gst/gstquery.c:
* gst/gstutils.c:
* gst/parse/Makefile.am:
* libs/gst/base/gstadapter.c:
* libs/gst/base/gstbasesrc.c:
* libs/gst/base/gstpushsrc.c:
* libs/gst/base/gsttypefindhelper.c:
* plugins/elements/gstfakesrc.c:
* plugins/elements/gstidentity.c:
Make sure gstprivate.h and/or config.h are
always included first, otherwise some of our
defines (like _FILE_OFFSET_BITS) might be
redefined in the system headers. Fixes build
on opensolaris (#340016).
2006-05-04 15:20:14 +00:00
Thomas Vander Stichele
08479555e5 configure.ac: reorganize clean up document more remove cruft
Original commit message from CVS:

* configure.ac:
reorganize
clean up
document more
remove cruft
* check/Makefile.am:
* docs/gst/Makefile.am:
* examples/helloworld/Makefile.am:
* gst/Makefile.am:
* gst/base/Makefile.am:
* gst/check/Makefile.am:
* gst/elements/Makefile.am:
* gst/indexers/Makefile.am:
* gst/parse/Makefile.am:
* libs/gst/controller/Makefile.am:
* libs/gst/dataprotocol/Makefile.am:
* examples/helloworld/helloworld.c: (event_loop):
compile fixes, though it's not being compiled currently
2005-10-15 13:58:18 +00:00
Thomas Vander Stichele
e7b9201555 reorganize C/LIB flags add gst_info to gstcompat.h
Original commit message from CVS:
reorganize C/LIB flags
add gst_info to gstcompat.h
2004-05-04 12:38:36 +00:00
Thomas Vander Stichele
94783aaebb merging from release branch
Original commit message from CVS:
merging from release branch
2004-02-26 17:02:49 +00:00
Benjamin Otte
4749c7a4f1 gst/: get rid of gstmarshal.h dependency. It's not needed.
Original commit message from CVS:
2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/parse/Makefile.am:
* gst/gstobject.h:
get rid of gstmarshal.h dependency. It's not needed.
* gst/gst.h:
* gst/elements/gstfakesink.c:
* gst/elements/gstfakesrc.c:
* gst/elements/gstidentity.c:
* gst/gstbin.c:
* gst/gstelement.c:
* gst/gstindex.c:
* gst/gstobject.c:
* gst/gstpad.c:
* gst/gstthread.c:
* gst/gstxml.c:
* libs/gst/control/dparam.c:
* libs/gst/control/dparammanager.c:
include gstmarshal.h.
Fixes #132045
2004-02-03 03:31:26 +00:00
Brian Cameron
0cb4645646 Fixed shell in docs/gst/Makefile.am and docs/libs/Makefile.am so that it works with Solaris /bin/sh. Fixed gst/gstpl...
Original commit message from CVS:
Fixed shell in docs/gst/Makefile.am and docs/libs/Makefile.am so that
it works with Solaris /bin/sh.  Fixed gst/gstplugin.c so it compiles
properly when the configure --disable-gst_debug option is used.
Fixed gst/parse/Makefile.am so that it doesn't append grammar.tab.h to
the end of lex._gst_parse_yy.c since lex._gst_parse_yy.c already
includes grammar.tab.h via a <#include ...> line.
2003-12-19 20:27:03 +00:00
Thomas Vander Stichele
f4f76837fa fix brian's commit
Original commit message from CVS:
fix brian's commit
2003-12-15 22:13:03 +00:00
Brian Cameron
c6a18b92c2 Removed grammar.tab.h from the flex command to build lex._gst_parse_yy.c because this caused grammar.tab.h to be incl...
Original commit message from CVS:
Removed grammar.tab.h from the flex command to build lex._gst_parse_yy.c
because this caused grammar.tab.h to be included twice in the file (since
it is already included directly in parse.l via an #include statement).
Including this file twice was causing Forte to be unable to compile it.
2003-12-15 18:40:13 +00:00
David Schleef
f4cbe54b68 add rule dependency
Original commit message from CVS:
add rule dependency
2003-10-31 20:20:36 +00:00
David Schleef
40fe161510 Clean more files
Original commit message from CVS:
Clean more files
2003-10-31 03:52:11 +00:00
David Schleef
0259155e08 don't dist files generated by flex and bison, since they're not portable.
Original commit message from CVS:
don't dist files generated by flex and bison, since they're not
portable.
2003-10-29 00:15:46 +00:00
Thomas Vander Stichele
30da970283 fix cleaning
Original commit message from CVS:
fix cleaning
2003-10-09 13:47:35 +00:00
David Schleef
d4ee10bd79 distcheck fixes. Some tests have been disabled.
Original commit message from CVS:
distcheck fixes.  Some tests have been disabled.
2003-10-09 01:13:21 +00:00
David Schleef
b79680d0b2 Dist files generated by bison and flex.
Original commit message from CVS:
Dist files generated by bison and flex.
2003-08-30 02:42:55 +00:00
Thomas Vander Stichele
f7c80738f7 build fix
Original commit message from CVS:
build fix
2003-08-13 11:07:26 +00:00
Ronald S. Bultje
8777f9a763 make -> shell variable
Original commit message from CVS:
make -> shell variable
2003-05-16 06:33:36 +00:00
David Schleef
7421b1f671 Revert last Makefile.am change, and fix it correctly. I _think_ this won't break with earlier flex versions, otherwi...
Original commit message from CVS:
Revert last Makefile.am change, and fix it correctly.  I _think_
this won't break with earlier flex versions, otherwise let me know.
2003-04-13 19:40:31 +00:00
David Schleef
5706980d33 Disable compiler warning because of a bug in flex-2.5.31
Original commit message from CVS:
Disable compiler warning because of a bug in flex-2.5.31
2003-04-11 21:44:04 +00:00
David Schleef
c760bb88b7 Remove grammar.output, too
Original commit message from CVS:
Remove grammar.output, too
2003-04-08 23:21:37 +00:00
David Schleef
2d40f10230 Clean up Makefile.am
Original commit message from CVS:
Clean up Makefile.am
2003-04-08 23:18:30 +00:00
Benjamin Otte
ff856af64a - clean bison- and flex-built files on make clean. (fixes #101421)
Original commit message from CVS:
- clean bison- and flex-built files on make clean. (fixes #101421)
- use CFLAGS that enable debugging symbols.
2003-04-08 21:48:27 +00:00