[llvm-dev] Have LLD and Clang in their correct locations, but still can't generate project files for LLVM

Jonathan Goodwin via llvm-dev llvm-dev at lists.llvm.org
Wed Nov 28 12:55:43 PST 2018


Do I have to use a flag to tell it where the LLVM include files are?

Not at all. CMake should be using the CMakeLists.txt to locate all the
files it needs for builds. In my downloaded source for LLVM, the main
folder has a bunch of folders in it:  lib, projects, docs, examples, etc.
One of those is "include", which for me has two subfolders:  "llvm" and
"llvm-c". I assume that is where Cmake finds all the LLVM include files it
needs. The only other include files it would need for build would be
standard library include files which you should have as a result of having
installed Visual Studio.

So, that's why I am baffled by your problem, as I cannot imagine how your
build is failing to find the include files it needs. I don't know about the
architecture of LLVM to recognize the include files that your build is
failing on, to know who they belong to and where they reside. I do know
that CMake goes through a discovery process during generation, where it
attempts to guess where to find build environment resources, such as the
compiler and key external folders. So maybe? if you have multiple build
tools or libraries installed, potentially it could get its wires crossed
and not be pointing at resources known to Visual Studio 2017. I just don't
know. Without detailed knowledge of your set up and lacking detailed
knowledge of LLVM's architecture, it is hard for me to diagnose what might
be going wrong.

On Wed, Nov 28, 2018 at 9:06 PM Osman Zakir via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Do I have to use a flag to tell it where the LLVM include files are?  And
> would it be easier to do that in the CMake GUI?  Please tell me how you had
> it find the include files if that may help me.
> ------------------------------
> *From:* Jonathan Goodwin <jondgoodwin at gmail.com>
> *Sent:* Wednesday, November 28, 2018 6:24 AM
> *To:* zturner at google.com
> *Cc:* Osman Zakir; llvm-dev at lists.llvm.org
> *Subject:* Re: [llvm-dev] Have LLD and Clang in their correct locations,
> but still can't generate project files for LLVM
>
> I am evidently one of those rare people successfully building LLVM v7
> inside VS 2017 and targeting WebAssembly. Unlike Osman, I build the 32-bit
> version, but I suspect I would have no significant trouble switching to
> building the 64-bit version.
>
> I use CMake-Gui vs. Osman using Cmake on the command line. This allows me
> to use the mouse to select the CLANG_BUILD_TOOLS and LLD_BUILD_TOOLS
> options which are also needed to build those tools along with the rest of
> LLVM. I do this after the Configure step and before the Generate step.
>
> When that is done, I double click on the generated LLVM.sln file to fire
> up Visual Studio. I then right-click on BUILD_ALL to build LLVM, followed
> by right-clicking on INSTALL to finish the process a few hours later.
>
> That said, I looked at Osman's log and saw the build was struggling to
> locate various include files, which seems a very basic error suggesting
> something fundamentally is amiss with how the build is locating LLVM source
> files. I know too little about Osman's set up and LLVM's CMake process to
> hazard a guess as to what might be causing that.
>
> On Wed, Nov 28, 2018 at 9:52 AM Zachary Turner via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
> I think most people are using ninja to do the build.  You can still use
> the Visual Studio generator for the IDE experience while doing build from
> ninja.  I know there are a couple of people who build from inside of Visual
> Studio, but it's a pretty small number, and I don't think they are
> targeting WebAssembly.
>
> On Tue, Nov 27, 2018 at 12:46 PM Osman Zakir via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
> Is there no one who has already built LLVM for targeting WebAsesembly
> with, using Visual Studio 2017 as the generator and toolchain (x64 of
> course)?
>
> My LLVM root folder is C:/llvm, and LLD and Clang are in
> llvm_root/tools/lld and llvm_root/tools/clang respectively.  If this is as
> it should be, then what's the problem? Would someone please help me with
> this by also checking the logs I've attached to the first message in this
> thread?  Thanks in advance.
>
> In llvm/tools/, I see there's also a folder called "msbuild" which also
> has a .sln file called llvm.sln.  How about if I just try to build that
> (and if needed, would it be okay to just put the preprocessor definition
> LLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly in there for each
> project?)?
> ------------------------------
> *From:* llvm-dev <llvm-dev-bounces at lists.llvm.org> on behalf of Osman
> Zakir via llvm-dev <llvm-dev at lists.llvm.org>
> *Sent:* Tuesday, November 27, 2018 4:30 AM
> *To:* llvm-dev at lists.llvm.org
>
> *Subject:* Re: [llvm-dev] Have LLD and Clang in their correct locations,
> but still can't generate project files for LLVM
> Yeah, I don't think that matters.  It did set the toolset architecture to
> x64.
>
> You know, I attached those log files for a reason.
> ------------------------------
> *From:* Zachary Turner <zturner at google.com>
> *Sent:* Tuesday, November 27, 2018 4:27 AM
> *To:* Osman Zakir
> *Cc:* llvm-dev at lists.llvm.org
> *Subject:* Re: [llvm-dev] Have LLD and Clang in their correct locations,
> but still can't generate project files for LLVM
>
> I don't know if it actually matters, but I think there should not be a
> space after -T.  Usually I would specify it like -Thost=x64.
>
> On Mon, Nov 26, 2018 at 8:53 AM Osman Zakir via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
> I ran CMake on the command line with this command:
> "
> cmake .. -DCMAKE_INSTALL_PREFIX=../install_x64 -T host=x64 -G "Visual
> Studio 15 2017 Win64" -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly
> "
>
> And I have LLD and Clang where they should be.  But I still couldn't
> generate project files.  The path to the build and installation directories
> don't have spaces at all this time, either.  I'm attaching the logs to this
> message.  Please help.
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
> _______________________________________________
> 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/20181129/98f6b422/attachment.html>


More information about the llvm-dev mailing list