mirror of
https://github.com/notepad-plus-plus/notepad-plus-plus.git
synced 2025-08-14 14:28:25 +02:00
update to Scinitlla Release 5.3.5 (https://www.scintilla.org/scintilla535.zip) Released 31 May 2023. On Win32, implement IME context sensitivity with IMR_DOCUMENTFEED. Feature #1310. On Win32 remove dependence on MSIMG32.DLL by replacing AlphaBlend by GdiAlphaBlend. Bug #1923. On Qt, stop movement of IME candidate box. On Qt, report correct caret position within paragraph for IME retrieve surrounding text. On Qt for Cocoa, fix crash in entry of multi-character strings with IME. and Lexilla Release 5.2.5 (https://www.scintilla.org/lexilla525.zip) Released 31 May 2023. Add CharacterSetArray constructor without setBase initial argument for common case where this is setNone and the initialSet argument completely defines the characters. This shortens and clarifies use of CharacterSetArray. Bash: implement highlighting inside quoted elements and here-docs. Controlled with properties lexer.bash.styling.inside.string, lexer.bash.styling.inside.backticks, lexer.bash.styling.inside.parameter, and lexer.bash.styling.inside.heredoc. Issue #154, Issue #153, Feature #1033. Bash: add property lexer.bash.command.substitution to choose how to style command substitutions. 0 → SCE_SH_BACKTICKS; 1 → surrounding "$(" and ")" as operators and contents styled as bash code; 2 → use distinct styles (base style + 64) for contents. Choice (2) is a provisional feature and details may change before it is finalized. Issue #153. Bash: fix nesting of parameters (SCE_SH_PARAM) like ${var/$sub/"${rep}}"}. Issue #154. Bash: fix single character special parameters like $? by limiting style. Issue #154. Bash: treat "$$" as special parameter and end scalars before "$". Issue #154. Bash: treat "<<" in arithmetic contexts as left bitwise shift operator instead of here-doc. Issue #137. Batch: style SCE_BAT_AFTER_LABEL used for rest of line after label which is not executed. Issue #148. F#: Lex interpolated verbatim strings as verbatim. Issue #156. VB: allow multiline strings when lexer.vb.strings.multiline set. Issue #151. Close #13729
152 lines
3.8 KiB
Makefile
152 lines
3.8 KiB
Makefile
# 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
|
|
|
|
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
|
|
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
|
|
|