patch 8.1.1306: Borland support is outdated and doesn't work

Problem:    Borland support is outdated and doesn't work.
Solution:   Remove Borland support, there are other (free) compilers
            available. (Thomas Dziedzic, Ken Takata, closes #4364)
This commit is contained in:
Bram Moolenaar 2019-05-09 15:12:55 +02:00
parent 691ddeefb5
commit eae1b91fea
42 changed files with 79 additions and 1475 deletions

8
.gitignore vendored
View File

@ -43,14 +43,6 @@ gvim.lib
runtime/doc/uganda.nsis.txt
nsis/icons/*
# Borland C++
bcc.cfg
*.ilc
*.ild
*.ilf
*.ils
*.tds
# NetBeans
nbproject/*

View File

@ -45,14 +45,6 @@ gvim.lib
runtime/doc/uganda.nsis.txt
nsis/icons/*
# Borland C++
bcc.cfg
*.ilc
*.ild
*.ilf
*.ils
*.tds
# NetBeans
nbproject/*

View File

@ -421,7 +421,6 @@ SRC_DOS = \
src/GvimExt/uninst.bat \
README_srcdos.txt \
src/INSTALLpc.txt \
src/Make_bc5.mak \
src/Make_cyg.mak \
src/Make_cyg_ming.mak \
src/Make_ming.mak \
@ -474,7 +473,6 @@ SRC_DOS = \
src/xpm_w32.c \
src/xpm_w32.h \
src/tee/Make_mvc.mak \
src/xxd/Make_bc5.mak \
src/xxd/Make_ming.mak \
src/xxd/Make_mvc.mak \
nsis/gvim.nsi \

View File

@ -80,9 +80,8 @@ then the PDB was built with the EXE.
If you have Visual Studio, use that instead of the VC Toolkit and WinDbg.
For other compilers, you should always use the corresponding debugger: TD for
a Vim executable compiled with the Borland compiler; gdb (see above
|debug-gcc|) for the Cygwin and MinGW compilers.
For other compilers, you should always use the corresponding debugger: gdb
(see above |debug-gcc|) for the Cygwin and MinGW compilers.
*debug-vs2005*

View File

@ -278,7 +278,6 @@ wait don't use as argument to a function, conflicts with types.h
index shadows global declaration
time shadows global declaration
new C++ reserved keyword
try Borland C++ doesn't like it to be used as a variable.
clear Mac curses.h
echo Mac curses.h

View File

@ -281,9 +281,8 @@ unpacked them.
In case you are not satisfied with the features included in the supplied
binaries, you could try compiling Vim yourself. Get the source archive from
the same location as where the binaries are. You need a compiler for which a
makefile exists. Microsoft Visual C works, but is expensive. The Free
Borland command-line compiler 5.5 can be used, as well as the free MingW and
Cygwin compilers. Check the file src/INSTALLpc.txt for hints.
makefile exists. Microsoft Visual C works, but is expensive. The free MinGW
and Cygwin compilers can be used. Check the file src/INSTALLpc.txt for hints.
==============================================================================
*90.3* Upgrading

View File

@ -1,43 +0,0 @@
### USEDLL no for statically linked version of run-time, yes for DLL runtime
### BOR path to root of Borland C install (c:\bc5)
### (requires cc3250.dll be available in %PATH%)
!if ("$(USEDLL)"=="")
USEDLL = no
!endif
### BOR: root of the BC installation
!if ("$(BOR)"=="")
BOR = c:\bc5
!endif
CC = $(BOR)\bin\Bcc32
BRC = $(BOR)\bin\brc32
LINK = $(BOR)\BIN\ILink32
INCLUDE = $(BOR)\include;.
LIB = $(BOR)\lib
!if ("$(USEDLL)"=="yes")
RT_DEF = -D_RTLDLL
RT_LIB = cw32i.lib
!else
RT_DEF =
RT_LIB = cw32.lib
!endif
all : gvimext.dll
gvimext.obj : gvimext.cpp gvimext.h
$(CC) -tWD -I$(INCLUDE) -c -DFEAT_GETTEXT $(RT_DEF) -w- gvimext.cpp
gvimext.res : gvimext.rc
$(BRC) -r gvimext.rc
gvimext.dll : gvimext.obj gvimext.res
$(LINK) -L$(LIB) -aa gvimext.obj, gvimext.dll, , c0d32.obj $(RT_LIB) import32.lib, gvimext.def, gvimext.res
clean :
-@del gvimext.obj
-@del gvimext.res
-@del gvimext.dll

View File

@ -16,14 +16,7 @@
#include "gvimext.h"
#ifdef __BORLANDC__
# include <dir.h>
# ifndef _strnicmp
# define _strnicmp(a, b, c) strnicmp((a), (b), (c))
# endif
#else
static char *searchpath(char *name);
#endif
// Always get an error while putting the following stuff to the
// gvimext.h file as class protected variables, give up and
@ -917,7 +910,6 @@ BOOL CShellExt::LoadMenuIcon()
return TRUE;
}
#ifndef __BORLANDC__
static char *
searchpath(char *name)
{
@ -937,7 +929,6 @@ searchpath(char *name)
}
return (char *)"";
}
#endif
STDMETHODIMP CShellExt::InvokeGvim(HWND hParent,
LPCSTR /* pszWorkingDir */,

View File

@ -7,9 +7,7 @@
//
// Generated from the TEXTINCLUDE 2 resource.
//
#ifndef __BORLANDC__
# include "winresrc.h"
#endif
#include "winresrc.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

View File

@ -25,21 +25,20 @@ Contents:
2. Using MSYS2 with MinGW
3. Using MinGW
4. Cygwin
5. Borland
6. Cross compiling for Win32 from a Linux machine
7. Building with Python support
8. Building with Python3 support
9. Building with Racket or MzScheme support
10. Building with Lua support
11. Building with Perl support
12. Building with Ruby support
13. Building with Tcl support
14. Building with Terminal support
15. Building with DirectX (DirectWrite) support
16. Windows 3.1
17. MS-DOS
5. Cross compiling for Win32 from a Linux machine
6. Building with Python support
7. Building with Python3 support
8. Building with Racket or MzScheme support
9. Building with Lua support
10. Building with Perl support
11. Building with Ruby support
12. Building with Tcl support
13. Building with Terminal support
14. Building with DirectX (DirectWrite) support
15. Windows 3.1
16. MS-DOS
18. Installing after building from sources
17. Installing after building from sources
The currently recommended way (that means it has been verified to work) is
@ -451,14 +450,7 @@ running on Unix), while with Make_cyg.mak you get a Windows application (like
with the other makefiles).
5. Borland
===========
Use Make_bc5.mak with Borland C++ 5.x. See
http://users.skynet.be/antoine.mechelynck/vim/compile.htm
6. Cross compiling for Win32 from a Linux machine
5. Cross compiling for Win32 from a Linux machine
=================================================
[Update of 1) needs to be verified]
@ -478,7 +470,7 @@ your Linux (or other unix) box. To do this, you need to follow a few steps:
Now you have created the Windows binary from your Linux box! Have fun...
7. Building with Python support
6. Building with Python support
===============================
For building with MSVC 2008 the "Windows Installer" from www.python.org
@ -539,7 +531,7 @@ Now just do:
You will end up with a Python-enabled, Win32 version. Enjoy!
8. Building with Python3 support
7. Building with Python3 support
================================
For building with MSVC 2008 the "Windows Installer" from www.python.org
@ -576,7 +568,7 @@ When using msys2 and link with Python3 bundled with msys2 (as one line):
libstdc++-6.dll.)
9. Building with Racket or MzScheme support
8. Building with Racket or MzScheme support
========================================
1) Building with Racket support (newest)
@ -666,7 +658,7 @@ After a successful build, these dlls can be freely removed, leaving them in
10. Building with Lua support
9. Building with Lua support
============================
Vim with Lua support can be built with either MSVC or MinGW (or maybe Cygwin).
@ -721,7 +713,7 @@ Or when using Cygwin (as one line) (untested):
LUA=/cygdrive/c/projects/lua53 DYNAMIC_LUA=yes LUA_VER=53
11. Building with Perl support
10. Building with Perl support
==============================
Vim with Perl support can be built with either MSVC or MinGW (or Cygwin).
@ -747,7 +739,7 @@ Or when using MinGW (as one line):
PERL=C:/Perl DYNAMIC_PERL=yes PERL_VER=522
12. Building with Ruby support
11. Building with Ruby support
==============================
Vim with Ruby support can be built with either MSVC or MinGW (or Cygwin).
@ -855,7 +847,7 @@ Ruby 2.1 or later. (Default is 0x600.)
13. Building with Tcl support
12. Building with Tcl support
=============================
Vim with Tcl support can be built with either MSVC or MinGW (or Cygwin).
@ -894,7 +886,7 @@ Or when using MinGW (as one line):
TCL=C:/Tcl86 DYNAMIC_TCL=yes TCL_VER=86 TCL_VER_LONG=8.6
14. Building with Terminal support
13. Building with Terminal support
==================================
Vim with Terminal support can be built with either MSVC, MinGW or Cygwin.
@ -910,7 +902,7 @@ Or when using MinGW:
mingw32-make -f Make_ming.mak TERMINAL=yes
15. Building with DirectX (DirectWrite) support
14. Building with DirectX (DirectWrite) support
===============================================
Vim with DirectX (DirectWrite) support can be built with either MSVC or MinGW.
@ -944,20 +936,20 @@ Just set DIRECTX to yes:
mingw32-make -f Make_ming.mak DIRECTX=yes
16. Windows 3.1x
15. Windows 3.1x
================
The Windows 3.1x support was removed in patch 7.4.1364.
17. MS-DOS
16. MS-DOS
==========
The MS-DOS support was removed in patch 7.4.1399. Only very old Vim versions
work on MS-DOS because of the limited amount of memory available.
18. Installing after building from sources
17. Installing after building from sources
==========================================
[provided by Michael Soyka, updated by Ken Takata]

View File

@ -1,983 +0,0 @@
#
# Makefile for Vim.
# Compiler: Borland C++ 5.0 and later 32-bit compiler
# Targets: Win32 (Windows NT and Windows 95) (with/without GUI)
#
# NOTE: THIS IS OLD AND PROBABLY NO LONGER WORKS.
#
# Contributed by Ben Singer.
# Updated 4/1997 by Ron Aaron
# 2016: removed support for 16 bit DOS
# 6/1997 - added support for 16 bit DOS
# Note: this has been tested, and works, for BC5. Your mileage may vary.
# Has been reported NOT to work with BC 4.52. Maybe it can be fixed?
# 10/1997 - ron - fixed bugs w/ BC 5.02
# 8/1998 - ron - updated with new targets, fixed some stuff
# 3/2000 - Bram: Made it work with BC 5.5 free command line compiler,
# cleaned up variables.
# 6/2001 - Dan - Added support for compiling Python and TCL
# 7/2001 - Dan - Added support for compiling Ruby
#
# It builds on Windows 95 and NT-Intel, producing the same binary in either
# case. To build using Microsoft Visual C++, use Make_mvc.mak.
#
# This should work with the free Borland command line compiler, version 5.5.
# You need at least sp1 (service pack 1). With sp2 it compiles faster.
# Use a command like this:
# <path>\bin\make /f Make_bc5.mak BOR=<path>
#
# let the make utility do the hard work:
.AUTODEPEND
.CACHEAUTODEPEND
# VARIABLES:
# name value (default)
#
# BOR path to root of Borland C install (c:\bc5)
# LINK name of the linker ($(BOR)\bin\ilink32)
# GUI no or yes: set to yes if you want the GUI version (yes)
# LUA define to path to Lua dir to get Lua support (not defined)
# LUA_VER define to version of Lua being used (51)
# DYNAMIC_LUA no or yes: set to yes to load the Lua DLL dynamically (no)
# PERL define to path to Perl dir to get Perl support (not defined)
# PERL_VER define to version of Perl being used (56)
# DYNAMIC_PERL no or yes: set to yes to load the Perl DLL dynamically (no)
# PYTHON define to path to Python dir to get PYTHON support (not defined)
# PYTHON_VER define to version of Python being used (22)
# DYNAMIC_PYTHON no or yes: use yes to load the Python DLL dynamically (no)
# PYTHON3 define to path to Python3 dir to get PYTHON3 support (not defined)
# PYTHON3_VER define to version of Python3 being used (31)
# DYNAMIC_PYTHON3 no or yes: use yes to load the Python3 DLL dynamically (no)
# TCL define to path to TCL dir to get TCL support (not defined)
# TCL_VER define to version of TCL being used (83)
# DYNAMIC_TCL no or yes: use yes to load the TCL DLL dynamically (no)
# RUBY define to path to Ruby dir to get Ruby support (not defined)
# NOTE: You may have to remove the defines for uid_t and gid_t
# from the Ruby config.h header file.
# RUBY_VER define to version of Ruby being used (16)
# NOTE: compilation on WinNT/2K/XP requires
# at least version 1.6.5 of Ruby. Earlier versions
# of Ruby will cause a compile error on these systems.
# RUBY_VER_LONG same, but in format with dot. (1.6)
# DYNAMIC_RUBY no or yes: use yes to load the Ruby DLL dynamically (no)
# IME no or yes: set to yes for multi-byte IME support (yes)
# DYNAMIC_IME no or yes: set to yes to load imm32.dll dynamically (yes)
# GETTEXT no or yes: set to yes for multi-language support (yes)
# ICONV no or yes: set to yes for dynamic iconv support (yes)
# OLE no or yes: set to yes to make OLE gvim (no)
# DEBUG no or yes: set to yes if you wish a DEBUGging build (no)
# CODEGUARD no or yes: set to yes if you want to use CODEGUARD (no)
# CPUNR 1 through 6: select -CPU argument to compile with (3)
# 3 for 386, 4 for 486, 5 for pentium, 6 for pentium pro.
# USEDLL no or yes: set to yes to use the Runtime library DLL (no)
# For USEDLL=yes the cc3250.dll is required to run Vim.
# ALIGN 1, 2 or 4: Alignment to use (4 for Win32)
# FASTCALL no or yes: set to yes to use register-based function protocol (yes)
# OPTIMIZE SPACE, SPEED, or MAXSPEED: type of optimization (MAXSPEED)
# POSTSCRIPT no or yes: set to yes for PostScript printing
# FEATURES TINY, SMALL, NORMAL, BIG or HUGE (BIG for WIN32)
# WINVER 0x0400 or 0x0500: minimum Win32 version to support (0x0400)
# CSCOPE no or yes: include support for Cscope interface (yes)
# NETBEANS no or yes: include support for Netbeans interface; also
# requires CHANNEL (yes if GUI
# is yes)
# NBDEBUG no or yes: include support for debugging Netbeans interface (no)
# CHANNEL no or yes: include support for inter process communication (yes
# if GUI is yes)
# XPM define to path to XPM dir to get support for loading XPM images.
### BOR: root of the BC installation
!if ("$(BOR)"=="")
BOR = c:\bc5
!endif
### LINK: Name of the linker: ilink32 (this is below)
### GUI: yes for GUI version, no for console version
!if ("$(GUI)"=="")
GUI = yes
!endif
### IME: yes for multibyte support, no to disable it.
!if ("$(IME)"=="")
IME = yes
!endif
!if ("$(DYNAMIC_IME)"=="")
DYNAMIC_IME = yes
!endif
### GETTEXT: yes for multilanguage support, no to disable it.
!if ("$(GETTEXT)"=="")
GETTEXT = yes
!endif
### ICONV: yes to enable dynamic-iconv support, no to disable it
!if ("$(ICONV)"=="")
ICONV = yes
!endif
### CSCOPE: yes to enable Cscope support, no to disable it
!if ("$(CSCOPE)"=="")
CSCOPE = yes
!endif
### NETBEANS: yes to enable NetBeans interface support, no to disable it
!if ("$(NETBEANS)"=="") && ("$(GUI)"=="yes")
NETBEANS = yes
!endif
### CHANNEL: yes to enable inter process communication, no to disable it
!if ("$(CHANNEL)"=="") && ("$(GUI)"=="yes")
CHANNEL = yes
!endif
### LUA: uncomment this line if you want lua support in vim
# LUA=c:\lua
### PERL: uncomment this line if you want perl support in vim
# PERL=c:\perl
### PYTHON: uncomment this line if you want python support in vim
# PYTHON=c:\python22
### PYTHON3: uncomment this line if you want python3 support in vim
# PYTHON3=c:\python31
### RUBY: uncomment this line if you want ruby support in vim
# RUBY=c:\ruby
### TCL: uncomment this line if you want tcl support in vim
# TCL=c:\tcl
### OLE: no for normal gvim, yes for OLE-capable gvim (only works with GUI)
#OLE = yes
### DEBUG: Uncomment to make an executable for debugging
# DEBUG = yes
!if ("$(DEBUG)"=="yes")
DEBUG_FLAG = -v
!endif
### CODEGUARD: Uncomment to use the CODEGUARD stuff (BC 5.0 or later):
# CODEGUARD = yes
!if ("$(CODEGUARD)"=="yes")
CODEGUARD_FLAG = -vG
!endif
### CPUNR: set your target processor (3 to 6)
!if ("$(CPUNR)" == "i386") || ("$(CPUNR)" == "3")
CPUNR = 3
!elif ("$(CPUNR)" == "i486") || ("$(CPUNR)" == "4")
CPUNR = 4
!elif ("$(CPUNR)" == "i586") || ("$(CPUNR)" == "5")
CPUNR = 5
!elif ("$(CPUNR)" == "i686") || ("$(CPUNR)" == "6")
CPUNR = 6
!else
CPUNR = 3
!endif
### Comment out to use precompiled headers (faster, but uses lots of disk!)
HEADERS = -H -H=vim.csm -Hc
### USEDLL: no for statically linked version of run-time, yes for DLL runtime
!if ("$(USEDLL)"=="")
USEDLL = no
!endif
### ALIGN: alignment you desire: (1,2 or 4: s/b 4 for Win32)
!if ("$(ALIGN)"=="")
ALIGN = 4
!endif
### FASTCALL: yes to use FASTCALL calling convention (RECOMMENDED!), no otherwise
# Incompatible when calling external functions (like MSVC-compiled DLLs), so
# don't use FASTCALL when linking with external libs.
!if ("$(FASTCALL)"=="") && \
("$(LUA)"=="") && \
("$(PYTHON)"=="") && \
("$(PYTHON3)"=="") && \
("$(PERL)"=="") && \
("$(TCL)"=="") && \
("$(RUBY)"=="") && \
("$(ICONV)"!="yes") && \
("$(IME)"!="yes") && \
("$(XPM)"=="")
FASTCALL = yes
!endif
### OPTIMIZE: SPEED to optimize for speed, SPACE otherwise (SPEED RECOMMENDED)
!if ("$(OPTIMIZE)"=="")
OPTIMIZE = MAXSPEED
!endif
### FEATURES: TINY, SMALL, NORMAL, BIG or HUGE (BIG for WIN32)
!if ("$(FEATURES)"=="")
FEATURES = BIG
!endif
### POSTSCRIPT: uncomment this line if you want PostScript printing
#POSTSCRIPT = yes
###
# If you have a fixed directory for $VIM or $VIMRUNTIME, other than the normal
# default, use these lines.
#VIMRCLOC = somewhere
#VIMRUNTIMEDIR = somewhere
### Set the default $(WINVER) to make it work with Bcc 5.5.
!ifndef WINVER
WINVER = 0x0400
!endif
#
# Sanity checks for the above options:
#
OSTYPE = WIN32
#
# Optimizations: change as desired (RECOMMENDATION: Don't change!):
#
!if ("$(DEBUG)"=="yes")
OPT = -Od -N
!else
!if ("$(OPTIMIZE)"=="SPACE")
OPT = -O1 -f- -d
!elif ("$(OPTIMIZE)"=="MAXSPEED")
OPT = -O2 -f- -d -Ocavi -O
!else
OPT = -O2 -f- -d -Oc -O
!endif
!if ("$(FASTCALL)"=="yes")
OPT = $(OPT) -pr
!endif
!if ("$(CODEGUARD)"!="yes")
OPT = $(OPT) -vi-
!endif
!endif
# shouldn't have to change:
LIB = $(BOR)\lib
INCLUDE = $(BOR)\include;.;proto
DEFINES = -DFEAT_$(FEATURES) -DWIN32 -DHAVE_PATHDEF \
-DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER)
!ifdef LUA
INTERP_DEFINES = $(INTERP_DEFINES) -DFEAT_LUA
INCLUDE = $(LUA)\include;$(INCLUDE)
! ifndef LUA_VER
LUA_VER = 51
! endif
! if ("$(DYNAMIC_LUA)" == "yes")
INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\"
LUA_LIB_FLAG = /nodefaultlib:
! endif
!endif
!ifdef PERL
INTERP_DEFINES = $(INTERP_DEFINES) -DFEAT_PERL
INCLUDE = $(PERL)\lib\core;$(INCLUDE)
! ifndef PERL_VER
PERL_VER = 56
! endif
! if ("$(DYNAMIC_PERL)" == "yes")
! if ($(PERL_VER) > 55)
INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
PERL_LIB_FLAG = /nodefaultlib:
! else
! message "Cannot dynamically load Perl versions less than 5.6. Loading statically..."
! endif
! endif
!endif
!ifdef PYTHON
!ifdef PYTHON3
DYNAMIC_PYTHON=yes
DYNAMIC_PYTHON3=yes
!endif
!endif
!ifdef PYTHON
INTERP_DEFINES = $(INTERP_DEFINES) -DFEAT_PYTHON
!ifndef PYTHON_VER
PYTHON_VER = 22
!endif
!if "$(DYNAMIC_PYTHON)" == "yes"
INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\"
PYTHON_LIB_FLAG = /nodefaultlib:
!endif
!endif
!ifdef PYTHON3
INTERP_DEFINES = $(INTERP_DEFINES) -DFEAT_PYTHON3
!ifndef PYTHON3_VER
PYTHON3_VER = 31
!endif
!if "$(DYNAMIC_PYTHON3)" == "yes"
INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"python$(PYTHON3_VER).dll\"
PYTHON3_LIB_FLAG = /nodefaultlib:
!endif
!endif
!ifdef RUBY
!ifndef RUBY_VER
RUBY_VER = 16
!endif
!ifndef RUBY_VER_LONG
RUBY_VER_LONG = 1.6
!endif
!if "$(RUBY_VER)" == "16"
!ifndef RUBY_PLATFORM
RUBY_PLATFORM = i586-mswin32
!endif
!ifndef RUBY_INSTALL_NAME
RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
!endif
!else
!ifndef RUBY_PLATFORM
RUBY_PLATFORM = i386-mswin32
!endif
!ifndef RUBY_INSTALL_NAME
RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
!endif
!endif
INTERP_DEFINES = $(INTERP_DEFINES) -DFEAT_RUBY
INCLUDE = $(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM);$(INCLUDE)
!if "$(DYNAMIC_RUBY)" == "yes"
INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_RUBY_VER=$(RUBY_VER)
RUBY_LIB_FLAG = /nodefaultlib:
!endif
!endif
!ifdef TCL
INTERP_DEFINES = $(INTERP_DEFINES) -DFEAT_TCL
INCLUDE = $(TCL)\include;$(INCLUDE)
!ifndef TCL_VER
TCL_VER = 83
!endif
TCL_LIB = $(TCL)\lib\tcl$(TCL_VER).lib
TCL_LIB_FLAG =
!if "$(DYNAMIC_TCL)" == "yes"
INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\"
TCL_LIB = tclstub$(TCL_VER)-bor.lib
TCL_LIB_FLAG =
!endif
!endif
#
# DO NOT change below:
#
CPUARG = -$(CPUNR)
ALIGNARG = -a$(ALIGN)
#
!if ("$(DEBUG)"=="yes")
DEFINES=$(DEFINES) -DDEBUG -D_DEBUG
!endif
#
!if ("$(OLE)"=="yes")
DEFINES = $(DEFINES) -DFEAT_OLE
!endif
#
!if ("$(IME)"=="yes")
MBDEFINES = $(MBDEFINES) -DFEAT_MBYTE_IME
!if ("$(DYNAMIC_IME)" == "yes")
MBDEFINES = $(MBDEFINES) -DDYNAMIC_IME
!endif
!endif
!if ("$(ICONV)"=="yes")
MBDEFINES = $(MBDEFINES) -DDYNAMIC_ICONV
!endif
!if ("$(GETTEXT)"=="yes")
MBDEFINES = $(MBDEFINES) -DDYNAMIC_GETTEXT
!endif
!if ("$(CSCOPE)"=="yes")
DEFINES = $(DEFINES) -DFEAT_CSCOPE
!endif
!if ("$(GUI)"=="yes")
DEFINES = $(DEFINES) -DFEAT_GUI_MSWIN -DFEAT_CLIPBOARD
!if ("$(DEBUG)"=="yes")
TARGET = gvimd.exe
!else
TARGET = gvim.exe
!endif
EXETYPE=-W
STARTUPOBJ = c0w32.obj
LINK2 = -aa
RESFILE = vim.res
!else
!undef NETBEANS
!undef CHANNEL
!undef XPM
!if ("$(DEBUG)"=="yes")
TARGET = vimd.exe
!else
# for now, anyway: VIMDLL is only for the GUI version
TARGET = vim.exe
!endif
EXETYPE=-WC
STARTUPOBJ = c0x32.obj
LINK2 = -ap -OS -o -P
RESFILE = vim.res
!endif
!if ("$(NETBEANS)"=="yes")
!if ("$(CHANNEL)"!="yes")
# cannot use Netbeans without CHANNEL
NETBEANS = no
!else
DEFINES = $(DEFINES) -DFEAT_NETBEANS_INTG
!if ("$(NBDEBUG)"=="yes")
DEFINES = $(DEFINES) -DNBDEBUG
NBDEBUG_DEP = nbdebug.h nbdebug.c
!endif
!endif
!endif
!if ("$(CHANNEL)"=="yes")
DEFINES = $(DEFINES) -DFEAT_JOB_CHANNEL
!endif
!ifdef XPM
!if ("$(GUI)"=="yes")
DEFINES = $(DEFINES) -DFEAT_XPM_W32
INCLUDE = $(XPM)\include;$(INCLUDE)
!endif
!endif
!if ("$(USEDLL)"=="yes")
DEFINES = $(DEFINES) -D_RTLDLL
!endif
!if ("$(DEBUG)"=="yes")
OBJDIR = $(OSTYPE)\objdbg
!else
!if ("$(GUI)"=="yes")
!if ("$(OLE)"=="yes")
OBJDIR = $(OSTYPE)\oleobj
!else
OBJDIR = $(OSTYPE)\gobj
!endif
!else
OBJDIR = $(OSTYPE)\obj
!endif
!endif
!if ("$(POSTSCRIPT)"=="yes")
DEFINES = $(DEFINES) -DMSWINPS
!endif
##### BASE COMPILER/TOOLS RULES #####
MAKE = $(BOR)\bin\make
CFLAGS = -w-aus -w-par -w-pch -w-ngu -w-csu -I$(INCLUDE)
BRC = $(BOR)\BIN\brc32
!if ("$(LINK)"=="")
LINK = $(BOR)\BIN\ILink32
!endif
CC = $(BOR)\BIN\Bcc32
LFLAGS = -OS -Tpe -c -m -L$(LIB) $(DEBUG_FLAG) $(LINK2)
LFLAGSDLL = -Tpd -c -m -L$(LIB) $(DEBUG_FLAG) $(LINK2)
CFLAGS = $(CFLAGS) -d -RT- -k- -Oi $(HEADERS) -f-
CC1 = -c
CC2 = -o
CCARG = +$(OBJDIR)\bcc.cfg
# implicit rules:
# Without the following, the implicit rule in BUILTINS.MAK is picked up
# for a rule for .c.obj rather than the local implicit rule
.SUFFIXES
.SUFFIXES .c .obj
.path.c = .
{.}.c{$(OBJDIR)}.obj:
$(CC) $(CCARG) $(CC1) -n$(OBJDIR)\ {$< }
.cpp.obj:
$(CC) $(CCARG) $(CC1) $(CC2)$@ $*.cpp
vimmain = \
$(OBJDIR)\os_w32exe.obj
vimwinmain = \
$(OBJDIR)\os_w32exe.obj
vimobj = \
$(OBJDIR)\arabic.obj \
$(OBJDIR)\autocmd.obj \
$(OBJDIR)\blowfish.obj \
$(OBJDIR)\buffer.obj \
$(OBJDIR)\charset.obj \
$(OBJDIR)\crypt.obj \
$(OBJDIR)\crypt_zip.obj \
$(OBJDIR)\debugger.obj \
$(OBJDIR)\dict.obj \
$(OBJDIR)\diff.obj \
$(OBJDIR)\digraph.obj \
$(OBJDIR)\edit.obj \
$(OBJDIR)\eval.obj \
$(OBJDIR)\evalfunc.obj \
$(OBJDIR)\ex_cmds.obj \
$(OBJDIR)\ex_cmds2.obj \
$(OBJDIR)\ex_docmd.obj \
$(OBJDIR)\ex_eval.obj \
$(OBJDIR)\ex_getln.obj \
$(OBJDIR)\fileio.obj \
$(OBJDIR)\findfile.obj \
$(OBJDIR)\fold.obj \
$(OBJDIR)\getchar.obj \
$(OBJDIR)\hardcopy.obj \
$(OBJDIR)\hashtab.obj \
$(OBJDIR)\indent.obj \
$(OBJDIR)\insexpand.obj \
$(OBJDIR)\json.obj \
$(OBJDIR)\list.obj \
$(OBJDIR)\main.obj \
$(OBJDIR)\mark.obj \
$(OBJDIR)\memfile.obj \
$(OBJDIR)\memline.obj \
$(OBJDIR)\menu.obj \
$(OBJDIR)\message.obj \
$(OBJDIR)\misc1.obj \
$(OBJDIR)\misc2.obj \
$(OBJDIR)\move.obj \
$(OBJDIR)\mbyte.obj \
$(OBJDIR)\normal.obj \
$(OBJDIR)\ops.obj \
$(OBJDIR)\option.obj \
$(OBJDIR)\popupmnu.obj \
$(OBJDIR)\quickfix.obj \
$(OBJDIR)\regexp.obj \
$(OBJDIR)\screen.obj \
$(OBJDIR)\search.obj \
$(OBJDIR)\sha256.obj \
$(OBJDIR)\sign.obj \
$(OBJDIR)\spell.obj \
$(OBJDIR)\spellfile.obj \
$(OBJDIR)\syntax.obj \
$(OBJDIR)\tag.obj \
$(OBJDIR)\term.obj \
$(OBJDIR)\ui.obj \
$(OBJDIR)\undo.obj \
$(OBJDIR)\usercmd.obj \
$(OBJDIR)\userfunc.obj \
$(OBJDIR)\version.obj \
$(OBJDIR)\window.obj \
$(OBJDIR)\pathdef.obj
!if ("$(OLE)"=="yes")
vimobj = $(vimobj) \
$(OBJDIR)\if_ole.obj
!endif
!ifdef LUA
vimobj = $(vimobj) \
$(OBJDIR)\if_lua.obj
!endif
!ifdef PERL
vimobj = $(vimobj) \
$(OBJDIR)\if_perl.obj
!endif
!ifdef PYTHON
vimobj = $(vimobj) \
$(OBJDIR)\if_python.obj
!endif
!ifdef PYTHON3
vimobj = $(vimobj) \
$(OBJDIR)\if_python3.obj
!endif
!ifdef RUBY
vimobj = $(vimobj) \
$(OBJDIR)\if_ruby.obj
!endif
!ifdef TCL
vimobj = $(vimobj) \
$(OBJDIR)\if_tcl.obj
!endif
!if ("$(CSCOPE)"=="yes")
vimobj = $(vimobj) \
$(OBJDIR)\if_cscope.obj
!endif
!if ("$(NETBEANS)"=="yes")
vimobj = $(vimobj) \
$(OBJDIR)\netbeans.obj
!endif
!if ("$(CHANNEL)"=="yes")
vimobj = $(vimobj) \
$(OBJDIR)\channel.obj
!endif
!ifdef XPM
vimobj = $(vimobj) \
$(OBJDIR)\xpm_w32.obj
!endif
!if ("$(GUI)"=="yes")
vimobj = $(vimobj) \
$(vimwinmain) \
$(OBJDIR)\gui.obj \
$(OBJDIR)\gui_beval.obj \
$(OBJDIR)\gui_w32.obj
!endif
vimobj = $(vimobj) \
$(OBJDIR)\os_win32.obj $(OBJDIR)\os_mswin.obj $(OBJDIR)\winclip.obj
# Blab what we are going to do:
MSG = Compiling $(OSTYPE) $(TARGET) $(OLETARGET), with:
!if ("$(GUI)"=="yes")
MSG = $(MSG) GUI
!endif
!if ("$(OLE)"=="yes")
MSG = $(MSG) OLE
!endif
!if ("$(USEDLL)"=="yes")
MSG = $(MSG) USEDLL
!endif
!if ("$(FASTCALL)"=="yes")
MSG = $(MSG) FASTCALL
!endif
!if ("$(IME)"=="yes")
MSG = $(MSG) IME
! if "$(DYNAMIC_IME)" == "yes"
MSG = $(MSG)(dynamic)
! endif
!endif
!if ("$(GETTEXT)"=="yes")
MSG = $(MSG) GETTEXT
!endif
!if ("$(ICONV)"=="yes")
MSG = $(MSG) ICONV
!endif
!if ("$(DEBUG)"=="yes")
MSG = $(MSG) DEBUG
!endif
!if ("$(CODEGUARD)"=="yes")
MSG = $(MSG) CODEGUARD
!endif
!if ("$(CSCOPE)"=="yes")
MSG = $(MSG) CSCOPE
!endif
!if ("$(NETBEANS)"=="yes")
MSG = $(MSG) NETBEANS
!endif
!if ("$(CHANNEL)"=="yes")
MSG = $(MSG) CHANNEL
!endif
!ifdef XPM
MSG = $(MSG) XPM
!endif
!ifdef LUA
MSG = $(MSG) LUA
! if "$(DYNAMIC_LUA)" == "yes"
MSG = $(MSG)(dynamic)
! endif
!endif
!ifdef PERL
MSG = $(MSG) PERL
! if "$(DYNAMIC_PERL)" == "yes"
MSG = $(MSG)(dynamic)
! endif
!endif
!ifdef PYTHON
MSG = $(MSG) PYTHON
! if "$(DYNAMIC_PYTHON)" == "yes"
MSG = $(MSG)(dynamic)
! endif
!endif
!ifdef PYTHON3
MSG = $(MSG) PYTHON3
! if "$(DYNAMIC_PYTHON3)" == "yes"
MSG = $(MSG)(dynamic)
! endif
!endif
!ifdef RUBY
MSG = $(MSG) RUBY
! if "$(DYNAMIC_RUBY)" == "yes"
MSG = $(MSG)(dynamic)
! endif
!endif
!ifdef TCL
MSG = $(MSG) TCL
! if "$(DYNAMIC_TCL)" == "yes"
MSG = $(MSG)(dynamic)
! endif
!endif
MSG = $(MSG) cpu=$(CPUARG)
MSG = $(MSG) Align=$(ALIGNARG)
!message $(MSG)
TARGETS = $(TARGETS) $(TARGET)
# Targets:
all: vim vimrun.exe install.exe xxd uninstal.exe GvimExt/gvimext.dll
vim: $(OSTYPE) $(OBJDIR) $(OBJDIR)\bcc.cfg $(TARGETS)
@if exist $(OBJDIR)\version.obj del $(OBJDIR)\version.obj
@if exist auto\pathdef.c del auto\pathdef.c
$(OSTYPE):
-@md $(OSTYPE)
$(OBJDIR):
-@md $(OBJDIR)
xxd:
@cd xxd
$(MAKE) /f Make_bc5.mak BOR="$(BOR)" BCC="$(CC)"
@cd ..
GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
cd GvimExt
$(MAKE) /f Make_bc5.mak USEDLL=$(USEDLL) BOR=$(BOR)
cd ..
install.exe: dosinst.c $(OBJDIR)\bcc.cfg
$(CC) $(CCARG) -WC -DWIN32 -einstall dosinst.c
uninstal.exe: uninstal.c $(OBJDIR)\bcc.cfg
$(CC) $(CCARG) -WC -DWIN32 -O2 -euninstal uninstal.c
clean:
!if "$(OS)" == "Windows_NT"
# For Windows NT/2000, doesn't work on Windows 95/98...
# $(COMSPEC) needed to ensure rmdir.exe is not run
-@$(COMSPEC) /C rmdir /Q /S $(OBJDIR)
!else
# For Windows 95/98, doesn't work on Windows NT/2000...
-@deltree /y $(OBJDIR)
!endif
-@del *.res
-@del vim32*.dll
-@del vim32*.lib
-@del *vim*.exe
-@del *install*.exe
-@del *.csm
-@del *.map
-@del *.ilc
-@del *.ild
-@del *.ilf
-@del *.ils
-@del *.tds
!ifdef LUA
-@del lua.lib
!endif
!ifdef PERL
-@del perl.lib
-@del if_perl.c
-@del auto\if_perl.c
!endif
!ifdef PYTHON
-@del python.lib
!endif
!ifdef PYTHON3
-@del python3.lib
!endif
!ifdef RUBY
-@del ruby.lib
!endif
!ifdef TCL
-@del tcl.lib
!endif
!ifdef XPM
-@del xpm.lib
!endif
cd xxd
$(MAKE) /f Make_bc5.mak BOR="$(BOR)" clean
cd ..
cd GvimExt
$(MAKE) /f Make_bc5.mak BOR="$(BOR)" clean
cd ..
$(TARGET): $(OBJDIR) $(vimobj) $(OBJDIR)\$(RESFILE)
$(LINK) @&&|
$(LFLAGS) +
$(STARTUPOBJ) +
$(vimobj)
$<,$*
!if ("$(CODEGUARD)"=="yes")
cg32.lib+
!endif
# $(OSTYPE)==WIN32 causes os_mswin.c compilation. FEAT_SHORTCUT in it needs OLE
ole2w32.lib +
import32.lib+
!ifdef LUA
$(LUA_LIB_FLAG)lua.lib+
!endif
!ifdef PERL
$(PERL_LIB_FLAG)perl.lib+
!endif
!ifdef PYTHON
$(PYTHON_LIB_FLAG)python.lib+
!endif
!ifdef PYTHON3
$(PYTHON3_LIB_FLAG)python3.lib+
!endif
!ifdef RUBY
$(RUBY_LIB_FLAG)ruby.lib+
!endif
!ifdef TCL
$(TCL_LIB_FLAG)tcl.lib+
!endif
!ifdef XPM
xpm.lib+
!endif
!if ("$(USEDLL)"=="yes")
cw32i.lib
!else
cw32.lib
!endif
$(OBJDIR)\$(RESFILE)
|
test:
cd testdir
$(MAKE) /NOLOGO -f Make_dos.mak win32
cd ..
$(OBJDIR)\ex_docmd.obj: ex_docmd.c ex_cmds.h
$(OBJDIR)\ex_eval.obj: ex_eval.c ex_cmds.h
$(OBJDIR)\if_ole.obj: if_ole.cpp
$(OBJDIR)\if_lua.obj: if_lua.c lua.lib
$(CC) $(CCARG) $(CC1) $(CC2)$@ -pc if_lua.c
$(OBJDIR)\if_perl.obj: auto/if_perl.c perl.lib
$(CC) $(CCARG) $(CC1) $(CC2)$@ -pc auto/if_perl.c
auto/if_perl.c: if_perl.xs typemap
$(PERL)\bin\perl.exe $(PERL)\lib\ExtUtils\xsubpp -prototypes -typemap \
$(PERL)\lib\ExtUtils\typemap if_perl.xs -output $@
$(OBJDIR)\if_python.obj: if_python.c if_py_both.h python.lib
$(CC) -I$(PYTHON)\include $(CCARG) $(CC1) $(CC2)$@ -pc if_python.c
$(OBJDIR)\if_python3.obj: if_python3.c if_py_both.h python3.lib
$(CC) -I$(PYTHON3)\include $(CCARG) $(CC1) $(CC2)$@ -pc if_python3.c
$(OBJDIR)\if_ruby.obj: if_ruby.c ruby.lib
$(CC) $(CCARG) $(CC1) $(CC2)$@ -pc if_ruby.c
$(OBJDIR)\if_tcl.obj: if_tcl.c tcl.lib
$(CC) $(CCARG) $(CC1) $(CC2)$@ -pc if_tcl.c
$(OBJDIR)\xpm_w32.obj: xpm_w32.c xpm.lib
$(CC) $(CCARG) $(CC1) $(CC2)$@ -pc xpm_w32.c
$(OBJDIR)\netbeans.obj: netbeans.c $(NBDEBUG_DEP)
$(CC) $(CCARG) $(CC1) $(CC2)$@ netbeans.c
$(OBJDIR)\channel.obj: channel.c
$(CC) $(CCARG) $(CC1) $(CC2)$@ channel.c
$(OBJDIR)\vim.res: vim.rc version.h tools.bmp tearoff.bmp \
vim.ico vim_error.ico vim_alert.ico vim_info.ico vim_quest.ico
$(BRC) -fo$(OBJDIR)\vim.res -i $(BOR)\include -w32 -r vim.rc @&&|
$(DEFINES)
|
$(OBJDIR)\pathdef.obj: auto\pathdef.c
$(CC) $(CCARG) $(CC1) $(CC2)$@ auto\pathdef.c
# Need to escape both quotes and backslashes in $INTERP_DEFINES
INTERP_DEFINES_ESC_BKS=$(INTERP_DEFINES:\=\\)
INTERP_DEFINES_ESC=$(INTERP_DEFINES_ESC_BKS:"=\")
# Note: the silly /*"*/ below are there to trick make into accepting
# the # character as something other than a comment without messing up
# the preprocessor directive.
auto\pathdef.c::
-@md auto
@echo creating auto/pathdef.c
@copy /y &&|
/* pathdef.c */
/*"*/#include "vim.h"/*"*/
char_u *default_vim_dir = (char_u *)"$(VIMRCLOC:\=\\)";
char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR:\=\\)";
char_u *all_cflags = (char_u *)"$(CC:\=\\) $(CFLAGS:\=\\) $(DEFINES) $(MBDEFINES) $(INTERP_DEFINES_ESC) $(OPT) $(EXETYPE) $(CPUARG) $(ALIGNARG) $(DEBUG_FLAG) $(CODEGUARD_FLAG)";
char_u *all_lflags = (char_u *)"$(LINK:\=\\) $(LFLAGS:\=\\)";
char_u *compiled_user = (char_u *)"$(USERNAME)";
char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";
| auto\pathdef.c
lua.lib: $(LUA)\lib\lua$(LUA_VER).lib
coff2omf $(LUA)\lib\lua$(LUA_VER).lib $@
perl.lib: $(PERL)\lib\CORE\perl$(PERL_VER).lib
coff2omf $(PERL)\lib\CORE\perl$(PERL_VER).lib $@
python.lib: $(PYTHON)\libs\python$(PYTHON_VER).lib
coff2omf $(PYTHON)\libs\python$(PYTHON_VER).lib $@
python3.lib: $(PYTHON3)\libs\python$(PYTHON3_VER).lib
coff2omf $(PYTHON3)\libs\python$(PYTHON3_VER).lib $@
ruby.lib: $(RUBY)\lib\$(RUBY_INSTALL_NAME).lib
coff2omf $(RUBY)\lib\$(RUBY_INSTALL_NAME).lib $@
# For some reason, the coff2omf method doesn't work on libXpm.lib, so
# we have to manually generate an import library straight from the DLL.
xpm.lib: $(XPM)\lib\libXpm.lib
implib -a $@ $(XPM)\bin\libXpm.dll
tcl.lib: $(TCL_LIB)
!if ("$(DYNAMIC_TCL)" == "yes")
copy $(TCL_LIB) $@
!else
coff2omf $(TCL_LIB) $@
!endif
!if ("$(DYNAMIC_TCL)" == "yes")
tclstub$(TCL_VER)-bor.lib:
-@IF NOT EXIST $@ ECHO You must download tclstub$(TCL_VER)-bor.lib separately and\
place it in the src directory in order to compile a dynamic TCL-enabled\
(g)vim with the Borland compiler. You can get the tclstub$(TCL_VER)-bor.lib file\
at http://mywebpage.netscape.com/sharppeople/vim/tclstub$(TCL_VER)-bor.lib
!endif
# vimrun.exe:
vimrun.exe: vimrun.c
!if ("$(USEDLL)"=="yes")
$(CC) -WC -O1 -I$(INCLUDE) -L$(LIB) -D_RTLDLL vimrun.c cw32mti.lib
!else
$(CC) -WC -O1 -I$(INCLUDE) -L$(LIB) vimrun.c
!endif
# The dependency on $(OBJDIR) is to have bcc.cfg generated each time.
$(OBJDIR)\bcc.cfg: Make_bc5.mak $(OBJDIR)
copy /y &&|
$(CFLAGS)
-L$(LIB)
$(DEFINES)
$(MBDEFINES)
$(INTERP_DEFINES)
$(EXETYPE)
$(DEBUG_FLAG)
$(OPT)
$(CODEGUARD_FLAG)
$(CPUARG)
$(ALIGNARG)
| $@
# vi:set sts=4 sw=4:

View File

@ -10,7 +10,7 @@
/*
* dosinst.c: Install program for Vim on MS-DOS and MS-Windows
*
* Compile with Make_mvc.mak, Make_bc3.mak, Make_bc5.mak or Make_djg.mak.
* Compile with Make_mvc.mak, Make_cyg.mak or Make_ming.mak.
*/
/*

View File

@ -47,11 +47,7 @@ char *searchpath(char *name);
#if defined(UNIX_LINT)
# define vim_mkdir(x, y) mkdir((char *)(x), y)
#else
# ifndef __BORLANDC__
# define vim_mkdir(x, y) _mkdir((char *)(x))
# else
# define vim_mkdir(x, y) mkdir((char *)(x))
# endif
# define vim_mkdir(x, y) _mkdir((char *)(x))
#endif
#define sleep(n) Sleep((n) * 1000)
@ -150,10 +146,6 @@ is_64bit_os(void)
#endif
}
#ifdef __BORLANDC__
/* Borland defines its own searchpath() in dir.h */
# include <dir.h>
#else
static char *
searchpath(char *name)
{
@ -173,7 +165,6 @@ searchpath(char *name)
}
return NULL;
}
#endif
/*
* Call searchpath() and save the result in allocated memory, or return NULL.
@ -463,12 +454,6 @@ mch_chdir(char *path)
/*
* Expand the executable name into a full path name.
*/
#if defined(__BORLANDC__)
/* Only Borland C++ has this. */
# define my_fullpath(b, n, l) _fullpath(b, n, l)
#else
static char *
my_fullpath(char *buf, char *fname, int len)
{
@ -478,7 +463,6 @@ my_fullpath(char *buf, char *fname, int len)
return (len_read > 0 && len_read < (DWORD)len) ? buf : NULL;
}
#endif
/*
* Remove the tail from a file or directory name.

View File

@ -12500,16 +12500,8 @@ f_sinh(typval_T *argvars, typval_T *rettv)
}
#endif
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
item_compare(const void *s1, const void *s2);
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
item_compare2(const void *s1, const void *s2);
static int item_compare(const void *s1, const void *s2);
static int item_compare2(const void *s1, const void *s2);
/* struct used in the array that's given to qsort() */
typedef struct
@ -12540,9 +12532,6 @@ static sortinfo_T *sortinfo = NULL;
* Compare functions for f_sort() and f_uniq() below.
*/
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
item_compare(const void *s1, const void *s2)
{
sortItem_T *si1, *si2;
@ -12627,9 +12616,6 @@ item_compare(const void *s1, const void *s2)
}
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
item_compare2(const void *s1, const void *s2)
{
sortItem_T *si1, *si2;

View File

@ -29,11 +29,7 @@ static int read_viminfo_up_to_marks(vir_T *virp, int forceit, int writing);
static int check_readonly(int *forceit, buf_T *buf);
static void delbuf_msg(char_u *name);
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
help_compare(const void *s1, const void *s2);
static int help_compare(const void *s1, const void *s2);
static void prepare_help_buffer(void);
/*
@ -314,16 +310,9 @@ typedef struct
} st_u;
} sorti_T;
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
sort_compare(const void *s1, const void *s2);
static int sort_compare(const void *s1, const void *s2);
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
sort_compare(const void *s1, const void *s2)
{
sorti_T l1 = *(sorti_T *)s1;
@ -6580,9 +6569,6 @@ help_heuristic(
* that has been put after the tagname by find_tags().
*/
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
help_compare(const void *s1, const void *s2)
{
char *p1;

View File

@ -125,11 +125,7 @@ static int open_cmdwin(void);
#endif
#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
sort_func_compare(const void *s1, const void *s2);
static int sort_func_compare(const void *s1, const void *s2);
#endif
@ -3803,9 +3799,6 @@ ccheck_abbr(int c)
#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
sort_func_compare(const void *s1, const void *s2)
{
char_u *p1 = *(char_u **)s1;
@ -6855,9 +6848,6 @@ concat_history(int type)
#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
sort_hist(const void *s1, const void *s2)
{
histentry_T *p1 = *(histentry_T **)s1;

View File

@ -1303,9 +1303,6 @@ gui_mch_def_colors(void)
int
gui_mch_open(void)
{
#ifndef SW_SHOWDEFAULT
# define SW_SHOWDEFAULT 10 /* Borland 5.0 doesn't have it */
#endif
/* Actually open the window, if not already visible
* (may be done already in gui_mch_set_shellsize) */
if (!IsWindowVisible(s_hwnd))
@ -3799,9 +3796,6 @@ _OnScroll(
* Add a lot of missing defines.
* They are not always missing, we need the #ifndef's.
*/
# ifndef _cdecl
# define _cdecl
# endif
# ifndef IsMinimized
# define IsMinimized(hwnd) IsIconic(hwnd)
# endif
@ -5521,7 +5515,7 @@ gui_mch_set_sp_color(guicolor_T color)
* First static functions (no prototypes generated).
*/
# ifdef _MSC_VER
# include <ime.h> /* Apparently not needed for Cygwin, MingW or Borland. */
# include <ime.h> /* Apparently not needed for Cygwin or MinGW. */
# endif
# include <imm.h>
@ -6272,15 +6266,6 @@ gui_mch_draw_string(
void
gui_mch_flush(void)
{
# if defined(__BORLANDC__)
/*
* The GdiFlush declaration (in Borland C 5.01 <wingdi.h>) is not a
* prototype declaration.
* The compiler complains if __stdcall is not used in both declarations.
*/
BOOL __stdcall GdiFlush(void);
# endif
#if defined(FEAT_DIRECTX)
if (IS_ENABLE_DIRECTX())
DWriteContext_Flush(s_dwc);

View File

@ -12,24 +12,14 @@
*
* See os_mswin.c for the client side.
*/
/*
* We have some trouble with order of includes here. For Borland it needs to
* be different from MSVC...
*/
#ifndef __BORLANDC__
extern "C" {
# include "vim.h"
}
#endif
#include <windows.h>
#include <oleauto.h>
extern "C" {
#ifdef __BORLANDC__
# include "vim.h"
#endif
extern HWND s_hwnd;
extern HWND vim_parent_hwnd;
}

View File

@ -13,11 +13,6 @@
* Common code for if_python.c and if_python3.c.
*/
#ifdef __BORLANDC__
/* Disable Warning W8060: Possibly incorrect assignment in function ... */
# pragma warn -8060
#endif
static char_u e_py_systemexit[] = "E880: Can't handle SystemExit of %s exception in vim";
#if PY_VERSION_HEX < 0x02050000

View File

@ -98,9 +98,6 @@ __declspec(dllexport)
# endif
int
# ifdef MSWIN
# ifdef __BORLANDC__
_cdecl
# endif
VimMain
# else
main

View File

@ -1950,9 +1950,6 @@ write_viminfo_marks(FILE *fp_out, garray_T *buflist)
* Compare functions for qsort() below, that compares b_last_used.
*/
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
buf_compare(const void *s1, const void *s2)
{
buf_T *buf1 = *(buf_T **)s1;

View File

@ -357,9 +357,6 @@ trunc_string(
int vim_snprintf(char *str, size_t str_m, const char *fmt, ...);
int
# ifdef __BORLANDC__
_RTLENTRYF
# endif
smsg(const char *s, ...)
{
va_list arglist;
@ -371,9 +368,6 @@ smsg(const char *s, ...)
}
int
# ifdef __BORLANDC__
_RTLENTRYF
# endif
smsg_attr(int attr, const char *s, ...)
{
va_list arglist;
@ -385,9 +379,6 @@ smsg_attr(int attr, const char *s, ...)
}
int
# ifdef __BORLANDC__
_RTLENTRYF
# endif
smsg_attr_keep(int attr, const char *s, ...)
{
va_list arglist;
@ -3091,7 +3082,7 @@ mch_msg(char *str)
(isatty(2) && strcmp("/dev/console", ttyname(2)) != 0)
# else
isatty(2)
# endif
# endif
# ifdef FEAT_GUI
||
# endif

View File

@ -5626,18 +5626,11 @@ static int expand_backtick(garray_T *gap, char_u *pat, int flags);
* File name expansion code for MS-DOS, Win16 and Win32. It's here because
* it's shared between these systems.
*/
# if defined(PROTO)
# define _cdecl
# else
# ifdef __BORLANDC__
# define _cdecl _RTLENTRYF
# endif
# endif
/*
* comparison function for qsort in dos_expandpath()
*/
static int _cdecl
static int
pstrcmp(const void *a, const void *b)
{
return (pathcmp(*(char **)a, *(char **)b, -1));

View File

@ -3912,16 +3912,9 @@ qsort(
/*
* Sort an array of strings.
*/
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
sort_compare(const void *s1, const void *s2);
static int sort_compare(const void *s1, const void *s2);
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
sort_compare(const void *s1, const void *s2)
{
return STRCMP(*(char **)s1, *(char **)s2);

View File

@ -27,11 +27,7 @@ static int restart_VIsual_select = 0;
#ifdef FEAT_EVAL
static void set_vcount_ca(cmdarg_T *cap, int *set_prevcount);
#endif
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
nv_compare(const void *s1, const void *s2);
static int nv_compare(const void *s1, const void *s2);
static void op_colon(oparg_T *oap);
static void op_function(oparg_T *oap);
#if defined(FEAT_MOUSE)
@ -422,9 +418,6 @@ static int nv_max_linear;
* through the index in nv_cmd_idx[].
*/
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
nv_compare(const void *s1, const void *s2)
{
int c1, c2;

View File

@ -12561,11 +12561,6 @@ compatible_set(void)
#ifdef FEAT_LINEBREAK
# if defined(__BORLANDC__) && (__BORLANDC__ < 0x500)
/* Borland C++ screws up loop optimisation here (negri) */
#pragma option -O-l
# endif
/*
* fill_breakat_flags() -- called when 'breakat' changes value.
*/
@ -12582,11 +12577,6 @@ fill_breakat_flags(void)
for (p = p_breakat; *p; p++)
breakat_flags[*p] = TRUE;
}
# if defined(__BORLANDC__) && (__BORLANDC__ < 0x500)
#pragma option -O.l
# endif
#endif
/*

View File

@ -172,26 +172,6 @@ int _chdrive(int drive)
return !SetCurrentDirectory(temp);
}
# endif
#else
# ifdef __BORLANDC__
/* being a more ANSI compliant compiler, BorlandC doesn't define _stricoll:
* but it does in BC 5.02! */
# if __BORLANDC__ < 0x502
int _stricoll(char *a, char *b)
{
# if 1
// this is fast but not correct:
return stricmp(a, b);
# else
// the ANSI-ish correct way is to use strxfrm():
char a_buff[512], b_buff[512]; // file names, so this is enough on Win32
strxfrm(a_buff, a, 512);
strxfrm(b_buff, b, 512);
return strcoll(a_buff, b_buff);
# endif
}
# endif
# endif
#endif
@ -374,30 +354,22 @@ mch_FullName(
int force UNUSED)
{
int nResult = FAIL;
WCHAR *wname;
WCHAR wbuf[MAX_PATH];
char_u *cname = NULL;
#ifdef __BORLANDC__
if (*fname == NUL) /* Borland behaves badly here - make it consistent */
nResult = mch_dirname(buf, len);
else
#endif
wname = enc_to_utf16(fname, NULL);
if (wname != NULL && _wfullpath(wbuf, wname, MAX_PATH) != NULL)
{
WCHAR *wname;
WCHAR wbuf[MAX_PATH];
char_u *cname = NULL;
wname = enc_to_utf16(fname, NULL);
if (wname != NULL && _wfullpath(wbuf, wname, MAX_PATH) != NULL)
cname = utf16_to_enc((short_u *)wbuf, NULL);
if (cname != NULL)
{
cname = utf16_to_enc((short_u *)wbuf, NULL);
if (cname != NULL)
{
vim_strncpy(buf, cname, len - 1);
nResult = OK;
}
vim_strncpy(buf, cname, len - 1);
nResult = OK;
}
vim_free(wname);
vim_free(cname);
}
vim_free(wname);
vim_free(cname);
#ifdef USE_FNAME_CASE
fname_case(buf, len);
@ -2044,9 +2016,6 @@ serverSendEnc(HWND target)
* Clean up on exit. This destroys the hidden message window.
*/
static void
#ifdef __BORLANDC__
_RTLENTRYF
#endif
CleanUpMessaging(void)
{
if (message_window != 0)

View File

@ -15,19 +15,13 @@
*/
#include "vim.h"
#ifdef __MINGW32__
# ifndef _cdecl
# define _cdecl
# endif
#endif
// cproto doesn't create a prototype for VimMain()
#ifdef VIMDLL
__declspec(dllimport)
#endif
int _cdecl VimMain(int argc, char **argv);
int VimMain(int argc, char **argv);
#ifndef VIMDLL
void _cdecl SaveInst(HINSTANCE hInst);
void SaveInst(HINSTANCE hInst);
#endif
#ifndef PROTO

View File

@ -146,11 +146,6 @@ typedef int LPSECURITY_ATTRIBUTES;
# define __stdcall /* empty */
#endif
#if defined(__BORLANDC__)
/* Strangely Borland uses a non-standard name. */
# define wcsicmp(a, b) wcscmpi((a), (b))
#endif
#if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
/* Win32 Console handles for input and output */
static HANDLE g_hConIn = INVALID_HANDLE_VALUE;
@ -941,9 +936,6 @@ static const struct
/* The return code indicates key code size. */
static int
#ifdef __BORLANDC__
__stdcall
#endif
win32_kbd_patch_key(
KEY_EVENT_RECORD *pker)
{
@ -6695,8 +6687,6 @@ getout:
int
mch_open(const char *name, int flags, int mode)
{
/* _wopen() does not work with Borland C 5.5: creates a read-only file. */
#ifndef __BORLANDC__
WCHAR *wn;
int f;
@ -6707,16 +6697,6 @@ mch_open(const char *name, int flags, int mode)
f = _wopen(wn, flags, mode);
vim_free(wn);
return f;
#else
/* open() can open a file which name is longer than _MAX_PATH bytes
* and shorter than _MAX_PATH characters successfully, but sometimes it
* causes unexpected error in another part. We make it an error explicitly
* here. */
if (strlen(name) >= _MAX_PATH)
return -1;
return open(name, flags, mode);
#endif
}
/*

View File

@ -53,12 +53,10 @@
#define FEAT_SHORTCUT /* resolve shortcuts */
#if (!defined(__BORLANDC__) || __BORLANDC__ >= 0x550) \
&& (!defined(_MSC_VER) || _MSC_VER > 1020)
#if (!defined(_MSC_VER) || _MSC_VER > 1020)
/*
* Access Control List (actually security info).
* Borland has the acl stuff only in version 5.5 and later.
* MSVC in 5.0, not in 4.2, don't know about 4.3.
* MSVC has acl stuff only in 5.0, not in 4.2, don't know about 4.3.
*/
# define HAVE_ACL
#endif
@ -142,8 +140,8 @@
# define IO_REPARSE_TAG_SYMLINK 0xA000000C
#endif
#if defined(_MSC_VER) || defined(__BORLANDC__)
/* Support for __try / __except. All versions of MSVC and Borland C are
#if defined(_MSC_VER)
/* Support for __try / __except. All versions of MSVC are
* expected to have this. Any other compilers that support it? */
# define HAVE_TRY_EXCEPT 1
# include <malloc.h> /* for _resetstkoflw() */
@ -206,11 +204,7 @@ Trace(char *pszFormat, ...);
# define HAVE_SETENV
#endif
#define mch_getenv(x) (char_u *)getenv((char *)(x))
#ifdef __BORLANDC__
# define vim_mkdir(x, y) mkdir(x)
#else
# define vim_mkdir(x, y) mch_mkdir(x)
#endif
#define vim_mkdir(x, y) mch_mkdir(x)
/* Enable common dialogs input unicode from IME if possible. */
#define pDispatchMessage DispatchMessageW

View File

@ -42,8 +42,7 @@
# include "os_win32.pro"
# include "os_mswin.pro"
# include "winclip.pro"
# if (defined(__GNUC__) && !defined(__MINGW32__)) \
|| (defined(__BORLANDC__) && __BORLANDC__ < 0x502)
# if (defined(__GNUC__) && !defined(__MINGW32__))
extern int _stricoll(char *a, char *b);
# endif
# endif
@ -108,73 +107,45 @@ extern int _stricoll(char *a, char *b);
# endif
/* These prototypes cannot be produced automatically. */
int
# ifdef __BORLANDC__
_RTLENTRYF
# endif
smsg(const char *, ...)
int smsg(const char *, ...)
#ifdef USE_PRINTF_FORMAT_ATTRIBUTE
__attribute__((format(printf, 1, 0)))
#endif
;
int
# ifdef __BORLANDC__
_RTLENTRYF
# endif
smsg_attr(int, const char *, ...)
int smsg_attr(int, const char *, ...)
#ifdef USE_PRINTF_FORMAT_ATTRIBUTE
__attribute__((format(printf, 2, 3)))
#endif
;
int
# ifdef __BORLANDC__
_RTLENTRYF
# endif
smsg_attr_keep(int, const char *, ...)
int smsg_attr_keep(int, const char *, ...)
#ifdef USE_PRINTF_FORMAT_ATTRIBUTE
__attribute__((format(printf, 2, 3)))
#endif
;
/* These prototypes cannot be produced automatically. */
int
# ifdef __BORLANDC__
_RTLENTRYF
# endif
semsg(const char *, ...)
int semsg(const char *, ...)
#ifdef USE_PRINTF_FORMAT_ATTRIBUTE
__attribute__((format(printf, 1, 0)))
#endif
;
/* These prototypes cannot be produced automatically. */
void
# ifdef __BORLANDC__
_RTLENTRYF
# endif
siemsg(const char *, ...)
void siemsg(const char *, ...)
#ifdef USE_PRINTF_FORMAT_ATTRIBUTE
__attribute__((format(printf, 1, 0)))
#endif
;
int
# ifdef __BORLANDC__
_RTLENTRYF
# endif
vim_snprintf_add(char *, size_t, const char *, ...)
int vim_snprintf_add(char *, size_t, const char *, ...)
#ifdef USE_PRINTF_FORMAT_ATTRIBUTE
__attribute__((format(printf, 3, 4)))
#endif
;
int
# ifdef __BORLANDC__
_RTLENTRYF
# endif
vim_snprintf(char *, size_t, const char *, ...)
int vim_snprintf(char *, size_t, const char *, ...)
#ifdef USE_PRINTF_FORMAT_ATTRIBUTE
__attribute__((format(printf, 3, 4)))
#endif
@ -209,7 +180,7 @@ void qsort(void *base, size_t elm_count, size_t elm_size, int (*cmp)(const void
# endif
# include "search.pro"
# ifdef FEAT_SIGNS
# include "sign.pro"
# include "sign.pro"
# endif
# include "spell.pro"
# include "spellfile.pro"
@ -337,13 +308,7 @@ extern char *vim_SelFile(Widget toplevel, char *prompt, char *init_path, int (*s
*/
#if defined(FEAT_PERL) && !defined(IN_PERL_FILE)
# define CV void
# ifdef __BORLANDC__
#pragma option -pc
# endif
# include "if_perl.pro"
# ifdef __BORLANDC__
#pragma option -p.
# endif
# include "if_perlsfio.pro"
#endif
@ -357,8 +322,4 @@ int clip_mch_own_selection(VimClipboard *cbd);
void clip_mch_request_selection(VimClipboard *cbd);
void clip_mch_set_selection(VimClipboard *cbd);
#endif
#ifdef __BORLANDC__
# define _PROTO_H
#endif
#endif /* !PROTO && !NOPROTO */

View File

@ -2945,9 +2945,6 @@ static textprop_T *current_text_props = NULL;
static buf_T *current_buf = NULL;
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
text_prop_compare(const void *s1, const void *s2)
{
int idx1, idx2;

View File

@ -6760,20 +6760,13 @@ rescore_one(suginfo_T *su, suggest_T *stp)
}
}
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
sug_compare(const void *s1, const void *s2);
static int sug_compare(const void *s1, const void *s2);
/*
* Function given to qsort() to sort the suggestions on st_score.
* First on "st_score", then "st_altscore" then alphabetically.
*/
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
sug_compare(const void *s1, const void *s2)
{
suggest_T *p1 = (suggest_T *)s1;

View File

@ -4802,19 +4802,12 @@ node_equal(wordnode_T *n1, wordnode_T *n2)
return p1 == NULL && p2 == NULL;
}
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
rep_compare(const void *s1, const void *s2);
static int rep_compare(const void *s1, const void *s2);
/*
* Function given to qsort() to sort the REP items on "from" string.
*/
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
rep_compare(const void *s1, const void *s2)
{
fromto_T *p1 = (fromto_T *)s1;

View File

@ -5348,9 +5348,6 @@ syn_cmd_region(
* A simple syntax group ID comparison function suitable for use in qsort()
*/
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
syn_compare_stub(const void *v1, const void *v2)
{
const short *s1 = v1;
@ -6703,9 +6700,6 @@ typedef struct
} time_entry_T;
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
syn_compare_syntime(const void *v1, const void *v2)
{
const time_entry_T *s1 = v1;

View File

@ -55,16 +55,8 @@ static char *e_nofunc = N_("E130: Unknown function: %s");
static void func_do_profile(ufunc_T *fp);
static void prof_sort_list(FILE *fd, ufunc_T **sorttab, int st_len, char *title, int prefer_self);
static void prof_func_line(FILE *fd, int count, proftime_T *total, proftime_T *self, int prefer_self);
static int
# ifdef __BORLANDC__
_RTLENTRYF
# endif
prof_total_cmp(const void *s1, const void *s2);
static int
# ifdef __BORLANDC__
_RTLENTRYF
# endif
prof_self_cmp(const void *s1, const void *s2);
static int prof_total_cmp(const void *s1, const void *s2);
static int prof_self_cmp(const void *s1, const void *s2);
#endif
static void funccal_unref(funccall_T *fc, ufunc_T *fp, int force);
@ -2794,9 +2786,6 @@ prof_func_line(
* Compare function for total time sorting.
*/
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
prof_total_cmp(const void *s1, const void *s2)
{
ufunc_T *p1, *p2;
@ -2810,9 +2799,6 @@ prof_total_cmp(const void *s1, const void *s2)
* Compare function for self time sorting.
*/
static int
#ifdef __BORLANDC__
_RTLENTRYF
#endif
prof_self_cmp(const void *s1, const void *s2)
{
ufunc_T *p1, *p2;

View File

@ -767,6 +767,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1306,
/**/
1305,
/**/

View File

@ -17,24 +17,6 @@
# define MSWIN
#endif
// use fastcall for Borland, when compiling for MS-Windows
#if defined(__BORLANDC__) && defined(MSWIN) && !defined(DEBUG)
#if defined(FEAT_PERL) || \
defined(FEAT_PYTHON) || \
defined(FEAT_PYTHON3) || \
defined(FEAT_RUBY) || \
defined(FEAT_TCL) || \
defined(FEAT_MZSCHEME) || \
defined(DYNAMIC_GETTEXT) || \
defined(DYNAMIC_ICONV) || \
defined(DYNAMIC_IME) || \
defined(XPM)
#pragma option -pc
# else
#pragma option -pr
# endif
#endif
#ifdef MSWIN
# include "vimio.h"
#endif
@ -2163,11 +2145,6 @@ typedef enum {
# define BROWSE_DIR 2 /* flag for do_browse() */
#endif
/* stop using fastcall for Borland */
#if defined(__BORLANDC__) && defined(MSWIN) && !defined(DEBUG)
#pragma option -p.
#endif
#ifdef _MSC_VER
/* Avoid useless warning "conversion from X to Y of greater size". */
#pragma warning(disable : 4312)
@ -2344,9 +2321,6 @@ typedef enum {
# undef FF
# undef OP_DELETE
# undef OP_JOIN
# ifdef __BORLANDC__
# define NOPROTO 1
# endif
/* remove MAX and MIN, included by glib.h, redefined by sys/param.h */
# ifdef MAX
# undef MAX
@ -2374,10 +2348,6 @@ typedef enum {
# undef bool
# endif
# ifdef __BORLANDC__
/* Borland has the structure stati64 but not _stati64 */
# define _stati64 stati64
# endif
#endif
/* values for vim_handle_signal() that are not a signal */

View File

@ -12,11 +12,7 @@
#include <winver.h>
#include "version.h"
#include "gui_w32_rc.h"
// #if defined(__BORLANDC__) || defined(__CYGWIN32__) || defined(__MINGW32__)
# include <winresrc.h>
// #else
// # include <winres.h>
// #endif
#include <winresrc.h>
//
// Icons

View File

@ -23,11 +23,6 @@
#endif
#include <windows.h>
#ifdef __BORLANDC__
# define _kbhit kbhit
# define _getch getch
#endif
int
main(void)
{

View File

@ -1,18 +0,0 @@
# The most simplistic Makefile for Win32 (NT and Windows 95).
# Used for Borland C++.
!if ("$(BOR)"=="")
BOR = c:\bc5
!endif
!if ("$(BCC)"=="")
BCC = bcc32
!endif
xxd: xxd.exe
xxd.exe: xxd.c
$(BCC) -I$(BOR)\include -L$(BOR)\lib -DWIN32 xxd.c $(BOR)\lib\wildargs.obj
clean:
- del xxd.obj
- del xxd.exe

View File

@ -81,7 +81,7 @@
#else
# include <fcntl.h>
#endif
#if defined(WIN32) || defined(__BORLANDC__) || defined(CYGWIN)
#if defined(WIN32) || defined(CYGWIN)
# include <io.h> /* for setmode() */
#else
# ifdef UNIX
@ -96,12 +96,6 @@
# include <unix.h> /* for fdopen() on MAC */
#endif
#if defined(__BORLANDC__) && __BORLANDC__ <= 0x0410 && !defined(fileno)
/* Missing define and prototype grabbed from the BC 4.0 <stdio.h> */
# define fileno(f) ((f)->fd)
FILE _FAR *_Cdecl _FARFUNC fdopen(int __handle, char _FAR *__type);
#endif
/* This corrects the problem of missing prototypes for certain functions
* in some GNU installations (e.g. SunOS 4.1.x).
@ -190,7 +184,7 @@ char osver[] = "";
#endif
#ifndef __P
# if defined(__STDC__) || defined(WIN32) || defined(__BORLANDC__)
# if defined(__STDC__) || defined(WIN32)
# define __P(a) a
# else
# define __P(a) ()