Browse Source

windows resource files and such

David Rose 16 years ago
parent
commit
d8ed32fc1b

+ 8 - 0
dtool/Config.pp

@@ -739,6 +739,14 @@
 #define ODE_LIBS $[if $[WINDOWS_PLATFORM],ode.lib,ode]
 #define ODE_LIBS $[if $[WINDOWS_PLATFORM],ode.lib,ode]
 #defer HAVE_ODE $[libtest $[ODE_LPATH],$[ODE_LIBS]]
 #defer HAVE_ODE $[libtest $[ODE_LPATH],$[ODE_LIBS]]
 
 
+// Mozilla's so-called Gecko SDK, a.k.a. Xulrunner SDK, implements
+// NPAPI, Mozilla's semi-standard API to build a web plugin for
+// Firefox and other Mozilla-based browsers.
+#define NPAPI_IPATH
+#define NPAPI_LPATH
+#define NPAPI_LIBS
+#define HAVE_NPAPI
+
 // Do you want to build the DirectD tools for starting Panda clients
 // Do you want to build the DirectD tools for starting Panda clients
 // remotely?  This only affects the direct tree.  Enabling this may
 // remotely?  This only affects the direct tree.  Enabling this may
 // cause libdirect.dll to fail to load on Win98 clients.
 // cause libdirect.dll to fail to load on Win98 clients.

+ 5 - 0
dtool/Package.pp

@@ -256,6 +256,11 @@
 #set ODE_LIBS $[ODE_LIBS]
 #set ODE_LIBS $[ODE_LIBS]
 #set HAVE_ODE $[HAVE_ODE]
 #set HAVE_ODE $[HAVE_ODE]
 
 
+#set NPAPI_IPATH $[unixfilename $[NPAPI_IPATH]]
+#set NPAPI_LPATH $[unixfilename $[NPAPI_LPATH]]
+#set NPAPI_LIBS $[NPAPI_LIBS]
+#set HAVE_NPAPI $[HAVE_NPAPI]
+
 #set HAVE_THREADS $[HAVE_THREADS]
 #set HAVE_THREADS $[HAVE_THREADS]
 #set DEBUG_THREADS $[DEBUG_THREADS]
 #set DEBUG_THREADS $[DEBUG_THREADS]
 #set MUTEX_SPINLOCK $[MUTEX_SPINLOCK]
 #set MUTEX_SPINLOCK $[MUTEX_SPINLOCK]

+ 1 - 6
dtool/pptempl/Global.gmsvc.pp

@@ -99,11 +99,6 @@
 // distinction is so important in Windows).
 // distinction is so important in Windows).
 #define dllext $[if $[<= $[OPTIMIZE],2],_d]
 #define dllext $[if $[<= $[OPTIMIZE],2],_d]
 
 
-// note: does NOT include .dll or .lib at end
-#defun get_dllname dll_basename
- $[if $[ne $[DONT_USE_PANDA_DLL_NAMING],], $[dll_basename], lib$[dll_basename]$[dllext]]
-#end get_dllname
-
 #defer interrogate_ipath $[decygwin %,-S"%",$[install_parser_inc_dir]] $[decygwin %,-I"%",$[target_ipath]]
 #defer interrogate_ipath $[decygwin %,-S"%",$[install_parser_inc_dir]] $[decygwin %,-I"%",$[target_ipath]]
 
 
 // '#defer extra_cflags $[extra_cflags] /STUFF' will never work because extra_cflags hasnt been
 // '#defer extra_cflags $[extra_cflags] /STUFF' will never work because extra_cflags hasnt been
@@ -138,7 +133,7 @@
 // if we're attached, use dllbase.txt.  otherwise let OS loader resolve dll addrspace collisions
 // if we're attached, use dllbase.txt.  otherwise let OS loader resolve dll addrspace collisions
 #if $[ne $[CTPROJS],]
 #if $[ne $[CTPROJS],]
 // use predefined bases to speed dll loading and simplify debugging
 // use predefined bases to speed dll loading and simplify debugging
-#defer DLLNAMEBASE $[get_dllname $[TARGET]]
+#defer DLLNAMEBASE $[lib_prefix]$[TARGET]
 #defer DLLBASEADDRFILENAME dllbase.txt
 #defer DLLBASEADDRFILENAME dllbase.txt
 #defer DLLBASEARG "/BASE:@$[dtool_ver_dir]\$[DLLBASEADDRFILENAME],$[DLLNAMEBASE]"
 #defer DLLBASEARG "/BASE:@$[dtool_ver_dir]\$[DLLBASEADDRFILENAME],$[DLLNAMEBASE]"
 #else
 #else

+ 1 - 6
dtool/pptempl/Global.msvc.pp

@@ -112,11 +112,6 @@
 // distinction is so important in Windows).
 // distinction is so important in Windows).
 #define dllext $[if $[<= $[OPTIMIZE],2],_d]
 #define dllext $[if $[<= $[OPTIMIZE],2],_d]
 
 
-// note: does NOT include .dll or .lib at end
-#defun get_dllname dll_basename
- $[if $[ne $[DONT_USE_PANDA_DLL_NAMING],], $[dll_basename], lib$[dll_basename]$[dllext]]
-#end get_dllname
-
 // Because Visual Studio .NET prefers to generate object files using the same
 // Because Visual Studio .NET prefers to generate object files using the same
 // base name as the source file, we don't want an object file prefix.
 // base name as the source file, we don't want an object file prefix.
 #define obj_prefix
 #define obj_prefix
@@ -144,7 +139,7 @@
 // if we're attached, use dllbase.txt.  otherwise let OS loader resolve dll addrspace collisions
 // if we're attached, use dllbase.txt.  otherwise let OS loader resolve dll addrspace collisions
 #if $[ne $[CTPROJS],]
 #if $[ne $[CTPROJS],]
 // use predefined bases to speed dll loading and simplify debugging
 // use predefined bases to speed dll loading and simplify debugging
-#defer DLLNAMEBASE $[get_dllname $[TARGET]]
+#defer DLLNAMEBASE $[lib_prefix]$[TARGET]
 #defer DLLBASEADDRFILENAME dllbase.txt
 #defer DLLBASEADDRFILENAME dllbase.txt
 #defer DLLBASEARG "/BASE:@$[dtool_ver_dir]\$[DLLBASEADDRFILENAME],$[DLLNAMEBASE]"
 #defer DLLBASEARG "/BASE:@$[dtool_ver_dir]\$[DLLBASEADDRFILENAME],$[DLLNAMEBASE]"
 #else
 #else

+ 1 - 6
dtool/pptempl/Global.nmake.pp

@@ -112,11 +112,6 @@
 // distinction is so important in Windows).
 // distinction is so important in Windows).
 #define dllext $[if $[<= $[OPTIMIZE],2],_d]
 #define dllext $[if $[<= $[OPTIMIZE],2],_d]
 
 
-// note: does NOT include .dll or .lib at end
-#defun get_dllname dll_basename
- $[if $[ne $[DONT_USE_PANDA_DLL_NAMING],], $[dll_basename], lib$[dll_basename]$[dllext]]
-#end get_dllname
-
 #defer interrogate_ipath $[decygwin %,-S"%",$[install_parser_inc_dir]] $[decygwin %,-I"%",$[target_ipath]]
 #defer interrogate_ipath $[decygwin %,-S"%",$[install_parser_inc_dir]] $[decygwin %,-I"%",$[target_ipath]]
 
 
 // '#defer extra_cflags $[extra_cflags] /STUFF' will never work because extra_cflags hasnt been
 // '#defer extra_cflags $[extra_cflags] /STUFF' will never work because extra_cflags hasnt been
@@ -139,7 +134,7 @@
 // if we're attached, use dllbase.txt.  otherwise let OS loader resolve dll addrspace collisions
 // if we're attached, use dllbase.txt.  otherwise let OS loader resolve dll addrspace collisions
 #if $[ne $[CTPROJS],]
 #if $[ne $[CTPROJS],]
 // use predefined bases to speed dll loading and simplify debugging
 // use predefined bases to speed dll loading and simplify debugging
-#defer DLLNAMEBASE $[get_dllname $[TARGET]]
+#defer DLLNAMEBASE $[lib_prefix]$[TARGET]
 #defer DLLBASEADDRFILENAME dllbase.txt
 #defer DLLBASEADDRFILENAME dllbase.txt
 #defer DLLBASEARG "/BASE:@$[dtool_ver_dir]\$[DLLBASEADDRFILENAME],$[DLLNAMEBASE]"
 #defer DLLBASEARG "/BASE:@$[dtool_ver_dir]\$[DLLBASEADDRFILENAME],$[DLLNAMEBASE]"
 #else
 #else

+ 16 - 0
dtool/pptempl/Global.pp

@@ -213,6 +213,13 @@
   #define ode_libs $[ODE_LIBS]
   #define ode_libs $[ODE_LIBS]
 #endif
 #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]
+#endif
+
 #if $[HAVE_JPEG]
 #if $[HAVE_JPEG]
   #define jpeg_ipath $[wildcard $[JPEG_IPATH]]
   #define jpeg_ipath $[wildcard $[JPEG_IPATH]]
   #define jpeg_lpath $[wildcard $[JPEG_LPATH]]
   #define jpeg_lpath $[wildcard $[JPEG_LPATH]]
@@ -465,9 +472,18 @@
 #defer link_lib_c $[if $[lib_is_static],$[static_lib_c],$[shared_lib_c]]
 #defer link_lib_c $[if $[lib_is_static],$[static_lib_c],$[shared_lib_c]]
 #defer link_lib_c++ $[if $[lib_is_static],$[static_lib_c++],$[shared_lib_c++]]
 #defer link_lib_c++ $[if $[lib_is_static],$[static_lib_c++],$[shared_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]
+
+// The default library extension various based on the OS.
 #defer dynamic_lib_ext $[DYNAMIC_LIB_EXT]
 #defer dynamic_lib_ext $[DYNAMIC_LIB_EXT]
 #defer static_lib_ext $[STATIC_LIB_EXT]
 #defer static_lib_ext $[STATIC_LIB_EXT]
 #defer lib_ext $[if $[lib_is_static],$[static_lib_ext],$[dynamic_lib_ext]]
 #defer lib_ext $[if $[lib_is_static],$[static_lib_ext],$[dynamic_lib_ext]]
+
+// OSX also has a "bundle" concept.
 #defer bundle_ext $[BUNDLE_EXT]
 #defer bundle_ext $[BUNDLE_EXT]
 
 
 // If BUILD_COMPONENTS is not true, we don't actually build all the
 // If BUILD_COMPONENTS is not true, we don't actually build all the

+ 36 - 37
dtool/pptempl/Template.gmsvc.pp

@@ -56,7 +56,7 @@
     #if $[eq $[module $[TARGET],$[TARGET]],]
     #if $[eq $[module $[TARGET],$[TARGET]],]
       // This library is not on a metalib, so we can build it.
       // This library is not on a metalib, so we can build it.
       #set real_lib_targets $[real_lib_targets] $[TARGET]
       #set real_lib_targets $[real_lib_targets] $[TARGET]
-      #set real_lib_target_libs $[real_lib_target_libs] $[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]
+      #set real_lib_target_libs $[real_lib_target_libs] $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
     #else
     #else
       // This library is on a metalib, so we can't build it, but we
       // This library is on a metalib, so we can't build it, but we
       // should build all the obj's that go into it.
       // should build all the obj's that go into it.
@@ -71,7 +71,7 @@
   // the list of binaries that are to be built only when specifically
   // the list of binaries that are to be built only when specifically
   // asked for.
   // asked for.
 
 
-  #define lib_targets $[forscopes metalib_target noinst_lib_target test_lib_target static_lib_target dynamic_lib_target ss_lib_target,$[if $[build_target],$[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]]] $[real_lib_target_libs]
+  #define lib_targets $[forscopes metalib_target noinst_lib_target test_lib_target static_lib_target dynamic_lib_target ss_lib_target,$[if $[build_target],$[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]]] $[real_lib_target_libs]
 
 
   #define bin_targets \
   #define bin_targets \
       $[active_target(bin_target noinst_bin_target):%=$[ODIR]/%.exe] \
       $[active_target(bin_target noinst_bin_target):%=$[ODIR]/%.exe] \
@@ -119,7 +119,7 @@
 // with that happen to be static libs.  We will introduce dependency
 // with that happen to be static libs.  We will introduce dependency
 // rules for these.  (We don't need dependency rules for dynamic libs,
 // rules for these.  (We don't need dependency rules for dynamic libs,
 // since these don't get burned in at build time.)
 // since these don't get burned in at build time.)
-#defer static_lib_dependencies $[all_libs $[if $[and $[lib_is_static],$[build_lib]],$[RELDIR:%=%/$[ODIR]/lib$[TARGET]$[dllext]$[lib_ext]]],$[complete_local_libs]]
+#defer static_lib_dependencies $[all_libs $[if $[and $[lib_is_static],$[build_lib]],$[RELDIR:%=%/$[ODIR]/$[lib_prefix]$[TARGET]$[dllext]$[lib_ext]]],$[complete_local_libs]]
 
 
 // $[target_ipath] is the proper ipath to put on the command line,
 // $[target_ipath] is the proper ipath to put on the command line,
 // from the context of a particular target.
 // from the context of a particular target.
@@ -366,30 +366,29 @@ igate : $[get_igatedb(metalib_target lib_target ss_lib_target)]
       $[components $[patsubst %,$[RELDIR]/$[%_obj],$[compile_sources]],$[active_component_libs]]
       $[components $[patsubst %,$[RELDIR]/$[%_obj],$[compile_sources]],$[active_component_libs]]
   #endif
   #endif
 
 
-  #define varname $[subst -,_,.,_,lib$[TARGET]$[lib_ext]]
+  #define varname $[subst -,_,.,_,$[lib_prefix]$[TARGET]$[lib_ext]]
 $[varname] = $[sources]
 $[varname] = $[sources]
-  #define target $[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]
+  #define target $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
   #define sources $($[varname])
   #define sources $($[varname])
   #define flags   $[get_cflags] $[C++FLAGS] $[CFLAGS_OPT$[OPTIMIZE]] $[CFLAGS_SHARED] $[building_var:%=/D%]
   #define flags   $[get_cflags] $[C++FLAGS] $[CFLAGS_OPT$[OPTIMIZE]] $[CFLAGS_SHARED] $[building_var:%=/D%]
-  #define mybasename $[basename $[notdir $[target]]]
-  #define tmpdirname_cyg $[install_lib_dir]/$[mybasename]
-  #define tmpdirname_win $[osfilename $[tmpdirname_cyg]]
 
 
 // not parallel (requires gmake 3.79) because of link.exe conflicts in TMP dir (see audiotraits dir)
 // not parallel (requires gmake 3.79) because of link.exe conflicts in TMP dir (see audiotraits dir)
-#if $[GENERATE_BUILDDATE]
-.NOTPARALLEL $[target] : $[sources] $[static_lib_dependencies] $[dtool_ver_dir_cyg]/version.rc $[DLLBASEADDRFILENAME:%=$[dtool_ver_dir_cyg]/%]
-// first generate builddate for rc compiler using compiler preprocessor
-$[TAB]  mkdir -p $[tmpdirname_cyg]  // this dir-creation-stuff is leftover from trying to resolve parallel link difficulties
- #define VER_RESOURCE "$[tmpdirname_win]\$[mybasename].res"
-$[TAB]  cl /nologo /EP "$[dtool_ver_dir]\verdate.cpp"  > "$[tmpdirname_win]\verdate.h"
-$[TAB]  rc /n /I"$[tmpdirname_win]" $[DECYGWINED_INC_PATHLIST_ARGS] /fo$[VER_RESOURCE] $[filter /D%, $[flags]]  "$[dtool_ver_dir]\version.rc"
+#if $[or $[GENERATE_BUILDDATE],$[WIN_RESOURCE_FILE]]
+  #define resource_file $[or $[WIN_RESOURCE_FILE],$[dtool_ver_dir_cyg]/version.rc]
+.NOTPARALLEL $[target] : $[sources] $[static_lib_dependencies] $[resource_file] $[DLLBASEADDRFILENAME:%=$[dtool_ver_dir_cyg]/%]
+
+ // first generate builddate for rc compiler using compiler preprocessor
+ #define ver_resource "$[ODIR]\$[lib_prefix]$[TARGET].res"
+$[TAB]  cl /nologo /EP "$[dtool_ver_dir]\verdate.cpp"  > "$[ODIR]\verdate.h"
+$[TAB]  rc /n /I"$[ODIR]" $[DECYGWINED_INC_PATHLIST_ARGS] /fo$[ver_resource] $[filter /D%, $[flags]]  "$[osfilename $[resource_file]]"
+  #define sources $[sources] $[ver_resource]
   #if $[filter %.cxx %.cpp %.yxx %.lxx,$[get_sources]]
   #if $[filter %.cxx %.cpp %.yxx %.lxx,$[get_sources]]
 $[TAB] $[link_lib_c++]
 $[TAB] $[link_lib_c++]
   #else
   #else
 $[TAB] $[link_lib_c]
 $[TAB] $[link_lib_c]
   #endif
   #endif
 #else
 #else
-  #define VER_RESOURCE
+
 .NOTPARALLEL $[target] : $[sources] $[DLLBASEADDRFILENAME:%=$[dtool_ver_dir_cyg]/%]
 .NOTPARALLEL $[target] : $[sources] $[DLLBASEADDRFILENAME:%=$[dtool_ver_dir_cyg]/%]
   #if $[filter %.cxx %.cpp %.yxx %.lxx,$[get_sources]]
   #if $[filter %.cxx %.cpp %.yxx %.lxx,$[get_sources]]
 $[TAB] $[link_lib_c++]
 $[TAB] $[link_lib_c++]
@@ -401,10 +400,10 @@ $[TAB] $[link_lib_c]
 // Additional dependency rules for the implicit files that get built
 // Additional dependency rules for the implicit files that get built
 // along with a .dll.
 // along with a .dll.
 #if $[not $[lib_is_static]]
 #if $[not $[lib_is_static]]
-$[ODIR]/$[get_dllname $[TARGET]].lib : $[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]
+$[ODIR]/$[lib_prefix]$[TARGET].lib : $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
 #endif
 #endif
 #if $[has_pdb]
 #if $[has_pdb]
-$[ODIR]/$[get_dllname $[TARGET]].pdb : $[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]
+$[ODIR]/$[lib_prefix]$[TARGET].pdb : $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
 #endif
 #endif
 
 
 #endif
 #endif
@@ -413,9 +412,9 @@ $[ODIR]/$[get_dllname $[TARGET]].pdb : $[ODIR]/$[get_dllname $[TARGET]]$[lib_ext
 // everything that goes along with it.
 // everything that goes along with it.
 #define installed_files \
 #define installed_files \
     $[if $[build_lib], \
     $[if $[build_lib], \
-      $[install_lib_dir]/$[get_dllname $[TARGET]]$[lib_ext] \
-      $[if $[not $[lib_is_static]],$[install_lib_dir]/$[get_dllname $[TARGET]].lib] \
-      $[if $[has_pdb],$[install_lib_dir]/$[get_dllname $[TARGET]].pdb] \
+      $[install_lib_dir]/$[lib_prefix]$[TARGET]$[lib_ext] \
+      $[if $[not $[lib_is_static]],$[install_lib_dir]/$[lib_prefix]$[TARGET].lib] \
+      $[if $[has_pdb],$[install_lib_dir]/$[lib_prefix]$[TARGET].pdb] \
     ] \
     ] \
     $[INSTALL_SCRIPTS:%=$[install_bin_dir]/%] \
     $[INSTALL_SCRIPTS:%=$[install_bin_dir]/%] \
     $[INSTALL_HEADERS:%=$[install_headers_dir]/%] \
     $[INSTALL_HEADERS:%=$[install_headers_dir]/%] \
@@ -430,8 +429,8 @@ uninstall-lib$[TARGET] :
 $[TAB] rm -f $[sort $[installed_files]]
 $[TAB] rm -f $[sort $[installed_files]]
 #endif
 #endif
 
 
-$[install_lib_dir]/$[get_dllname $[TARGET]]$[lib_ext] : $[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]
-#define local $[get_dllname $[TARGET]]$[lib_ext]
+$[install_lib_dir]/$[lib_prefix]$[TARGET]$[lib_ext] : $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
+#define local $[lib_prefix]$[TARGET]$[lib_ext]
 #define dest $[install_lib_dir]
 #define dest $[install_lib_dir]
 #if $[eq $[USE_COMPILER], MSVC8]
 #if $[eq $[USE_COMPILER], MSVC8]
 $[TAB] mt -manifest $[ODIR]/$[local].manifest -outputresource:$[ODIR]/$[local]\;2
 $[TAB] mt -manifest $[ODIR]/$[local].manifest -outputresource:$[ODIR]/$[local]\;2
@@ -441,16 +440,16 @@ $[TAB] cp $[install_dash_p] -f $[ODIR]/$[local] $[dest]/
 
 
 // Install the .lib associated with a .dll.
 // Install the .lib associated with a .dll.
 #if $[not $[lib_is_static]]
 #if $[not $[lib_is_static]]
-$[install_lib_dir]/$[get_dllname $[TARGET]].lib : $[ODIR]/$[get_dllname $[TARGET]].lib
-#define local $[get_dllname $[TARGET]].lib
+$[install_lib_dir]/$[lib_prefix]$[TARGET].lib : $[ODIR]/$[lib_prefix]$[TARGET].lib
+#define local $[lib_prefix]$[TARGET].lib
 #define dest $[install_lib_dir]
 #define dest $[install_lib_dir]
 $[TAB] cp $[install_dash_p] -f $[ODIR]/$[local] $[dest]/
 $[TAB] cp $[install_dash_p] -f $[ODIR]/$[local] $[dest]/
 #endif
 #endif
 
 
 
 
 #if $[has_pdb]
 #if $[has_pdb]
-$[install_lib_dir]/$[get_dllname $[TARGET]].pdb : $[ODIR]/$[get_dllname $[TARGET]].pdb
-#define local $[get_dllname $[TARGET]].pdb
+$[install_lib_dir]/$[lib_prefix]$[TARGET].pdb : $[ODIR]/$[lib_prefix]$[TARGET].pdb
+#define local $[lib_prefix]$[TARGET].pdb
 #define dest $[install_lib_dir]
 #define dest $[install_lib_dir]
 $[TAB] cp $[install_dash_p] -f $[ODIR]/$[local] $[dest]/
 $[TAB] cp $[install_dash_p] -f $[ODIR]/$[local] $[dest]/
 #endif
 #endif
@@ -460,7 +459,7 @@ $[TAB] cp $[install_dash_p] -f $[ODIR]/$[local] $[dest]/
 // data, if needed.
 // data, if needed.
 
 
 // The library name is based on this library.
 // The library name is based on this library.
-#define igatelib lib$[TARGET]
+#define igatelib $[lib_prefix]$[TARGET]
 // The module name comes from the metalib that includes this library.
 // The module name comes from the metalib that includes this library.
 #define igatemod $[module $[TARGET],$[TARGET]]
 #define igatemod $[module $[TARGET],$[TARGET]]
 #if $[eq $[igatemod],]
 #if $[eq $[igatemod],]
@@ -477,9 +476,9 @@ $[TAB] cp $[install_dash_p] -f $[local] $[dest]/
 // parallel make.
 // parallel make.
 $[igatedb] : $[igateoutput]
 $[igatedb] : $[igateoutput]
 
 
-lib$[TARGET]_igatescan = $[igatescan]
+$[lib_prefix]$[TARGET]_igatescan = $[igatescan]
 $[igateoutput] : $[sort $[patsubst %.h,%.h,%.I,%.I,%.T,%.T,%,,$[dependencies $[igatescan]] $[igatescan:%=./%]]]
 $[igateoutput] : $[sort $[patsubst %.h,%.h,%.I,%.I,%.T,%.T,%,,$[dependencies $[igatescan]] $[igatescan:%=./%]]]
-$[TAB] $[INTERROGATE] -od $[igatedb] -oc $[igateoutput] $[interrogate_options] -module "$[igatemod]" -library "$[igatelib]" $(lib$[TARGET]_igatescan)
+$[TAB] $[INTERROGATE] -od $[igatedb] -oc $[igateoutput] $[interrogate_options] -module "$[igatemod]" -library "$[igatelib]" $($[lib_prefix]$[TARGET]_igatescan)
 
 
 #endif  // igatescan
 #endif  // igatescan
 
 
@@ -489,12 +488,12 @@ $[TAB] $[INTERROGATE] -od $[igatedb] -oc $[igateoutput] $[interrogate_options] -
 // file into the library, if this is a metalib that includes
 // file into the library, if this is a metalib that includes
 // interrogated components.
 // interrogated components.
 
 
-#define igatelib lib$[TARGET]
+#define igatelib $[lib_prefix]$[TARGET]
 #define igatemod $[TARGET]
 #define igatemod $[TARGET]
 
 
-lib$[TARGET]_igatemscan = $[igatemscan]
+$[lib_prefix]$[TARGET]_igatemscan = $[igatemscan]
 #define target $[igatemout]
 #define target $[igatemout]
-#define sources $(lib$[TARGET]_igatemscan)
+#define sources $($[lib_prefix]$[TARGET]_igatemscan)
 
 
 $[target] : $[sources]
 $[target] : $[sources]
 $[TAB] $[INTERROGATE_MODULE] -oc $[target] -module "$[igatemod]" -library "$[igatelib]" $[interrogate_module_options] $[sources]
 $[TAB] $[INTERROGATE_MODULE] -oc $[target] -module "$[igatemod]" -library "$[igatelib]" $[interrogate_module_options] $[sources]
@@ -513,9 +512,9 @@ $[TAB] $[INTERROGATE_MODULE] -oc $[target] -module "$[igatemod]" -library "$[iga
 /////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////
 
 
 #forscopes noinst_lib_target test_lib_target
 #forscopes noinst_lib_target test_lib_target
-#define varname $[subst -,_,.,_,lib$[TARGET]$[lib_ext]]
+#define varname $[subst -,_,.,_,$[lib_prefix]$[TARGET]$[lib_ext]]
 $[varname] = $[patsubst %,$[%_obj],$[compile_sources]]
 $[varname] = $[patsubst %,$[%_obj],$[compile_sources]]
-#define target $[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]
+#define target $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
 #define sources $($[varname])
 #define sources $($[varname])
 #define $[VER_RESOURCE] $[COMPILED_RESOURCES]
 #define $[VER_RESOURCE] $[COMPILED_RESOURCES]
 $[target] : $[sources] $[static_lib_dependencies] $[GENERATED_SOURCES]
 $[target] : $[sources] $[static_lib_dependencies] $[GENERATED_SOURCES]
@@ -525,9 +524,9 @@ $[TAB] $[link_lib_c++]
 $[TAB] $[link_lib_c]
 $[TAB] $[link_lib_c]
 #endif
 #endif
 
 
-$[ODIR]/$[get_dllname $[TARGET]]$[lib_ext] : $[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]
+$[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext] : $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
 #if $[has_pdb]
 #if $[has_pdb]
-$[ODIR]/$[get_dllname $[TARGET]].pdb : $[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]
+$[ODIR]/$[lib_prefix]$[TARGET].pdb : $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
 #endif
 #endif
 
 
 // this section is all very clunky and not generalized enough
 // this section is all very clunky and not generalized enough

+ 4 - 4
dtool/pptempl/Template.msvc.pp

@@ -260,7 +260,7 @@
 #define igatemout $[get_igatemout]
 #define igatemout $[get_igatemout]
 
 
 #if $[build_it]
 #if $[build_it]
-  #define target $[ODIR]\$[get_dllname $[TARGET]].$[dlllib]
+  #define target $[ODIR]\$[lib_prefix]$[TARGET].$[dlllib]
 
 
   // Installation paths
   // Installation paths
   #define mybasename $[basename $[notdir $[target]]]
   #define mybasename $[basename $[notdir $[target]]]
@@ -276,7 +276,7 @@
 
 
 // Additional rules to generate and compile the interrogate data, if needed.
 // Additional rules to generate and compile the interrogate data, if needed.
 #if $[igatescan]
 #if $[igatescan]
-  #define igatelib lib$[TARGET]
+  #define igatelib $[lib_prefix]$[TARGET]
 
 
   // The module name comes from the metalib that includes this library.
   // The module name comes from the metalib that includes this library.
   #define igatemod $[module $[TARGET],$[TARGET]]
   #define igatemod $[module $[TARGET],$[TARGET]]
@@ -298,7 +298,7 @@
 // file into the library, if this is a metalib that includes
 // file into the library, if this is a metalib that includes
 // interrogated components.
 // interrogated components.
 #if $[igatemout]
 #if $[igatemout]
-  #define igatelib lib$[TARGET]
+  #define igatelib $[lib_prefix]$[TARGET]
   #define igatemod $[TARGET]
   #define igatemod $[TARGET]
 
 
   #define igatemod_commandline \
   #define igatemod_commandline \
@@ -421,7 +421,7 @@
 /////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////
 
 
 #forscopes static_lib_target ss_lib_target
 #forscopes static_lib_target ss_lib_target
-#define target $[ODIR]\$[get_dllname $[TARGET]].lib
+#define target $[ODIR]\$[lib_prefix]$[TARGET].lib
 #define defines $[join ;,$[extra_defines]]
 #define defines $[join ;,$[extra_defines]]
 
 
 #output $[TARGET].vcproj
 #output $[TARGET].vcproj

+ 34 - 34
dtool/pptempl/Template.nmake.pp

@@ -63,7 +63,7 @@
     #if $[eq $[module $[TARGET],$[TARGET]],]
     #if $[eq $[module $[TARGET],$[TARGET]],]
       // This library is not on a metalib, so we can build it.
       // This library is not on a metalib, so we can build it.
       #set real_lib_targets $[real_lib_targets] $[TARGET]
       #set real_lib_targets $[real_lib_targets] $[TARGET]
-      #set real_lib_target_libs $[real_lib_target_libs] $[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]
+      #set real_lib_target_libs $[real_lib_target_libs] $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
     #else
     #else
       // This library is on a metalib, so we can't build it, but we
       // This library is on a metalib, so we can't build it, but we
       // should build all the obj's that go into it.
       // should build all the obj's that go into it.
@@ -78,7 +78,7 @@
   // list of binaries that are to be built only when specifically
   // list of binaries that are to be built only when specifically
   // asked for.
   // asked for.
 
 
-  #define lib_targets $[forscopes metalib_target noinst_lib_target test_lib_target static_lib_target dynamic_lib_target ss_lib_target,$[if $[build_target],$[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]]] $[real_lib_target_libs]
+  #define lib_targets $[forscopes metalib_target noinst_lib_target test_lib_target static_lib_target dynamic_lib_target ss_lib_target,$[if $[build_target],$[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]]] $[real_lib_target_libs]
 
 
   #define bin_targets \
   #define bin_targets \
       $[active_target(bin_target noinst_bin_target):%=$[ODIR]/%.exe] \
       $[active_target(bin_target noinst_bin_target):%=$[ODIR]/%.exe] \
@@ -132,7 +132,7 @@
 // with that happen to be static libs.  We will introduce dependency
 // with that happen to be static libs.  We will introduce dependency
 // rules for these.  (We don't need dependency rules for dynamic libs,
 // rules for these.  (We don't need dependency rules for dynamic libs,
 // since these don't get burned in at build time.)
 // 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_ext]]],$[complete_local_libs]]
+#defer static_lib_dependencies $[all_libs $[if $[lib_is_static],$[RELDIR:%=%/$[ODIR]/$[lib_prefix]$[TARGET]$[dllext]$[lib_ext]]],$[complete_local_libs]]
 
 
 // And $[complete_ipath] is the list of directories (from within this
 // 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
 // tree) we should add to our -I list.  It's basically just one for
@@ -388,9 +388,9 @@ igate : $[patsubst %,$[osfilename %],$[get_igatedb(metalib_target lib_target ss_
    $[patsubst %,$[%_obj],$[compile_sources]] \
    $[patsubst %,$[%_obj],$[compile_sources]] \
    $[components $[patsubst %,$[RELDIR]/$[%_obj],$[compile_sources]],$[active_component_libs]]
    $[components $[patsubst %,$[RELDIR]/$[%_obj],$[compile_sources]],$[active_component_libs]]
 
 
-  #define varname $[subst -,_,lib$[TARGET]_so]
+  #define varname $[subst -,_,$[lib_prefix]$[TARGET]_so]
 $[varname] = $[patsubst %,$[osfilename %],$[sources]]
 $[varname] = $[patsubst %,$[osfilename %],$[sources]]
-  #define target $[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]
+  #define target $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
   #define sources $($[varname])
   #define sources $($[varname])
   #define flags   $[get_cflags] $[C++FLAGS] $[CFLAGS_OPT$[OPTIMIZE]] $[CFLAGS_SHARED] $[building_var:%=/D%]
   #define flags   $[get_cflags] $[C++FLAGS] $[CFLAGS_OPT$[OPTIMIZE]] $[CFLAGS_SHARED] $[building_var:%=/D%]
   #define mybasename $[basename $[notdir $[target]]]
   #define mybasename $[basename $[notdir $[target]]]
@@ -423,10 +423,10 @@ $[TAB] mt -nologo -manifest $[target].manifest -outputresource:$[target];2
 #endif
 #endif
 
 
 #if $[build_dlls]
 #if $[build_dlls]
-$[osfilename $[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]] : $[patsubst %,$[osfilename %],$[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]]
+$[osfilename $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]] : $[patsubst %,$[osfilename %],$[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]]
 #endif
 #endif
 #if $[build_pdbs]
 #if $[build_pdbs]
-$[osfilename $[ODIR]/$[get_dllname $[TARGET]].pdb] : $[patsubst %,$[osfilename %],$[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]]
+$[osfilename $[ODIR]/$[lib_prefix]$[TARGET].pdb] : $[patsubst %,$[osfilename %],$[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]]
 #endif
 #endif
 
 
 #endif
 #endif
@@ -435,9 +435,9 @@ $[osfilename $[ODIR]/$[get_dllname $[TARGET]].pdb] : $[patsubst %,$[osfilename %
 // everything that goes along with it.
 // everything that goes along with it.
 #define installed_files \
 #define installed_files \
     $[if $[build_it], \
     $[if $[build_it], \
-      $[if $[build_dlls],$[install_lib_dir]/$[get_dllname $[TARGET]]$[lib_ext]] \
-      $[install_lib_dir]/$[get_dllname $[TARGET]]$[lib_ext] \
-      $[if $[and $[build_dlls],$[build_pdbs]],$[install_lib_dir]/$[get_dllname $[TARGET]].pdb] \
+      $[if $[build_dlls],$[install_lib_dir]/$[lib_prefix]$[TARGET]$[lib_ext]] \
+      $[install_lib_dir]/$[lib_prefix]$[TARGET]$[lib_ext] \
+      $[if $[and $[build_dlls],$[build_pdbs]],$[install_lib_dir]/$[lib_prefix]$[TARGET].pdb] \
     ] \
     ] \
     $[INSTALL_SCRIPTS:%=$[install_bin_dir]/%] \
     $[INSTALL_SCRIPTS:%=$[install_bin_dir]/%] \
     $[INSTALL_HEADERS:%=$[install_headers_dir]/%] \
     $[INSTALL_HEADERS:%=$[install_headers_dir]/%] \
@@ -455,8 +455,8 @@ $[TAB] if exist $[file] del /f $[file]
 #endif
 #endif
 
 
 #if $[build_dlls]
 #if $[build_dlls]
-$[osfilename $[install_lib_dir]/$[get_dllname $[TARGET]]$[lib_ext]] : $[patsubst %,$[osfilename %],$[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]]
-#define local $[get_dllname $[TARGET]]$[lib_ext]
+$[osfilename $[install_lib_dir]/$[lib_prefix]$[TARGET]$[lib_ext]] : $[patsubst %,$[osfilename %],$[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]]
+#define local $[lib_prefix]$[TARGET]$[lib_ext]
 #define dest $[install_lib_dir]
 #define dest $[install_lib_dir]
 #if $[eq $[USE_COMPILER], MSVC8]
 #if $[eq $[USE_COMPILER], MSVC8]
 $[TAB] mt -nologo -manifest $[ODIR]/$[local].manifest -outputresource:$[ODIR]/$[local];2
 $[TAB] mt -nologo -manifest $[ODIR]/$[local].manifest -outputresource:$[ODIR]/$[local];2
@@ -465,14 +465,14 @@ $[TAB] xcopy /I/Y $[osfilename $[ODIR]/$[local]] $[osfilename $[dest]]
 $[TAB] xcopy /I/Y $[osfilename $[ODIR]/$[local].manifest] $[osfilename $[dest]]
 $[TAB] xcopy /I/Y $[osfilename $[ODIR]/$[local].manifest] $[osfilename $[dest]]
 #endif
 #endif
 
 
-$[osfilename $[install_lib_dir]/$[get_dllname $[TARGET]]$[lib_ext]] : $[patsubst %,$[osfilename %],$[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]]
-#define local $[get_dllname $[TARGET]]$[lib_ext]
+$[osfilename $[install_lib_dir]/$[lib_prefix]$[TARGET]$[lib_ext]] : $[patsubst %,$[osfilename %],$[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]]
+#define local $[lib_prefix]$[TARGET]$[lib_ext]
 #define dest $[install_lib_dir]
 #define dest $[install_lib_dir]
 $[TAB] xcopy /I/Y $[osfilename $[ODIR]/$[local]] $[osfilename $[dest]]
 $[TAB] xcopy /I/Y $[osfilename $[ODIR]/$[local]] $[osfilename $[dest]]
 
 
 #if $[and $[build_dlls],$[build_pdbs]]
 #if $[and $[build_dlls],$[build_pdbs]]
-$[osfilename $[install_lib_dir]/$[get_dllname $[TARGET]].pdb] : $[patsubst %,$[osfilename %],$[ODIR]/$[get_dllname $[TARGET]].pdb]
-#define local $[get_dllname $[TARGET]].pdb
+$[osfilename $[install_lib_dir]/$[lib_prefix]$[TARGET].pdb] : $[patsubst %,$[osfilename %],$[ODIR]/$[lib_prefix]$[TARGET].pdb]
+#define local $[lib_prefix]$[TARGET].pdb
 #define dest $[install_lib_dir]
 #define dest $[install_lib_dir]
 $[TAB] xcopy /I/Y $[osfilename $[ODIR]/$[local]] $[osfilename $[dest]]
 $[TAB] xcopy /I/Y $[osfilename $[ODIR]/$[local]] $[osfilename $[dest]]
 #endif
 #endif
@@ -482,7 +482,7 @@ $[TAB] xcopy /I/Y $[osfilename $[ODIR]/$[local]] $[osfilename $[dest]]
 // data, if needed.
 // data, if needed.
 
 
 // The library name is based on this library.
 // The library name is based on this library.
-#define igatelib lib$[TARGET]
+#define igatelib $[lib_prefix]$[TARGET]
 // The module name comes from the metalib that includes this library.
 // The module name comes from the metalib that includes this library.
 #define igatemod $[module $[TARGET],$[TARGET]]
 #define igatemod $[module $[TARGET],$[TARGET]]
 #if $[eq $[igatemod],]
 #if $[eq $[igatemod],]
@@ -499,7 +499,7 @@ $[TAB] xcopy /I/Y $[osfilename $[local]] $[osfilename $[dest]]
 // parallel make.
 // parallel make.
 $[osfilename $[igatedb]] : $[patsubst %,$[osfilename %],$[igateoutput]]
 $[osfilename $[igatedb]] : $[patsubst %,$[osfilename %],$[igateoutput]]
 
 
-lib$[TARGET]_igatescan = $[patsubst %,$[osfilename %],$[igatescan]]
+$[lib_prefix]$[TARGET]_igatescan = $[patsubst %,$[osfilename %],$[igatescan]]
 $[osfilename $[igateoutput]] : $[patsubst %,$[osfilename %],$[sort $[patsubst %.h,%.h,%.I,%.I,%.T,%.T,%,,$[dependencies $[igatescan]] $[igatescan:%=./%]]]]
 $[osfilename $[igateoutput]] : $[patsubst %,$[osfilename %],$[sort $[patsubst %.h,%.h,%.I,%.I,%.T,%.T,%,,$[dependencies $[igatescan]] $[igatescan:%=./%]]]]
 //// Sauce
 //// Sauce
 //// There's a bug here.  The -od is being passed into a string in the file.  This
 //// There's a bug here.  The -od is being passed into a string in the file.  This
@@ -507,9 +507,9 @@ $[osfilename $[igateoutput]] : $[patsubst %,$[osfilename %],$[sort $[patsubst %.
 //// The hacky fix is to use \\ instead of \.  Windows seems to still let you open files if you
 //// The hacky fix is to use \\ instead of \.  Windows seems to still let you open files if you
 //// include multiple slashes in them.  Then, when quoted, the string will properly
 //// include multiple slashes in them.  Then, when quoted, the string will properly
 //// be created.
 //// be created.
-//$[TAB] $[INTERROGATE] -od $[subst \,\\,$[osfilename $[igatedb]]] -oc $[osfilename $[igateoutput]] $[interrogate_options] -module "$[igatemod]" -library "$[igatelib]" $(lib$[TARGET]_igatescan)
+//$[TAB] $[INTERROGATE] -od $[subst \,\\,$[osfilename $[igatedb]]] -oc $[osfilename $[igateoutput]] $[interrogate_options] -module "$[igatemod]" -library "$[igatelib]" $($[lib_prefix]$[TARGET]_igatescan)
 // Actually, drose kindly fixed that
 // Actually, drose kindly fixed that
-$[TAB] $[INTERROGATE] -od $[osfilename $[igatedb]] -oc $[osfilename $[igateoutput]] $[interrogate_options] -module "$[igatemod]" -library "$[igatelib]" $(lib$[TARGET]_igatescan)
+$[TAB] $[INTERROGATE] -od $[osfilename $[igatedb]] -oc $[osfilename $[igateoutput]] $[interrogate_options] -module "$[igatemod]" -library "$[igatelib]" $($[lib_prefix]$[TARGET]_igatescan)
 
 
 #endif  // igatescan
 #endif  // igatescan
 
 
@@ -519,12 +519,12 @@ $[TAB] $[INTERROGATE] -od $[osfilename $[igatedb]] -oc $[osfilename $[igateoutpu
 // file into the library, if this is a metalib that includes
 // file into the library, if this is a metalib that includes
 // interrogated components.
 // interrogated components.
 
 
-#define igatelib lib$[TARGET]
+#define igatelib $[lib_prefix]$[TARGET]
 #define igatemod $[TARGET]
 #define igatemod $[TARGET]
 
 
-lib$[TARGET]_igatemscan = $[patsubst %,$[osfilename %],$[igatemscan]]
+$[lib_prefix]$[TARGET]_igatemscan = $[patsubst %,$[osfilename %],$[igatemscan]]
 #define target $[igatemout]
 #define target $[igatemout]
-#define sources $(lib$[TARGET]_igatemscan)
+#define sources $($[lib_prefix]$[TARGET]_igatemscan)
 
 
 $[osfilename $[target]] : $[patsubst %,$[osfilename %],$[sources]]
 $[osfilename $[target]] : $[patsubst %,$[osfilename %],$[sources]]
 $[TAB] $[INTERROGATE_MODULE] -oc $[target] -module "$[igatemod]" -library "$[igatelib]" $[interrogate_module_options] $[sources]
 $[TAB] $[INTERROGATE_MODULE] -oc $[target] -module "$[igatemod]" -library "$[igatelib]" $[interrogate_module_options] $[sources]
@@ -543,9 +543,9 @@ $[TAB] $[INTERROGATE_MODULE] -oc $[target] -module "$[igatemod]" -library "$[iga
 /////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////
 
 
 #forscopes noinst_lib_target test_lib_target
 #forscopes noinst_lib_target test_lib_target
-#define varname $[subst -,_,lib$[TARGET]_so]
+#define varname $[subst -,_,$[lib_prefix]$[TARGET]_so]
 $[varname] = $[patsubst %,$[osfilename $[%_obj]],$[compile_sources]]
 $[varname] = $[patsubst %,$[osfilename $[%_obj]],$[compile_sources]]
-#define target $[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]
+#define target $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
 #define sources $($[varname])
 #define sources $($[varname])
 $[osfilename $[target]] : $[patsubst %,$[osfilename %],$[sources] $[static_lib_dependencies] $[GENERATED_SOURCES]]
 $[osfilename $[target]] : $[patsubst %,$[osfilename %],$[sources] $[static_lib_dependencies] $[GENERATED_SOURCES]]
 #if $[filter %.cxx %.cpp %.yxx %.lxx,$[get_sources]]
 #if $[filter %.cxx %.cpp %.yxx %.lxx,$[get_sources]]
@@ -558,10 +558,10 @@ $[TAB] mt -nologo -manifest $[target].manifest -outputresource:$[target];2
 #endif
 #endif
 
 
 #if $[build_dlls]
 #if $[build_dlls]
-$[osfilename $[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]] : $[patsubst %,$[osfilename %],$[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]]
+$[osfilename $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]] : $[patsubst %,$[osfilename %],$[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]]
 #endif
 #endif
 #if $[build_pdbs]
 #if $[build_pdbs]
-$[osfilename $[ODIR]/$[get_dllname $[TARGET]].pdb] : $[patsubst %,$[osfilename %],$[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]]
+$[osfilename $[ODIR]/$[lib_prefix]$[TARGET].pdb] : $[patsubst %,$[osfilename %],$[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]]
 #endif
 #endif
 
 
 // this section is all very clunky and not generalized enough
 // this section is all very clunky and not generalized enough
@@ -628,9 +628,9 @@ $[TAB] $[MIDL_COMMAND]
 // /////////////////////////////////////////////////////////////////////
 // /////////////////////////////////////////////////////////////////////
 
 
 // #forscopes static_lib_target ss_lib_target
 // #forscopes static_lib_target ss_lib_target
-// #define varname $[subst -,_,lib$[TARGET]_a]
+// #define varname $[subst -,_,$[lib_prefix]$[TARGET]_a]
 // $[varname] = $[patsubst %,$[osfilename $[%_obj]],$[compile_sources]]
 // $[varname] = $[patsubst %,$[osfilename $[%_obj]],$[compile_sources]]
-// #define target $[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]
+// #define target $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
 // #define sources $($[varname])
 // #define sources $($[varname])
 // $[osfilename $[target]] : $[patsubst %,$[osfilename %],$[sources]]
 // $[osfilename $[target]] : $[patsubst %,$[osfilename %],$[sources]]
 // #if $[filter %.cxx %.cpp %.yxx %.lxx,$[get_sources]]
 // #if $[filter %.cxx %.cpp %.yxx %.lxx,$[get_sources]]
@@ -640,23 +640,23 @@ $[TAB] $[MIDL_COMMAND]
 // #endif
 // #endif
 
 
 // #define installed_files \
 // #define installed_files \
-//     $[install_lib_dir]/$[get_dllname $[TARGET]]$[lib_ext] \
+//     $[install_lib_dir]/$[lib_prefix]$[TARGET]$[lib_ext] \
 //     $[INSTALL_SCRIPTS:%=$[install_bin_dir]/%] \
 //     $[INSTALL_SCRIPTS:%=$[install_bin_dir]/%] \
 //     $[INSTALL_HEADERS:%=$[install_headers_dir]/%] \
 //     $[INSTALL_HEADERS:%=$[install_headers_dir]/%] \
 //     $[INSTALL_DATA:%=$[install_data_dir]/%] \
 //     $[INSTALL_DATA:%=$[install_data_dir]/%] \
 //     $[INSTALL_CONFIG:%=$[install_config_dir]/%]
 //     $[INSTALL_CONFIG:%=$[install_config_dir]/%]
 
 
-// install-lib$[TARGET] : $[patsubst %,$[osfilename %],$[installed_files]]
+// install-$[lib_prefix]$[TARGET] : $[patsubst %,$[osfilename %],$[installed_files]]
 
 
-// uninstall-lib$[TARGET] :
+// uninstall-$[lib_prefix]$[TARGET] :
 // #if $[installed_files]
 // #if $[installed_files]
 // #foreach file $[patsubst %,$[osfilename %],$[sort $[installed_files]]]
 // #foreach file $[patsubst %,$[osfilename %],$[sort $[installed_files]]]
 // $[TAB] if exist $[file] del /f $[file]
 // $[TAB] if exist $[file] del /f $[file]
 // #end file
 // #end file
 // #endif
 // #endif
 
 
-// $[osfilename $[install_lib_dir]/$[get_dllname $[TARGET]]$[lib_ext]] : $[patsubst %,$[osfilename %],$[ODIR]/$[get_dllname $[TARGET]]$[lib_ext]]
-// #define local $[get_dllname $[TARGET]]$[lib_ext]
+// $[osfilename $[install_lib_dir]/$[lib_prefix]$[TARGET]$[lib_ext]] : $[patsubst %,$[osfilename %],$[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]]
+// #define local $[lib_prefix]$[TARGET]$[lib_ext]
 // #define dest $[install_lib_dir]
 // #define dest $[install_lib_dir]
 // $[TAB] xcopy /I/Y $[osfilename $[ODIR]/$[local]] $[osfilename $[dest]]
 // $[TAB] xcopy /I/Y $[osfilename $[ODIR]/$[local]] $[osfilename $[dest]]
 
 

+ 19 - 19
dtool/pptempl/Template.unix.pp

@@ -87,7 +87,7 @@
 // with that happen to be static libs.  We will introduce dependency
 // with that happen to be static libs.  We will introduce dependency
 // rules for these.  (We don't need dependency rules for dynamic libs,
 // rules for these.  (We don't need dependency rules for dynamic libs,
 // since these don't get burned in at build time.)
 // 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_ext]]],$[complete_local_libs]]
+#defer static_lib_dependencies $[all_libs $[if $[lib_is_static],$[RELDIR:%=%/$[ODIR]/$[lib_prefix]$[TARGET]$[dllext]$[lib_ext]]],$[complete_local_libs]]
 
 
 // $[target_ipath] is the proper ipath to put on the command line,
 // $[target_ipath] is the proper ipath to put on the command line,
 // from the context of a particular target.
 // from the context of a particular target.
@@ -347,9 +347,9 @@ igate : $[get_igatedb(metalib_target lib_target ss_lib_target)]
   #define cc_ld $[or $[get_ld],$[CC]]
   #define cc_ld $[or $[get_ld],$[CC]]
   #define cxx_ld $[or $[get_ld],$[CXX]]
   #define cxx_ld $[or $[get_ld],$[CXX]]
 
 
-  #define varname $[subst -,_,.,_,lib$[TARGET]$[lib_ext]]
+  #define varname $[subst -,_,.,_,$[lib_prefix]$[TARGET]$[lib_ext]]
 $[varname] = $[sources] $[if $[not $[bundle_ext]],$[interrogate_sources]]
 $[varname] = $[sources] $[if $[not $[bundle_ext]],$[interrogate_sources]]
-  #define target $[ODIR]/lib$[TARGET]$[lib_ext]
+  #define target $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
   #define sources $($[varname])
   #define sources $($[varname])
 
 
 $[target] : $[sources] $[static_lib_dependencies]
 $[target] : $[sources] $[static_lib_dependencies]
@@ -361,8 +361,8 @@ $[TAB] $[link_lib_c]
 
 
   #if $[bundle_ext]
   #if $[bundle_ext]
     // Also generate the bundles (on OSX only).
     // Also generate the bundles (on OSX only).
-    #define target $[ODIR]/lib$[TARGET]$[bundle_ext]
-    #define sources $[interrogate_sources] $[ODIR]/lib$[TARGET]$[lib_ext]
+    #define target $[ODIR]/$[lib_prefix]$[TARGET]$[bundle_ext]
+    #define sources $[interrogate_sources] $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
 $[target] : $[sources] $[static_lib_dependencies] 
 $[target] : $[sources] $[static_lib_dependencies] 
 $[TAB] $[BUNDLE_LIB_C++]
 $[TAB] $[BUNDLE_LIB_C++]
   #endif  // BUNDLE_EXT
   #endif  // BUNDLE_EXT
@@ -371,8 +371,8 @@ $[TAB] $[BUNDLE_LIB_C++]
 // Here are the rules to install and uninstall the library and
 // Here are the rules to install and uninstall the library and
 // everything that goes along with it.
 // everything that goes along with it.
 #define installed_files \
 #define installed_files \
-    $[install_lib_dir]/lib$[TARGET]$[lib_ext] \
-    $[if $[bundle_ext],$[install_lib_dir]/lib$[TARGET]$[bundle_ext]] \
+    $[install_lib_dir]/$[lib_prefix]$[TARGET]$[lib_ext] \
+    $[if $[bundle_ext],$[install_lib_dir]/$[lib_prefix]$[TARGET]$[bundle_ext]] \
     $[INSTALL_SCRIPTS:%=$[install_bin_dir]/%] \
     $[INSTALL_SCRIPTS:%=$[install_bin_dir]/%] \
     $[INSTALL_HEADERS:%=$[install_headers_dir]/%] \
     $[INSTALL_HEADERS:%=$[install_headers_dir]/%] \
     $[INSTALL_DATA:%=$[install_data_dir]/%] \
     $[INSTALL_DATA:%=$[install_data_dir]/%] \
@@ -386,14 +386,14 @@ uninstall-lib$[TARGET] :
 $[TAB] rm -f $[sort $[installed_files]]
 $[TAB] rm -f $[sort $[installed_files]]
 #endif
 #endif
 
 
-$[install_lib_dir]/lib$[TARGET]$[lib_ext] : $[ODIR]/lib$[TARGET]$[lib_ext]
-#define local $[ODIR]/lib$[TARGET]$[lib_ext]
+$[install_lib_dir]/$[lib_prefix]$[TARGET]$[lib_ext] : $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
+#define local $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
 #define dest $[install_lib_dir]
 #define dest $[install_lib_dir]
 $[TAB] $[INSTALL]
 $[TAB] $[INSTALL]
 
 
 #if $[bundle_ext]
 #if $[bundle_ext]
-$[install_lib_dir]/lib$[TARGET]$[bundle_ext] : $[ODIR]/lib$[TARGET]$[bundle_ext]
-#define local $[ODIR]/lib$[TARGET]$[bundle_ext]
+$[install_lib_dir]/$[lib_prefix]$[TARGET]$[bundle_ext] : $[ODIR]/$[lib_prefix]$[TARGET]$[bundle_ext]
+#define local $[ODIR]/$[lib_prefix]$[TARGET]$[bundle_ext]
 #define dest $[install_lib_dir]
 #define dest $[install_lib_dir]
 $[TAB] $[INSTALL]
 $[TAB] $[INSTALL]
 #endif  // BUNDLE_EXT
 #endif  // BUNDLE_EXT
@@ -403,7 +403,7 @@ $[TAB] $[INSTALL]
 // data, if needed.
 // data, if needed.
 
 
 // The library name is based on this library.
 // The library name is based on this library.
-#define igatelib lib$[TARGET]
+#define igatelib $[lib_prefix]$[TARGET]
 // The module name comes from the metalib that includes this library.
 // The module name comes from the metalib that includes this library.
 #define igatemod $[module $[TARGET],$[TARGET]]
 #define igatemod $[module $[TARGET],$[TARGET]]
 #if $[eq $[igatemod],]
 #if $[eq $[igatemod],]
@@ -420,9 +420,9 @@ $[TAB] $[INSTALL]
 // parallel make.
 // parallel make.
 $[igatedb] : $[igateoutput]
 $[igatedb] : $[igateoutput]
 
 
-lib$[TARGET]_igatescan = $[igatescan]
+$[lib_prefix]$[TARGET]_igatescan = $[igatescan]
 $[igateoutput] : $[sort $[patsubst %.h,%.h,%.I,%.I,%.T,%.T,%,,$[dependencies $[igatescan]] $[igatescan:%=./%]]]
 $[igateoutput] : $[sort $[patsubst %.h,%.h,%.I,%.I,%.T,%.T,%,,$[dependencies $[igatescan]] $[igatescan:%=./%]]]
-$[TAB] $[INTERROGATE] -od $[igatedb] -oc $[igateoutput] $[interrogate_options] -module "$[igatemod]" -library "$[igatelib]" $(lib$[TARGET]_igatescan)
+$[TAB] $[INTERROGATE] -od $[igatedb] -oc $[igateoutput] $[interrogate_options] -module "$[igatemod]" -library "$[igatelib]" $($[lib_prefix]$[TARGET]_igatescan)
 
 
 #endif  // igatescan
 #endif  // igatescan
 
 
@@ -432,12 +432,12 @@ $[TAB] $[INTERROGATE] -od $[igatedb] -oc $[igateoutput] $[interrogate_options] -
 // file into the library, if this is a metalib that includes
 // file into the library, if this is a metalib that includes
 // interrogated components.
 // interrogated components.
 
 
-#define igatelib lib$[TARGET]
+#define igatelib $[lib_prefix]$[TARGET]
 #define igatemod $[TARGET]
 #define igatemod $[TARGET]
 
 
-lib$[TARGET]_igatemscan = $[igatemscan]
+$[lib_prefix]$[TARGET]_igatemscan = $[igatemscan]
 #define target $[igatemout]
 #define target $[igatemout]
-#define sources $(lib$[TARGET]_igatemscan)
+#define sources $($[lib_prefix]$[TARGET]_igatemscan)
 
 
 $[target] : $[sources]
 $[target] : $[sources]
 $[TAB] $[INTERROGATE_MODULE] -oc $[target] -module "$[igatemod]" -library "$[igatelib]" $[interrogate_module_options] $[sources]
 $[TAB] $[INTERROGATE_MODULE] -oc $[target] -module "$[igatemod]" -library "$[igatelib]" $[interrogate_module_options] $[sources]
@@ -458,9 +458,9 @@ $[TAB] $[INTERROGATE_MODULE] -oc $[target] -module "$[igatemod]" -library "$[iga
 /////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////
 
 
 #forscopes noinst_lib_target
 #forscopes noinst_lib_target
-#define varname $[subst -,_,lib$[TARGET]_so]
+#define varname $[subst -,_,$[lib_prefix]$[TARGET]_so]
 $[varname] = $[patsubst %,$[%_obj],$[compile_sources]]
 $[varname] = $[patsubst %,$[%_obj],$[compile_sources]]
-#define target $[ODIR]/lib$[TARGET]$[lib_ext]
+#define target $[ODIR]/$[lib_prefix]$[TARGET]$[lib_ext]
 #define sources $($[varname])
 #define sources $($[varname])
 $[target] : $[sources] $[static_lib_dependencies]
 $[target] : $[sources] $[static_lib_dependencies]
 #if $[filter %.mm %.cxx %.yxx %.lxx,$[get_sources]]
 #if $[filter %.mm %.cxx %.yxx %.lxx,$[get_sources]]