(!1670) 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>
This commit is contained in:
		
							parent
							
								
									b9132f2fb5
								
							
						
					
					
						commit
						bf76a30fad
					
				|  | @ -0,0 +1,37 @@ | |||
| #!/bin/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', | ||||
|  | @ -36,6 +35,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, | ||||
|  | @ -49,7 +55,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, ] | ||||
| ) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue