libbsd include path issue

Gedare Bloom gedare at rtems.org
Sun Jul 23 13:57:08 UTC 2017


On Sun, Jul 23, 2017 at 8:38 AM, Christian Mauderer <list at c-mauderer.de> wrote:
> Am 23.07.2017 um 14:05 schrieb Gedare Bloom:
>> On Sun, Jul 23, 2017 at 8:04 AM, Gedare Bloom <gedare at rtems.org> wrote:
>>> On Sun, Jul 23, 2017 at 7:49 AM, Gedare Bloom <gedare at rtems.org> wrote:
>>>> On Sat, Jul 22, 2017 at 1:30 PM, Christian Mauderer <list at c-mauderer.de> wrote:
>>>>> Hello Sichen,
>>>>>
>>>>> as discussed in our private chat I'm quite convinced that your problem
>>>>> is that the source file is in "freebsd/crypto/openssl/crypto" which
>>>>> doesn't end on a path called "openssl".
>>>>>
>>>>> As far as I can see, there is currently no support in our build system
>>>>> for such cases. I created a (still quite uggly) hack that tries to copy
>>>>> the headers to a path in the build tree. Could you please try out the
>>>>> (mostly untested) attached patch? You should be able to specify
>>>>> headerPaths() lines in builder.py which have different endings than the
>>>>> original source paths.
>>>>>
>>>> No patch attached
>>>>
>>> Nevermind I see it.
>>>
>>>>> To our waf experts: Please tell me, that there is a better solution. If
>>>>> not, it would be good if you could give me some feedback for a better
>>>>> and cleaner solution. And: I currently only tried half a build. Do you
>>>>> see any problems on any platforms on build or install with that
>>>>> solution?
>>>>>
>>>> You should be able to specify the 'includes' attribute of the build
>>>> rule to point it to the right directory wherever the parent of openssl
>>>> is.
>>>>
>>>> But really, this openssl/opensslv.h should be located already in an
>>>> include/ directory that would be found?
>>>>
>>> Can you add crypto/openssl/ to includes?
>>>
>> Rather freebsd/crypto. Then include directive should find the openssl
>> subdirectory.
>>
>
> The problem here is that the opensslv.h is in the directory
> freebsd/crypto/openssl/crypto. It seems that some makefile magic would
> install it to openssl/opensslv.h for the normal non-libbsd case (most
> likely the "link" rule in freebsd/crypto/openssl/crypto/Makefile).
>
ah, I see. Then I can't think of any better solution than to make a
rule something like you did that will copy the header file into an
appropriate location of the build tree. The other alternative would be
to create a softlink include/openssl in the source tree, effectively
doing what the freebsd makefile would do during a build.

>>>>
>>>>> Kind regards
>>>>>
>>>>> Christian
>>>>>
>>>>> _______________________________________________
>>>>> devel mailing list
>>>>> devel at rtems.org
>>>>> http://lists.rtems.org/mailman/listinfo/devel



More information about the devel mailing list