[PATCH v2 video-nv] The /compat code is no longer required.

Aaron Plattner aplattner at nvidia.com
Mon Jul 19 11:24:09 PDT 2010


On Sat, Jul 17, 2010 at 10:52:50AM -0700, Gaetan Nadon wrote:
> This was used at one point in time to backport the modes code from server
> 1.3 to server 1.2. When the tarball was created, whatever modes code
> was on the developer disk was included.
> 
> The server 1.2 as shipped in the tarball on the web does not contain the
> modes code. It was added just after and found in git branch server-1.2-branch.
> 
> The modes code was initially included in version 2.0.95 and still compiles
> with server 1.2. As of version 2.1.9 it no longer compiles.
> Subsequent versions are not backward compatible and probably not meant to be.
> 
> The XRandR wiki points to articles saying that XRandR 1.2 first appeared in
> server 1.3 and nv 2.0.95. Given that modes code in current server version
> does not compile with server 1.2, and that the modes code is included in
> version 1.3 and up, might as well stop including this modes code in the driver.
> 
> This patch makes the driver requiring server 1.3 or later.
> 
> This will solve the issue where "make dist" fails "out of the box"
> and requires manual fix-up on the build machine which is documented
> in the compat/README file.
> 
> Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
> ---
>  Makefile.am            |    2 +-
>  compat/.gitignore      |    2 --
>  compat/Makefile.am     |   16 ----------------
>  compat/README          |    7 -------
>  configure.ac           |   47 +----------------------------------------------
>  src/Makefile.am        |   23 +----------------------
>  src/local_xf86Rename.h |   23 -----------------------
>  7 files changed, 3 insertions(+), 117 deletions(-)
>  delete mode 100644 compat/.gitignore
>  delete mode 100644 compat/Makefile.am
>  delete mode 100644 compat/README
>  delete mode 100644 src/local_xf86Rename.h
> 
> diff --git a/Makefile.am b/Makefile.am
> index 94c0b1d..d8f84e2 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -18,7 +18,7 @@
>  #  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
>  #  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
>  
> -SUBDIRS = src man compat
> +SUBDIRS = src man
>  MAINTAINERCLEANFILES = ChangeLog INSTALL
>  
>  EXTRA_DIST = README.G80
> diff --git a/compat/.gitignore b/compat/.gitignore
> deleted file mode 100644
> index 8d30df6..0000000
> --- a/compat/.gitignore
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -modes
> -parser
> diff --git a/compat/Makefile.am b/compat/Makefile.am
> deleted file mode 100644
> index de17f93..0000000
> --- a/compat/Makefile.am
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -EXTRA_DIST = \
> -    parser/xf86Parser.h \
> -    parser/xf86Optrec.h \
> -    modes/xf86Crtc.c \
> -    modes/xf86Crtc.h \
> -    modes/xf86Cursors.c \
> -    modes/xf86cvt.c \
> -    modes/xf86DiDGA.c \
> -    modes/xf86EdidModes.c \
> -    modes/xf86gtf.c \
> -    modes/xf86Modes.c \
> -    modes/xf86Modes.h \
> -    modes/xf86RandR12.c \
> -    modes/xf86RandR12.h \
> -    modes/xf86Rename.h \
> -    modes/xf86Rotate.c
> diff --git a/compat/README b/compat/README
> deleted file mode 100644
> index 3e2b089..0000000
> --- a/compat/README
> +++ /dev/null
> @@ -1,7 +0,0 @@
> -This directory contains a copy of the mode and parser code from RandR 1.2.
> -
> -If you are building from git and you don't have xorg-server-1.3 or higher or you
> -want to be able to make dist, you should create symlinks to the modes and parser
> -directories from a RandR 1.2-enabled server here:
> -
> -  $ ln -s /path/to/xorg/xserver/hw/xfree86/{modes,parser} .
> diff --git a/configure.ac b/configure.ac
> index 02f8ab3..d53c727 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -55,11 +55,6 @@ AC_ARG_WITH(xorg-module-dir,
>              [moduledir="$withval"],
>              [moduledir="$libdir/xorg/modules"])
>  
> -AC_ARG_WITH(xserver-source,AC_HELP_STRING([--with-xserver-source=XSERVER_SOURCE],
> -                                          [Path to X server source tree]),
> -                           [ XSERVER_SOURCE="$withval" ],
> -                           [ XSERVER_SOURCE="" ])
> -
>  # Checks for extensions
>  XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
>  XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
> @@ -67,7 +62,7 @@ XORG_DRIVER_CHECK_EXT(XV, videoproto)
>  XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
>  
>  # Checks for pkg-config packages
> -PKG_CHECK_MODULES(XORG, [xorg-server >= 1.2 xproto fontsproto $REQUIRED_MODULES])
> +PKG_CHECK_MODULES(XORG, [xorg-server >= 1.3 xproto fontsproto $REQUIRED_MODULES])
>  PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
>                    HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
>                    HAVE_XEXTPROTO_71="no")
> @@ -81,9 +76,6 @@ AC_HEADER_STDC
>  save_CFLAGS="$CFLAGS"
>  CFLAGS="$XORG_CFLAGS"
>  
> -# RandR 1.2
> -AC_CHECK_HEADER(xf86Modes.h,[BUILD_XMODES=no],[BUILD_XMODES=yes],[#include "xorg-server.h"])
> -
>  # PCI rework
>  AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
>                [XSERVER_LIBPCIACCESS=yes],[XSERVER_LIBPCIACCESS=no],
> @@ -94,42 +86,6 @@ fi
>  
>  CFLAGS="$save_CFLAGS"
>  
> -AM_CONDITIONAL(BUILD_XMODES, test "x$BUILD_XMODES" = xyes)
> -if test "x$XSERVER_SOURCE" != x; then
> -    if test -d "$XSERVER_SOURCE"; then
> -        XSERVER_SOURCE=`cd "$XSERVER_SOURCE" && pwd`
> -        if test -f "$XSERVER_SOURCE/hw/xfree86/modes/xf86Modes.h" -a -f "$XSERVER_SOURCE/hw/xfree86/parser/xf86Parser.h"; then
> -            :
> -        else
> -            AC_ERROR([Server source at $XSERVER_SOURCE doesn't have the new mode code])
> -        fi
> -    else
> -        AC_ERROR([Can't find xserver-source path $XSERVER_SOURCE])
> -    fi
> -fi
> -if test "x$BUILD_XMODES" = xno; then
> -    AC_MSG_NOTICE([X server has new mode code])
> -    XMODES_CFLAGS=
> -    parser_dir=
> -    modes_dir=
> -else
> -    if test "x$XSERVER_SOURCE" = x; then
> -            AC_MSG_NOTICE([X server is missing new mode code and --with-xserver-source not specified, using local copy])
> -            AC_MSG_NOTICE([If you're building from git, please read compat/README])
> -            parser_dir='$(top_srcdir)/compat/parser'
> -            modes_dir='$(top_srcdir)/compat/modes'
> -    else
> -            AC_MSG_NOTICE([Using mode code from $XSERVER_SOURCE])
> -            parser_dir="$XSERVER_SOURCE/hw/xfree86/parser"
> -            modes_dir="$XSERVER_SOURCE/hw/xfree86/modes"
> -    fi
> -    XMODES_CFLAGS="-DXF86_MODES_RENAME -I\"$modes_dir\" -I\"$parser_dir\""
> -    AC_DEFINE(BUILD_XMODES, 1,[X server doesn't have built-in mode code, so we need to build it])
> -fi
> -AC_SUBST([XMODES_CFLAGS])
> -AC_SUBST([parser_dir])
> -AC_SUBST([modes_dir])
> -
>  # Substitutions
>  AC_SUBST([XORG_CFLAGS])
>  AC_SUBST([moduledir])
> @@ -141,5 +97,4 @@ AC_OUTPUT([
>  	Makefile
>  	src/Makefile
>  	man/Makefile
> -	compat/Makefile
>  ])
> diff --git a/src/Makefile.am b/src/Makefile.am
> index 2677d9c..70e127c 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -23,7 +23,7 @@
>  # -avoid-version prevents gratuitous .0.0.0 version numbers on the end
>  # _ladir passes a dummy rpath to libtool so the thing will actually link
>  # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
> -AM_CFLAGS = @XMODES_CFLAGS@ @XORG_CFLAGS@
> +AM_CFLAGS = @XORG_CFLAGS@
>  nv_drv_la_LTLIBRARIES = nv_drv.la
>  nv_drv_la_LDFLAGS = -module -avoid-version
>  nv_drv_ladir = @moduledir@/drivers
> @@ -82,24 +82,3 @@ g80_sources = \
>           g80_xaa.c \
>           g80_xaa.h
>  
> -xmode_sources = \
> -         @parser_dir@/xf86Parser.h \
> -         @parser_dir@/xf86Optrec.h \
> -         @modes_dir@/xf86Modes.h \
> -         @modes_dir@/xf86Modes.c \
> -         @modes_dir@/xf86cvt.c \
> -         @modes_dir@/xf86Crtc.h \
> -         @modes_dir@/xf86Crtc.c \
> -         @modes_dir@/xf86Cursors.c \
> -         @modes_dir@/xf86EdidModes.c \
> -         @modes_dir@/xf86gtf.c \
> -         @modes_dir@/xf86RandR12.c \
> -         @modes_dir@/xf86RandR12.h \
> -         @modes_dir@/xf86Rename.h \
> -         @modes_dir@/xf86Rotate.c \
> -         @modes_dir@/xf86DiDGA.c
> -
> -if BUILD_XMODES
> -EXTRA_nv_drv_la_SOURCES = local_xf86Rename.h
> -nodist_nv_drv_la_SOURCES = $(xmode_sources)
> -endif
> diff --git a/src/local_xf86Rename.h b/src/local_xf86Rename.h
> deleted file mode 100644
> index f3a07c6..0000000
> --- a/src/local_xf86Rename.h
> +++ /dev/null
> @@ -1,23 +0,0 @@
> -/*
> - *Copyright © 2006 Keith Packard
> - *
> - * Permission to use, copy, modify, distribute, and sell this software and its
> - * documentation for any purpose is hereby granted without fee, provided that
> - * the above copyright notice appear in all copies and that both that copyright
> - * notice and this permission notice appear in supporting documentation, and
> - * that the name of the copyright holders not be used in advertising or
> - * publicity pertaining to distribution of the software without specific,
> - * written prior permission.  The copyright holders make no representations
> - * about the suitability of this software for any purpose.  It is provided "as
> - * is" without express or implied warranty.
> - *
> - * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
> - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
> - * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
> - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
> - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
> - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
> - * OF THIS SOFTWARE.
> - */
> -
> -#define XF86NAME(x) nv_##x
> -- 
> 1.6.0.4

Thanks Gaetan.  That seems fair.  I'll push this along with a pending
change I have to add some PCI IDs to the match table.


More information about the xorg-devel mailing list