| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- //
- // Config.pp
- //
- // This file defines certain configuration variables that are written
- // into the various make scripts. It is processed by ppremake (along
- // with the Sources.pp files in each of the various directories) to
- // generate build scripts appropriate to each environment.
- //
- // ppremake is capable of generating generic Unix autoconf/automake
- // style build scripts, as well as makefiles customized for SGI's
- // MipsPRO compiler or for Microsoft's Visual C++. It can also
- // generate Microsoft Developer's Studio project files directly. In
- // principle, it can be extended to generate suitable build script
- // files for any number of different build environments.
- //
- // All of these build scripts can be tuned for a particular
- // environment via this file. This is the place for the user to
- // specify which external packages are installed and where, or to
- // enable or disable certain optional features. However, it is
- // suggested that rather than modify this file directly, you create a
- // custom file in your home directory and there redefine whatever
- // variables are appropriate, and set the environment variable
- // PPREMAKE_CONFIG to refer to it. In this way, you can easily get an
- // updated source tree (including a new Config.pp) without risking
- // accidentally losing your customizations. This also avoids having
- // to redefine the same variables in different packages (for instance,
- // in dtool and in panda).
- //
- // If you *do* decide to make changes directly to this file, you
- // should also comment out the line near the bottom that includes the
- // file $[TOPDIRPREFIX]Config.$[PLATFORM].pp, to avoid stomping on the
- // changes you make.
- //
- // The syntax in this file resembles some hybrid between C++
- // preprocessor declarations and GNU make variables. This is the same
- // syntax used in the various ppremake system configure files; it's
- // designed to be easy to use as a macro language to generate
- // makefiles and their ilk.
- //
- // What kind of build scripts are we generating? This selects a
- // suitable template file from the ppremake system files. The
- // allowable choices, at present, are:
- //
- // autoconf - Generate configure.in and a series of Makefile.am files,
- // suitable for using with autoconf/automake. Not quite
- // there yet.
- // stopgap - Generate original Cary-style Makefile/Makefile.install/etc.
- // files, to ease transition to the new system.
- //
- #define BUILD_TYPE stopgap
- // Define the directory in which the system ppremake files are
- // installed.
- #define PPREMAKE_DIR /usr/local/panda/share
- // In which directory should this package be installed when you type
- // "make install"? This has no meaning when BUILD_TYPE is "stopgap".
- #define INSTALL_DIR /usr/local/panda
- // What level of compiler optimization/debug symbols should we build?
- // The various optimize levels are defined as follows:
- //
- // 1 - No compiler optimizations, full debug symbols
- // 2 - Full compiler optimizations, full debug symbols
- // (if the compiler supports this)
- // 3 - Full compiler optimizations, no debug symbols
- // 4 - Full optimizations, no debug symbols, and asserts removed
- //
- // Setting this has no effect when BUILD_TYPE is "stopgap". In this
- // case, the compiler optimizations are selected by setting the
- // environment variable OPTIMIZE accordingly at compile time.
- #define OPTIMIZE 1
- ////////////////////////////////////////////////////////////////////
- // The remaining variables are considered only if BUILD_TYPE is not
- // "autoconf". (Autoconf can determine these directly.)
- ////////////////////////////////////////////////////////////////////
- // NOTE: In the following, to indicate "yes" to a yes/no question,
- // define the variable to be a nonempty string. To indicate "no",
- // define the variable to be an empty string.
- // Is Python installed, and should Python interfaces be generated? If
- // Python is installed, which directory is it in? (If the directory
- // is someplace standard like /usr/include, you may leave it blank.)
- #define HAVE_PYTHON 1
- #define PYTHON_INCLUDE /usr/local/include/python1.6
- #define PYTHON_LIB
- // Is NSPR installed, and where?
- #define HAVE_NSPR 1
- #define NSPR_INCLUDE /usr/local/mozilla/dist/*/include
- #define NSPR_LIB
- // Is VRPN installed, and where?
- #define HAVE_VRPN
- #define VRPN_INCLUDE
- #define VRPN_LIB
- // Is ZLIB installed, and where?
- #define HAVE_ZLIB 1
- #define ZLIB_INCLUDE
- #define ZLIB_LIB
- // Is the sox libst library installed, and where?
- #define HAVE_SOXST 1
- #define SOXST_INCLUDE
- #define SOXST_LIB
- // Is OpenGL installed, and where?
- #define HAVE_GL 1
- #define GL_INCLUDE
- #define GL_LIB
- #define GLU_INCLUDE
- #define GLU_LIB
- // How about GLX?
- #define HAVE_GLX 1
- #define GLX_INCLUDE
- #define GLX_LIB
- // Glut?
- #define HAVE_GLUT
- #define GLUT_INCLUDE
- #define GLUT_LIB
- // Should we try to build the WGL interface?
- #define HAVE_WGL
- // Should we try to build the DirectX interface?
- #define HAVE_DX
- // Do you want to build the Renderman interface?
- #define HAVE_RIB
- // Is Mikmod installed?
- #define HAVE_MIKMOD
- #define MIKMOD_CFLAGS
- #define MIKMOD_INCLUDE
- #define MIKMOD_LIB
- //////////////////////////////////////////////////////////////////////
- // There are also some additional variables that control specific
- // compiler/platform features or characteristics, defined in the
- // platform specific file Config.platform.pp. Be sure to inspect
- // these variables for correctness too. As above, these are
- // unnecessary when BUILD_TYPE is "autoconf".
- //////////////////////////////////////////////////////////////////////
- #include $[TOPDIRPREFIX]Config.$[PLATFORM].pp
- // Also pull in whatever package-specific variables there may be.
- #include $[TOPDIRPREFIX]Package.pp
- // If the environment variable PPREMAKE_CONFIG is set, it points to a
- // user-customized Config.pp file, for instance in the user's home
- // directory. This file might redefine any of the variables defined
- // above.
- #if $[ne $[PPREMAKE_CONFIG],]
- #include $[PPREMAKE_CONFIG]
- #endif
- // Finally, include the system configure file.
- #include $[PPREMAKE_DIR]/System.pp
|