To: vim_dev@googlegroups.com Subject: Patch 8.1.1306 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.1.1306 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) Files: .gitignore, .hgignore, Filelist, runtime/doc/debug.txt, runtime/doc/develop.txt, runtime/doc/usr_90.txt, src/GvimExt/Make_bc5.mak, src/GvimExt/gvimext.cpp, src/GvimExt/gvimext.rc, src/INSTALLpc.txt, src/Make_bc5.mak, src/dosinst.c, src/dosinst.h, src/evalfunc.c, src/ex_cmds.c, src/ex_getln.c, src/gui_w32.c, src/if_ole.cpp, src/if_py_both.h, src/main.c, src/mark.c, src/message.c, src/misc1.c, src/misc2.c, src/normal.c, src/option.c, src/os_mswin.c, src/os_w32exe.c, src/os_win32.c, src/os_win32.h, src/proto.h, src/screen.c, src/spell.c, src/spellfile.c, src/syntax.c, src/userfunc.c, src/vim.h, src/vim.rc, src/vimrun.c, src/xxd/Make_bc5.mak, src/xxd/xxd.c *** ../vim-8.1.1305/.gitignore 2019-05-07 21:48:15.625291418 +0200 --- .gitignore 2019-05-09 15:08:50.086239830 +0200 *************** *** 43,56 **** runtime/doc/uganda.nsis.txt nsis/icons/* - # Borland C++ - bcc.cfg - *.ilc - *.ild - *.ilf - *.ils - *.tds - # NetBeans nbproject/* --- 43,48 ---- *** ../vim-8.1.1305/.hgignore 2019-05-07 21:48:15.625291418 +0200 --- .hgignore 2019-05-09 15:08:50.086239830 +0200 *************** *** 45,58 **** runtime/doc/uganda.nsis.txt nsis/icons/* - # Borland C++ - bcc.cfg - *.ilc - *.ild - *.ilf - *.ils - *.tds - # NetBeans nbproject/* --- 45,50 ---- *** ../vim-8.1.1305/Filelist 2019-05-07 22:25:23.486167275 +0200 --- Filelist 2019-05-09 15:08:50.086239830 +0200 *************** *** 421,427 **** 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 \ --- 421,426 ---- *************** *** 474,480 **** 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 \ --- 473,478 ---- *** ../vim-8.1.1305/runtime/doc/debug.txt 2019-05-07 22:25:23.486167275 +0200 --- runtime/doc/debug.txt 2019-05-09 15:08:50.086239830 +0200 *************** *** 80,88 **** 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. *debug-vs2005* --- 80,87 ---- If you have Visual Studio, use that instead of the VC Toolkit and WinDbg. ! For other compilers, you should always use the corresponding debugger: gdb ! (see above |debug-gcc|) for the Cygwin and MinGW compilers. *debug-vs2005* *** ../vim-8.1.1305/runtime/doc/develop.txt 2019-05-05 18:11:46.308590707 +0200 --- runtime/doc/develop.txt 2019-05-09 15:08:50.086239830 +0200 *************** *** 278,284 **** 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 --- 278,283 ---- *** ../vim-8.1.1305/runtime/doc/usr_90.txt 2019-05-05 18:11:46.328590595 +0200 --- runtime/doc/usr_90.txt 2019-05-09 15:08:50.086239830 +0200 *************** *** 281,289 **** 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. ============================================================================== *90.3* Upgrading --- 281,288 ---- 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 MinGW ! and Cygwin compilers can be used. Check the file src/INSTALLpc.txt for hints. ============================================================================== *90.3* Upgrading *** ../vim-8.1.1305/src/GvimExt/Make_bc5.mak 2010-05-15 13:04:10.000000000 +0200 --- src/GvimExt/Make_bc5.mak 1970-01-01 01:00:00.000000000 +0100 *************** *** 1,43 **** - ### 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 --- 0 ---- *** ../vim-8.1.1305/src/GvimExt/gvimext.cpp 2018-12-16 14:37:35.845271247 +0100 --- src/GvimExt/gvimext.cpp 2019-05-09 15:08:50.090239809 +0200 *************** *** 16,29 **** #include "gvimext.h" - #ifdef __BORLANDC__ - # include - # 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 --- 16,22 ---- *************** *** 917,923 **** return TRUE; } - #ifndef __BORLANDC__ static char * searchpath(char *name) { --- 910,915 ---- *************** *** 937,943 **** } return (char *)""; } - #endif STDMETHODIMP CShellExt::InvokeGvim(HWND hParent, LPCSTR /* pszWorkingDir */, --- 929,934 ---- *** ../vim-8.1.1305/src/GvimExt/gvimext.rc 2010-05-15 13:04:10.000000000 +0200 --- src/GvimExt/gvimext.rc 2019-05-09 15:08:50.090239809 +0200 *************** *** 7,15 **** // // Generated from the TEXTINCLUDE 2 resource. // ! #ifndef __BORLANDC__ ! # include "winresrc.h" ! #endif ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS --- 7,13 ---- // // Generated from the TEXTINCLUDE 2 resource. // ! #include "winresrc.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS *** ../vim-8.1.1305/src/INSTALLpc.txt 2019-05-07 22:25:23.486167275 +0200 --- src/INSTALLpc.txt 2019-05-09 15:08:50.090239809 +0200 *************** *** 25,45 **** 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 ! 18. Installing after building from sources The currently recommended way (that means it has been verified to work) is --- 25,44 ---- 2. Using MSYS2 with MinGW 3. Using MinGW 4. Cygwin ! 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 ! 17. Installing after building from sources The currently recommended way (that means it has been verified to work) is *************** *** 451,464 **** 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 ================================================= [Update of 1) needs to be verified] --- 450,456 ---- with the other makefiles). ! 5. Cross compiling for Win32 from a Linux machine ================================================= [Update of 1) needs to be verified] *************** *** 478,484 **** Now you have created the Windows binary from your Linux box! Have fun... ! 7. Building with Python support =============================== For building with MSVC 2008 the "Windows Installer" from www.python.org --- 470,476 ---- Now you have created the Windows binary from your Linux box! Have fun... ! 6. Building with Python support =============================== For building with MSVC 2008 the "Windows Installer" from www.python.org *************** *** 539,545 **** You will end up with a Python-enabled, Win32 version. Enjoy! ! 8. Building with Python3 support ================================ For building with MSVC 2008 the "Windows Installer" from www.python.org --- 531,537 ---- You will end up with a Python-enabled, Win32 version. Enjoy! ! 7. Building with Python3 support ================================ For building with MSVC 2008 the "Windows Installer" from www.python.org *************** *** 576,582 **** libstdc++-6.dll.) ! 9. Building with Racket or MzScheme support ======================================== 1) Building with Racket support (newest) --- 568,574 ---- libstdc++-6.dll.) ! 8. Building with Racket or MzScheme support ======================================== 1) Building with Racket support (newest) *************** *** 666,672 **** ! 10. Building with Lua support ============================ Vim with Lua support can be built with either MSVC or MinGW (or maybe Cygwin). --- 658,664 ---- ! 9. Building with Lua support ============================ Vim with Lua support can be built with either MSVC or MinGW (or maybe Cygwin). *************** *** 721,727 **** LUA=/cygdrive/c/projects/lua53 DYNAMIC_LUA=yes LUA_VER=53 ! 11. Building with Perl support ============================== Vim with Perl support can be built with either MSVC or MinGW (or Cygwin). --- 713,719 ---- LUA=/cygdrive/c/projects/lua53 DYNAMIC_LUA=yes LUA_VER=53 ! 10. Building with Perl support ============================== Vim with Perl support can be built with either MSVC or MinGW (or Cygwin). *************** *** 747,753 **** PERL=C:/Perl DYNAMIC_PERL=yes PERL_VER=522 ! 12. Building with Ruby support ============================== Vim with Ruby support can be built with either MSVC or MinGW (or Cygwin). --- 739,745 ---- PERL=C:/Perl DYNAMIC_PERL=yes PERL_VER=522 ! 11. Building with Ruby support ============================== Vim with Ruby support can be built with either MSVC or MinGW (or Cygwin). *************** *** 855,861 **** ! 13. Building with Tcl support ============================= Vim with Tcl support can be built with either MSVC or MinGW (or Cygwin). --- 847,853 ---- ! 12. Building with Tcl support ============================= Vim with Tcl support can be built with either MSVC or MinGW (or Cygwin). *************** *** 894,900 **** TCL=C:/Tcl86 DYNAMIC_TCL=yes TCL_VER=86 TCL_VER_LONG=8.6 ! 14. Building with Terminal support ================================== Vim with Terminal support can be built with either MSVC, MinGW or Cygwin. --- 886,892 ---- TCL=C:/Tcl86 DYNAMIC_TCL=yes TCL_VER=86 TCL_VER_LONG=8.6 ! 13. Building with Terminal support ================================== Vim with Terminal support can be built with either MSVC, MinGW or Cygwin. *************** *** 910,916 **** mingw32-make -f Make_ming.mak TERMINAL=yes ! 15. Building with DirectX (DirectWrite) support =============================================== Vim with DirectX (DirectWrite) support can be built with either MSVC or MinGW. --- 902,908 ---- mingw32-make -f Make_ming.mak TERMINAL=yes ! 14. Building with DirectX (DirectWrite) support =============================================== Vim with DirectX (DirectWrite) support can be built with either MSVC or MinGW. *************** *** 944,963 **** mingw32-make -f Make_ming.mak DIRECTX=yes ! 16. Windows 3.1x ================ The Windows 3.1x support was removed in patch 7.4.1364. ! 17. 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 ========================================== [provided by Michael Soyka, updated by Ken Takata] --- 936,955 ---- mingw32-make -f Make_ming.mak DIRECTX=yes ! 15. Windows 3.1x ================ The Windows 3.1x support was removed in patch 7.4.1364. ! 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. ! 17. Installing after building from sources ========================================== [provided by Michael Soyka, updated by Ken Takata] *** ../vim-8.1.1305/src/Make_bc5.mak 2019-04-27 13:03:20.000715982 +0200 --- src/Make_bc5.mak 1970-01-01 01:00:00.000000000 +0100 *************** *** 1,983 **** - # - # 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: - # \bin\make /f Make_bc5.mak BOR= - # - - # 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: - --- 0 ---- *** ../vim-8.1.1305/src/dosinst.c 2019-04-04 20:31:59.094873282 +0200 --- src/dosinst.c 2019-05-09 15:08:50.090239809 +0200 *************** *** 10,16 **** /* * 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. */ /* --- 10,16 ---- /* * dosinst.c: Install program for Vim on MS-DOS and MS-Windows * ! * Compile with Make_mvc.mak, Make_cyg.mak or Make_ming.mak. */ /* *** ../vim-8.1.1305/src/dosinst.h 2019-02-22 19:40:57.693250456 +0100 --- src/dosinst.h 2019-05-09 15:08:50.090239809 +0200 *************** *** 47,57 **** #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 #endif #define sleep(n) Sleep((n) * 1000) --- 47,53 ---- #if defined(UNIX_LINT) # define vim_mkdir(x, y) mkdir((char *)(x), y) #else ! # define vim_mkdir(x, y) _mkdir((char *)(x)) #endif #define sleep(n) Sleep((n) * 1000) *************** *** 150,159 **** #endif } - #ifdef __BORLANDC__ - /* Borland defines its own searchpath() in dir.h */ - # include - #else static char * searchpath(char *name) { --- 146,151 ---- *************** *** 173,179 **** } return NULL; } - #endif /* * Call searchpath() and save the result in allocated memory, or return NULL. --- 165,170 ---- *************** *** 463,474 **** /* * 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) { --- 454,459 ---- *************** *** 478,484 **** return (len_read > 0 && len_read < (DWORD)len) ? buf : NULL; } - #endif /* * Remove the tail from a file or directory name. --- 463,468 ---- *** ../vim-8.1.1305/src/evalfunc.c 2019-05-09 14:52:22.079358841 +0200 --- src/evalfunc.c 2019-05-09 15:08:50.090239809 +0200 *************** *** 12500,12515 **** } #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); /* struct used in the array that's given to qsort() */ typedef struct --- 12500,12507 ---- } #endif ! 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,12548 **** * 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; --- 12532,12537 ---- *************** *** 12627,12635 **** } static int - #ifdef __BORLANDC__ - _RTLENTRYF - #endif item_compare2(const void *s1, const void *s2) { sortItem_T *si1, *si2; --- 12616,12621 ---- *** ../vim-8.1.1305/src/ex_cmds.c 2019-05-01 18:08:38.267237229 +0200 --- src/ex_cmds.c 2019-05-09 15:08:50.094239787 +0200 *************** *** 29,39 **** 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 void prepare_help_buffer(void); /* --- 29,35 ---- static int check_readonly(int *forceit, buf_T *buf); static void delbuf_msg(char_u *name); ! static int help_compare(const void *s1, const void *s2); static void prepare_help_buffer(void); /* *************** *** 314,329 **** } st_u; } sorti_T; ! static int ! #ifdef __BORLANDC__ ! _RTLENTRYF ! #endif ! 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; --- 310,318 ---- } st_u; } sorti_T; ! static int sort_compare(const void *s1, const void *s2); static int sort_compare(const void *s1, const void *s2) { sorti_T l1 = *(sorti_T *)s1; *************** *** 6580,6588 **** * 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; --- 6569,6574 ---- *** ../vim-8.1.1305/src/ex_getln.c 2019-04-27 13:03:20.008715938 +0200 --- src/ex_getln.c 2019-05-09 15:08:50.094239787 +0200 *************** *** 125,135 **** #endif #if defined(FEAT_CMDL_COMPL) || defined(PROTO) ! static int ! #ifdef __BORLANDC__ ! _RTLENTRYF ! #endif ! sort_func_compare(const void *s1, const void *s2); #endif --- 125,131 ---- #endif #if defined(FEAT_CMDL_COMPL) || defined(PROTO) ! static int sort_func_compare(const void *s1, const void *s2); #endif *************** *** 3803,3811 **** #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; --- 3799,3804 ---- *************** *** 6855,6863 **** #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; --- 6848,6853 ---- *** ../vim-8.1.1305/src/gui_w32.c 2019-05-09 13:50:13.362401997 +0200 --- src/gui_w32.c 2019-05-09 15:08:50.094239787 +0200 *************** *** 1303,1311 **** 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)) --- 1303,1308 ---- *************** *** 3799,3807 **** * 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 --- 3796,3801 ---- *************** *** 5521,5527 **** * First static functions (no prototypes generated). */ # ifdef _MSC_VER ! # include /* Apparently not needed for Cygwin, MingW or Borland. */ # endif # include --- 5515,5521 ---- * First static functions (no prototypes generated). */ # ifdef _MSC_VER ! # include /* Apparently not needed for Cygwin or MinGW. */ # endif # include *************** *** 6272,6286 **** void gui_mch_flush(void) { - # if defined(__BORLANDC__) - /* - * The GdiFlush declaration (in Borland C 5.01 ) 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); --- 6266,6271 ---- *** ../vim-8.1.1305/src/if_ole.cpp 2019-02-18 21:41:34.477750367 +0100 --- src/if_ole.cpp 2019-05-09 15:08:50.094239787 +0200 *************** *** 12,35 **** * * 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 #include extern "C" { - #ifdef __BORLANDC__ - # include "vim.h" - #endif extern HWND s_hwnd; extern HWND vim_parent_hwnd; } --- 12,25 ---- *** ../vim-8.1.1305/src/if_py_both.h 2019-05-07 22:06:48.679310672 +0200 --- src/if_py_both.h 2019-05-09 15:08:50.094239787 +0200 *************** *** 13,23 **** * 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 --- 13,18 ---- *** ../vim-8.1.1305/src/main.c 2019-05-08 22:28:41.677765838 +0200 --- src/main.c 2019-05-09 15:08:50.094239787 +0200 *************** *** 98,106 **** # endif int # ifdef MSWIN - # ifdef __BORLANDC__ - _cdecl - # endif VimMain # else main --- 98,103 ---- *** ../vim-8.1.1305/src/mark.c 2019-04-27 22:40:03.927661368 +0200 --- src/mark.c 2019-05-09 15:08:50.094239787 +0200 *************** *** 1950,1958 **** * 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; --- 1950,1955 ---- *** ../vim-8.1.1305/src/message.c 2019-05-08 22:28:41.681765816 +0200 --- src/message.c 2019-05-09 15:08:50.094239787 +0200 *************** *** 357,365 **** int vim_snprintf(char *str, size_t str_m, const char *fmt, ...); int - # ifdef __BORLANDC__ - _RTLENTRYF - # endif smsg(const char *s, ...) { va_list arglist; --- 357,362 ---- *************** *** 371,379 **** } int - # ifdef __BORLANDC__ - _RTLENTRYF - # endif smsg_attr(int attr, const char *s, ...) { va_list arglist; --- 368,373 ---- *************** *** 385,393 **** } int - # ifdef __BORLANDC__ - _RTLENTRYF - # endif smsg_attr_keep(int attr, const char *s, ...) { va_list arglist; --- 379,384 ---- *************** *** 3091,3097 **** (isatty(2) && strcmp("/dev/console", ttyname(2)) != 0) # else isatty(2) ! # endif # ifdef FEAT_GUI || # endif --- 3082,3088 ---- (isatty(2) && strcmp("/dev/console", ttyname(2)) != 0) # else isatty(2) ! # endif # ifdef FEAT_GUI || # endif *** ../vim-8.1.1305/src/misc1.c 2019-04-10 22:15:15.809016828 +0200 --- src/misc1.c 2019-05-09 15:08:50.098239766 +0200 *************** *** 5626,5643 **** * 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 pstrcmp(const void *a, const void *b) { return (pathcmp(*(char **)a, *(char **)b, -1)); --- 5626,5636 ---- * File name expansion code for MS-DOS, Win16 and Win32. It's here because * it's shared between these systems. */ /* * comparison function for qsort in dos_expandpath() */ ! static int pstrcmp(const void *a, const void *b) { return (pathcmp(*(char **)a, *(char **)b, -1)); *** ../vim-8.1.1305/src/misc2.c 2019-05-08 21:58:54.446597033 +0200 --- src/misc2.c 2019-05-09 15:08:50.098239766 +0200 *************** *** 3912,3927 **** /* * Sort an array of strings. */ ! static int ! #ifdef __BORLANDC__ ! _RTLENTRYF ! #endif ! 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); --- 3912,3920 ---- /* * Sort an array of strings. */ ! static int sort_compare(const void *s1, const void *s2); static int sort_compare(const void *s1, const void *s2) { return STRCMP(*(char **)s1, *(char **)s2); *** ../vim-8.1.1305/src/normal.c 2019-05-08 22:54:26.023509040 +0200 --- src/normal.c 2019-05-09 15:08:50.098239766 +0200 *************** *** 27,37 **** #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 void op_colon(oparg_T *oap); static void op_function(oparg_T *oap); #if defined(FEAT_MOUSE) --- 27,33 ---- #ifdef FEAT_EVAL static void set_vcount_ca(cmdarg_T *cap, int *set_prevcount); #endif ! 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,430 **** * through the index in nv_cmd_idx[]. */ static int - #ifdef __BORLANDC__ - _RTLENTRYF - #endif nv_compare(const void *s1, const void *s2) { int c1, c2; --- 418,423 ---- *** ../vim-8.1.1305/src/option.c 2019-05-05 16:54:59.505931038 +0200 --- src/option.c 2019-05-09 15:08:50.098239766 +0200 *************** *** 12561,12571 **** #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. */ --- 12561,12566 ---- *************** *** 12582,12592 **** for (p = p_breakat; *p; p++) breakat_flags[*p] = TRUE; } - - # if defined(__BORLANDC__) && (__BORLANDC__ < 0x500) - #pragma option -O.l - # endif - #endif /* --- 12577,12582 ---- *** ../vim-8.1.1305/src/os_mswin.c 2019-04-28 19:46:17.034060084 +0200 --- src/os_mswin.c 2019-05-09 15:08:50.098239766 +0200 *************** *** 172,197 **** 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 --- 172,177 ---- *************** *** 374,403 **** int force UNUSED) { int nResult = FAIL; ! #ifdef __BORLANDC__ ! if (*fname == NUL) /* Borland behaves badly here - make it consistent */ ! nResult = mch_dirname(buf, len); ! else ! #endif { ! 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) ! { ! vim_strncpy(buf, cname, len - 1); ! nResult = OK; ! } } - vim_free(wname); - vim_free(cname); } #ifdef USE_FNAME_CASE fname_case(buf, len); --- 354,375 ---- int force UNUSED) { int nResult = FAIL; + 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) { ! vim_strncpy(buf, cname, len - 1); ! nResult = OK; } } + vim_free(wname); + vim_free(cname); #ifdef USE_FNAME_CASE fname_case(buf, len); *************** *** 2044,2052 **** * Clean up on exit. This destroys the hidden message window. */ static void - #ifdef __BORLANDC__ - _RTLENTRYF - #endif CleanUpMessaging(void) { if (message_window != 0) --- 2016,2021 ---- *** ../vim-8.1.1305/src/os_w32exe.c 2019-04-28 19:46:17.034060084 +0200 --- src/os_w32exe.c 2019-05-09 15:08:50.098239766 +0200 *************** *** 15,33 **** */ #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); #ifndef VIMDLL ! void _cdecl SaveInst(HINSTANCE hInst); #endif #ifndef PROTO --- 15,27 ---- */ #include "vim.h" // cproto doesn't create a prototype for VimMain() #ifdef VIMDLL __declspec(dllimport) #endif ! int VimMain(int argc, char **argv); #ifndef VIMDLL ! void SaveInst(HINSTANCE hInst); #endif #ifndef PROTO *** ../vim-8.1.1305/src/os_win32.c 2019-05-07 23:01:34.241209371 +0200 --- src/os_win32.c 2019-05-09 15:08:50.098239766 +0200 *************** *** 146,156 **** # 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; --- 146,151 ---- *************** *** 941,949 **** /* The return code indicates key code size. */ static int - #ifdef __BORLANDC__ - __stdcall - #endif win32_kbd_patch_key( KEY_EVENT_RECORD *pker) { --- 936,941 ---- *************** *** 6695,6702 **** 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; --- 6687,6692 ---- *************** *** 6707,6722 **** 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 } /* --- 6697,6702 ---- *** ../vim-8.1.1305/src/os_win32.h 2019-04-28 19:46:17.034060084 +0200 --- src/os_win32.h 2019-05-09 15:08:50.098239766 +0200 *************** *** 53,64 **** #define FEAT_SHORTCUT /* resolve shortcuts */ ! #if (!defined(__BORLANDC__) || __BORLANDC__ >= 0x550) \ ! && (!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. */ # define HAVE_ACL #endif --- 53,62 ---- #define FEAT_SHORTCUT /* resolve shortcuts */ ! #if (!defined(_MSC_VER) || _MSC_VER > 1020) /* * Access Control List (actually security info). ! * MSVC has acl stuff only in 5.0, not in 4.2, don't know about 4.3. */ # define HAVE_ACL #endif *************** *** 142,149 **** # 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 * expected to have this. Any other compilers that support it? */ # define HAVE_TRY_EXCEPT 1 # include /* for _resetstkoflw() */ --- 140,147 ---- # define IO_REPARSE_TAG_SYMLINK 0xA000000C #endif ! #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 /* for _resetstkoflw() */ *************** *** 206,216 **** # 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 /* Enable common dialogs input unicode from IME if possible. */ #define pDispatchMessage DispatchMessageW --- 204,210 ---- # define HAVE_SETENV #endif #define mch_getenv(x) (char_u *)getenv((char *)(x)) ! #define vim_mkdir(x, y) mch_mkdir(x) /* Enable common dialogs input unicode from IME if possible. */ #define pDispatchMessage DispatchMessageW *** ../vim-8.1.1305/src/proto.h 2019-04-27 13:03:20.008715938 +0200 --- src/proto.h 2019-05-09 15:08:50.098239766 +0200 *************** *** 42,49 **** # include "os_win32.pro" # include "os_mswin.pro" # include "winclip.pro" ! # if (defined(__GNUC__) && !defined(__MINGW32__)) \ ! || (defined(__BORLANDC__) && __BORLANDC__ < 0x502) extern int _stricoll(char *a, char *b); # endif # endif --- 42,48 ---- # include "os_win32.pro" # include "os_mswin.pro" # include "winclip.pro" ! # if (defined(__GNUC__) && !defined(__MINGW32__)) extern int _stricoll(char *a, char *b); # endif # endif *************** *** 108,180 **** # endif /* These prototypes cannot be produced automatically. */ ! int ! # ifdef __BORLANDC__ ! _RTLENTRYF ! # endif ! smsg(const char *, ...) #ifdef USE_PRINTF_FORMAT_ATTRIBUTE __attribute__((format(printf, 1, 0))) #endif ; ! int ! # ifdef __BORLANDC__ ! _RTLENTRYF ! # endif ! 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 *, ...) #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 *, ...) #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 *, ...) #ifdef USE_PRINTF_FORMAT_ATTRIBUTE __attribute__((format(printf, 1, 0))) #endif ; ! int ! # ifdef __BORLANDC__ ! _RTLENTRYF ! # endif ! 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 *, ...) #ifdef USE_PRINTF_FORMAT_ATTRIBUTE __attribute__((format(printf, 3, 4))) #endif --- 107,151 ---- # endif /* These prototypes cannot be produced automatically. */ ! int smsg(const char *, ...) #ifdef USE_PRINTF_FORMAT_ATTRIBUTE __attribute__((format(printf, 1, 0))) #endif ; ! int smsg_attr(int, const char *, ...) #ifdef USE_PRINTF_FORMAT_ATTRIBUTE __attribute__((format(printf, 2, 3))) #endif ; ! 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 semsg(const char *, ...) #ifdef USE_PRINTF_FORMAT_ATTRIBUTE __attribute__((format(printf, 1, 0))) #endif ; /* These prototypes cannot be produced automatically. */ ! void siemsg(const char *, ...) #ifdef USE_PRINTF_FORMAT_ATTRIBUTE __attribute__((format(printf, 1, 0))) #endif ; ! int vim_snprintf_add(char *, size_t, const char *, ...) #ifdef USE_PRINTF_FORMAT_ATTRIBUTE __attribute__((format(printf, 3, 4))) #endif ; ! int vim_snprintf(char *, size_t, const char *, ...) #ifdef USE_PRINTF_FORMAT_ATTRIBUTE __attribute__((format(printf, 3, 4))) #endif *************** *** 209,215 **** # endif # include "search.pro" # ifdef FEAT_SIGNS ! # include "sign.pro" # endif # include "spell.pro" # include "spellfile.pro" --- 180,186 ---- # endif # include "search.pro" # ifdef FEAT_SIGNS ! # include "sign.pro" # endif # include "spell.pro" # include "spellfile.pro" *************** *** 337,349 **** */ #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 --- 308,314 ---- *************** *** 357,364 **** void clip_mch_request_selection(VimClipboard *cbd); void clip_mch_set_selection(VimClipboard *cbd); #endif - - #ifdef __BORLANDC__ - # define _PROTO_H - #endif #endif /* !PROTO && !NOPROTO */ --- 322,325 ---- *** ../vim-8.1.1305/src/screen.c 2019-05-08 20:20:42.596141850 +0200 --- src/screen.c 2019-05-09 15:08:50.102239745 +0200 *************** *** 2945,2953 **** static buf_T *current_buf = NULL; static int - #ifdef __BORLANDC__ - _RTLENTRYF - #endif text_prop_compare(const void *s1, const void *s2) { int idx1, idx2; --- 2945,2950 ---- *** ../vim-8.1.1305/src/spell.c 2019-04-10 22:15:15.817016767 +0200 --- src/spell.c 2019-05-09 15:08:50.102239745 +0200 *************** *** 6760,6779 **** } } ! static int ! #ifdef __BORLANDC__ ! _RTLENTRYF ! #endif ! 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; --- 6760,6772 ---- } } ! 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 sug_compare(const void *s1, const void *s2) { suggest_T *p1 = (suggest_T *)s1; *** ../vim-8.1.1305/src/spellfile.c 2019-01-24 17:18:37.595462334 +0100 --- src/spellfile.c 2019-05-09 15:08:50.102239745 +0200 *************** *** 4802,4820 **** return p1 == NULL && p2 == NULL; } ! static int ! #ifdef __BORLANDC__ ! _RTLENTRYF ! #endif ! 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; --- 4802,4813 ---- return p1 == NULL && p2 == NULL; } ! static int rep_compare(const void *s1, const void *s2); /* * Function given to qsort() to sort the REP items on "from" string. */ static int rep_compare(const void *s1, const void *s2) { fromto_T *p1 = (fromto_T *)s1; *** ../vim-8.1.1305/src/syntax.c 2019-04-28 19:46:17.034060084 +0200 --- src/syntax.c 2019-05-09 15:08:50.102239745 +0200 *************** *** 5348,5356 **** * 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; --- 5348,5353 ---- *************** *** 6703,6711 **** } time_entry_T; static int - #ifdef __BORLANDC__ - _RTLENTRYF - #endif syn_compare_syntime(const void *v1, const void *v2) { const time_entry_T *s1 = v1; --- 6700,6705 ---- *** ../vim-8.1.1305/src/userfunc.c 2019-04-21 00:00:07.946354820 +0200 --- src/userfunc.c 2019-05-09 15:08:50.102239745 +0200 *************** *** 55,70 **** 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); #endif static void funccal_unref(funccall_T *fc, ufunc_T *fp, int force); --- 55,62 ---- 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 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,2802 **** * 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; --- 2786,2791 ---- *************** *** 2810,2818 **** * 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; --- 2799,2804 ---- *** ../vim-8.1.1305/src/vim.h 2019-04-28 18:04:56.062492159 +0200 --- src/vim.h 2019-05-09 15:08:50.102239745 +0200 *************** *** 17,40 **** # 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 --- 17,22 ---- *************** *** 2163,2173 **** # 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) --- 2145,2150 ---- *************** *** 2344,2352 **** # 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 --- 2321,2326 ---- *************** *** 2374,2383 **** # 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 */ --- 2348,2353 ---- *** ../vim-8.1.1305/src/vim.rc 2019-04-28 19:46:17.034060084 +0200 --- src/vim.rc 2019-05-09 15:08:50.102239745 +0200 *************** *** 12,22 **** #include #include "version.h" #include "gui_w32_rc.h" ! // #if defined(__BORLANDC__) || defined(__CYGWIN32__) || defined(__MINGW32__) ! # include ! // #else ! // # include ! // #endif // // Icons --- 12,18 ---- #include #include "version.h" #include "gui_w32_rc.h" ! #include // // Icons *** ../vim-8.1.1305/src/vimrun.c 2018-02-04 14:41:37.000000000 +0100 --- src/vimrun.c 2019-05-09 15:08:50.102239745 +0200 *************** *** 23,33 **** #endif #include - #ifdef __BORLANDC__ - # define _kbhit kbhit - # define _getch getch - #endif - int main(void) { --- 23,28 ---- *** ../vim-8.1.1305/src/xxd/Make_bc5.mak 2010-05-15 13:04:06.000000000 +0200 --- src/xxd/Make_bc5.mak 1970-01-01 01:00:00.000000000 +0100 *************** *** 1,18 **** - # 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 --- 0 ---- *** ../vim-8.1.1305/src/xxd/xxd.c 2019-03-02 07:15:20.217458790 +0100 --- src/xxd/xxd.c 2019-05-09 15:08:50.102239745 +0200 *************** *** 81,87 **** #else # include #endif ! #if defined(WIN32) || defined(__BORLANDC__) || defined(CYGWIN) # include /* for setmode() */ #else # ifdef UNIX --- 81,87 ---- #else # include #endif ! #if defined(WIN32) || defined(CYGWIN) # include /* for setmode() */ #else # ifdef UNIX *************** *** 96,107 **** # include /* for fdopen() on MAC */ #endif - #if defined(__BORLANDC__) && __BORLANDC__ <= 0x0410 && !defined(fileno) - /* Missing define and prototype grabbed from the BC 4.0 */ - # 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). --- 96,101 ---- *************** *** 190,196 **** #endif #ifndef __P ! # if defined(__STDC__) || defined(WIN32) || defined(__BORLANDC__) # define __P(a) a # else # define __P(a) () --- 184,190 ---- #endif #ifndef __P ! # if defined(__STDC__) || defined(WIN32) # define __P(a) a # else # define __P(a) () *** ../vim-8.1.1305/src/version.c 2019-05-09 14:52:22.083358820 +0200 --- src/version.c 2019-05-09 15:08:22.442384375 +0200 *************** *** 769,770 **** --- 769,772 ---- { /* Add new patch number below this line */ + /**/ + 1306, /**/ -- ERIC IDLE PLAYED: THE DEAD COLLECTOR, MR BINT (A VILLAGE NE'ER-DO -WELL VERY KEEN ON BURNING WITCHES), SIR ROBIN, THE GUARD WHO DOESN'T HICOUGH BUT TRIES TO GET THINGS STRAIGHT, CONCORDE (SIR LAUNCELOT'S TRUSTY STEED), ROGER THE SHRUBBER (A SHRUBBER), BROTHER MAYNARD "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///