diff mbox

[RfC,1/3] configure: opengl overhaul

Message ID 1418295956-22479-2-git-send-email-kraxel@redhat.com
State New
Headers show

Commit Message

Gerd Hoffmann Dec. 11, 2014, 11:05 a.m. UTC
Rename config option from "glx" to "opengl", glx will not be the only
option for opengl in near future.  Also switch over to pkg-config for
opengl support detection.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 configure                        | 39 +++++++++++++++++----------------------
 default-configs/lm32-softmmu.mak |  2 +-
 hw/display/Makefile.objs         |  2 +-
 hw/lm32/milkymist-hw.h           |  4 ++--
 4 files changed, 21 insertions(+), 26 deletions(-)

Comments

Michael Walle Dec. 15, 2014, 4:46 p.m. UTC | #1
Am 2014-12-11 12:05, schrieb Gerd Hoffmann:
> Rename config option from "glx" to "opengl", glx will not be the only
> option for opengl in near future.  Also switch over to pkg-config for
> opengl support detection.

I'm ok with that, although it is a revert of 
b1e5fff4afd0c47148b0d9f9341887ae2c3eb9af. Maybe the tmu2 will be 
converted to SDL, too.

> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  configure                        | 39 
> +++++++++++++++++----------------------
>  default-configs/lm32-softmmu.mak |  2 +-
>  hw/display/Makefile.objs         |  2 +-
>  hw/lm32/milkymist-hw.h           |  4 ++--
>  4 files changed, 21 insertions(+), 26 deletions(-)
> 
> diff --git a/configure b/configure
> index 47048f0..175dea2 100755
> --- a/configure
> +++ b/configure
> @@ -309,7 +309,7 @@ rbd=""
>  smartcard_nss=""
>  libusb=""
>  usb_redir=""
> -glx=""
> +opengl=""
>  zlib="yes"
>  lzo=""
>  snappy=""
> @@ -1026,9 +1026,9 @@ for opt do
>    ;;
>    --enable-vhost-scsi) vhost_scsi="yes"
>    ;;
> -  --disable-glx) glx="no"
> +  --disable-opengl) opengl="no"
>    ;;
> -  --enable-glx) glx="yes"
> +  --enable-opengl) opengl="yes"
>    ;;
>    --disable-rbd) rbd="no"
>    ;;
> @@ -3056,23 +3056,18 @@ fi
>  libs_softmmu="$libs_softmmu $fdt_libs"
> 
>  ##########################################
> -# GLX probe, used by milkymist-tmu2
> -if test "$glx" != "no" ; then
> -  glx_libs="-lGL -lX11"
> -  cat > $TMPC << EOF
> -#include <X11/Xlib.h>
> -#include <GL/gl.h>
> -#include <GL/glx.h>
> -int main(void) { glBegin(0); glXQueryVersion(0,0,0); return 0; }
> -EOF
> -  if compile_prog "" "-lGL -lX11" ; then
> -    glx=yes
> +# opengl probe, used by milkymist-tmu2
> +if test "$opengl" != "no" ; then
> +  opengl_pkgs="gl"
> +  if $pkg_config $opengl_pkgs; then
> +    opengl_libs="$($pkg_config --libs $opengl_pkgs) -lX11"
> +    opengl=yes
>    else
> -    if test "$glx" = "yes" ; then
> -      feature_not_found "glx" "Install GL devel (e.g. MESA)"
> +    if test "$opengl" = "yes" ; then
> +      feature_not_found "opengl" "Install GL devel (e.g. MESA)"
>      fi
> -    glx_libs=
> -    glx=no
> +    opengl_libs=""
> +    opengl=no
>    fi
>  fi
> 
> @@ -4320,7 +4315,7 @@ echo "xfsctl support    $xfs"
>  echo "nss used          $smartcard_nss"
>  echo "libusb            $libusb"
>  echo "usb net redir     $usb_redir"
> -echo "GLX support       $glx"
> +echo "OpenGL support    $opengl"
>  echo "libiscsi support  $libiscsi"
>  echo "libnfs support    $libnfs"
>  echo "build guest agent $guest_agent"
> @@ -4682,9 +4677,9 @@ if test "$usb_redir" = "yes" ; then
>    echo "CONFIG_USB_REDIR=y" >> $config_host_mak
>  fi
> 
> -if test "$glx" = "yes" ; then
> -  echo "CONFIG_GLX=y" >> $config_host_mak
> -  echo "GLX_LIBS=$glx_libs" >> $config_host_mak
> +if test "$opengl" = "yes" ; then
> +  echo "CONFIG_OPENGL=y" >> $config_host_mak
> +  echo "OPENGL_LIBS=$opengl_libs" >> $config_host_mak
>  fi
> 
>  if test "$lzo" = "yes" ; then
> diff --git a/default-configs/lm32-softmmu.mak 
> b/default-configs/lm32-softmmu.mak
> index 7df58c8..4889348 100644
> --- a/default-configs/lm32-softmmu.mak
> +++ b/default-configs/lm32-softmmu.mak
> @@ -2,7 +2,7 @@
> 
>  CONFIG_LM32=y
>  CONFIG_MILKYMIST=y
> -CONFIG_MILKYMIST_TMU2=$(CONFIG_GLX)
> +CONFIG_MILKYMIST_TMU2=$(CONFIG_OPENGL)
>  CONFIG_FRAMEBUFFER=y
>  CONFIG_PTIMER=y
>  CONFIG_PFLASH_CFI01=y
> diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs
> index 7ed76a9..e18ea57 100644
> --- a/hw/display/Makefile.objs
> +++ b/hw/display/Makefile.objs
> @@ -20,7 +20,7 @@ common-obj-$(CONFIG_ZAURUS) += tc6393xb.o
> 
>  ifeq ($(CONFIG_MILKYMIST_TMU2),y)
>  common-obj-y += milkymist-tmu2.o
> -libs_softmmu += $(GLX_LIBS)
> +libs_softmmu += $(OPENGL_LIBS)
>  endif
> 
>  obj-$(CONFIG_OMAP) += omap_dss.o
> diff --git a/hw/lm32/milkymist-hw.h b/hw/lm32/milkymist-hw.h
> index 5317ce6..8d20cac 100644
> --- a/hw/lm32/milkymist-hw.h
> +++ b/hw/lm32/milkymist-hw.h
> @@ -86,7 +86,7 @@ static inline DeviceState 
> *milkymist_pfpu_create(hwaddr base,
>      return dev;
>  }
> 
> -#ifdef CONFIG_GLX
> +#ifdef CONFIG_OPENGL
>  #include <X11/Xlib.h>
>  #include <GL/glx.h>
>  static const int glx_fbconfig_attr[] = {
> @@ -100,7 +100,7 @@ static const int glx_fbconfig_attr[] = {
>  static inline DeviceState *milkymist_tmu2_create(hwaddr base,
>          qemu_irq irq)
>  {
> -#ifdef CONFIG_GLX
> +#ifdef CONFIG_OPENGL
>      DeviceState *dev;
>      Display *d;
>      GLXFBConfig *configs;
Gerd Hoffmann Dec. 16, 2014, 9:37 a.m. UTC | #2
On Mo, 2014-12-15 at 17:46 +0100, Michael Walle wrote:
> Am 2014-12-11 12:05, schrieb Gerd Hoffmann:
> > Rename config option from "glx" to "opengl", glx will not be the only
> > option for opengl in near future.  Also switch over to pkg-config for
> > opengl support detection.
> 
> I'm ok with that, although it is a revert of 
> b1e5fff4afd0c47148b0d9f9341887ae2c3eb9af. Maybe the tmu2 will be 
> converted to SDL, too.

Not directly to SDL, there will be a interface layer inbetween so things
don't depend on a single UI.

But, yes, the plan is to have interfaces for device emulations to get a
opengl context for rendering.  That isn't yet in the patch series
though.

cheers,
  Gerd
diff mbox

Patch

diff --git a/configure b/configure
index 47048f0..175dea2 100755
--- a/configure
+++ b/configure
@@ -309,7 +309,7 @@  rbd=""
 smartcard_nss=""
 libusb=""
 usb_redir=""
-glx=""
+opengl=""
 zlib="yes"
 lzo=""
 snappy=""
@@ -1026,9 +1026,9 @@  for opt do
   ;;
   --enable-vhost-scsi) vhost_scsi="yes"
   ;;
-  --disable-glx) glx="no"
+  --disable-opengl) opengl="no"
   ;;
-  --enable-glx) glx="yes"
+  --enable-opengl) opengl="yes"
   ;;
   --disable-rbd) rbd="no"
   ;;
@@ -3056,23 +3056,18 @@  fi
 libs_softmmu="$libs_softmmu $fdt_libs"
 
 ##########################################
-# GLX probe, used by milkymist-tmu2
-if test "$glx" != "no" ; then
-  glx_libs="-lGL -lX11"
-  cat > $TMPC << EOF
-#include <X11/Xlib.h>
-#include <GL/gl.h>
-#include <GL/glx.h>
-int main(void) { glBegin(0); glXQueryVersion(0,0,0); return 0; }
-EOF
-  if compile_prog "" "-lGL -lX11" ; then
-    glx=yes
+# opengl probe, used by milkymist-tmu2
+if test "$opengl" != "no" ; then
+  opengl_pkgs="gl"
+  if $pkg_config $opengl_pkgs; then
+    opengl_libs="$($pkg_config --libs $opengl_pkgs) -lX11"
+    opengl=yes
   else
-    if test "$glx" = "yes" ; then
-      feature_not_found "glx" "Install GL devel (e.g. MESA)"
+    if test "$opengl" = "yes" ; then
+      feature_not_found "opengl" "Install GL devel (e.g. MESA)"
     fi
-    glx_libs=
-    glx=no
+    opengl_libs=""
+    opengl=no
   fi
 fi
 
@@ -4320,7 +4315,7 @@  echo "xfsctl support    $xfs"
 echo "nss used          $smartcard_nss"
 echo "libusb            $libusb"
 echo "usb net redir     $usb_redir"
-echo "GLX support       $glx"
+echo "OpenGL support    $opengl"
 echo "libiscsi support  $libiscsi"
 echo "libnfs support    $libnfs"
 echo "build guest agent $guest_agent"
@@ -4682,9 +4677,9 @@  if test "$usb_redir" = "yes" ; then
   echo "CONFIG_USB_REDIR=y" >> $config_host_mak
 fi
 
-if test "$glx" = "yes" ; then
-  echo "CONFIG_GLX=y" >> $config_host_mak
-  echo "GLX_LIBS=$glx_libs" >> $config_host_mak
+if test "$opengl" = "yes" ; then
+  echo "CONFIG_OPENGL=y" >> $config_host_mak
+  echo "OPENGL_LIBS=$opengl_libs" >> $config_host_mak
 fi
 
 if test "$lzo" = "yes" ; then
diff --git a/default-configs/lm32-softmmu.mak b/default-configs/lm32-softmmu.mak
index 7df58c8..4889348 100644
--- a/default-configs/lm32-softmmu.mak
+++ b/default-configs/lm32-softmmu.mak
@@ -2,7 +2,7 @@ 
 
 CONFIG_LM32=y
 CONFIG_MILKYMIST=y
-CONFIG_MILKYMIST_TMU2=$(CONFIG_GLX)
+CONFIG_MILKYMIST_TMU2=$(CONFIG_OPENGL)
 CONFIG_FRAMEBUFFER=y
 CONFIG_PTIMER=y
 CONFIG_PFLASH_CFI01=y
diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs
index 7ed76a9..e18ea57 100644
--- a/hw/display/Makefile.objs
+++ b/hw/display/Makefile.objs
@@ -20,7 +20,7 @@  common-obj-$(CONFIG_ZAURUS) += tc6393xb.o
 
 ifeq ($(CONFIG_MILKYMIST_TMU2),y)
 common-obj-y += milkymist-tmu2.o
-libs_softmmu += $(GLX_LIBS)
+libs_softmmu += $(OPENGL_LIBS)
 endif
 
 obj-$(CONFIG_OMAP) += omap_dss.o
diff --git a/hw/lm32/milkymist-hw.h b/hw/lm32/milkymist-hw.h
index 5317ce6..8d20cac 100644
--- a/hw/lm32/milkymist-hw.h
+++ b/hw/lm32/milkymist-hw.h
@@ -86,7 +86,7 @@  static inline DeviceState *milkymist_pfpu_create(hwaddr base,
     return dev;
 }
 
-#ifdef CONFIG_GLX
+#ifdef CONFIG_OPENGL
 #include <X11/Xlib.h>
 #include <GL/glx.h>
 static const int glx_fbconfig_attr[] = {
@@ -100,7 +100,7 @@  static const int glx_fbconfig_attr[] = {
 static inline DeviceState *milkymist_tmu2_create(hwaddr base,
         qemu_irq irq)
 {
-#ifdef CONFIG_GLX
+#ifdef CONFIG_OPENGL
     DeviceState *dev;
     Display *d;
     GLXFBConfig *configs;