Am 23.07.2017 um 15:57 schrieb Gedare Bloom: > On Sun, Jul 23, 2017 at 8:38 AM, Christian Mauderer <l...@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 <ged...@rtems.org> wrote: >>>> On Sun, Jul 23, 2017 at 7:49 AM, Gedare Bloom <ged...@rtems.org> wrote: >>>>> On Sat, Jul 22, 2017 at 1:30 PM, Christian Mauderer <l...@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.
I have shortly thought about that too. I think I've seen some functions in waf that might could create that softlink. But I had two problems with that: 1. Like I said, I have seen some functions that _might_ could create a link but I'm not sure what would be the best and correctest way. Any hints? 2. I have no idea how well that would work on a Windows build host. I know that at least msys2 doesn't support soft links out of the box. They are replaced by a copy. Any experience regarding that? _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel