[LLVMdev] dist-check implemented

Reid Spencer reid at x10sys.com
Tue Oct 26 00:23:45 PDT 2004


My final foray into the makefiles for a while has been completed. The 
dist-check target is the golden nugget I was hoping to get out of automake. 
But, now LLVM Makefiles have it too.

dist-check does the following:

* builds everything with "check" to ensure the source of the distribution is
   sane, essentially "make check".
* builds the distribution tar balls with "make dist"
* unpacks a distribution tar ball to a new directory
* builds the unpacked source with "make check", ensuring that the distribution
   tarball is likewise sane
* runs "make install", "make uninstall", and "make dist" on the code built from
   the unpacked source. This ensures utility of the distribution (install) as
   well as providing closure (the distribution can create a distribution of
   itself)

If all that succeeds, you'll see:

===== /proj/work/llvm/build2/LLVM-1.4.tar.gz Ready For Distribution =====

A few things to note:

* "make dist-check" can only be run from the BUILD_OBJ_ROOT directory. If you
   try it somewhere else, you'll be politely told you're off your rocker
* "make dist-check" can only be run when BUILD_OBJ_DIR != BUILD_SRC_DIR. If you
   try it somewhere else, your hard disk will be reformatted (kidding!)
* don't run "make dist-check" for a BUILD_SRC_DIR that has anything other than
   "sample" and "Stacker" in the projects directory. The details for
   distributing LLVM Projects haven't been completed yet.
* if you really want to burn CPU cycles and give your disk subsystem a workout,
   "make dist-check" is just the ticket.

So, when it comes time to release LLVM 1.4 at least the process of ensuring a 
quality release will be automated.  It takes about 20 minutes to run
"make -j 3 dist-check" on my 2.3 GHz Dual Xeon machine. Your mileage may vary.

Enjoy,

Reid




More information about the llvm-dev mailing list