X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=build-for-llvm-top.sh;h=78e3ed87f092fdb4f2fce49cd9c3e45f72a0dfa9;hb=f4ea68fa5a85d3e883cf35075133e64de4dfc046;hp=0f87faef78965dff6607151cf0442300e5530ebb;hpb=3b52308476c6a31c734fd7d66791d556ea42cd13;p=oota-llvm.git diff --git a/build-for-llvm-top.sh b/build-for-llvm-top.sh old mode 100644 new mode 100755 index 0f87faef789..78e3ed87f09 --- a/build-for-llvm-top.sh +++ b/build-for-llvm-top.sh @@ -1,32 +1,68 @@ #!/bin/sh -is_debug=1 -for arg in "$@" ; do - case "$arg" in - LLVM_TOP=*) - LLVM_TOP=`echo "$arg" | sed -e 's/LLVM_TOP=//'` - ;; - PREFIX=*) - PREFIX=`echo "$arg" | sed -e 's/PREFIX=//'` - ;; - *=*) - build_opts="$build_opts $arg" - ;; - --*) - config_opts="$config_opts $arg" - ;; - esac -done +# This includes the Bourne shell library from llvm-top. Since this file is +# generally only used when building from llvm-top, it is safe to assume that +# llvm is checked out into llvm-top in which case .. just works. +. ../library.sh -# See if we have previously been configured by sensing the presense +# Process the options passed in to us by the build script into standard +# variables. +process_arguments "$@" + +# First, see if the build directory is there. If not, create it. +build_dir="$LLVM_TOP/build.llvm" +if test ! -d "$build_dir" ; then + mkdir -p "$build_dir" +fi + +# See if we have previously been configured by sensing the presence # of the config.status scripts -if test ! -x "config.status" ; then +config_status="$build_dir/config.status" +if test ! -f "$config_status" -o "$config_status" -ot "$0" ; then # We must configure so build a list of configure options config_options="--prefix=$PREFIX --with-llvmgccdir=$PREFIX" - config_options="$config_options $config_opts" - echo ./configure $config_options - ./configure $config_options || (echo "Can't configure llvm" ; exit 1) + if test "$OPTIMIZED" -eq 1 ; then + config_options="$config_options --enable-optimized" + else + config_options="$config_options --disable-optimized" + fi + if test "$DEBUG" -eq 1 ; then + config_options="$config_options --enable-debug" + else + config_options="$config_options --disable-debug" + fi + if test "$ASSERTIONS" -eq 1 ; then + config_options="$config_options --enable-assertions" + else + config_options="$config_options --disable-assertions" + fi + if test "$CHECKING" -eq 1 ; then + config_options="$config_options --enable-expensive-checks" + else + config_options="$config_options --disable-expensive-checks" + fi + if test "$DOXYGEN" -eq 1 ; then + config_options="$config_options --enable-doxygen" + else + config_options="$config_options --disable-doxygen" + fi + if test "$THREADS" -eq 1 ; then + config_options="$config_options --enable-threads" + else + config_options="$config_options --disable-threads" + fi + config_options="$config_options $OPTIONS_DASH $OPTIONS_DASH_DASH" + src_dir=`pwd` + cd "$build_dir" + msg 0 Configuring $module with: + msg 0 " $src_dir/configure" $config_options + $src_dir/configure $config_options || \ + die $? "Configuring $module module failed" +else + msg 0 Module $module already configured, ignoring configure options. + cd "$build_dir" fi -echo make $build_opts '&&' make install $build_opts -make $build_opts && make install $build_opts +msg 0 Building $module with: +msg 0 " make" $OPTIONS_ASSIGN tools-only +make $OPTIONS_ASSIGN tools-only