opengl fixups for win32

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24527 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2007-02-13 18:03:58 +00:00
parent ee28dd9a86
commit 217be1a2a2
3 changed files with 1413 additions and 63 deletions

View file

@ -1,3 +1,7 @@
2007-02-13 Xavier Glattard <xavier.glattard@free.fr>
configure.ac: opengl fixups for win32
2007-02-11 Fred Kiefer <FredKiefer@gmx.de> 2007-02-11 Fred Kiefer <FredKiefer@gmx.de>
* Source/cairo/CairoGState.m (-DPScharpath::, -DPSshow:, * Source/cairo/CairoGState.m (-DPScharpath::, -DPSshow:,

1314
configure vendored

File diff suppressed because it is too large Load diff

View file

@ -228,14 +228,14 @@ if test "x$enable_glx" = "xyes"; then
], have_glx_rgba=yes, have_glx_rgba=no) ], have_glx_rgba=yes, have_glx_rgba=no)
AC_MSG_RESULT([$have_glx_rgba]) AC_MSG_RESULT([$have_glx_rgba])
if test "$have_glx" = yes -a "$ac_cv_header_GL_glx_h" = yes -a "$have_glx_rgba" = yes; then if test "$have_glx" = yes -a "$ac_cv_header_GL_glx_h" = yes -a "$have_glx_rgba" = yes; then
LIBS="-lGL ${LIBS}" GLX_LIBS="-lGL"
GLX_FLAGS=""
WITH_GLX=yes WITH_GLX=yes
AC_DEFINE(HAVE_GLX,1,[Define if you have the glx library]) AC_DEFINE(HAVE_GLX,1,[Define if you have the glx library])
fi fi
fi fi
AC_SUBST(WITH_GLX) AC_SUBST(WITH_GLX)
#-------------------------------------------------------------------- #--------------------------------------------------------------------
# XIM support # XIM support
#-------------------------------------------------------------------- #--------------------------------------------------------------------
@ -265,13 +265,43 @@ fi
#-------------------------------------------------------------------- #--------------------------------------------------------------------
AC_CHECK_LIB(gdi32, main, have_gdi32=yes, have_gdi32=no) AC_CHECK_LIB(gdi32, main, have_gdi32=yes, have_gdi32=no)
if test "$have_gdi32" = yes; then if test "$have_gdi32" = yes; then
WIN32_LIBS="-lgdi32" WIN32_LIBS="-lgdi32 -lm"
fi fi
AC_CHECK_LIB(msimg32, main, have_msimg32=yes, have_msimg32=no) AC_CHECK_LIB(msimg32, main, have_msimg32=yes, have_msimg32=no)
if test "$have_msimg32" = yes; then if test "$have_msimg32" = yes; then
WIN32_LIBS="${WIN32_LIBS} -lmsimg32" WIN32_LIBS="${WIN32_LIBS} -lmsimg32"
fi fi
#--------------------------------------------------------------------
# WGL support
#--------------------------------------------------------------------
WITH_WGL=no
AC_ARG_ENABLE(wgl,
[ --disable-wgl Disable WGL support],,
enable_wgl=yes)
if test "x$enable_wgl" = "xyes"; then
AC_CHECK_LIB(opengl32, main, have_wgl=yes, have_wgl=no)
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS"
AC_CHECK_HEADER(windows.h)
CPPFLAGS="$save_CPPFLAGS"
if test "$have_wgl" = yes -a "$ac_cv_header_windows_h" = yes; then
AC_MSG_CHECKING([for wgl])
WGL_LIBS="-lopengl32 -lgdi32"
WGL_CFLAGS=""
save_libs="$LIBS"
LIBS="$WGL_LIBS"
AC_TRY_LINK([#include <windows.h>], [int main() { wglCreateContext(0); }],
[use_wgl=yes], [use_wgl=no])
LIBS="$save_libs"
AC_MSG_RESULT([$use_wgl])
WITH_WGL=$use_wgl
AC_DEFINE(HAVE_WGL,1,[Define if you have the wgl library])
fi
fi
AC_SUBST(WITH_WGL)
#-------------------------------------------------------------------- #--------------------------------------------------------------------
# libart graphics libraries # libart graphics libraries
#-------------------------------------------------------------------- #--------------------------------------------------------------------
@ -300,24 +330,65 @@ fi
#-------------------------------------------------------------------- #--------------------------------------------------------------------
# Cairo graphics libraries # Cairo graphics libraries
#-------------------------------------------------------------------- #--------------------------------------------------------------------
PKG_CAIRO=no
PKG_CHECK_MODULES(CAIRO, cairo, have_cairo=yes, have_cairo=no) PKG_CHECK_MODULES(CAIRO, cairo, have_cairo=yes, have_cairo=no)
PKG_CAIRO_FT=no
PKG_CHECK_MODULES(CAIRO_FT, cairo-ft, have_cairo_ft=yes, have_cairo_ft=no)
PKG_CAIRO_XLIB=no
PKG_CHECK_MODULES(CAIRO_XLIB, cairo-xlib, have_cairo_xlib=yes, have_cairo_xlib=no)
PKG_CAIRO_WIN32=no
PKG_CHECK_MODULES(CAIRO_WIN32, cairo-win32, have_cairo_win32=yes, have_cairo_win32=no)
PKG_CAIRO_GLITZ=no
PKG_CHECK_MODULES(CAIRO_GLITZ, cairo-glitz, have_cairo_glitz=yes, have_cairo_glitz=no)
#-------------------------------------------------------------------- #--------------------------------------------------------------------
# Glitz-GLX libraries # Glitz libraries
#-------------------------------------------------------------------- #--------------------------------------------------------------------
WITH_GLITZ=no WITH_GLITZ=no
AC_ARG_ENABLE(glitz, AC_ARG_ENABLE(glitz,
[ --disable-glitz Disable Glitz support],, [ --enable-glitz Enable Glitz support],,
enable_glitz=yes) enable_glitz=no)
if test "x$enable_glitz" = "xyes"; then if test "x$enable_glitz" = "xyes"; then
PKG_CHECK_MODULES(GLITZ, glitz-glx, have_glitz_glx=yes, have_glitz_glx=no) PKG_CHECK_MODULES(GLITZ, glitz, have_glitz=yes, have_glitz=no)
AC_CHECK_HEADER(glitz-glx.h,have_glitz_glx_h=yes, have_glitz_glx_h=no) save_CPPFLAGS=$CPPFLAGS
if test "$have_glitz_glx" = yes -a "$have_glitz_glx_h" = yes; then CPPFLAGS="$CPPFLAGS $GLITZ_CFLAGS"
WITH_GLITZ=yes AC_CHECK_HEADER(glitz.h,have_glitz_h=yes, have_glitz_h=no)
LIBS="$GLITZ_LIBS $LIBS" CPPFLAGS=$save_CPPFLAGS
GRAPHIC_CFLAGS="$GLITZ_CFLAGS $GRAPHIC_CFLAGS" if test "$have_glitz" = yes -a "$have_glitz_h" = yes; then
AC_DEFINE(HAVE_GLITZ_GLX,1,[Define if you have glitz])
if test "x$WITH_GLX" = "xyes"; then
PKG_CHECK_MODULES(GLITZ_GLX, glitz-glx, have_glitz_glx=yes, have_glitz_glx=no)
save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $GLITZ_GLX_CFLAGS"
AC_CHECK_HEADER(glitz-glx.h,have_glitz_glx_h=yes, have_glitz_glx_h=no)
CPPFLAGS=$save_CPPFLAGS
if test "$have_glitz_glx" = yes -a "$have_glitz_glx_h" = yes; then
GLITZ_LIBS="$GLITZ_LIBS $GLITZ_GLX_LIBS"
GLITZ_CFLAGS="$GLITZ_CFLAGS $GLITZ_GLX_CFLAGS"
AC_DEFINE(HAVE_GLITZ_GLX,1,[Define if you have glitz-glx])
WITH_GLITZ=yes
fi
fi
if test "x$WITH_WGL" = "xyes"; then
PKG_CHECK_MODULES(GLITZ_WGL, glitz-wgl, have_glitz_wgl=yes, have_glitz_wgl=no)
save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $GLITZ_WGL_CFLAGS"
AC_CHECK_HEADER(glitz-wgl.h,have_glitz_wgl_h=yes, have_glitz_wgl_h=no)
CPPFLAGS=$save_CPPFLAGS
if test "$have_glitz_wgl" = yes -a "$have_glitz_wgl_h" = yes; then
GLITZ_LIBS="$GLITZ_LIBS $GLITZ_WGL_LIBS"
GLITZ_CFLAGS="$GLITZ_CFLAGS $GLITZ_WGL_CFLAGS"
AC_DEFINE(HAVE_GLITZ_WGL,1,[Define if you have glitz-wgl])
WITH_GLITZ=yes
fi
fi
if test "$WITH_GLITZ" != "yes" ; then
AC_MSG_ERROR([Invalid glitz backend : glitz-glx or glitz-wgl required.])
AC_MSG_NOTICE([Glitz disable])
fi
AC_DEFINE(USE_GLITZ,1,[Define to enable glitz support]) AC_DEFINE(USE_GLITZ,1,[Define to enable glitz support])
fi fi
AC_SUBST(WITH_GLITZ) AC_SUBST(WITH_GLITZ)
@ -338,8 +409,7 @@ LDFLAGS=${GRAPHIC_LFLAGS}
BUILD_SERVER=x11 BUILD_SERVER=x11
BUILD_GRAPHICS=art BUILD_GRAPHICS=art
case $target_os in case $target_os in
*mingw32* ) BUILD_SERVER=win32 *mingw32* ) BUILD_SERVER=win32;;
BUILD_GRAPHICS=winlib;;
esac esac
AC_ARG_ENABLE(server, AC_ARG_ENABLE(server,
@ -379,22 +449,44 @@ elif test x"$BUILD_GRAPHICS" = "xart"; then
CPPFLAGS="$LIBART_CFLAGS $FREETYPE_CFLAGS $CPPFLAGS" CPPFLAGS="$LIBART_CFLAGS $FREETYPE_CFLAGS $CPPFLAGS"
fi fi
elif test x"$BUILD_GRAPHICS" = "xcairo"; then elif test x"$BUILD_GRAPHICS" = "xcairo"; then
if test "$have_cairo" = no; then if test "$have_cairo" = no -o "$have_cairo-ft" = no ; then
AC_MSG_ERROR([can't find cairo, required for graphics=cairo!]) AC_MSG_ERROR([can't find cairo, required for graphics=cairo!])
BUILD_GRAPHICS=xlib
fi
if test "$have_freetype" = no; then
AC_MSG_WARN([can't find freetype, required for graphics=cairo])
BUILD_GRAPHICS=xlib
fi
if test $BUILD_GRAPHICS = xlib; then
if test $BUILD_SERVER = win32; then if test $BUILD_SERVER = win32; then
BUILD_GRAPHICS=winlib BUILD_GRAPHICS=winlib
else
BUILD_GRAPHICS=xlib
fi fi
AC_MSG_NOTICE([Switching to $BUILD_GRAPHICS]) AC_MSG_NOTICE([Switching to $BUILD_GRAPHICS])
else else
LIBS="$CAIRO_LIBS $FREETYPE_LIBS $LIBS" AC_MSG_CHECKING(Cairo backend)
CPPFLAGS="$CAIRO_CFLAGS $FREETYPE_CFLAGS $CPPFLAGS" CAIRO_LIBS="$CAIRO_FT_LIBS"
CAIRO_CFLAGS="$CAIRO_FT_CFLAGS"
if test "x$WITH_GLITZ" = "xyes" -a "x$have_cairo_glitz" = "xyes"; then
if test $BUILD_SERVER = win32 -a "x$have_cairo_win32" = "xyes"; then
CAIRO_GLITZ_LIBS="$CAIRO_GLITZ_LIBS $GLITZ_WGL_LIBS"
CAIRO_GLITZ_CFLAGS="$CAIRO_GLITZ_CFLAGS $GLITZ_WGL_CFLAGS"
elif test $BUILD_SERVER = x11 -a "x$have_cairo_xlib" = "xyes"; then
CAIRO_GLITZ_LIBS="$CAIRO_GLITZ_LIBS $GLITZ_GLX_LIBS"
CAIRO_GLITZ_CFLAGS="$CAIRO_GLITZ_CFLAGS $GLITZ_GLX_CFLAGS"
else
AC_MSG_ERROR([Invalid Glitz installation])
fi
CAIRO_LIBS="$CAIRO_LIBS $CAIRO_GLITZ_LIBS"
CAIRO_CFLAGS="$CAIRO_CFLAGS $CAIRO_GLITZ_CFLAGS"
AC_MSG_RESULT(glitz)
elif test $BUILD_SERVER = win32 -a "x$have_cairo_win32" = "xyes"; then
CAIRO_LIBS="$CAIRO_LIBS $CAIRO_WIN32_LIBS $WIN32_LIBS"
CAIRO_CFLAGS="$CAIRO_CFLAGS $CAIRO_WIN32_CFLAGS"
AC_MSG_RESULT(winlib)
elif test $BUILD_SERVER = x11 -a "x$have_cairo_xlib" = "xyes"; then
CAIRO_LIBS="$CAIRO_LIBS $CAIRO_XLIB_LIBS"
CAIRO_CFLAGS="$CAIRO_CFLAGS $CAIRO_XLIB_CFLAGS $XFT_LIBS"
AC_MSG_RESULT(xlib)
else
AC_MSG_ERROR([Invalid Cairo installation])
fi
LIBS="$CAIRO_LIBS $LIBS"
CPPFLAGS="$CAIRO_CFLAGS $CPPFLAGS"
fi fi
elif test x"$BUILD_GRAPHICS" = "xxlib"; then elif test x"$BUILD_GRAPHICS" = "xxlib"; then
: # Nothing to do : # Nothing to do
@ -403,6 +495,7 @@ elif test x"$BUILD_GRAPHICS" = "xwinlib"; then
else else
AC_MSG_ERROR([Invalid graphics backend $BUILD_GRAPHICS]) AC_MSG_ERROR([Invalid graphics backend $BUILD_GRAPHICS])
fi fi
if test x"$BUILD_GRAPHICS" = "xwinlib"; then if test x"$BUILD_GRAPHICS" = "xwinlib"; then
LIBS="$WIN32_LIBS $LIBS" LIBS="$WIN32_LIBS $LIBS"
fi fi
@ -415,6 +508,21 @@ if test $BUILD_SERVER = x11; then
if test $set_x_paths = no; then if test $set_x_paths = no; then
AC_MSG_ERROR([No X11 libraries/headers for building x11 server]) AC_MSG_ERROR([No X11 libraries/headers for building x11 server])
fi fi
if test "x$WITH_GLX" = "xyes"; then
LIBS="$LIBS $GLX_LIBS"
CPPFLAGS="$CPPFLAGS $GLX_CFLAGS"
else
AC_MSG_NOTICE([Warning : no OpenGL support for X11 backend])
fi
fi
if test $BUILD_SERVER = win32; then
if test "x$WITH_WGL" = "xyes"; then
LIBS="$LIBS $WGL_LIBS"
CPPFLAGS="$CPPFLAGS $WGL_CFLAGS"
else
AC_MSG_NOTICE([Warning : no OpenGL support for win32 backend])
fi
fi fi
AH_TOP([ AH_TOP([