- fix building on x32 auto/th/fox-1.7.49-3
authorJan Rękorajski <baggins@pld-linux.org>
Sun, 3 Jan 2016 21:02:37 +0000 (22:02 +0100)
committerJan Rękorajski <baggins@pld-linux.org>
Sun, 3 Jan 2016 21:02:37 +0000 (22:02 +0100)
- rel 3

fox.spec
x32.patch [new file with mode: 0644]

index 60a4fd9..6860b63 100644 (file)
--- a/fox.spec
+++ b/fox.spec
@@ -9,7 +9,7 @@ Summary(pl.UTF-8):      FOX - toolkit graficzny w C++
 Name:          fox
 # NOTE: after switching to 1.8.x keep stable (1.8.x) on HEAD and devel (1.9.x) on DEVEL
 Version:       1.7.49
-Release:       2
+Release:       3
 License:       LGPL v3+ with relinking exemption
 Group:         X11/Libraries
 Source0:       http://ftp.fox-toolkit.org/pub/%{name}-%{version}.tar.gz
@@ -17,6 +17,7 @@ Source0:      http://ftp.fox-toolkit.org/pub/%{name}-%{version}.tar.gz
 Patch0:                %{name}-opt.patch
 Patch1:                %{name}-link.patch
 Patch2:                %{name}-Makefile.patch
+Patch3:                x32.patch
 URL:           http://www.fox-toolkit.org/
 BuildRequires: OpenGL-GLU-devel
 BuildRequires: autoconf >= 2.59-9
@@ -40,7 +41,7 @@ BuildRequires:        xorg-lib-libXrandr-devel
 BuildRequires: zlib-devel >= 1.1.4
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define        _noautoreqdep   libGL.so.1 libGLU.so.1
+%define                _noautoreqdep   libGL.so.1 libGLU.so.1
 
 %description
 FOX is a C++-Based Library for Graphical User Interface Development
@@ -138,6 +139,7 @@ FOX - przykładowe programy.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
 %build
 %{__libtoolize}
diff --git a/x32.patch b/x32.patch
new file mode 100644 (file)
index 0000000..b5de071
--- /dev/null
+++ b/x32.patch
@@ -0,0 +1,38 @@
+--- fox-1.7.49/lib/FXAtomic.cpp.orig   2016-01-03 21:32:28.624304727 +0100
++++ fox-1.7.49/lib/FXAtomic.cpp        2016-01-03 21:34:45.642765297 +0100
+@@ -266,7 +266,7 @@
+ FXptr atomicSet(volatile FXptr* ptr,FXptr v){
+ #if defined(WIN32) && ((_MSC_VER >= 1400) || (__BORLANDC__ >= 0x500))
+    return (FXptr)InterlockedExchangePointer(ptr,v);
+-#elif ((defined(__GNUC__) || defined(__INTEL_COMPILER)) && defined(__i386__))
++#elif ((defined(__GNUC__) || defined(__INTEL_COMPILER)) && (defined(__i386__) || defined(__ILP32__)))
+   FXptr ret=v;
+   __asm__ __volatile__("xchgl %0, (%1)\n\t" : "=r"(ret) : "r"(ptr), "0"(ret) : "memory", "cc");
+   return ret;
+@@ -290,7 +290,7 @@
+   return (FXptr)InterlockedExchangeAdd64((LONGLONG*)ptr,(LONGLONG)v);
+ #elif defined(WIN32)
+   return (FXptr)InterlockedExchangeAdd((LONG*)ptr,(LONG)v);
+-#elif ((defined(__GNUC__) || defined(__INTEL_COMPILER)) && defined(__i386__))
++#elif ((defined(__GNUC__) || defined(__INTEL_COMPILER)) && (defined(__i386__) || defined(__ILP32__)))
+   register FXptr ret=(void*)v;
+   __asm__ __volatile__ ("lock\n\t"
+                         "xaddl %0, (%1)\n\t" : "=r"(ret) : "r"(ptr), "0"(ret) : "memory", "cc");
+@@ -314,7 +314,7 @@
+ FXptr atomicCas(volatile FXptr* ptr,FXptr expect,FXptr v){
+ #if defined(WIN32) && ((_MSC_VER >= 1400) || (__BORLANDC__ >= 0x500))
+   return (FXptr)InterlockedCompareExchangePointer((void**)ptr,v,expect);
+-#elif ((defined(__GNUC__) || defined(__INTEL_COMPILER)) && defined(__i386__))
++#elif ((defined(__GNUC__) || defined(__INTEL_COMPILER)) && (defined(__i386__) || defined(__ILP32__)))
+   register FXptr ret=(FXptr)v;
+   __asm__ __volatile__("lock\n\t"
+                        "cmpxchgl %2, (%1)\n\t" : "=a"(ret) : "r"(ptr), "r"(v), "a"(expect) : "memory", "cc");
+@@ -340,7 +340,7 @@
+ FXbool atomicBoolCas(volatile FXptr* ptr,FXptr expect,FXptr v){
+ #if defined(WIN32) && ((_MSC_VER >= 1400) || (__BORLANDC__ >= 0x500))
+   return (InterlockedCompareExchangePointer((void**)ptr,v,expect)==expect);
+-#elif ((defined(__GNUC__) || defined(__INTEL_COMPILER)) && defined(__i386__))
++#elif ((defined(__GNUC__) || defined(__INTEL_COMPILER)) && (defined(__i386__) || defined(__ILP32__)))
+   register FXbool ret;
+   __asm__ __volatile__ ("lock\n\t"
+                         "cmpxchgl %2, (%1)\n\t"
This page took 0.117434 seconds and 4 git commands to generate.