rpms/WindowMaker/FC-3 windowmaker-gcc4-x86_64.patch, NONE, 1.1 WindowMaker.spec, 1.8, 1.9

Andreas Bierfert (awjb) fedora-extras-commits at redhat.com
Mon Aug 22 19:38:00 UTC 2005


Author: awjb

Update of /cvs/extras/rpms/WindowMaker/FC-3
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv14423/FC-3

Modified Files:
	WindowMaker.spec 
Added Files:
	windowmaker-gcc4-x86_64.patch 
Log Message:
- add gcc4/x86_64 patch from cvs


windowmaker-gcc4-x86_64.patch:

--- NEW FILE windowmaker-gcc4-x86_64.patch ---
--- /homes/awjb/BUILD/WindowMaker-0.92.0/configure.ac	2005-01-06 16:31:40.000000000 +0100
+++ configure.ac	2005-08-22 21:07:57.000000000 +0200
@@ -197,7 +197,7 @@
 
     AC_CACHE_CHECK(whether gcc supports x86 inline asm,
                    ac_cv_c_inline_asm,
-                   [AC_TRY_LINK(,[{int x; asm volatile("movl %%eax, %%ebx\n"::
+                   [AC_TRY_LINK(,[{int x; asm volatile("movl %%eax, %%ebx\n\t pushal\n\t popal"::
                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x),
                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x));}],
                    ac_cv_c_inline_asm=yes,
@@ -831,7 +831,9 @@
 AC_ARG_WITH(appspath,
 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
 
-appspath=$with_gnustepdir
+if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
+    appspath=$with_gnustepdir
+fi
 
 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
     wprefs_base_dir=${prefix}
--- /homes/awjb/BUILD/WindowMaker-0.92.0/wrlib/x86_specific.c	2004-10-31 02:44:01.000000000 +0100
+++ wrlib/x86_specific.c	2005-08-22 21:07:57.000000000 +0200
@@ -98,15 +98,23 @@
                            int height,
                            int line_offset)
 {
-    long long rrggbbaa;
-    long long pixel;
+    union {
+	long long rrggbbaa;
+	struct {short int rr, gg, bb, aa;} words;
+    } rrggbbaa;
+    
+    union {
+	long long pixel;
+	struct {short int rr, gg, bb, aa;} words;
+    } pixel;
+
     short *tmp_err;
     short *tmp_nerr;
     int x;
 
     asm volatile
         (
-         "pushal                        \n\t"
+         "pushl %%ebx                        \n\t"
 
          // pack dr, dg and db into mm6
          "movl  %7, %%eax               \n\t"
@@ -290,7 +298,7 @@
 
 ".Enda:                                 \n\t" // THE END
          "emms                          \n\t"
-         "popal                         \n\t"
+         "popl %%ebx                         \n\t"
          :
          :
          "m" (image),                      // %0
@@ -309,17 +317,18 @@
          "m" (width),                      // %13
          "m" (height),                     // %14
          "m" (line_offset),                // %15
-         "m" (rrggbbaa),                   // %16 (access to rr)
-         "m" ((*((short*)(&rrggbbaa)+1))), // %17 (access to gg)
-         "m" ((*((short*)(&rrggbbaa)+2))), // %18 (access to bb)
-         "m" ((*((short*)(&rrggbbaa)+3))), // %19 (access to aa)
-         "m" (pixel),                      // %20 (access to pixel.r)
-         "m" ((*((short*)(&pixel)+1))),    // %21 (access to pixel.g)
-         "m" ((*((short*)(&pixel)+2))),    // %22 (access to pixel.b)
-         "m" ((*((short*)(&pixel)+3))),    // %23 (access to pixel.a)
+         "m" (rrggbbaa.rrggbbaa),          // %16 (access to rr)
+         "m" (rrggbbaa.words.gg),          // %17 (access to gg)
+         "m" (rrggbbaa.words.bb),          // %18 (access to bb)
+         "m" (rrggbbaa.words.aa),          // %19 (access to aa)
+         "m" (pixel.pixel),                // %20 (access to pixel.r)
+         "m" (pixel.words.gg),             // %21 (access to pixel.g)
+         "m" (pixel.words.bb),             // %22 (access to pixel.b)
+         "m" (pixel.words.aa),             // %23 (access to pixel.a)
          "m" (tmp_err),                    // %24
          "m" (tmp_nerr),                   // %25
          "m" (x)                           // %26
+	 : "eax", "ecx", "edx", "esi", "edi"
         );
 }
 
@@ -342,8 +351,15 @@
                            int height,
                            int line_offset)
 {
-    long long rrggbbaa;
-    long long pixel;
+    union {
+	long long rrggbbaa;
+	struct {short int rr, gg, bb, aa;} words;
+    } rrggbbaa;
+    
+    union {
+	long long pixel;
+	struct {short int rr, gg, bb, aa;} words;
+    } pixel;
 
     short *tmp_err;
     short *tmp_nerr;
@@ -354,7 +370,7 @@
 
     asm volatile
         (
-         "pushal                        \n\t"
+         "pushl %%ebx                        \n\t"
 
          "movl %13, %%eax               \n\t" // eax = width
          "movl %%eax, %%ebx             \n\t"
@@ -424,7 +440,7 @@
 
 ".Endc:                                 \n\t" // THE END
          "emms                          \n\t"
-         "popal                         \n\t"
+         "popl %%ebx                         \n\t"
          :
          :
          "m" (image),                      // %0
@@ -443,19 +459,20 @@
          "m" (width),                      // %13
          "m" (height),                     // %14
          "m" (line_offset),                // %15
-         "m" (rrggbbaa),                   // %16 (access to rr)
-         "m" ((*((short*)(&rrggbbaa)+1))), // %17 (access to gg)
-         "m" ((*((short*)(&rrggbbaa)+2))), // %18 (access to bb)
-         "m" ((*((short*)(&rrggbbaa)+3))), // %19 (access to aa)
-         "m" (pixel),                      // %20 (access to pixel.r)
-         "m" ((*((short*)(&pixel)+1))),    // %21 (access to pixel.g)
-         "m" ((*((short*)(&pixel)+2))),    // %22 (access to pixel.b)
-         "m" ((*((short*)(&pixel)+3))),    // %23 (access to pixel.a)
+         "m" (rrggbbaa.rrggbbaa),          // %16 (access to rr)
+         "m" (rrggbbaa.words.gg),          // %17 (access to gg)
+         "m" (rrggbbaa.words.bb),          // %18 (access to bb)
+         "m" (rrggbbaa.words.aa),          // %19 (access to aa)
+         "m" (pixel.pixel),                // %20 (access to pixel.r)
+         "m" (pixel.words.gg),             // %21 (access to pixel.g)
+         "m" (pixel.words.bb),             // %22 (access to pixel.b)
+         "m" (pixel.words.aa),             // %23 (access to pixel.a)
          "m" (tmp_err),                    // %24
          "m" (tmp_nerr),                   // %25
          "m" (x),                          // %26
          "m" (w1),                         // %27
          "m" (w2)                          // %28
+	  : "eax", "ecx", "edx", "esi", "edi"
         );
 }
 


Index: WindowMaker.spec
===================================================================
RCS file: /cvs/extras/rpms/WindowMaker/FC-3/WindowMaker.spec,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- WindowMaker.spec	9 Aug 2005 11:20:12 -0000	1.8
+++ WindowMaker.spec	22 Aug 2005 19:37:58 -0000	1.9
@@ -1,23 +1,24 @@
-Summary: 	A fast, feature rich Window manager.
-Name: 		WindowMaker
+Summary:	A fast, feature rich Window Manager
+Name:		WindowMaker
 Version:	0.92.0
-Release:	2%{?dist}
-Epoch:		0
+Release:	3%{?dist}
+
 License:	GPL
-Group: 		User Interface/Desktops
-URL: 		http://www.windowmaker.org/
-Source0: 	ftp://windowmaker.org/pub/source/release/WindowMaker-0.92.0.tar.bz2
+Group:		User Interface/Desktops
+URL:		http://www.windowmaker.org/
+Source0:	ftp://windowmaker.org/pub/source/release/WindowMaker-0.92.0.tar.bz2
 Source1:        WindowMaker.xsession
 Source2:        WindowMaker.desktop
-BuildRoot: 	%{_tmppath}/%{name}-%{version}-%{release}-buildroot
-BuildRequires:	XFree86-devel libpng-devel libjpeg-devel libungif-devel 
-BuildRequires:	libtiff-devel zlib-devel gettext
-Obsoletes:	WindowMaker-libs
+Patch0:         windowmaker-gcc4-x86_64.patch
+BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-buildroot
+BuildRequires:	xorg-x11-devel libpng-devel libjpeg-devel libungif-devel
+BuildRequires:	libtiff-devel zlib-devel gettext-devel
 
 %package devel
 Summary:	libraries needed for WindowMaker.
 Group:		System Environment/Libraries
-Requires:	%{name} = %{epoch}:%{version}-%{release}
+Requires:	%{name} = %{version}-%{release}
+
 
 %description
 Window Maker is an X11 window manager designed to give additional
@@ -33,8 +34,10 @@
 possible, it reproduces the elegant look and feel of the NeXTSTEP[tm]
 GUI. This package contains development files for WindowMaker libraries
 
+
 %prep
 %setup -q
+%patch0
 
 %build
 LINGUAS=`(cd po ; echo *.po|sed 's/zh_TW.Big5.po//g;s/.po//g')`
@@ -44,13 +47,9 @@
 %configure --enable-gnome --enable-kde --enable-usermenu --enable-xinerama \
 --enable-fast-install --enable-modelock
 
-%ifarch x86_64
-sed -i -e's/#define ASM_X86 1/#undef ASM_X86/' src/config.h
-sed -i -e's/#define ASM_X86_MMX 1/#undef ASM_X86_MMX/' src/config.h
-%endif
-
 make %{?_smp_mflags}
 
+
 %install
 rm -rf $RPM_BUILD_ROOT
 make DESTDIR=$RPM_BUILD_ROOT NLSDIR=%{_datadir}/locale install
@@ -67,6 +66,7 @@
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+
 %files -f '\(WPrefs\|%{name}\|WINGs\)'.lang
 %defattr(-,root,root,-)
 %doc AUTHORS ChangeLog NEWS FAQ* README* COPYING*
@@ -92,9 +92,14 @@
 %{_includedir}/wraster.h
 %{_libdir}/lib*.a
 %{_libdir}/libwraster.so
-%{_libdir}/pkgconfig/*pc
+%{_libdir}/pkgconfig/*.pc
+
 
 %changelog
+* Mon Aug 22 2005 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
+0.92.0-3
+- add gcc4/x86_64 patch from cvs
+
 * Tue Aug 09 2005 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
 0.92.0-2
 - try to fix x86_64 build
@@ -107,12 +112,15 @@
 - fix #163459
 
 * Tue May 31 2005 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
-- add dist macro...
+- add disttag fc3<fc4
 
 * Tue May 31 2005 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
-0:0.91.0-1
+0.91.0-1
 - upgrade to 0.91.0
 
+* Fri Apr  7 2005 Michael Schwendt <mschwendt[AT]users.sf.net>
+- rebuilt
+
 * Fri Nov 28 2003 Dams <anvil[AT]livna.org> - 0:0.80.2-0.fdr.6
 - exclude -> rm
 - Added patch to fix gtk2 apps handling and other focus things
@@ -134,5 +142,5 @@
 * Thu Apr 10 2003 Dams <anvil[AT]livna.org> 0:0.80.2-0.fdr.2
 - Added missing Require: for gettext
 
-* Tue Apr  8 2003 Dams <anvil[AT]livna.org> 
+* Tue Apr  8 2003 Dams <anvil[AT]livna.org>
 - Initial build.




More information about the scm-commits mailing list