diff --git a/dtool/pptempl/Global.gmsvc.pp b/dtool/pptempl/Global.gmsvc.pp index 32a45e27c1..d74c00fe98 100644 --- a/dtool/pptempl/Global.gmsvc.pp +++ b/dtool/pptempl/Global.gmsvc.pp @@ -30,6 +30,8 @@ $[actual_libs] #end get_metalibs +#defer actual_local_libs $[get_metalibs $[TARGET],$[complete_local_libs]] + #defun decygwin frompat,topat,path #foreach file $[path] $[patsubstw $[frompat],$[topat],$[osfilename $[file]]] diff --git a/dtool/pptempl/Global.pp b/dtool/pptempl/Global.pp index 9e0f6ab11c..c1329d6f99 100644 --- a/dtool/pptempl/Global.pp +++ b/dtool/pptempl/Global.pp @@ -408,6 +408,22 @@ #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 complete_local_libs $[unique $[closure all_libs,$[active_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. @@ -459,7 +475,7 @@ // This variable returns the set of external packages used by this // target, and by all the components shared by this target. -#defer use_packages $[sort $[USE_PACKAGES] $[components $[USE_PACKAGES],$[active_component_libs]]] +#defer use_packages $[sort $[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 diff --git a/dtool/pptempl/Template.gmsvc.pp b/dtool/pptempl/Template.gmsvc.pp index 207bf40a07..953850c75a 100644 --- a/dtool/pptempl/Template.gmsvc.pp +++ b/dtool/pptempl/Template.gmsvc.pp @@ -102,12 +102,6 @@ #endif // $[build_directory] - -// 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 complete_local_libs $[unique $[closure all_libs,$[active_libs]]] #defer actual_local_libs $[get_metalibs $[TARGET],$[complete_local_libs]] // $[static_lib_dependencies] is the set of libraries we will link @@ -116,15 +110,6 @@ // since these don't get burned in at build time.) #defer static_lib_dependencies $[all_libs $[if $[lib_is_static],$[RELDIR:%=%/$[ODIR]/lib$[TARGET]$[dllext].lib]],$[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] - // $[target_ipath] is the proper ipath to put on the command line, // from the context of a particular target. diff --git a/dtool/pptempl/Template.msvc.pp b/dtool/pptempl/Template.msvc.pp index 49380a0f64..d2240f1022 100644 --- a/dtool/pptempl/Template.msvc.pp +++ b/dtool/pptempl/Template.msvc.pp @@ -136,21 +136,6 @@ // different USE_this or USE_that) than other targets. #map all_sources get_sources(metalib_target lib_target noinst_lib_target static_lib_target ss_lib_target bin_target noinst_bin_target test_bin_target) -// 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 complete_local_libs $[unique $[closure all_libs,$[active_libs]]] -#defer actual_local_libs $[get_metalibs $[TARGET],$[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]. -#defer complete_ipath $[all_libs $[RELDIR],$[complete_local_libs]] $[RELDIR($[LOCAL_INCS:%=%\])] $[EXTRA_IPATH] - // $[target_ipath] is the proper ipath to put on the command line, // from the context of a particular target. #defer target_ipath $[RELDIR] $[TOPDIR] $[sort $[complete_ipath]] $[other_trees:%=%\include] $[get_ipath] diff --git a/dtool/pptempl/Template.unix.pp b/dtool/pptempl/Template.unix.pp index 73b18b1db5..41456d46ca 100644 --- a/dtool/pptempl/Template.unix.pp +++ b/dtool/pptempl/Template.unix.pp @@ -83,12 +83,6 @@ #endif // $[build_directory] - -// 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 complete_local_libs $[unique $[closure all_libs,$[active_libs]]] #defer actual_local_libs $[complete_local_libs] // $[static_lib_dependencies] is the set of libraries we will link @@ -97,13 +91,6 @@ // since these don't get burned in at build time.) #defer static_lib_dependencies $[all_libs $[if $[lib_is_static],$[RELDIR:%=%/$[ODIR]/lib$[TARGET]$[dllext].a]],$[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]. -#defer complete_ipath $[all_libs $[RELDIR],$[complete_local_libs]] $[RELDIR($[LOCAL_INCS:%=%/])] $[EXTRA_IPATH] - // $[target_ipath] is the proper ipath to put on the command line, // from the context of a particular target. @@ -127,6 +114,7 @@ // And $[frameworks] is the set of OSX-style frameworks we will link with. #defer frameworks $[unique $[get_frameworks]] +#defer bin_frameworks $[unique $[get_frameworks]] // This is the set of files we might copy into *.prebuilt, if we have // bison and flex (or copy from *.prebuilt if we don't have them).