Checking for the Existence of Header Files

SCons User Guide 0.98.0
Prev | Chapter 21. Multi-Platform Configuration (Autoconf Functionality) | Next

# 21.2. Checking for the Existence of Header Files

Testing the existence of a header file requires knowing what language the header file is. A configure context has a `CheckCHeader` method that checks for the existence of a C header file:

        env = Environment()
        conf = Configure(env)
        if not conf.CheckCHeader('math.h'):
            print 'Math.h must be installed!'
            Exit(1)
        if conf.CheckCHeader('foo.h'):
            conf.env.Append('-DHAS_FOO_H')
        env = conf.Finish()

Note that you can choose to terminate the build if a given header file doesn't exist, or you can modify the construction environment based on the existence of a header file.

If you need to check for the existence a C++ header file, use the `CheckCXXHeader` method:

        env = Environment()
        conf = Configure(env)
        if not conf.CheckCXXHeader('vector.h'):
            print 'vector.h must be installed!'
            Exit(1)
        env = conf.Finish()

Prev | Home | Next
Multi-Platform Configuration (Autoconf Functionality) | Up | Checking for the Availability of a Function