[PATCH] build: check for mongodb headers
Mark McLoughlin
markmc at redhat.com
Wed Apr 27 21:27:22 UTC 2011
Hi Jim,
On Wed, 2011-04-27 at 21:45 +0200, Jim Meyering wrote:
> Mark McLoughlin wrote:
> > On my Fedora 14 system, without mongodb-devel I was seeing:
> >
> > CXX meta.o
> > meta.cpp:34:35: fatal error: mongo/client/dbclient.h: No such file or directory
> > compilation terminated.
> >
> > The header is C++ so we need AC_LANGUAGE_PUSH and, similar to meta.cpp,
> > we need to undefine VERSION before including the header.
> >
> > Note, the AC_CHECK_LIB approach doesn't seem sufficient because the
> > mongodb package in Fedora doesn't ship versioned shared libraries with an
> > unversioned symlink in the -devel package.
> >
> > With the new check, we fail with:
> >
> > checking for mongo/client/dbclient.h... no
> > configure: error: Missing Mongo DB client development library: mongodb-devel
> > ---
> > configure.ac | 9 +++++++++
> > 1 files changed, 9 insertions(+), 0 deletions(-)
> >
> > diff --git a/configure.ac b/configure.ac
> > index 103c18a..81ecf76 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -79,6 +79,15 @@ gl_LIBXML2([2.6.0])
> > AC_CHECK_HEADER([gc.h], ,
> > [AC_MSG_ERROR([Missing GC development library: gc-devel or libgc-dev])])
> >
> > +AC_LANG_PUSH([C++])
> > +AC_CHECK_HEADER([mongo/client/dbclient.h], ,
> > + [AC_MSG_ERROR([Missing Mongo DB client development library: mongodb-devel])],
> > + [#ifdef VERSION
> > +#undef VERSION
> > +#endif
> > +])
> > +AC_LANG_POP
>
> Hi Mark,
>
> Thanks for the patch.
> I think I can use it as-is, but wonder about the #ifdef guard.
> I'd like to remove that.
> I guess you used those solely because meta.cpp does?
>
> This additional change works just as well on Fedora 15 at least:
> (if you don't object, I'll squash this into yours and push -- and
> I'll adjust meta.cpp in the same manner, but separately)
>
> diff --git a/configure.ac b/configure.ac
> index 81ecf76..8945f7c 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -82,10 +82,7 @@ AC_CHECK_HEADER([gc.h], ,
> AC_LANG_PUSH([C++])
> AC_CHECK_HEADER([mongo/client/dbclient.h], ,
> [AC_MSG_ERROR([Missing Mongo DB client development library: mongodb-devel])],
> - [#ifdef VERSION
> -#undef VERSION
> -#endif
> -])
> + [#undef VERSION])
Yep, good catch, makes sense
Cheers,
Mark.
More information about the iwhd-devel
mailing list