diff options
-rw-r--r-- | debian/patches/606_nx-X11_build-on-aarch64.full.patch | 77 | ||||
-rw-r--r-- | debian/patches/series | 1 | ||||
-rw-r--r-- | nx-X11/config/cf/Imake.cf | 3 | ||||
-rw-r--r-- | nx-X11/config/cf/Imake.tmpl | 4 | ||||
-rw-r--r-- | nx-X11/config/cf/linux.cf | 10 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/include/servermd.h | 22 |
6 files changed, 39 insertions, 78 deletions
diff --git a/debian/patches/606_nx-X11_build-on-aarch64.full.patch b/debian/patches/606_nx-X11_build-on-aarch64.full.patch deleted file mode 100644 index bda43399a..000000000 --- a/debian/patches/606_nx-X11_build-on-aarch64.full.patch +++ /dev/null @@ -1,77 +0,0 @@ -Description: Provide build support for aarch64 architecture -Author: Orion Poplawski <orion@cora.nwra.com> ---- a/nx-X11/config/cf/Imake.cf -+++ b/nx-X11/config/cf/Imake.cf -@@ -908,6 +908,9 @@ - # endif - # undef __ARMEB__ - # endif -+# ifdef __aarch64__ -+# define Arm64Architecture -+# endif - # ifdef mc68000 - # define Mc68020Architecture - # undef mc68000 ---- a/nx-X11/config/cf/linux.cf -+++ b/nx-X11/config/cf/linux.cf -@@ -844,6 +844,16 @@ - # define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines - #endif /* Arm32Achitecture */ - -+#ifdef Arm64Architecture -+# define DefaultCCOptions -+# ifndef OptimizedCDebugFlags -+# define OptimizedCDebugFlags -O3 -+# endif -+# define LinuxMachineDefines -D__aarch64__ -U__arm -Uarm -+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -+#endif /* Arm64Achitecture */ -+ - #ifdef HPArchitecture - # define OptimizedCDebugFlags -O2 GccAliasingArgs - # define LinuxMachineDefines -D__hppa__ ---- a/nx-X11/config/cf/Imake.tmpl -+++ b/nx-X11/config/cf/Imake.tmpl -@@ -526,6 +526,10 @@ - #define ByteOrder X_BIG_ENDIAN - #elif defined(Arm32Architecture) - #define ByteOrder X_LITTLE_ENDIAN -+#elif defined(Arm64ebArchitecture) -+#define ByteOrder X_BIG_ENDIAN -+#elif defined(Arm64Architecture) -+#define ByteOrder X_LITTLE_ENDIAN - #elif defined(RsArchitecture) - #define ByteOrder X_BIG_ENDIAN - #elif defined(PpcArchitecture) || defined(Ppc64Architecture) ---- a/nx-X11/programs/Xserver/include/servermd.h -+++ b/nx-X11/programs/Xserver/include/servermd.h -@@ -154,6 +154,28 @@ - - #endif /* __arm32__ */ - -+#ifdef __aarch64__ -+ -+#ifdef __AARCH64EL__ -+#define IMAGE_BYTE_ORDER LSBFirst -+#define BITMAP_BIT_ORDER LSBFirst -+#endif -+#ifdef __AARCH64EB__ -+#define IMAGE_BYTE_ORDER MSBFirst -+#define BITMAP_BIT_ORDER MSBFirst -+#endif -+ -+# if defined(XF86MONOVGA) || defined(XF86VGA16) -+# define BITMAP_SCANLINE_UNIT 8 -+# endif -+ -+#define GLYPHPADBYTES 4 -+#define GETLEFTBITS_ALIGNMENT 1 -+#define LARGE_INSTRUCTION_CACHE -+#define AVOID_MEMORY_READ -+ -+#endif /* __aarch64__ */ -+ - #if defined (hpux) || defined __hppa__ - - #define IMAGE_BYTE_ORDER MSBFirst diff --git a/debian/patches/series b/debian/patches/series index ee95c5b49..e975e3cac 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,5 +1,4 @@ #401_nxcomp_bigrequests-and-genericevent-extensions.full+lite.patch -606_nx-X11_build-on-aarch64.full.patch 607_nxcomp_macosx-X11-launcher-in-private-tmp.full+lite.patch 990_fix-DEBUG-and-TEST-builds.full.patch 991_fix-hr-typos.full+lite.patch diff --git a/nx-X11/config/cf/Imake.cf b/nx-X11/config/cf/Imake.cf index 1be537b80..16b79c834 100644 --- a/nx-X11/config/cf/Imake.cf +++ b/nx-X11/config/cf/Imake.cf @@ -908,6 +908,9 @@ XCOMM Keep cpp from replacing path elements containing i486/i586/i686 # endif # undef __ARMEB__ # endif +# ifdef __aarch64__ +# define Arm64Architecture +# endif # ifdef mc68000 # define Mc68020Architecture # undef mc68000 diff --git a/nx-X11/config/cf/Imake.tmpl b/nx-X11/config/cf/Imake.tmpl index 6ca974f57..595617267 100644 --- a/nx-X11/config/cf/Imake.tmpl +++ b/nx-X11/config/cf/Imake.tmpl @@ -526,6 +526,10 @@ XCOMM the platform-specific parameters - edit site.def to change #define ByteOrder X_BIG_ENDIAN #elif defined(Arm32Architecture) #define ByteOrder X_LITTLE_ENDIAN +#elif defined(Arm64ebArchitecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(Arm64Architecture) +#define ByteOrder X_LITTLE_ENDIAN #elif defined(RsArchitecture) #define ByteOrder X_BIG_ENDIAN #elif defined(PpcArchitecture) || defined(Ppc64Architecture) diff --git a/nx-X11/config/cf/linux.cf b/nx-X11/config/cf/linux.cf index 25d254787..32b7a8658 100644 --- a/nx-X11/config/cf/linux.cf +++ b/nx-X11/config/cf/linux.cf @@ -844,6 +844,16 @@ InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class # define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines #endif /* Arm32Achitecture */ +#ifdef Arm64Architecture +# define DefaultCCOptions +# ifndef OptimizedCDebugFlags +# define OptimizedCDebugFlags -O3 +# endif +# define LinuxMachineDefines -D__aarch64__ -U__arm -Uarm +# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME +# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines +#endif /* Arm64Achitecture */ + #ifdef HPArchitecture # define OptimizedCDebugFlags -O2 GccAliasingArgs # define LinuxMachineDefines -D__hppa__ diff --git a/nx-X11/programs/Xserver/include/servermd.h b/nx-X11/programs/Xserver/include/servermd.h index cce6b329c..a04c2aa5e 100644 --- a/nx-X11/programs/Xserver/include/servermd.h +++ b/nx-X11/programs/Xserver/include/servermd.h @@ -154,6 +154,28 @@ SOFTWARE. #endif /* __arm32__ */ +#ifdef __aarch64__ + +#ifdef __AARCH64EL__ +#define IMAGE_BYTE_ORDER LSBFirst +#define BITMAP_BIT_ORDER LSBFirst +#endif +#ifdef __AARCH64EB__ +#define IMAGE_BYTE_ORDER MSBFirst +#define BITMAP_BIT_ORDER MSBFirst +#endif + +# if defined(XF86MONOVGA) || defined(XF86VGA16) +# define BITMAP_SCANLINE_UNIT 8 +# endif + +#define GLYPHPADBYTES 4 +#define GETLEFTBITS_ALIGNMENT 1 +#define LARGE_INSTRUCTION_CACHE +#define AVOID_MEMORY_READ + +#endif /* __aarch64__ */ + #if defined (hpux) || defined __hppa__ #define IMAGE_BYTE_ORDER MSBFirst |