Re: Plugin support for FreeBSD and OS X

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

 



One more small thing, currently if it finds dl it adds -ldl to
$pluginlibs in addition to $LIBS, is it possible to do that with the
AC_SEARCH_LIBS macro as well?

Indy

On Mon, Oct 5, 2009 at 5:28 PM, Ian Lance Taylor <iant@xxxxxxxxxx> wrote:
> "Nicholas \"Indy\" Ray" <arelius@xxxxxxxxx> writes:
>
>> That would probably work, but then the configure script won't test for
>> dlopen functionality, which is required. maybee I should put an
>> additional AC_TRY_LINK in the test failure? is there a better way to
>> do that then just a wholesale duplication of the macro?
>
> AC_SEARCH_LIBS(dlopen, -ldl, found_dlopen=yes, found_dlopen=no)
>
> This will add -ldl to $LIBS if necessary (i.e., don't reset LIBS) and
> set found_dlopen to indicate whether it was found or not.
>
> Ian
>
>> On Mon, Oct 5, 2009 at 4:22 PM, Ian Lance Taylor <iant@xxxxxxxxxx> wrote:
>>> "Nicholas \"Indy\" Ray" <arelius@xxxxxxxxx> 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@xxxxxxxxxx> wrote:
>>>>> "Nicholas \"Indy\" Ray" <arelius@xxxxxxxxx> 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@xxxxxxxxxx> wrote:
>>>>>>> "Nicholas \"Indy\" Ray" <arelius@xxxxxxxxx> 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
>>>>>>>
>>>>>
>>>
>


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux