Skip to content
Snippets Groups Projects
  1. Sep 30, 2014
  2. Sep 27, 2014
  3. Sep 21, 2014
  4. Sep 17, 2014
  5. Sep 10, 2014
  6. Sep 04, 2014
  7. Sep 01, 2014
  8. Aug 31, 2014
  9. Aug 30, 2014
  10. Aug 28, 2014
  11. Aug 23, 2014
  12. Aug 22, 2014
  13. Aug 17, 2014
  14. Aug 15, 2014
  15. Aug 12, 2014
  16. Aug 02, 2014
  17. Jul 31, 2014
  18. Jul 30, 2014
  19. Jul 29, 2014
  20. Jul 26, 2014
  21. Jul 23, 2014
  22. Jul 04, 2014
  23. Jun 19, 2014
  24. Jun 14, 2014
    • Jean-Baptiste Kempf's avatar
    • Jean-Baptiste Kempf's avatar
      On the road to 3.0.0 · ee5be2d0
      Jean-Baptiste Kempf authored
      SI NON CONFECTVS, NON REFICIAT.
      ee5be2d0
    • Konstantinos Tsanaktsidis's avatar
      Fix libmod_plugin undefined __imp_ symbols building for win32 · 298616dd
      Konstantinos Tsanaktsidis authored and Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf committed
      
      When building current HEAD of master for x86_64-w64-mingw32 against current
      contribs, compilation fails at libmod_plugin due to undefined symbols of
      the form __imp_ModPlug_*. This patch modifies libmodplug in contribs by
      adding -DMODPLUG_STATIC to CFlags in the pkg-config file. A bug is also
      fixed in the main build system to make sure the CFLAGS are picked up from
      this pkg-config file.
      
      This problem occurs because of the following code in
      contrib/x86_64-w64-mingw32/include/libmodplug/modplug.h. This code is
      present in libmodplug obtained from running "make fetch & make" in the
      contribs directory, but not present in the prebuilt contribs obtained from
      running "make prebuilt".
      
       #if defined(_WIN32) || defined(__CYGWIN__)
       # if defined(MODPLUG_BUILD) && defined(DLL_EXPORT)
       #   define MODPLUG_EXPORT __declspec(dllexport)
       # elif defined(MODPLUG_BUILD) || defined(MODPLUG_STATIC)
       #   define MODPLUG_EXPORT
       # else
       #   define MODPLUG_EXPORT __declspec(dllimport)
       # endif
      
      When building for Windows, if MODPLUG_STATIC is not defined, MODPLUG_EXPORT
      is defined as "__declspec(dllimport)". On Windows, dynamic symbols are
      prefixed with "__imp_", so this causes GCC to adjust the symbol references
      to the libmodplug functions accordingly.
      
      This patch therefore adds a patch to contribs for libmodplug's pkg-config
      file. It adds -DMODPLUG_STATIC to CFlags, so that when libmod_plugin is
      building it will have the correct symbol names.
      
      However, there is also a bug in the build system that needs to be fixed for
      this to work. The configure script sets a CXXFLAGS_mod containing the
      output of pkg-config for libmodplug, but not CFLAGS_mod. Additionally, the
      Makefile.ac for libmod_plugin sets CXXFLAGS when in fact the relevant files
      (mod.c) are plain C. Autotools therefore ignores these CXXFLAGS when
      generating a makefile.
      
      The solution is to add a macro to configure.ac to set CFLAGS_mod. This then
      needs to be used in modules/demux/Makefile.am to populate
      libmod_plugin_la_CFLAGS instead of libmod_plugin_la_CXXFLAGS (which gets
      ignored).
      
      Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
      298616dd
  25. May 29, 2014
  26. May 23, 2014
  27. May 22, 2014
Loading