--- scite/gtk/makefile	2020-09-11 18:44:44.000000000 +0800
+++ scite/gtk/makefile	2024-06-14 21:44:14.000000000 +0800
@@ -16,14 +16,15 @@
 ifdef CLANG
 # Can choose aspect to sanitize: address and undefined can simply change SANITIZE but for
 # thread also need to create Position Independent Executable -> search online documentation
-SANITIZE = address
+#SANITIZE = address
 #SANITIZE = undefined
-CXX = clang++
-CC = clang
-BASE_FLAGS += -fsanitize=$(SANITIZE)
+#CXX = clang++
+#CC = clang
+#BASE_FLAGS += -fsanitize=$(SANITIZE)
 WARNINGS += -Wno-deprecated-register
 WARNINGS += -Wno-empty-body
 else
+CXXFLAGS += @CXX_ABI_FLAG@
 WARNINGS += -Wno-misleading-indentation
 endif
 PKG_CONFIG ?= pkg-config
@@ -40,7 +41,7 @@
 ifdef gnomeprefix
   prefix=$(gnomeprefix)
 else
-  prefix=/usr
+  prefix=$(prefix)
 endif
 endif
 datadir=$(prefix)/share
@@ -54,18 +55,26 @@
 
 PROG	= $(srcdir)/../bin/SciTE
 # make should be run in ../../scintilla/gtk to compile all the lexers.
-SHAREDEXTENSION = $(if $(windir),dll,so)
+ifdef windir
+    SHAREDEXTENSION = dll
+else
+    ifeq ($(shell uname),Darwin)
+        SHAREDEXTENSION = dylib
+    else
+        SHAREDEXTENSION = so
+    endif
+endif
 COMPLIB=$(SCINTILLA_DIR)/bin/scintilla.a
 COMPONENT=$(srcdir)/../bin/libscintilla.$(SHAREDEXTENSION)
 LEXILLA=$(srcdir)/../bin/liblexilla.$(SHAREDEXTENSION)
 
-all: $(PROG) $(COMPONENT) $(LEXILLA)
+all: $(PROG)
 
 vpath %.h $(srcdir) $(srcdir)/../src $(SCINTILLA_DIR)/include
 vpath %.cxx $(srcdir) $(srcdir)/../src
 
 INCLUDES=-I $(SCINTILLA_DIR)/include -I $(srcdir)/../src
-DEFINES += -DGTK
+DEFINES += -D__unix__ -DGTK
 DEFINES += -DPIXMAP_PATH=\"$(pixmapdir)\" -DSYSCONF_PATH=\"$(SYSCONF_PATH)\"
 
 DEFINES += -D$(if $(DEBUG),DEBUG,NDEBUG)
@@ -93,7 +102,7 @@
 DEFINES += -DNO_LUA
 endif
 
-LIBS += -lm -lstdc++
+LIBS += -lm
 
 UNAME:=$(shell uname -s)
 ifeq ($(UNAME), Linux)
@@ -104,13 +113,13 @@
 endif
 
 %.o: %.cxx
-	$(CXX) $(CPPFLAGS) --std=c++17 $(DEFINES) $(INCLUDES) $(WARNINGS) $(CONFIGFLAGS) $(BASE_FLAGS) $(CXXFLAGS) -c $< -o $@
+	$(CXX) $(CPPFLAGS) -std=c++17 $(DEFINES) $(INCLUDES) $(WARNINGS) $(CONFIGFLAGS) $(BASE_FLAGS) $(CXXFLAGS) -c $< -o $@
 
 clean:
 	rm -f *.o *.plist $(PROG)
 
 analyze:
-	clang --analyze --std=c++17 $(DEFINES) $(INCLUDES) $(WARNINGS) $(CONFIGFLAGS) $(BASE_FLAGS) $(CXXFLAGS) $(srcdir)/*.cxx $(srcdir)/../src/*.cxx
+	clang --analyze -std=c++17 $(DEFINES) $(INCLUDES) $(WARNINGS) $(CONFIGFLAGS) $(BASE_FLAGS) $(CXXFLAGS) $(srcdir)/*.cxx $(srcdir)/../src/*.cxx
 
 depend deps.mak:
 	$(PYTHON) AppDepGen.py
@@ -151,7 +160,7 @@
 	Utf8_16.o
 
 $(PROG): SciTEGTK.o GUIGTK.o Widget.o DirectorExtension.o $(SRC_OBJS) $(LUA_OBJS)
-	$(CXX) $(BASE_FLAGS) $(LDFLAGS) -rdynamic -Wl,--as-needed -Wl,-rpath,'$${ORIGIN}' -Wl,--version-script $(srcdir)/lua.vers -Wl,-rpath,$(libdir) $^ -o $@ $(CONFIGLIB) $(LIBS) -L ../../scintilla/bin -lscintilla $(LDLIBS)
+	$(CXX) $(BASE_FLAGS) $(LDFLAGS) -Wl,-rpath,$(libdir) $^ -o $@ $(CONFIGLIB) $(LIBS) -L ../../scintilla/bin -lscintilla $(LDLIBS)
 
 # Automatically generate header dependencies with "make deps"
 include deps.mak

--- scintilla/gtk/makefile	2020-09-11 18:44:28.000000000 +0800
+++ scintilla/gtk/makefile	2024-06-14 21:45:38.000000000 +0800
@@ -16,8 +16,8 @@
 
 WARNINGS = -Wpedantic -Wall
 ifdef CLANG
-CXX = clang++
-CC = clang
+#CXX = clang++
+#CC = clang
 WARNINGS += -Wno-deprecated-register
 ifdef windir
 # Turn off some warnings that occur when Clang is being used on Windows where it
@@ -33,9 +33,11 @@
 endif
 # Can choose aspect to sanitize: address and undefined can simply change SANITIZE but for
 # thread also need to create Position Independent Executable -> search online documentation
-SANITIZE = address
+# SANITIZE = address
 #SANITIZE = undefined
-BASE_FLAGS += -fsanitize=$(SANITIZE)
+# BASE_FLAGS += -fsanitize=$(SANITIZE)
+else
+CXXFLAGS += @CXX_ABI_FLAG@
 endif
 ARFLAGS = rc
 RANLIB ?= ranlib
@@ -58,7 +60,17 @@
 
 PYTHON = $(if $(windir),pyw,python3)
 
-SHAREDEXTENSION = $(if $(windir),dll,so)
+ifdef windir
+    SHAREDEXTENSION = dll
+else
+    ifeq ($(shell uname),Darwin)
+        LDFLAGS += -dynamiclib
+        SHAREDEXTENSION = dylib
+    else
+        SHAREDEXTENSION = so
+    endif
+endif
+
 
 ifdef windir
 CC = gcc
@@ -66,7 +78,7 @@
 LEXILLA = lexilla.dll
 else
 DEL = rm -f
-LEXILLA = liblexilla.so
+LEXILLA = liblexilla.$(SHAREDEXTENSION)
 endif
 COMPLIB=$(basedir)/bin/scintilla.a
 COMPONENT=$(basedir)/bin/libscintilla.$(SHAREDEXTENSION)
@@ -75,8 +87,8 @@
 vpath %.c $(srcdir)
 vpath %.cxx $(srcdir) $(basedir)/src $(basedir)/lexlib $(basedir)/lexers
 
-INCLUDES=-I $(basedir)/include -I $(basedir)/src -I $(basedir)/lexlib
-DEFINES += -DGTK -DSCI_LEXER
+INCLUDES = -I $(basedir)/include -I $(basedir)/src -I $(basedir)/lexlib
+DEFINES += -D__unix__ -DGTK -DSCI_LEXER
 BASE_FLAGS += $(WARNINGS)
 
 ifdef NO_CXX11_REGEX
@@ -86,8 +98,8 @@
 DEFINES += -D$(if $(DEBUG),DEBUG,NDEBUG)
 BASE_FLAGS += $(if $(DEBUG),-g,-Os)
 
-CXX_BASE_FLAGS =--std=c++17 $(BASE_FLAGS)
-CXX_ALL_FLAGS =$(DEFINES) $(INCLUDES) $(CXX_BASE_FLAGS) $(CONFIG_FLAGS)
+CXX_BASE_FLAGS = -std=c++17 $(BASE_FLAGS)
+CXX_ALL_FLAGS = $(DEFINES) $(INCLUDES) $(CXX_BASE_FLAGS) $(CONFIG_FLAGS)
 
 CONFIG_FLAGS:=$(shell $(PKG_CONFIG) --cflags $(GTK_VERSION))
 CONFIGLIB:=$(shell $(PKG_CONFIG) --libs $(GTK_VERSION) gmodule-no-export-2.0)

--- scintilla/lexilla/src/makefile	2020-06-01 07:08:11.000000000 +0800
+++ scintilla/lexilla/src/makefile	2024-06-14 22:13:55.000000000 +0800
@@ -26,7 +26,6 @@
 else
     SHARED_NAME = liblexilla
     ifeq ($(shell uname),Darwin)
-        CLANG := 1
         LDFLAGS += -dynamiclib
         SHAREDEXTENSION = dylib
     else
@@ -38,14 +37,16 @@
 LEXILLA=$(DIR_BIN)/$(SHARED_NAME).$(SHAREDEXTENSION)
 LIBLEXILLA=$(DIR_BIN)/liblexilla.a
 
-BASE_FLAGS += --std=c++17
+BASE_FLAGS += -std=c++17
 
 ifdef CLANG
-CXX = clang++
+#CXX = clang++
 ifdef windir
 # Clang on Win32 uses MSVC headers so will complain about strcpy without this
 DEFINES += -D_CRT_SECURE_NO_DEPRECATE=1
 endif
+else
+CXXFLAGS += @CXX_ABI_FLAG@
 endif
 
 ifdef windir
