summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Szuba <marecki@gentoo.org>2021-08-10 08:57:00 -0700
committerAlan Coopersmith <alan.coopersmith@oracle.com>2022-01-15 15:54:39 -0800
commit027da8ee0f3628078e5fd364a4d67fa84a35b304 (patch)
treebad82aaa3b0b3a19a6379a1faeada655e5754121
parentb147369cb685929c62efcd29b4a6c0313cb90d39 (diff)
Linux/RISC-V support
Fixes: #2 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r--Imake.cf11
-rw-r--r--linux.cf20
2 files changed, 30 insertions, 1 deletions
diff --git a/Imake.cf b/Imake.cf
index 0942fb0..a0b0214 100644
--- a/Imake.cf
+++ b/Imake.cf
@@ -1037,6 +1037,17 @@ XCOMM Keep cpp from replacing path elements containing i486/i586/i686
# define AArch64Architecture
# undef __aarch64__
# endif
+# if defined(__riscv)
+# undef __riscv
+# if __riscv_xlen == 64
+# undef __riscv_xlen
+# define RV64Architecture
+# endif
+# if __riscv_xlen == 32
+# undef __riscv_xlen
+# define RV32Architecture
+# endif
+# endif
#endif /* linux || __GLIBC__ */
#if (defined(__Lynx__) || defined(Lynx)) && (defined(i386) || defined(__i386__) || defined(__x86__) || defined(__powerpc__) || defined(__sparc__) || defined(sparc))
diff --git a/linux.cf b/linux.cf
index 3d61076..a89b18c 100644
--- a/linux.cf
+++ b/linux.cf
@@ -584,7 +584,7 @@ InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class
#define MkdirHierCmd mkdir -p
#ifndef HaveLib64
-# if defined (AMD64Architecture) || defined (s390xArchitecture) || defined (Ppc64Architecture) || defined (AArch64Architecture)
+# if defined (AMD64Architecture) || defined (s390xArchitecture) || defined (Ppc64Architecture) || defined (AArch64Architecture) || defined (RV64Architecture)
# define HaveLib64 YES
# else
# define HaveLib64 NO
@@ -1000,6 +1000,24 @@ InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
#endif /* AArch64Architecture */
+#ifdef RV64Architecture
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O2 GccAliasingArgs
+# endif
+# define LinuxMachineDefines -D__riscv -D__riscv_xlen=64
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
+#endif /* RV64Architecture */
+
+#ifdef RV32Architecture
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O2 GccAliasingArgs
+# endif
+# define LinuxMachineDefines -D__riscv -D__riscv_xlen=32
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
+#endif /* RV32Architecture */
+
#ifndef StandardDefines
# ifdef __linux__
# define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines