Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37789844
en ru br
Репозитории ALT
S:1.0.7-alt3
5.1: 1.0.2-alt2
4.1: 1.0.2-alt1
4.0: 1.0.2-alt1
www.altlinux.org/Changes

Группа :: Разработка/C
Пакет: xorg-cf-files

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: xorg-cf-files-1.0.6-alt-e2k.patch
Скачать


>From c526e24cb06c77de257d705378d81334fc417098 Mon Sep 17 00:00:00 2001
From: Michael Shigorin <mike@altlinux.org>
Date: Fri, 17 Mar 2017 15:56:15 +0300
Subject: [PATCH] Imake.cf, Imake.tmpl, linux.cf, xorg.cf: add e2k support
Elbrus 2000 is a 64-bit VLIW architecture originating from Russia.
See-also: http://mcst.ru
---
 Imake.cf   |  4 ++++
 Imake.tmpl |  2 ++
 linux.cf   | 29 +++++++++++++++++++++++++++--
 xorg.cf    |  6 ++++++
 4 files changed, 39 insertions(+), 2 deletions(-)
diff --git a/Imake.cf b/Imake.cf
index 0942fb0..09e5264 100644
--- a/Imake.cf
+++ b/Imake.cf
@@ -1037,6 +1037,10 @@ XCOMM Keep cpp from replacing path elements containing i486/i586/i686
 #   define AArch64Architecture
 #   undef __aarch64__
 # endif
+# if defined(__e2k__)
+#  undef __e2k__
+#  define E2KArchitecture
+# endif
 #endif /* linux || __GLIBC__ */
 
 #if (defined(__Lynx__) || defined(Lynx)) && (defined(i386) || defined(__i386__) || defined(__x86__) || defined(__powerpc__) || defined(__sparc__) || defined(sparc))
diff --git a/Imake.tmpl b/Imake.tmpl
index 9d02cb6..96c3d30 100644
--- a/Imake.tmpl
+++ b/Imake.tmpl
@@ -536,6 +536,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(E2KArchitecture)
+#define ByteOrder		X_LITTLE_ENDIAN
 #endif
 #endif /* ByteOrder */
 X_BYTE_ORDER = ByteOrder
diff --git a/linux.cf b/linux.cf
index 7845325..6e05f35 100644
--- a/linux.cf
+++ b/linux.cf
@@ -309,7 +309,7 @@ InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class
 
 /* On x86, determine whether to build with MTRR support */
 #ifndef HasMTRRSupport
-# if defined (i386Architecture) || defined (AMD64Architecture)
+# if defined (i386Architecture) || defined (AMD64Architecture) || defined (E2KArchitecture)
 #  if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 1) || \
       (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 99)
 #   define HasMTRRSupport	YES
@@ -382,6 +382,8 @@ InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class
 #    define BuildXF86DRI	NO
 #  elif defined(AMD64Architecture)
 #    define BuildXF86DRI	YES
+#  elif defined(E2KArchitecture)
+#    define BuildXF86DRI	YES
 #  else
 #    define BuildXF86DRI	NO
 #  endif
@@ -578,7 +580,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 (E2KArchitecture)
 #  define HaveLib64	YES
 # else
 #  define HaveLib64	NO
@@ -707,6 +709,13 @@ InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class
 #   define LdCmd		CcCmd -nostdlib
 #   define AsmDefines		-DUSE_GAS -U__ELF__
 #  endif /* AMD64Architecture */
+#  ifdef E2KArchitecture
+#   define CcCmd		gcc
+#   define CplusplusCmd		g++
+#   define AsCmd		CcCmd -c -x assembler
+#   define LdCmd		CcCmd -nostdlib
+#   define AsmDefines		-DUSE_GAS -U__ELF__
+#  endif /* E2KArchitecture */
 # endif /* UseElfFormat */
 #else
 # if UseElfFormat
@@ -753,6 +762,13 @@ InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class
 #   define LdCmd                 CcCmd -nostdlib
 #   define AsmDefines            -D__ELF__
 #  endif /* AMD64Architecture */
+#  ifdef E2KArchitecture
+#   define CcCmd                 gcc
+#   define CplusplusCmd          g++
+#   define AsCmd                 CcCmd -c -x assembler
+#   define LdCmd                 CcCmd -nostdlib
+#   define AsmDefines            -D__ELF__
+#  endif /* E2KArchitecture */
 # else
 #  define CcCmd			gcc
 #  define AsCmd			CcCmd -c -x assembler
@@ -994,6 +1010,15 @@ InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class
 # define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
 #endif /* AArch64Architecture */
 
+#ifdef E2KArchitecture
+# ifndef OptimizedCDebugFlags
+#  define OptimizedCDebugFlags	DefaultGcc2E2KOpt
+# endif
+# define LinuxMachineDefines   -D__e2k__
+# define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
+#endif /* E2KArchitecture */
+
 #ifndef StandardDefines
 # ifdef __linux__
 #  define StandardDefines	-Dlinux LinuxMachineDefines LinuxSourceDefines
diff --git a/xorg.cf b/xorg.cf
index 3b0f10b..ea88c05 100644
--- a/xorg.cf
+++ b/xorg.cf
@@ -1603,6 +1603,12 @@ XFREE86JAPANESEDOCDIR = $(DOCDIR)/Japanese
 # endif
 #endif
 
+#if HasGcc2 && defined(E2KArchitecture)
+# ifndef DefaultGcc2E2KOpt
+#  define DefaultGcc2E2KOpt -O2 -fno-strength-reduce GccAliasingArgs
+# endif
+#endif
+
 #ifndef DefaultGcc2DebugOpt
 # define DefaultGcc2DebugOpt -g
 #endif
-- 
2.7.4
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin