Browse Source

contribution from kaweh: cg/maya support for osx, plus my changes to support transitive frameworks

David Rose 18 years ago
parent
commit
23f5ce5dec

+ 2 - 0
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]]]

+ 17 - 1
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

+ 0 - 15
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.
 

+ 0 - 15
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]

+ 1 - 13
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).