Config.pp 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. //
  2. // Config.pp
  3. //
  4. // This file defines certain configuration variables that are written
  5. // into the various make scripts. It is processed by ppremake (along
  6. // with the Sources.pp files in each of the various directories) to
  7. // generate build scripts appropriate to each environment.
  8. //
  9. // ppremake is capable of generating generic Unix autoconf/automake
  10. // style build scripts, as well as makefiles customized for SGI's
  11. // MipsPRO compiler or for Microsoft's Visual C++. It can also
  12. // generate Microsoft Developer's Studio project files directly. In
  13. // principle, it can be extended to generate suitable build script
  14. // files for any number of different build environments.
  15. //
  16. // All of these build scripts can be tuned for a particular
  17. // environment via this file. This is the place for the user to
  18. // specify which external packages are installed and where, or to
  19. // enable or disable certain optional features. However, it is
  20. // suggested that rather than modify this file directly, you create a
  21. // custom file in your home directory and there redefine whatever
  22. // variables are appropriate, and set the environment variable
  23. // PPREMAKE_CONFIG to refer to it. In this way, you can easily get an
  24. // updated source tree (including a new Config.pp) without risking
  25. // accidentally losing your customizations. This also avoids having
  26. // to redefine the same variables in different packages (for instance,
  27. // in dtool and in panda).
  28. //
  29. // If you *do* decide to make changes directly to this file, you
  30. // should also comment out the line near the bottom that includes the
  31. // file $[TOPDIRPREFIX]Config.$[PLATFORM].pp, to avoid stomping on the
  32. // changes you make.
  33. //
  34. // The syntax in this file resembles some hybrid between C++
  35. // preprocessor declarations and GNU make variables. This is the same
  36. // syntax used in the various ppremake system configure files; it's
  37. // designed to be easy to use as a macro language to generate
  38. // makefiles and their ilk.
  39. //
  40. // What kind of build scripts are we generating? This selects a
  41. // suitable template file from the ppremake system files. The
  42. // allowable choices, at present, are:
  43. //
  44. // autoconf - Generate configure.in and a series of Makefile.am files,
  45. // suitable for using with autoconf/automake. Not quite
  46. // there yet.
  47. // stopgap - Generate original Cary-style Makefile/Makefile.install/etc.
  48. // files, to ease transition to the new system.
  49. //
  50. #define BUILD_TYPE stopgap
  51. // Define the directory in which the system ppremake files are
  52. // installed.
  53. #define PPREMAKE_DIR /usr/local/panda/share
  54. // In which directory should this package be installed when you type
  55. // "make install"? This has no meaning when BUILD_TYPE is "stopgap".
  56. #define INSTALL_DIR /usr/local/panda
  57. // What level of compiler optimization/debug symbols should we build?
  58. // The various optimize levels are defined as follows:
  59. //
  60. // 1 - No compiler optimizations, full debug symbols
  61. // 2 - Full compiler optimizations, full debug symbols
  62. // (if the compiler supports this)
  63. // 3 - Full compiler optimizations, no debug symbols
  64. // 4 - Full optimizations, no debug symbols, and asserts removed
  65. //
  66. // Setting this has no effect when BUILD_TYPE is "stopgap". In this
  67. // case, the compiler optimizations are selected by setting the
  68. // environment variable OPTIMIZE accordingly at compile time.
  69. #define OPTIMIZE 1
  70. ////////////////////////////////////////////////////////////////////
  71. // The remaining variables are considered only if BUILD_TYPE is not
  72. // "autoconf". (Autoconf can determine these directly.)
  73. ////////////////////////////////////////////////////////////////////
  74. // NOTE: In the following, to indicate "yes" to a yes/no question,
  75. // define the variable to be a nonempty string. To indicate "no",
  76. // define the variable to be an empty string.
  77. // Is Python installed, and should Python interfaces be generated? If
  78. // Python is installed, which directory is it in? (If the directory
  79. // is someplace standard like /usr/include, you may leave it blank.)
  80. #define HAVE_PYTHON 1
  81. #define PYTHON_INCLUDE /usr/local/include/python1.6
  82. #define PYTHON_LIB
  83. // Is NSPR installed, and where?
  84. #define HAVE_NSPR 1
  85. #define NSPR_INCLUDE /usr/local/mozilla/dist/*/include
  86. #define NSPR_LIB
  87. // Is VRPN installed, and where?
  88. #define HAVE_VRPN
  89. #define VRPN_INCLUDE
  90. #define VRPN_LIB
  91. // Is ZLIB installed, and where?
  92. #define HAVE_ZLIB 1
  93. #define ZLIB_INCLUDE
  94. #define ZLIB_LIB
  95. // Is the sox libst library installed, and where?
  96. #define HAVE_SOXST 1
  97. #define SOXST_INCLUDE
  98. #define SOXST_LIB
  99. // Is OpenGL installed, and where?
  100. #define HAVE_GL 1
  101. #define GL_INCLUDE
  102. #define GL_LIB
  103. #define GLU_INCLUDE
  104. #define GLU_LIB
  105. // How about GLX?
  106. #define HAVE_GLX 1
  107. #define GLX_INCLUDE
  108. #define GLX_LIB
  109. // Glut?
  110. #define HAVE_GLUT
  111. #define GLUT_INCLUDE
  112. #define GLUT_LIB
  113. // Should we try to build the WGL interface?
  114. #define HAVE_WGL
  115. // Should we try to build the DirectX interface?
  116. #define HAVE_DX
  117. // Do you want to build the Renderman interface?
  118. #define HAVE_RIB
  119. // Is Mikmod installed?
  120. #define HAVE_MIKMOD
  121. #define MIKMOD_CFLAGS
  122. #define MIKMOD_INCLUDE
  123. #define MIKMOD_LIB
  124. //////////////////////////////////////////////////////////////////////
  125. // There are also some additional variables that control specific
  126. // compiler/platform features or characteristics, defined in the
  127. // platform specific file Config.platform.pp. Be sure to inspect
  128. // these variables for correctness too. As above, these are
  129. // unnecessary when BUILD_TYPE is "autoconf".
  130. //////////////////////////////////////////////////////////////////////
  131. #include $[TOPDIRPREFIX]Config.$[PLATFORM].pp
  132. // Also pull in whatever package-specific variables there may be.
  133. #include $[TOPDIRPREFIX]Package.pp
  134. // If the environment variable PPREMAKE_CONFIG is set, it points to a
  135. // user-customized Config.pp file, for instance in the user's home
  136. // directory. This file might redefine any of the variables defined
  137. // above.
  138. #if $[ne $[PPREMAKE_CONFIG],]
  139. #include $[PPREMAKE_CONFIG]
  140. #endif
  141. // Finally, include the system configure file.
  142. #include $[PPREMAKE_DIR]/System.pp