Unix‎ > ‎Solaris‎ > ‎Solaris man pages‎ > ‎1‎ > ‎

unifdef


NAME
     unifdef - resolve and remove ifdef'ed lines from  C  program
     source

SYNOPSIS
     unifdef [-clt] [-Dname]  [-Uname]  [-iDname]  [-iUname]  ...
     [filename]

DESCRIPTION
     unifdef removes ifdefed lines from a  file  while  otherwise
     leaving  the file alone. It is smart enough to deal with the
     nested ifdefs, comments, single and double quotes of C  syn-
     tax,  but  it does not do any including or interpretation of
     macros. Neither does it strip out comments, though it recog-
     nizes  and  ignores them. You specify which symbols you want
     defined with -D options, and which you want  undefined  with
     -U  options. Lines within those ifdefs will be copied to the
     output, or removed,  as  appropriate.   Any  ifdef,  ifndef,
     else,  and endif lines associated with filename will also be
     removed.

     ifdefs involving symbols you do not  specify  are  untouched
     and  copied out along with their associated ifdef, else, and
     endiff1 lines.

     If an ifdefX occurs nested inside another ifdefX,  then  the
     inside  ifdef  is treated as if it were an unrecognized sym-
     bol. If the same symbol appears in more than  one  argument,
     only the first occurrence is significant.

     unifdef copies its output to the standard  output  and  will
     take  its input from the standard input if no filename argu-
     ment is given.

OPTIONS
     The following options are supported:

     -c       Complement the normal operation. Lines  that  would
              have been removed or blanked are retained, and vice
              versa.



     -l       Replace ``lines removed'' lines with blank lines.



     -t       Plain text option. unifdef refrains from attempting
              to recognize comments and single and double quotes.



     -Dname   Lines associated with the defined symbol name.



     -Uname   Lines associated with the undefined symbol name.



     -iDname  Ignore, but print out, lines  associated  with  the
              defined  symbol  name. If you use ifdefs to delimit
              non-C lines, such as  comments  or  code  which  is
              under  construction,  then  you  must  tell unifdef
              which symbols are used for that purpose so that  it
              will  not  try  to  parse  for  quotes and comments
              within them.



     -iUname  Ignore, but print out, lines  associated  with  the
              undefined symbol name.



EXIT STATUS
     The following exit values are returned:

     0        Successful operation.



     1        Operation failed.



ATTRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWbtool                   |
    |_____________________________|_____________________________|


SEE ALSO
     diff(1), attributes(5)

DIAGNOSTICS
     Premature EOF   Inappropriate else or endif.










Man pages from Solaris 10 Update 8. See docs.sun.com and www.oracle.com for further documentation and Solaris information.
Comments