From 2e0db45fd9bc19132c2bb7212166d27588da31a8 Mon Sep 17 00:00:00 2001 From: YalingFang Date: Fri, 25 Aug 2023 11:52:13 +0800 Subject: Add support for new arch Loongarch --- nx-X11/config/cf/Imake.cf | 12 ++++++++++++ nx-X11/config/cf/Imake.tmpl | 2 ++ nx-X11/config/cf/linux.cf | 18 ++++++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/nx-X11/config/cf/Imake.cf b/nx-X11/config/cf/Imake.cf index ce33e4208..cdf4d4a0f 100644 --- a/nx-X11/config/cf/Imake.cf +++ b/nx-X11/config/cf/Imake.cf @@ -893,6 +893,18 @@ XCOMM Keep cpp from replacing path elements containing i486/i586/i686 # endif # undef __sparc__ # endif +# if defined(__loongarch__) +# undef __loongarch__ +# if __loongarch_grlen == 64 +# undef __loongarch_grlen +# undef __loongarch_lp64 +# define LoongArch64Architecture +# endif +# if __loongarch_grlen == 32 +# undef __loongarch_grlen +# define LoongArch32Architecture +# endif +# endif # ifdef ia64 # define ia64Architecture # undef ia64 diff --git a/nx-X11/config/cf/Imake.tmpl b/nx-X11/config/cf/Imake.tmpl index 266be8c5a..48509aa01 100644 --- a/nx-X11/config/cf/Imake.tmpl +++ b/nx-X11/config/cf/Imake.tmpl @@ -517,6 +517,8 @@ XCOMM the platform-specific parameters - edit site.def to change #define ByteOrder X_LITTLE_ENDIAN #elif defined(SuperHebArchitecture) #define ByteOrder X_BIG_ENDIAN +#elif defined(LoongArch64Architecture) || defined(LoongArch32Architecture) +#define ByteOrder X_LITTLE_ENDIAN #endif #endif /* ByteOrder */ X_BYTE_ORDER = ByteOrder diff --git a/nx-X11/config/cf/linux.cf b/nx-X11/config/cf/linux.cf index 283c0a000..c71d436f6 100644 --- a/nx-X11/config/cf/linux.cf +++ b/nx-X11/config/cf/linux.cf @@ -857,6 +857,24 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion) # define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 #endif /* AMD64Architecture */ +#ifdef LoongArch64Architecture +# ifndef OptimizedCDebugFlags +# define OptimizedCDebugFlags -O2 GccAliasingArgs +# endif +# define LinuxMachineDefines -D__loongarch__ -D__loongarch_grlen=64 -D__loongarch_lp64 +# define ServerOSDefines XFree86ServerOSDefines +# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 +#endif /* LoongArch64Architecture */ + +#ifdef LoongArch32Architecture +# ifndef OptimizedCDebugFlags +# define OptimizedCDebugFlags -O2 GccAliasingArgs +# endif +# define LinuxMachineDefines -D__loongarch__ -D__loongarch_grlen=32 +# define ServerOSDefines XFree86ServerOSDefines +# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines +#endif /* LoongArch32Architecture */ + #ifndef StandardDefines # ifdef __linux__ # define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines -- cgit v1.2.3