瀏覽代碼

cleanup+changes for intel compiler

cxgeorge 25 年之前
父節點
當前提交
a23096bedf
共有 4 個文件被更改,包括 51 次插入47 次删除
  1. 15 14
      dtool/pptempl/Global.gmsvc.pp
  2. 12 12
      dtool/pptempl/Global.msvc.pp
  3. 5 5
      dtool/pptempl/Template.gmsvc.pp
  4. 19 16
      dtool/pptempl/Template.msvc.pp

+ 15 - 14
dtool/pptempl/Global.gmsvc.pp

@@ -59,29 +59,31 @@
 #define BROWSEINFO_FLAG
 #endif
 
+#define CFLAGS_SHARED
+
 // Define LINK_ALL_STATIC to generate static libs instead of DLL's.
-#if $[LINK_ALL_STATIC]
+#if $[ne $[LINK_ALL_STATIC],]
   #define dlink_all_static LINK_ALL_STATIC
   #define build_dlls
+  #define build_libs yes  
   #define dlllib lib
 #else
   #define dlink_all_static
   #define build_dlls yes
+  #define build_libs  
   #define dlllib dll
 #endif
 
-#define CFLAGS_SHARED
-
 #if $[eq $[USE_COMPILER], MSVC]
   #define COMPILER cl
   #define LINKER link
   #define LIBBER lib
   #define COMMONFLAGS /Gi-
-  #define OPTFLAGS /O2 /Ob1 /Ogity /G6
+  #define OPTFLAGS /O2 /Ob1 /G6
   #defer DEBUGFLAGS /MDd /Zi $[BROWSEINFO_FLAG] /Fd"$[osfilename $[target:%.obj=%.pdb]]"
   #define RELEASEFLAGS /MD
   #define EXTRA_LIBPATH
-
+  #define EXTRA_INCPATH  
 #elif $[eq $[USE_COMPILER], BOUNDS]
   #define COMPILER nmcl
   #define LINKER nmlink
@@ -91,7 +93,7 @@
   #defer DEBUGFLAGS /MDd /Zi $[BROWSEINFO_FLAG] /Fd"$[osfilename $[target:%.obj=%.pdb]]"
   #define RELEASEFLAGS /MD
   #define EXTRA_LIBPATH
-
+  #define EXTRA_INCPATH
 #elif $[eq $[USE_COMPILER], INTEL]
   #define COMPILER icl
   #define LINKER xilink
@@ -102,7 +104,7 @@
   #define RELEASEFLAGS /MD
   // We assume the Intel compiler installation dir is mounted as /ia32.
   #define EXTRA_LIBPATH /ia32/lib
-
+  #define EXTRA_INCPATH /ia32/include  
 #else
   #error Invalid value specified for USE_COMPILER.
 #endif
@@ -112,7 +114,7 @@
 #defer CDEFINES_OPT3 $[dlink_all_static]
 #defer CDEFINES_OPT4 NDEBUG $[dlink_all_static]
 
-#defer CFLAGS_OPT1 $[CDEFINES_OPT1:%=/D%] $[COMMONFLAGS] $[DEBUGFLAGS]
+#defer CFLAGS_OPT1 $[CDEFINES_OPT1:%=/D%] $[COMMONFLAGS] /GZ $[DEBUGFLAGS]
 #defer CFLAGS_OPT2 $[CDEFINES_OPT2:%=/D%] $[COMMONFLAGS] $[DEBUGFLAGS] $[OPTFLAGS]
 #defer CFLAGS_OPT3 $[CDEFINES_OPT3:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS]
 #defer CFLAGS_OPT4 $[CDEFINES_OPT4:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS]
@@ -157,23 +159,22 @@
 
 #defer extra_cflags /EHsc /Zm250 /DWIN32_VC /DWIN32 $[WARNING_LEVEL_FLAG]
 
-#defer COMPILE_C $[COMPILER] /nologo /c /Fo"$[osfilename $[target]]" $[decygwin %,/I"%",$[ipath]] $[flags] $[extra_cflags] $[source]
+#defer COMPILE_C $[COMPILER] /nologo /c /Fo"$[osfilename $[target]]" $[decygwin %,/I"%",$[EXTRA_INCPATH] $[ipath]] $[flags] $[extra_cflags] $[source]
 #defer COMPILE_C++ $[COMPILE_C]
 
 #defer STATIC_LIB_C $[LIBBER] /nologo $[sources] /OUT:"$[osfilename $[target]]" 
 #defer STATIC_LIB_C++ $[STATIC_LIB_C]
 
 //#defer ver_resource $[directory]\ver.res
-//#defer SHARED_LIB_C $[LINKER] /nologo /dll /VERBOSE:LIB $[LDFLAGS_OPT$[OPTIMIZE]] /OUT:"$[osfilename $[target]]" $[sources] $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] 
-#defer SHARED_LIB_C $[LINKER] /nologo /dll  $[LDFLAGS_OPT$[OPTIMIZE]] /OUT:"$[osfilename $[target]]" $[sources] $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] 
+//#defer SHARED_LIB_C link /nologo /dll /VERBOSE:LIB $[LDFLAGS_OPT$[OPTIMIZE]] /OUT:"$[osfilename $[target]]" $[sources] $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] 
+#defer SHARED_LIB_C $[LINKER] /nologo /dll  $[LDFLAGS_OPT$[OPTIMIZE]] /OUT:"$[osfilename $[target]]" $[sources] $[decygwin %,/LIBPATH:"%",$[lpath] $[EXTRA_LIBPATH]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] 
 #defer SHARED_LIB_C++ $[SHARED_LIB_C]
 
-#defer LINK_BIN_C $[LINKER] /nologo $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]"
+#defer LINK_BIN_C $[LINKER] /nologo $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath] $[EXTRA_LIBPATH]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]"
 #defer LINK_BIN_C++ $[LINK_BIN_C]
 
-#if $[LINK_ALL_STATIC]
+#if $[ne $[LINK_ALL_STATIC],]
   #defer SHARED_LIB_C $[STATIC_LIB_C]
   #defer SHARED_LIB_C++ $[STATIC_LIB_C++]
   #defer ODIR_SHARED $[ODIR_STATIC]
 #endif
-

+ 12 - 12
dtool/pptempl/Global.msvc.pp

@@ -81,21 +81,21 @@
   #define LINKER link
   #define LIBBER lib
   #define COMMONFLAGS /Gi-
-  #define OPTFLAGS /O2 /Ob1 /Ogity /G6
-  #defer DEBUGFLAGS /MDd /Zi $[BROWSEINFO_FLAG] /Fd"$[osfilename $[target:%.obj=%.pdb]]"
+  #define OPTFLAGS /O2 /Ob1 /G6
+  #defer  DEBUGFLAGS /MDd /Zi $[BROWSEINFO_FLAG] /Fd"$[osfilename $[target:%.obj=%.pdb]]"
   #define RELEASEFLAGS /MD
   #define EXTRA_LIBPATH
-
+  #define EXTRA_INCPATH  
 #elif $[eq $[USE_COMPILER], BOUNDS]
   #define COMPILER nmcl
   #define LINKER nmlink
   #define LIBBER lib
   #define COMMONFLAGS
-  #define OPTFLAGS /O2 /Ogity /G6
-  #defer DEBUGFLAGS /MDd /Zi $[BROWSEINFO_FLAG] /Fd"$[osfilename $[target:%.obj=%.pdb]]"
+  #define OPTFLAGS /O2 /G6
+  #defer  DEBUGFLAGS /MDd /Zi $[BROWSEINFO_FLAG] /Fd"$[osfilename $[target:%.obj=%.pdb]]"
   #define RELEASEFLAGS /MD
   #define EXTRA_LIBPATH
-
+  #define EXTRA_INCPATH
 #elif $[eq $[USE_COMPILER], INTEL]
   #define COMPILER icl
   #define LINKER xilink
@@ -106,7 +106,7 @@
   #define RELEASEFLAGS /MD
   // We assume the Intel compiler installation dir is mounted as /ia32.
   #define EXTRA_LIBPATH /ia32/lib
-
+  #define EXTRA_INCPATH /ia32/include
 #else
   #error Invalid value specified for USE_COMPILER.
 #endif
@@ -116,7 +116,7 @@
 #defer CDEFINES_OPT3 $[dlink_all_static]
 #defer CDEFINES_OPT4 NDEBUG $[dlink_all_static]
 
-#defer CFLAGS_OPT1 $[CDEFINES_OPT1:%=/D%] $[COMMONFLAGS] $[DEBUGFLAGS]
+#defer CFLAGS_OPT1 $[CDEFINES_OPT1:%=/D%] $[COMMONFLAGS] /GZ $[DEBUGFLAGS]
 #defer CFLAGS_OPT2 $[CDEFINES_OPT2:%=/D%] $[COMMONFLAGS] $[DEBUGFLAGS] $[OPTFLAGS]
 #defer CFLAGS_OPT3 $[CDEFINES_OPT3:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS]
 #defer CFLAGS_OPT4 $[CDEFINES_OPT4:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS]
@@ -131,8 +131,8 @@
 // NODEFAULTLIB ensures static libs linked in will connect to the correct msvcrt, so no debug/release mixing occurs
 #defer LDFLAGS_OPT1 /debug /incremental:no /NODEFAULTLIB:MSVCRT.LIB /WARN:3 $[PROFILE_FLAG]
 #defer LDFLAGS_OPT2 /debug /incremental:no /NODEFAULTLIB:MSVCRT.LIB /WARN:3 $[PROFILE_FLAG]
-#defer LDFLAGS_OPT3 /fixed:no /incremental:no /NODEFAULTLIB:MSVCRTD.LIB /WARN:3 $[PROFILE_FLAG] /OPT:REF
-#defer LDFLAGS_OPT4 /fixed:no /incremental:no /NODEFAULTLIB:MSVCRTD.LIB /WARN:3 $[PROFILE_FLAG] /OPT:REF
+#defer LDFLAGS_OPT3 /fixed:no /incremental:no /NODEFAULTLIB:MSVCRTD.LIB /WARN:3 /OPT:REF $[PROFILE_FLAG] 
+#defer LDFLAGS_OPT4 /fixed:no /incremental:no /NODEFAULTLIB:MSVCRTD.LIB /WARN:3 /OPT:REF $[PROFILE_FLAG] 
 
 // $[build_pdbs] will be nonempty (true) if we should expect to
 // generate a .pdb file when we build a DLL or EXE.
@@ -161,7 +161,7 @@
 
 #defer extra_cflags /EHsc /Zm250 /DWIN32_VC /DWIN32 $[WARNING_LEVEL_FLAG]
 
-#defer COMPILE_C $[COMPILER] /nologo /c /Fo"$[osfilename $[target]]" $[decygwin %,/I"%",$[ipath]] $[flags] $[extra_cflags] $[source]
+#defer COMPILE_C $[COMPILER] /nologo /c /Fo"$[osfilename $[target]]" $[decygwin %,/I"%",$[EXTRA_INCPATH] $[ipath]] $[flags] $[extra_cflags] $[source]
 #defer COMPILE_C++ $[COMPILE_C]
 
 #defer STATIC_LIB_C $[LIBBER] /nologo $[sources] /OUT:"$[osfilename $[target]]" 
@@ -175,7 +175,7 @@
 #defer LINK_BIN_C $[LINKER] /nologo $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath] $[EXTRA_LIBPATH]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]"
 #defer LINK_BIN_C++ $[LINK_BIN_C]
 
-#if $[LINK_ALL_STATIC]
+#if $[ne $[LINK_ALL_STATIC],]
   #defer SHARED_LIB_C $[STATIC_LIB_C]
   #defer SHARED_LIB_C++ $[STATIC_LIB_C++]
   #defer ODIR_SHARED $[ODIR_STATIC]

+ 5 - 5
dtool/pptempl/Template.gmsvc.pp

@@ -72,7 +72,7 @@
 // $[bin_targets] the list of binaries.  $[test_bin_targets] is the
 // list of binaries that are to be built only when specifically asked
 // for.
-#define lib_targets $[patsubst %,$[so_dir]/lib%$[dllext].dll,$[active_target(metalib_target noinst_lib_target)] $[real_lib_targets]]
+#define lib_targets $[patsubst %,$[so_dir]/lib%$[dllext].$[dlllib],$[active_target(metalib_target noinst_lib_target)] $[real_lib_targets]]
 #define static_lib_targets $[active_target(static_lib_target ss_lib_target):%=$[st_dir]/lib%$[dllext].lib]
 #define bin_targets \
     $[active_target(bin_target noinst_bin_target):%=$[st_dir]/%.exe] \
@@ -153,8 +153,8 @@
 
 // These are the complete set of extra flags the compiler requires,
 // from the context of a particular file, given in $[file].
-#defer cflags $[all_sources $[get_cflags] $[CFLAGS],$[file]] $[CFLAGS_OPT$[OPTIMIZE]] $[if $[>= $[OPTIMIZE],2],$[OPTFLAGS]]
-#defer c++flags $[all_sources $[get_cflags] $[C++FLAGS],$[file]] $[CFLAGS_OPT$[OPTIMIZE]] $[if $[>= $[OPTIMIZE],2],$[OPTFLAGS]]
+#defer cflags $[all_sources $[get_cflags] $[CFLAGS],$[file]] $[CFLAGS_OPT$[OPTIMIZE]] 
+#defer c++flags $[all_sources $[get_cflags] $[C++FLAGS],$[file]] $[CFLAGS_OPT$[OPTIMIZE]] 
 
 // These are the same flags, sans the compiler optimizations.
 #defer noopt_c++flags $[all_sources $[get_cflags] $[C++FLAGS],$[file]] $[CFLAGS_OPT$[OPTIMIZE]]
@@ -339,7 +339,7 @@ $[directory]/stamp :
    $[components $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[RELDIR]/$[so_dir]/%.obj,%,,$[get_sources] $[get_igateoutput]]],$[active_component_libs]]
   #define varname $[subst -,_,lib$[TARGET]_so]
 $[varname] = $[sources]
-  #define target $[so_dir]/lib$[TARGET]$[dllext].dll
+  #define target $[so_dir]/lib$[TARGET]$[dllext].$[dlllib]
   #define sources $($[varname])
   #define flags   $[get_cflags] $[C++FLAGS] $[CFLAGS_OPT$[OPTIMIZE]] $[CFLAGS_SHARED] $[building_var:%=/D%]
   #define mybasename $[basename $[notdir $[target]]]  
@@ -481,7 +481,7 @@ $[target] : $[source] $[so_dir]/stamp
 #forscopes noinst_lib_target
 #define varname $[subst -,_,lib$[TARGET]_so]
 $[varname] = $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[so_dir]/%.obj,%,,$[get_sources]]]
-#define target $[so_dir]/lib$[TARGET]$[dllext].dll
+#define target $[so_dir]/lib$[TARGET]$[dllext].$[dlllib]
 #define sources $($[varname])
 $[target] : $[sources] $[so_dir]/stamp
 #if $[filter %.cxx %.yxx %.lxx,$[get_sources]]

+ 19 - 16
dtool/pptempl/Template.msvc.pp

@@ -35,6 +35,9 @@
   #end file
 #end decygwin
 
+// should overwrite read-only files
+#define NT_COPYCMD xcopy /Y /Q /R 
+
 #define dtool_ver_dir_cyg $[DTOOL_INSTALL]/src/dtoolbase
 #define dtool_ver_dir $[decygwin %,%,$[dtool_ver_dir_cyg]]
 
@@ -155,8 +158,8 @@
 
 // These are the complete set of extra flags the compiler requires,
 // from the context of a particular file, given in $[file].
-#defer cflags $[all_sources $[get_cflags] $[CFLAGS],$[file]] $[CFLAGS_OPT$[OPTIMIZE]] $[if $[>= $[OPTIMIZE],2],$[OPTFLAGS]]
-#defer c++flags $[all_sources $[get_cflags] $[C++FLAGS],$[file]] $[CFLAGS_OPT$[OPTIMIZE]] $[if $[>= $[OPTIMIZE],2],$[OPTFLAGS]]
+#defer cflags $[all_sources $[get_cflags] $[CFLAGS],$[file]] $[CFLAGS_OPT$[OPTIMIZE]] 
+#defer c++flags $[all_sources $[get_cflags] $[C++FLAGS],$[file]] $[CFLAGS_OPT$[OPTIMIZE]] 
 
 // These are the same flags, sans the compiler optimizations.
 #defer noopt_c++flags $[all_sources $[get_cflags] $[C++FLAGS],$[file]] $[CFLAGS_OPT$[OPTIMIZE]]
@@ -370,19 +373,19 @@ uninstall-lib$[TARGET] :
 $[install_lib_dir]\lib$[TARGET]$[dllext].dll : $[so_dir]\lib$[TARGET]$[dllext].dll
 #define local lib$[TARGET]$[dllext].dll
 #define dest $[install_lib_dir]
-	copy $[so_dir]\$[local] $[dest]
+	$[NT_COPYCMD] $[so_dir]\$[local] $[dest]
 #endif
 
 $[install_lib_dir]\lib$[TARGET]$[dllext].lib : $[so_dir]\lib$[TARGET]$[dllext].lib
 #define local lib$[TARGET]$[dllext].lib
 #define dest $[install_lib_dir]
-	copy $[so_dir]\$[local] $[dest]
+	$[NT_COPYCMD] $[so_dir]\$[local] $[dest]
 
 #if $[and $[build_dlls],$[build_pdbs]]
 $[install_lib_dir]\lib$[TARGET]$[dllext].pdb : $[so_dir]\lib$[TARGET]$[dllext].pdb
 #define local lib$[TARGET]$[dllext].pdb
 #define dest $[install_lib_dir]
-	copy $[so_dir]\$[local] $[dest]
+	$[NT_COPYCMD] $[so_dir]\$[local] $[dest]
 #endif
 
 #if $[igatescan]
@@ -401,7 +404,7 @@ $[install_lib_dir]\lib$[TARGET]$[dllext].pdb : $[so_dir]\lib$[TARGET]$[dllext].p
 $[install_igatedb_dir]\$[igatedb] : $[so_dir]\$[igatedb]
 #define local $[igatedb]
 #define dest $[install_igatedb_dir]
-	copy $[so_dir]\$[local] $[dest]
+	$[NT_COPYCMD] $[so_dir]\$[local] $[dest]
 
 lib$[TARGET]_igatescan = $[osfilename $[igatescan]]
 $[so_dir]\$[igatedb] $[so_dir]\$[igateoutput] : $[sort $[patsubst %.h,%.h,%.I,%.I,%,,$[dependencies $[igatescan]] $[igatescan:%=./%]]]
@@ -509,7 +512,7 @@ uninstall-lib$[TARGET] :
 $[install_lib_dir]\lib$[TARGET]$[dllext].lib : $[st_dir]\lib$[TARGET]$[dllext].lib
 #define local lib$[TARGET]$[dllext].lib
 #define dest $[install_lib_dir]
-	copy $[st_dir]\$[local] $[dest]
+	$[NT_COPYCMD] $[st_dir]\$[local] $[dest]
 
 #end static_lib_target ss_lib_target
 
@@ -543,7 +546,7 @@ uninstall-$[TARGET] :
 #define local $[TARGET]
 #define dest $[install_bin_dir]
 $[install_bin_dir]\$[TARGET] : $[st_dir]\$[TARGET]
-	copy $[st_dir]\$[local] $[dest]
+	$[NT_COPYCMD] $[st_dir]\$[local] $[dest]
 
 #end sed_bin_target
 
@@ -598,13 +601,13 @@ uninstall-$[TARGET] :
 $[install_bin_dir]\$[TARGET].exe : $[st_dir]\$[TARGET].exe
 #define local $[TARGET].exe
 #define dest $[install_bin_dir]
-	copy $[st_dir]\$[local] $[dest]
+	$[NT_COPYCMD] $[st_dir]\$[local] $[dest]
 
 #if $[build_pdbs]
 $[install_bin_dir]\$[TARGET].pdb : $[st_dir]\$[TARGET].pdb
 #define local $[TARGET].pdb
 #define dest $[install_bin_dir]
-	copy $[st_dir]\$[local] $[dest]
+	$[NT_COPYCMD] $[st_dir]\$[local] $[dest]
 #endif
 
 #end bin_target
@@ -743,35 +746,35 @@ $[target] : $[source] $[dependencies $[file]] $[yxx_st_sources:%.yxx=%.cxx]
 $[install_bin_dir]\$[file] : $[file]
 #define local $[file]
 #define dest $[install_bin_dir]
-	copy $[local] $[dest]
+	$[NT_COPYCMD] $[local] $[dest]
 #end file
 
 #foreach file $[install_headers]
 $[install_headers_dir]\$[file] : $[file]
 #define local $[file]
 #define dest $[install_headers_dir]
-	copy $[local] $[dest]
+	$[NT_COPYCMD] $[local] $[dest]
 #end file
 
 #foreach file $[install_parser_inc]
 $[install_parser_inc_dir]\$[file] : $[file]
 #define local $[file]
 #define dest $[install_parser_inc_dir]
-	copy $[local] $[dest]
+	$[NT_COPYCMD] $[local] $[dest]
 #end file
 
 #foreach file $[install_data]
 $[install_data_dir]\$[file] : $[file]
 #define local $[file]
 #define dest $[install_data_dir]
-	copy $[local] $[dest]
+	$[NT_COPYCMD] $[local] $[dest]
 #end file
 
 #foreach file $[install_config]
 $[install_config_dir]\$[file] : $[file]
 #define local $[file]
 #define dest $[install_config_dir]
-	copy $[local] $[dest]
+	$[NT_COPYCMD] $[local] $[dest]
 #end file
 
 // Finally, all the special targets.  These are commands that just need
@@ -881,7 +884,7 @@ $[install_headers_dir] :
 $[install_headers_dir]\$[CONFIG_HEADER] : $[CONFIG_HEADER]
 #define local $[CONFIG_HEADER]
 #define dest $[install_headers_dir]
-	copy $[local] $[dest]
+	$[NT_COPYCMD] $[local] $[dest]
 #endif
 
 #end Makefile