[LLVMdev] Sconstruct for win32

Alkis Evlogimenos alkis at cs.uiuc.edu
Sat Sep 25 15:58:53 PDT 2004


On Sat, 2004-09-25 at 12:19, Paolo Invernizzi wrote:
> Here is the pre-pre-pre alpha of the file, llease be kind <g>
> 
> I give up on TableGen... cannot build the flex/bison emitted files ;-(
> With my hacked version of the checkout the script build Fibonacci.exe 
> and HowToUseJIT.exe among with the proper libraries.
> 
> I included also a demo version of the HowToUseJIT Visual studio project 
> generated by the script.
> You can debug the program in the usual way with VS, stepping betweeen 
> the source code. Keep in mind that the VS project is updated 
> automatically by scons, so if you want to modify some flags do it via 
> the script.

Hi Paolo,

I quickly went over your SConstruct file. So here are a few comments:

* It would be nice if it is broken down to smaller files (I see you
mention this in the comments). Also a file per tool/library can give us
what make cannot: cd into a tools subdir and run scons: this will build
the tool and all its dependances.
* It seems that a lot of the configure checks are missing. If we ever
use scons I believe we are going to use it for unix builds as well
(instead of maintaining both Makefiles and Sconstruct files), so it
needs to be complete in that respect. Note that configure can still be
used with scons. Using it will make this transition easier.
* Compiling TableGen is a must!
* One of the more involved pieces that need to make it into scons to be
a viable alternative is rules (or Builders in scons lingo) that build
llvm bytecode files, libraries, executables. This is currently missing.

After the above are resolved... there are a couple of more issues to be
solved:

* interfacing with our test suite
* interfacing with our projects

In other words scons should provide us with at least the current
functionality of the build system. If you need more information, feel
free to ask questions!

Thanks for your efforts!

-- 

Alkis




More information about the llvm-dev mailing list