]> git.sesse.net Git - vlc/commitdiff
* configure.ac.in: vlc can now be built under cygwin with or without the
authorGildas Bazin <gbazin@videolan.org>
Sun, 6 Oct 2002 19:28:28 +0000 (19:28 +0000)
committerGildas Bazin <gbazin@videolan.org>
Sun, 6 Oct 2002 19:28:28 +0000 (19:28 +0000)
   unix emulation layer (without if you use CC="gcc -mno-cygwin").
* INSTALL.win32: doc update for cygwin build.
* modules/video_output/directx/events.c, modules/video_output/directx/directx.c,
   modules/audio_output/directx.c: compilation fixes for cygwin.

INSTALL.win32
configure.ac.in
modules/audio_output/directx.c
modules/video_output/directx/directx.c
modules/video_output/directx/events.c

index bc0bd9f04e4ceca5a8a2f6b0f17c2042590a4ce4..ab66cc843d3d7cc9e49729cf2e8424ca1d58faa6 100644 (file)
@@ -23,12 +23,15 @@ Building VideoLAN Client from the source code
 =============================================
 
 If you want to do the tricky job of building vlc from sources, you can do it
 =============================================
 
 If you want to do the tricky job of building vlc from sources, you can do it
-in two ways:
+in several ways:
 
 - natively on Windows, using MSYS+MINGW (www.mingw.org)
   (MSYS is a minimal build environnement to compile unixish projects under
    windoze. It provides all the common unix tools like sh, gmake...)
 
 
 - natively on Windows, using MSYS+MINGW (www.mingw.org)
   (MSYS is a minimal build environnement to compile unixish projects under
    windoze. It provides all the common unix tools like sh, gmake...)
 
+- natively on Windows, using cygwin (www.cygwin.com) with or without the
+  unix emulation layer.
+
 - or on Linux, using the mingw32 cross-compiler
 
 Getting the right tools
 - or on Linux, using the mingw32 cross-compiler
 
 Getting the right tools
@@ -44,7 +47,7 @@ You first need to download a linux cross-compiler version of mingw32.
 You must also not forget to install the extra development packages if you want
 to build the DirectX, GTK and SDL plugins.
 
 You must also not forget to install the extra development packages if you want
 to build the DirectX, GTK and SDL plugins.
 
-- compiling natively on Windoze:
+- compiling natively on Windoze with MSYS+MINGW:
 You will need to download and install the latest MSYS (version 1.0.7 as
 of now) and MINGW.
 The installation is really easy. Begin with the MSYS auto-installer and once
 You will need to download and install the latest MSYS (version 1.0.7 as
 of now) and MINGW.
 The installation is really easy. Begin with the MSYS auto-installer and once
@@ -69,6 +72,13 @@ The same is true for the SDL package, it is installed in
 SDL-1.2.3-win32/i386-mingw32msvc/bin/sdl-config if you plan to extract the
 archive in a different directory.
 
 SDL-1.2.3-win32/i386-mingw32msvc/bin/sdl-config if you plan to extract the
 archive in a different directory.
 
+- compiling natively on Windoze with cygwin:
+You will need to download and install cygwin (www.cygwin.com).
+
+You must also not forget to install the extra development packages if you want
+to build the DirectX, GTK and SDL plugins.
+(http://www.videolan.org/vlc/windows.html)
+
 Configuring the build
 =====================
 
 Configuring the build
 =====================
 
@@ -80,7 +90,7 @@ See `./configure --help' for more information.
 If you are cross-compiling from Debian, you can use something
 along those lines:
 
 If you are cross-compiling from Debian, you can use something
 along those lines:
 
-  make distclean ; \
+  ./bootstrap; \
   CC=i586-mingw32msvc-gcc \
   ./configure --host=i586-mingw32msvc --build=i386-linux \
   --with-gtk-config-path=/usr/local/gtk-win32/bin \
   CC=i586-mingw32msvc-gcc \
   ./configure --host=i586-mingw32msvc --build=i386-linux \
   --with-gtk-config-path=/usr/local/gtk-win32/bin \
@@ -91,6 +101,7 @@ along those lines:
 If you are cross-compiling using the mingw32 package provided by
 www.videolan.org, you have to use something along those lines:
 
 If you are cross-compiling using the mingw32 package provided by
 www.videolan.org, you have to use something along those lines:
 
+  ./bootstrap; \
   CC=i586-mingw32msvc-gcc \
   PATH=/usr/local/cross-tools/bin:$PATH \
   ./configure --host=i586-mingw32msvc --build=i386-linux \
   CC=i586-mingw32msvc-gcc \
   PATH=/usr/local/cross-tools/bin:$PATH \
   ./configure --host=i586-mingw32msvc --build=i386-linux \
@@ -101,12 +112,26 @@ www.videolan.org, you have to use something along those lines:
 
 If you are compiling natively on Windoze, then you can use something
 along those lines:
 
 If you are compiling natively on Windoze, then you can use something
 along those lines:
+  ./bootstrap; \
   ./configure \
   --with-gtk-config-path=/c/dev/gtk-win32/bin \
   --with-sdl-config-path=/c/dev/SDL-1.2.3-win32/i386-mingw32msvc/bin \
   --with-directx=/c/dev/dxheaders \
   --with-dvdcss-tree=../libdvdcss-win
 
   ./configure \
   --with-gtk-config-path=/c/dev/gtk-win32/bin \
   --with-sdl-config-path=/c/dev/SDL-1.2.3-win32/i386-mingw32msvc/bin \
   --with-directx=/c/dev/dxheaders \
   --with-dvdcss-tree=../libdvdcss-win
 
+If you are using cygwin, you can build vlc with or without the unix emulation
+layer (without is usually better). To build without the emulaion layer, use
+something like this:
+  ./bootstrap; \
+  CC="gcc -mno-cygwin" \
+  ./configure \
+  --with-gtk-config-path=/cygdrive/c/dev/gtk-win32/bin \
+  --with-sdl-config-path=/cygdrive/c/dev/SDL-1.2.3-win32/i386-mingw32msvc/bin \
+  --with-directx=/cygdrive/c/dev/dxheaders \
+  --with-dvdcss-tree=../libdvdcss-win
+If you want to use the emulation layer, then just omit the CC="gcc -mno-cygwin"
+line.
+
 Note: when using the --with-dvdcss-tree you need to compile the tree
 beforehand.
 
 Note: when using the --with-dvdcss-tree you need to compile the tree
 beforehand.
 
index fe4cd6577399c765e2f8b5f1a3971a84d72cf68a..5c78205fa80ccb8329441a7cad25a2ed698e3073 100644 (file)
@@ -95,21 +95,34 @@ case "x${target_os}" in
     LDFLAGS_vlc="${LDFLAGS_vlc} -all_load"
     LIBEXT=".dylib"
     ;;
     LDFLAGS_vlc="${LDFLAGS_vlc} -all_load"
     LIBEXT=".dylib"
     ;;
-  x*mingw32*)
-    SYS=mingw32
-    AC_CHECK_TOOL(WINDRES, windres, :)
-    CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
-    LDFLAGS_vlc="${LDFLAGS_vlc} -lws2_32 -lnetapi32 -mwindows"
-    LDFLAGS_ipv4="${LDFLAGS_ipv4} -lws2_32"
-    LDFLAGS_ipv6="${LDFLAGS_ipv6} -lws2_32"
-    LDFLAGS_access_http="${LDFLAGS_http} -lws2_32"
-    LDFLAGS_rc="${LDFLAGS_rc} -lws2_32"
-    LIBEXT=".dll"
-    ;;
-  x*cygwin*)
-    SYS=cygwin
+  x*mingw32* | x*cygwin*)
     AC_CHECK_TOOL(WINDRES, windres, :)
     LIBEXT=".dll"
     AC_CHECK_TOOL(WINDRES, windres, :)
     LIBEXT=".dll"
+
+    case "x${target_os}" in
+      x*mingw32*)
+        SYS=mingw32
+        ;;
+      x*cygwin*)
+        dnl Check if we are using the mno-cygwin mode in which case we are
+        dnl actually dealing with a mingw32 compiler.
+        AC_EGREP_CPP(yes,
+            [#ifdef WIN32
+             yes
+             #endif],
+            SYS=mingw32, SYS=cygwin)
+        ;;
+    esac
+
+    if test "x$SYS" = "xmingw32"; then
+        CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"
+        CPPFLAGS="${CPPFLAGS_save}"
+        LDFLAGS_vlc="${LDFLAGS_vlc} -lws2_32 -lnetapi32 -mwindows"
+        LDFLAGS_ipv4="${LDFLAGS_ipv4} -lws2_32"
+        LDFLAGS_ipv6="${LDFLAGS_ipv6} -lws2_32"
+        LDFLAGS_access_http="${LDFLAGS_http} -lws2_32"
+        LDFLAGS_rc="${LDFLAGS_rc} -lws2_32"
+    fi
     ;;
   x*nto*)
     SYS=nto
     ;;
   x*nto*)
     SYS=nto
@@ -1483,7 +1496,7 @@ AC_ARG_ENABLE(directx,
   [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
 if test "x${enable_directx}" != "xno"
 then
   [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
 if test "x${enable_directx}" != "xno"
 then
-  if test "x${SYS}" = "xmingw32"
+  if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"
   then
     AC_ARG_WITH(directx,
     [    --with-directx=PATH   Win32 DirectX headers])
   then
     AC_ARG_WITH(directx,
     [    --with-directx=PATH   Win32 DirectX headers])
@@ -1667,10 +1680,11 @@ dnl  win32 waveOut plugin
 dnl
 AC_ARG_ENABLE(waveout,
   [  --enable-waveout        Win32 waveOut module (default enabled on Win32)])
 dnl
 AC_ARG_ENABLE(waveout,
   [  --enable-waveout        Win32 waveOut module (default enabled on Win32)])
-if test "x${enable_waveout}" != "xno" -a "x${SYS}" = "xmingw32"
-  then
+if test "x${enable_waveout}" != "xno"; then
+  if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"; then
     PLUGINS="${PLUGINS} waveout"
     LDFLAGS_waveout="-lwinmm"
     PLUGINS="${PLUGINS} waveout"
     LDFLAGS_waveout="-lwinmm"
+  fi
 fi
 
 dnl
 fi
 
 dnl
index 1aa04aca2123eb03a338da2740da094f4b1c9fbd..9257fe2d1c4bd3052f5a7a4c5fa9832980d50e43 100644 (file)
@@ -2,7 +2,7 @@
  * aout.c: Windows DirectX audio output method
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
  * aout.c: Windows DirectX audio output method
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
- * $Id: directx.c,v 1.1 2002/10/05 17:29:50 gbazin Exp $
+ * $Id: directx.c,v 1.2 2002/10/06 19:28:28 gbazin Exp $
  *
  * Authors: Gildas Bazin <gbazin@netcourrier.com>
  *
  *
  * Authors: Gildas Bazin <gbazin@netcourrier.com>
  *
@@ -34,6 +34,7 @@
 #include <vlc/aout.h>
 #include "aout_internal.h"
 
 #include <vlc/aout.h>
 #include "aout_internal.h"
 
+#include <windows.h>
 #include <mmsystem.h>
 #include <dsound.h>
 
 #include <mmsystem.h>
 #include <dsound.h>
 
index 03e7d38c99020bbac041e1b29fae34d96b6415bf..80bf6f169f1d42a3c727d9f6f53c6793c82d6dc6 100644 (file)
@@ -2,7 +2,7 @@
  * vout.c: Windows DirectX video output display method
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
  * vout.c: Windows DirectX video output display method
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
- * $Id: directx.c,v 1.2 2002/10/05 17:29:50 gbazin Exp $
+ * $Id: directx.c,v 1.3 2002/10/06 19:28:28 gbazin Exp $
  *
  * Authors: Gildas Bazin <gbazin@netcourrier.com>
  *
  *
  * Authors: Gildas Bazin <gbazin@netcourrier.com>
  *
@@ -42,6 +42,7 @@
 #include <vlc/intf.h>
 #include <vlc/vout.h>
 
 #include <vlc/intf.h>
 #include <vlc/vout.h>
 
+#include <windows.h>
 #include <ddraw.h>
 
 #include "netutils.h"
 #include <ddraw.h>
 
 #include "netutils.h"
index 6462ceda552396ddbfc04ee7c584f9545954b43f..60c08c31cfacdffa9fb9ed277803dc0a2d7d18ea 100644 (file)
@@ -2,7 +2,7 @@
  * events.c: Windows DirectX video output events handler
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
  * events.c: Windows DirectX video output events handler
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
- * $Id: events.c,v 1.2 2002/10/01 20:43:35 ipkiss Exp $
+ * $Id: events.c,v 1.3 2002/10/06 19:28:28 gbazin Exp $
  *
  * Authors: Gildas Bazin <gbazin@netcourrier.com>
  *
  *
  * Authors: Gildas Bazin <gbazin@netcourrier.com>
  *
@@ -246,7 +246,7 @@ static int DirectXCreateWindow( vout_thread_t *p_vout )
     HDC        hdc;
     HMENU      hMenu;
     HICON      vlc_icon = NULL;
     HDC        hdc;
     HMENU      hMenu;
     HICON      vlc_icon = NULL;
-    char       vlc_path[_MAX_PATH+1];
+    char       vlc_path[MAX_PATH+1];
 
     msg_Dbg( p_vout, "DirectXCreateWindow" );
 
 
     msg_Dbg( p_vout, "DirectXCreateWindow" );
 
@@ -290,7 +290,7 @@ static int DirectXCreateWindow( vout_thread_t *p_vout )
 
     /* Get the Icon from the main app */
     vlc_icon = NULL;
 
     /* Get the Icon from the main app */
     vlc_icon = NULL;
-    if( GetModuleFileName( NULL, vlc_path, _MAX_PATH ) )
+    if( GetModuleFileName( NULL, vlc_path, MAX_PATH ) )
     {
         vlc_icon = ExtractIcon( hInstance, vlc_path, 0 );
     }
     {
         vlc_icon = ExtractIcon( hInstance, vlc_path, 0 );
     }