// // Global.unix.pp // // This file is read in before any of the individual Sources.pp files // are read. It defines a few global variables to assist // Template.unix.pp. // #defun get_metalibs target,complete_libs // In Windows, we need to know the complete set of metalibs that // encapsulates each of the libraries we'd be linking with normally. // In the case where a particular library is not part of a metalib, // we include the library itself. #define actual_libs #foreach lib $[complete_libs] // Only consider libraries that we're actually building. #if $[all_libs $[and $[build_directory],$[build_target]],$[lib]] #define modmeta $[module $[TARGET],$[lib]] #if $[ne $[modmeta],] #if $[ne $[modmeta],$[target]] // We don't link with ourselves. #set actual_libs $[actual_libs] $[modmeta] #endif #else #set actual_libs $[actual_libs] $[lib] #endif #endif #end lib #set actual_libs $[unique $[actual_libs]] $[patsubst %:m,%,$[filter %:m,$[OTHER_LIBS]]] $[actual_libs] #end get_metalibs #defer actual_local_libs $[get_metalibs $[TARGET],$[complete_local_libs]]