---
name: "gpt-undefines"
section: "8"
platform: "linux"
package: "grid-packaging-tools"
version: "3.2globus2-5"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/gpt-undefines"
---

# gpt-undefines(8)

Generate a list of preprocessor macros that are not defined.

## NAME

**gpt-undefines** - Generate a list of preprocessor macros that are not defined.

## SYNOPSIS

gpt-undefines \[-srcdir=PATH -config -disable-undefs -verbose -help\] headers containing defines

## DESCRIPTION

**gpt-undefines** Generates a list of preprocessor macros that are not defined internally in the source code.  Macros that are defined in the header files listed during **gpt-undefines**'s invocation will also be excluded.

## OPTIONS

- \-srcdir=PATH

  Use PATH as the directory containing the source code.  Source code in the entire directory tree will be scanned. Default PATH is the directory **gpt-undefines** was invoked in.

- \-config

  Prints the list out in a format that can be pasted into an installable header file.

- \-disable-undefs

  Do not count commented out undefines as a define. This technique is used by autoconf to indicate a negative test result.  Example:

  ```
     /* #undef HAVE_TCP_FASTACK */
  ```

## Managing Autoconf defines.

By default the defines tested for by the configure script are stored in a file called **config.h**.  This file should never be installed. to add autoconf defines to config.h simply add the define in the following format to the file acconfig.h:

```
   #undef AUTOCONF_DEFINE
```

acconfig.h is tranformed into a config.h.in by the script **autoheader**.  Then the configure script transform it into config.h.

A problem occurs when the autoconf defines are used in installed header files.  In this case the defines should be put in an installable header file using the following format:

```
   #ifndef AUTOCONF_DEFINE
   #undef AUTOCONF_DEFINE
   #endif
```

## SEE ALSO

[*autoconf*(1)](/autoconf/1.md) [*autoheader*(1)](/autoheader/1.md)

## AUTHOR

Michael Bletzinger \<mbletzin.ncsa.uiuc.edu\> and Eric Blau \<eblau.ncsa.uiuc.edu\>
