Initial version.
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
# CONFIG.win32-x86-borland.Common
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for win32-x86 borland compiler host archs
|
||||
# Sites may override these definitions in CONFIG_SITE.win32-x86-borland.Common
|
||||
#-------------------------------------------------------
|
||||
|
||||
CP = $(PERL) $(CONFIG)/tools/cp.pl
|
||||
MV = $(PERL) $(CONFIG)/tools/mv.pl
|
||||
RM = $(PERL) $(CONFIG)/tools/rm.pl -f
|
||||
MKDIR = $(PERL) $(CONFIG)/tools/mkdir.pl
|
||||
RMDIR = $(PERL) $(CONFIG)/tools/rm.pl -rf
|
||||
ECHO = echo
|
||||
TOUCH = echo NUL >>
|
||||
|
||||
WIND_HOST_TYPE = x86-win32
|
||||
OSITHREAD_USE_DEFAULT_STACK = NO
|
||||
|
||||
HOSTEXE=.exe
|
||||
|
||||
@@ -0,0 +1,288 @@
|
||||
# CONFIG.win32-x86-borland.win32-x86-borland
|
||||
#
|
||||
# $Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for win32-x86 target arch when host arch is win32-x86 with borland compiler
|
||||
# Sites may override these definitions in CONFIG_SITE.win32-x86-borland.win32-x86-borland
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Win32 valid build types and include directory suffixes
|
||||
|
||||
VALID_BUILDS = Host Ioc
|
||||
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Use std path variables from ms
|
||||
HOME = $(HOMEDRIVE)$(HOMEPATH)
|
||||
|
||||
#
|
||||
# You currently get Visual C++ even if you ask for GNU.
|
||||
#
|
||||
# !! borlund support needed here !!
|
||||
#
|
||||
ANSI = ACC
|
||||
CPLUSPLUS = CCC
|
||||
|
||||
#
|
||||
# "\ " forces gnu make to keep this as one token
|
||||
#
|
||||
MSVISC = c:\\Program\ Files\\DevStudio\\Vc
|
||||
WINLINK = ilink32 -q
|
||||
|
||||
# -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 $@ $(foreach lib,$(LIBRARY_LD_OBJS),+$(lib))
|
||||
|
||||
#############BAFCMD = bscmake /nologo /o $@
|
||||
|
||||
#
|
||||
# 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 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.
|
||||
#
|
||||
ifdef NO_BORLAND_STDC
|
||||
ACC_CONFORM_CFLAGS_ANSI =
|
||||
ACC_CONFORM_CFLAGS_STRICT =
|
||||
else
|
||||
ACC_CONFORM_CFLAGS_ANSI = -D__STDC__=0
|
||||
ACC_CONFORM_CFLAGS_STRICT = -D__STDC__=0
|
||||
endif
|
||||
ACC_CONFORM_CFLAGS_TRAD =
|
||||
|
||||
# -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-
|
||||
|
||||
#
|
||||
# -k- turn off standard stack frame
|
||||
# -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 =
|
||||
|
||||
#
|
||||
# no special libs for static link
|
||||
#
|
||||
ACC_STATIC_LDLIBS_YES=
|
||||
ACC_STATIC_LDLIBS_NO=
|
||||
|
||||
# OS vendor c preprocessor
|
||||
##############ACC_CPP = cl /E
|
||||
|
||||
# Configure OS vendor C++ compiler
|
||||
#
|
||||
# __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.
|
||||
#
|
||||
CCC = bcc32 $(CCLINKOPT)
|
||||
ifdef NO_BORLAND_STDC
|
||||
CCC_NORMAL = $(CCC)
|
||||
CCC_STRICT = $(CCC)
|
||||
else
|
||||
CCC_CONFORM_CFLAGS_NORMAL = -D__STDC__=0
|
||||
CCC_CONFORM_CFLAGS_STRICT = -D__STDC__=0
|
||||
endif
|
||||
CCC_TEMPL_INST_FLAG =
|
||||
|
||||
# -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-
|
||||
|
||||
#
|
||||
# -k- turn off standard stack frame
|
||||
# -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
|
||||
CCC_OPT_YES = -k- -H- -R- -O1 -v- -vi
|
||||
|
||||
#
|
||||
CCC_OPT_NO =
|
||||
|
||||
#
|
||||
# no special libs for static link
|
||||
#
|
||||
CCC_STATIC_LDLIBS_YES=
|
||||
CCC_STATIC_LDLIBS_NO=
|
||||
|
||||
PROD_VERSION=3.13
|
||||
# -c case sensitive linking
|
||||
# -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 =
|
||||
|
||||
|
||||
ARCH_DEP_CFLAGS=
|
||||
|
||||
# to identify the general architecture class:
|
||||
# should be BSD, SYSV, WIN32, ...
|
||||
# is: WIN32, sun4, hpux, linux, ...
|
||||
#
|
||||
OS_CLASS=WIN32
|
||||
|
||||
# ifdef WIN32 looks better that ifeq ($(OS_CLASS),WIN32) ??
|
||||
WIN32=1
|
||||
BORLANDC=1
|
||||
|
||||
EXE=.exe
|
||||
OBJ=.obj
|
||||
RES=.res
|
||||
BAF=.bsc
|
||||
BOF=.sbr
|
||||
|
||||
# Problem: BorlandC does not recognize *.cc as C++ source,
|
||||
# we have to compile xx.cc using the flag -P xx.cc,
|
||||
SOURCE_CXXFLAG = -P -D__cplusplus
|
||||
|
||||
# Operating system flags
|
||||
OP_SYS_CFLAGS = -DBORLAND
|
||||
|
||||
#
|
||||
# Borland specific include files
|
||||
#
|
||||
OP_SYS_INCLUDES = -I$(INCLUDE)
|
||||
#
|
||||
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,
|
||||
# which in turn are used in COMPILE.c[c]
|
||||
#
|
||||
# If we compile a .c, .cc into an $(OBJ),
|
||||
# we test if this object is part of the
|
||||
# library objects LIBOBJS.
|
||||
# If so, we define _WINDLL so that
|
||||
# e.g. include/shareLib.h works correctly.
|
||||
#
|
||||
HOST_OPT_FLAGS += $(subst $@, /_WINDLL, $(findstring $@,$(LIBOBJS)))
|
||||
|
||||
#
|
||||
# A WIN32 dll has three parts:
|
||||
# x.dll: the real dll (SHRLIBNAME)
|
||||
# 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+= $(LIBRARY_LD_OBJS) , $@ ,,$(LINKLIBS) $(subst /,\\,$(SHRLIB_LDLIBS) $(LIBRARY_LD_RESS))
|
||||
|
||||
|
||||
# adjust names of libraries to build
|
||||
#
|
||||
# But: if there are no objects LIBOBJS to include
|
||||
# in this library (may be for e.g. base/src/libCompat
|
||||
# on some archs), don't define (and build) any library!
|
||||
SHRLIB_SUFFIX=.dll
|
||||
SHRLIBNAME = $(BUILD_LIBRARY:%=%$(SHRLIB_SUFFIX))
|
||||
|
||||
|
||||
#
|
||||
# Under WIN32 we have the unique situation where the DLL link creates the
|
||||
# DLL link library xxx.lib and we need to be very careful to avoid replacing
|
||||
# the xxx.lib created by the dll link with an xxx.lib created by $(AR).
|
||||
# Therefore, the object library is named xxxObj.lib
|
||||
#
|
||||
# SHARED_LIBRARIES is YES if we are building a DLL and NO if we aren't
|
||||
#
|
||||
DLL_LINK_LIBNAME_YES = $(BUILD_LIBRARY:%=%.lib)
|
||||
DLL_LINK_LIBNAME = $(DLL_LINK_LIBNAME_$(SHARED_LIBRARIES))
|
||||
LIB_PREFIX=
|
||||
LIB_SUFFIX=Obj.lib
|
||||
LIBNAME = $(BUILD_LIBRARY:%=%$(LIB_SUFFIX))
|
||||
|
||||
# dll install location
|
||||
INSTALL_SHRLIB = $(INSTALL_BIN)
|
||||
|
||||
#--------------------------------------------------
|
||||
# Object lib name suffix
|
||||
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))
|
||||
|
||||
#--------------------------------------------------
|
||||
# Products dependancy definitions
|
||||
PROD_DEPLIBS = $(foreach lib,$(PROD_LIBS) $(USR_LIBS),$(firstword \
|
||||
$($(lib)_DIR)/$(lib)$(OBJECT_LIB_EXT)))
|
||||
DEPLIB_LDLIBS = $($*_DEPLIBS) $(PROD_DEPLIBS) \
|
||||
$($*_SYS_LIBS:%=%.lib) $(SYS_PROD_LIBS:%=%.lib)
|
||||
|
||||
#--------------------------------------------------
|
||||
#Libraries dependancy definitions
|
||||
|
||||
# EPICS libs that we need to link the DLL with
|
||||
# (it isnt necessary to rebuild the dll if these change)
|
||||
DLL_DEPLIBS = $(foreach lib,$($*_DLL_LIBS) $(DLL_LIBS),$($(lib)_DIR)/$(lib).lib)
|
||||
|
||||
SHRLIB_LDLIBS = $(DLL_DEPLIBS) $($*_SYS_DLL_LIBS:%=%.lib) \
|
||||
$(SYS_DLL_LIBS:%=%.lib) $(OP_SYS_LDLIBS)
|
||||
|
||||
#--------------------------------------------------
|
||||
|
||||
#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
|
||||
# -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.cpp = $(WINLINK) $(LDFLAGS) $(LINKSTARTUP) $(PROD_LD_OBJS) $(PROD_LD_RESS)
|
||||
LINK.cpp += , $@ ,,$(LINKLIBS) $(subst /,\\,$(LDLIBS))
|
||||
|
||||
#--------------------------------------------------
|
||||
|
||||
# override of CONFIG_SITE default
|
||||
SHARED_LIBRARIES = YES
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# CONFIG_SITE.win32-x86-borland.Common
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Site specific definitions for win32-x86 borland compiler host
|
||||
# Only the local epics system manager should modify this file
|
||||
|
||||
# jba overrides
|
||||
#CROSS_COMPILER_TARGET_ARCHS=vxWorks-486
|
||||
CROSS_COMPILER_TARGET_ARCHS=
|
||||
VX_DIR = D:/tornado
|
||||
#INSTALL_LOCATION = G:\\testBaseNew
|
||||
|
||||
Reference in New Issue
Block a user