aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/patches/606_nx-X11_build-on-aarch64.full.patch77
-rw-r--r--debian/patches/series1
-rw-r--r--nx-X11/config/cf/Imake.cf3
-rw-r--r--nx-X11/config/cf/Imake.tmpl4
-rw-r--r--nx-X11/config/cf/linux.cf10
-rw-r--r--nx-X11/programs/Xserver/include/servermd.h22
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