forwarded 323256 [EMAIL PROTECTED] tag 323256 + patch thanks [ For mdbtools-dev: Background is http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=323256, therefore pleas let [EMAIL PROTECTED] and me ([EMAIL PROTECTED]) in the loop ]
The following patch fixes the build of mdbtools and libmdbtools itself
to not need #include <config.h> because not every project using
libmdbtools has that and #include'ing it is bad anyway:
Index: configure.in
===================================================================
RCS file: /cvsroot/mdbtools/mdbtools/configure.in,v
retrieving revision 1.36
diff -u -u -r1.36 configure.in
--- configure.in 29 Mar 2005 03:40:48 -0000 1.36
+++ configure.in 16 Aug 2005 20:03:41 -0000
@@ -21,6 +21,12 @@
AM_ICONV
+# add -DHAVE_INCONV to CFLAGS. We should not use #include <config.h> in
+# public headers
+if test "$am_cv_func_iconv" = "yes"; then
+ CFLAGS="$CFLAGS -DHAVE_ICONV"
+fi
+
dnl no optional stuff by default
OPTDIRS=""
Index: include/mdbtools.h
===================================================================
RCS file: /cvsroot/mdbtools/mdbtools/include/mdbtools.h,v
retrieving revision 1.77
diff -u -u -r1.77 mdbtools.h
--- include/mdbtools.h 5 Aug 2005 15:52:16 -0000 1.77
+++ include/mdbtools.h 16 Aug 2005 20:03:41 -0000
@@ -32,7 +32,6 @@
#include <ctype.h>
#include <string.h>
#include <glib.h>
-#include <config.h>
#ifdef HAVE_ICONV
#include <iconv.h>
This patch simply removed the need for #including config.h by just specifying
-DHAVE_ICONV on the mdbtools build since that is what seems to be why config.h
is included currently...
While doing this I found another problem. If someone should build on a system
where there may be a iconv available or may not or if the application using
libmdbtools does not use autoconf and therefore does not set HAVE_ICONV bad
things may happen because of this from mdbtools.h:
typedef struct {
[...]
MdbStatistics *stats;
#ifdef HAVE_ICONV
iconv_t iconv_in;
iconv_t iconv_out;
#endif
} MdbHandle;
Build without HAVE_ICONV miss two struct member; this is a ABI change.
Well, I can work around on OpenOffice.org by just specifying -DHAVE_ICONV
when building the mdbtools-using stuff but that bug remains and should be
fixed in the future, but this is not a regression since this bug exists too
if the projects' config.h you #include doesn't #define HAVE_ICONV anyway..
Grüße/Regards,
Rene
--
.''`. Rene Engelhard -- Debian GNU/Linux Developer
: :' : http://www.debian.org | http://people.debian.org/~rene/
`. `' [EMAIL PROTECTED] | GnuPG-Key ID: 248AEB73
`- Fingerprint: 41FA F208 28D4 7CA5 19BB 7AD9 F859 90B0 248A EB73
signature.asc
Description: Digital signature

