diff options
Diffstat (limited to 'trunk/ACE/include/makeinclude/compiler.bor')
-rw-r--r-- | trunk/ACE/include/makeinclude/compiler.bor | 189 |
1 files changed, 189 insertions, 0 deletions
diff --git a/trunk/ACE/include/makeinclude/compiler.bor b/trunk/ACE/include/makeinclude/compiler.bor new file mode 100644 index 00000000000..380ef48e934 --- /dev/null +++ b/trunk/ACE/include/makeinclude/compiler.bor @@ -0,0 +1,189 @@ +# +# $Id$ +# +# Defines specific to a particular version of the compiler +# +# Inputs: +# ~~~~~~~ +# STATIC - if defined means creating a static library or executable +# DEBUG - if defined means building with debug information +# UNICODE - if defined means building unicode +# CPU_FLAG - if defined the flag for CPU optimization +# +# Outputs: +# ~~~~~~~~ +# CC - name of compiler +# LD - name of linker +# AR - name of librarian +# RC - name of resource compiler +# COMMON_CFLAGS - compiler flags for all targets +# COMMON_LFLAGS - linker flags for all targets +# COMMON_LIBS - linker library files for all targets +# DLL_CFLAGS - compiler flags specific to DLL targets +# DLL_LFLAGS - linker flags specific to DLL targets +# DLL_STARTUP_OBJ - start-up object files for DLL targets +# EXE_CFLAGS - compiler flags specific to EXE targets +# EXE_LFLAGS - linker flags specific to EXE targets +# EXE_STARTUP_OBJ - start-up object files for EXE targets +# LIB_CFLAGS - compiler flags specific to static lib targets +# LIB_LFLAGS - flags specific to static lib targets (passed to +# librarian) +# OBJ_EXT - the extension to be used for object files +# LIB_EXT - the extension to be used for libs +# + +# Get the BCBVER and VCLVER, if it is not set, we default to BCB6. +!if $(BCBVER) == 8 +VCLVER = +!else +!if $(BCBVER) == 6 +VCLVER = +!else +!if $(BCBVER) == 5 +VCLVER = 50 +!else +!if $(BCBVER) == 4 +VCLVER = 40 +!else +!error BCBVER must be explicitly set as environment variable or is set to a not supported value. +!endif +!endif +!endif +!endif + +OBJ_EXT = obj +LIB_EXT = lib + +# +# Build tools +# +CC = bcc32 +LD = ilink32 +AR = tlib +RC = brcc32 + +# +# Common flags +# +!ifndef $(BCB) +BCB = $(MAKEDIR)\.. +!endif + +!ifdef CPU_FLAG +CPU_CFLAG = $(CPU_FLAG) +!else +CPU_CFLAG = +!endif + +!ifdef DEBUG +DEBUG_CFLAGS = -v -y -Od -r- -vi- -k -D_DEBUG -DACE_NO_INLINE=1 +DEBUG_LFLAGS = -v -L$(BCB)\lib\debug +!else +!if $(BCBVER) == 6 || $(BCBVER) == 5 +DEBUG_CFLAGS = -OS -Ov -Og -DNDEBUG +!else +DEBUG_CFLAGS = -O2 -DNDEBUG +!endif +DEBUG_LFLAGS = -L$(BCB)\lib\release +!endif + +!ifdef STATIC +STATIC_CFLAGS = +STATIC_LFLAGS = +!else +STATIC_CFLAGS = -tWR +STATIC_LFLAGS = +!endif + +!ifdef CODEGUARD +CODEGUARD_CFLAGS = -vG +!endif + +!ifdef UNICODE +UNICODE_CFLAGS = -DACE_USES_WCHAR -WU +!endif + +!ifdef PCH_HEADER +PCH_CFLAGS = -H=$(OBJDIR)\$(NAME).csm -Hh=$(PCH_HEADER) +!endif + +THREAD_CFLAGS = -tWM +WARNINGS_CFLAGS = -w-rvl -w-rch -w-ccc -w-obs -w-aus -w-pia -w-inl +!ifdef VCL +DEFINES_CFLAGS = -DWIN32 +!else +DEFINES_CFLAGS = -DWIN32;_NO_VCL +!endif +QUIET_CFLAGS = -q +MISC_CFLAGS = +DECORATOR_CFLAGS = -DACE_LD_DECORATOR_STR=ACE_LIB_TEXT(\"$(LIB_DECORATOR)\") + +COMMON_CFLAGS = $(QUIET_CFLAGS) $(DEBUG_CFLAGS) $(THREAD_CFLAGS) \ + $(STATIC_CFLAGS) $(WARNINGS_CFLAGS) $(DEFINES_CFLAGS) \ + $(MISC_CFLAGS) $(CODEGUARD_CFLAGS) $(UNICODE_CFLAGS) \ + $(DECORATOR_CFLAGS) $(PCH_CFLAGS) $(CPU_CFLAG) + +COMMON_LFLAGS = $(DEBUG_LFLAGS) $(STATIC_LFLAGS) -x -w-dup -Gn -L$(BCB)\lib -L$(BCB)\lib\psdk + +!ifdef VCL +PACKAGES = rtl.bpi vcl.bpi vclx.bpi vcljpg.bpi bcbsmp.bpi qrpt.bpi dbrtl.bpi \ + vcldb.bpi bdertl.bpi ibsmp.bpi vcldbx.bpi teeui.bpi teedb.bpi tee.bpi \ + nmfast.bpi dclocx.bpi +!endif + +# +# DLL specific flags +# + +DLL_CFLAGS = -tWD +DLL_LFLAGS = -Tpd -Gi +!ifdef UNICODE +DLL_STARTUP_OBJ = c0d32w.$(OBJ_EXT) +!else +DLL_STARTUP_OBJ = c0d32.$(OBJ_EXT) +!endif + +# +# EXE specific flags +# + +EXE_CFLAGS = +EXE_LFLAGS = -Tpe +!ifdef UNICODE +!ifdef VCL +EXE_STARTUP_OBJ = c0w32w.$(OBJ_EXT) +!else +EXE_STARTUP_OBJ = c0x32w.$(OBJ_EXT) +!endif +!else +!ifdef VCL +EXE_STARTUP_OBJ = c0w32.$(OBJ_EXT) +!else +EXE_STARTUP_OBJ = c0x32.$(OBJ_EXT) +!endif +!endif + +# +# Static lib specific flags +# + +LIB_CFLAGS = +!ifdef DEBUG +LIB_LFLAGS = /C /P4096 +!else +LIB_LFLAGS = /C /P512 +!endif + +# +# Libraries to be linked +# + +!ifdef CODEGUARD +CODEGUARD_LIB = cg32.lib +!endif + +!ifdef STATIC +COMMON_LIBS = $(CODEGUARD_LIB) import32.$(LIB_EXT) cw32mt.lib ws2_32.lib +!else +COMMON_LIBS = $(CODEGUARD_LIB) import32.$(LIB_EXT) cw32mti.lib ws2_32.lib +!endif |