fix sw_64 mips64el build error

(cherry picked from commit 5417bfc56e95011c55f6f0efe1cb7509722e26ac)
This commit is contained in:
Hailiang 2025-03-15 14:43:23 +08:00 committed by openeuler-sync-bot
parent 214bb0c5d8
commit 98e001d5ee
3 changed files with 61 additions and 1 deletions

View File

@ -0,0 +1,41 @@
diff -Naur a/include/libEMF/wine/winnt.h b/include/libEMF/wine/winnt.h
--- a/include/libEMF/wine/winnt.h 2024-11-18 14:36:40.978903092 +0800
+++ b/include/libEMF/wine/winnt.h 2024-11-18 14:47:14.007013642 +0800
@@ -41,6 +41,10 @@
# undef WORDS_BIGENDIAN
# undef BITFIELDS_BIGENDIAN
# undef ALLOW_UNALIGNED_ACCESS
+#elif defined(__sw_64__)
+# undef WORDS_BIGENDIAN
+# undef BITFIELDS_BIGENDIAN
+# undef ALLOW_UNALIGNED_ACCESS
#elif defined(__arm__)
# undef WORDS_BIGENDIAN
# undef BITFIELDS_BIGENDIAN
@@ -274,7 +278,7 @@
typedef int INT, *PINT, *LPINT;
typedef unsigned int UINT, *PUINT, *LPUINT;
/* Not sure this is correct. Probably should depend on the compiler, too. */
-#if defined( __LP64__) || defined(__alpha__)
+#if defined( __LP64__) || defined(__alpha__) || defined(__sw_64__)
typedef unsigned int DWORD, *PDWORD, *LPDWORD;
typedef unsigned int ULONG, *PULONG, *LPULONG;
#else
@@ -320,7 +324,7 @@
typedef BYTE BOOLEAN, *PBOOLEAN;
typedef char CHAR, *PCHAR;
typedef short SHORT, *PSHORT;
-#if defined(__LP64__) || defined(__alpha__)
+#if defined(__LP64__) || defined(__alpha__) || defined(__sw_64__)
typedef int LONG, *PLONG, *LPLONG;
#else
typedef long LONG, *PLONG, *LPLONG;
@@ -935,7 +939,7 @@
#endif /* __x86_64__ */
/* Alpha context definitions */
-#if defined(__alpha__)
+#if defined(__alpha__) || defined(__sw_64__)
#define CONTEXT_ALPHA 0x00020000

View File

@ -0,0 +1,14 @@
diff -Naur a/include/libEMF/wine/winnt.h b/include/libEMF/wine/winnt.h
--- a/include/libEMF/wine/winnt.h 2024-11-19 09:50:03.450910598 +0800
+++ b/include/libEMF/wine/winnt.h 2024-11-19 10:16:32.120151366 +0800
@@ -81,6 +81,10 @@
# undef WORDS_BIGENDIAN
# undef BITFIELDS_BIGENDIAN
# undef ALLOW_UNALIGNED_ACCESS
+#elif defined(_MIPS_) || defined(__MIPS__) || defined(__mips__)
+# undef WORDS_BIGENDIAN
+# undef BITFIELDS_BIGENDIAN
+# undef ALLOW_UNALIGNED_ACCESS
#elif !defined(RC_INVOKED)
# error Unknown CPU architecture!
#endif

View File

@ -1,12 +1,14 @@
Name: libEMF
Version: 1.0.13
Release: 3
Release: 4
Summary: A library for generating Enhanced Metafiles
License: LGPLv2+ and GPLv2+
URL: http://libemf.sourceforge.net/
Source0: https://downloads.sourceforge.net/project/libemf/libemf/%{version}/libemf-%{version}.tar.gz
Patch0: 0001-libEMF-add-loongarch64.patch
Patch1: 0002-libemf-1.0.13-add-riscv64.patch
Patch2: 0003-libEMF-Add-sw_64-support.patch
Patch3: 0004-libEMF-Add-mips64el-support.patch
BuildRequires: gcc-c++ chrpath
@ -61,6 +63,9 @@ make check
%doc doc/html/* NEWS README
%changelog
* Sat Mar 15 2025 mahailiang <mahailiang@uniontech.com> - 1.0.13-4
- fix sw_64 mips64el build error
* Thu Jul 20 2023 wujie <wujie@nj.iscas.ac.cn> - 1.0.13-3
- Add riscv64 support from http://fedora.riscv.rocks/koji/buildinfo?buildID=24988
Author is David Abdurachmanov <david.abdurachmanov@gmail.com>