wow! awk-hack alert!
Luke Kenneth Casson Leighton
lkcl at cb1.com
Mon May 11 15:20:41 GMT 1998
never done any awk before in me _life_, guv. puts #ifdef USE_LDAP around
the ldap.c files.
useful technique we might want to employ for other compile-time options: i
know it's certainly a pain to have to do something awkward like
- create a separate Makefile just for a single compile-time option: what
happens when you get several such options? urk.
- create a separate header file (in this case for function prototypes in
ldap.c) e.g as already exists for the ubiqx code.
- create dummy structs (in this case when #ifndef USE_LDAP) to satisfy the
compiler for when a compile-time option is not used.
chris, as the author of the ubiqx modules (some of which will be
compile-time selected), what do you (specifically but not exclusively)
think?
luke
BEGIN {
inheader=0;
use_ldap_define = 0;
current_file="";
print "/* This file is automatically generated with \"make proto\". DO NOT EDIT */"
print ""
}
{
if (FILENAME!=current_file) {
if (use_ldap_define)
{
print "#endif /* USE_LDAP */"
use_ldap_define = 0;
}
print ""
print "/*The following definitions come from ",FILENAME," */"
print ""
current_file=FILENAME
if (current_file=="ldap.c") {
print "#ifdef USE_LDAP"
use_ldap_define = 1;
}
}
if (inheader) {
if (match($0,"[)][ \t]*$")) {
inheader = 0;
printf "%s;\n",$0;
} else {
printf "%s\n",$0;
}
next;
}
}
More information about the samba-technical
mailing list