[vlc-devel] Custom variation of wingdi module problem

Juan Fernando Herrera J. juanfhj at gmail.com
Mon Jun 15 20:29:58 CEST 2009


I'm making a custom variation, wingdi_MOD, of the wingdi module. For
testing, I want to have both plugins simultaneously available, so I
duplicated some sections in configure.ac. This did work for a while,
but after some modifications to my code and trying configuration
tweaks, my wingdi_MOD2 ended up "corrupting" vlc: It would work only
by removing my plugin's dll from the path. Even refreshing  bootstrap
and configure wouldn't solve it. So, I'm considering to have
duplicated -lgdi32 and -lgdi32_MOD libraries.

In my first attempt, I duplicated the configure.ac section as:

dnl  win32 GDI_MOD plugin
AC_ARG_ENABLE(wingdi_MOD,
  [  --enable-wingdi_MOD         Win32 GDI_MOD module (default enabled
on Win32)])
if test "${enable_wingdi_MOD}" != "no"; then
  if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
    VLC_ADD_PLUGIN([wingdi_MOD])
    VLC_ADD_LIBS([wingdi_MOD],[-lgdi32])    <=============== (1)
  fi
fi

I'm not sure of the decision I made in (1). I thought about using
-lgdi32_MOD instead. However, elsewhere in configure.ac it's full with
lines like (grep)
        VLC_ADD_LIBS([activex mozilla],[-lgdi32])
    VLC_ADD_LIBS([screen],[-lgdi32])
        VLC_ADD_LIBS([vout_directx],[-lgdi32])
        VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
        VLC_ADD_LIBS([direct3d],[-lgdi32])
        VLC_ADD_LIBS([vout_directx],[-lgdi32])
    VLC_ADD_LIBS([wingdi],[-lgdi32])
    VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32
-lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid
-lcomctl32])
    VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])

deeply nested in if fi blocks.

Can I get a hint of how to make these plugins sit together safe? Is
there a way I can have a separate -lgdi32_MOD without incurring in the
duplications above?

TIA

Juan Herrera



More information about the vlc-devel mailing list