This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Plugin support for FreeBSD and OS X
"Nicholas \"Indy\" Ray" <arelius@gmail.com> writes:
> So are you suggesting that the entire block:
>
> LIBS="$LIBS -ldl"
> AC_MSG_CHECKING([for -ldl])
> AC_TRY_LINK(
> [#include <dlfcn.h>],
> [volatile int f = 0; if (f) dlopen ("dummy", 0);],
> [AC_MSG_RESULT([yes]); have_dl=yes],
> [AC_MSG_RESULT([no])])
> if test x"$have_dl" = x"yes"; then
> pluginlibs="$pluginlibs -ldl"
> fi
>
> should be replaced with something based on AC_CHECK_LIB? I'll give that a test!
I hadn't looked at that code. That all looks fine to me, although
AC_CHECK_LIB would be simpler.
Are you saying that that does not work on FreeBSD? How does it fail?
Wait, I think I see the problem: the code sets LIBS to include -ldl,
but fails to reset it if the test fails. Probably all it needs is two
new lines:
if test x"$have_dl" = x"yes"; then
pluginlibs="$pluginlibs -ldl"
+ else
+ LIBS="$saved_LIBS"
fi
Ian
> On Mon, Oct 5, 2009 at 3:38 PM, Ian Lance Taylor <iant@google.com> wrote:
>> "Nicholas \"Indy\" Ray" <arelius@gmail.com> writes:
>>
>>> The problem is that on FreeBSD -ldl is not available or required, the
>>> functionality is provided by libc
>>
>> I think understand that. ÂWhat I am saying is that the configure
>> script should test for that property--the fact that -ldl is not
>> available or required--rather than test the type of host for which gcc
>> is being configured.
>>
>> Ian
>>
>>
>>> Nicholas "Indy" Ray
>>>
>>> On Mon, Oct 5, 2009 at 3:05 PM, Ian Lance Taylor <iant@google.com> wrote:
>>>> "Nicholas \"Indy\" Ray" <arelius@gmail.com> writes:
>>>>
>>>>> Indeed, I've sent in a small patch for a warning I got on FreeBSD,
>>>>> however I'm not sure how to get autoconf to check the host system,
>>>>> I'll examine other locations in the code and see if I can't cobble a
>>>>> patch together.
>>>>
>>>> When possible, a configure script should test for features, not
>>>> operating systems. ÂSo, for example, the goal would be not to check
>>>> for FreeBSD, but rather to check for the availability of -ldl, which
>>>> is typically done using AC_CHECK_LIB.
>>>>
>>>> Ian
>>>>
>>