From: <ma...@cs...> - 2002-11-05 08:08:08
|
[I'm not on the list; please CC me responses.] I just grabbed the CVS gaim and tried to compile it. It failed when trying to link with -lperl. This should probably be detected at configure-time. I have a pretty stock Debian testing install here, and I know I need to install the perl-dev package, but while I have the chance I'll let you know about this. It seems other people have encountered this incongruency as recently as last week: http://sourceforge.net/mailarchive/forum.php?thread_id=1247371&forum_id=9587 Relevant output: checking for perl... /usr/bin/perl checking for Perl compile flags... ok checking for Perl_eval_pv... no Relevant code: AC_PATH_PROG(perlpath, perl) AC_MSG_CHECKING(for Perl compile flags) This is fine, and then there's some (questionable) sed scripts, but then: AC_CHECK_FUNCS(Perl_eval_pv) The autoconf docs say: # AC_CHECK_FUNCS checks for the existence of functions in the C standard library. # If found, the preprocessor macro HAVE_[function] is defined. Well, I doubt a function like "Perl_eval_pv" will ever be in the C standard library. :P I think you mean to use something like AC_CHECK_LIB here. Something like this in above the current enable_perl test may be sufficient: if test "$enable_perl" = yes ; then AC_CHECK_LIB(perl, perl_eval_pv, [], [enable_perl=no]) fi Though that is probably not enough if you need the output from Perl's wacky ExtUtils::Embed to get the proper library path. In more recent xchat sources they do: oldLIBS=$LIBS LIBS="$LIBS $PERL_LDFLAGS" AC_CHECK_FUNCS(eval_pv) LIBS=$oldLIBS So maybe you could modify something like that to conditionally detect perl. But in either case, that AC_CHECK_FUNCS is wrong, right? (It's only used in perl.c, line 405, which appears to be backwards-compatibility code for a version of perl before they got their C namespace cleaned up.) -- Evan Martin ma...@cs... http://neugierig.org |