PATCH: xserver configure

Mark Pustjens pustjens at dds.nl
Wed May 10 06:08:32 PDT 2006


Hi all,

This patch modifies configure.ac and a makefile to allow one to select 
which Kdrive servers to build.

It also gives a summary of what will be built.

Please let me know what you think.

Kind greetings,

Mark Pustjens

-- 
It was amazing, this mystic business. You tell them a lie, and then when you
don't need it any more you tell them another lie and tell them they're
progressing along the road to wisdom. Then instead of laughing they follow you
even more, hoping that at the heart of all the lies they'll find the truth. And
bit by bit they accept the unacceptable.
   (Guards! Guards!)
-------------- next part --------------
--- xserver-org/configure.ac	2006-01-05 13:01:23.000000000 +0100
+++ xserver-new/configure.ac	2006-05-10 10:19:25.000000000 +0200
@@ -88,6 +88,7 @@
 
 REQUIRED_MODULES="randrproto renderproto fixesproto damageproto xextproto xfont xproto xtrans xau"
 XGL_REQUIRED_MODULES="xrandr xrender xfixes xdamage xext"
+ALL_KSERVERS="ati chips ephyr epson fake fbdev i810 igs ipaq itsy mach64 mga neomagic nvidia pcmcia pm2 r128 savage sdl sis300 sis530 smi trident trio ts300 vesa via vxworks"
 
 DEFAULT_FONT_PATH="/usr/lib/X11/fonts/misc,/usr/lib/X11/fonts/100dpi,/usr/lib/X11/fonts/75dpi"
 DEFAULT_MODULE_PATH="$libdir/modules"
@@ -100,21 +101,24 @@
 AC_ARG_ENABLE(shape,         [  --disable-shape ],[SHAPE=$enableval],[SHAPE=yes])
 AC_ARG_ENABLE(xv,            [  --disable-xv ],[XV=$enableval],[XV=yes])
 AC_ARG_ENABLE(composite,     [  --disable-composite ],[COMPOSITE=$enableval],[COMPOSITE=yes])
-AC_ARG_ENABLE(mitshm,        [  --disable-shm ],[MITSHM=$enableval],[MITSHM=yes])
+AC_ARG_ENABLE(shm,           [  --disable-shm ],[MITSHM=$enableval],[MITSHM=yes])
 AC_ARG_ENABLE(xres,          [  --disable-xres ],[RES=$enableval],[RES=yes])
 AC_ARG_ENABLE(xrecord,       [  --disable-xrecord ],[RECORD=$enableval],[RECORD=yes])
 AC_ARG_ENABLE(kdriveserver,  [  --disable-kdriveserver ],[KDRIVESERVER=$enableval],[KDRIVESERVER=yes])
+AC_ARG_WITH(kdrive-servers,        [  --with-kdrive-servers=<list> compile kdrive servers in <list> ]
+			[servers may be comma separated ]
+			['all' builds all backends (default), 'none' builds none ]
+			[Possible backends are: ]
+			[ephyr, epson, fake, fbdev, i810, igs, itsy, neomagic,]
+			[pm2, savage, sdl, sis530, trio, ts300, vesa, via, vxworks], KSERVERS="$withval",[KSERVERS="all"])
 AC_ARG_ENABLE(xnestserver,   [  --enable-xnestserver ],[XNESTSERVER=$enableval],[XNESTSERVER=no])
 AC_ARG_ENABLE(xwinserver,    [  --enable-xwinserver ],[XWINSERVER=$enableval],[XWINSERVER=no])
-AC_ARG_ENABLE(xsdlserver,    [  --enable-xsdlserver ],[XSDLSERVER=$enableval],[XSDLSERVER=no])
 AC_ARG_ENABLE(xglserver,     [  --enable-xglserver ],[XGLSERVER=$enableval],[XGLSERVER=no])
 AC_ARG_ENABLE(xglxserver,    [  --enable-xglxserver ],[XGLXSERVER=$enableval],[XGLXSERVER=no])
 AC_ARG_ENABLE(xeglserver,    [  --enable-xeglserver ],[XEGLSERVER=$enableval],[XEGLSERVER=no])
 AC_ARG_ENABLE(xtrap,         [  --enable-xtrap ],[XTRAP=$enableval],[XTRAP=no])
 AC_ARG_ENABLE(builtinrgb,    [  --disable-builtinrgb ],[USE_RGB_BUILTIN=$enableval],[USE_RGB_BUILTIN=yes])
-AC_ARG_ENABLE(screensaver,   [  --disable-screensaver ],
-			     [SCREENSAVER=$enableval],
-			     [SCREENSAVER=yes])
+AC_ARG_ENABLE(screensaver,   [  --disable-screensaver ],[SCREENSAVER=$enableval],[SCREENSAVER=yes])
 AC_ARG_ENABLE(xdmcp,         [  --disable-xdmcp ],[XDMCP=$enableval],[XDMCP=auto])
 AC_ARG_ENABLE(xdm-auth-1,    [  --disable-xdm-auth-1 ],[XDMAUTH=$enableval],[XDMAUTH=auto])
 AC_ARG_ENABLE(glx,           [  --enable-glx ],[GLX=$enableval],[GLX=no])
@@ -377,6 +381,89 @@
 fi
 AM_CONDITIONAL(KDRIVEFBDEV, [test "$ac_cv_header_linux_fb_h" = yes])
 
+if test "$KDRIVESERVER" = yes; then
+	for KSERVER in $ALL_KSERVERS; do
+		export KSERVER_$KSERVER="no"
+	done
+
+	AC_MSG_CHECKING(which kdrive servers to compile)
+	if test "$KSERVERS" = "all"; then
+		for KSERVER in $ALL_KSERVERS; do
+			export KSERVER_$KSERVER="yes"
+		done
+	elif test "$KSERVERS" != "none"; then
+		KSERVERS=`echo $KSERVERS| sed 's/,/ /g'`
+		for KSERVER in $KSERVERS; do
+			case $KSERVER in
+				ati|chips|ephyr|epson|fake|fbdev|i810|igs|ipaq|itsy|mach64|mga|neomagic|nvidia|pcmcia|pm2|r128|savage|sdl|sis300|sis530|smi|trident|trio|ts300|vesa|via|vxworks)
+					export KSERVER_$KSERVER="yes"
+					;;
+				*)
+					AC_MSG_ERROR(unknown kdrive server $KSERVER, exiting!)
+					exit 1
+					;;
+			esac
+		done
+	fi
+	for KSERVER in $ALL_KSERVERS; do
+		eval KSERVER_YESNO=$`echo KSERVER_$KSERVER`
+		case $KSERVER in
+			vesa|mach64|mga|nvidia|r128|smi|chips|pm2|via|neomagic)
+				if test "$ac_cv_header_sys_vm86_h" = "no" -a "$KSERVER_YESNO" = "yes"; then
+					export KSERVER_$KSERVER="no"
+					AC_MSG_WARN(Cannot compile X$KSERVER, vesa support not found)
+				fi
+				;;
+			fbdev)
+				if test "$ac_cv_header_linux_fb_h" != "yes" -a "$KSERVER_YESNO" = "yes"; then
+					export KSERVER_$KSERVER="no"
+					AC_MSG_WARN(Cannot compile X$KSERVER)
+				fi
+				;;
+			ephyr)
+				if test "$xephyr" = "no" -a  "$KSERVER_YESNO" = "yes"; then	
+					export KSERVER_$KSERVER="no"
+					AC_MSG_WARN(Cannot compile X$KSERVER)
+				fi
+				;;
+		esac
+	done
+	AM_CONDITIONAL(KSERVER_ati, [test "x$KSERVER_ati" = "xyes"])
+	AM_CONDITIONAL(KSERVER_chips, [test "x$KSERVER_chips" = "xyes"])
+	AM_CONDITIONAL(KSERVER_ephyr, [test "x$KSERVER_ephyr" = "xyes"])
+	AM_CONDITIONAL(KSERVER_epson, [test "x$KSERVER_epson" = "xyes"])
+	AM_CONDITIONAL(KSERVER_fake, [test "x$KSERVER_fake" = "xyes"])
+	AM_CONDITIONAL(KSERVER_fbdev, [test "x$KSERVER_fbdev" = "xyes"])
+	AM_CONDITIONAL(KSERVER_i810, [test "x$KSERVER_i810" = "xyes"])
+	AM_CONDITIONAL(KSERVER_igs, [test "x$KSERVER_igs" = "xyes"])
+	AM_CONDITIONAL(KSERVER_ipaq, [test "x$KSERVER_ipaq" = "xyes"])
+	AM_CONDITIONAL(KSERVER_itsy, [test "x$KSERVER_itsy" = "xyes"])
+	AM_CONDITIONAL(KSERVER_mach64, [test "x$KSERVER_mach64" = "xyes"])
+	AM_CONDITIONAL(KSERVER_mga, [test "x$KSERVER_mga" = "xyes"])
+	AM_CONDITIONAL(KSERVER_neomagic, [test "x$KSERVER_neomagic" = "xyes"])
+	AM_CONDITIONAL(KSERVER_nvidia, [test "x$KSERVER_nvidia" = "xyes"])
+	AM_CONDITIONAL(KSERVER_pcmcia, [test "x$KSERVER_pcmcia" = "xyes"])
+	AM_CONDITIONAL(KSERVER_pm2, [test "x$KSERVER_pm2" = "xyes"])
+	AM_CONDITIONAL(KSERVER_r128, [test "x$KSERVER_r128" = "xyes"])
+	AM_CONDITIONAL(KSERVER_savage, [test "x$KSERVER_savage" = "xyes"])
+	AM_CONDITIONAL(KSERVER_sdl, [test "x$KSERVER_sdl" = "xyes"])
+	AM_CONDITIONAL(KSERVER_sis300, [test "x$KSERVER_sis300" = "xyes"])
+	AM_CONDITIONAL(KSERVER_sis530, [test "x$KSERVER_sis530" = "xyes"])
+	AM_CONDITIONAL(KSERVER_smi, [test "x$KSERVER_smi" = "xyes"])
+	AM_CONDITIONAL(KSERVER_trident, [test "x$KSERVER_trident" = "xyes"])
+	AM_CONDITIONAL(KSERVER_trio, [test "x$KSERVER_trio" = "xyes"])
+	AM_CONDITIONAL(KSERVER_ts300, [test "x$KSERVER_ts300" = "xyes"])
+	AM_CONDITIONAL(KSERVER_vesa, [test "x$KSERVER_vesa" = "xyes"])
+	AM_CONDITIONAL(KSERVER_via, [test "x$KSERVER_via" = "xyes"])
+	AM_CONDITIONAL(KSERVER_vxworks, [test "x$KSERVER_vxworks" = "xyes"])
+	for KSERVER in $ALL_KSERVERS; do
+		if test "$KSERVER_$KSERVER" = yes; then
+			AC_DEFINE(KSERVER_$KSERVER,1,[Compile X$KSERVER kdrive server])
+		fi
+	done
+fi
+
+
 AC_DEFINE_UNQUOTED(COMPILEDDEFAULTFONTPATH, ["$FONTPATH"], [Default font path])
 AC_DEFINE_UNQUOTED(VENDOR_STRING,["$VENDOR_STRING"], [Vendor name])
 AC_DEFINE_UNQUOTED(VENDOR_RELEASE, [$VENDOR_RELEASE], [Vendor release])
@@ -500,7 +587,7 @@
 XSDL_LIBS=
 XSDL_INCS=
 XSDL_DIRS=
-if test "$XSDLSERVER" = yes; then
+if test "$KSERVER_sdl" = yes; then
 	XSDL_LIBS=`sdl-config --libs`
 	XSDL_INCS=`sdl-config --cflags`
 	XSDL_DIRS=sdl
@@ -728,3 +815,67 @@
 	echo "  glx: $GLX"
 	echo ""
 fi
+
+AC_MSG_RESULT([
+Build options:
+  Version               $VERSION
+  Install prefix        $prefix
+  Build shared libs     $enable_shared
+  Build static libs     $enable_static
+  werrror		$WERROR
+  CFLAGS                $CFLAGS
+
+Misc:
+  tslib			$TSLIB
+  builtin rgb color db	$USE_RGB_BUILTIN
+	
+Network support:
+  unix			$UNIXCONN
+  tcp 			$TCPCONN
+  ipv6			$IPV6CONN
+
+Extensions:
+  shape			$SHAPE
+  xv			$XV
+  composite		$COMPOSITE
+  shm			$MITSHM
+  xres			$RES
+  xrecord		$RECORD
+  glx			$GLX
+  dri			$DRI
+  xinput		$XINPUT
+  xkb			$XKB
+  xloadable		$XLOADABLE
+  xevie			$XEVIE
+  xinerama		$XINERAMA
+  xtrap			$XTRAP
+  screensaver		$SCREENSAVER
+  xdmcp			$XDMCP
+  xdm-auth		$XDMAUTH
+
+Building Servers:
+  Kdrive		$KDRIVESERVER
+  Xnest			$XNESTSERVER
+  Xwin			$XWINSERVER
+  Xgl			$XGLSERVER
+  Xglx			$XGLXSERVER
+  Xegl			$XEGLSERVER]);
+
+if test x$KDRIVESERVER = xyes; then
+AC_MSG_RESULT([
+Selected Kdrive servers:]);
+	case $KSERVERS in
+		"none")
+			AC_MSG_RESULT([  None]) ;;
+		"all")
+			AC_MSG_RESULT([  All]) ;;
+		*)
+			for KSERVER in $ALL_KSERVERS; do
+				eval KSERVER_YESNO=$`echo KSERVER_$KSERVER`
+				if test $KSERVER_YESNO = "yes"; then
+					AC_MSG_RESULT([  X$KSERVER]);
+				fi
+			done
+			;;
+	esac
+fi
--- xserver-org/hw/kdrive/Makefile.am	2004-10-20 20:06:58.000000000 +0200
+++ xserver-new/hw/kdrive/Makefile.am	2006-05-10 10:19:24.000000000 +0200
@@ -1,28 +1,85 @@
-if KDRIVEVESA
-VESA_SUBDIRS = vesa mach64 mga nvidia r128 smi chips pm2 via neomagic
+SUBDIRS = src linux
+if KSERVER_ati
+SUBDIRS += ati
+endif
+if KSERVER_chips
+SUBDIRS += chips
+endif
+if KSERVER_ephyr
+SUBDIRS += ephyr
+endif
+if KSERVER_epson
+SUBDIRS += epson
+endif
+if KSERVER_fake
+SUBDIRS += fake
+endif
+if KSERVER_fbdev
+SUBDIRS += fbdev
+endif
+if KSERVER_i810
+SUBDIRS += i810
+endif
+if KSERVER_igs
+SUBDIRS += igs
+endif
+if KSERVER_ipaq
+SUBDIRS += ipaq
+endif
+if KSERVER_itsy
+SUBDIRS += itsy
+endif
+if KSERVER_mach64
+SUBDIRS += mach64
+endif
+if KSERVER_mga
+SUBDIRS += mga
+endif
+if KSERVER_neomagic
+SUBDIRS += neomagic
+endif
+if KSERVER_nvidia
+SUBDIRS += nvidia
+endif
+if KSERVER_pcmcia
+SUBDIRS += pcmcia
+endif
+if KSERVER_pm2
+SUBDIRS += pm2
+endif
+if KSERVER_r128
+SUBDIRS += r128
+endif
+if KSERVER_savage
+SUBDIRS += savage
+endif
+if KSERVER_sdl
+SUBDIRS += sdl
+endif
+if KSERVER_sis300
+SUBDIRS += sis300
+endif
+if KSERVER_sis530
+SUBDIRS += sis530
+endif
+if KSERVER_smi
+SUBDIRS += smi
+endif
+if KSERVER_trident
+SUBDIRS += trident
+endif
+if KSERVER_trio
+SUBDIRS += trio
+endif
+if KSERVER_ts300
+SUBDIRS += ts300
+endif
+if KSERVER_vesa
+SUBDIRS += vesa
+endif
+if KSERVER_via
+SUBDIRS += via
+endif
+if KSERVER_vxworks
+SUBDIRS += vxworks
 endif
-
-if KDRIVEFBDEV
-FBDEV_SUBDIRS = fbdev
-endif
-
-if XSDLSERVER
-XSDL_SUBDIRS=sdl
-endif
-
-if XEPHYR
-XEPHYR_SUBDIRS = ephyr
-endif
-
-SUBDIRS =			\
-	src			\
-	linux			\
-	$(XSDL_SUBDIRS)		\
-	$(FBDEV_SUBDIRS)	\
-	$(VESA_SUBDIRS)		\
-	$(XEPHYR_SUBDIRS)       \
-	ati			\
-	fake			\
-	ephyr                   \
-	i810			\
-	epson


More information about the xorg mailing list