Package.pp 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439
  1. //
  2. // Package.pp
  3. //
  4. // This file defines certain configuration variables that are to be
  5. // written into the various make scripts. It is processed by ppremake
  6. // (along with the Sources.pp files in each of the various
  7. // directories) to generate build scripts appropriate to each
  8. // environment.
  9. //
  10. // This is the package-specific file, which should be at the top of
  11. // every source hierarchy. It generally gets the ball rolling, and is
  12. // responsible for explicitly including all of the relevant Config.pp
  13. // files.
  14. // Check the version of ppremake in use.
  15. #if $[< $[PPREMAKE_VERSION],1.11]
  16. #error You need at least ppremake version 1.11 to process this tree.
  17. #endif
  18. // Get the current version info for Panda.
  19. #include $[THISDIRPREFIX]PandaVersion.pp
  20. #define PANDA_MAJOR_VERSION $[word 1,$[PANDA_VERSION]]
  21. #define PANDA_MINOR_VERSION $[word 2,$[PANDA_VERSION]]
  22. #define PANDA_SEQUENCE_VERSION $[word 3,$[PANDA_VERSION]]
  23. #defer PANDA_VERSION_STR $[PANDA_MAJOR_VERSION].$[PANDA_MINOR_VERSION].$[PANDA_SEQUENCE_VERSION]$[if $[not $[PANDA_OFFICIAL_VERSION]],c]
  24. #defer PANDA_VERSION_SYMBOL panda_version_$[PANDA_MAJOR_VERSION]_$[PANDA_MINOR_VERSION]
  25. // The panda version as a single number, with three digits reserved
  26. // for each component.
  27. #define PANDA_NUMERIC_VERSION $[+ $[* $[PANDA_MAJOR_VERSION],1000000],$[* $[PANDA_MINOR_VERSION],1000],$[PANDA_SEQUENCE_VERSION]]
  28. #define P3D_PLUGIN_MAJOR_VERSION $[word 1,$[P3D_PLUGIN_VERSION]]
  29. #define P3D_PLUGIN_MINOR_VERSION $[word 2,$[P3D_PLUGIN_VERSION]]
  30. #define P3D_PLUGIN_SEQUENCE_VERSION $[word 3,$[P3D_PLUGIN_VERSION]]
  31. #defer P3D_PLUGIN_VERSION_STR $[P3D_PLUGIN_MAJOR_VERSION].$[P3D_PLUGIN_MINOR_VERSION].$[P3D_PLUGIN_SEQUENCE_VERSION]$[if $[not $[PANDA_OFFICIAL_VERSION]],c]
  32. // The plugin version as a dot-delimited integer quad, according to MS
  33. // conventions for DLL version numbers.
  34. #defer P3D_PLUGIN_DLL_DOT_VERSION $[word 1,$[P3D_PLUGIN_VERSION]].$[word 2,$[P3D_PLUGIN_VERSION]].$[word 3,$[P3D_PLUGIN_VERSION]].$[if $[PANDA_OFFICIAL_VERSION],1000,0]
  35. // The same thing as a comma-delimited quad.
  36. #defer P3D_PLUGIN_DLL_COMMA_VERSION $[word 1,$[P3D_PLUGIN_VERSION]],$[word 2,$[P3D_PLUGIN_VERSION]],$[word 3,$[P3D_PLUGIN_VERSION]],$[if $[PANDA_OFFICIAL_VERSION],1000,0]
  37. // What is the name of this source tree?
  38. #if $[eq $[PACKAGE],]
  39. #define PACKAGE dtool
  40. #endif
  41. // Where should we install DTOOL, specifically?
  42. #if $[DTOOL_INSTALL]
  43. #define DTOOL_INSTALL $[unixfilename $[DTOOL_INSTALL]]
  44. #elif $[CTPROJS]
  45. // If we are presently attached, use the environment variable.
  46. // We define two variables: one for ourselves, which burns in the
  47. // current value of the DTOOL environment variable (so that any
  48. // attempt to install in this tree will install correctly, no
  49. // matter whether we are attached to a different DTOOL later by
  50. // mistake), and one for other trees to use, which expands to a
  51. // ordinary reference to the DTOOL environment variable, so
  52. // they will read from the right tree no matter which DTOOL they're
  53. // attached to.
  54. #set DTOOL $[unixfilename $[DTOOL]]
  55. #define DTOOL_INSTALL $[DTOOL]/built
  56. #if $[eq $[DTOOL],]
  57. #error You seem to be attached to some trees, but not DTOOL!
  58. #endif
  59. #else
  60. // Otherwise, if we are not attached, install in the standard place
  61. // (unless the user specifies otherwise).
  62. #defer DTOOL_INSTALL $[unixfilename $[INSTALL_DIR]]
  63. #endif
  64. // These variables tell ppremake how to interpret the contents of the
  65. // PLATFORM variable, and help it to control the effects of functions
  66. // like $[os] and $[isfullpath].
  67. // True if we are specifically 32-bit Windows.
  68. #define WIN32_PLATFORM $[or $[eq $[PLATFORM],Win32],$[eq $[PLATFORM],Cygwin]]
  69. // True if we are 64-bit windows.
  70. #define WIN64_PLATFORM $[or $[eq $[PLATFORM],Win64],$[eq $[PLATFORM],Cygwin64]]
  71. // True if we are building on some flavor of Windows.
  72. #define WINDOWS_PLATFORM $[or $[WIN32_PLATFORM],$[WIN64_PLATFORM]]
  73. // True if we are building on some flavor of OS X.
  74. #define OSX_PLATFORM $[eq $[PLATFORM],OSX]
  75. // True if we are building on some flavor of Unix.
  76. #define UNIX_PLATFORM $[and $[not $[WINDOWS_PLATFORM]],$[not $[OSX_PLATFORM]]]
  77. // Pull in the package-level Config file. This contains a lot of
  78. // configuration variables that the user might want to fine-tune.
  79. #include $[THISDIRPREFIX]Config.pp
  80. // Also get the platform-specific config file. This defines a few
  81. // more variables that are more likely to be platform-dependent and
  82. // are less likely to be directly modified by the user.
  83. #include $[THISDIRPREFIX]Config.$[PLATFORM].pp
  84. // If the environment variable PPREMAKE_CONFIG is set, it points to a
  85. // user-customized Config.pp file, for instance in the user's home
  86. // directory. This file might redefine any of the variables defined
  87. // above.
  88. #if $[ne $[PPREMAKE_CONFIG],]
  89. #define PPREMAKE_CONFIG $[unixfilename $[PPREMAKE_CONFIG]]
  90. #print Reading $[PPREMAKE_CONFIG] (referred to by PPREMAKE_CONFIG)
  91. #include $[PPREMAKE_CONFIG]
  92. #elif $[wildcard $[unixfilename $[INSTALL_DIR]]/Config.pp]
  93. // If the PPREMAKE_CONFIG variable is not, but there exists a
  94. // Config.pp in the compiled-in INSTALL_DIR, use that one by default.
  95. #define PPREMAKE_CONFIG $[unixfilename $[INSTALL_DIR]]/Config.pp
  96. #print Reading $[PPREMAKE_CONFIG] (referred to by INSTALL_DIR, because PPREMAKE_CONFIG is empty)
  97. #include $[PPREMAKE_CONFIG]
  98. #else
  99. // Otherwise, just carry on without it.
  100. #print Environment variable PPREMAKE_CONFIG not set; using defaults.
  101. #endif
  102. #include $[THISDIRPREFIX]pptempl/PostConfig.pp
  103. // Now evaluate all of our deferred variable definitions from
  104. // Config.pp.
  105. #set EIGEN_IPATH $[unixfilename $[EIGEN_IPATH]]
  106. #set HAVE_EIGEN $[HAVE_EIGEN]
  107. #set PYTHON_IPATH $[unixfilename $[PYTHON_IPATH]]
  108. #set PYTHON_LPATH $[unixfilename $[PYTHON_LPATH]]
  109. #set PYTHON_FPATH $[unixfilename $[PYTHON_FPATH]]
  110. #set PYTHON_FRAMEWORK $[unixfilename $[PYTHON_FRAMEWORK]]
  111. #set HAVE_PYTHON $[HAVE_PYTHON]
  112. #set NATIVE_NET_IPATH $[unixfilename $[NATIVE_NET_IPATH]]
  113. #set NATIVE_NET_LPATH $[unixfilename $[NATIVE_NET_LPATH]]
  114. #set NATIVE_NET_LIBS $[NATIVE_NET_LIBS]
  115. #set WANT_NATIVE_NET $[WANT_NATIVE_NET]
  116. #set HAVE_NET $[HAVE_NET]
  117. #set OPENSSL_IPATH $[unixfilename $[OPENSSL_IPATH]]
  118. #set OPENSSL_LPATH $[unixfilename $[OPENSSL_LPATH]]
  119. #set OPENSSL_LIBS $[OPENSSL_LIBS]
  120. #set HAVE_OPENSSL $[HAVE_OPENSSL]
  121. #set JPEG_IPATH $[unixfilename $[JPEG_IPATH]]
  122. #set JPEG_LPATH $[unixfilename $[JPEG_LPATH]]
  123. #set JPEG_LIBS $[JPEG_LIBS]
  124. #set HAVE_JPEG $[HAVE_JPEG]
  125. #set PNG_IPATH $[unixfilename $[PNG_IPATH]]
  126. #set PNG_LPATH $[unixfilename $[PNG_LPATH]]
  127. #set PNG_LIBS $[PNG_LIBS]
  128. #set HAVE_PNG $[HAVE_PNG]
  129. #set TIFF_IPATH $[unixfilename $[TIFF_IPATH]]
  130. #set TIFF_LPATH $[unixfilename $[TIFF_LPATH]]
  131. #set TIFF_LIBS $[TIFF_LIBS]
  132. #set HAVE_TIFF $[HAVE_TIFF]
  133. #set TAR_IPATH $[unixfilename $[TAR_IPATH]]
  134. #set TAR_LPATH $[unixfilename $[TAR_LPATH]]
  135. #set TAR_LIBS $[TAR_LIBS]
  136. #set HAVE_TAR $[HAVE_TAR]
  137. #set FFTW_IPATH $[unixfilename $[FFTW_IPATH]]
  138. #set FFTW_LPATH $[unixfilename $[FFTW_LPATH]]
  139. #set FFTW_LIBS $[FFTW_LIBS]
  140. #set HAVE_FFTW $[HAVE_FFTW]
  141. #set SQUISH_IPATH $[unixfilename $[SQUISH_IPATH]]
  142. #set SQUISH_LPATH $[unixfilename $[SQUISH_LPATH]]
  143. #set SQUISH_LIBS $[SQUISH_LIBS]
  144. #set HAVE_SQUISH $[HAVE_SQUISH]
  145. #set BDB_IPATH $[unixfilename $[BDB_IPATH]]
  146. #set BDB_LPATH $[unixfilename $[BDB_LPATH]]
  147. #set BDB_LIBS $[BDB_LIBS]
  148. #set HAVE_BDB $[HAVE_BDB]
  149. #set CG_IPATH $[unixfilename $[CG_IPATH]]
  150. #set CG_LPATH $[unixfilename $[CG_LPATH]]
  151. #set CG_LIBS $[CG_LIBS]
  152. #set HAVE_CG $[HAVE_CG]
  153. #set CGGL_IPATH $[unixfilename $[CGGL_IPATH]]
  154. #set CGGL_LPATH $[unixfilename $[CGGL_LPATH]]
  155. #set CGGL_LIBS $[CGGL_LIBS]
  156. #set HAVE_CGGL $[HAVE_CGGL]
  157. #set CGDX9_IPATH $[unixfilename $[CGDX9_IPATH]]
  158. #set CGDX9_LPATH $[unixfilename $[CGDX9_LPATH]]
  159. #set CGDX9_LIBS $[CGDX9_LIBS]
  160. #set HAVE_CGDX9 $[HAVE_CGDX9]
  161. #set CGDX10_IPATH $[unixfilename $[CGDX10_IPATH]]
  162. #set CGDX10_LPATH $[unixfilename $[CGDX10_LPATH]]
  163. #set CGDX10_LIBS $[CGDX10_LIBS]
  164. #set HAVE_CGDX10 $[HAVE_CGDX10]
  165. #set VRPN_IPATH $[unixfilename $[VRPN_IPATH]]
  166. #set VRPN_LPATH $[unixfilename $[VRPN_LPATH]]
  167. #set VRPN_LIBS $[VRPN_LIBS]
  168. #set HAVE_VRPN $[HAVE_VRPN]
  169. #set HELIX_IPATH $[unixfilename $[HELIX_IPATH]]
  170. #set HELIX_LPATH $[unixfilename $[HELIX_LPATH]]
  171. #set HELIX_LIBS $[HELIX_LIBS]
  172. #set HAVE_HELIX $[HAVE_HELIX]
  173. #set ZLIB_IPATH $[unixfilename $[ZLIB_IPATH]]
  174. #set ZLIB_LPATH $[unixfilename $[ZLIB_LPATH]]
  175. #set ZLIB_LIBS $[ZLIB_LIBS]
  176. #set HAVE_ZLIB $[HAVE_ZLIB]
  177. #set GL_IPATH $[unixfilename $[GL_IPATH]]
  178. #set GL_LPATH $[unixfilename $[GL_LPATH]]
  179. #set GL_LIBS $[GL_LIBS]
  180. #set HAVE_GL $[HAVE_GL]
  181. #set GLES_IPATH $[unixfilename $[GLES_IPATH]]
  182. #set GLES_LPATH $[unixfilename $[GLES_LPATH]]
  183. #set GLES_LIBS $[GLES_LIBS]
  184. #set HAVE_GLES $[HAVE_GLES]
  185. #set GLES2_IPATH $[unixfilename $[GLES2_IPATH]]
  186. #set GLES2_LPATH $[unixfilename $[GLES2_LPATH]]
  187. #set GLES2_LIBS $[GLES2_LIBS]
  188. #set HAVE_GLES2 $[HAVE_GLES2]
  189. #set GLX_IPATH $[unixfilename $[GLX_IPATH]]
  190. #set GLX_LPATH $[unixfilename $[GLX_LPATH]]
  191. #set HAVE_GLX $[HAVE_GLX]
  192. #set EGL_IPATH $[unixfilename $[EGL_IPATH]]
  193. #set EGL_LPATH $[unixfilename $[EGL_LPATH]]
  194. #set EGL_LIBS $[unixfilename $[EGL_LIBS]]
  195. #set HAVE_EGL $[HAVE_EGL]
  196. #set HAVE_WGL $[HAVE_WGL]
  197. #set HAVE_COCOA $[HAVE_COCOA]
  198. #set HAVE_CARBON $[HAVE_CARBON]
  199. #set DX9_IPATH $[unixfilename $[DX9_IPATH]]
  200. #set DX9_LPATH $[unixfilename $[DX9_LPATH]]
  201. #set DX9_LIBS $[DX9_LIBS]
  202. #set HAVE_DX9 $[HAVE_DX9]
  203. #set OPENCV_IPATH $[unixfilename $[OPENCV_IPATH]]
  204. #set OPENCV_LPATH $[unixfilename $[OPENCV_LPATH]]
  205. #set OPENCV_LIBS $[OPENCV_LIBS]
  206. #set HAVE_OPENCV $[HAVE_OPENCV]
  207. #set FFMPEG_IPATH $[unixfilename $[FFMPEG_IPATH]]
  208. #set FFMPEG_LPATH $[unixfilename $[FFMPEG_LPATH]]
  209. #set FFMPEG_LIBS $[FFMPEG_LIBS]
  210. #set HAVE_FFMPEG $[HAVE_FFMPEG]
  211. #set ODE_IPATH $[unixfilename $[ODE_IPATH]]
  212. #set ODE_LPATH $[unixfilename $[ODE_LPATH]]
  213. #set ODE_LIBS $[ODE_LIBS]
  214. #set HAVE_ODE $[HAVE_ODE]
  215. #set AWESOMIUM_IPATH $[unixfilename $[AWESOMIUM_IPATH]]
  216. #set AWESOMIUM_LPATH $[unixfilename $[AWESOMIUM_LPATH]]
  217. #set AWESOMIUM_LIBS $[AWESOMIUM_LIBS]
  218. #set AWESOMIUM_FRAMEWORK $[unixfilename $[AWESOMIUM_FRAMEWORK]]
  219. #set HAVE_AWESOMIUM $[HAVE_AWESOMIUM]
  220. #set NPAPI_IPATH $[unixfilename $[NPAPI_IPATH]]
  221. #set NPAPI_LPATH $[unixfilename $[NPAPI_LPATH]]
  222. #set NPAPI_LIBS $[NPAPI_LIBS]
  223. #set HAVE_NPAPI $[HAVE_NPAPI]
  224. #set HAVE_THREADS $[HAVE_THREADS]
  225. #set DEBUG_THREADS $[DEBUG_THREADS]
  226. #set MUTEX_SPINLOCK $[MUTEX_SPINLOCK]
  227. #set DO_PSTATS $[DO_PSTATS]
  228. #set RAD_MSS_IPATH $[unixfilename $[RAD_MSS_IPATH]]
  229. #set RAD_MSS_LPATH $[unixfilename $[RAD_MSS_LPATH]]
  230. #set RAD_MSS_LIBS $[RAD_MSS_LIBS]
  231. #set HAVE_RAD_MSS $[HAVE_RAD_MSS]
  232. #set FMODEX_IPATH $[unixfilename $[FMODEX_IPATH]]
  233. #set FMODEX_LPATH $[unixfilename $[FMODEX_LPATH]]
  234. #set FMODEX_LIBS $[FMODEX_LIBS]
  235. #set HAVE_FMODEX $[HAVE_FMODEX]
  236. #set OPENAL_IPATH $[unixfilename $[OPENAL_IPATH]]
  237. #set OPENAL_LPATH $[unixfilename $[OPENAL_LPATH]]
  238. #set OPENAL_LIBS $[OPENAL_LIBS]
  239. #set OPENAL_FRAMEWORK $[unixfilename $[OPENAL_FRAMEWORK]]
  240. #set HAVE_OPENAL $[HAVE_OPENAL]
  241. #set PHYSX_IPATH $[unixfilename $[PHYSX_IPATH]]
  242. #set PHYSX_LPATH $[unixfilename $[PHYSX_LPATH]]
  243. #set PHYSX_LIBS $[PHYSX_LIBS]
  244. #set HAVE_PHYSX $[HAVE_PHYSX]
  245. #set SPEEDTREE_IPATH $[unixfilename $[SPEEDTREE_IPATH]]
  246. #set SPEEDTREE_LPATH $[unixfilename $[SPEEDTREE_LPATH]]
  247. #set SPEEDTREE_LIBS $[SPEEDTREE_LIBS]
  248. #set HAVE_SPEEDTREE $[HAVE_SPEEDTREE]
  249. #set PKG_CONFIG $[PKG_CONFIG]
  250. #set HAVE_GTK $[HAVE_GTK]
  251. #set FREETYPE_CONFIG $[FREETYPE_CONFIG]
  252. #set HAVE_FREETYPE $[HAVE_FREETYPE]
  253. #set FREETYPE_CFLAGS $[FREETYPE_CFLAGS]
  254. #set FREETYPE_IPATH $[unixfilename $[FREETYPE_IPATH]]
  255. #set FREETYPE_LPATH $[unixfilename $[FREETYPE_LPATH]]
  256. #set FREETYPE_LIBS $[FREETYPE_LIBS]
  257. #set WX_CONFIG $[WX_CONFIG]
  258. #set HAVE_WX $[HAVE_WX]
  259. #set WX_CFLAGS $[WX_CFLAGS]
  260. #set WX_IPATH $[unixfilename $[WX_IPATH]]
  261. #set WX_LPATH $[unixfilename $[WX_LPATH]]
  262. #set WX_LIBS $[WX_LIBS]
  263. #set FLTK_CONFIG $[FLTK_CONFIG]
  264. #set HAVE_FLTK $[HAVE_FLTK]
  265. #set FLTK_CFLAGS $[FLTK_CFLAGS]
  266. #set FLTK_IPATH $[unixfilename $[FLTK_IPATH]]
  267. #set FLTK_LPATH $[unixfilename $[FLTK_LPATH]]
  268. #set FLTK_LIBS $[FLTK_LIBS]
  269. #set MAYA_LOCATION $[unixfilename $[MAYA_LOCATION]]
  270. #set HAVE_MAYA $[HAVE_MAYA]
  271. #set SOFTIMAGE_LOCATION $[unixfilename $[SOFTIMAGE_LOCATION]]
  272. #set HAVE_SOFTIMAGE $[HAVE_SOFTIMAGE]
  273. #set FCOLLADA_IPATH $[unixfilename $[FCOLLADA_IPATH]]
  274. #set FCOLLADA_LPATH $[unixfilename $[FCOLLADA_LPATH]]
  275. #set FCOLLADA_LIBS $[FCOLLADA_LIBS]
  276. #set HAVE_FCOLLADA $[HAVE_FCOLLADA]
  277. #set COLLADA14DOM_IPATH $[unixfilename $[COLLADA14DOM_IPATH]]
  278. #set COLLADA14DOM_LPATH $[unixfilename $[COLLADA14DOM_LPATH]]
  279. #set COLLADA14DOM_LIBS $[COLLADA14DOM_LIBS]
  280. #set HAVE_COLLADA14DOM $[HAVE_COLLADA14DOM]
  281. #set COLLADA15DOM_IPATH $[unixfilename $[COLLADA15DOM_IPATH]]
  282. #set COLLADA15DOM_LPATH $[unixfilename $[COLLADA15DOM_LPATH]]
  283. #set COLLADA15DOM_LIBS $[COLLADA15DOM_LIBS]
  284. #set HAVE_COLLADA15DOM $[HAVE_COLLADA15DOM]
  285. #set ASSIMP_IPATH $[unixfilename $[ASSIMP_IPATH]]
  286. #set ASSIMP_LPATH $[unixfilename $[ASSIMP_LPATH]]
  287. #set ASSIMP_LIBS $[ASSIMP_LIBS]
  288. #set HAVE_ASSIMP $[HAVE_ASSIMP]
  289. #set ARTOOLKIT_IPATH $[unixfilename $[ARTOOLKIT_IPATH]]
  290. #set ARTOOLKIT_LPATH $[unixfilename $[ARTOOLKIT_LPATH]]
  291. #set ARTOOLKIT_LIBS $[ARTOOLKIT_LIBS]
  292. #set HAVE_ARTOOLKIT $[HAVE_ARTOOLKIT]
  293. #set ROCKET_IPATH $[unixfilename $[ROCKET_IPATH]]
  294. #set ROCKET_LPATH $[unixfilename $[ROCKET_LPATH]]
  295. #set ROCKET_LIBS $[ROCKET_LIBS]
  296. #set HAVE_ROCKET $[HAVE_ROCKET]
  297. #set HAVE_ROCKET_PYTHON $[HAVE_ROCKET_PYTHON]
  298. #set BULLET_IPATH $[unixfilename $[BULLET_IPATH]]
  299. #set BULLET_LPATH $[unixfilename $[BULLET_LPATH]]
  300. #set BULLET_LIBS $[BULLET_LIBS]
  301. #set HAVE_BULLET $[HAVE_BULLET]
  302. #set VORBIS_IPATH $[unixfilename $[VORBIS_IPATH]]
  303. #set VORBIS_LPATH $[unixfilename $[VORBIS_LPATH]]
  304. #set VORBIS_LIBS $[VORBIS_LIBS]
  305. #set HAVE_VORBIS $[HAVE_VORBIS]
  306. // Now infer a few more variables based on what was defined.
  307. #if $[and $[HAVE_GTK],$[PKG_CONFIG]]
  308. #define cflags $[shell $[PKG_CONFIG] gtk+-2.0 --cflags]
  309. #define libs $[shell $[PKG_CONFIG] gtk+-2.0 --libs]
  310. #define GTK_CFLAGS $[filter-out -I%,$[cflags]]
  311. #define GTK_IPATH $[unique $[patsubst -I%,%,$[filter -I%,$[cflags]]]]
  312. #define GTK_LPATH $[unique $[patsubst -L%,%,$[filter -L%,$[libs]]]]
  313. #define GTK_LIBS $[patsubst -l%,%,$[filter -l%,$[libs]]]
  314. #endif
  315. #if $[and $[HAVE_FREETYPE],$[FREETYPE_CONFIG]]
  316. #define cflags $[shell $[FREETYPE_CONFIG] --cflags]
  317. #define libs $[shell $[FREETYPE_CONFIG] --libs]
  318. #define FREETYPE_CFLAGS $[filter-out -I%,$[cflags]]
  319. #define FREETYPE_IPATH $[unique $[patsubst -I%,%,$[filter -I%,$[cflags]]]]
  320. #define FREETYPE_LPATH $[unique $[patsubst -L%,%,$[filter -L%,$[libs]]]]
  321. #define FREETYPE_LIBS $[patsubst -l%,%,$[filter -l%,$[libs]]]
  322. #endif
  323. #if $[and $[HAVE_WX],$[WX_CONFIG]]
  324. #define cflags $[shell $[WX_CONFIG] --cflags]
  325. #define libs $[shell $[WX_CONFIG] --libs core,base]
  326. #define WX_CFLAGS $[filter-out -I%,$[cflags]]
  327. #define WX_IPATH $[unique $[patsubst -I%,%,$[filter -I%,$[cflags]]]]
  328. #define WX_LPATH $[unique $[patsubst -L%,%,$[filter -L%,$[libs]]]]
  329. #define WX_LFLAGS $[filter-out -l%,$[libs]]
  330. #define WX_LIBS $[patsubst -l%,%,$[filter -l%,$[libs]]]
  331. #endif
  332. #if $[and $[HAVE_FLTK],$[FLTK_CONFIG]]
  333. #define cflags $[shell $[FLTK_CONFIG] --cflags]
  334. #define libs $[shell $[FLTK_CONFIG] --ldflags]
  335. #define FLTK_CFLAGS $[filter-out -I%,$[cflags]]
  336. #define FLTK_IPATH $[unique $[patsubst -I%,%,$[filter -I%,$[cflags]]]]
  337. #define FLTK_LPATH $[unique $[patsubst -L%,%,$[filter -L%,$[libs]]]]
  338. #define FLTK_LFLAGS $[filter-out -l%,$[libs]]
  339. #define FLTK_LIBS $[patsubst -l%,%,$[filter -l%,$[libs]]]
  340. #endif
  341. #if $[HAVE_PHYSX]
  342. #define GENPYCODE_LIBS $[GENPYCODE_LIBS] libpandaphysx
  343. #endif
  344. #if $[HAVE_SPEEDTREE]
  345. #define GENPYCODE_LIBS $[GENPYCODE_LIBS] libpandaspeedtree
  346. #endif
  347. #if $[HAVE_AWESOMIUM]
  348. #define GENPYCODE_LIBS $[GENPYCODE_LIBS] libpandaawesomium
  349. #endif
  350. // Finally, include the system configure file.
  351. #include $[THISDIRPREFIX]pptempl/System.pp