Commit 7602c536 authored by Gildas Bazin's avatar Gildas Bazin

- The ./configure script is more friendly for Win32 users.

    ( xvideo, x11 and dsp plugins are not enabled by default for win32,
      plus a few other Win32 cosmetic changes )
- Updated the INSTALL-win32.txt file.

(Let's hope I didn't break anything ;-)
parent 48f385ee
......@@ -17,7 +17,7 @@ To store a debug log of the current vlc session, you can use
If you want to play a DVD, run vlc and click on the Disc option in the
interface. You then have to type your drive letter in the 'Device name'
box (eg. 'D:' if your dvdrom drive is assigned the letter 'D').
(Warning: you have to be in administrator mode (for now) on Win2k)
( !Warning: you have to be in administrator mode (for now) on Win2k )
Building VideoLAN from source code
......@@ -35,27 +35,48 @@ You can build the win32 vlc port in two ways:
- natively on Windows
- or on Linux, using cross-compiling
All these tools can be found on the libSDL web page:
All the necessary tools can be found on the libSDL web page:
http://www.libsdl.org/Xmingw32/
Configuring VideoLAN
====================
- cross-compiling with mingw32:
You need to download the linux cross-compiler version of mingw32.
(for Debian GNU/Linux users, there is a mingw32 package)
You must also not forget to install some extra header files and libraries if
you want to build some plugins like DirectX, GTK or SDL.
A typical way to configure vlc is:
- compiling natively on Windoze:
[coming soon (investigating a combination of cygwin+mingw32)]
./configure --disable-x11 --disable-xvideo --disable-dsp --disable-sdl \
--with-directx=/usr/local/cross-compile/i386-mingw32msvc
Configuring the build
=====================
A typical way to configure the build process of vlc is to use the
`./configure' script.
See `./configure --help' for more information.
To cross-compile for the Win32 platform using mingw32:
For example if you are cross-compiling from Debian, you can use something
along those lines:
make distclean ; CC=i586-mingw32msvc-gcc \
./configure --host=i586-mingw32msvc --target=i586-mingw32msvc \
--build=i386-linux --with-gtk-config-path=/usr/i586-mingw32msvc/bin \
--with-sdl-config-path=/usr/i586-mingw32msvc/bin
make distclean ; CC=i586-mingw32msvc-gcc CFLAGS=-I/usr/i586-mingw32msvc \
RANLIB=i586-mingw32msvc-ranlib WINDRES=i586-mingw32msvc-windres \
./configure --host=i386-mingw32msvc \
--target=i386-mingw32msvc --build=i386-linux --disable-dsp \
--disable-x11 --disable-xvideo
./configure uses the 'gtk-config' and 'sdl-config' scripts and unfortunately,
when cross-compiling you have to tell ./configure where to find them.
You have two choices for this, you can either add the path to these files at
the beginning of your PATH variable. Or you can use the
'--with-gtk/sdl-config-path' option.
(by the way, you may have to create a gtk-config script yourself or modify
the one from your linux distro)
If you are cross-compiling using the package provided by
http://www.libsdl.org/Xmingw32/, you can use something along those lines:
make distclean ; PATH=/usr/local/cross-tools/bin:/usr/local/cross-tools/i386-mingw32msvc/bin:$PATH \
./configure --host=i386-mingw32msvc \
--target=i386-mingw32msvc --build=i386-linux
Building VideoLAN
=================
......@@ -66,10 +87,10 @@ the core application. The configure script tries to guess for you.
Once configured, run `make' to build vlc.
If you are using the tools from http://www.libsdl.org/Xmingw32/ you can type something like:
PATH=/usr/local/cross-tools/bin:/usr/local/cross-tools/i386-mingw32msvc/bin:$PATH \
make
Well done, now you're ready to use vlc!
This diff is collapsed.
......@@ -31,7 +31,7 @@ dnl Check for tools
AC_PROG_MAKE_SET
AC_PROG_CC
AC_PROG_CPP
AC_PROG_RANLIB
AC_CHECK_TOOL(RANLIB, ranlib, :)
dnl AM_PROG_LIBTOOL
AC_PROG_INSTALL
......@@ -388,6 +388,31 @@ if test x"$ac_cv_ld_altivec" != x"no"; then
LIB_ALTIVEC="-framework vecLib"
fi
dnl
dnl Check the operating system
dnl
case ${target_os} in
bsdi*)
SYS=bsdi
;;
darwin*)
SYS=darwin
;;
*mingw32*)
SYS=mingw32
;;
*)
SYS=${target_os}
;;
esac
dnl
dnl Windoze specific section
dnl
if test $SYS = mingw32; then
AC_CHECK_TOOL(WINDRES, windres, :)
fi
dnl
dnl libdvdcss: check for DVD ioctls
dnl
......@@ -480,21 +505,6 @@ AC_CHECK_HEADERS(sys/ioctl.h,[
fi
])
dnl
dnl Check the operating system
dnl
case ${target_os} in
bsdi*)
SYS=bsdi
;;
darwin*)
SYS=darwin
;;
*)
SYS=${target_os}
;;
esac
dnl
dnl Special arch tuning
dnl
......@@ -736,11 +746,13 @@ else
dnl
dnl OSS /dev/dsp module
dnl (enabled by default except on win32)
dnl
AC_ARG_ENABLE(dsp,
[ --disable-dsp Linux /dev/dsp support (default enabled)])
if test x$enable_dsp != xno
if test x$enable_dsp != xno &&
(test $SYS != mingw32 || test x$enable_dsp = xyes)
then
if test -c /dev/dsp
then
......@@ -888,28 +900,35 @@ fi
dnl
dnl Windows DirectX module
dnl
AC_ARG_WITH(directx,
[ --with-directx[=name] Windows DirectX support (default enabled)],
[ if test "x$withval" != "xno"
AC_ARG_ENABLE(directx,
[ --disable-directx Windows DirectX support (default enabled on WIN32)],
[ if test "x$enableval" != "xno"
then
PLUGINS="${PLUGINS} directx"
if test "x$withval" != "xyes"
if test "x$enableval" = "xyes"
then
LIB_DIRECTX="${LIB_DIRECTX} -L"$withval"/lib -lgdi32 -ldxguid"
INCLUDE="${INCLUDE} -I"$withval"/include"
AC_CHECK_HEADERS(directx.h, [LIB_DIRECTX="-lgdi32 -ldxguid"],
AC_MSG_ERROR([Cannot find DirectX headers !]))
else
AC_CHECK_HEADERS(directx.h, ,
AC_MSG_ERROR([Cannot find DirectX headers !])
)
LIB_DIRECTX="${LIB_DIRECTX} -L/usr/lib -lgdi32 -ldxguid"
AC_MSG_CHECKING(for directX headers in ${enableval})
if test -f ${enableval}/include/directx.h
then
LIB_DIRECTX="-L${enableval}/lib -lgdi32 -ldxguid"
INCLUDE="${INCLUDE} -I${enableval}/include"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
AC_MSG_ERROR([Cannot find ${enableval}/include/directx.h!])
fi
fi
fi ])
if test "x$withval" = "x"
fi ],
[ if test $SYS = mingw32
then
AC_CHECK_HEADERS(directx.h,
[PLUGINS="${PLUGINS} directx"
LIB_DIRECTX="${LIB_DIRECTX} -L/usr/lib -lgdi32 -ldxguid"])
fi
[ PLUGINS="${PLUGINS} directx"
LIB_DIRECTX="-lgdi32 -ldxguid" ],
[ echo "Cannot find DirectX headers !" ])
fi ])
dnl
dnl Glide module
......@@ -1005,8 +1024,15 @@ AC_ARG_ENABLE(gtk,
[ --disable-gtk Gtk+ support (default enabled)])
if test x$enable_gtk != xno
then
GTK_PATH=$PATH
AC_ARG_WITH(gtk-config-path,
[ --with-gtk-config-path=path gtk-config path (default search in \$PATH)],
[ if test "x$withval" != "xno"
then
GTK_PATH=$withval:$PATH
fi ])
# look for gtk-config
AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
AC_PATH_PROG(GTK_CONFIG, gtk-config, no, $GTK_PATH)
if test -x ${GTK_CONFIG}
then
CFLAGS_GTK="`${GTK_CONFIG} --cflags gtk`"
......@@ -1024,10 +1050,12 @@ fi
dnl
dnl X11 module
dnl (enabled by default except on win32)
dnl
AC_ARG_ENABLE(x11,
[ --disable-x11 X11 support (default enabled)])
if test x$enable_x11 != xno; then
if test x$enable_x11 != xno &&
(test $SYS != mingw32 || test x$enable_x11 = xyes); then
if test x$x_includes = xNONE; then
x_includes=/usr/X11R6/include
fi
......@@ -1046,10 +1074,12 @@ fi
dnl
dnl XVideo module
dnl (enabled by default except on win32)
dnl
AC_ARG_ENABLE(xvideo,
[ --disable-xvideo XVideo support (default enabled)])
if test x$enable_xvideo != xno; then
if test x$enable_xvideo != xno &&
(test $SYS != mingw32 || test x$enable_xvideo = xyes); then
if test x$x_includes = xNONE; then
x_includes=/usr/X11R6/include
fi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment