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.
143 lines
4.2 KiB
143 lines
4.2 KiB
####
|
|
#crt32.def - definitions for the crt32 build
|
|
#
|
|
# Copyright (c) 1991-2000, Microsoft Corporation. All rights reserved.
|
|
#
|
|
#Purpose:
|
|
# This file is included in the 'sources' files in this tree
|
|
#
|
|
# Key to CRT32 environment variables:
|
|
#
|
|
# CRTLIBDEBUG = debug flag (define for debug libs)
|
|
# CRTLIBTYPE = [dll/mt/st], dll = dynalink, mt = multithread,
|
|
# st = singlethread
|
|
#
|
|
# [Other variables are used directly by the NT build tool.]
|
|
#
|
|
#Revision History:
|
|
# 09-29-91 JCR File created.
|
|
# 10-04-91 JCR Added mt vs st build
|
|
# 01-06-92 GJF Added DLL support. Cleaned up a bit.
|
|
# 04-16-92 DJM POSIX support.
|
|
# 08-28-92 GJF Fixed POSIX support.
|
|
# 09-02-92 SRW Removed -D_INTL from all versions until
|
|
# Win32 NLS API calls are faster. When that
|
|
# happens, add it back to all but Posix version.
|
|
# 12-03-92 KRS Added optional _MBCS defines.
|
|
# 05-22-93 SRW Compile runtines with no debug info except globals.
|
|
# 06-03-93 SRW Okay to allow FPO now, as crt32\startup\mlock.c has
|
|
# been fixed to explicitly disable FPO for itself.
|
|
# 10-18-93 SRW Disable intrinsics on Alpha
|
|
# 01-18-94 GJF Picked up _MB_MAP_DIRECT from crtwin32\crt32.def.
|
|
# Picked up _NTSYSTEM_ from crt32\crt32.def (source
|
|
# tree on \\orville\razzle).
|
|
# 09-06-94 CFW Remove MTHREAD, _INTL, _CRTHEAP_, and _MBCS_OS definitions.
|
|
# 03-19-01 BWT Add LTCG rules and fix C_DEFINES macro from NT tree
|
|
#
|
|
################################################################################
|
|
|
|
# The CRT can't be built with link-time code generation because of
|
|
# LNK1237: "code gen introduced reference to non-native symbol" for intrinsics.
|
|
FORCENATIVEOBJECT = 1
|
|
|
|
NTLEGO=1
|
|
LINKER_FLAGS=-ignore:4006
|
|
LIBRARIAN_FLAGS=-ignore:4006
|
|
MSC_WARNING_LEVEL=/W3 /WX
|
|
|
|
!if "$(LANGAPI)" == ""
|
|
# Assume at the same level as crtroot.
|
|
LANGAPI = ..\..\..\langapi
|
|
!endif
|
|
|
|
INCLUDES=..\h;..\..\h;..\$(TARGET_DIRECTORY);$(PROJECT_ROOT)\ntos\inc
|
|
CONDITIONAL_INCLUDES = dosx32.h \
|
|
except.h \
|
|
undname.inl
|
|
|
|
386_STDCALL=0
|
|
|
|
!ifndef BUILD_DEBUG_CRTS
|
|
DEBUG_CDEFINE = -DNDEBUG
|
|
D=
|
|
!else
|
|
DEBUG_CDEFINE = -D_DEBUG
|
|
D=d
|
|
!endif
|
|
|
|
TARGETTYPE=LIBRARY
|
|
TARGETPATH=obj
|
|
|
|
!IF "$(CRTLIBTYPE)" == "DLL" || "$(CRTLIBTYPE)" == "DLLLIB"
|
|
|
|
TARGETNAMESUFFIX=dll
|
|
TARGETTYPE=LIBRARY
|
|
!if "$(CRTLIBTYPE)" == "DLLLIB"
|
|
MTOPTION=-D_MT -D_DLL -DCRTDLL
|
|
!else
|
|
MTOPTION=-D_MT -DCRTDLL -D_CRTIMP=
|
|
!endif
|
|
ASM_DEFINES1=-D_WIN32
|
|
C_DEFINES1=$(DEBUG_CDEFINE)
|
|
IA64_OPTIMIZATION=/O1 # Workaround until crtw32\eh\frame.cpp can build /Oxs or /Oxt
|
|
|
|
!ELSEIF "$(CRTLIBTYPE)" == "MT"
|
|
|
|
TARGETNAMESUFFIX=mt
|
|
TARGETTYPE=LIBRARY
|
|
MTOPTION=-D_MT
|
|
ASM_DEFINES1=-D_WIN32
|
|
C_DEFINES1=$(DEBUG_CDEFINE)
|
|
IA64_OPTIMIZATION=/O1 # Workaround until crtw32\eh\frame.cpp can build /Oxs or /Oxt
|
|
|
|
!ELSEIF "$(CRTLIBTYPE)" == "ST"
|
|
|
|
TARGETNAMESUFFIX=
|
|
TARGETTYPE=LIBRARY
|
|
MTOPTION=
|
|
ASM_DEFINES1=-D_WIN32
|
|
C_DEFINES1=$(DEBUG_CDEFINE)
|
|
IA64_OPTIMIZATION=/O1 # Workaround until crtw32\eh\frame.cpp can build /Oxs or /Oxt
|
|
|
|
!ELSEIF "$(CRTLIBTYPE)" == "STP"
|
|
|
|
TARGETNAMESUFFIX=stp
|
|
TARGETTYPE=LIBRARY
|
|
MTOPTION=
|
|
ASM_DEFINES1=-D_WIN32
|
|
C_DEFINES1=$(DEBUG_CDEFINE)
|
|
|
|
!ELSEIF "$(CRTLIBTYPE)" == "NT"
|
|
|
|
TARGETNAMESUFFIX=nt
|
|
TARGETTYPE=LIBRARY
|
|
MTOPTION=
|
|
C_DEFINES1=-D_NTSUBSET_ -D_NTSYSTEM_
|
|
ASM_DEFINES1=-D_NTSUBSET_ -D_NTSYSTEM_ -D_WIN32
|
|
|
|
!ELSEIF "$(CRTLIBTYPE)" == "POSIX"
|
|
|
|
TARGETNAMESUFFIX=psx
|
|
TARGETTYPE=LIBRARY
|
|
MTOPTION=
|
|
C_DEFINES1=-D_POSIX_
|
|
ASM_DEFINES1=-D_POSIX_
|
|
INCLUDES=$(SDK_INC_PATH)\posix;$(INCLUDES)
|
|
|
|
!ELSE
|
|
!ERROR Unsupported Library CRTLIBTYPE: $(CRTLIBTYPE)
|
|
!ENDIF
|
|
|
|
C_DEFINES1 = $(C_DEFINES1) -DNT_BUILD -D_CRTBLD -DWINHEAP -D_SYSCRT
|
|
ASM_DEFINES1 = $(ASM_DEFINES1) -DNT_BUILD -D_CRTBLD -D_SYSCRT
|
|
|
|
# Standard MBCS build
|
|
|
|
MBCS_DEFINES=-D_MBCS -D_MB_MAP_DIRECT -D_KANJI
|
|
|
|
C_DEFINES=$(C_DEFINES) $(C_DEFINES1) $(MTOPTION) $(MBCS_DEFINES)
|
|
ASM_DEFINES=$(ASM_DEFINES1) $(MTOPTION) $(MBCS_DEFINES)
|
|
USE_NATIVE_EH=1
|
|
|
|
# No overflow checking for the CRT
|
|
BUFFER_OVERFLOW_CHECKS=0
|