Fri, 16 Jan 2009 10:58:21 +0100
Correct and improve code logic, buildconf, and packaging. In particular:
1. Use descriptive variable names <var>libs instead of just <var>.
2. Although Nokia states in all Qt builds that 'NOTE: When linking
against OpenSSL, you can override the default library names
through OPENSSL_LIBS.' and even gives an example, their own
configuration logic rejects such an attempt. Correct this by
hard coding the OpenSSL library string in the configure script.
3. Consistently use the whitespace substitution [\t ] throughout.
4. Patch the buggy INCPATH of SQL plugin Qmake project files.
5. Add the 'x11' configuration variable to the qtconfig Qmake
project using the src/gui/gui.pro file as a model. This is
needed for qtconfig although not in other tools, because
the qtconfig buildconf indirectly includes qt_x11_p.h which
is dependent on X11 headers.
6. Avoid 'ld.so: fatal: hardware capability unsupported: SSE2 AMD_3DNow'
on platforms for which the config.tests/unix/[3dnow|sse2] succeed
although unsopported at run time by testing for the x86-64
instruction set at build time and regulating hardware capabilities.
7. Correctly install the desinger plugin by explicitly building it.
8. Remove custom plugin installation logic which is unnecessary.
9. Correct removal of temporary paths from shared object files.
1 Index: Makefile.in
2 --- Makefile.in.orig 2007-10-10 13:00:22 +0200
3 +++ Makefile.in 2007-10-17 08:40:12 +0200
4 @@ -485,7 +485,7 @@
5 target_alias = @target_alias@
6 ACLOCAL_AMFLAGS = -I m4
7 EXTRA_DIST = ChangeLog.1 PORTS
8 -SUBDIRS = doc lib rmt src scripts po tests
9 +SUBDIRS = doc lib src
10 all: config.h
11 $(MAKE) $(AM_MAKEFLAGS) all-recursive
13 Index: lib/argp-help.c
14 --- lib/argp-help.c.orig 2007-09-28 15:11:36 +0200
15 +++ lib/argp-help.c 2007-10-17 08:40:12 +0200
16 @@ -570,8 +570,7 @@
17 return val;
18 }
20 -static inline int
21 -__attribute__ ((always_inline))
22 +static int
23 hol_entry_long_iterate (const struct hol_entry *entry,
24 int (*func)(const struct argp_option *opt,
25 const struct argp_option *real,
26 Index: src/compare.c
27 --- src/compare.c.orig 2007-08-26 10:56:55 +0200
28 +++ src/compare.c 2007-10-17 08:40:12 +0200
29 @@ -278,7 +278,7 @@
30 size_t len = strlen (current_stat_info.link_name);
31 char *linkbuf = alloca (len + 1);
33 - int status = readlink (current_stat_info.file_name, linkbuf, len + 1);
34 + int status = readlink (current_stat_info.file_name, linkbuf, len);
36 if (status < 0)
37 {
38 Index: src/create.c
39 --- src/create.c.orig 2007-10-05 19:46:49 +0200
40 +++ src/create.c 2007-10-17 08:40:12 +0200
41 @@ -1696,7 +1696,7 @@
42 if (linklen != st->stat.st_size || linklen + 1 == 0)
43 xalloc_die ();
44 buffer = (char *) alloca (linklen + 1);
45 - size = readlink (p, buffer, linklen + 1);
46 + size = readlink (p, buffer, linklen);
47 if (size < 0)
48 {
49 readlink_diag (p);
50 Index: src/incremen.c
51 --- src/incremen.c.orig 2007-10-01 23:19:55 +0200
52 +++ src/incremen.c 2007-10-17 08:40:12 +0200
53 @@ -526,6 +526,7 @@
54 children = CHANGED_CHILDREN;
55 but changed to: */
56 free (name_buffer);
57 + if (dirp)
58 free (dirp);
59 return NULL;
60 }
61 Index: src/tar.c
62 --- src/tar.c.orig 2007-09-26 23:36:58 +0200
63 +++ src/tar.c 2007-10-17 08:40:12 +0200
64 @@ -20,6 +20,7 @@
65 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
67 #include <system.h>
68 +#include <locale.h>
70 #include <fnmatch.h>
71 #include <argp.h>
72 Index: src/utf8.c
73 --- src/utf8.c.orig 2007-06-27 15:30:32 +0200
74 +++ src/utf8.c 2007-10-17 08:40:12 +0200
75 @@ -22,6 +22,9 @@
76 #include "common.h"
77 #ifdef HAVE_ICONV_H
78 # include <iconv.h>
79 +#else
80 +# define iconv_t void *
81 +# define ICONV_CONST const
82 #endif
84 #ifndef ICONV_CONST
85 Index: src/xheader.c
86 --- src/xheader.c.orig 2007-06-27 15:30:32 +0200
87 +++ src/xheader.c 2007-10-17 08:40:12 +0200
88 @@ -27,6 +27,10 @@
90 #include <fnmatch.h>
92 +#ifndef SIZE_MAX
93 +# define SIZE_MAX ((size_t) -1)
94 +#endif
95 +
96 static bool xheader_protected_pattern_p (char const *pattern);
97 static bool xheader_protected_keyword_p (char const *keyword);
98 static void xheader_set_single_keyword (char *) __attribute__ ((noreturn));
99 Index: lib/strerror.c
100 --- lib/strerror.c.orig 2007-09-28 15:11:37 +0200
101 +++ lib/strerror.c 2007-10-18 00:55:28 +0200
102 @@ -23,6 +23,7 @@
104 # include <string.h>
105 # include <stdio.h>
106 +# include <limits.h>
108 # undef strerror