build on windows

Hi,
I have tried to compile LLVM with Visual C++. Some subprojects work now.

Other subprojects require the file "configure.lib". So I tried to compile
the project "Configure". It could be built successfully, but the file
"configure.lib" is not generated. So, what is the problem here ? Can
somebody help me to fix that ?

Thanks and regards
Quang

I've just pulled down the mainline and will be looking at this today.

Thanks,
Chuck.

Le 30 juin 08 à 21:28, Le Anh Quang a écrit :

Hi,
I have tried to compile LLVM with Visual C++. Some subprojects work now.

Other subprojects require the file "configure.lib". So I tried to compile
the project "Configure". It could be built successfully, but the file
"configure.lib" is not generated. So, what is the problem here ? Can
somebody help me to fix that ?

Thanks and regards
Quang

Which VC++ version ? The last time I tried to build it (one week ago), I just got one error in the TableGen subproject with VS 2008.

So far, I'm building largely clean too. I had to change which llvmAsmParser it was looking at since it needs to look at the generated file under the win32\AsmParser directory rather than ...\lib\AsmParser where no such file exists. After that, it compiles clean on debug. Working on release now and then I'll check that change in.

Quang, do you have flex and bison on your system and in your path? I'm using the ones from getgnuwin32 for my system.

I'm building with VS2k5 sp1.

Thanks,
Chuck.

Hi Jean-Daniel,
Thank
I use VC++ 9 (express version). I have also an error in TableGen: The
"strtoll" could not be found under win32. Have you fixed it ?

Regards
Quang

Hi Chuck,
thanks for your help, but it still does not work by me. I have an idea, can
you send me the file "configure.lib" ? may be I can use it for other
projects directly.

Thanks
Quang

Not this one, I have a different error here. One related to hasmap and pair templates.
I will check this on my Windows machine later.

Le 1 juil. 08 à 16:44, Le Anh Quang a écrit :

Hi Jean-Daniel,
thank for ur fast answer, i have fixed this error, another function was
defined inside llvm source code.
So, my only problem now is, I cannot create the file "configure.lib"
(belongs to project "Configure"). I can build this project without error,
but it didn't generate the lib data ?!
Can you build this file ? if yes, I will be very happy if you send it to me.
Maybe I 'll try to use it for my project directly.

Thanks,
Quang

AFAK, the Configuration project does not generate any output. It just patch and generate some required header file.

Le 1 juil. 08 à 17:32, Le Anh Quang a écrit :

Hi,
but on some other project, they require "configure.lib". What is this one ?
Thanks

Le Anh Quang wrote:

Hi,
but on some other project, they require "configure.lib". What is this one ?
Thanks

Hi Le Anh,

What project are you talking about, and how did you determine that it requires "configure.lib" ?
AFAIK, all LLVM projects have dependency on the configure project but this is only so that some include files are created, no "configure.lib" is needed.

-Argiris

Sometimes with express VC, you need to pull down the platform SDK from Microsoft.com as it doesn't come with automatically. I don't know if that's causing you issues here, but it certainly can. (And likely will in the more win32 api specific portions of compiling llvm).

Hope this helps,
Chuck.

Hi Argiris,
It was for example the project TableGen, llvm-dis... I saw it under
Properties/Linker/Command Line
And the output is also:

Linking...
Starting pass 1
LINK : fatal error LNK1181: cannot open input file
'..\configure\configure\configure.lib'
Build log was saved at
"file://d:\Studium\Diplom\Download\llvm-2.3\win32\TableGen\Win32\Release\Bui
ldLog.htm"
TableGen - 1 error(s), 12 warning(s)

It is strange, I know that "configure" does not create any lib file. But it
exists on some projects. is something wrong by me ?
I also send a screenshot (properties of llvm-dis)

Thanks
Quang

Le Anh Quang wrote:

It is strange, I know that "configure" does not create any lib file. But it
exists on some projects. is something wrong by me ?
I also send a screenshot (properties of llvm-dis)
  

The command line properties are not correct. Here's what the properties of llvm-dis on VC++ 2005 should look like:

/OUT:"E:\Downloads\LLVM\llvm-2.3\win32\\bin\Win32\Debug/llvm-dis.exe" /INCREMENTAL /NOLOGO /MANIFEST /MANIFESTFILE:"Win32\Debug\llvm-dis.exe.intermediate.manifest" /DEBUG /PDB:"E:\Downloads\LLVM\llvm-2.3\win32\\bin\Win32\Debug/llvm-dis.pdb" /SUBSYSTEM:CONSOLE /MACHINE:X86 /ERRORREPORT:PROMPT kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib "..\bin\win32\debug\support.lib" "..\bin\win32\debug\bitcode.lib" "..\bin\win32\debug\vmcore.lib" "..\bin\win32\debug\system.lib"

This is just by opening "llvm.sln" of the llvm-2.3 source release.

-Argiris

VS 2008 perform a project convertion (update) when you first open the svn "llvm solution". Maybe something goes wrong during this step.
Anyway, you can safely remove the configure.lib requirement in your settings.