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