This file overwrites an older version that was commited by mistake.
This commit is contained in:
+84
-42
@@ -1,5 +1,4 @@
|
||||
# CONFIG.Host.Borland
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
# Sites may override these definitions in CONFIG_SITE.Borland
|
||||
|
||||
@@ -12,38 +11,61 @@ ANSI = ACC
|
||||
CPLUSPLUS = CCC
|
||||
|
||||
#
|
||||
#
|
||||
WINLINK = ilink32
|
||||
# -q supress command line banner
|
||||
WINLINK = ilink32 -q
|
||||
|
||||
RCCMD = brcc32 -i . -i .. -i $(INSTALL_INCLUDE) -i $(EPICS_BASE_INCLUDE) -fo $@ $<
|
||||
# -l specifies default language
|
||||
# -fo Renames the output .RES file
|
||||
RCCMD = brcc32 -i. -i.. -i$(INSTALL_INCLUDE) -i$(EPICS_BASE_INCLUDE) -l0x409 -fo$@ $<
|
||||
|
||||
ARCMD = tlib $@
|
||||
|
||||
#
|
||||
# Configure OS vendor C compiler
|
||||
CCLINKOPT = -WM -D_WIN32
|
||||
# Configure Borland C compiler
|
||||
# -q suppress compiler identification banner
|
||||
# -tWM generate a 32-bit multi-threaded target
|
||||
# -tWD generate a .DLL executable
|
||||
# -a8 quad word alignment
|
||||
# -D_WIN32 macro defined to be consistant with Microsoft Visual C++
|
||||
# -D_RTLDLL macro defined to use Borland C++ RTL library
|
||||
CCLINKOPT = -q -tWM -tWD -a8 -D_WIN32 -D_RTLDLL
|
||||
ACC = bcc32 $(CCLINKOPT)
|
||||
|
||||
#
|
||||
# __STDC__=0 is a real great idea of Jeff that gives us both:
|
||||
# 1) define STDC for EPICS code (pretend ANSI conformance)
|
||||
# 2) set it to 0 to use MS C "extensions" (open for _open etc.)
|
||||
# because MS uses: if __STDC__ ... disable many nice things
|
||||
# __STDC__=0 works but not as cleanly as with
|
||||
# Microsoft Visual C++.
|
||||
# The Borland header files use ifdef __STDC__
|
||||
# to disable many nice things. This is overridden
|
||||
# by defining NO_BORLAND_STDC in the Makefile.Host.
|
||||
#
|
||||
ifdef NO_BORLAND_STDC
|
||||
ACC_ANSI = $(ACC)
|
||||
ACC_STRICT = $(ACC)
|
||||
else
|
||||
ACC_ANSI = $(ACC) -D__STDC__=0
|
||||
ACC_STRICT = $(ACC) -D__STDC__=0
|
||||
ACC_TRAD = $(ACC) /nologo
|
||||
endif
|
||||
ACC_TRAD = $(ACC)
|
||||
|
||||
#
|
||||
ACC_WARN_YES = -w -g0
|
||||
# -w display warnings on
|
||||
# -g0 no limit to warning messages
|
||||
# some warning message here are always disabled because they are
|
||||
# trivial and numerous
|
||||
# -w-8012 Comparing signed and unsigned values
|
||||
# -w-8060 Possibly incorrect assignment
|
||||
# -w-8071 Conversion may lose significant digits
|
||||
ACC_WARN_YES = -w -g0 -w-8012 -w-8060 -w-8071
|
||||
# -w- display warnings off
|
||||
ACC_WARN_NO = -w-
|
||||
|
||||
#
|
||||
# -O1 optimization for size
|
||||
# -k- turn off standard stack frame
|
||||
# -H- Turn off precompiled headers
|
||||
# -R- Don't include browser info in .obj files
|
||||
ACC_OPT_YES = -k- -H- -R- -O1
|
||||
# -H- turn off precompiled headers
|
||||
# -R- don't include browser info in .obj files
|
||||
# -O1 optimization for size
|
||||
# -v- turn off source debugging
|
||||
# -vi control expansion of inline functions
|
||||
ACC_OPT_YES = -k- -H- -R- -O1 -v- -vi
|
||||
|
||||
#
|
||||
ACC_OPT_NO =
|
||||
@@ -57,26 +79,39 @@ ACC_SLIBS_NO=
|
||||
|
||||
# Configure OS vendor C++ compiler
|
||||
#
|
||||
# __STDC__=0 is a real great idea of Jeff that gives us both:
|
||||
# 1) define STDC for EPICS code (pretend ANSI conformance)
|
||||
# 2) set it to 0 to use MS C "extensions" (open for _open etc.)
|
||||
# because MS uses: if __STDC__ ... disable many nice things
|
||||
# __STDC__=0 works but not as cleanly as with
|
||||
# Microsoft Visual C++.
|
||||
# The Borland header files use ifdef __STDC__
|
||||
# to disable many nice things. This is overridden
|
||||
# by defining NO_BORLAND_STDC in the Makefile.Host.
|
||||
#
|
||||
CCC = bcc32 $(CCLINKOPT)
|
||||
ifdef NO_BORLAND_STDC
|
||||
CCC_NORMAL = $(CCC)
|
||||
CCC_STRICT = $(CCC)
|
||||
else
|
||||
CCC_NORMAL = $(CCC) -D__STDC__=0
|
||||
CCC_STRICT = $(CCC) -D__STDC__=0
|
||||
endif
|
||||
CCC_TEMPL_INST_FLAG =
|
||||
|
||||
#
|
||||
CCC_WARN_YES = -w -g0
|
||||
# -w display warnings on
|
||||
# -g0 no limit to warning messages
|
||||
# -w-8012 Comparing signed and unsigned values
|
||||
# -w-8060 Possibly incorrect assignment
|
||||
# -w-8071 Conversion may lose significant digits
|
||||
CCC_WARN_YES = -w -g0 -w-8012 -w-8060 -w-8071
|
||||
# -w- display warnings off
|
||||
CCC_WARN_NO = -w-
|
||||
|
||||
#
|
||||
# -O1 optimization for size
|
||||
# -k- turn off standard stack frame
|
||||
# -H- Turn off precompiled headers
|
||||
# -R- Don't include browser info in .obj files
|
||||
CCC_OPT_YES = -k- -H- -R- -O1
|
||||
# -O1 optimization for size
|
||||
# -v- turn off source debugging
|
||||
# -vi control expansion of inline functions
|
||||
CCC_OPT_YES = -k- -H- -R- -O1 -v- -vi
|
||||
|
||||
#
|
||||
CCC_OPT_NO =
|
||||
@@ -88,16 +123,15 @@ CCC_SLIBS_YES=
|
||||
CCC_SLIBS_NO=
|
||||
|
||||
PROD_VERSION=3.13
|
||||
# -w display warnings on
|
||||
# -C clear state before linking
|
||||
# -Gn no state files
|
||||
# -x no map
|
||||
# -Gi generate import library
|
||||
# -Tpd this flag specifies the output file type
|
||||
# -aa this flag specifies the application type
|
||||
# -c case sensitive linking
|
||||
LINK_OPT_FLAGS_YES = -w -C -Gn -x -Gi -Tpd -aa -c
|
||||
LINK_OPT_FLAGS_NO = -w- -C -Gn -x -Gi -Tpd -aa -c
|
||||
# -C clear state before linking
|
||||
# -Gi generate import library
|
||||
# -Gn no state files
|
||||
# -Tpd targets a Windows .DLL file
|
||||
# -x no map
|
||||
# -w display warnings on
|
||||
LINK_OPT_FLAGS_YES = -c -C -Gi -Gn -Tpd -x -w
|
||||
LINK_OPT_FLAGS_NO = -c -C -Gi -Gn -Tpd -x -w-
|
||||
WIN32_DLLFLAGS = $(LINK_OPT_FLAGS_$(HOST_OPT))
|
||||
OPT_LDFLAGS =
|
||||
|
||||
@@ -111,6 +145,7 @@ ARCH_CLASS=WIN32
|
||||
|
||||
# ifdef WIN32 looks better that ifeq ($(ARCH_CLASS),WIN32) ??
|
||||
WIN32=1
|
||||
BORLANDC=1
|
||||
|
||||
EXE=.exe
|
||||
OBJ=.obj
|
||||
@@ -118,7 +153,7 @@ RES=.res
|
||||
|
||||
# Problem: BorlandC does not recognize *.cc as C++ source,
|
||||
# we have to compile xx.cc using the flag -P xx.cc,
|
||||
SOURCE_CXXFLAG = -P
|
||||
SOURCE_CXXFLAG = -P -D__cplusplus
|
||||
|
||||
# Operating system flags
|
||||
OP_SYS_CFLAGS =
|
||||
@@ -133,6 +168,7 @@ OP_SYS_LDLIBS =
|
||||
#
|
||||
# specify dll .def file only if it exists
|
||||
#
|
||||
#DLL_DEF_FLAG = $(addprefix /def:,$(wildcard ../$(LIBRARY).def))
|
||||
DLL_DEF_FLAG = $(subst /,\\,$(wildcard ../$(LIBRARY).def))
|
||||
|
||||
# HOST_OPT_FLAGS is part of CFLAGS/CXXFLAGS,
|
||||
@@ -152,7 +188,7 @@ HOST_OPT_FLAGS += $(subst $@, /_WINDLL, $(findstring $@,$(LIBOBJS)))
|
||||
# x.lib: what you link to progs that use the dll (LIBNAME)
|
||||
# x.exp: what you need to build the dll (in no variable)
|
||||
#
|
||||
LINK.shrlib = $(WINLINK) $(WIN32_DLLFLAGS) -L$(LIB) -L$(LIB)\\Psdk c0d32.obj
|
||||
LINK.shrlib = $(WINLINK) $(WIN32_DLLFLAGS) -L$(LIB) -L$(LIB)\\Psdk c0d32.obj
|
||||
|
||||
# adjust names of libraries to build
|
||||
#
|
||||
@@ -171,7 +207,12 @@ SHRLIBNAME = $(LIBRARY).dll
|
||||
#
|
||||
DLL_LINK_LIBNAME_YES = $(LIBRARY).lib
|
||||
DLL_LINK_LIBNAME = $(DLL_LINK_LIBNAME_$(SHARED_LIBRARIES))
|
||||
|
||||
#ifeq ($(strip $(SHARED_LIBRARIES)),NO)
|
||||
#LIBNAME = $(LIBRARY).lib
|
||||
#else
|
||||
LIBNAME = $(LIBRARY)Obj.lib
|
||||
#endif
|
||||
|
||||
# dll install location
|
||||
INSTALL_SHRLIB = $(INSTALL_BIN)
|
||||
@@ -181,6 +222,7 @@ INSTALL_SHRLIB = $(INSTALL_BIN)
|
||||
OBJECT_LIB_EXT_YES = Obj.lib # object library extension for static build
|
||||
OBJECT_LIB_EXT_NO = .lib # object library extension for dynamic build
|
||||
OBJECT_LIB_EXT = $(OBJECT_LIB_EXT_$(STATIC_BUILD))
|
||||
|
||||
COND_PROD_DEPLIBS = $(foreach prod,$(PROD), $(foreach lib, $($(basename $(prod))_LIBS),\
|
||||
$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/$(lib)$(OBJECT_LIB_EXT)))
|
||||
PRODNAME_DEPLIBS = $(foreach lib,$(PRODNAME_LIBS),$(firstword $(wildcard $($(lib)_DIR)/$(lib).lib $($(lib)_DIR)/$(lib)Obj.lib $(EPICS_BASE_LIB)/$(lib).lib $(EPICS_BASE_LIB)/$(lib)Obj.lib ) $(filter $(LIBRARY)$(OBJECT_LIB_EXT), $(lib)$(OBJECT_LIB_EXT)) ))
|
||||
@@ -201,18 +243,18 @@ USR_LDLIBS = $(PRODNAME_DEPLIBS) $(PROD_DEPLIBS) $(USR_DEPLIBS) $(SYS_PROD_LIBS:
|
||||
|
||||
DLL_LDLIBS = $(DLL_DEPLIBS) $(SYS_PROD_LIBS:%=%.lib) $(OP_SYS_LDLIBS)
|
||||
|
||||
#multithreaded
|
||||
LIBSUF=mt
|
||||
# -w display warnings on
|
||||
#multithreaded import library
|
||||
LIBSUF=mti
|
||||
# -c case sensitive linking
|
||||
# -C clear state before linking
|
||||
# -Gn no state files
|
||||
# -Tpe targets a Windows .EXE file
|
||||
# -x no map
|
||||
# -c case sensitive linking
|
||||
LDFLAGS += -w -C -Gn -x -c -L$(LIB) -L$(LIB)\\Psdk
|
||||
# -w display warnings on
|
||||
LDFLAGS += -c -C -Gn -Tpe -x -w -L$(LIB) -L$(LIB)\\Psdk
|
||||
LINKSTARTUP = c0x32.obj
|
||||
LINKLIBS=import32.lib cw32$(LIBSUF).lib
|
||||
|
||||
LINK.c = $(WINLINK) $(LDFLAGS) $(LINKSTARTUP)
|
||||
LINK.cc = $(WINLINK) $(LDFLAGS) $(LINKSTARTUP)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user