mirror of
https://github.com/X11Libre/xserver.git
synced 2026-03-24 08:04:30 +00:00
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@metux.net> Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1670>
This commit is contained in:
committed by
Marge Bot
parent
4775f547d8
commit
44e6558934
37
dix/generate-atoms
Executable file
37
dix/generate-atoms
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: MIT OR X11
|
||||
#
|
||||
# Copyright © 2024 Enrico Weigelt, metux IT consult <info@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"
|
||||
151
dix/initatoms.c
151
dix/initatoms.c
@@ -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();
|
||||
}
|
||||
@@ -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@.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, ]
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user