> Have you had any chance to test building Squid with the awk scripts?
in:
src/Makefile.am
src/Makefile.in
i changed:
PERL -> AWK
.pl -> .awk
and:
i had to add the "-f" option to the 2 command
lines in each file that call the mk-* scripts.
i only keep "sent mail" and did not
have the script you sent me, so i
used the following, and they do work.
it's still compiling and may take a while.
but it got past all the trouble spots.
i'm on a Pentium 100 :)
> Regards
> Henrik
-- 80 columns, no tabs: -- # tested with gawk, mawk, and nawk. # drop-in replacement for mk-globals-c.pl. # modified to work with Solaris awk (junk). # creates "globals.c" (on stdout) from "globals.h". # invoke similarly: perl -f mk-globals-c.pl globals.h # --> awk -f mk-globals-c.awk globals.h # # 2006 by Christopher Kerr. ############################################################################### BEGIN { Copyright = 0; print "#include \"squid.h\"" } ############################################################################### Copyright != 1 && /^ \*\/$/ { Copyright = 1; print; next } Copyright != 1 { print; next } /SQUID_GLOBALS_H/ { next } ############################################################################### /\[\];/ { next } # skip unspecified C arrays. # ..... (defined elsewhere). ############################################################################### /^extern / { # process "^extern " input lines. # 0 1 2 ####### # extern int variable; /* val */ --> int variable; /* val */ ####### ########################################################################## len = length($0) - 7 # sub(/extern /, "") str = substr($0, 8, len) # strip "^extern ". pos0 = index(str, ";") # position of ";". pos1 = index(str, "/*") # position of "/*". pos2 = index(str, "*/") # position of "*/". if ( pos1 != 0 ) { # make assignment. val = substr(str, pos1+3, pos2-pos1-4) # get comment value. str = substr(str, 1, pos0-1) " = " val ";" # string to semi-colon. } print str; next # get next input line. } ############################################################################### /^/ { print } # output other lines. ############################################################################### -- # tested with gawk, mawk, and nawk. # drop-in replacement for mk-string-arrays.pl. # modified to work with Solaris awk (junk). # creates "enums.c" (on stdout) from "enums.h". # invoke similarly: perl -f mk-string-arrays.pl enums.h # --> awk -f mk-string-arrays.awk enums.h # # 2006 by Christopher Kerr. ############################################################################### BEGIN { Copyright = 0; # convert TE's to "const char *"TypedefEnum[?]"_str[]". TypedefEnum[1]="err_type" TypedefEnum[2]="lookup_t" TypedefEnum[3]="icp_opcode" TypedefEnum[4]="swap_log_op" } ############################################################################### Copyright != 1 && /^ \*\/$/ { Copyright = 1; print; next } Copyright != 1 { print; next } /SQUID_GLOBALS_H/ { next } ############################################################################### /^ [A-Z]/ { # Typedef enum element. # store in Element[e]. # WARNING: expects "^ ELEMENT," # format in enums.h, EXACTLY 4 spaces! # AND beginning with a capital letter. pos0 = 5; pos1 = index($0, ",") # element, comma end. if ( pos1 == 0 ) pos1 = length($0)+1 # element, w/o comma. Element[++e] = substr($0, pos0, pos1-pos0) # store element in E[]. } ############################################################################### /^}/ { # Typedef enum ends. # output declaration. # WARNING: expects "^} identifier;" # format in enums.h, EXACTLY 1 space! # OR just "^}" in line (no identifier). str = substr($0, 3, index($0, ";")-3) # Typedef name, store. for ( te = 1; TypedefEnum[te] != 0; ++te ) { # try to match TE[]'s. if ( str == TypedefEnum[te] ) { # matching TypedefEnum? print "\nconst char *" str "_str[] = {\n" # then declare array, for ( i = 1; i <= e; ++i ) { # ... with Elements. if ( i < e ) print " \""Element[i]"\"," # end w/comma. else print " \""Element[i]"\"\n};" # last Element. } } } for ( i = 1; i <= e; ++i ) Element[i] = 0; e = 0 # delete Element[e]. } ###############################################################################Received on Wed Feb 22 2006 - 21:19:31 MST
This archive was generated by hypermail pre-2.1.9 : Tue Feb 28 2006 - 12:00:05 MST