[vlc-devel] [PATCH 00/12] MSVC port

Felix Abecassis felix.abecassis at gmail.com
Fri Nov 29 17:41:25 CET 2013


The goal of this serie of patches is to be able to compile VLC with
MSVC 2013. This is still work in progress.

Not all these patches are meant to be applied. For instance we might
want to wait until MSVC supports #warning instead of applying the
first patch.

Felix Abecassis (12):
  Replace #warning with '#pragma message'.
  Fix concatenation of Unicode string literals.
  Add #ifdef clauses around MinGW specific code.
  Empty structures are not allowed by the C standard.
  Replace variable-length arrays by calls to alloca() for C90    
    compliance.
  Implement ATTR_PACKED for MSVC.
  network: undef EAFNOSUPPORT before overriding it.
  Implement atomic operations for MSVC using the Interlocked API.
  fourcc: MSVC does not support an empty structure expression during
    initialization.
  Add missing include in order to provide a declaration of _pipe under
    MSVC.
  Avoid redeclaration of lseek under MSVC.
  Workarounds for MSVC bugs.

 bin/rootwrap.c                       |    2 +-
 compat/flockfile.c                   |    2 +-
 compat/fsync.c                       |    2 +-
 compat/inet_pton.c                   |    1 +
 compat/setenv.c                      |   10 +++--
 include/vlc_atomic.h                 |   80 ++++++++++++++++++++++++++++++++++
 include/vlc_charset.h                |    9 +++-
 include/vlc_codecs.h                 |    4 +-
 include/vlc_common.h                 |    2 +-
 include/vlc_fs.h                     |    6 ++-
 include/vlc_interface.h              |    2 +-
 lib/media.c                          |    2 +-
 lib/media_list.c                     |    2 +-
 modules/access/bluray.c              |    2 +-
 modules/access/dtv/linux.c           |    4 +-
 modules/access/dvb/linux_dvb.c       |    2 +-
 modules/access/dvb/scan.c            |    2 +-
 modules/access/jack.c                |    2 +-
 modules/access/mtp.c                 |    2 +-
 modules/codec/avcodec/avcodec.c      |    2 +-
 modules/codec/avcodec/vaapi.c        |    2 +-
 modules/codec/crystalhd.c            |    2 +-
 modules/codec/wmafixed/wmafixed.h    |    2 +-
 modules/control/motion.c             |    4 +-
 modules/control/rc.c                 |    2 +-
 modules/demux/avformat/demux.c       |    2 +-
 modules/demux/mkv/mkv.cpp            |    2 +-
 modules/demux/ogg.c                  |    2 +-
 modules/gui/qt4/dialogs/firstrun.cpp |    2 +-
 modules/lua/libs/playlist.c          |    2 +-
 modules/misc/rtsp.c                  |    4 +-
 modules/video_chroma/i420_yuy2.c     |    2 +-
 modules/video_output/msw/directx.c   |    2 +-
 src/audio_output/common.c            |    2 +-
 src/audio_output/dec.c               |    5 +-
 src/audio_output/filters.c           |   15 ++++--
 src/audio_output/output.c            |    3 +-
 src/audio_output/volume.c            |    6 ++-
 src/config/chain.c                   |    6 +-
 src/config/core.c                    |    3 +-
 src/config/file.c                    |    2 +-
 src/config/help.c                    |    8 ++-
 src/extras/libc.c                    |    5 +-
 src/input/clock.c                    |    2 +-
 src/input/control.c                  |    3 +-
 src/input/decoder.c                  |    9 +++-
 src/input/es_out.c                   |   41 +++++++++++------
 src/input/es_out_timeshift.c         |   12 +++--
 src/input/input.c                    |   41 ++++++++++--------
 src/input/item.c                     |    2 +-
 src/input/meta.c                     |    3 +-
 src/input/resource.c                 |    3 +-
 src/input/stream.c                   |    7 ++-
 src/input/stream_demux.c             |    3 +-
 src/input/subtitles.c                |    8 ++--
 src/input/vlm.c                      |    3 +-
 src/input/vlmshell.c                 |    5 +-
 src/interface/dialog.c               |   15 ++++--
 src/interface/interface.c            |    3 +-
 src/misc/block.c                     |   12 +++--
 src/misc/fourcc.c                    |    2 +-
 src/misc/http_auth.c                 |    4 +-
 src/misc/messages.c                  |    7 ++-
 src/misc/objects.c                   |    2 +-
 src/misc/picture.c                   |    9 ++--
 src/misc/picture_pool.c              |    2 +-
 src/misc/subpicture.c                |    6 ++-
 src/misc/text_style.c                |    3 +-
 src/misc/variables.c                 |    3 +-
 src/modules/bank.c                   |    2 +-
 src/network/httpd.c                  |    5 +-
 src/network/io.c                     |    4 +-
 src/network/tcp.c                    |    2 +-
 src/network/tls.c                    |    3 +-
 src/network/udp.c                    |    3 +-
 src/os2/specific.c                   |    5 +-
 src/playlist/art.c                   |    5 +-
 src/playlist/engine.c                |    5 +-
 src/playlist/fetcher.c               |    3 +-
 src/playlist/item.c                  |   11 +++--
 src/playlist/loadsave.c              |    7 ++-
 src/playlist/search.c                |    3 +-
 src/playlist/services_discovery.c    |    5 +-
 src/playlist/thread.c                |    2 +-
 src/playlist/tree.c                  |    3 +-
 src/posix/thread.c                   |    6 +-
 src/stream_output/sap.c              |    3 +-
 src/stream_output/sdp.c              |    2 +-
 src/stream_output/stream_output.c    |    3 +-
 src/test/xmlent.c                    |    2 +-
 src/text/filesystem.c                |    3 +-
 src/text/strings.c                   |    6 ++-
 src/text/unicode.c                   |    8 ++-
 src/text/url.c                       |    2 +-
 src/video_output/display.c           |   21 +++++----
 src/video_output/event.h             |    4 +-
 src/video_output/inhibit.c           |    3 +-
 src/video_output/snapshot.c          |    5 +-
 src/video_output/video_epg.c         |    3 +-
 src/video_output/video_output.c      |   23 ++++++----
 src/video_output/video_text.c        |    3 +-
 src/video_output/video_widgets.c     |    3 +-
 src/video_output/vout_subpictures.c  |   29 ++++++++-----
 src/video_output/window.c            |    3 +-
 src/win32/dirs.c                     |   12 +++--
 src/win32/filesystem.c               |    8 +++-
 src/win32/netconf.c                  |    2 +-
 src/win32/plugin.c                   |    3 +-
 src/win32/specific.c                 |   11 ++---
 src/win32/thread.c                   |    8 ++-
 src/win32/winsock.c                  |    2 +-
 test/libvlc/media.c                  |    2 +-
 112 files changed, 441 insertions(+), 242 deletions(-)

-- 
1.7.9




More information about the vlc-devel mailing list