After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 499140 - Add check to ensure .def files are kept up-to-date
Add check to ensure .def files are kept up-to-date
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.10.14
Other Windows
: Normal normal
: 0.10.16
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-11-23 10:13 UTC by Kwang Yul Seo
Modified: 2007-12-12 23:22 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Kwang Yul Seo 2007-11-23 10:13:17 UTC
In gstconfig.h, GST_EXPORT macro is defined. On Windows, GST_EXPORT exports the variable from the DLL. On other platforms, it is definde a s a no-op "extern"

However, it is not used to declare functions in header files. Some functions are missing in Windows binareis of gstreamer. After I put GST_EXPORT to those missing functions and recompile the gstreamer, I could see them.
Comment 1 Wim Taymans 2007-11-27 18:18:09 UTC
what functions are you refering to? can you make a patch with the changes you did?
Comment 2 Kwang Yul Seo 2007-12-03 05:42:15 UTC
The problem was in gstreamer-10.14. For example, gst_type_register_static_full, gst_element_class_set_details_simple, gst_data_queue_is_full, gst_data_queue_get_level and gst_data_queue_limits_changed were missing in gstreamer-0.10.14 built by MSVC because they are not exported in def file.

Fortunatley, all symbols missing in gstreamer-0.10.14  are added to in CVS HEAD. However, why don't you use GST_EXPORT macro for function declaration instead of using a separate def file? I think it is error prone to add every new function to the corresponding def file. For example, gst_type_register_static_full was new in gstreamer-0.10.14 and the developer forgot to update libgstreamer.def.

Comment 3 Tim-Philipp Müller 2007-12-12 23:22:37 UTC
Myself, I'd prefer not to use GST_EXPORT in the header files. I like the header files clean and readable, and dislike messy header files like jpglib.h.

I've added this now:

 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>

        * Makefile.am:
          Add check-exports target and run it as part of 'make check'
          (see #499140 and #493983).

(also needs similar setup in -base).