1 Star 0 Fork 28

Suyun/eclipse

forked from src-openEuler/eclipse 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
add_loongarch-support.patch 13.72 KB
一键复制 编辑 原始数据 按行查看 历史
lsfyl 提交于 2023-08-09 15:49 +08:00 . Add Loongarch64 support
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 @@
<module>bundles/org.eclipse.swt.cocoa.macosx.x86_64</module>
<module>bundles/org.eclipse.swt.gtk.linux.arm</module>
<module>bundles/org.eclipse.swt.gtk.linux.aarch64</module>
+ <module>bundles/org.eclipse.swt.gtk.linux.loongarch64</module>
<module>bundles/org.eclipse.swt.gtk.linux.ppc64le</module>
<module>bundles/org.eclipse.swt.gtk.linux.s390x</module>
<module>bundles/org.eclipse.swt.gtk.linux.x86</module>
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 @@
<param name="library_count" value="8"/>
<param name="fragment" value="org.eclipse.swt.gtk.linux.x86_64"/>
</antcall>
+ <antcall target="check_fragment_libraries">
+ <param name="library_count" value="8"/>
+ <param name="fragment" value="org.eclipse.swt.gtk.linux.loongarch64"/>
+ </antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="4"/>
<param name="fragment" value="org.eclipse.swt.win32.win32.x86_64"/>
@@ -80,12 +84,12 @@
<property name="checkdir" value="~/build/check_libraries"/>
<property name="library_count" value="23"/>
<property name="fragment" value=""/>
- <fileset id="match" dir="${repo.bin}/bundles/${fragment}" includes="**/org.eclipse.swt.gtk.linux.ppc64le/**, **/org.eclipse.swt.gtk.linux.x86_64/**, **/org.eclipse.swt.win32.win32.x86_64/**, **/org.eclipse.swt.cocoa.macosx.*/**">
+ <fileset id="match" dir="${repo.bin}/bundles/${fragment}" includes="**/org.eclipse.swt.gtk.linux.ppc64le/**, **/org.eclipse.swt.gtk.linux.loongarch64/**, **/org.eclipse.swt.gtk.linux.x86_64/**, **/org.eclipse.swt.win32.win32.x86_64/**, **/org.eclipse.swt.cocoa.macosx.*/**">
<filename regex="[0-9][0-9][0-9][0-9]."/>
<filename regex="${swt_version}."/>
<exclude name="**/.git/**"/>
</fileset>
- <fileset id="not_match" dir="${repo.bin}/bundles/${fragment}" includes="**/org.eclipse.swt.gtk.linux.ppc64le/**, **/org.eclipse.swt.gtk.linux.x86_64/**, **/org.eclipse.swt.win32.win32.x86_64/**, **/org.eclipse.swt.cocoa.macosx.*/**">
+ <fileset id="not_match" dir="${repo.bin}/bundles/${fragment}" includes="**/org.eclipse.swt.gtk.linux.ppc64le/**, **/org.eclipse.swt.gtk.linux.ppc64le/**, **/org.eclipse.swt.gtk.linux.x86_64/**, **/org.eclipse.swt.win32.win32.x86_64/**, **/org.eclipse.swt.cocoa.macosx.*/**">
<filename regex="[0-9][0-9][0-9][0-9]."/>
<filename regex="${swt_version}." negate="true"/>
<exclude name="**/.git/**"/>
@@ -122,6 +126,13 @@
trust="true"
outputproperty="m_linux_x86_64_output"
command="hostname"/>
+ <sshexec host="${m_linux_loongarch64}"
+ username="swtbuild"
+ keyfile="${keyfile}"
+ failonerror="false"
+ trust="true"
+ outputproperty="m_linux_loongarch64_output"
+ command="hostname"/>
<sshexec host="${m_linux_ppc64le}"
port="2256"
username="swtbuild"
diff --git a/eclipse.platform.ui/features/org.eclipse.e4.rcp/pom.xml b/eclipse.platform.ui/features/org.eclipse.e4.rcp/pom.xml
index 57809d6..c7b2d41 100644
--- a/eclipse.platform.ui/features/org.eclipse.e4.rcp/pom.xml
+++ b/eclipse.platform.ui/features/org.eclipse.e4.rcp/pom.xml
@@ -44,6 +44,7 @@
<plugin id="org.eclipse.equinox.launcher.win32.win32.x86_64"/>
<plugin id="org.eclipse.equinox.launcher.gtk.linux.arm" />
<plugin id="org.eclipse.equinox.launcher.gtk.linux.aarch64" />
+ <plugin id="org.eclipse.equinox.launcher.gtk.linux.loongarch64" />
<plugin id="org.eclipse.equinox.launcher.gtk.linux.s390x" />
<plugin id="org.eclipse.equinox.launcher.gtk.linux.x86" />
<plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" />
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 @@
<include name="cocoa/macosx/x86_64/**/*"/>
<include name="gtk/linux/arm/**/*"/>
<include name="gtk/linux/aarch64/**/*"/>
+ <include name="gtk/linux/loongarch64/**/*"/>
<include name="gtk/linux/ppc64le/**/*"/>
<include name="gtk/linux/s390x/**/*"/>
<include name="gtk/linux/x86/**/*"/>
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 @@
<module>bundles/org.eclipse.equinox.launcher.gtk.linux.arm</module>
</modules>
</profile>
+ <profile>
+ <id>build-native-launchers-gtk.linux.loongarch64</id>
+ <activation>
+ <property>
+ <name>native</name>
+ <value>gtk.linux.loongarch64</value>
+ </property>
+ </activation>
+ <modules>
+ <module>bundles/org.eclipse.equinox.launcher.gtk.linux.loongarch64</module>
+ </modules>
+ </profile>
<profile>
<id>build-native-launchers-gtk.linux.aarch64</id>
<activation>
@@ -110,6 +122,7 @@
<module>bundles/org.eclipse.equinox.launcher.cocoa.macosx.x86_64</module>
<module>bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64le</module>
<module>bundles/org.eclipse.equinox.launcher.gtk.linux.x86_64</module>
+ <module>bundles/org.eclipse.equinox.launcher.gtk.linux.loongarch64</module>
<module>bundles/org.eclipse.equinox.launcher.win32.win32.x86_64</module>
<module>bundles/org.eclipse.osgi.tests</module>
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"/>
+ <plugin
+ id="org.eclipse.equinox.launcher.gtk.linux.loongarch64"
+ os="linux"
+ ws="gtk"
+ arch="loongarch64"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ fragment="true"/>
+
<plugin
id="org.eclipse.equinox.launcher.gtk.linux.s390x"
os="linux"
@@ -468,6 +478,17 @@
fragment="true"
unpack="false"/>
+ <plugin
+ id="org.eclipse.swt.gtk.linux.loongarch64"
+ os="linux"
+ ws="gtk"
+ arch="loongarch64"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ fragment="true"
+ unpack="false"/>
+
<plugin
id="org.eclipse.swt.gtk.linux.x86"
os="linux"
diff --git a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/feature.xml b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/feature.xml
index c7fab60..af3d531 100755
--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/feature.xml
+++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/feature.xml
@@ -51,6 +51,16 @@
version="0.0.0"
fragment="true"/>
+ <plugin
+ id="org.eclipse.equinox.launcher.gtk.linux.loongarch64"
+ os="linux"
+ ws="gtk"
+ arch="loongarch64"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ fragment="true"/>
+
<plugin
id="org.eclipse.equinox.launcher.win32.win32.x86_64"
os="win32"
diff --git a/eclipse.platform.swt/pom.xml b/eclipse.platform.swt/pom.xml
index b101bc0..22e1590 100644
--- a/eclipse.platform.swt/pom.xml
+++ b/eclipse.platform.swt/pom.xml
@@ -80,7 +80,7 @@
<os-jvm-flags>-XstartOnFirstThread</os-jvm-flags>
</properties>
</profile>
- <profile>
+ <!--profile>
<id>unix</id>
<activation>
<os>
@@ -91,7 +91,7 @@
<modules>
<module>tests/org.eclipse.swt.tests.gtk</module>
</modules>
- </profile>
+ </profile-->
<profile>
<id>windows</id>
<activation>
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
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/Suyun114/eclipse.git
git@gitee.com:Suyun114/eclipse.git
Suyun114
eclipse
eclipse
master

搜索帮助