ed@modk.it via llvm-dev
2015-Sep-10 21:37 UTC
[llvm-dev] Why does clang build native llvm-config? Is there any way to avoid it?
I'm cross compiling llvm/libclang. About halfway through a libclang build cmake always runs another configure step in the NATIVE directory. This causes problems with configuration settings and pre-compiler definitions. For instance I can't get __STRICT_ANSI__ to stay unset through CMAKE_CXX_FLAGS. It works for first 49% of the build but after that reconfigure at the 50% mark in the NATIVE dir __STRICT_ANSI__ gets set again causing the build to error out on isascii calls. After patching that I ran into a bunch of other issues including missing strsignal and am beginning to wonder why we need a native llvm-config and why we can't just point to it like we do native tablegen (-DLLVM_TABLEGEN=path/to/llvm-tablegen) Any thoughts? Any way to avoid this step? Any ideas where to start poking around to understand how to get my includes setup properly for this native build portion while not screwing with the cross compile? P.S. The llvmdev at cs.uiuc.edu email that used to work to post to the list and the one posted here no longer works and is bouncing: http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev Looks like an alias was taken down in early August if that archive cutting off then is a sign. Thanks! Ed -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150910/12887da5/attachment.html>
Chris Bieneman via llvm-dev
2015-Sep-16 20:19 UTC
[llvm-dev] Why does clang build native llvm-config? Is there any way to avoid it?
Ed, The native llvm-config isn’t needed by the build, but it is included as part of the ‘all’ target. The idea is that if you’re cross compiling you’ll want a host-executable llvm-config to configure clients using the cross-built LLVM from your host. Since the CMake build doesn’t actually use llvm-config, we could probably make an option to exclude it from the ‘all’ target, but we probably don’t want that to be the default behavior because it is very useful. -Chris> On Sep 10, 2015, at 2:37 PM, ed at modk.it via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > I'm cross compiling llvm/libclang. About halfway through a libclang build cmake always runs another configure step in the NATIVE directory. > > This causes problems with configuration settings and pre-compiler definitions. For instance I can't get __STRICT_ANSI__ to stay unset through CMAKE_CXX_FLAGS. It works for first 49% of the build but after that reconfigure at the 50% mark in the NATIVE dir __STRICT_ANSI__ gets set again causing the build to error out on isascii calls. > > After patching that I ran into a bunch of other issues including missing strsignal and am beginning to wonder why we need a native llvm-config and why we can't just point to it like we do native tablegen (-DLLVM_TABLEGEN=path/to/llvm-tablegen) > > Any thoughts? Any way to avoid this step? Any ideas where to start poking around to understand how to get my includes setup properly for this native build portion while not screwing with the cross compile? > > P.S. The llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu> email that used to work to post to the list and the one posted here no longer works and is bouncing: http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev <http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev> Looks like an alias was taken down in early August if that archive cutting off then is a sign. > > Thanks! > Ed > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150916/1cb97f46/attachment.html>