On Mon Oct 26, 2020 at 9:32 AM -03, Dmitry V. Levin wrote: > On Sun, Oct 25, 2020 at 11:41:12PM -0300, Érico Nogueira via > Elfutils-devel wrote: > > diff --git a/configure.ac b/configure.ac > > index 973409f1..628e7a74 100644 > > --- a/configure.ac > > +++ b/configure.ac > > @@ -542,6 +542,60 @@ else > > fi > > AC_SUBST([argp_LDADD]) > > > > +dnl Check if we have fts available from our libc > > +AC_LINK_IFELSE( > > + [AC_LANG_PROGRAM( > > + [#if !defined(__x86_64__) > > + #undef _FILE_OFFSET_BITS > > + #define _FILE_OFFSET_BITS 32 > > + #endif > > + #include <fts.h>], > > + [FTS* fts = 0; return fts_close(fts); return 0;] > > + )], > > + [libc_has_fts="true"], > > + [libc_has_fts="false"] > > +) > > + > > +dnl If our libc doesn't provide fts, then test for libfts > > +if test "$libc_has_fts" = "false" ; then > > + AC_MSG_WARN("libc does not have fts") > > + AC_CHECK_LIB([fts], [fts_close], [have_fts="true"], [have_fts="false"]) > > + > > + if test "$have_fts" = "false"; then > > + AC_MSG_ERROR("no libfts found") > > + else > > + fts_LDADD="-lfts" > > + fi > > +else > > + fts_LDADD="" > > +fi > > +AC_SUBST([fts_LDADD]) > > If you are looking for fts providers, I suggest using AC_SEARCH_LIBS > instead, e.g. > > saved_LIBS="$LIBS" > AC_SEARCH_LIBS([fts_close], [fts]) > LIBS="$saved_LIBS" > case "$ac_cv_search_fts_close" in > no) AC_MSG_FAILURE([failed to find fts_close]) ;; > -l*) fts_LIBS="$ac_cv_search_fts_close" ;; > *) fts_LIBS= ;; > esac > AC_SUBST([fts_LIBS])
This does look a bit simpler, thanks. I will check it locally and come back with a new patch. > > +dnl Check if we have obstack available from our libc > > +AC_LINK_IFELSE( > > + [AC_LANG_PROGRAM( > > + [#include <obstack.h>], > > + [_obstack_begin(0, 0, 0, NULL, NULL); return 0;] > > + )], > > + [libc_has_obstack="true"], > > + [libc_has_obstack="false"] > > +) > > + > > +dnl If our libc doesn't provide obstack, then test for libobstack > > +if test "$libc_has_obstack" = "false" ; then > > + AC_MSG_WARN("libc does not have obstack") > > + AC_CHECK_LIB([obstack], [_obstack_begin], [have_obstack="true"], > > [have_obstack="false"]) > > + > > + if test "$have_obstack" = "false"; then > > + AC_MSG_ERROR("no libobstack found") > > + else > > + obstack_LDADD="-lobstack" > > + fi > > +else > > + obstack_LDADD="" > > +fi > > +AC_SUBST([obstack_LDADD]) > > Likewise, e.g. > > saved_LIBS="$LIBS" > AC_SEARCH_LIBS([obstack_free], [obstack]) > LIBS="$saved_LIBS" > case "$ac_cv_search_obstack_free" in > no) AC_MSG_FAILURE([failed to find obstack_free]) ;; > -l*) obstack_LIBS="$ac_cv_search_obstack_free" ;; > *) obstack_LIBS= ;; > esac > AC_SUBST([obstack_LIBS]) > > > -- > ldv Thanks!