[pkg-wine-party] [PATCH 1/8] Switch to source format 3.0 (quilt)

Hilko Bengen bengen at debian.org
Sun Dec 30 23:08:26 UTC 2012


Add existing changes to upstream sources as separate patches
---
 Make.vars.in                                       |    2 +-
 ...x-broken-.fon-files-on-big-endian-archite.patch |  231 ++++++++++++++++++++
 ...-Doubled-size-of-MAX_FONTS.-Closes-145033.patch |   21 ++
 .../0003-various-path-related-patches.patch        |  223 +++++++++++++++++++
 debian/patches/series                              |    3 +
 debian/source/format                               |    1 +
 dlls/Makedll.rules.in                              |    2 +-
 dlls/wineps.drv/Makefile.in                        |    6 +-
 dlls/winex11.drv/xfont.c                           |    2 +-
 libs/wine/Makefile.in                              |   28 +--
 loader/wine.man.in                                 |    4 +-
 tools/Makefile.in                                  |   10 +-
 tools/sfnt2fnt.c                                   |  135 +++---------
 tools/winedump/Makefile.in                         |    3 -
 tools/winedump/search.c                            |    2 +-
 15 files changed, 540 insertions(+), 133 deletions(-)
 create mode 100644 debian/patches/0001-sfnt2fnt-Fix-broken-.fon-files-on-big-endian-archite.patch
 create mode 100644 debian/patches/0002-Doubled-size-of-MAX_FONTS.-Closes-145033.patch
 create mode 100644 debian/patches/0003-various-path-related-patches.patch
 create mode 100644 debian/patches/series
 create mode 100644 debian/source/format

diff --git a/Make.vars.in b/Make.vars.in
index 812da6d..100594b 100644
--- a/Make.vars.in
+++ b/Make.vars.in
@@ -8,7 +8,7 @@ datarootdir     = @datarootdir@
 datadir         = @datadir@
 infodir         = @infodir@
 mandir          = @mandir@
-fontdir         = $(datadir)/wine$(DATASUFFIX)/fonts
+fontdir         = $(datadir)/wine/fonts
 includedir      = @includedir@/wine
 dlldir          = @libdir@/wine
 fakedlldir      = $(dlldir)/fakedlls
diff --git a/debian/patches/0001-sfnt2fnt-Fix-broken-.fon-files-on-big-endian-archite.patch b/debian/patches/0001-sfnt2fnt-Fix-broken-.fon-files-on-big-endian-archite.patch
new file mode 100644
index 0000000..a4e68c9
--- /dev/null
+++ b/debian/patches/0001-sfnt2fnt-Fix-broken-.fon-files-on-big-endian-archite.patch
@@ -0,0 +1,231 @@
+From: Hilko Bengen <bengen at debian.org>
+Date: Tue, 3 Jul 2012 21:09:01 +0200
+Subject: sfnt2fnt: Fix broken *.fon files on big-endian architectures
+
+(cherry picked from upstream commit fb16ce1fe092438216e878a9d5fad63d06100caa)
+---
+ tools/sfnt2fnt.c |  135 +++++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 102 insertions(+), 33 deletions(-)
+
+diff --git a/tools/sfnt2fnt.c b/tools/sfnt2fnt.c
+index df43ec0..07c82b1 100644
+--- a/tools/sfnt2fnt.c
++++ b/tools/sfnt2fnt.c
+@@ -43,6 +43,7 @@
+ 
+ #include "wine/unicode.h"
+ #include "wingdi.h"
++#include "basetsd.h"
+ 
+ #include "pshpack1.h"
+ 
+@@ -187,11 +188,30 @@ typedef struct
+ } FT_Version_t;
+ static FT_Version_t FT_Version;
+ 
++#include "poppack.h"
++
+ #define GET_BE_WORD(ptr)  MAKEWORD( ((BYTE *)(ptr))[1], ((BYTE *)(ptr))[0] )
+ #define GET_BE_DWORD(ptr) ((DWORD)MAKELONG( GET_BE_WORD(&((WORD *)(ptr))[1]), \
+                                             GET_BE_WORD(&((WORD *)(ptr))[0]) ))
+-
+-#include "poppack.h"
++#ifdef WORDS_BIGENDIAN
++static WORD byteswap_word(WORD x)
++{
++    return ( ( (x & 0xff) << 8) |
++	     ( (x & 0xff00) >> 8) );
++}
++static DWORD byteswap_dword(DWORD x)
++{
++    return ( ( (x & 0xff) << 24) |
++	     ( (x & 0xff00) << 8) |
++	     ( (x & 0xff0000) >> 8) |
++	     ( (x & 0xff000000) >> 24) );
++}
++# define PUT_LE_WORD(x) byteswap_word(x)
++# define PUT_LE_DWORD(x) byteswap_dword(x)
++#else
++# define PUT_LE_WORD(x) (x)
++# define PUT_LE_DWORD(x) (x)
++#endif
+ 
+ struct fontinfo
+ {
+@@ -378,7 +398,7 @@ static struct fontinfo *fill_fontinfo( const char *face_name, int ppem, int enc,
+         size_table = (bitmapSizeTable_t *)(eblc + 1);
+         for(i = 0; i < num_sizes; i++)
+         {
+-            if(size_table->hori.ascender - size_table->hori.descender == ppem)
++            if( (signed char)size_table->hori.ascender - (signed char)size_table->hori.descender == ppem)
+             {
+                 ascent = size_table->hori.ascender;
+                 break;
+@@ -570,11 +590,50 @@ static struct fontinfo *fill_fontinfo( const char *face_name, int ppem, int enc,
+     return info;
+ }
+ 
++static void adjust_fontinfo( FONTINFO16 * fi )
++{
++    fi->dfType = PUT_LE_WORD(fi->dfType);
++    fi->dfPoints = PUT_LE_WORD(fi->dfPoints);
++    fi->dfVertRes = PUT_LE_WORD(fi->dfVertRes);
++    fi->dfHorizRes = PUT_LE_WORD(fi->dfHorizRes);
++    fi->dfAscent = PUT_LE_WORD(fi->dfAscent);
++    fi->dfInternalLeading = PUT_LE_WORD(fi->dfInternalLeading);
++    fi->dfExternalLeading = PUT_LE_WORD(fi->dfExternalLeading);
++    fi->dfWeight = PUT_LE_WORD(fi->dfWeight);
++    fi->dfPixWidth = PUT_LE_WORD(fi->dfPixWidth);
++    fi->dfPixHeight = PUT_LE_WORD(fi->dfPixHeight);
++    fi->dfAvgWidth = PUT_LE_WORD(fi->dfAvgWidth);
++    fi->dfMaxWidth = PUT_LE_WORD(fi->dfMaxWidth);
++    fi->dfWidthBytes = PUT_LE_WORD(fi->dfWidthBytes);
++    fi->dfAspace = PUT_LE_WORD(fi->dfAspace);
++    fi->dfBspace = PUT_LE_WORD(fi->dfBspace);
++    fi->dfCspace = PUT_LE_WORD(fi->dfCspace);
++    fi->dfDevice = PUT_LE_DWORD(fi->dfDevice);
++    fi->dfFace = PUT_LE_DWORD(fi->dfFace);
++    fi->dfBitsPointer = PUT_LE_DWORD(fi->dfBitsPointer);
++    fi->dfBitsOffset = PUT_LE_DWORD(fi->dfBitsOffset);
++    fi->dfFlags = PUT_LE_DWORD(fi->dfFlags);
++    fi->dfColorPointer = PUT_LE_DWORD(fi->dfColorPointer);
++}
++
+ static void write_fontinfo( const struct fontinfo *info, FILE *fp )
+ {
+-    fwrite( &info->hdr, sizeof(info->hdr), 1, fp );
+-    fwrite( info->dfCharTable + info->hdr.fi.dfFirstChar, sizeof(*info->dfCharTable),
+-            ((unsigned char)info->hdr.fi.dfLastChar - (unsigned char)info->hdr.fi.dfFirstChar) + 3, fp );
++    FNT_HEADER tmp_hdr;
++    int num_chars, i;
++    CHAR_TABLE_ENTRY tmp_chartable[258];
++    memcpy(&tmp_hdr, &info->hdr, sizeof(info->hdr));
++    tmp_hdr.dfVersion = PUT_LE_WORD(tmp_hdr.dfVersion);
++    tmp_hdr.dfSize = PUT_LE_DWORD(tmp_hdr.dfSize);
++    adjust_fontinfo(&(tmp_hdr.fi));
++    fwrite( &tmp_hdr, sizeof(info->hdr), 1, fp );
++    num_chars = ((unsigned char)info->hdr.fi.dfLastChar - (unsigned char)info->hdr.fi.dfFirstChar) + 3;
++
++    memcpy(&tmp_chartable, info->dfCharTable + info->hdr.fi.dfFirstChar, num_chars * sizeof(CHAR_TABLE_ENTRY));
++    for (i=0; i < num_chars; ++i) {
++        tmp_chartable[i].width = PUT_LE_WORD(tmp_chartable[i].width);
++        tmp_chartable[i].offset = PUT_LE_DWORD(tmp_chartable[i].offset);
++    }
++    fwrite( tmp_chartable, sizeof(CHAR_TABLE_ENTRY), num_chars, fp );
+     fwrite( info->data, info->hdr.dfSize - info->hdr.fi.dfBitsOffset, 1, fp );
+ }
+ 
+@@ -630,6 +689,7 @@ int main(int argc, char **argv)
+     struct fontinfo **info;
+     char *input_file;
+     char **args;
++    short tmp16;
+ 
+     args = parse_options( argc, argv );
+ 
+@@ -696,21 +756,21 @@ int main(int argc, char **argv)
+     non_resident_name_off = sizeof(MZ_hdr) + module_ref_off + sizeof(align);
+ 
+     memset(&NE_hdr, 0, sizeof(NE_hdr));
+-    NE_hdr.ne_magic = 0x454e;
++    NE_hdr.ne_magic = PUT_LE_WORD(0x454e);
+     NE_hdr.ne_ver = 5;
+     NE_hdr.ne_rev = 1;
+-    NE_hdr.ne_flags = NE_FFLAGS_LIBMODULE | NE_FFLAGS_GUI;
+-    NE_hdr.ne_cbnrestab = non_resident_name_len;
+-    NE_hdr.ne_segtab = sizeof(NE_hdr);
+-    NE_hdr.ne_rsrctab = sizeof(NE_hdr);
+-    NE_hdr.ne_restab = resident_name_off;
+-    NE_hdr.ne_modtab = module_ref_off;
+-    NE_hdr.ne_imptab = module_ref_off;
++    NE_hdr.ne_flags = PUT_LE_WORD(NE_FFLAGS_LIBMODULE | NE_FFLAGS_GUI);
++    NE_hdr.ne_cbnrestab = PUT_LE_WORD(non_resident_name_len);
++    NE_hdr.ne_segtab = PUT_LE_WORD(sizeof(NE_hdr));
++    NE_hdr.ne_rsrctab = PUT_LE_WORD(sizeof(NE_hdr));
++    NE_hdr.ne_restab = PUT_LE_WORD(resident_name_off);
++    NE_hdr.ne_modtab = PUT_LE_WORD(module_ref_off);
++    NE_hdr.ne_imptab = PUT_LE_WORD(module_ref_off);
+     NE_hdr.ne_enttab = NE_hdr.ne_modtab;
+-    NE_hdr.ne_nrestab = non_resident_name_off;
+-    NE_hdr.ne_align = 4;
++    NE_hdr.ne_nrestab = PUT_LE_DWORD(non_resident_name_off);
++    NE_hdr.ne_align = PUT_LE_WORD(4);
+     NE_hdr.ne_exetyp = NE_OSFLAGS_WINDOWS;
+-    NE_hdr.ne_expver = 0x400;
++    NE_hdr.ne_expver = PUT_LE_WORD(0x400);
+ 
+     fontdir_off = (non_resident_name_off + non_resident_name_len + 15) & ~0xf;
+     font_off = (fontdir_off + fontdir_len + 15) & ~0x0f;
+@@ -749,34 +809,34 @@ int main(int argc, char **argv)
+     fwrite(MZ_hdr, sizeof(MZ_hdr), 1, ofp);
+     fwrite(&NE_hdr, sizeof(NE_hdr), 1, ofp);
+ 
+-    align = 4;
++    align = PUT_LE_WORD(4);
+     fwrite(&align, sizeof(align), 1, ofp);
+ 
+-    rc_type.type_id = NE_RSCTYPE_FONTDIR;
+-    rc_type.count = 1;
++    rc_type.type_id = PUT_LE_WORD(NE_RSCTYPE_FONTDIR);
++    rc_type.count = PUT_LE_WORD(1);
+     rc_type.resloader = 0;
+     fwrite(&rc_type, sizeof(rc_type), 1, ofp);
+ 
+-    rc_name.offset = fontdir_off >> 4;
+-    rc_name.length = (fontdir_len + 15) >> 4;
+-    rc_name.flags = NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_PRELOAD;
+-    rc_name.id = resident_name_off - sizeof("FONTDIR") - NE_hdr.ne_rsrctab;
++    rc_name.offset = PUT_LE_WORD(fontdir_off >> 4);
++    rc_name.length = PUT_LE_WORD((fontdir_len + 15) >> 4);
++    rc_name.flags = PUT_LE_WORD(NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_PRELOAD);
++    rc_name.id = PUT_LE_WORD(resident_name_off - sizeof("FONTDIR") - sizeof(NE_hdr));
+     rc_name.handle = 0;
+     rc_name.usage = 0;
+     fwrite(&rc_name, sizeof(rc_name), 1, ofp);
+ 
+-    rc_type.type_id = NE_RSCTYPE_FONT;
+-    rc_type.count = num_files;
++    rc_type.type_id = PUT_LE_WORD(NE_RSCTYPE_FONT);
++    rc_type.count = PUT_LE_WORD(num_files);
+     rc_type.resloader = 0;
+     fwrite(&rc_type, sizeof(rc_type), 1, ofp);
+ 
+     for(res = first_res | 0x8000, i = 0; i < num_files; i++, res++) {
+         int len = (info[i]->hdr.dfSize + 15) & ~0xf;
+ 
+-        rc_name.offset = font_off >> 4;
+-        rc_name.length = len >> 4;
+-        rc_name.flags = NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_SHAREABLE | NE_SEGFLAGS_DISCARDABLE;
+-        rc_name.id = res;
++        rc_name.offset = PUT_LE_WORD(font_off >> 4);
++        rc_name.length = PUT_LE_WORD(len >> 4);
++        rc_name.flags = PUT_LE_WORD(NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_SHAREABLE | NE_SEGFLAGS_DISCARDABLE);
++        rc_name.id = PUT_LE_WORD(res);
+         rc_name.handle = 0;
+         rc_name.usage = 0;
+         fwrite(&rc_name, sizeof(rc_name), 1, ofp);
+@@ -812,12 +872,21 @@ int main(int argc, char **argv)
+         fputc(0x00, ofp);
+ 
+     /* FONTDIR resource */
+-    fwrite(&num_files, sizeof(num_files), 1, ofp);
++    tmp16 = PUT_LE_WORD(num_files);
++    fwrite(&tmp16, sizeof(tmp16), 1, ofp);
+ 
+     for(res = first_res, i = 0; i < num_files; i++, res++) {
++        FNT_HEADER tmp_hdr;
++        int sz;
+         const char *name = get_face_name( info[i] );
+-        fwrite(&res, sizeof(res), 1, ofp);
+-        fwrite(&info[i]->hdr, FIELD_OFFSET(FNT_HEADER,fi.dfBitsOffset), 1, ofp);
++        tmp16 = PUT_LE_WORD(res);
++        fwrite(&tmp16, sizeof(tmp16), 1, ofp);
++        sz = FIELD_OFFSET(FNT_HEADER,fi.dfBitsOffset);
++        memcpy(&tmp_hdr, &info[i]->hdr, sz);
++        tmp_hdr.dfVersion = PUT_LE_WORD(tmp_hdr.dfVersion);
++        tmp_hdr.dfSize = PUT_LE_DWORD(tmp_hdr.dfSize);
++        adjust_fontinfo(&(tmp_hdr.fi));
++        fwrite(&tmp_hdr, FIELD_OFFSET(FNT_HEADER,fi.dfBitsOffset), 1, ofp);
+         fputc(0x00, ofp);
+         fwrite(name, strlen(name) + 1, 1, ofp);
+     }
diff --git a/debian/patches/0002-Doubled-size-of-MAX_FONTS.-Closes-145033.patch b/debian/patches/0002-Doubled-size-of-MAX_FONTS.-Closes-145033.patch
new file mode 100644
index 0000000..177e4db
--- /dev/null
+++ b/debian/patches/0002-Doubled-size-of-MAX_FONTS.-Closes-145033.patch
@@ -0,0 +1,21 @@
+From: Ove Kaaven <ovek at arcticnet.no>
+Date: Wed, 30 Apr 2008 22:45:46 +0200
+Subject: Doubled size of MAX_FONTS. Closes: #145033.
+
+---
+ dlls/winex11.drv/xfont.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dlls/winex11.drv/xfont.c b/dlls/winex11.drv/xfont.c
+index fe2c5bc..530bd21 100644
+--- a/dlls/winex11.drv/xfont.c
++++ b/dlls/winex11.drv/xfont.c
+@@ -53,7 +53,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(font);
+ #define X_PFONT_MAGIC		(0xFADE0000)
+ #define X_FMC_MAGIC		(0x0000CAFE)
+ 
+-#define MAX_FONTS	        1024*16
++#define MAX_FONTS	        1024*32
+ #define MAX_LFD_LENGTH		256
+ #define TILDE                   '~'
+ #define HYPHEN                  '-'
diff --git a/debian/patches/0003-various-path-related-patches.patch b/debian/patches/0003-various-path-related-patches.patch
new file mode 100644
index 0000000..f704b48
--- /dev/null
+++ b/debian/patches/0003-various-path-related-patches.patch
@@ -0,0 +1,223 @@
+From: Hilko Bengen <bengen at debian.org>
+Date: Sun, 9 Dec 2012 17:51:17 +0100
+Subject: various path-related patches
+
+---
+ Make.vars.in                |    2 +-
+ dlls/Makedll.rules.in       |    2 +-
+ dlls/wineps.drv/Makefile.in |    6 +++---
+ libs/wine/Makefile.in       |   28 ++++++++++++++--------------
+ loader/wine.man.in          |    4 ++--
+ tools/Makefile.in           |   10 +++++-----
+ tools/winedump/Makefile.in  |    3 +++
+ tools/winedump/search.c     |    2 +-
+ 8 files changed, 30 insertions(+), 27 deletions(-)
+
+diff --git a/Make.vars.in b/Make.vars.in
+index 100594b..812da6d 100644
+--- a/Make.vars.in
++++ b/Make.vars.in
+@@ -8,7 +8,7 @@ datarootdir     = @datarootdir@
+ datadir         = @datadir@
+ infodir         = @infodir@
+ mandir          = @mandir@
+-fontdir         = $(datadir)/wine/fonts
++fontdir         = $(datadir)/wine$(DATASUFFIX)/fonts
+ includedir      = @includedir@/wine
+ dlldir          = @libdir@/wine
+ fakedlldir      = $(dlldir)/fakedlls
+diff --git a/dlls/Makedll.rules.in b/dlls/Makedll.rules.in
+index 56414a0..0439c12 100644
+--- a/dlls/Makedll.rules.in
++++ b/dlls/Makedll.rules.in
+@@ -17,7 +17,7 @@ IMPLIB_OBJS = $(IMPLIB_SRCS:.c=.o)
+ IMPLIBFLAGS = $(TARGETFLAGS) $(EXTRAIMPLIBFLAGS)
+ IMPORTLIBFILE = $(IMPORTLIB:%=lib%. at IMPLIBEXT@)
+ STATICIMPLIB  = $(IMPORTLIBFILE:.def=.def.a)
+-INSTALLDIRS = $(DESTDIR)$(dlldir) $(DESTDIR)$(fakedlldir) $(DESTDIR)$(datadir)/wine
++INSTALLDIRS = $(DESTDIR)$(dlldir) $(DESTDIR)$(fakedlldir) $(DESTDIR)$(datadir)/wine$(DATASUFFIX)
+ 
+ @MAKE_RULES@
+ 
+diff --git a/dlls/wineps.drv/Makefile.in b/dlls/wineps.drv/Makefile.in
+index 1af9503..82b2d36 100644
+--- a/dlls/wineps.drv/Makefile.in
++++ b/dlls/wineps.drv/Makefile.in
+@@ -69,12 +69,12 @@ EXTRASUBDIRS = data
+ 
+ @MAKE_DLL_RULES@
+ 
+-install-ppd:: $(DESTDIR)$(datadir)/wine dummy
+-	$(INSTALL_DATA) $(srcdir)/generic.ppd $(DESTDIR)$(datadir)/wine/generic.ppd
++install-ppd:: $(DESTDIR)$(datadir)/wine$(DATASUFFIX) dummy
++	$(INSTALL_DATA) $(srcdir)/generic.ppd $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/generic.ppd
+ 
+ .PHONY: install-ppd
+ 
+ @WOW64_DISABLE@ install install-lib:: install-ppd
+ 
+ uninstall::
+-	$(RM) $(DESTDIR)$(datadir)/wine/generic.ppd
++	$(RM) $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/generic.ppd
+diff --git a/libs/wine/Makefile.in b/libs/wine/Makefile.in
+index ca93d26..977a1b6 100644
+--- a/libs/wine/Makefile.in
++++ b/libs/wine/Makefile.in
+@@ -6,7 +6,7 @@ DEFS      = -D__WINESRC__ -DWINE_UNICODE_API=""
+ 
+ VERSION   = 1.0
+ SOVERSION = 1
+-SONAME    = libwine.so.$(SOVERSION)
++SONAME    = libwine$(LIBSUFFIX).so.$(SOVERSION)
+ DYNAME    = libwine.$(SOVERSION).dylib
+ 
+ INSTALLDIRS = $(DESTDIR)$(libdir)
+@@ -101,26 +101,26 @@ all: $(MODULE) $(MODULE:.dll=.a)
+ # Special defines needed for config.c
+ 
+ CONFIGDIRS = \
+-	-DBINDIR='"$(bindir)"' \
++	-DBINDIR='"$(dlldir)"' \
+ 	-DDLLDIR='"$(dlldir)"' \
+-	-DLIB_TO_BINDIR=\"`$(RELPATH) $(libdir) $(bindir)`\" \
++	-DLIB_TO_BINDIR=\"`$(RELPATH) $(libdir) $(dlldir)`\" \
+ 	-DLIB_TO_DLLDIR=\"`$(RELPATH) $(libdir) $(dlldir)`\" \
+-	-DBIN_TO_DLLDIR=\"`$(RELPATH) $(bindir) $(dlldir)`\" \
+-	-DBIN_TO_DATADIR=\"`$(RELPATH) $(bindir) $(datadir)/wine`\"
++	-DBIN_TO_DLLDIR=\"`$(RELPATH) $(dlldir) $(dlldir)`\" \
++	-DBIN_TO_DATADIR=\"`$(RELPATH) $(dlldir) $(datadir)/wine$(DATASUFFIX)`\"
+ 
+ config.o: config.c $(RELPATH)
+ 	$(CC) -c $(ALLCFLAGS) -o $@ $(srcdir)/config.c $(CONFIGDIRS)
+ 
+ # Linking rules
+ 
+-libwine.so.$(VERSION): $(OBJS) $(VERSCRIPT) Makefile.in
++libwine$(LIBSUFFIX).so.$(VERSION): $(OBJS) $(VERSCRIPT) Makefile.in
+ 	$(LDSHARED) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@
+ 
+-libwine.so.$(SOVERSION): libwine.so.$(VERSION)
+-	$(RM) $@ && $(LN_S) libwine.so.$(VERSION) $@
++libwine$(LIBSUFFIX).so.$(SOVERSION): libwine$(LIBSUFFIX).so.$(VERSION)
++	$(RM) $@ && $(LN_S) libwine$(LIBSUFFIX).so.$(VERSION) $@
+ 
+-libwine.so: libwine.so.$(SOVERSION)
+-	$(RM) $@ && $(LN_S) libwine.so.$(SOVERSION) $@
++libwine.so: libwine$(LIBSUFFIX).so.$(SOVERSION)
++	$(RM) $@ && $(LN_S) libwine$(LIBSUFFIX).so.$(SOVERSION) $@
+ 
+ libwine.a: wine.def
+ 	$(DLLTOOL) -l $@ -d $(srcdir)/wine.def
+@@ -143,9 +143,9 @@ libwine.dylib: libwine.$(SOVERSION).dylib
+ 
+ .PHONY: install-lib-so install-lib-dll install-lib-dylib install-dev-so install-dev-dll install-dev-dylib
+ 
+-install-lib-so: libwine.so.$(VERSION) $(DESTDIR)$(libdir) dummy
+-	$(INSTALL_PROGRAM) libwine.so.$(VERSION) $(DESTDIR)$(libdir)/libwine.so.$(VERSION)
+-	cd $(DESTDIR)$(libdir) && $(RM) libwine.so.$(SOVERSION) && $(LN_S) libwine.so.$(VERSION) libwine.so.$(SOVERSION)
++install-lib-so: libwine$(LIBSUFFIX).so.$(VERSION) $(DESTDIR)$(libdir) dummy
++	$(INSTALL_PROGRAM) libwine$(LIBSUFFIX).so.$(VERSION) $(DESTDIR)$(libdir)/libwine$(LIBSUFFIX).so.$(VERSION)
++	cd $(DESTDIR)$(libdir) && $(RM) libwine$(LIBSUFFIX).so.$(SOVERSION) && $(LN_S) libwine$(LIBSUFFIX).so.$(VERSION) libwine$(LIBSUFFIX).so.$(SOVERSION)
+ 
+ install-lib-dll: libwine.dll $(DESTDIR)$(libdir) dummy
+ 	$(INSTALL_DATA) libwine.dll $(DESTDIR)$(libdir)/libwine.dll
+@@ -155,7 +155,7 @@ install-lib-dylib: libwine.$(VERSION).dylib $(DESTDIR)$(libdir) dummy
+ 	cd $(DESTDIR)$(libdir) && $(RM) libwine.$(SOVERSION).dylib && $(LN_S) libwine.$(VERSION).dylib libwine.$(SOVERSION).dylib
+ 
+ install-dev-so: $(DESTDIR)$(libdir) dummy
+-	cd $(DESTDIR)$(libdir) && $(RM) libwine.so && $(LN_S) libwine.so.$(VERSION) libwine.so
++	cd $(DESTDIR)$(libdir) && $(RM) libwine.so && $(LN_S) libwine$(LIBSUFFIX).so.$(VERSION) libwine.so
+ 
+ install-dev-dll: libwine.a $(DESTDIR)$(libdir) dummy
+ 	$(INSTALL_DATA) libwine.a $(DESTDIR)$(libdir)/libwine.a
+diff --git a/loader/wine.man.in b/loader/wine.man.in
+index 6779b44..06ec278 100644
+--- a/loader/wine.man.in
++++ b/loader/wine.man.in
+@@ -87,7 +87,7 @@ processes.
+ Specifies the path and name of the
+ .B wineserver
+ binary. If not set, Wine will try to load
+-.BR @bindir@/wineserver ,
++.BR @dlldir@/wineserver,
+ and if this doesn't exist it will then look for a file named
+ "wineserver" in the path and in a few other likely locations.
+ .TP
+@@ -246,7 +246,7 @@ The
+ .B wine 
+ program loader for CUI (console) applications.
+ .TP
+-.I @bindir@/wineserver
++.I @dlldir@/wineserver
+ The 
+ .B wine 
+ server 
+diff --git a/tools/Makefile.in b/tools/Makefile.in
+index 53dd9f0..c04923e 100644
+--- a/tools/Makefile.in
++++ b/tools/Makefile.in
+@@ -32,7 +32,7 @@ EXTRASUBDIRS = winapi
+ INSTALLDIRS = \
+ 	$(DESTDIR)$(bindir) \
+ 	$(DESTDIR)$(datadir)/applications \
+-	$(DESTDIR)$(datadir)/wine \
++	$(DESTDIR)$(datadir)/wine$(DATASUFFIX) \
+ 	$(DESTDIR)$(mandir)/man$(prog_manext) \
+ 	$(DESTDIR)$(mandir)/de.UTF-8/man$(prog_manext) \
+ 	$(DESTDIR)$(mandir)/fr.UTF-8/man$(prog_manext)
+@@ -71,8 +71,8 @@ wineapploader: wineapploader.in
+ 	sed -e 's, at bindir\@,$(bindir),g' $(srcdir)/wineapploader.in >$@ || ($(RM) $@ && false)
+ 
+ install install-lib:: wine.inf $(INSTALLDIRS)
+-	$(INSTALL_DATA) wine.inf $(DESTDIR)$(datadir)/wine/wine.inf
+-	$(INSTALL_DATA) $(srcdir)/l_intl.nls $(DESTDIR)$(datadir)/wine/l_intl.nls
++	$(INSTALL_DATA) wine.inf $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/wine.inf
++	$(INSTALL_DATA) $(srcdir)/l_intl.nls $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/l_intl.nls
+ 	$(INSTALL_DATA) $(srcdir)/wine.desktop $(DESTDIR)$(datadir)/applications/wine.desktop
+ 	-$(UPDATE_DESKTOP_DATABASE)
+ 
+@@ -84,8 +84,8 @@ install-man-pages:: $(EXTRA_MANPAGES) $(INSTALLDIRS)
+ 	$(INSTALL_DATA) winemaker.fr.man $(DESTDIR)$(mandir)/fr.UTF-8/man$(prog_manext)/winemaker.$(prog_manext)
+ 
+ uninstall::
+-	$(RM) $(DESTDIR)$(datadir)/wine/wine.inf \
+-		$(DESTDIR)$(datadir)/wine/l_intl.nls \
++	$(RM) $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/wine.inf \
++		$(DESTDIR)$(datadir)/wine$(DATASUFFIX)/l_intl.nls \
+ 		$(DESTDIR)$(datadir)/applications/wine.desktop \
+ 		$(DESTDIR)$(bindir)/winemaker \
+ 		$(DESTDIR)$(mandir)/de.UTF-8/man$(prog_manext)/winemaker.$(prog_manext) \
+diff --git a/tools/winedump/Makefile.in b/tools/winedump/Makefile.in
+index c61096a..e629e0d 100644
+--- a/tools/winedump/Makefile.in
++++ b/tools/winedump/Makefile.in
+@@ -26,6 +26,8 @@ C_SRCS = \
+ 
+ INSTALLDIRS = $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man$(prog_manext)
+ 
++MODCFLAGS = -DDATADIR=\"$(datadir)/wine$(DATASUFFIX)/\"
++
+ all: $(PROGRAMS)
+ 
+ @MAKE_RULES@
+@@ -34,6 +36,7 @@ winedump$(EXEEXT): $(OBJS)
+ 	$(CC) $(CFLAGS) -o winedump$(EXEEXT) $(OBJS) $(LIBPORT) $(LDFLAGS)
+ 
+ install install-dev:: $(PROGRAMS) $(DESTDIR)$(bindir)
++	mkdir -p $(DESTDIR)/$(datadir)/wine$(DATASUFFIX)
+ 	$(INSTALL_PROGRAM) winedump$(EXEEXT) $(DESTDIR)$(bindir)/winedump$(EXEEXT)
+ 	$(INSTALL_SCRIPT) $(srcdir)/function_grep.pl $(DESTDIR)$(bindir)/function_grep.pl
+ 
+diff --git a/tools/winedump/search.c b/tools/winedump/search.c
+index 2538caf..9a9169a 100644
+--- a/tools/winedump/search.c
++++ b/tools/winedump/search.c
+@@ -98,7 +98,7 @@ int symbol_search (parsed_symbol *sym)
+       if (VERBOSE)
+         puts (grep_buff);
+ 
+-      cmd = str_create (5, "function_grep.pl ", sym->symbol,
++      cmd = str_create (5, DATADIR "function_grep.pl ", sym->symbol,
+                         " \"", grep_buff, "\"");
+ 
+       if (VERBOSE)
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..006d70a
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,3 @@
+0001-sfnt2fnt-Fix-broken-.fon-files-on-big-endian-archite.patch
+0002-Doubled-size-of-MAX_FONTS.-Closes-145033.patch
+0003-various-path-related-patches.patch
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/dlls/Makedll.rules.in b/dlls/Makedll.rules.in
index 0439c12..56414a0 100644
--- a/dlls/Makedll.rules.in
+++ b/dlls/Makedll.rules.in
@@ -17,7 +17,7 @@ IMPLIB_OBJS = $(IMPLIB_SRCS:.c=.o)
 IMPLIBFLAGS = $(TARGETFLAGS) $(EXTRAIMPLIBFLAGS)
 IMPORTLIBFILE = $(IMPORTLIB:%=lib%. at IMPLIBEXT@)
 STATICIMPLIB  = $(IMPORTLIBFILE:.def=.def.a)
-INSTALLDIRS = $(DESTDIR)$(dlldir) $(DESTDIR)$(fakedlldir) $(DESTDIR)$(datadir)/wine$(DATASUFFIX)
+INSTALLDIRS = $(DESTDIR)$(dlldir) $(DESTDIR)$(fakedlldir) $(DESTDIR)$(datadir)/wine
 
 @MAKE_RULES@
 
diff --git a/dlls/wineps.drv/Makefile.in b/dlls/wineps.drv/Makefile.in
index 82b2d36..1af9503 100644
--- a/dlls/wineps.drv/Makefile.in
+++ b/dlls/wineps.drv/Makefile.in
@@ -69,12 +69,12 @@ EXTRASUBDIRS = data
 
 @MAKE_DLL_RULES@
 
-install-ppd:: $(DESTDIR)$(datadir)/wine$(DATASUFFIX) dummy
-	$(INSTALL_DATA) $(srcdir)/generic.ppd $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/generic.ppd
+install-ppd:: $(DESTDIR)$(datadir)/wine dummy
+	$(INSTALL_DATA) $(srcdir)/generic.ppd $(DESTDIR)$(datadir)/wine/generic.ppd
 
 .PHONY: install-ppd
 
 @WOW64_DISABLE@ install install-lib:: install-ppd
 
 uninstall::
-	$(RM) $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/generic.ppd
+	$(RM) $(DESTDIR)$(datadir)/wine/generic.ppd
diff --git a/dlls/winex11.drv/xfont.c b/dlls/winex11.drv/xfont.c
index 530bd21..fe2c5bc 100644
--- a/dlls/winex11.drv/xfont.c
+++ b/dlls/winex11.drv/xfont.c
@@ -53,7 +53,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(font);
 #define X_PFONT_MAGIC		(0xFADE0000)
 #define X_FMC_MAGIC		(0x0000CAFE)
 
-#define MAX_FONTS	        1024*32
+#define MAX_FONTS	        1024*16
 #define MAX_LFD_LENGTH		256
 #define TILDE                   '~'
 #define HYPHEN                  '-'
diff --git a/libs/wine/Makefile.in b/libs/wine/Makefile.in
index 977a1b6..ca93d26 100644
--- a/libs/wine/Makefile.in
+++ b/libs/wine/Makefile.in
@@ -6,7 +6,7 @@ DEFS      = -D__WINESRC__ -DWINE_UNICODE_API=""
 
 VERSION   = 1.0
 SOVERSION = 1
-SONAME    = libwine$(LIBSUFFIX).so.$(SOVERSION)
+SONAME    = libwine.so.$(SOVERSION)
 DYNAME    = libwine.$(SOVERSION).dylib
 
 INSTALLDIRS = $(DESTDIR)$(libdir)
@@ -101,26 +101,26 @@ all: $(MODULE) $(MODULE:.dll=.a)
 # Special defines needed for config.c
 
 CONFIGDIRS = \
-	-DBINDIR='"$(dlldir)"' \
+	-DBINDIR='"$(bindir)"' \
 	-DDLLDIR='"$(dlldir)"' \
-	-DLIB_TO_BINDIR=\"`$(RELPATH) $(libdir) $(dlldir)`\" \
+	-DLIB_TO_BINDIR=\"`$(RELPATH) $(libdir) $(bindir)`\" \
 	-DLIB_TO_DLLDIR=\"`$(RELPATH) $(libdir) $(dlldir)`\" \
-	-DBIN_TO_DLLDIR=\"`$(RELPATH) $(dlldir) $(dlldir)`\" \
-	-DBIN_TO_DATADIR=\"`$(RELPATH) $(dlldir) $(datadir)/wine$(DATASUFFIX)`\"
+	-DBIN_TO_DLLDIR=\"`$(RELPATH) $(bindir) $(dlldir)`\" \
+	-DBIN_TO_DATADIR=\"`$(RELPATH) $(bindir) $(datadir)/wine`\"
 
 config.o: config.c $(RELPATH)
 	$(CC) -c $(ALLCFLAGS) -o $@ $(srcdir)/config.c $(CONFIGDIRS)
 
 # Linking rules
 
-libwine$(LIBSUFFIX).so.$(VERSION): $(OBJS) $(VERSCRIPT) Makefile.in
+libwine.so.$(VERSION): $(OBJS) $(VERSCRIPT) Makefile.in
 	$(LDSHARED) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@
 
-libwine$(LIBSUFFIX).so.$(SOVERSION): libwine$(LIBSUFFIX).so.$(VERSION)
-	$(RM) $@ && $(LN_S) libwine$(LIBSUFFIX).so.$(VERSION) $@
+libwine.so.$(SOVERSION): libwine.so.$(VERSION)
+	$(RM) $@ && $(LN_S) libwine.so.$(VERSION) $@
 
-libwine.so: libwine$(LIBSUFFIX).so.$(SOVERSION)
-	$(RM) $@ && $(LN_S) libwine$(LIBSUFFIX).so.$(SOVERSION) $@
+libwine.so: libwine.so.$(SOVERSION)
+	$(RM) $@ && $(LN_S) libwine.so.$(SOVERSION) $@
 
 libwine.a: wine.def
 	$(DLLTOOL) -l $@ -d $(srcdir)/wine.def
@@ -143,9 +143,9 @@ libwine.dylib: libwine.$(SOVERSION).dylib
 
 .PHONY: install-lib-so install-lib-dll install-lib-dylib install-dev-so install-dev-dll install-dev-dylib
 
-install-lib-so: libwine$(LIBSUFFIX).so.$(VERSION) $(DESTDIR)$(libdir) dummy
-	$(INSTALL_PROGRAM) libwine$(LIBSUFFIX).so.$(VERSION) $(DESTDIR)$(libdir)/libwine$(LIBSUFFIX).so.$(VERSION)
-	cd $(DESTDIR)$(libdir) && $(RM) libwine$(LIBSUFFIX).so.$(SOVERSION) && $(LN_S) libwine$(LIBSUFFIX).so.$(VERSION) libwine$(LIBSUFFIX).so.$(SOVERSION)
+install-lib-so: libwine.so.$(VERSION) $(DESTDIR)$(libdir) dummy
+	$(INSTALL_PROGRAM) libwine.so.$(VERSION) $(DESTDIR)$(libdir)/libwine.so.$(VERSION)
+	cd $(DESTDIR)$(libdir) && $(RM) libwine.so.$(SOVERSION) && $(LN_S) libwine.so.$(VERSION) libwine.so.$(SOVERSION)
 
 install-lib-dll: libwine.dll $(DESTDIR)$(libdir) dummy
 	$(INSTALL_DATA) libwine.dll $(DESTDIR)$(libdir)/libwine.dll
@@ -155,7 +155,7 @@ install-lib-dylib: libwine.$(VERSION).dylib $(DESTDIR)$(libdir) dummy
 	cd $(DESTDIR)$(libdir) && $(RM) libwine.$(SOVERSION).dylib && $(LN_S) libwine.$(VERSION).dylib libwine.$(SOVERSION).dylib
 
 install-dev-so: $(DESTDIR)$(libdir) dummy
-	cd $(DESTDIR)$(libdir) && $(RM) libwine.so && $(LN_S) libwine$(LIBSUFFIX).so.$(VERSION) libwine.so
+	cd $(DESTDIR)$(libdir) && $(RM) libwine.so && $(LN_S) libwine.so.$(VERSION) libwine.so
 
 install-dev-dll: libwine.a $(DESTDIR)$(libdir) dummy
 	$(INSTALL_DATA) libwine.a $(DESTDIR)$(libdir)/libwine.a
diff --git a/loader/wine.man.in b/loader/wine.man.in
index 06ec278..6779b44 100644
--- a/loader/wine.man.in
+++ b/loader/wine.man.in
@@ -87,7 +87,7 @@ processes.
 Specifies the path and name of the
 .B wineserver
 binary. If not set, Wine will try to load
-.BR @dlldir@/wineserver,
+.BR @bindir@/wineserver ,
 and if this doesn't exist it will then look for a file named
 "wineserver" in the path and in a few other likely locations.
 .TP
@@ -246,7 +246,7 @@ The
 .B wine 
 program loader for CUI (console) applications.
 .TP
-.I @dlldir@/wineserver
+.I @bindir@/wineserver
 The 
 .B wine 
 server 
diff --git a/tools/Makefile.in b/tools/Makefile.in
index c04923e..53dd9f0 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -32,7 +32,7 @@ EXTRASUBDIRS = winapi
 INSTALLDIRS = \
 	$(DESTDIR)$(bindir) \
 	$(DESTDIR)$(datadir)/applications \
-	$(DESTDIR)$(datadir)/wine$(DATASUFFIX) \
+	$(DESTDIR)$(datadir)/wine \
 	$(DESTDIR)$(mandir)/man$(prog_manext) \
 	$(DESTDIR)$(mandir)/de.UTF-8/man$(prog_manext) \
 	$(DESTDIR)$(mandir)/fr.UTF-8/man$(prog_manext)
@@ -71,8 +71,8 @@ wineapploader: wineapploader.in
 	sed -e 's, at bindir\@,$(bindir),g' $(srcdir)/wineapploader.in >$@ || ($(RM) $@ && false)
 
 install install-lib:: wine.inf $(INSTALLDIRS)
-	$(INSTALL_DATA) wine.inf $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/wine.inf
-	$(INSTALL_DATA) $(srcdir)/l_intl.nls $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/l_intl.nls
+	$(INSTALL_DATA) wine.inf $(DESTDIR)$(datadir)/wine/wine.inf
+	$(INSTALL_DATA) $(srcdir)/l_intl.nls $(DESTDIR)$(datadir)/wine/l_intl.nls
 	$(INSTALL_DATA) $(srcdir)/wine.desktop $(DESTDIR)$(datadir)/applications/wine.desktop
 	-$(UPDATE_DESKTOP_DATABASE)
 
@@ -84,8 +84,8 @@ install-man-pages:: $(EXTRA_MANPAGES) $(INSTALLDIRS)
 	$(INSTALL_DATA) winemaker.fr.man $(DESTDIR)$(mandir)/fr.UTF-8/man$(prog_manext)/winemaker.$(prog_manext)
 
 uninstall::
-	$(RM) $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/wine.inf \
-		$(DESTDIR)$(datadir)/wine$(DATASUFFIX)/l_intl.nls \
+	$(RM) $(DESTDIR)$(datadir)/wine/wine.inf \
+		$(DESTDIR)$(datadir)/wine/l_intl.nls \
 		$(DESTDIR)$(datadir)/applications/wine.desktop \
 		$(DESTDIR)$(bindir)/winemaker \
 		$(DESTDIR)$(mandir)/de.UTF-8/man$(prog_manext)/winemaker.$(prog_manext) \
diff --git a/tools/sfnt2fnt.c b/tools/sfnt2fnt.c
index 07c82b1..df43ec0 100644
--- a/tools/sfnt2fnt.c
+++ b/tools/sfnt2fnt.c
@@ -43,7 +43,6 @@
 
 #include "wine/unicode.h"
 #include "wingdi.h"
-#include "basetsd.h"
 
 #include "pshpack1.h"
 
@@ -188,30 +187,11 @@ typedef struct
 } FT_Version_t;
 static FT_Version_t FT_Version;
 
-#include "poppack.h"
-
 #define GET_BE_WORD(ptr)  MAKEWORD( ((BYTE *)(ptr))[1], ((BYTE *)(ptr))[0] )
 #define GET_BE_DWORD(ptr) ((DWORD)MAKELONG( GET_BE_WORD(&((WORD *)(ptr))[1]), \
                                             GET_BE_WORD(&((WORD *)(ptr))[0]) ))
-#ifdef WORDS_BIGENDIAN
-static WORD byteswap_word(WORD x)
-{
-    return ( ( (x & 0xff) << 8) |
-	     ( (x & 0xff00) >> 8) );
-}
-static DWORD byteswap_dword(DWORD x)
-{
-    return ( ( (x & 0xff) << 24) |
-	     ( (x & 0xff00) << 8) |
-	     ( (x & 0xff0000) >> 8) |
-	     ( (x & 0xff000000) >> 24) );
-}
-# define PUT_LE_WORD(x) byteswap_word(x)
-# define PUT_LE_DWORD(x) byteswap_dword(x)
-#else
-# define PUT_LE_WORD(x) (x)
-# define PUT_LE_DWORD(x) (x)
-#endif
+
+#include "poppack.h"
 
 struct fontinfo
 {
@@ -398,7 +378,7 @@ static struct fontinfo *fill_fontinfo( const char *face_name, int ppem, int enc,
         size_table = (bitmapSizeTable_t *)(eblc + 1);
         for(i = 0; i < num_sizes; i++)
         {
-            if( (signed char)size_table->hori.ascender - (signed char)size_table->hori.descender == ppem)
+            if(size_table->hori.ascender - size_table->hori.descender == ppem)
             {
                 ascent = size_table->hori.ascender;
                 break;
@@ -590,50 +570,11 @@ static struct fontinfo *fill_fontinfo( const char *face_name, int ppem, int enc,
     return info;
 }
 
-static void adjust_fontinfo( FONTINFO16 * fi )
-{
-    fi->dfType = PUT_LE_WORD(fi->dfType);
-    fi->dfPoints = PUT_LE_WORD(fi->dfPoints);
-    fi->dfVertRes = PUT_LE_WORD(fi->dfVertRes);
-    fi->dfHorizRes = PUT_LE_WORD(fi->dfHorizRes);
-    fi->dfAscent = PUT_LE_WORD(fi->dfAscent);
-    fi->dfInternalLeading = PUT_LE_WORD(fi->dfInternalLeading);
-    fi->dfExternalLeading = PUT_LE_WORD(fi->dfExternalLeading);
-    fi->dfWeight = PUT_LE_WORD(fi->dfWeight);
-    fi->dfPixWidth = PUT_LE_WORD(fi->dfPixWidth);
-    fi->dfPixHeight = PUT_LE_WORD(fi->dfPixHeight);
-    fi->dfAvgWidth = PUT_LE_WORD(fi->dfAvgWidth);
-    fi->dfMaxWidth = PUT_LE_WORD(fi->dfMaxWidth);
-    fi->dfWidthBytes = PUT_LE_WORD(fi->dfWidthBytes);
-    fi->dfAspace = PUT_LE_WORD(fi->dfAspace);
-    fi->dfBspace = PUT_LE_WORD(fi->dfBspace);
-    fi->dfCspace = PUT_LE_WORD(fi->dfCspace);
-    fi->dfDevice = PUT_LE_DWORD(fi->dfDevice);
-    fi->dfFace = PUT_LE_DWORD(fi->dfFace);
-    fi->dfBitsPointer = PUT_LE_DWORD(fi->dfBitsPointer);
-    fi->dfBitsOffset = PUT_LE_DWORD(fi->dfBitsOffset);
-    fi->dfFlags = PUT_LE_DWORD(fi->dfFlags);
-    fi->dfColorPointer = PUT_LE_DWORD(fi->dfColorPointer);
-}
-
 static void write_fontinfo( const struct fontinfo *info, FILE *fp )
 {
-    FNT_HEADER tmp_hdr;
-    int num_chars, i;
-    CHAR_TABLE_ENTRY tmp_chartable[258];
-    memcpy(&tmp_hdr, &info->hdr, sizeof(info->hdr));
-    tmp_hdr.dfVersion = PUT_LE_WORD(tmp_hdr.dfVersion);
-    tmp_hdr.dfSize = PUT_LE_DWORD(tmp_hdr.dfSize);
-    adjust_fontinfo(&(tmp_hdr.fi));
-    fwrite( &tmp_hdr, sizeof(info->hdr), 1, fp );
-    num_chars = ((unsigned char)info->hdr.fi.dfLastChar - (unsigned char)info->hdr.fi.dfFirstChar) + 3;
-
-    memcpy(&tmp_chartable, info->dfCharTable + info->hdr.fi.dfFirstChar, num_chars * sizeof(CHAR_TABLE_ENTRY));
-    for (i=0; i < num_chars; ++i) {
-        tmp_chartable[i].width = PUT_LE_WORD(tmp_chartable[i].width);
-        tmp_chartable[i].offset = PUT_LE_DWORD(tmp_chartable[i].offset);
-    }
-    fwrite( tmp_chartable, sizeof(CHAR_TABLE_ENTRY), num_chars, fp );
+    fwrite( &info->hdr, sizeof(info->hdr), 1, fp );
+    fwrite( info->dfCharTable + info->hdr.fi.dfFirstChar, sizeof(*info->dfCharTable),
+            ((unsigned char)info->hdr.fi.dfLastChar - (unsigned char)info->hdr.fi.dfFirstChar) + 3, fp );
     fwrite( info->data, info->hdr.dfSize - info->hdr.fi.dfBitsOffset, 1, fp );
 }
 
@@ -689,7 +630,6 @@ int main(int argc, char **argv)
     struct fontinfo **info;
     char *input_file;
     char **args;
-    short tmp16;
 
     args = parse_options( argc, argv );
 
@@ -756,21 +696,21 @@ int main(int argc, char **argv)
     non_resident_name_off = sizeof(MZ_hdr) + module_ref_off + sizeof(align);
 
     memset(&NE_hdr, 0, sizeof(NE_hdr));
-    NE_hdr.ne_magic = PUT_LE_WORD(0x454e);
+    NE_hdr.ne_magic = 0x454e;
     NE_hdr.ne_ver = 5;
     NE_hdr.ne_rev = 1;
-    NE_hdr.ne_flags = PUT_LE_WORD(NE_FFLAGS_LIBMODULE | NE_FFLAGS_GUI);
-    NE_hdr.ne_cbnrestab = PUT_LE_WORD(non_resident_name_len);
-    NE_hdr.ne_segtab = PUT_LE_WORD(sizeof(NE_hdr));
-    NE_hdr.ne_rsrctab = PUT_LE_WORD(sizeof(NE_hdr));
-    NE_hdr.ne_restab = PUT_LE_WORD(resident_name_off);
-    NE_hdr.ne_modtab = PUT_LE_WORD(module_ref_off);
-    NE_hdr.ne_imptab = PUT_LE_WORD(module_ref_off);
+    NE_hdr.ne_flags = NE_FFLAGS_LIBMODULE | NE_FFLAGS_GUI;
+    NE_hdr.ne_cbnrestab = non_resident_name_len;
+    NE_hdr.ne_segtab = sizeof(NE_hdr);
+    NE_hdr.ne_rsrctab = sizeof(NE_hdr);
+    NE_hdr.ne_restab = resident_name_off;
+    NE_hdr.ne_modtab = module_ref_off;
+    NE_hdr.ne_imptab = module_ref_off;
     NE_hdr.ne_enttab = NE_hdr.ne_modtab;
-    NE_hdr.ne_nrestab = PUT_LE_DWORD(non_resident_name_off);
-    NE_hdr.ne_align = PUT_LE_WORD(4);
+    NE_hdr.ne_nrestab = non_resident_name_off;
+    NE_hdr.ne_align = 4;
     NE_hdr.ne_exetyp = NE_OSFLAGS_WINDOWS;
-    NE_hdr.ne_expver = PUT_LE_WORD(0x400);
+    NE_hdr.ne_expver = 0x400;
 
     fontdir_off = (non_resident_name_off + non_resident_name_len + 15) & ~0xf;
     font_off = (fontdir_off + fontdir_len + 15) & ~0x0f;
@@ -809,34 +749,34 @@ int main(int argc, char **argv)
     fwrite(MZ_hdr, sizeof(MZ_hdr), 1, ofp);
     fwrite(&NE_hdr, sizeof(NE_hdr), 1, ofp);
 
-    align = PUT_LE_WORD(4);
+    align = 4;
     fwrite(&align, sizeof(align), 1, ofp);
 
-    rc_type.type_id = PUT_LE_WORD(NE_RSCTYPE_FONTDIR);
-    rc_type.count = PUT_LE_WORD(1);
+    rc_type.type_id = NE_RSCTYPE_FONTDIR;
+    rc_type.count = 1;
     rc_type.resloader = 0;
     fwrite(&rc_type, sizeof(rc_type), 1, ofp);
 
-    rc_name.offset = PUT_LE_WORD(fontdir_off >> 4);
-    rc_name.length = PUT_LE_WORD((fontdir_len + 15) >> 4);
-    rc_name.flags = PUT_LE_WORD(NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_PRELOAD);
-    rc_name.id = PUT_LE_WORD(resident_name_off - sizeof("FONTDIR") - sizeof(NE_hdr));
+    rc_name.offset = fontdir_off >> 4;
+    rc_name.length = (fontdir_len + 15) >> 4;
+    rc_name.flags = NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_PRELOAD;
+    rc_name.id = resident_name_off - sizeof("FONTDIR") - NE_hdr.ne_rsrctab;
     rc_name.handle = 0;
     rc_name.usage = 0;
     fwrite(&rc_name, sizeof(rc_name), 1, ofp);
 
-    rc_type.type_id = PUT_LE_WORD(NE_RSCTYPE_FONT);
-    rc_type.count = PUT_LE_WORD(num_files);
+    rc_type.type_id = NE_RSCTYPE_FONT;
+    rc_type.count = num_files;
     rc_type.resloader = 0;
     fwrite(&rc_type, sizeof(rc_type), 1, ofp);
 
     for(res = first_res | 0x8000, i = 0; i < num_files; i++, res++) {
         int len = (info[i]->hdr.dfSize + 15) & ~0xf;
 
-        rc_name.offset = PUT_LE_WORD(font_off >> 4);
-        rc_name.length = PUT_LE_WORD(len >> 4);
-        rc_name.flags = PUT_LE_WORD(NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_SHAREABLE | NE_SEGFLAGS_DISCARDABLE);
-        rc_name.id = PUT_LE_WORD(res);
+        rc_name.offset = font_off >> 4;
+        rc_name.length = len >> 4;
+        rc_name.flags = NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_SHAREABLE | NE_SEGFLAGS_DISCARDABLE;
+        rc_name.id = res;
         rc_name.handle = 0;
         rc_name.usage = 0;
         fwrite(&rc_name, sizeof(rc_name), 1, ofp);
@@ -872,21 +812,12 @@ int main(int argc, char **argv)
         fputc(0x00, ofp);
 
     /* FONTDIR resource */
-    tmp16 = PUT_LE_WORD(num_files);
-    fwrite(&tmp16, sizeof(tmp16), 1, ofp);
+    fwrite(&num_files, sizeof(num_files), 1, ofp);
 
     for(res = first_res, i = 0; i < num_files; i++, res++) {
-        FNT_HEADER tmp_hdr;
-        int sz;
         const char *name = get_face_name( info[i] );
-        tmp16 = PUT_LE_WORD(res);
-        fwrite(&tmp16, sizeof(tmp16), 1, ofp);
-        sz = FIELD_OFFSET(FNT_HEADER,fi.dfBitsOffset);
-        memcpy(&tmp_hdr, &info[i]->hdr, sz);
-        tmp_hdr.dfVersion = PUT_LE_WORD(tmp_hdr.dfVersion);
-        tmp_hdr.dfSize = PUT_LE_DWORD(tmp_hdr.dfSize);
-        adjust_fontinfo(&(tmp_hdr.fi));
-        fwrite(&tmp_hdr, FIELD_OFFSET(FNT_HEADER,fi.dfBitsOffset), 1, ofp);
+        fwrite(&res, sizeof(res), 1, ofp);
+        fwrite(&info[i]->hdr, FIELD_OFFSET(FNT_HEADER,fi.dfBitsOffset), 1, ofp);
         fputc(0x00, ofp);
         fwrite(name, strlen(name) + 1, 1, ofp);
     }
diff --git a/tools/winedump/Makefile.in b/tools/winedump/Makefile.in
index e629e0d..c61096a 100644
--- a/tools/winedump/Makefile.in
+++ b/tools/winedump/Makefile.in
@@ -26,8 +26,6 @@ C_SRCS = \
 
 INSTALLDIRS = $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man$(prog_manext)
 
-MODCFLAGS = -DDATADIR=\"$(datadir)/wine$(DATASUFFIX)/\"
-
 all: $(PROGRAMS)
 
 @MAKE_RULES@
@@ -36,7 +34,6 @@ winedump$(EXEEXT): $(OBJS)
 	$(CC) $(CFLAGS) -o winedump$(EXEEXT) $(OBJS) $(LIBPORT) $(LDFLAGS)
 
 install install-dev:: $(PROGRAMS) $(DESTDIR)$(bindir)
-	mkdir -p $(DESTDIR)/$(datadir)/wine$(DATASUFFIX)
 	$(INSTALL_PROGRAM) winedump$(EXEEXT) $(DESTDIR)$(bindir)/winedump$(EXEEXT)
 	$(INSTALL_SCRIPT) $(srcdir)/function_grep.pl $(DESTDIR)$(bindir)/function_grep.pl
 
diff --git a/tools/winedump/search.c b/tools/winedump/search.c
index 9a9169a..2538caf 100644
--- a/tools/winedump/search.c
+++ b/tools/winedump/search.c
@@ -98,7 +98,7 @@ int symbol_search (parsed_symbol *sym)
       if (VERBOSE)
         puts (grep_buff);
 
-      cmd = str_create (5, DATADIR "function_grep.pl ", sym->symbol,
+      cmd = str_create (5, "function_grep.pl ", sym->symbol,
                         " \"", grep_buff, "\"");
 
       if (VERBOSE)
-- 
1.7.10.4




More information about the pkg-wine-party mailing list