1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun 3*4882a593Smuzhiyuncat > sdksyms.c << EOF 4*4882a593Smuzhiyun/* This file is automatically generated by sdksyms.sh. */ 5*4882a593Smuzhiyun#pragma GCC diagnostic ignored "-Wdeprecated-declarations" 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun#ifdef HAVE_XORG_CONFIG_H 8*4882a593Smuzhiyun#include <xorg-config.h> 9*4882a593Smuzhiyun#endif 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun/* These must be included first */ 13*4882a593Smuzhiyun#include "misc.h" 14*4882a593Smuzhiyun#include "miscstruct.h" 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun/* render/Makefile.am */ 18*4882a593Smuzhiyun#include "picture.h" 19*4882a593Smuzhiyun#include "mipict.h" 20*4882a593Smuzhiyun#include "glyphstr.h" 21*4882a593Smuzhiyun#include "picturestr.h" 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun/* fb/Makefile.am -- module */ 25*4882a593Smuzhiyun/* 26*4882a593Smuzhiyun#include "fb.h" 27*4882a593Smuzhiyun#include "fbrop.h" 28*4882a593Smuzhiyun#include "fboverlay.h" 29*4882a593Smuzhiyun#include "wfbrename.h" 30*4882a593Smuzhiyun#include "fbpict.h" 31*4882a593Smuzhiyun */ 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun/* miext/shadow/Makefile.am -- module */ 35*4882a593Smuzhiyun/* 36*4882a593Smuzhiyun#include "shadow.h" 37*4882a593Smuzhiyun */ 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun/* miext/damage/Makefile.am */ 41*4882a593Smuzhiyun#include "damage.h" 42*4882a593Smuzhiyun#include "damagestr.h" 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun/* miext/sync/Makefile.am */ 45*4882a593Smuzhiyun#include "misync.h" 46*4882a593Smuzhiyun#include "misyncstr.h" 47*4882a593Smuzhiyun#if HAVE_XSHMFENCE 48*4882a593Smuzhiyun#include "misyncshm.h" 49*4882a593Smuzhiyun#endif 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun/* Xext/Makefile.am -- half is module, half is builtin */ 52*4882a593Smuzhiyun#ifdef XV 53*4882a593Smuzhiyun#include "xvdix.h" 54*4882a593Smuzhiyun#include "xvmcext.h" 55*4882a593Smuzhiyun#endif 56*4882a593Smuzhiyun#include "geext.h" 57*4882a593Smuzhiyun#ifdef MITSHM 58*4882a593Smuzhiyun#include "shmint.h" 59*4882a593Smuzhiyun#endif 60*4882a593Smuzhiyun#include "syncsdk.h" 61*4882a593Smuzhiyun#ifdef XINERAMA 62*4882a593Smuzhiyun# include "panoramiXsrv.h" 63*4882a593Smuzhiyun# include "panoramiX.h" 64*4882a593Smuzhiyun#endif 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun/* glx/Makefile.am */ 67*4882a593Smuzhiyun#ifdef GLX 68*4882a593Smuzhiyun#include "vndserver.h" 69*4882a593Smuzhiyun#endif 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun/* hw/xfree86/int10/Makefile.am -- module */ 72*4882a593Smuzhiyun/* 73*4882a593Smuzhiyun#include "xf86int10.h" 74*4882a593Smuzhiyun */ 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun/* hw/xfree86/i2c/Makefile.am -- "mostly" modules */ 78*4882a593Smuzhiyun#include "xf86i2c.h" 79*4882a593Smuzhiyun/* 80*4882a593Smuzhiyun#include "bt829.h" 81*4882a593Smuzhiyun#include "fi1236.h" 82*4882a593Smuzhiyun#include "msp3430.h" 83*4882a593Smuzhiyun#include "tda8425.h" 84*4882a593Smuzhiyun#include "tda9850.h" 85*4882a593Smuzhiyun#include "tda9885.h" 86*4882a593Smuzhiyun#include "uda1380.h" 87*4882a593Smuzhiyun#include "i2c_def.h" 88*4882a593Smuzhiyun */ 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun/* hw/xfree86/modes/Makefile.am */ 92*4882a593Smuzhiyun#include "xf86Crtc.h" 93*4882a593Smuzhiyun#include "xf86Modes.h" 94*4882a593Smuzhiyun#include "xf86RandR12.h" 95*4882a593Smuzhiyun/* #include "xf86Rename.h" */ 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun/* hw/xfree86/ddc/Makefile.am */ 99*4882a593Smuzhiyun#include "edid.h" 100*4882a593Smuzhiyun#include "xf86DDC.h" 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun/* hw/xfree86/dri2/Makefile.am -- module */ 104*4882a593Smuzhiyun#ifdef DRI2 105*4882a593Smuzhiyun# include "dri2.h" 106*4882a593Smuzhiyun#endif 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun# include "dri3.h" 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun/* hw/xfree86/vgahw/Makefile.am -- module */ 111*4882a593Smuzhiyun/* 112*4882a593Smuzhiyun#include "vgaHW.h" 113*4882a593Smuzhiyun */ 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun/* hw/xfree86/fbdevhw/Makefile.am -- module */ 117*4882a593Smuzhiyun/* 118*4882a593Smuzhiyun#include "fbdevhw.h" 119*4882a593Smuzhiyun */ 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun/* hw/xfree86/common/Makefile.am */ 123*4882a593Smuzhiyun#include "compiler.h" 124*4882a593Smuzhiyun#include "fourcc.h" 125*4882a593Smuzhiyun#include "xf86.h" 126*4882a593Smuzhiyun#include "xf86Module.h" 127*4882a593Smuzhiyun#include "xf86Opt.h" 128*4882a593Smuzhiyun#ifdef XSERVER_LIBPCIACCESS 129*4882a593Smuzhiyun #include "xf86VGAarbiter.h" 130*4882a593Smuzhiyun#endif 131*4882a593Smuzhiyun#include "xf86Priv.h" 132*4882a593Smuzhiyun#include "xf86Privstr.h" 133*4882a593Smuzhiyun#include "xf86cmap.h" 134*4882a593Smuzhiyun#include "xf86fbman.h" 135*4882a593Smuzhiyun#include "xf86str.h" 136*4882a593Smuzhiyun#include "xf86Xinput.h" 137*4882a593Smuzhiyun#include "xisb.h" 138*4882a593Smuzhiyun#ifdef XV 139*4882a593Smuzhiyun# include "xf86xv.h" 140*4882a593Smuzhiyun# include "xf86xvmc.h" 141*4882a593Smuzhiyun# include "xf86xvpriv.h" 142*4882a593Smuzhiyun#endif 143*4882a593Smuzhiyun#include "xorgVersion.h" 144*4882a593Smuzhiyun#if defined(__sparc__) || defined(__sparc) 145*4882a593Smuzhiyun# include "xf86sbusBus.h" 146*4882a593Smuzhiyun#endif 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun/* hw/xfree86/ramdac/Makefile.am */ 150*4882a593Smuzhiyun#include "BT.h" 151*4882a593Smuzhiyun#include "IBM.h" 152*4882a593Smuzhiyun#include "TI.h" 153*4882a593Smuzhiyun#include "xf86Cursor.h" 154*4882a593Smuzhiyun#include "xf86RamDac.h" 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun/* hw/xfree86/shadowfb/Makefile.am -- module */ 158*4882a593Smuzhiyun/* 159*4882a593Smuzhiyun#include "shadowfb.h" 160*4882a593Smuzhiyun */ 161*4882a593Smuzhiyun 162*4882a593Smuzhiyun 163*4882a593Smuzhiyun/* hw/xfree86/os-support/solaris/Makefile.am */ 164*4882a593Smuzhiyun#if defined(sun386) 165*4882a593Smuzhiyun# include "agpgart.h" 166*4882a593Smuzhiyun#endif 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun 169*4882a593Smuzhiyun/* hw/xfree86/os-support/Makefile.am */ 170*4882a593Smuzhiyun#include "xf86_OSproc.h" 171*4882a593Smuzhiyun#include "xf86_OSlib.h" 172*4882a593Smuzhiyun 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun/* hw/xfree86/os-support/bus/Makefile.am */ 175*4882a593Smuzhiyun#ifdef XSERVER_LIBPCIACCESS 176*4882a593Smuzhiyun# include "xf86Pci.h" 177*4882a593Smuzhiyun#endif 178*4882a593Smuzhiyun#if defined(__sparc__) || defined(__sparc) 179*4882a593Smuzhiyun# include "xf86Sbus.h" 180*4882a593Smuzhiyun#endif 181*4882a593Smuzhiyun 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun/* hw/xfree86/parser/Makefile.am */ 184*4882a593Smuzhiyun#include "xf86Parser.h" 185*4882a593Smuzhiyun#include "xf86Optrec.h" 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun/* hw/xfree86/vbe/Makefile.am -- module */ 189*4882a593Smuzhiyun/* 190*4882a593Smuzhiyun#include "vbe.h" 191*4882a593Smuzhiyun#include "vbeModes.h" 192*4882a593Smuzhiyun */ 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun 195*4882a593Smuzhiyun/* hw/xfree86/dri/Makefile.am -- module */ 196*4882a593Smuzhiyun#ifdef XF86DRI 197*4882a593Smuzhiyun# include "dri.h" 198*4882a593Smuzhiyun# include "sarea.h" 199*4882a593Smuzhiyun# include "dristruct.h" 200*4882a593Smuzhiyun#endif 201*4882a593Smuzhiyun 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun/* mi/Makefile.am */ 204*4882a593Smuzhiyun#include "micmap.h" 205*4882a593Smuzhiyun#include "miline.h" 206*4882a593Smuzhiyun#include "mipointer.h" 207*4882a593Smuzhiyun#include "mi.h" 208*4882a593Smuzhiyun#include "migc.h" 209*4882a593Smuzhiyun#include "mipointrst.h" 210*4882a593Smuzhiyun#include "mizerarc.h" 211*4882a593Smuzhiyun#include "micoord.h" 212*4882a593Smuzhiyun#include "mifillarc.h" 213*4882a593Smuzhiyun#include "mistruct.h" 214*4882a593Smuzhiyun#include "mioverlay.h" 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun 217*4882a593Smuzhiyun/* randr/Makefile.am */ 218*4882a593Smuzhiyun#include "randrstr.h" 219*4882a593Smuzhiyun#include "rrtransform.h" 220*4882a593Smuzhiyun 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun/* dbe/Makefile.am -- module */ 223*4882a593Smuzhiyun#ifdef DBE 224*4882a593Smuzhiyun#include "dbestruct.h" 225*4882a593Smuzhiyun#endif 226*4882a593Smuzhiyun 227*4882a593Smuzhiyun 228*4882a593Smuzhiyun/* exa/Makefile.am -- module */ 229*4882a593Smuzhiyun/* 230*4882a593Smuzhiyun#include "exa.h" 231*4882a593Smuzhiyun */ 232*4882a593Smuzhiyun 233*4882a593Smuzhiyun#ifdef COMPOSITE 234*4882a593Smuzhiyun#include "compositeext.h" 235*4882a593Smuzhiyun#endif 236*4882a593Smuzhiyun 237*4882a593Smuzhiyun/* xfixes/Makefile.am */ 238*4882a593Smuzhiyun#include "xfixes.h" 239*4882a593Smuzhiyun 240*4882a593Smuzhiyun 241*4882a593Smuzhiyun/* include/Makefile.am */ 242*4882a593Smuzhiyun#include "XIstubs.h" 243*4882a593Smuzhiyun#include "Xprintf.h" 244*4882a593Smuzhiyun#include "closestr.h" 245*4882a593Smuzhiyun#include "closure.h" 246*4882a593Smuzhiyun#include "colormap.h" 247*4882a593Smuzhiyun#include "colormapst.h" 248*4882a593Smuzhiyun#include "hotplug.h" 249*4882a593Smuzhiyun#include "client.h" 250*4882a593Smuzhiyun#include "cursor.h" 251*4882a593Smuzhiyun#include "cursorstr.h" 252*4882a593Smuzhiyun#include "dix.h" 253*4882a593Smuzhiyun#include "dixaccess.h" 254*4882a593Smuzhiyun#include "dixevents.h" 255*4882a593Smuzhiyun#define _FONTPROTO_H 256*4882a593Smuzhiyun#include "dixfont.h" 257*4882a593Smuzhiyun#include "dixfontstr.h" 258*4882a593Smuzhiyun#include "dixgrabs.h" 259*4882a593Smuzhiyun#include "dixstruct.h" 260*4882a593Smuzhiyun#include "exevents.h" 261*4882a593Smuzhiyun#include "extension.h" 262*4882a593Smuzhiyun#include "extnsionst.h" 263*4882a593Smuzhiyun#include "gc.h" 264*4882a593Smuzhiyun#include "gcstruct.h" 265*4882a593Smuzhiyun#include "globals.h" 266*4882a593Smuzhiyun#include "input.h" 267*4882a593Smuzhiyun#include "inputstr.h" 268*4882a593Smuzhiyun/* already included */ 269*4882a593Smuzhiyun/* 270*4882a593Smuzhiyun#include "misc.h" 271*4882a593Smuzhiyun#include "miscstruct.h" 272*4882a593Smuzhiyun */ 273*4882a593Smuzhiyun#include "opaque.h" 274*4882a593Smuzhiyun#include "os.h" 275*4882a593Smuzhiyun#include "pixmap.h" 276*4882a593Smuzhiyun#include "pixmapstr.h" 277*4882a593Smuzhiyun#include "privates.h" 278*4882a593Smuzhiyun#include "property.h" 279*4882a593Smuzhiyun#include "propertyst.h" 280*4882a593Smuzhiyun#include "ptrveloc.h" 281*4882a593Smuzhiyun#include "region.h" 282*4882a593Smuzhiyun#include "regionstr.h" 283*4882a593Smuzhiyun#include "registry.h" 284*4882a593Smuzhiyun#include "resource.h" 285*4882a593Smuzhiyun#include "rgb.h" 286*4882a593Smuzhiyun#include "screenint.h" 287*4882a593Smuzhiyun#include "scrnintstr.h" 288*4882a593Smuzhiyun#include "selection.h" 289*4882a593Smuzhiyun#include "servermd.h" 290*4882a593Smuzhiyun#include "site.h" 291*4882a593Smuzhiyun#include "validate.h" 292*4882a593Smuzhiyun#include "window.h" 293*4882a593Smuzhiyun#include "windowstr.h" 294*4882a593Smuzhiyun#include "xace.h" 295*4882a593Smuzhiyun#include "xkbfile.h" 296*4882a593Smuzhiyun#include "xkbsrv.h" 297*4882a593Smuzhiyun#include "xkbstr.h" 298*4882a593Smuzhiyun#include "xkbrules.h" 299*4882a593Smuzhiyun#include "xserver-properties.h" 300*4882a593Smuzhiyun 301*4882a593SmuzhiyunEOF 302*4882a593Smuzhiyun 303*4882a593Smuzhiyuntopdir=$(readlink -f $1) 304*4882a593Smuzhiyunshift 305*4882a593SmuzhiyunLC_ALL=C 306*4882a593Smuzhiyunexport LC_ALL 307*4882a593Smuzhiyun${CPP:-cpp} "$@" sdksyms.c > /dev/null || exit $? 308*4882a593Smuzhiyun${CPP:-cpp} "$@" sdksyms.c | ${AWK:-awk} -v topdir=$topdir ' 309*4882a593SmuzhiyunBEGIN { 310*4882a593Smuzhiyun sdk = 0; 311*4882a593Smuzhiyun print("/*"); 312*4882a593Smuzhiyun print(" * These symbols are referenced to ensure they"); 313*4882a593Smuzhiyun print(" * will be available in the X Server binary."); 314*4882a593Smuzhiyun print(" */"); 315*4882a593Smuzhiyun printf("/* topdir=%s */\n", topdir); 316*4882a593Smuzhiyun print("_X_HIDDEN void *xorg_symbols[] = {"); 317*4882a593Smuzhiyun 318*4882a593Smuzhiyun printf("sdksyms.c:") > "sdksyms.dep"; 319*4882a593Smuzhiyun} 320*4882a593Smuzhiyun/^# [0-9]+ "/ { 321*4882a593Smuzhiyun # Match preprocessor linemarkers which have the form: 322*4882a593Smuzhiyun # # linenum "filename" flags 323*4882a593Smuzhiyun # 324*4882a593Smuzhiyun # Only process text for sdk exports where the linemarker filename has a 325*4882a593Smuzhiyun # relative path, or an absolute path matching $top_srcdir. 326*4882a593Smuzhiyun # 327*4882a593Smuzhiyun 328*4882a593Smuzhiyun # canonicalize filename 329*4882a593Smuzhiyun if ($3 in canonicalized) { 330*4882a593Smuzhiyun c = canonicalized[$3] 331*4882a593Smuzhiyun } else { 332*4882a593Smuzhiyun cmd = "readlink -f " $3 333*4882a593Smuzhiyun cmd | getline c 334*4882a593Smuzhiyun close(cmd) 335*4882a593Smuzhiyun canonicalized[$3] = c 336*4882a593Smuzhiyun } 337*4882a593Smuzhiyun # note that index() starts at 1; 0 means no match. 338*4882a593Smuzhiyun sdk = $3 !~ /^"\// || index(c, topdir) == 1; 339*4882a593Smuzhiyun 340*4882a593Smuzhiyun if (sdk && $3 ~ /\.h"$/) { 341*4882a593Smuzhiyun # remove quotes 342*4882a593Smuzhiyun gsub(/"/, "", $3); 343*4882a593Smuzhiyun line = $2; 344*4882a593Smuzhiyun header = $3; 345*4882a593Smuzhiyun if (! headers[$3]) { 346*4882a593Smuzhiyun printf(" \\\n %s", $3) >> "sdksyms.dep"; 347*4882a593Smuzhiyun headers[$3] = 1; 348*4882a593Smuzhiyun } 349*4882a593Smuzhiyun } 350*4882a593Smuzhiyun next; 351*4882a593Smuzhiyun} 352*4882a593Smuzhiyun 353*4882a593Smuzhiyun/^extern[ ]/ { 354*4882a593Smuzhiyun if (sdk) { 355*4882a593Smuzhiyun n = 3; 356*4882a593Smuzhiyun 357*4882a593Smuzhiyun # skip line numbers GCC 5 adds before __attribute__ 358*4882a593Smuzhiyun while ($n == "" || $0 ~ /^# [0-9]+ "/) { 359*4882a593Smuzhiyun getline; 360*4882a593Smuzhiyun n = 1; 361*4882a593Smuzhiyun } 362*4882a593Smuzhiyun 363*4882a593Smuzhiyun # skip attribute, if any 364*4882a593Smuzhiyun while ($n ~ /^(__attribute__|__global)/ || 365*4882a593Smuzhiyun # skip modifiers, if any 366*4882a593Smuzhiyun $n ~ /^\*?(unsigned|const|volatile|struct|_X_EXPORT)$/ || 367*4882a593Smuzhiyun # skip pointer 368*4882a593Smuzhiyun $n ~ /^[a-zA-Z0-9_]*\*$/) { 369*4882a593Smuzhiyun n++; 370*4882a593Smuzhiyun # skip line numbers GCC 5 adds after __attribute__ 371*4882a593Smuzhiyun while ($n == "" || $0 ~ /^# [0-9]+ "/) { 372*4882a593Smuzhiyun getline; 373*4882a593Smuzhiyun n = 1; 374*4882a593Smuzhiyun } 375*4882a593Smuzhiyun } 376*4882a593Smuzhiyun # hack: pid_t becomes __pid_t on NetBSD, same for uint32_t -> __uint32_t. 377*4882a593Smuzhiyun # GCC 5 inserts additional lines around this. 378*4882a593Smuzhiyun if (($1 == "__pid_t" || $1 == "__uint32_t") && NF == 1) { 379*4882a593Smuzhiyun getline; 380*4882a593Smuzhiyun n++; 381*4882a593Smuzhiyun # skip line numbers GCC 5 adds (after typedef return type?) 382*4882a593Smuzhiyun while ($n == "" || $0 ~ /^# [0-9]+ "/) { 383*4882a593Smuzhiyun getline; 384*4882a593Smuzhiyun n = 1; 385*4882a593Smuzhiyun } 386*4882a593Smuzhiyun } 387*4882a593Smuzhiyun 388*4882a593Smuzhiyun # type specifier may not be set, as in 389*4882a593Smuzhiyun # extern _X_EXPORT unsigned name(...) 390*4882a593Smuzhiyun if ($n !~ /[^a-zA-Z0-9_]/) 391*4882a593Smuzhiyun n++; 392*4882a593Smuzhiyun 393*4882a593Smuzhiyun # go back if we are at the parameter list already 394*4882a593Smuzhiyun if ($n ~ /^[(]([^*].*)?$/) 395*4882a593Smuzhiyun n--; 396*4882a593Smuzhiyun 397*4882a593Smuzhiyun # match 398*4882a593Smuzhiyun # extern _X_EXPORT type (* name[])(...) 399*4882a593Smuzhiyun if ($n ~ /^[^a-zA-Z0-9_]+$/) 400*4882a593Smuzhiyun n++; 401*4882a593Smuzhiyun 402*4882a593Smuzhiyun # match 403*4882a593Smuzhiyun # extern _X_EXPORT const name *const ... 404*4882a593Smuzhiyun if ($n ~ /^([^a-zA-Z0-9_]+)?const$/) 405*4882a593Smuzhiyun n++; 406*4882a593Smuzhiyun 407*4882a593Smuzhiyun # actual name may be in the next line, as in 408*4882a593Smuzhiyun # extern _X_EXPORT type 409*4882a593Smuzhiyun # possibly ending with a * 410*4882a593Smuzhiyun # name(...) 411*4882a593Smuzhiyun if ($n == "" || $n ~ /^\*+$/) { 412*4882a593Smuzhiyun getline; 413*4882a593Smuzhiyun n = 1; 414*4882a593Smuzhiyun # indent may have inserted a blank link 415*4882a593Smuzhiyun if ($0 == "") 416*4882a593Smuzhiyun getline; 417*4882a593Smuzhiyun } 418*4882a593Smuzhiyun 419*4882a593Smuzhiyun # dont modify $0 or $n 420*4882a593Smuzhiyun symbol = $n; 421*4882a593Smuzhiyun 422*4882a593Smuzhiyun # remove starting non word chars 423*4882a593Smuzhiyun sub(/^[^a-zA-Z0-9_]+/, "",symbol); 424*4882a593Smuzhiyun 425*4882a593Smuzhiyun # remove from first non word to end of line 426*4882a593Smuzhiyun sub(/[^a-zA-Z0-9_].*/, "", symbol); 427*4882a593Smuzhiyun 428*4882a593Smuzhiyun #print; 429*4882a593Smuzhiyun if (symbol != "") 430*4882a593Smuzhiyun printf(" (void *) &%-50s /* %s:%s */\n", symbol ",", header, line); 431*4882a593Smuzhiyun } 432*4882a593Smuzhiyun} 433*4882a593Smuzhiyun 434*4882a593Smuzhiyun{ 435*4882a593Smuzhiyun line++; 436*4882a593Smuzhiyun} 437*4882a593Smuzhiyun 438*4882a593SmuzhiyunEND { 439*4882a593Smuzhiyun print("};"); 440*4882a593Smuzhiyun 441*4882a593Smuzhiyun print("") >> "sdksyms.dep"; 442*4882a593Smuzhiyun}' > _sdksyms.c 443*4882a593Smuzhiyun 444*4882a593SmuzhiyunSTATUS=$? 445*4882a593Smuzhiyun 446*4882a593Smuzhiyuncat _sdksyms.c >> sdksyms.c 447*4882a593Smuzhiyunrm _sdksyms.c 448*4882a593Smuzhiyun 449*4882a593Smuzhiyun[ $? != 0 ] && exit $? 450*4882a593Smuzhiyun 451*4882a593Smuzhiyunexit $STATUS 452