xserver: Branch 'master' - 2 commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Feb 6 19:35:45 UTC 2025


 dix/buildatoms     |   43 ---------------
 dix/generate-atoms |   37 ++++++++++++
 dix/initatoms.c    |  151 -----------------------------------------------------
 dix/meson.build    |   10 ++-
 4 files changed, 45 insertions(+), 196 deletions(-)

New commits:
commit 216fc6fe83cd186ae009f24b12461a439d35a923
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Wed Sep 4 16:01:11 2024 +0200

    dix: drop remains of ancient code generator
    
    This script used to generated xproto header as well as a piece of source
    for initializing the builtin atoms in the Xserver (MakePredeclaredAtoms()).
    
    At least with R6.6 baseline it didn't seem to be used anymore, and - at least
    since the modularization - it's completely broken and useless.
    
    Since we now have a new generator, running directly in the build process,
    this ancient script can be dropped.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1670>

diff --git a/dix/buildatoms b/dix/buildatoms
deleted file mode 100644
index dfbbca8a9..000000000
--- a/dix/buildatoms
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-hfile=../../../include/Xatom.h
-cfile=initatoms.c
-rm -f $hfile $cfile
-umask 222
-awk '
-BEGIN {
-	hfile = "'$hfile'";
-	cfile = "'$cfile'";
-	hformat = "#define XA_%s ((Atom) %d)\n";
-	printf("#ifndef XATOM_H\n") > hfile;
-	printf("#define XATOM_H 1\n\n") > hfile;
-	printf("/* THIS IS A GENERATED FILE\n") > hfile;
-	printf(" *\n") > hfile;
-	printf(" * Do not change!  Changing this file implies a protocol change!\n") > hfile;
-	printf(" */\n\n") > hfile;
-
-	printf("/* THIS IS A GENERATED FILE\n") > cfile;
-	printf(" *\n") > cfile;
-	printf(" * Do not change!  Changing this file implies a protocol change!\n") > cfile;
-	printf(" */\n\n") > cfile;
-	printf("#include \"X.h\"\n") > cfile;
-	printf("#include \"Xatom.h\"\n") > cfile;
-	printf("#include \"misc.h\"\n") > cfile;
-	printf("#include \"dix.h\"\n") > cfile;
-	printf("void MakePredeclaredAtoms()\n") > cfile;
-	printf("{\n") > cfile;
-
-	}
-
-NF == 2 && $2 == "@" {
-	printf(hformat, $1, ++atomno) > hfile ;
-	printf("    if (MakeAtom(\"%s\", %d, 1) != XA_%s) AtomError();\n", $1, length($1), $1) > cfile ;
-	}
-
-END {
-	printf("\n") > hfile;
-	printf(hformat, "LAST_PREDEFINED", atomno) > hfile ;
-	printf("#endif /* XATOM_H */\n") > hfile;
-	printf("}\n") > cfile ;
-	}
-' BuiltInAtoms
-exit 0
commit 44e6558934e39d067550b8e5b25b2e75ba1bae73
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Wed Sep 4 16:01:11 2024 +0200

    dix: generate MakePredeclaredAtoms() from BuiltInAtoms file
    
    This function probably been (half?) auto generated somewhere back in the
    dark ages (there're still remains of the former generator, which doesn't
    work anymore, and hasn't been updated for ages). It's been added to SCM
    with R6.6 baseline - and from that on manually maintained.
    
    Adding a little generator to create source from "BuiltInAtoms" file,
    directly in the build process.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1670>

diff --git a/dix/generate-atoms b/dix/generate-atoms
new file mode 100755
index 000000000..86b1477a7
--- /dev/null
+++ b/dix/generate-atoms
@@ -0,0 +1,37 @@
+#!/usr/bin/env bash
+# SPDX-License-Identifier: MIT OR X11
+#
+# Copyright © 2024 Enrico Weigelt, metux IT consult <info at metux.net>
+
+INPUT="$1"
+OUTPUT="$2"
+
+do_line() {
+    local name="$1"
+    [ "$2" != "@" ] && return 0
+    echo "    if (MakeAtom(\"$name\", ${#name}, 1) != XA_$name)"
+    echo "        AtomError();"
+}
+
+cat > "$OUTPUT" << __END__
+/* THIS IS A GENERATED FILE
+ *
+ * Do not change!  Changing this file implies a protocol change!
+ */
+
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#include <X11/X.h>
+#include <X11/Xatom.h>
+#include "misc.h"
+#include "dix.h"
+void
+MakePredeclaredAtoms(void)
+{
+__END__
+
+( grep '@' < "$INPUT" ) | ( while read l ; do do_line $l ; done ) >> "$OUTPUT"
+
+echo "}" >> "$OUTPUT"
diff --git a/dix/initatoms.c b/dix/initatoms.c
deleted file mode 100644
index 931f03439..000000000
--- a/dix/initatoms.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/* THIS IS A GENERATED FILE
- *
- * Do not change!  Changing this file implies a protocol change!
- */
-
-#include <dix-config.h>
-
-#include <X11/X.h>
-#include <X11/Xatom.h>
-#include "misc.h"
-#include "dix.h"
-void
-MakePredeclaredAtoms(void)
-{
-    if (MakeAtom("PRIMARY", 7, 1) != XA_PRIMARY)
-        AtomError();
-    if (MakeAtom("SECONDARY", 9, 1) != XA_SECONDARY)
-        AtomError();
-    if (MakeAtom("ARC", 3, 1) != XA_ARC)
-        AtomError();
-    if (MakeAtom("ATOM", 4, 1) != XA_ATOM)
-        AtomError();
-    if (MakeAtom("BITMAP", 6, 1) != XA_BITMAP)
-        AtomError();
-    if (MakeAtom("CARDINAL", 8, 1) != XA_CARDINAL)
-        AtomError();
-    if (MakeAtom("COLORMAP", 8, 1) != XA_COLORMAP)
-        AtomError();
-    if (MakeAtom("CURSOR", 6, 1) != XA_CURSOR)
-        AtomError();
-    if (MakeAtom("CUT_BUFFER0", 11, 1) != XA_CUT_BUFFER0)
-        AtomError();
-    if (MakeAtom("CUT_BUFFER1", 11, 1) != XA_CUT_BUFFER1)
-        AtomError();
-    if (MakeAtom("CUT_BUFFER2", 11, 1) != XA_CUT_BUFFER2)
-        AtomError();
-    if (MakeAtom("CUT_BUFFER3", 11, 1) != XA_CUT_BUFFER3)
-        AtomError();
-    if (MakeAtom("CUT_BUFFER4", 11, 1) != XA_CUT_BUFFER4)
-        AtomError();
-    if (MakeAtom("CUT_BUFFER5", 11, 1) != XA_CUT_BUFFER5)
-        AtomError();
-    if (MakeAtom("CUT_BUFFER6", 11, 1) != XA_CUT_BUFFER6)
-        AtomError();
-    if (MakeAtom("CUT_BUFFER7", 11, 1) != XA_CUT_BUFFER7)
-        AtomError();
-    if (MakeAtom("DRAWABLE", 8, 1) != XA_DRAWABLE)
-        AtomError();
-    if (MakeAtom("FONT", 4, 1) != XA_FONT)
-        AtomError();
-    if (MakeAtom("INTEGER", 7, 1) != XA_INTEGER)
-        AtomError();
-    if (MakeAtom("PIXMAP", 6, 1) != XA_PIXMAP)
-        AtomError();
-    if (MakeAtom("POINT", 5, 1) != XA_POINT)
-        AtomError();
-    if (MakeAtom("RECTANGLE", 9, 1) != XA_RECTANGLE)
-        AtomError();
-    if (MakeAtom("RESOURCE_MANAGER", 16, 1) != XA_RESOURCE_MANAGER)
-        AtomError();
-    if (MakeAtom("RGB_COLOR_MAP", 13, 1) != XA_RGB_COLOR_MAP)
-        AtomError();
-    if (MakeAtom("RGB_BEST_MAP", 12, 1) != XA_RGB_BEST_MAP)
-        AtomError();
-    if (MakeAtom("RGB_BLUE_MAP", 12, 1) != XA_RGB_BLUE_MAP)
-        AtomError();
-    if (MakeAtom("RGB_DEFAULT_MAP", 15, 1) != XA_RGB_DEFAULT_MAP)
-        AtomError();
-    if (MakeAtom("RGB_GRAY_MAP", 12, 1) != XA_RGB_GRAY_MAP)
-        AtomError();
-    if (MakeAtom("RGB_GREEN_MAP", 13, 1) != XA_RGB_GREEN_MAP)
-        AtomError();
-    if (MakeAtom("RGB_RED_MAP", 11, 1) != XA_RGB_RED_MAP)
-        AtomError();
-    if (MakeAtom("STRING", 6, 1) != XA_STRING)
-        AtomError();
-    if (MakeAtom("VISUALID", 8, 1) != XA_VISUALID)
-        AtomError();
-    if (MakeAtom("WINDOW", 6, 1) != XA_WINDOW)
-        AtomError();
-    if (MakeAtom("WM_COMMAND", 10, 1) != XA_WM_COMMAND)
-        AtomError();
-    if (MakeAtom("WM_HINTS", 8, 1) != XA_WM_HINTS)
-        AtomError();
-    if (MakeAtom("WM_CLIENT_MACHINE", 17, 1) != XA_WM_CLIENT_MACHINE)
-        AtomError();
-    if (MakeAtom("WM_ICON_NAME", 12, 1) != XA_WM_ICON_NAME)
-        AtomError();
-    if (MakeAtom("WM_ICON_SIZE", 12, 1) != XA_WM_ICON_SIZE)
-        AtomError();
-    if (MakeAtom("WM_NAME", 7, 1) != XA_WM_NAME)
-        AtomError();
-    if (MakeAtom("WM_NORMAL_HINTS", 15, 1) != XA_WM_NORMAL_HINTS)
-        AtomError();
-    if (MakeAtom("WM_SIZE_HINTS", 13, 1) != XA_WM_SIZE_HINTS)
-        AtomError();
-    if (MakeAtom("WM_ZOOM_HINTS", 13, 1) != XA_WM_ZOOM_HINTS)
-        AtomError();
-    if (MakeAtom("MIN_SPACE", 9, 1) != XA_MIN_SPACE)
-        AtomError();
-    if (MakeAtom("NORM_SPACE", 10, 1) != XA_NORM_SPACE)
-        AtomError();
-    if (MakeAtom("MAX_SPACE", 9, 1) != XA_MAX_SPACE)
-        AtomError();
-    if (MakeAtom("END_SPACE", 9, 1) != XA_END_SPACE)
-        AtomError();
-    if (MakeAtom("SUPERSCRIPT_X", 13, 1) != XA_SUPERSCRIPT_X)
-        AtomError();
-    if (MakeAtom("SUPERSCRIPT_Y", 13, 1) != XA_SUPERSCRIPT_Y)
-        AtomError();
-    if (MakeAtom("SUBSCRIPT_X", 11, 1) != XA_SUBSCRIPT_X)
-        AtomError();
-    if (MakeAtom("SUBSCRIPT_Y", 11, 1) != XA_SUBSCRIPT_Y)
-        AtomError();
-    if (MakeAtom("UNDERLINE_POSITION", 18, 1) != XA_UNDERLINE_POSITION)
-        AtomError();
-    if (MakeAtom("UNDERLINE_THICKNESS", 19, 1) != XA_UNDERLINE_THICKNESS)
-        AtomError();
-    if (MakeAtom("STRIKEOUT_ASCENT", 16, 1) != XA_STRIKEOUT_ASCENT)
-        AtomError();
-    if (MakeAtom("STRIKEOUT_DESCENT", 17, 1) != XA_STRIKEOUT_DESCENT)
-        AtomError();
-    if (MakeAtom("ITALIC_ANGLE", 12, 1) != XA_ITALIC_ANGLE)
-        AtomError();
-    if (MakeAtom("X_HEIGHT", 8, 1) != XA_X_HEIGHT)
-        AtomError();
-    if (MakeAtom("QUAD_WIDTH", 10, 1) != XA_QUAD_WIDTH)
-        AtomError();
-    if (MakeAtom("WEIGHT", 6, 1) != XA_WEIGHT)
-        AtomError();
-    if (MakeAtom("POINT_SIZE", 10, 1) != XA_POINT_SIZE)
-        AtomError();
-    if (MakeAtom("RESOLUTION", 10, 1) != XA_RESOLUTION)
-        AtomError();
-    if (MakeAtom("COPYRIGHT", 9, 1) != XA_COPYRIGHT)
-        AtomError();
-    if (MakeAtom("NOTICE", 6, 1) != XA_NOTICE)
-        AtomError();
-    if (MakeAtom("FONT_NAME", 9, 1) != XA_FONT_NAME)
-        AtomError();
-    if (MakeAtom("FAMILY_NAME", 11, 1) != XA_FAMILY_NAME)
-        AtomError();
-    if (MakeAtom("FULL_NAME", 9, 1) != XA_FULL_NAME)
-        AtomError();
-    if (MakeAtom("CAP_HEIGHT", 10, 1) != XA_CAP_HEIGHT)
-        AtomError();
-    if (MakeAtom("WM_CLASS", 8, 1) != XA_WM_CLASS)
-        AtomError();
-    if (MakeAtom("WM_TRANSIENT_FOR", 16, 1) != XA_WM_TRANSIENT_FOR)
-        AtomError();
-}
diff --git a/dix/meson.build b/dix/meson.build
index 0b5cfbf8f..aa0c908dc 100644
--- a/dix/meson.build
+++ b/dix/meson.build
@@ -18,7 +18,6 @@ srcs_dix = [
     'globals.c',
     'glyphcurs.c',
     'grabs.c',
-    'initatoms.c',
     'inpututils.c',
     'pixmap.c',
     'privates.c',
@@ -35,6 +34,13 @@ srcs_dix = [
     'window.c',
 ]
 
+atom_generator = generator(
+    find_program('generate-atoms'),
+    output: '@BASENAME at .c',
+    arguments : ['@INPUT@', '@OUTPUT@'])
+
+builtinatoms_src = atom_generator.process('BuiltInAtoms')
+
 dtrace_src = []
 if with_dtrace
     dtrace_object = generator(dtrace,
@@ -48,7 +54,7 @@ endif
 dtrace_dep = declare_dependency(sources: [dtrace_src, dtrace_hdr])
 
 libxserver_dix = static_library('libxserver_dix',
-    srcs_dix,
+    [ srcs_dix, builtinatoms_src ],
     include_directories: inc,
     dependencies: [ dtrace_dep, common_dep, ]
 )


More information about the xorg-commit mailing list