diff --git a/eclipse.platform.swt.binaries/pom.xml b/eclipse.platform.swt.binaries/pom.xml
index 5a2d0d8..3d3af6a 100644
--- a/eclipse.platform.swt.binaries/pom.xml
+++ b/eclipse.platform.swt.binaries/pom.xml
@@ -56,6 +56,7 @@
bundles/org.eclipse.swt.cocoa.macosx.x86_64
bundles/org.eclipse.swt.gtk.linux.arm
bundles/org.eclipse.swt.gtk.linux.aarch64
+ bundles/org.eclipse.swt.gtk.linux.loongarch64
bundles/org.eclipse.swt.gtk.linux.ppc64le
bundles/org.eclipse.swt.gtk.linux.s390x
bundles/org.eclipse.swt.gtk.linux.x86
diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh
index c783f77..746ea70 100755
--- a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh
+++ b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh
@@ -112,6 +112,10 @@ case $MODEL in
SWT_ARCH=x86
AWT_ARCH=i386
;;
+ "loongarch64")
+ SWT_ARCH=loongarch64
+ AWT_ARCH=loongarch64
+ ;;
*)
SWT_ARCH=$MODEL
AWT_ARCH=$MODEL
@@ -180,6 +184,17 @@ case $SWT_OS.$SWT_ARCH in
export PKG_CONFIG_PATH="/usr/lib64/pkgconfig/"
fi
;;
+ "linux.loongarch64")
+ if [ "${CC}" = "" ]; then
+ export CC=gcc
+ fi
+ if [ "${JAVA_HOME}" = "" ]; then
+ export JAVA_HOME=`readlink -f /usr/bin/java | sed "s:jre/bin/java::"`
+ fi
+ if [ "${PKG_CONFIG_PATH}" = "" ]; then
+ export PKG_CONFIG_PATH="/usr/lib64/pkgconfig/"
+ fi
+ ;;
"linux.s390x")
if [ "${CC}" = "" ]; then
export CC=gcc
@@ -195,7 +210,7 @@ esac
# For 64-bit CPUs, we have a switch
-if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ia64' -o ${MODEL} = 's390x' -o ${MODEL} = 'ppc64le' -o ${MODEL} = 'aarch64' ]; then
+if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ia64' -o ${MODEL} = 's390x' -o ${MODEL} = 'ppc64le' -o ${MODEL} = 'aarch64' -o ${MODEL} = 'loongarch64' ]; then
SWT_PTR_CFLAGS=-DJNI64
if [ -d /lib64 ]; then
XLIB64=-L/usr/X11R6/lib64
@@ -215,6 +230,11 @@ if [ ${MODEL} = 'x86' -a ${SWT_OS} = 'linux' ]; then
export SWT_LFLAGS SWT_PTR_CFLAGS
fi
+if [ ${MODEL} = 'loongarch64' -a ${SWT_OS} = 'linux' ]; then
+ SWT_LFLAGS=-o32
+ export SWT_LFLAGS SWT_PTR_CFLAGS
+fi
+
if [ x`pkg-config --exists cairo && echo YES` = "xYES" ]; then
func_echo_plus "Cairo found, compiling SWT support for the cairo graphics library."
MAKE_CAIRO=make_cairo
@@ -365,4 +385,4 @@ elif [ "${GTK_VERSION}" = "4.0" ]; then
elif [ "${GTK_VERSION}" = "3.0" -o "${GTK_VERSION}" = "" ]; then
export GTK_VERSION="3.0"
func_build_gtk3 "$@"
-fi
\ No newline at end of file
+fi
diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf b/eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf
index b5b0b82..b9494a3 100644
--- a/eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf
+++ b/eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf
@@ -44,3 +44,8 @@ requires.9.namespace = org.eclipse.equinox.p2.iu
requires.9.name = org.eclipse.swt.gtk.linux.x86
requires.9.range = [$version$,$version$]
requires.9.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=x86)(!(org.eclipse.swt.buildtime=true)))
+
+requires.10.namespace = org.eclipse.equinox.p2.iu
+requires.10.name = org.eclipse.swt.gtk.linux.loongarch64
+requires.10.range = [$version$,$version$]
+requires.10.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=loongarch64)(!(org.eclipse.swt.buildtime=true)))
diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml b/eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml
index bf4faf7..04a0e3d 100644
--- a/eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml
+++ b/eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml
@@ -69,6 +69,10 @@
+
+
+
+
@@ -80,12 +84,12 @@
-
+
-
+
@@ -122,6 +126,13 @@
trust="true"
outputproperty="m_linux_x86_64_output"
command="hostname"/>
+
+
diff --git a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh
index 43136d3..a905ab5 100755
--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh
+++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh
@@ -101,6 +101,11 @@ case $defaultOS in
defaultJavaHome=`readlink -f /usr/bin/java | sed "s:jre/bin/java::"`
OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch"
;;
+ "loongarch64")
+ defaultOSArch="loongarch64"
+ defaultJava=DEFAULT_JAVA_EXEC
+ OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch"
+ ;;
"s390")
defaultOSArch="s390"
defaultJava=DEFAULT_JAVA_EXEC
diff --git a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/pom.xml b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/pom.xml
index cce14c4..c2db96e 100644
--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/pom.xml
+++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/pom.xml
@@ -129,6 +129,7 @@
+
diff --git a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/resources/build.properties b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/resources/build.properties
index 741e9b3..6146da7 100644
--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/resources/build.properties
+++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/resources/build.properties
@@ -29,3 +29,6 @@ root.macosx.cocoa.x86_64.permissions.755=Contents/MacOS/${launcherName}
root.linux.gtk.x86_64=bin/gtk/linux/x86_64,gtk_root
root.linux.gtk.x86_64.permissions.755=libcairo-swt.so
+root.linux.gtk.loongarch64=bin/gtk/linux/loongarch64,gtk_root
+root.linux.gtk.loongarch64.permissions.755=launcher
+
diff --git a/rt.equinox.framework/pom.xml b/rt.equinox.framework/pom.xml
index 44c1737..02de3f1 100644
--- a/rt.equinox.framework/pom.xml
+++ b/rt.equinox.framework/pom.xml
@@ -61,6 +61,18 @@
bundles/org.eclipse.equinox.launcher.gtk.linux.arm
+
+ build-native-launchers-gtk.linux.loongarch64
+
+
+ native
+ gtk.linux.loongarch64
+
+
+
+ bundles/org.eclipse.equinox.launcher.gtk.linux.loongarch64
+
+
build-native-launchers-gtk.linux.aarch64
@@ -110,6 +122,7 @@
bundles/org.eclipse.equinox.launcher.cocoa.macosx.x86_64
bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64le
bundles/org.eclipse.equinox.launcher.gtk.linux.x86_64
+ bundles/org.eclipse.equinox.launcher.gtk.linux.loongarch64
bundles/org.eclipse.equinox.launcher.win32.win32.x86_64
bundles/org.eclipse.osgi.tests
diff --git a/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml b/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
index 134aaea..3dd4d45 100644
--- a/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
+++ b/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
@@ -324,6 +324,16 @@
version="0.0.0"
fragment="true"/>
+
+
+
+
+
+
-XstartOnFirstThread
-
+
windows
diff --git a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties
index 7f6dc63..5c81817 100644
--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties
+++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties
@@ -44,3 +44,6 @@ root.linux.gtk.s390x.permissions.755=launcher
root.linux.gtk.x86=bin/gtk/linux/x86,gtk_root
root.linux.gtk.x86.permissions.755=launcher
+
+root.linux.gtk.loongarch64=bin/gtk/linux/loongarch64,gtk_root
+root.linux.gtk.loongarch64.permissions.755=launcher