xref: /OK3568_Linux_fs/external/xserver/dix/buildatoms (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#!/bin/sh
2*4882a593Smuzhiyunhfile=../../../include/Xatom.h
3*4882a593Smuzhiyuncfile=initatoms.c
4*4882a593Smuzhiyunrm -f $hfile $cfile
5*4882a593Smuzhiyunumask 222
6*4882a593Smuzhiyunawk '
7*4882a593SmuzhiyunBEGIN {
8*4882a593Smuzhiyun	hfile = "'$hfile'";
9*4882a593Smuzhiyun	cfile = "'$cfile'";
10*4882a593Smuzhiyun	hformat = "#define XA_%s ((Atom) %d)\n";
11*4882a593Smuzhiyun	printf("#ifndef XATOM_H\n") > hfile;
12*4882a593Smuzhiyun	printf("#define XATOM_H 1\n\n") > hfile;
13*4882a593Smuzhiyun	printf("/* THIS IS A GENERATED FILE\n") > hfile;
14*4882a593Smuzhiyun	printf(" *\n") > hfile;
15*4882a593Smuzhiyun	printf(" * Do not change!  Changing this file implies a protocol change!\n") > hfile;
16*4882a593Smuzhiyun	printf(" */\n\n") > hfile;
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun	printf("/* THIS IS A GENERATED FILE\n") > cfile;
19*4882a593Smuzhiyun	printf(" *\n") > cfile;
20*4882a593Smuzhiyun	printf(" * Do not change!  Changing this file implies a protocol change!\n") > cfile;
21*4882a593Smuzhiyun	printf(" */\n\n") > cfile;
22*4882a593Smuzhiyun	printf("#include \"X.h\"\n") > cfile;
23*4882a593Smuzhiyun	printf("#include \"Xatom.h\"\n") > cfile;
24*4882a593Smuzhiyun	printf("#include \"misc.h\"\n") > cfile;
25*4882a593Smuzhiyun	printf("#include \"dix.h\"\n") > cfile;
26*4882a593Smuzhiyun	printf("void MakePredeclaredAtoms()\n") > cfile;
27*4882a593Smuzhiyun	printf("{\n") > cfile;
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun	}
30*4882a593Smuzhiyun
31*4882a593SmuzhiyunNF == 2 && $2 == "@" {
32*4882a593Smuzhiyun	printf(hformat, $1, ++atomno) > hfile ;
33*4882a593Smuzhiyun	printf("    if (MakeAtom(\"%s\", %d, 1) != XA_%s) AtomError();\n", $1, length($1), $1) > cfile ;
34*4882a593Smuzhiyun	}
35*4882a593Smuzhiyun
36*4882a593SmuzhiyunEND {
37*4882a593Smuzhiyun	printf("\n") > hfile;
38*4882a593Smuzhiyun	printf(hformat, "LAST_PREDEFINED", atomno) > hfile ;
39*4882a593Smuzhiyun	printf("#endif /* XATOM_H */\n") > hfile;
40*4882a593Smuzhiyun	printf("}\n") > cfile ;
41*4882a593Smuzhiyun	}
42*4882a593Smuzhiyun' BuiltInAtoms
43*4882a593Smuzhiyunexit 0
44