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 642507 - [mingw/cygwin build] ensure building of plugin dll
[mingw/cygwin build] ensure building of plugin dll
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-libav
git master
Other Linux
: Normal normal
: 0.10.12
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-02-16 20:31 UTC by Mark Nauwelaerts
Modified: 2011-05-09 09:58 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
configure.ac: enable linking static non-import libs (921 bytes, patch)
2011-02-16 20:31 UTC, Mark Nauwelaerts
none Details | Review
gst-platform.m4: libtool setup macro (1.05 KB, patch)
2011-02-24 18:35 UTC, Mark Nauwelaerts
committed Details | Review

Description Mark Nauwelaerts 2011-02-16 20:31:49 UTC
Created attachment 181053 [details] [review]
configure.ac: enable linking static non-import libs

See e.g. http://sourceforge.net/mailarchive/message.php?msg_id=26980938

Basically, when linking a plugin to a static lib (such as in gst-ffmpeg), stock (configured) libtool won't go for building a (plugin) .dll (as it expects linking in a shared one).  While libtool can be convinced at configure time to build the .dll nevertheless (as indicated in the thread), it seems more convenient to patch configure(.ac) to take care of that.

Attached patch illustrates a snippet to include in configure.ac, but it could also go in common/ and be used elsewhere, notably in -good and -bad which contain DirectX plugins that will necessarily have to link to some static libs (not import libs).
Comment 1 Tim-Philipp Müller 2011-02-18 15:13:55 UTC
> Attached patch illustrates a snippet to include in configure.ac, but it could
> also go in common/ and be used elsewhere, notably in -good and -bad which
> contain DirectX plugins that will necessarily have to link to some static libs
> (not import libs).

If there are multiple modules where this should/needs to be done, let's put it into common (macro GST_LIBTOOL_PREPARE/SETUP/CONFIG/SOMETHING?)
Comment 2 Mark Nauwelaerts 2011-02-24 18:35:39 UTC
Created attachment 181858 [details] [review]
gst-platform.m4: libtool setup macro

So, presumably something along these lines (and then the obvious replacement in configure.ac) ?
Comment 3 Tim-Philipp Müller 2011-02-24 19:44:27 UTC
Looks good to me.
Comment 4 Mark Nauwelaerts 2011-02-28 19:22:56 UTC
common:

commit 6aec6b9716c184c60c4bc6a5916a2471cfa8c8cd
Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Date:   Thu Feb 24 19:11:49 2011 +0100

    gst-platform: cygwin/mingw; libtool setup macro to enable linking to static lib
    
    That is, linking a "real" static lib, rather than only static import lib,
    into a (plugin) dll, as is necessarily the case for some plugins.
    
    See #642507.

----
-good:

commit 1ccadf5c308239df22ad429788fc81b7b152feaf
Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Date:   Mon Feb 28 19:16:00 2011 +0100

    configure.ac: cygwin/mingw; enable plugin linking to static lib
    
    Useful for DirectX plugin(s).
    
    Fixes #642507.

----

-ffmpeg:

commit 4be4063fd943d361629d00f9c780c653614fb882
Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Date:   Thu Jan 27 22:22:02 2011 +0100

    configure.ac: cygwin/mingw32; enable linking static non-import libs
    
    ... such as to internal ffmpeg static libs.
    
    Fixes #642507.

----

-bad:

commit e4331322f2ea775e1b55aed99d3f964dbe324bb8
Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Date:   Mon Feb 28 20:19:53 2011 +0100

    configure.ac: cygwin/mingw; enable plugin linking to static lib
    
    Useful for DirectX plugin(s).
    
    Fixes #642507.