Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

91 lines
2.6 KiB

  1. # Common 'sources' file for gdiplus
  2. # [agodfrey] Guard against multiple inclusion. When I fixed this file to
  3. # add to C_DEFINES instead of stomping on it, I found that multiple inclusion
  4. # caused C_DEFINES to be duplicated.
  5. # For release build, turn this on. It disables things like Monitor tracking.
  6. GP_RELEASE_BUILD=1
  7. !ifndef GDIPROOT_SOURCES
  8. GDIPROOT_SOURCES=moo
  9. !ifndef GDIPROOT
  10. GDIPROOT=$(ADVCORE_PATH)\gdiplus
  11. !endif
  12. GDIPIMG=$(GDIPROOT)\engine\imaging
  13. C_DEFINES=$(C_DEFINES) -DUNICODE -D_UNICODE
  14. MSC_WARNING_LEVEL=/W3
  15. # GP_ICECAP:
  16. # 0: Normal GDI+ build
  17. # 1: IceCAP-enabled build. This means you can run gppick.bat on our binary.
  18. # You should be able to keep this set permanently.
  19. # 2: IceCAP-enabled build, plus we link to ICECAP.DLL. Use this during
  20. # profiling work if you want to call the IceCAP API's.
  21. !ifndef GP_ICECAP
  22. GP_ICECAP=0
  23. !endif
  24. !if $(GP_ICECAP) > 0
  25. NTBBT=1
  26. !if $(GP_ICECAP) > 1
  27. INCLUDES=$(INCLUDES);$(ICECAP)\Include
  28. !endif
  29. !endif
  30. # PROFILE_MEMORY_USAGE
  31. # Enables logging of memory usage for our IceCAP user counter
  32. # See gdiplus\tools\memcounter\memcounter.cpp
  33. !ifndef PROFILE_MEMORY_USAGE
  34. PROFILE_MEMORY_USAGE=0
  35. !endif
  36. # The "monitors" are a performance measurement tool, designed to be
  37. # lightweight enough to leave enabled all the time during development.
  38. # They're currently disabled in preparation for shipping V1.
  39. # GP_ENABLE_MONITORS=1
  40. !ifdef GP_ENABLE_MONITORS
  41. C_DEFINES=$(C_DEFINES) -DGP_ENABLE_MONITORS
  42. !endif
  43. !if $(PROFILE_MEMORY_USAGE)
  44. # There's trouble with "cross-jumping" (a compiler optimization which replaces
  45. # "call foo; ret" with "jmp foo" if possible.)
  46. # First, if a non-instrumented app calls GdipFree, which cross-jumps to
  47. # GpFree, which cross-jumps to LocalFree, IceCAP screws up and thinks that
  48. # LocalFree calls loads of other GDI+ exports.
  49. #
  50. # Second, my -EXCLUDE:GpMalloc trick (which folds allocation information
  51. # into the caller's exclusive count) doesn't work when GdipAlloc cross-jumps
  52. # to GpMalloc.
  53. #
  54. # So, we want to disable cross-jumping. The only way I know is to disable
  55. # most optimizations. So, don't do performance testing on this build! Ignore
  56. # IceCAP's performance data if you use this switch!
  57. MSC_OPTIMIZATION=/Odib1
  58. !endif
  59. !ifndef HW_ACCELERATION_SUPPORT
  60. HW_ACCELERATION_SUPPORT=0
  61. !endif
  62. C_DEFINES=$(C_DEFINES) -DHW_ACCELERATION_SUPPORT=$(HW_ACCELERATION_SUPPORT) -DGP_ICECAP=$(GP_ICECAP) -DPROFILE_MEMORY_USAGE=$(PROFILE_MEMORY_USAGE)
  63. !ifndef GDIPPRIVATEBUILD
  64. GDIPPRIVATEBUILD=0
  65. !endif
  66. C_DEFINES=$(C_DEFINES) -DGDIPPRIVATEBUILD=$(GDIPPRIVATEBUILD) -DUSERNAME=\"$(USERNAME)\"
  67. !endif