978 lines
35 KiB
Puppet
978 lines
35 KiB
Puppet
//
|
|
// Global.pp
|
|
//
|
|
// This file is read in before any of the individual Sources.pp files
|
|
// are read. It defines a few global variables that are useful to all
|
|
// different kinds of build_types.
|
|
//
|
|
|
|
// We start off by defining a number of map variables. These are
|
|
// special variables that can be used to look up a particular named
|
|
// scope according to a key (that is, according to the value of some
|
|
// variable defined within the scope).
|
|
|
|
// A named scope is defined using the #begin name .. #end name
|
|
// sequence. In general, we use these sequences in the various
|
|
// Sources.pp files to define the various targets to build. Each
|
|
// named scope carries around its set of variable declarations. The
|
|
// named scopes are associated with the dirname of the directory in
|
|
// which the Sources.pp file was found.
|
|
|
|
|
|
// The first map variable lets us look up a particular library target
|
|
// by its target name. The syntax here indicates that we are
|
|
// declaring a map variable called "all_libs" whose key is the
|
|
// variable $[TARGET] as defined in each instance of a named scope
|
|
// called "static_lib_target," "lib_target," and so on in every
|
|
// Sources.pp file. (The */ refers to all the Sources.pp files. We
|
|
// could also identify a particular file by its directory name, or
|
|
// omit the slash to refer to our own Sources.pp file.)
|
|
|
|
// After defining this map variable, we can look up other variables
|
|
// that are defined for the corresponding target. For instances,
|
|
// $[all_libs $[SOURCES],dconfig] will return the value of the SOURCES
|
|
// variable as set for the dconfig library (that is, the expression
|
|
// $[SOURCES] is evaluated within the named scope whose key is
|
|
// "dconfig"--whose variable $[TARGET] was defined to be "dconfig").
|
|
#map all_libs TARGET(*/static_lib_target */dynamic_lib_target */ss_lib_target */lib_target */noinst_lib_target */test_lib_target */metalib_target)
|
|
|
|
// This map variable allows us to look up global variables that might
|
|
// be defined in a particular Sources.pp, e.g. in the "toplevel" file.
|
|
#map dir_type DIR_TYPE(*/)
|
|
|
|
#map libs TARGET(*/lib_target */static_lib_target */dynamic_lib_target */ss_lib_target */noinst_lib_target */test_lib_target */metalib_target)
|
|
|
|
// This lets us identify which metalib, if any, is including each
|
|
// named library. That is, $[module $[TARGET],name] will return
|
|
// the name of the metalib that includes library name.
|
|
#map module COMPONENT_LIBS(*/metalib_target)
|
|
|
|
// This lets up look up components of a particular metalib.
|
|
#map components TARGET(*/lib_target */noinst_lib_target */test_lib_target)
|
|
|
|
// And this lets us look up source directories by dirname.
|
|
#map dirnames DIRNAME(*/)
|
|
|
|
// This is used by Template.models.pp.
|
|
#if $[HAVE_SOFTIMAGE]
|
|
#define SOFT2EGG soft -D libsoftegg soft2egg
|
|
#else
|
|
// We used to use the old converter from pre-Panda days. Now this
|
|
// is no longer supported.
|
|
// #define SOFT2EGG soft2egg
|
|
#define SOFT2EGG soft -D libsoftegg soft2egg
|
|
#endif
|
|
|
|
// Define some various compile flags, derived from the variables set
|
|
// in Config.pp.
|
|
#set INTERROGATE_PYTHON_INTERFACE $[and $[HAVE_PYTHON],$[INTERROGATE_PYTHON_INTERFACE]]
|
|
#define run_interrogate $[HAVE_INTERROGATE]
|
|
|
|
#define stl_ipath $[wildcard $[STL_IPATH]]
|
|
#define stl_lpath $[wildcard $[STL_LPATH]]
|
|
#define stl_cflags $[STL_CFLAGS]
|
|
#define stl_libs $[STL_LIBS]
|
|
|
|
#define eigen_ipath $[wildcard $[EIGEN_IPATH]]
|
|
#define eigen_cflags $[EIGEN_CFLAGS]
|
|
|
|
#if $[HAVE_PYTHON]
|
|
#define python_ipath $[wildcard $[PYTHON_IPATH]]
|
|
#define python_lpath $[wildcard $[PYTHON_LPATH]]
|
|
#define python_fpath $[wildcard $[PYTHON_FPATH]]
|
|
#define python_cflags $[PYTHON_CFLAGS]
|
|
#define python_lflags $[PYTHON_LFLAGS]
|
|
#define python_libs $[PYTHON_LIBS]
|
|
#define python_framework $[PYTHON_FRAMEWORK]
|
|
#endif
|
|
|
|
#if $[USE_TAU]
|
|
#define tau_ipath $[wildcard $[TAU_IPATH]]
|
|
#endif
|
|
|
|
#if $[HAVE_THREADS]
|
|
#define threads_ipath $[wildcard $[THREADS_IPATH]]
|
|
#define threads_lpath $[wildcard $[THREADS_LPATH]]
|
|
#define threads_cflags $[THREADS_CFLAGS]
|
|
#define threads_libs $[THREADS_LIBS]
|
|
#define threads_framework $[THREADS_FRAMEWORK]
|
|
#endif
|
|
|
|
#if $[HAVE_OPENSSL]
|
|
#define openssl_ipath $[wildcard $[OPENSSL_IPATH]]
|
|
#define openssl_lpath $[wildcard $[OPENSSL_LPATH]]
|
|
#define openssl_cflags $[OPENSSL_CFLAGS]
|
|
#define openssl_libs $[OPENSSL_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_OPENSSL_MT]
|
|
#define openssl_mt_ipath $[wildcard $[OPENSSL_MT_IPATH]]
|
|
#define openssl_mt_lpath $[wildcard $[OPENSSL_MT_LPATH]]
|
|
#define openssl_mt_cflags $[OPENSSL_MT_CFLAGS]
|
|
#define openssl_mt_libs $[OPENSSL_MT_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_ZLIB]
|
|
#define zlib_ipath $[wildcard $[ZLIB_IPATH]]
|
|
#define zlib_lpath $[wildcard $[ZLIB_LPATH]]
|
|
#define zlib_cflags $[ZLIB_CFLAGS]
|
|
#define zlib_libs $[ZLIB_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_ZLIB_MT]
|
|
#define zlib_mt_ipath $[wildcard $[ZLIB_MT_IPATH]]
|
|
#define zlib_mt_lpath $[wildcard $[ZLIB_MT_LPATH]]
|
|
#define zlib_mt_cflags $[ZLIB_MT_CFLAGS]
|
|
#define zlib_mt_libs $[ZLIB_MT_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_GL]
|
|
#define gl_ipath $[wildcard $[GL_IPATH]]
|
|
#define gl_lpath $[wildcard $[GL_LPATH]]
|
|
#define gl_cflags $[GL_CFLAGS]
|
|
#define gl_libs $[GL_LIBS]
|
|
#define gl_framework $[GL_FRAMEWORK]
|
|
#endif
|
|
|
|
#if $[HAVE_GLES]
|
|
#define gles_ipath $[wildcard $[GLES_IPATH]]
|
|
#define gles_lpath $[wildcard $[GLES_LPATH]]
|
|
#define gles_cflags $[GLES_CFLAGS]
|
|
#define gles_libs $[GLES_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_GLES2]
|
|
#define gles2_ipath $[wildcard $[GLES2_IPATH]]
|
|
#define gles2_lpath $[wildcard $[GLES2_LPATH]]
|
|
#define gles2_cflags $[GLES2_CFLAGS]
|
|
#define gles2_libs $[GLES2_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_SDL]
|
|
#define sdl_ipath $[wildcard $[SDL_IPATH]]
|
|
#define sdl_lpath $[wildcard $[SDL_LPATH]]
|
|
#define sdl_cflags $[SDL_CFLAGS]
|
|
#define sdl_libs $[SDL_LIBS]
|
|
#define sdl_framework $[SDL_FRAMEWORK]
|
|
#endif
|
|
|
|
#if $[HAVE_X11]
|
|
#define x11_ipath $[wildcard $[X11_IPATH]]
|
|
#define x11_lpath $[wildcard $[X11_LPATH]]
|
|
#define x11_cflags $[X11_CFLAGS]
|
|
#define x11_libs $[X11_LIBS]
|
|
#define x11_framework $[X11_FRAMEWORK]
|
|
#endif
|
|
|
|
#if $[HAVE_XF86DGA]
|
|
#define xf86dga_ipath $[wildcard $[XF86DGA_IPATH]]
|
|
#define xf86dga_lpath $[wildcard $[XF86DGA_LPATH]]
|
|
#define xf86dga_cflags $[XF86DGA_CFLAGS]
|
|
#define xf86dga_libs $[XF86DGA_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_XRANDR]
|
|
#define xrandr_ipath $[wildcard $[XRANDR_IPATH]]
|
|
#define xrandr_lpath $[wildcard $[XRANDR_LPATH]]
|
|
#define xrandr_cflags $[XRANDR_CFLAGS]
|
|
#define xrandr_libs $[XRANDR_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_XCURSOR]
|
|
#define xcursor_ipath $[wildcard $[XCURSOR_IPATH]]
|
|
#define xcursor_lpath $[wildcard $[XCURSOR_LPATH]]
|
|
#define xcursor_cflags $[XCURSOR_CFLAGS]
|
|
#define xcursor_libs $[XCURSOR_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_GLX]
|
|
#define glx_ipath $[wildcard $[GLX_IPATH]]
|
|
#define glx_lpath $[wildcard $[GLX_LPATH]]
|
|
#define glx_cflags $[GLX_CFLAGS]
|
|
#define glx_libs $[GLX_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_EGL]
|
|
#define egl_ipath $[wildcard $[EGL_IPATH]]
|
|
#define egl_lpath $[wildcard $[EGL_LPATH]]
|
|
#define egl_cflags $[EGL_CFLAGS]
|
|
#define egl_libs $[EGL_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_DX9]
|
|
#define dx9_ipath $[wildcard $[DX9_IPATH]]
|
|
#define dx9_lpath $[wildcard $[DX9_LPATH]]
|
|
#define dx9_cflags $[DX9_CFLAGS]
|
|
#define dx9_libs $[DX9_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_OPENCV]
|
|
#define opencv_ipath $[wildcard $[OPENCV_IPATH]]
|
|
#define opencv_lpath $[wildcard $[OPENCV_LPATH]]
|
|
#define opencv_cflags $[OPENCV_CFLAGS]
|
|
#define opencv_libs $[OPENCV_LIBS]
|
|
#define opencv_framework $[OPENCV_FRAMEWORK]
|
|
#endif
|
|
|
|
#if $[HAVE_FFMPEG]
|
|
#define ffmpeg_ipath $[wildcard $[FFMPEG_IPATH]]
|
|
#define ffmpeg_lpath $[wildcard $[FFMPEG_LPATH]]
|
|
#define ffmpeg_cflags $[FFMPEG_CFLAGS]
|
|
#define ffmpeg_libs $[FFMPEG_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_ODE]
|
|
#define ode_ipath $[wildcard $[ODE_IPATH]]
|
|
#define ode_lpath $[wildcard $[ODE_LPATH]]
|
|
#define ode_cflags $[ODE_CFLAGS]
|
|
#define ode_libs $[ODE_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_AWESOMIUM]
|
|
#define awesomium_ipath $[wildcard $[AWESOMIUM_IPATH]]
|
|
#define awesomium_lpath $[wildcard $[AWESOMIUM_LPATH]]
|
|
#define awesomium_libs $[AWESOMIUM_LIBS]
|
|
#define awesomium_framework $[AWESOMIUM_FRAMEWORK]
|
|
#endif
|
|
|
|
#if $[HAVE_NPAPI]
|
|
#define npapi_ipath $[wildcard $[NPAPI_IPATH]]
|
|
#define npapi_lpath $[wildcard $[NPAPI_LPATH]]
|
|
#define npapi_cflags $[NPAPI_CFLAGS]
|
|
#define npapi_libs $[NPAPI_LIBS]
|
|
#define npapi_framework $[NPAPI_FRAMEWORK]
|
|
#endif
|
|
|
|
#if $[HAVE_JPEG]
|
|
#define jpeg_ipath $[wildcard $[JPEG_IPATH]]
|
|
#define jpeg_lpath $[wildcard $[JPEG_LPATH]]
|
|
#define jpeg_cflags $[JPEG_CFLAGS]
|
|
#define jpeg_libs $[JPEG_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_JPEG_MT]
|
|
#define jpeg_mt_ipath $[wildcard $[JPEG_MT_IPATH]]
|
|
#define jpeg_mt_lpath $[wildcard $[JPEG_MT_LPATH]]
|
|
#define jpeg_mt_cflags $[JPEG_MT_CFLAGS]
|
|
#define jpeg_mt_libs $[JPEG_MT_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_PNG]
|
|
#define png_ipath $[wildcard $[PNG_IPATH]]
|
|
#define png_lpath $[wildcard $[PNG_LPATH]]
|
|
#define png_cflags $[PNG_CFLAGS]
|
|
#define png_libs $[PNG_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_PNG_MT]
|
|
#define png_mt_ipath $[wildcard $[PNG_MT_IPATH]]
|
|
#define png_mt_lpath $[wildcard $[PNG_MT_LPATH]]
|
|
#define png_mt_cflags $[PNG_MT_CFLAGS]
|
|
#define png_mt_libs $[PNG_MT_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_TIFF]
|
|
#define tiff_ipath $[wildcard $[TIFF_IPATH]]
|
|
#define tiff_lpath $[wildcard $[TIFF_LPATH]]
|
|
#define tiff_cflags $[TIFF_CFLAGS]
|
|
#define tiff_libs $[TIFF_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_TAR]
|
|
#define tar_ipath $[wildcard $[TAR_IPATH]]
|
|
#define tar_lpath $[wildcard $[TAR_LPATH]]
|
|
#define tar_cflags $[TAR_CFLAGS]
|
|
#define tar_libs $[TAR_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_FFTW]
|
|
#define fftw_ipath $[wildcard $[FFTW_IPATH]]
|
|
#define fftw_lpath $[wildcard $[FFTW_LPATH]]
|
|
#define fftw_cflags $[FFTW_CFLAGS]
|
|
#define fftw_libs $[FFTW_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_SQUISH]
|
|
#define squish_ipath $[wildcard $[SQUISH_IPATH]]
|
|
#define squish_lpath $[wildcard $[SQUISH_LPATH]]
|
|
#define squish_cflags $[SQUISH_CFLAGS]
|
|
#define squish_libs $[SQUISH_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_BDB]
|
|
#define bdb_ipath $[wildcard $[BDB_IPATH]]
|
|
#define bdb_lpath $[wildcard $[BDB_LPATH]]
|
|
#define bdb_cflags $[BDB_CFLAGS]
|
|
#define bdb_libs $[BDB_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_CG]
|
|
#define cg_ipath $[wildcard $[CG_IPATH]]
|
|
#define cg_lpath $[wildcard $[CG_LPATH]]
|
|
#define cg_cflags $[CG_CFLAGS]
|
|
#define cg_libs $[CG_LIBS]
|
|
#define cg_framework $[CG_FRAMEWORK]
|
|
#endif
|
|
|
|
#if $[HAVE_CGGL]
|
|
#define cggl_ipath $[wildcard $[CGGL_IPATH]]
|
|
#define cggl_lpath $[wildcard $[CGGL_LPATH]]
|
|
#define cggl_cflags $[CGGL_CFLAGS]
|
|
#define cggl_libs $[CGGL_LIBS]
|
|
#define cggl_framework $[CGGL_FRAMEWORK]
|
|
#endif
|
|
|
|
#if $[HAVE_CGDX9]
|
|
#define cgdx9_ipath $[wildcard $[CGDX9_IPATH]]
|
|
#define cgdx9_lpath $[wildcard $[CGDX9_LPATH]]
|
|
#define cgdx9_cflags $[CGDX9_CFLAGS]
|
|
#define cgdx9_libs $[CGDX9_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_CGDX10]
|
|
#define cgdx10_ipath $[wildcard $[CGDX10_IPATH]]
|
|
#define cgdx10_lpath $[wildcard $[CGDX10_LPATH]]
|
|
#define cgdx10_cflags $[CGDX10_CFLAGS]
|
|
#define cgdx10_libs $[CGDX10_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_VRPN]
|
|
#define vrpn_ipath $[wildcard $[VRPN_IPATH]]
|
|
#define vrpn_lpath $[wildcard $[VRPN_LPATH]]
|
|
#define vrpn_cflags $[VRPN_CFLAGS]
|
|
#define vrpn_libs $[VRPN_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_HELIX]
|
|
#define helix_ipath $[wildcard $[HELIX_IPATH]]
|
|
#define helix_lpath $[wildcard $[HELIX_LPATH]]
|
|
#define helix_cflags $[HELIX_CFLAGS]
|
|
#define helix_libs $[HELIX_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_MIKMOD]
|
|
#define mikmod_ipath $[wildcard $[MIKMOD_IPATH]]
|
|
#define mikmod_lpath $[wildcard $[MIKMOD_LPATH]]
|
|
#define mikmod_cflags $[MIKMOD_CFLAGS]
|
|
#define mikmod_libs $[MIKMOD_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_GTK]
|
|
#define gtk_ipath $[wildcard $[GTK_IPATH]]
|
|
#define gtk_lpath $[wildcard $[GTK_LPATH]]
|
|
#define gtk_cflags $[GTK_CFLAGS]
|
|
#define gtk_libs $[GTK_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_FREETYPE]
|
|
#define freetype_ipath $[wildcard $[FREETYPE_IPATH]]
|
|
#define freetype_lpath $[wildcard $[FREETYPE_LPATH]]
|
|
#define freetype_cflags $[FREETYPE_CFLAGS]
|
|
#define freetype_libs $[FREETYPE_LIBS]
|
|
#define freetype_framework $[FREETYPE_FRAMEWORK]
|
|
#endif
|
|
|
|
#if $[HAVE_WX]
|
|
#define wx_ipath $[wildcard $[WX_IPATH]]
|
|
#define wx_lpath $[wildcard $[WX_LPATH]]
|
|
#define wx_cflags $[WX_CFLAGS]
|
|
#define wx_lflags $[WX_LFLAGS]
|
|
#define wx_libs $[WX_LIBS]
|
|
#define wx_framework $[WX_FRAMEWORK]
|
|
#endif
|
|
|
|
#if $[HAVE_FLTK]
|
|
#define fltk_ipath $[wildcard $[FLTK_IPATH]]
|
|
#define fltk_lpath $[wildcard $[FLTK_LPATH]]
|
|
#define fltk_cflags $[FLTK_CFLAGS]
|
|
#define fltk_lflags $[FLTK_LFLAGS]
|
|
#define fltk_libs $[FLTK_LIBS]
|
|
#define fltk_framework $[FLTK_FRAMEWORK]
|
|
#endif
|
|
|
|
#if $[and $[HAVE_MAYA],$[MAYA_LOCATION]]
|
|
#define maya_ipath $[MAYA_LOCATION]/include
|
|
#define maya_lpath $[MAYA_LOCATION]/lib
|
|
#define maya_ld $[wildcard $[MAYA_LOCATION]/bin/mayald]
|
|
#define maya_libs $[MAYA_LIBS]
|
|
#endif
|
|
|
|
#if $[and $[HAVE_SOFTIMAGE],$[SOFTIMAGE_LOCATION]]
|
|
#define softimage_ipath $[SOFTIMAGE_LOCATION]/h
|
|
#define softimage_lpath $[SOFTIMAGE_LOCATION]/dso
|
|
#define softimage_libs $[SOFTIMAGE_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_NET]
|
|
#define net_ipath $[wildcard $[NET_IPATH]]
|
|
#define net_lpath $[wildcard $[NET_LPATH]]
|
|
#define net_libs $[NET_LIBS]
|
|
#endif
|
|
|
|
#if $[WANT_NATIVE_NET]
|
|
#define native_net_ipath $[wildcard $[NATIVE_NET_IPATH]]
|
|
#define native_net_lpath $[wildcard $[NATIVE_NET_LPATH]]
|
|
#define native_net_libs $[NATIVE_NET_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_RAD_MSS]
|
|
#define rad_mss_ipath $[wildcard $[RAD_MSS_IPATH]]
|
|
#define rad_mss_lpath $[wildcard $[RAD_MSS_LPATH]]
|
|
#define rad_mss_libs $[RAD_MSS_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_FMODEX]
|
|
#define fmodex_ipath $[wildcard $[FMODEX_IPATH]]
|
|
#define fmodex_lpath $[wildcard $[FMODEX_LPATH]]
|
|
#define fmodex_cflags $[FMODEX_CFLAGS]
|
|
#define fmodex_libs $[FMODEX_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_OPENAL]
|
|
#define openal_ipath $[wildcard $[OPENAL_IPATH]]
|
|
#define openal_lpath $[wildcard $[OPENAL_LPATH]]
|
|
#define openal_libs $[OPENAL_LIBS]
|
|
#define openal_framework $[OPENAL_FRAMEWORK]
|
|
#endif
|
|
|
|
#if $[HAVE_PHYSX]
|
|
#define physx_ipath $[wildcard $[PHYSX_IPATH]]
|
|
#define physx_lpath $[wildcard $[PHYSX_LPATH]]
|
|
#define physx_libs $[PHYSX_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_SPEEDTREE]
|
|
#define speedtree_ipath $[wildcard $[SPEEDTREE_IPATH]]
|
|
#define speedtree_lpath $[wildcard $[SPEEDTREE_LPATH]]
|
|
#define speedtree_libs $[SPEEDTREE_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_FCOLLADA]
|
|
#define fcollada_ipath $[wildcard $[FCOLLADA_IPATH]]
|
|
#define fcollada_lpath $[wildcard $[FCOLLADA_LPATH]]
|
|
#define fcollada_libs $[FCOLLADA_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_COLLADA14DOM]
|
|
#define collada14dom_ipath $[wildcard $[COLLADA14DOM_IPATH]]
|
|
#define collada14dom_lpath $[wildcard $[COLLADA14DOM_LPATH]]
|
|
#define collada14dom_libs $[COLLADA14DOM_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_COLLADA15DOM]
|
|
#define collada15dom_ipath $[wildcard $[COLLADA15DOM_IPATH]]
|
|
#define collada15dom_lpath $[wildcard $[COLLADA15DOM_LPATH]]
|
|
#define collada15dom_libs $[COLLADA15DOM_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_ASSIMP]
|
|
#define assimp_ipath $[wildcard $[ASSIMP_IPATH]]
|
|
#define assimp_lpath $[wildcard $[ASSIMP_LPATH]]
|
|
#define assimp_libs $[ASSIMP_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_ARTOOLKIT]
|
|
#define artoolkit_ipath $[wildcard $[ARTOOLKIT_IPATH]]
|
|
#define artoolkit_lpath $[wildcard $[ARTOOLKIT_LPATH]]
|
|
#define artoolkit_libs $[ARTOOLKIT_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_ROCKET]
|
|
#define rocket_ipath $[wildcard $[ROCKET_IPATH]]
|
|
#define rocket_lpath $[wildcard $[ROCKET_LPATH]]
|
|
#define rocket_libs $[ROCKET_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_BULLET]
|
|
#define bullet_ipath $[wildcard $[BULLET_IPATH]]
|
|
#define bullet_lpath $[wildcard $[BULLET_LPATH]]
|
|
#define bullet_libs $[BULLET_LIBS]
|
|
#endif
|
|
|
|
#if $[HAVE_VORBIS]
|
|
#define vorbis_ipath $[wildcard $[VORBIS_IPATH]]
|
|
#define vorbis_lpath $[wildcard $[VORBIS_LPATH]]
|
|
#define vorbis_libs $[VORBIS_LIBS]
|
|
#endif
|
|
|
|
// We define these two variables true here in the global scope; a
|
|
// particular Sources.pp file can redefine these to be false to
|
|
// prevent a particular directory or target from being built in
|
|
// certain circumstances.
|
|
#define BUILD_DIRECTORY 1
|
|
#define BUILD_TARGET 1
|
|
|
|
// This is the default extension for a Maya file. It might be
|
|
// overridden within a maya_char_egg rule to convert a .ma file
|
|
// instead.
|
|
#define MAYA_EXTENSION .mb
|
|
|
|
// This variable, when evaluated in the scope of a particular directory,
|
|
// will indicate true (i.e. nonempty) when the directory is truly built,
|
|
// or false (empty) when the directory is not to be built.
|
|
#defer build_directory $[BUILD_DIRECTORY]
|
|
// It maps to a direct evaluation of the user-set variable,
|
|
// BUILD_DIRECTORY, for historical reasons. This also allows us to
|
|
// reserve the right to extend this variable to test other conditions
|
|
// as well, should the need arise.
|
|
|
|
// This variable, when evaluated in the scope of a particular target,
|
|
// will indicated true when the target should be built, or false when
|
|
// the target is not to be built.
|
|
#defer build_target $[BUILD_TARGET]
|
|
|
|
// If we have USE_TAU but not TAU_MAKEFILE, we invoke the tau
|
|
// instrumentor and compiler directly.
|
|
#define direct_tau $[and $[USE_TAU],$[not $[TAU_MAKEFILE]]]
|
|
|
|
#if $[and $[USE_TAU],$[TAU_MAKEFILE]]
|
|
// Use the makefile-based rules to run the tau instrumentor.
|
|
#defer compile_c $(TAU_COMPILER) $[TAU_OPTS] $[if $[SELECT_TAU],-optTauSelectFile=$[SELECT_TAU]] $[COMPILE_C] $[TAU_CFLAGS]
|
|
#defer compile_c++ $(TAU_COMPILER) $[TAU_OPTS] $[if $[SELECT_TAU],-optTauSelectFile=$[SELECT_TAU]] $[COMPILE_C++] $[TAU_CFLAGS] $[TAU_C++FLAGS]
|
|
#defer link_bin_c $(TAU_COMPILER) $[TAU_OPTS] $[if $[SELECT_TAU],-optTauSelectFile=$[SELECT_TAU]] $[LINK_BIN_C] $[TAU_CFLAGS]
|
|
#defer link_bin_c++ $(TAU_COMPILER) $[TAU_OPTS] $[if $[SELECT_TAU],-optTauSelectFile=$[SELECT_TAU]] $[LINK_BIN_C++] $[TAU_CFLAGS] $[TAU_C++FLAGS]
|
|
#defer shared_lib_c $(TAU_COMPILER) $[TAU_OPTS] $[if $[SELECT_TAU],-optTauSelectFile=$[SELECT_TAU]] $[SHARED_LIB_C] $[TAU_CFLAGS]
|
|
#defer shared_lib_c++ $(TAU_COMPILER) $[TAU_OPTS] $[if $[SELECT_TAU],-optTauSelectFile=$[SELECT_TAU]] $[SHARED_LIB_C++] $[TAU_CFLAGS] $[TAU_C++FLAGS]
|
|
|
|
#else
|
|
#defer compile_c $[COMPILE_C]
|
|
#defer compile_c++ $[COMPILE_C++]
|
|
#defer link_bin_c $[LINK_BIN_C]
|
|
#defer link_bin_c++ $[LINK_BIN_C++]
|
|
#defer shared_lib_c $[SHARED_LIB_C]
|
|
#defer shared_lib_c++ $[SHARED_LIB_C++]
|
|
#endif // USE_TAU
|
|
|
|
#defer static_lib_c $[STATIC_LIB_C]
|
|
#defer static_lib_c++ $[STATIC_LIB_C++]
|
|
#defer bundle_lib_c $[BUNDLE_LIB_C++]
|
|
#defer bundle_lib_c++ $[BUNDLE_LIB_C++]
|
|
|
|
// "lib" is the default prefix applied to every generated library.
|
|
// This comes from Unix convention. This can be redefined on a
|
|
// per-target basis.
|
|
#define LIB_PREFIX lib
|
|
#defer lib_prefix $[LIB_PREFIX]
|
|
|
|
// OSX has a "bundle" concept. This is kind of like a dylib, but not
|
|
// quite. Sometimes you might want to link a library *as* a bundle
|
|
// instead of as a dylib; sometimes you might want to link a library
|
|
// into a dylib *and* a bundle.
|
|
#defer bundle_ext $[BUNDLE_EXT]
|
|
#defer link_as_bundle $[and $[OSX_PLATFORM],$[LINK_AS_BUNDLE]]
|
|
|
|
// On OSX 10.4, we need to have both a .dylib and an .so file.
|
|
#defer link_extra_bundle $[and $[OSX_PLATFORM],$[or $[LINK_EXTRA_BUNDLE],$[BUNDLE_EXT]],$[not $[LINK_AS_BUNDLE]],$[not $[LINK_ALL_STATIC]],$[not $[lib_is_static]]]
|
|
|
|
// The default library extension various based on the OS.
|
|
#defer dynamic_lib_ext $[DYNAMIC_LIB_EXT]
|
|
#defer static_lib_ext $[STATIC_LIB_EXT]
|
|
#defer lib_ext $[if $[link_as_bundle],$[bundle_ext],$[if $[lib_is_static],$[static_lib_ext],$[dynamic_lib_ext]]]
|
|
|
|
#defer link_lib_c $[if $[link_as_bundle],$[bundle_lib_c],$[if $[lib_is_static],$[static_lib_c],$[shared_lib_c]]]
|
|
#defer link_lib_c++ $[if $[link_as_bundle],$[bundle_lib_c++],$[if $[lib_is_static],$[static_lib_c++],$[shared_lib_c++]]]
|
|
|
|
|
|
// If BUILD_COMPONENTS is not true, we don't actually build all the
|
|
// libraries. In particular, we don't build any libraries that are
|
|
// listed on a metalib. This variable can be evaluated within a
|
|
// library's scope to determine whether it should be built according
|
|
// to this rule.
|
|
#defer build_lib $[or $[BUILD_COMPONENTS],$[eq $[module $[TARGET],$[TARGET]],]]
|
|
|
|
// This variable is true if the lib has an associated pdb (Windows
|
|
// only). It appears that pdb's are generated only for dll's, not for
|
|
// static libs.
|
|
#defer has_pdb $[and $[build_pdbs],$[not $[lib_is_static]]]
|
|
|
|
|
|
// This takes advantage of the above two variables to get the actual
|
|
// list of local libraries we are to link with, eliminating those that
|
|
// won't be built.
|
|
#defer active_local_libs \
|
|
$[all_libs $[if $[and $[build_directory],$[build_target]],$[TARGET]],$[LOCAL_LIBS]]
|
|
#defer active_component_libs \
|
|
$[all_libs $[if $[and $[build_directory],$[build_target]],$[TARGET]],$[COMPONENT_LIBS]]
|
|
#defer active_libs $[active_local_libs] $[active_component_libs]
|
|
|
|
|
|
// We define $[complete_local_libs] as the full set of libraries (from
|
|
// within this tree) that we must link a particular target with. It
|
|
// is the transitive closure of our dependent libs: the libraries we
|
|
// depend on, plus the libraries *those* libraries depend on, and so on.
|
|
#defer nonunique_complete_local_libs $[closure all_libs,$[active_libs]]
|
|
#defer complete_local_libs $[unique $[nonunique_complete_local_libs]]
|
|
|
|
// And $[complete_ipath] is the list of directories (from within this
|
|
// tree) we should add to our -I list. It's basically just one for
|
|
// each directory named in the $[complete_local_libs], above, plus
|
|
// whatever else the user might have explicitly named in
|
|
// $[LOCAL_INCS]. LOCAL_INCS MUST be a ppremake src dir! (RELDIR only
|
|
// checks those) To add an arbitrary extra include dir, define
|
|
// EXTRA_IPATH in the Sources.pp
|
|
#defer complete_ipath $[all_libs $[RELDIR],$[complete_local_libs]] $[RELDIR($[LOCAL_INCS:%=%/])] $[EXTRA_IPATH]
|
|
|
|
|
|
// This variable, when evaluated within a target, will either be empty
|
|
// string if the target is not to be built, or the target name if it
|
|
// is.
|
|
#defer active_target $[if $[build_target],$[TARGET]]
|
|
#defer active_target_libprefext $[if $[build_target],$[lib_prefix]$[TARGET]$[lib_ext]]
|
|
#defer active_target_bundleext $[if $[and $[build_target],$[link_extra_bundle]],$[lib_prefix]$[TARGET]$[bundle_ext]]
|
|
#defer get_combined_sources $[COMBINED_SOURCES]
|
|
|
|
// This subroutine will set up the sources variable to reflect the
|
|
// complete set of sources for this target, and also set the
|
|
// alt_cflags, alt_libs, etc. as appropriate according to how the
|
|
// various USE_* flags are set for the current target.
|
|
|
|
// This variable returns the complete set of sources for the current
|
|
// target.
|
|
|
|
#defer get_sources \
|
|
$[SOURCES] \
|
|
$[if $[or $[NO_COMBINED_SOURCES],$[USE_TAU]], $[INCLUDED_SOURCES], $[get_combined_sources]]
|
|
|
|
#defer included_sources $[INCLUDED_SOURCES]
|
|
|
|
// This variable returns the set of sources that are to be
|
|
// interrogated for the current target.
|
|
#defer get_igatescan \
|
|
$[if $[and $[run_interrogate],$[IGATESCAN]], \
|
|
$[if $[eq $[IGATESCAN], all], \
|
|
$[filter-out %.I %.T %.lxx %.yxx %.N %_src.cxx,$[get_sources]] $[filter %_ext.I,$[get_sources]], \
|
|
$[IGATESCAN]]]
|
|
|
|
// This variable returns the name of the interrogate database file
|
|
// that will be generated for a particular target, or empty string if
|
|
// the target is not to be interrogated.
|
|
#defer get_igatedb \
|
|
$[if $[and $[run_interrogate],$[IGATESCAN]], \
|
|
$[ODIR]/lib$[TARGET]$[dllext].in]
|
|
|
|
// This variable returns the name of the interrogate code file
|
|
// that will be generated for a particular target, or empty string if
|
|
// the target is not to be interrogated.
|
|
#defer get_igateoutput \
|
|
$[if $[and $[run_interrogate],$[IGATESCAN]], \
|
|
$[ODIR]/lib$[TARGET]_igate.cxx]
|
|
|
|
// This variable is the set of .in files generated by all of our
|
|
// component libraries. If it is nonempty, then we do need to
|
|
// generate a module, and $[get_igatemout] is the name of the .cxx file
|
|
// that interrogate will produce to make this module.
|
|
#defer get_igatemscan $[components $[get_igatedb:%=$[RELDIR]/%],$[active_component_libs]] $[if $[not $[module $[TARGET],$[TARGET]]],$[get_igatedb]]
|
|
#defer get_igatemout $[if $[get_igatemscan],$[ODIR]/lib$[TARGET]_module.cxx]
|
|
|
|
// This variable returns the set of external packages used by this
|
|
// target, and by all the components shared by this target.
|
|
#defer use_packages $[unique $[USE_PACKAGES] $[all_libs $[USE_PACKAGES],$[active_component_libs] $[complete_local_libs]]]
|
|
|
|
// This function returns the appropriate cflags for the target, based
|
|
// on the various external packages this particular target claims to
|
|
// require.
|
|
#defun get_cflags
|
|
// hack to add stl,python. should be removed
|
|
#define alt_cflags $[if $[IGNORE_LIB_DEFAULTS_HACK],,$[stl_cflags] $[python_cflags] $[if $[HAVE_EIGEN],$[eigen_cflags]]]
|
|
|
|
#foreach package $[use_packages]
|
|
#set alt_cflags $[alt_cflags] $[$[package]_cflags]
|
|
#end package
|
|
|
|
$[alt_cflags]
|
|
#end get_cflags
|
|
|
|
// This function returns the appropriate lflags for the target, based
|
|
// on the various external packages this particular target claims to
|
|
// require.
|
|
#defun get_lflags
|
|
// hack to add stl,python. should be removed
|
|
#define alt_lflags $[if $[IGNORE_LIB_DEFAULTS_HACK],,$[stl_lflags] $[python_lflags]]
|
|
|
|
#foreach package $[use_packages]
|
|
#set alt_lflags $[alt_lflags] $[$[package]_lflags]
|
|
#end package
|
|
|
|
$[alt_lflags]
|
|
#end get_lflags
|
|
|
|
// This function returns the appropriate include path for the target,
|
|
// based on the various external packages this particular target
|
|
// claims to require. This returns a space-separated set of directory
|
|
// names only; the -I switch is not included here.
|
|
#defun get_ipath
|
|
// hack to add stl,python. should be removed
|
|
#define alt_ipath $[if $[IGNORE_LIB_DEFAULTS_HACK],,$[stl_ipath] $[python_ipath] $[tau_ipath] $[if $[HAVE_EIGEN],$[eigen_ipath]]]
|
|
|
|
#foreach package $[use_packages]
|
|
#set alt_ipath $[alt_ipath] $[$[package]_ipath]
|
|
#end package
|
|
|
|
$[alt_ipath]
|
|
#end get_ipath
|
|
|
|
// This function returns the appropriate library search path for the
|
|
// target, based on the various external packages this particular
|
|
// target claims to require. This returns a space-separated set of
|
|
// directory names only; the -L switch is not included here.
|
|
#defun get_lpath
|
|
#define alt_lpath $[if $[IGNORE_LIB_DEFAULTS_HACK],,$[stl_lpath] $[python_lpath]]
|
|
|
|
#if $[WINDOWS_PLATFORM]
|
|
#set alt_lpath $[WIN32_PLATFORMSDK_LIBPATH] $[alt_lpath]
|
|
#endif
|
|
|
|
#foreach package $[use_packages]
|
|
#set alt_lpath $[alt_lpath] $[$[package]_lpath]
|
|
#end package
|
|
|
|
$[alt_lpath]
|
|
#end get_lpath
|
|
|
|
// This function returns the appropriate framework search path for the
|
|
// target, based on the various external frameworks this particular
|
|
// target claims to require. This returns a space-separated set of
|
|
// directory names only; the -F switch is not included here.
|
|
#defun get_fpath
|
|
#define alt_fpath $[if $[IGNORE_LIB_DEFAULTS_HACK],,$[stl_fpath] $[python_fpath]]
|
|
|
|
#foreach package $[use_packages]
|
|
#set alt_fpath $[alt_fpath] $[$[package]_fpath]
|
|
#end package
|
|
|
|
$[alt_fpath]
|
|
#end get_fpath
|
|
|
|
// This function returns the appropriate framework for the
|
|
// target, based on the various external frameworks this particular
|
|
// target claims to require. This returns a space-separated set of
|
|
// framework names only; the -framework switch is not included here.
|
|
#defun get_frameworks
|
|
#define alt_frameworks $[if $[IGNORE_LIB_DEFAULTS_HACK],,$[stl_framework] $[python_framework]]
|
|
|
|
#if $[OSX_PLATFORM]
|
|
#set alt_frameworks $[alt_frameworks] $[OSX_SYS_FRAMEWORKS]
|
|
#endif
|
|
|
|
#foreach package $[use_packages]
|
|
#set alt_frameworks $[alt_frameworks] $[$[package]_framework]
|
|
#end package
|
|
|
|
$[alt_frameworks]
|
|
#end get_frameworks
|
|
|
|
// This function returns the appropriate set of library names to link
|
|
// with for the target, based on the various external packages this
|
|
// particular target claims to require. This returns a
|
|
// space-separated set of library names only; the -l switch is not
|
|
// included here.
|
|
#defun get_libs
|
|
#define alt_libs $[if $[IGNORE_LIB_DEFAULTS_HACK],,$[stl_libs] $[python_libs]]
|
|
|
|
#define alt_libs $[alt_libs] $[EXTRA_LIBS]
|
|
|
|
#if $[WINDOWS_PLATFORM]
|
|
#set alt_libs $[alt_libs] $[WIN_SYS_LIBS] $[components $[WIN_SYS_LIBS],$[active_libs] $[transitive_link]]
|
|
#elif $[OSX_PLATFORM]
|
|
#set alt_libs $[alt_libs] $[OSX_SYS_LIBS] $[components $[OSX_SYS_LIBS],$[active_libs] $[transitive_link]]
|
|
#elif $[eq $[PLATFORM], Android]
|
|
#set alt_libs $[alt_libs] $[ANDROID_SYS_LIBS] $[components $[ANDROID_SYS_LIBS],$[active_libs] $[transitive_link]]
|
|
#else
|
|
#set alt_libs $[alt_libs] $[UNIX_SYS_LIBS] $[components $[UNIX_SYS_LIBS],$[active_libs] $[transitive_link]]
|
|
#endif
|
|
|
|
#foreach package $[use_packages]
|
|
#set alt_libs $[alt_libs] $[$[package]_libs]
|
|
#end package
|
|
|
|
$[alt_libs]
|
|
#end get_libs
|
|
|
|
// This function returns the appropriate value for ld for the target.
|
|
#defun get_ld
|
|
#if $[filter maya,$[use_packages]]
|
|
$[maya_ld]
|
|
#endif
|
|
#end get_ld
|
|
|
|
// This function determines the set of files a given source file
|
|
// depends on. It is based on the setting of the $[filename]_sources
|
|
// variable to indicate the sources for composite files, etc.
|
|
#defun get_depends source
|
|
#if $[$[source]_sources]
|
|
#if $[ne $[$[source]_sources],none]
|
|
$[$[source]_sources] $[dependencies $[$[source]_sources]]
|
|
#endif
|
|
#else
|
|
$[dependencies $[source]]
|
|
#endif
|
|
#end get_depends
|
|
|
|
|
|
// This function determines the set of libraries our various targets
|
|
// depend on. This is a complicated definition. It is the union of
|
|
// all of our targets' dependencies, except:
|
|
|
|
// If a target is part of a metalib, it depends (a) directly on all of
|
|
// its normal library dependencies that are part of the same metalib,
|
|
// and (b) indirectly on all of the metalibs that every other library
|
|
// dependency is part of. If a target is not part of a metalib, it is
|
|
// the same as case (b) above.
|
|
#defun get_depend_libs
|
|
#define depend_libs
|
|
#forscopes lib_target noinst_lib_target test_lib_target
|
|
#define metalib $[module $[TARGET],$[TARGET]]
|
|
#if $[ne $[metalib],]
|
|
// This library is included on a metalib.
|
|
#foreach depend $[LOCAL_LIBS]
|
|
#define depend_metalib $[module $[TARGET],$[depend]]
|
|
#if $[eq $[depend_metalib],$[metalib]]
|
|
// Here's a dependent library in the *same* metalib.
|
|
#set depend_libs $[depend_libs] $[depend]
|
|
#elif $[ne $[depend_metalib],]
|
|
// This dependent library is in a *different* metalib.
|
|
#set depend_libs $[depend_libs] $[depend_metalib]
|
|
#else
|
|
// This dependent library is not in any metalib.
|
|
#set depend_libs $[depend_libs] $[depend]
|
|
#endif
|
|
#end depend
|
|
#else
|
|
// This library is *not* included on a metalib.
|
|
#foreach depend $[LOCAL_LIBS]
|
|
#define depend_metalib $[module $[TARGET],$[depend]]
|
|
#if $[ne $[depend_metalib],]
|
|
// This dependent library is on a metalib.
|
|
#set depend_libs $[depend_libs] $[depend_metalib]
|
|
#else
|
|
// This dependent library is not in any metalib.
|
|
#set depend_libs $[depend_libs] $[depend]
|
|
#endif
|
|
#end depend
|
|
#endif
|
|
#end lib_target noinst_lib_target test_lib_target
|
|
|
|
// These will never be part of a metalib.
|
|
#forscopes static_lib_target dynamic_lib_target ss_lib_target bin_target noinst_bin_target metalib_target
|
|
#foreach depend $[LOCAL_LIBS]
|
|
#define depend_metalib $[module $[TARGET],$[depend]]
|
|
#if $[ne $[depend_metalib],]
|
|
// This dependent library is on a metalib.
|
|
#if $[eq $[depend_metalib],$[TARGET]]
|
|
#print Warning: $[TARGET] circularly depends on $[depend].
|
|
#else
|
|
#set depend_libs $[depend_libs] $[depend_metalib]
|
|
#endif
|
|
#else
|
|
// This dependent library is not in any metalib.
|
|
#set depend_libs $[depend_libs] $[depend]
|
|
#endif
|
|
#end depend
|
|
#end static_lib_target dynamic_lib_target ss_lib_target bin_target noinst_bin_target metalib_target
|
|
|
|
// In case we're defining any metalibs, these depend directly on
|
|
// their components as well.
|
|
#set depend_libs $[depend_libs] $[COMPONENT_LIBS(metalib_target)]
|
|
|
|
$[depend_libs]
|
|
#end get_depend_libs
|
|
|
|
|
|
// dtool/pptempl/Global.pp
|
|
|
|
// Define a few directories that will be useful.
|
|
|
|
#define install_dir $[$[upcase $[PACKAGE]]_INSTALL]
|
|
#if $[eq $[install_dir],]
|
|
#error Variable $[upcase $[PACKAGE]]_INSTALL is not set! Cannot install!
|
|
#endif
|
|
|
|
#define other_trees
|
|
#define other_trees_lib
|
|
#define other_trees_include
|
|
#foreach tree $[NEEDS_TREES]
|
|
#define tree_install $[$[upcase $[tree]]_INSTALL]
|
|
#if $[eq $[tree_install],]
|
|
Warning: Variable $[upcase $[tree]]_INSTALL is not set!
|
|
#else
|
|
#set other_trees $[other_trees] $[tree_install]
|
|
#set other_trees_lib $[other_trees_lib] $[tree_install]/lib
|
|
#set other_trees_include $[other_trees_include] $[tree_install]/include
|
|
#endif
|
|
#end tree
|
|
|
|
#define install_lib_dir $[or $[INSTALL_LIB_DIR],$[install_dir]/lib]
|
|
#define other_trees_lib $[or $[INSTALL_LIB_DIR],$[other_trees_lib]]
|
|
|
|
#define install_headers_dir $[or $[INSTALL_HEADERS_DIR],$[install_dir]/include]
|
|
#define other_trees_include $[or $[INSTALL_HEADERS_DIR],$[other_trees_include]]
|
|
|
|
#define install_bin_dir $[or $[INSTALL_BIN_DIR],$[install_dir]/bin]
|
|
#define install_data_dir $[or $[INSTALL_DATA_DIR],$[install_dir]/shared]
|
|
#define install_igatedb_dir $[or $[INSTALL_IGATEDB_DIR],$[install_dir]/etc]
|
|
#define install_config_dir $[or $[INSTALL_CONFIG_DIR],$[install_dir]/etc]
|
|
#defer install_py_dir $[install_lib_dir]/$[PACKAGE]/$[DIRNAME]
|
|
#defer install_py_package_dir $[install_lib_dir]/$[PACKAGE]
|
|
|
|
#if $[ne $[DTOOL_INSTALL],]
|
|
#define install_parser_inc_dir $[DTOOL_INSTALL]/include/parser-inc
|
|
#else
|
|
#define install_parser_inc_dir $[install_headers_dir]/parser-inc
|
|
#endif
|
|
|
|
// Set up the correct interrogate options.
|
|
|
|
// $[dllext] is redefined in the Windows Global.platform.pp files to
|
|
// the string _d if we are building a debug tree. This is inserted
|
|
// into the .dll and .in filenames before the extension to make a
|
|
// runtime distinction between debug and non-debug builds. For now,
|
|
// we make a global definition to empty string, since non-Windows
|
|
// platforms will leave this empty.
|
|
#define dllext
|
|
|
|
// $[obj_prefix] defines the prefix that is prepended to the name of
|
|
// the object files. It can be used to avoid potential collisions
|
|
// when a source file is used by multiple targets but with different
|
|
// compile options for each.
|
|
//
|
|
// $[obj_prefix] may be redefined by one of the Global.platform.pp
|
|
// files.
|
|
#defer obj_prefix $[TARGET]_
|
|
|
|
// Caution! interrogate_ipath might be redefined in the
|
|
// Global.platform.pp file.
|
|
#defer interrogate_ipath $[install_parser_inc_dir:%=-S%] $[INTERROGATE_SYSTEM_IPATH:%=-S%] $[target_ipath:%=-I%]
|
|
|
|
#defer interrogate_options \
|
|
-DCPPPARSER -D__STDC__=1 -D__cplusplus $[SYSTEM_IGATE_FLAGS] \
|
|
$[interrogate_ipath] \
|
|
$[CDEFINES_OPT$[OPTIMIZE]:%=-D%] \
|
|
$[filter -D%,$[C++FLAGS]] \
|
|
$[INTERROGATE_OPTIONS] \
|
|
$[if $[INTERROGATE_PYTHON_INTERFACE],$[if $[PYTHON_NATIVE],-python-native,-python]] \
|
|
$[if $[INTERROGATE_C_INTERFACE],-c] \
|
|
$[if $[<= $[OPTIMIZE], 1],-spam]
|
|
|
|
#defer interrogate_module_options \
|
|
$[if $[INTERROGATE_PYTHON_INTERFACE],$[if $[PYTHON_NATIVE],-python-native,-python]] \
|
|
$[if $[INTERROGATE_C_INTERFACE],-c]
|
|
|
|
|
|
// The language stuff is used by model builds only.
|
|
// Set language_filters to be "%_english %_castillian %_japanese %_german" etc.
|
|
#if $[LANGUAGES]
|
|
#define language_filters $[subst <pct>,%,$[LANGUAGES:%=<pct>_%]]
|
|
#print Using language $[LANGUAGE]
|
|
#else
|
|
#define language_filters
|
|
#endif
|
|
#define language_egg_filters $[language_filters:%=%.egg]
|
|
#define language_dna_filters $[language_filters:%=%.dna]
|
|
|
|
// This is used for evaluating SoftImage unpack rules in Template.models.pp.
|
|
#defer soft_scene_files $[matrix $[DATABASE]/SCENES/$[SCENE_PREFIX],$[MODEL] $[ANIMS],.1-0.dsc]
|
|
|
|
// Include the global definitions for this particular build_type, if
|
|
// the file is there.
|
|
#sinclude $[GLOBAL_TYPE_FILE]
|
|
|