1
0
forked from ports/contrib

windowmaker: initial import from attic

This commit is contained in:
Mikhail Kolesnik 2006-11-09 15:58:24 +02:00
parent fadcdd346d
commit 127f6efccc
4 changed files with 435 additions and 0 deletions

265
windowmaker/.footprint Normal file
View File

@ -0,0 +1,265 @@
drwxr-xr-x root/root usr/
drwxr-xr-x root/root usr/GNUstep/
drwxr-xr-x root/root usr/GNUstep/Applications/
lrwxrwxrwx root/root usr/GNUstep/Applications/WPrefs.app -> ../../share/WPrefs
drwxr-xr-x root/root usr/bin/
-rwxr-xr-x root/root usr/bin/WPrefs
-rwxr-xr-x root/root usr/bin/convertfonts
-rwxr-xr-x root/root usr/bin/get-wings-flags
-rwxr-xr-x root/root usr/bin/get-wraster-flags
-rwxr-xr-x root/root usr/bin/get-wutil-flags
-rwxr-xr-x root/root usr/bin/geticonset
-rwxr-xr-x root/root usr/bin/getstyle
-rwxr-xr-x root/root usr/bin/seticons
-rwxr-xr-x root/root usr/bin/setstyle
-rwxr-xr-x root/root usr/bin/wdread
-rwxr-xr-x root/root usr/bin/wdwrite
-rwxr-xr-x root/root usr/bin/wkdemenu.pl
-rwxr-xr-x root/root usr/bin/wmagnify
-rwxr-xr-x root/root usr/bin/wmaker
-rwxr-xr-x root/root usr/bin/wmaker.inst
-rwxr-xr-x root/root usr/bin/wmsetbg
-rwxr-xr-x root/root usr/bin/wmsetup
-rwxr-xr-x root/root usr/bin/wxcopy
-rwxr-xr-x root/root usr/bin/wxpaste
drwxr-xr-x root/root usr/etc/
drwxr-xr-x root/root usr/etc/WindowMaker/
-rw-r--r-- root/root usr/etc/WindowMaker/WMGLOBAL
-rw-r--r-- root/root usr/etc/WindowMaker/WMRootMenu
-rw-r--r-- root/root usr/etc/WindowMaker/WMState
-rw-r--r-- root/root usr/etc/WindowMaker/WMWindowAttributes
-rw-r--r-- root/root usr/etc/WindowMaker/WindowMaker
drwxr-xr-x root/root usr/include/
drwxr-xr-x root/root usr/include/WINGs/
-rw-r--r-- root/root usr/include/WINGs/WINGs.h
-rw-r--r-- root/root usr/include/WINGs/WINGsP.h
-rw-r--r-- root/root usr/include/WINGs/WUtil.h
-rw-r--r-- root/root usr/include/WINGs/proplist-compat.h
-rw-r--r-- root/root usr/include/WINGs/wtabledelegates.h
-rw-r--r-- root/root usr/include/WINGs/wtableview.h
-rw-r--r-- root/root usr/include/WMaker.h
-rw-r--r-- root/root usr/include/wraster.h
drwxr-xr-x root/root usr/lib/
-rw-r--r-- root/root usr/lib/libExtraWINGs.a
-rw-r--r-- root/root usr/lib/libWINGs.a
-rw-r--r-- root/root usr/lib/libWMaker.a
-rw-r--r-- root/root usr/lib/libWUtil.a
-rw-r--r-- root/root usr/lib/libwraster.a
-rwxr-xr-x root/root usr/lib/libwraster.la
lrwxrwxrwx root/root usr/lib/libwraster.so -> libwraster.so.3.1.0
lrwxrwxrwx root/root usr/lib/libwraster.so.3 -> libwraster.so.3.1.0
-rwxr-xr-x root/root usr/lib/libwraster.so.3.1.0
drwxr-xr-x root/root usr/lib/pkgconfig/
-rw-r--r-- root/root usr/lib/pkgconfig/WINGs.pc
-rw-r--r-- root/root usr/lib/pkgconfig/wmlib.pc
-rw-r--r-- root/root usr/lib/pkgconfig/wrlib.pc
drwxr-xr-x root/root usr/man/
drwxr-xr-x root/root usr/man/man1/
-rw-r--r-- root/root usr/man/man1/geticonset.1x.gz
-rw-r--r-- root/root usr/man/man1/getstyle.1x.gz
-rw-r--r-- root/root usr/man/man1/seticons.1x.gz
-rw-r--r-- root/root usr/man/man1/setstyle.1x.gz
-rw-r--r-- root/root usr/man/man1/wdwrite.1x.gz
-rw-r--r-- root/root usr/man/man1/wmaker.1x.gz
-rw-r--r-- root/root usr/man/man1/wmsetbg.1x.gz
-rw-r--r-- root/root usr/man/man1/wxcopy.1x.gz
-rw-r--r-- root/root usr/man/man1/wxpaste.1x.gz
drwxr-xr-x root/root usr/share/
drwxr-xr-x root/root usr/share/WINGs/
-rw-r--r-- root/root usr/share/WINGs/Images.tiff
-rw-r--r-- root/root usr/share/WINGs/Images.xpm
-rw-r--r-- root/root usr/share/WINGs/defaultIcon.tiff
-rw-r--r-- root/root usr/share/WINGs/defaultIcon.xpm
drwxr-xr-x root/root usr/share/WPrefs/
-rw-r--r-- root/root usr/share/WPrefs/WPrefs.tiff
-rw-r--r-- root/root usr/share/WPrefs/WPrefs.xpm
drwxr-xr-x root/root usr/share/WPrefs/tiff/
-rw-r--r-- root/root usr/share/WPrefs/tiff/advancetonewworkspace.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/animations.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/appearance.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/clip.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/configs.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/cycleworkspaces.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/dock.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/dontlinkworkspaces.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/ergonomic.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/expert.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/fonts.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/iconprefs.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/keyboard.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/keyboardprefs.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/keyshortcuts.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/menualign1.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/menualign2.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/menuprefs.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/menus.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/moreanim.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/mousesettings.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/mousespeed.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/msty1.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/msty2.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/msty3.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/newstyle.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/nonopaque.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/oldstyle.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/opaque.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/paths.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/smooth.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/sound.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/speed0.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/speed0s.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/speed1.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/speed1s.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/speed2.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/speed2s.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/speed3.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/speed3s.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/speed4.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/speed4s.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/tdel.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/tedit.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/textr.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/theme.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/timer0.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/timer0s.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/timer1.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/timer1s.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/timer2.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/timer2s.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/timer3.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/timer3s.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/timer4.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/timer4s.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/timer5.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/timer5s.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/tnew.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/whandling.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/windowfocus.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/workspace.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/workspacename.tiff
-rw-r--r-- root/root usr/share/WPrefs/tiff/xis.tiff
drwxr-xr-x root/root usr/share/WPrefs/xpm/
drwxr-xr-x root/root usr/share/WindowMaker/
drwxr-xr-x root/root usr/share/WindowMaker/Backgrounds/
-rw-r--r-- root/root usr/share/WindowMaker/Backgrounds/BlueImage.jpeg
drwxr-xr-x root/root usr/share/WindowMaker/IconSets/
-rw-r--r-- root/root usr/share/WindowMaker/IconSets/Default.iconset
drwxr-xr-x root/root usr/share/WindowMaker/Icons/
-rw-r--r-- root/root usr/share/WindowMaker/Icons/BitchX.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/BitchX.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/DefaultAppIcon.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/Ftp.png
-rw-r--r-- root/root usr/share/WindowMaker/Icons/GNUstep.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/GNUstep.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/GNUstep3D.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/GNUstep3D.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/GNUstepGlow.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/GNUstepGlow.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/GNUterm.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/GNUterm.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/GreenWilber.png
-rw-r--r-- root/root usr/share/WindowMaker/Icons/ICQ.png
-rw-r--r-- root/root usr/share/WindowMaker/Icons/Jabber.png
-rw-r--r-- root/root usr/share/WindowMaker/Icons/Mozilla.png
-rw-r--r-- root/root usr/share/WindowMaker/Icons/Netscape.png
-rw-r--r-- root/root usr/share/WindowMaker/Icons/Pen.png
-rw-r--r-- root/root usr/share/WindowMaker/Icons/Pencil.png
-rw-r--r-- root/root usr/share/WindowMaker/Icons/Real.png
-rw-r--r-- root/root usr/share/WindowMaker/Icons/Shell.png
-rw-r--r-- root/root usr/share/WindowMaker/Icons/Speaker.png
-rw-r--r-- root/root usr/share/WindowMaker/Icons/Terminal.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/Terminal.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/TerminalGNUstep.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/TerminalGNUstep.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/TerminalLinux.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/TerminalLinux.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/XChat.png
-rw-r--r-- root/root usr/share/WindowMaker/Icons/clip.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/clip.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/defaultAppIcon.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/defaultAppIcon.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/defaultterm.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/defaultterm.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/draw.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/draw.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/linuxterm.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/linuxterm.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/mixer.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/mixer.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/notepad.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/notepad.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/pdf.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/pdf.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/ps.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/ps.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/real.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/real.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/sgiterm.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/sgiterm.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/sound.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/sound.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/staroffice2.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/staroffice2.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/timer.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/timer.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/wilber.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/wilber.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/write.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/write.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/xdvi.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/xdvi.xpm
-rw-r--r-- root/root usr/share/WindowMaker/Icons/xv.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Icons/xv.xpm
drwxr-xr-x root/root usr/share/WindowMaker/Pixmaps/
-rw-r--r-- root/root usr/share/WindowMaker/Pixmaps/swback.png
-rw-r--r-- root/root usr/share/WindowMaker/Pixmaps/swback2.png
-rw-r--r-- root/root usr/share/WindowMaker/Pixmaps/swtile.png
-rw-r--r-- root/root usr/share/WindowMaker/Pixmaps/tile.tiff
-rw-r--r-- root/root usr/share/WindowMaker/Pixmaps/tile.xpm
drwxr-xr-x root/root usr/share/WindowMaker/Styles/
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Autumn.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Black.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/BlackTexture.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Blue.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/BlueDawn.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/BlueishGreen.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Brown.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Brownish.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Chumbo.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Copper.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/DarkBlue.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/DarkRed.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Emerald.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Fire.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Food.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Golden.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Green.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/GreyBlue.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Gtk.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/IRednBlue.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Interlace.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/LightBlue.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/NewBlue.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/NightSky.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Pastel.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Pink.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Pumpkin.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Purple.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Purplish.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Red.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/RednBlue.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Spring.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Summer.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/Traditional.style
-rw-r--r-- root/root usr/share/WindowMaker/Styles/VioletBlue.style
drwxr-xr-x root/root usr/share/WindowMaker/Themes/
-rw-r--r-- root/root usr/share/WindowMaker/Themes/Default.style
-rw-r--r-- root/root usr/share/WindowMaker/Themes/OpenStep.style
-rw-r--r-- root/root usr/share/WindowMaker/Themes/Pastel.style
-rw-r--r-- root/root usr/share/WindowMaker/Themes/SteelBlueSilk.style
-rw-r--r-- root/root usr/share/WindowMaker/autostart.sh
-rw-r--r-- root/root usr/share/WindowMaker/exitscript.sh
-rw-r--r-- root/root usr/share/WindowMaker/menu
-rw-r--r-- root/root usr/share/WindowMaker/plmenu
-rw-r--r-- root/root usr/share/WindowMaker/wmmacros
-rw-r--r-- root/root usr/share/WindowMaker/xtree.dat

2
windowmaker/.md5sum Normal file
View File

@ -0,0 +1,2 @@
aaac5421b686ed2d3e6ab65229c98097 WindowMaker-0.92.0.tar.bz2
68d8e1b36c5cf4122c754a68d044b9cb windowmaker-0.92.0-gcc4.patch

27
windowmaker/Pkgfile Normal file
View File

@ -0,0 +1,27 @@
# Description: An X11 window manager with a NEXTSTEP look and feel
# URL: http://www.windowmaker.info/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Per Lidén
# Depends on: x11 libtiff libungif
name=windowmaker
version=0.92.0
release=3
source=(http://windowmaker.info/pub/source/release/WindowMaker-$version.tar.bz2 \
$name-$version-gcc4.patch)
build() {
cd WindowMaker-$version
patch -p0 < ../$name-$version-gcc4.patch
aclocal
autoconf
automake -a
./configure --prefix=/usr --mandir=/usr/man
make
make DESTDIR=$PKG install
rm -rf $PKG/usr/share/WindowMaker/{README*,menu.*,plmenu.*} \
$PKG/usr/lib/locale $PKG/usr/man/sk $PKG/usr/bin/wm-oldmenu2new
# Bugfix for WPrefs
mkdir -p $PKG/usr/GNUstep/Applications
ln -sf ../../share/WPrefs $PKG/usr/GNUstep/Applications/WPrefs.app
}

View File

@ -0,0 +1,141 @@
--- configure.ac
+++ configure.ac
@@ -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,
--- wrlib/x86_specific.c
+++ wrlib/x86_specific.c
@@ -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"
);
}