|
|
|
# Make file for Scintilla on Windows Visual C++ version
|
|
|
|
# Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>
|
|
|
|
# The License.txt file describes the conditions under which this software may be distributed.
|
|
|
|
# This makefile is for using Visual C++ with nmake.
|
|
|
|
# Usage for Microsoft:
|
|
|
|
# nmake -f scintilla.mak
|
|
|
|
# For debug versions define DEBUG on the command line:
|
|
|
|
# nmake DEBUG=1 -f scintilla.mak
|
|
|
|
# The main makefile uses mingw32 gcc and may be more current than this file.
|
|
|
|
|
|
|
|
.SUFFIXES: .cxx
|
|
|
|
|
|
|
|
DIR_O=.
|
|
|
|
DIR_BIN=..\bin
|
|
|
|
|
|
|
|
COMPONENT=$(DIR_BIN)\Scintilla.dll
|
|
|
|
LIBSCI=$(DIR_BIN)\libscintilla.lib
|
|
|
|
|
|
|
|
LD=link
|
|
|
|
|
|
|
|
!IFDEF SUPPORT_XP
|
|
|
|
ADD_DEFINE=-D_USING_V110_SDK71_
|
|
|
|
# Different subsystems for 32-bit and 64-bit Windows XP so detect based on Platform
|
|
|
|
# environment variable set by vcvars*.bat to be either x86 or x64
|
|
|
|
!IF "$(PLATFORM)" == "x64"
|
|
|
|
SUBSYSTEM=-SUBSYSTEM:WINDOWS,5.02
|
|
|
|
!ELSE
|
|
|
|
SUBSYSTEM=-SUBSYSTEM:WINDOWS,5.01
|
|
|
|
!ENDIF
|
|
|
|
!ELSE
|
|
|
|
CETCOMPAT=-CETCOMPAT
|
|
|
|
!IFDEF ARM64
|
|
|
|
ADD_DEFINE=-D_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1
|
|
|
|
SUBSYSTEM=-SUBSYSTEM:WINDOWS,10.00
|
|
|
|
!ENDIF
|
|
|
|
!ENDIF
|
|
|
|
|
Update scintilla 5.3.4 and lexilla 5.2.4 with:
https://www.scintilla.org/scintilla534.zip
Released 8 March 2023.
Add multithreaded wrap to significantly improve performance of wrapping large files.
More typesafe bindings of *Full APIs in ScintillaCall. Feature #1477.
Fix overlapping of text with line end wrap marker. Bug #2378.
Fix clipping of line end wrap symbol for SC_WRAPVISUALFLAGLOC_END_BY_TEXT.
Where a multi-byte character contains multiple styles, display each byte as a representation. This makes it easier to see and fix lexers that change styles mid-character, commonly because they use fixed size buffers.
Fix a potential crash with autocompletion list fill-ups where a SCN_CHARADDED handler retriggered an autocompletion list, but with no items that match the typed character.
lexilla523
Released 8 March 2023.
Add scripts/PromoteNew.bat script to promote .new files after checking.
Makefile: Remove 1024-byte line length limit..
Ruby: Add new lexical classes for % literals SCE_RB_STRING_W (%w non-interpolable string array), SCE_RB_STRING_I (%i non-interpolable symbol array), SCE_RB_STRING_QI (%I interpolable symbol array), and SCE_RB_STRING_QS (%s symbol). Issue #124.
Ruby: Disambiguate %= which may be a quote or modulo assignment. Issue #124, Bug #1255, Bug #2182.
Ruby: Fix additional fold level for single character in SCE_RB_STRING_QW. Issue #132.
Ruby: Set SCE_RB_HERE_QQ for unquoted and double-quoted heredocs and SCE_RB_HERE_QX for backticks-quoted heredocs. Issue #134.
Ruby: Recognise #{} inside SCE_RB_HERE_QQ and SCE_RB_HERE_QX. Issue #134.
Ruby: Improve regex and heredoc recognition. Issue #136.
Ruby: Highlight #@, #@@ and #$ style interpolation. Issue #140.
Ruby: Fix folding for multiple heredocs started on one line. Fix folding when there is a space after heredoc opening delimiter. Issue #135.
YAML: Remove 1024-byte line length limit.
https://www.scintilla.org/lexilla524.zip
Released 13 March 2023.
C++: Fix failure to recognize keywords containing upper case. Issue #149.
GDScript: Support % and $ node paths. Issue #145, Pull request #146.
Close #13338
2 years ago
|
|
|
CRTFLAGS=-D_CRT_SECURE_NO_DEPRECATE=1 $(ADD_DEFINE)
|
|
|
|
CXXFLAGS=-Zi -TP -MP -W4 -EHsc -std:c++17 $(CRTFLAGS)
|
|
|
|
CXXDEBUG=-Od -MTd -DDEBUG
|
|
|
|
CXXNDEBUG=-O2 -MT -DNDEBUG -GL
|
|
|
|
NAME=-Fo
|
|
|
|
LDFLAGS=-OPT:REF -LTCG -IGNORE:4197 -DEBUG $(SUBSYSTEM) $(CETCOMPAT)
|
|
|
|
LDDEBUG=
|
|
|
|
LIBS=KERNEL32.lib USER32.lib GDI32.lib IMM32.lib OLE32.lib OLEAUT32.lib MSIMG32.lib
|
|
|
|
NOLOGO=-nologo
|
|
|
|
|
|
|
|
!IFDEF QUIET
|
|
|
|
CXX=@$(CXX)
|
|
|
|
CXXFLAGS=$(CXXFLAGS) $(NOLOGO)
|
|
|
|
LDFLAGS=$(LDFLAGS) $(NOLOGO)
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!IFDEF NO_CXX11_REGEX
|
|
|
|
CXXFLAGS=$(CXXFLAGS) -DNO_CXX11_REGEX
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!IFDEF DEBUG
|
|
|
|
CXXFLAGS=$(CXXFLAGS) $(CXXDEBUG)
|
|
|
|
LDFLAGS=$(LDDEBUG) $(LDFLAGS)
|
|
|
|
!ELSE
|
|
|
|
CXXFLAGS=$(CXXFLAGS) $(CXXNDEBUG)
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
INCLUDES=-I../include -I../src
|
|
|
|
CXXFLAGS=$(CXXFLAGS) $(INCLUDES)
|
|
|
|
|
|
|
|
all: $(COMPONENT) $(LIBSCI)
|
|
|
|
|
|
|
|
clean:
|
|
|
|
-del /q $(DIR_O)\*.obj $(DIR_O)\*.pdb $(DIR_O)\*.asm $(COMPONENT) \
|
|
|
|
$(DIR_O)\*.res $(DIR_BIN)\*.map $(DIR_BIN)\*.exp $(DIR_BIN)\*.pdb \
|
|
|
|
$(DIR_BIN)\Scintilla.lib $(LIBSCI)
|
|
|
|
|
|
|
|
depend:
|
|
|
|
pyw DepGen.py
|
|
|
|
|
|
|
|
# Required for base Scintilla
|
|
|
|
SRC_OBJS=\
|
|
|
|
$(DIR_O)\AutoComplete.obj \
|
|
|
|
$(DIR_O)\CallTip.obj \
|
|
|
|
$(DIR_O)\CaseConvert.obj \
|
|
|
|
$(DIR_O)\CaseFolder.obj \
|
|
|
|
$(DIR_O)\CellBuffer.obj \
|
|
|
|
$(DIR_O)\ChangeHistory.obj \
|
|
|
|
$(DIR_O)\CharacterCategoryMap.obj \
|
|
|
|
$(DIR_O)\CharacterType.obj \
|
|
|
|
$(DIR_O)\CharClassify.obj \
|
|
|
|
$(DIR_O)\ContractionState.obj \
|
|
|
|
$(DIR_O)\DBCS.obj \
|
|
|
|
$(DIR_O)\Decoration.obj \
|
|
|
|
$(DIR_O)\Document.obj \
|
|
|
|
$(DIR_O)\EditModel.obj \
|
|
|
|
$(DIR_O)\Editor.obj \
|
|
|
|
$(DIR_O)\EditView.obj \
|
|
|
|
$(DIR_O)\Geometry.obj \
|
|
|
|
$(DIR_O)\Indicator.obj \
|
|
|
|
$(DIR_O)\KeyMap.obj \
|
|
|
|
$(DIR_O)\LineMarker.obj \
|
|
|
|
$(DIR_O)\MarginView.obj \
|
|
|
|
$(DIR_O)\PerLine.obj \
|
|
|
|
$(DIR_O)\PositionCache.obj \
|
|
|
|
$(DIR_O)\RESearch.obj \
|
|
|
|
$(DIR_O)\RunStyles.obj \
|
|
|
|
$(DIR_O)\Selection.obj \
|
|
|
|
$(DIR_O)\Style.obj \
|
|
|
|
$(DIR_O)\UniConversion.obj \
|
|
|
|
$(DIR_O)\UniqueString.obj \
|
|
|
|
$(DIR_O)\ViewStyle.obj \
|
|
|
|
$(DIR_O)\XPM.obj
|
|
|
|
|
|
|
|
|
|
|
|
# To have PCRE boost regex with header only is integrated and not just the one from std
|
|
|
|
!INCLUDE ../../boostregex/nppSpecifics.mak
|
|
|
|
|
|
|
|
COMPONENT_OBJS = \
|
|
|
|
$(DIR_O)\HanjaDic.obj \
|
|
|
|
$(DIR_O)\PlatWin.obj \
|
|
|
|
$(DIR_O)\ScintillaBase.obj \
|
|
|
|
$(DIR_O)\ScintillaWin.obj \
|
|
|
|
$(SRC_OBJS)
|
|
|
|
|
|
|
|
SHARED_OBJS = \
|
|
|
|
$(DIR_O)\ScintillaDLL.obj
|
|
|
|
|
|
|
|
$(DIR_O)\ScintRes.res : ScintRes.rc
|
|
|
|
$(RC) -fo$@ $**
|
|
|
|
|
|
|
|
$(COMPONENT): $(COMPONENT_OBJS) $(SHARED_OBJS) $(DIR_O)\ScintRes.res
|
|
|
|
$(LD) $(LDFLAGS) -DEF:Scintilla.def -DLL -OUT:$@ $** $(LIBS)
|
|
|
|
|
|
|
|
$(LIBSCI): $(COMPONENT_OBJS)
|
|
|
|
LIB /OUT:$@ $**
|
|
|
|
|
|
|
|
# Define how to build all the objects and what they depend on
|
|
|
|
|
|
|
|
{..\src}.cxx{$(DIR_O)}.obj::
|
|
|
|
$(CXX) $(CXXFLAGS) -c $(NAME)$(DIR_O)\ $<
|
|
|
|
{.}.cxx{$(DIR_O)}.obj::
|
|
|
|
$(CXX) $(CXXFLAGS) -c $(NAME)$(DIR_O)\ $<
|
|
|
|
|
|
|
|
# Dependencies
|
|
|
|
|
|
|
|
!IF EXISTS(nmdeps.mak)
|
|
|
|
|
|
|
|
# Protect with !IF EXISTS to handle accidental deletion - just 'nmake -f scintilla.mak depend'
|
|
|
|
|
|
|
|
!INCLUDE nmdeps.mak
|
|
|
|
|
|
|
|
!ENDIF
|
|
|
|
|