Windows2003-3790/windows/advcore/gdiplus/sources.inc
2020-09-30 16:53:55 +02:00

92 lines
2.6 KiB
PHP

# Common 'sources' file for gdiplus
# [agodfrey] Guard against multiple inclusion. When I fixed this file to
# add to C_DEFINES instead of stomping on it, I found that multiple inclusion
# caused C_DEFINES to be duplicated.
# For release build, turn this on. It disables things like Monitor tracking.
GP_RELEASE_BUILD=1
!ifndef GDIPROOT_SOURCES
GDIPROOT_SOURCES=moo
!ifndef GDIPROOT
GDIPROOT=$(ADVCORE_PATH)\gdiplus
!endif
GDIPIMG=$(GDIPROOT)\engine\imaging
C_DEFINES=$(C_DEFINES) -DUNICODE -D_UNICODE
MSC_WARNING_LEVEL=/W3
# GP_ICECAP:
# 0: Normal GDI+ build
# 1: IceCAP-enabled build. This means you can run gppick.bat on our binary.
# You should be able to keep this set permanently.
# 2: IceCAP-enabled build, plus we link to ICECAP.DLL. Use this during
# profiling work if you want to call the IceCAP API's.
!ifndef GP_ICECAP
GP_ICECAP=0
!endif
!if $(GP_ICECAP) > 0
NTBBT=1
!if $(GP_ICECAP) > 1
INCLUDES=$(INCLUDES);$(ICECAP)\Include
!endif
!endif
# PROFILE_MEMORY_USAGE
# Enables logging of memory usage for our IceCAP user counter
# See gdiplus\tools\memcounter\memcounter.cpp
!ifndef PROFILE_MEMORY_USAGE
PROFILE_MEMORY_USAGE=0
!endif
# The "monitors" are a performance measurement tool, designed to be
# lightweight enough to leave enabled all the time during development.
# They're currently disabled in preparation for shipping V1.
# GP_ENABLE_MONITORS=1
!ifdef GP_ENABLE_MONITORS
C_DEFINES=$(C_DEFINES) -DGP_ENABLE_MONITORS
!endif
!if $(PROFILE_MEMORY_USAGE)
# There's trouble with "cross-jumping" (a compiler optimization which replaces
# "call foo; ret" with "jmp foo" if possible.)
# First, if a non-instrumented app calls GdipFree, which cross-jumps to
# GpFree, which cross-jumps to LocalFree, IceCAP screws up and thinks that
# LocalFree calls loads of other GDI+ exports.
#
# Second, my -EXCLUDE:GpMalloc trick (which folds allocation information
# into the caller's exclusive count) doesn't work when GdipAlloc cross-jumps
# to GpMalloc.
#
# So, we want to disable cross-jumping. The only way I know is to disable
# most optimizations. So, don't do performance testing on this build! Ignore
# IceCAP's performance data if you use this switch!
MSC_OPTIMIZATION=/Odib1
!endif
!ifndef HW_ACCELERATION_SUPPORT
HW_ACCELERATION_SUPPORT=0
!endif
C_DEFINES=$(C_DEFINES) -DHW_ACCELERATION_SUPPORT=$(HW_ACCELERATION_SUPPORT) -DGP_ICECAP=$(GP_ICECAP) -DPROFILE_MEMORY_USAGE=$(PROFILE_MEMORY_USAGE)
!ifndef GDIPPRIVATEBUILD
GDIPPRIVATEBUILD=0
!endif
C_DEFINES=$(C_DEFINES) -DGDIPPRIVATEBUILD=$(GDIPPRIVATEBUILD) -DUSERNAME=\"$(USERNAME)\"
!endif