[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#350743: libkexi-dev: kexidb/connection.h includes tristate.h instead of kexidb/tristate.h



Am Dienstag, den 31.01.2006, 15:40 +0000 schrieb Martin Ellis:
> On Tuesday 31 January 2006 14:13, Michael Karcher wrote:
> > /usr/include/kde/kexidb/connection.h contains the line
> > #include <tristate.h>
> > which should include the provided tristate header file. The other
> > include directives indicate, that /usr/include/kde/kexidb is not
> > expected to be in the include path, so it should read
> > #include <kexidb/tristate.h>
> I don't think it should.  tristate.h is not kept in the kexidb directory in 
> source, so we won't be able to compile if we make this change.
OK, I looked at the source. This is definitely not a debian bug.

> tristate.h is only put into the kexidb dir to avoid polluting your include/kde 
> dir.
But I would still consider this an upstream bug. Either the file is
named "kexidb/tristate.h" or it is named "tristate.h". With both choices
it should be put at the right place, that
is /usr/include/kde/kexidb/tristate.h for the first case,
and /usr/include/kde/tristate.h in the second case.

> For now, please add both include/kde and include/kde/kexidb to include paths 
> to build against Kexi.
This will of course work, but I consider it as an ugly hack. 

> If you'd like to see an example of building against 
> Kexi using the installed headers, please see the external MS Access (MDB) 
> import plugin.
I see how they work around the problem using a lot of configure code. It
would be nice if just something along the lines of

oldcppflags="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $KDE_INCLUDES"
AC_CHECK_HEADER(kexidb/driver.h,KEXI_INCLUDE="$KDE_INCLUDES",
  [echo "No kexi found, aborting";exit 1])
CPPFLAGS="$oldcppflags"

would simply work.

Michael Karcher




Reply to: