Accepting request 1005984 from multimedia:libs
OBS-URL: https://build.opensuse.org/request/show/1005984 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libEMF?expand=0&rev=28
This commit is contained in:
commit
a35f287eb7
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Sep 24 08:37:06 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- add riscv64-support.patch
|
||||||
|
- enable build for riscv64
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Aug 17 09:51:29 UTC 2020 - Dirk Mueller <dmueller@suse.com>
|
Mon Aug 17 09:51:29 UTC 2020 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
12
libEMF.spec
12
libEMF.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package libEMF
|
# spec file for package libEMF
|
||||||
#
|
#
|
||||||
# Copyright (c) 2021 SUSE LLC
|
# Copyright (c) 2022 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -22,12 +22,13 @@ Release: 0
|
|||||||
Summary: Library for Manipulation with Enhanced MetaFile (EMF, ECMA-234)
|
Summary: Library for Manipulation with Enhanced MetaFile (EMF, ECMA-234)
|
||||||
License: GPL-2.0-or-later AND LGPL-2.1-or-later
|
License: GPL-2.0-or-later AND LGPL-2.1-or-later
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
URL: http://libemf.sourceforge.net/
|
URL: https://libemf.sourceforge.net/
|
||||||
Source: http://downloads.sourceforge.net/libemf/libemf-%{version}.tar.gz
|
Source: https://downloads.sourceforge.net/libemf/libemf-%{version}.tar.gz
|
||||||
|
Patch1: riscv64-support.patch
|
||||||
Patch2: ppc64le-support.patch
|
Patch2: ppc64le-support.patch
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
# taken from includes/wine/winnt.h
|
# taken from includes/wine/winnt.h
|
||||||
ExclusiveArch: alpha %{arm} aarch64 %{ix86} mips ppc ppc64 ppc64le sparc s390 s390x x86_64
|
ExclusiveArch: alpha %{arm} aarch64 %{ix86} mips ppc ppc64 ppc64le riscv64 sparc s390 s390x x86_64
|
||||||
|
|
||||||
%description
|
%description
|
||||||
LibEMF is a C/C++ library that provides a drawing toolkit based on
|
LibEMF is a C/C++ library that provides a drawing toolkit based on
|
||||||
@ -89,8 +90,7 @@ SO/OO. The EMF format also has the additional advantage that it can be
|
|||||||
SO/OO graphics object.
|
SO/OO graphics object.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n libemf-%{version}
|
%autosetup -p1 -n libemf-%{version}
|
||||||
%patch2 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure\
|
%configure\
|
||||||
|
104
riscv64-support.patch
Normal file
104
riscv64-support.patch
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
From: Bo YU <tsu.yubo@gmail.com>
|
||||||
|
Date: Mon, 27 Jun 2022 20:11:46 +0800
|
||||||
|
Subject: add-support-riscv64
|
||||||
|
|
||||||
|
add support for riscv64 arch
|
||||||
|
|
||||||
|
Original reference e2k code for supporting riscv64 arch
|
||||||
|
---
|
||||||
|
include/libEMF/wine/winnt.h | 75 +++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
1 file changed, 75 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/include/libEMF/wine/winnt.h b/include/libEMF/wine/winnt.h
|
||||||
|
index 39e2f90..1609f38 100644
|
||||||
|
--- a/include/libEMF/wine/winnt.h
|
||||||
|
+++ b/include/libEMF/wine/winnt.h
|
||||||
|
@@ -69,6 +69,10 @@
|
||||||
|
# define WORDS_BIGENDIAN
|
||||||
|
# define BITFIELDS_BIGENDIAN
|
||||||
|
# undef ALLOW_UNALIGNED_ACCESS
|
||||||
|
+#elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64
|
||||||
|
+# undef WORDS_BIGENDIAN
|
||||||
|
+# undef BITFIELDS_BIGENDIAN
|
||||||
|
+# undef ALLOW_UNALIGNED_ACCESS
|
||||||
|
#elif !defined(RC_INVOKED)
|
||||||
|
# error Unknown CPU architecture!
|
||||||
|
#endif
|
||||||
|
@@ -1582,6 +1586,77 @@ typedef struct _CONTEXT {
|
||||||
|
|
||||||
|
#endif /* __e2k__ */
|
||||||
|
|
||||||
|
+#ifdef __riscv && __riscv_xlen==64
|
||||||
|
+/*
|
||||||
|
+ * FIXME:
|
||||||
|
+ *
|
||||||
|
+ * There is not yet an official CONTEXT structure defined for the
|
||||||
|
+ * riscv64 architecture (64-bit LE), so I just made one up.
|
||||||
|
+ *
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+#define CONTEXT_RISCV64 0x4000000
|
||||||
|
+#define CONTEXT_CONTROL (CONTEXT_RISCV64 | 0x00000001)
|
||||||
|
+#define CONTEXT_INTEGER (CONTEXT_RISCV64 | 0x00000002)
|
||||||
|
+#define CONTEXT_FLOATING_POINT (CONTEXT_RISCV64 | 0x00000004)
|
||||||
|
+#define CONTEXT_DEBUG_REGISTERS (CONTEXT_RISCV64 | 0x00000008)
|
||||||
|
+
|
||||||
|
+#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER)
|
||||||
|
+
|
||||||
|
+#define EXCEPTION_READ_FAULT 0
|
||||||
|
+#define EXCEPTION_WRITE_FAULT 1
|
||||||
|
+#define EXCEPTION_EXECUTE_FAULT 8
|
||||||
|
+
|
||||||
|
+typedef struct _CONTEXT {
|
||||||
|
+ ULONG ContextFlags;
|
||||||
|
+
|
||||||
|
+ /* This section is specified/returned if the ContextFlags word contains
|
||||||
|
+ the flag CONTEXT_INTEGER. */
|
||||||
|
+ ULONGLONG X0;
|
||||||
|
+ ULONGLONG X1;
|
||||||
|
+ ULONGLONG X2;
|
||||||
|
+ ULONGLONG X3;
|
||||||
|
+ ULONGLONG X4;
|
||||||
|
+ ULONGLONG X5;
|
||||||
|
+ ULONGLONG X6;
|
||||||
|
+ ULONGLONG X7;
|
||||||
|
+ ULONGLONG X8;
|
||||||
|
+ ULONGLONG X9;
|
||||||
|
+ ULONGLONG X10;
|
||||||
|
+ ULONGLONG X11;
|
||||||
|
+ ULONGLONG X12;
|
||||||
|
+ ULONGLONG X13;
|
||||||
|
+ ULONGLONG X14;
|
||||||
|
+ ULONGLONG X15;
|
||||||
|
+ ULONGLONG X16;
|
||||||
|
+ ULONGLONG X17;
|
||||||
|
+ ULONGLONG X18;
|
||||||
|
+ ULONGLONG X19;
|
||||||
|
+ ULONGLONG X20;
|
||||||
|
+ ULONGLONG X21;
|
||||||
|
+ ULONGLONG X22;
|
||||||
|
+ ULONGLONG X23;
|
||||||
|
+ ULONGLONG X24;
|
||||||
|
+ ULONGLONG X25;
|
||||||
|
+ ULONGLONG X26;
|
||||||
|
+ ULONGLONG X27;
|
||||||
|
+ ULONGLONG X28;
|
||||||
|
+ ULONGLONG X29;
|
||||||
|
+ ULONGLONG X30;
|
||||||
|
+ ULONGLONG X31;
|
||||||
|
+
|
||||||
|
+ /* These are selected by CONTEXT_CONTROL */
|
||||||
|
+ ULONGLONG Sp;
|
||||||
|
+ ULONGLONG Pc;
|
||||||
|
+ ULONGLONG PState;
|
||||||
|
+
|
||||||
|
+ /* These are selected by CONTEXT_FLOATING_POINT */
|
||||||
|
+ /* FIXME */
|
||||||
|
+} CONTEXT;
|
||||||
|
+
|
||||||
|
+#endif /* __riscv64__ */
|
||||||
|
+
|
||||||
|
+
|
||||||
|
#if !defined(CONTEXT_FULL) && !defined(RC_INVOKED)
|
||||||
|
#error You need to define a CONTEXT for your CPU
|
||||||
|
#endif
|
Loading…
Reference in New Issue
Block a user