view build.sh @ 7:e74e167f8d0c

Tweaks
author Gary Benson <gbenson@redhat.com>
date Wed, 24 Feb 2010 11:45:17 +0000
parents ae1e29fcfe57
children 11f6afeffcab
line wrap: on
line source

if [ $# != 2 ]; then
    echo 1>&2 "usage: `basename $0` BOOTDIR TARGET"
    exit 1
fi

bootdir=$1
case $2 in
*zero)  arch=zero;  mode=zero  ;;
*shark) arch=zero;  mode=shark ;;
*)      arch=amd64; mode=      ;;
esac
target=$(echo $2 | sed "s/$mode\$//")

set -ex

# Export variables needed for all builds
export ARCH_DATA_MODEL=64

# Export variables needed for Zero and Shark builds
if [ "$mode" != "" ]; then
    export ZERO_BUILD=true
    export ZERO_LIBARCH=amd64
    export ZERO_ENDIANNESS=little
    export ZERO_ARCHDEF=AMD64
    export ZERO_ARCHFLAG=-m64
    export LIBFFI_CFLAGS=$(pkg-config --cflags libffi)
    export LIBFFI_LIBS=$(pkg-config --libs libffi)
fi

# Export variables needed for Shark builds
if [ "$mode" = shark ]; then
    set +x
    LLVM_CONFIG=/home/gary/work/llvm/llvm-2.6/Release/bin/llvm-config
    llvm_components="jit engine nativecodegen"

    # LLVM_CFLAGS
    LLVM_CFLAGS=
    for flag in $($LLVM_CONFIG --cxxflags $llvm_components); do
      if echo "$flag" | grep -q '^-[ID]'; then
        if test "$flag" != "-D_DEBUG"; then
          if test "x$LLVM_CFLAGS" != "x"; then
            LLVM_CFLAGS="$LLVM_CFLAGS "
          fi
          LLVM_CFLAGS="$LLVM_CFLAGS$flag"
        fi
      fi
    done
    llvm_version=$($LLVM_CONFIG --version | sed 's/\.//;s/svn.*//')
    LLVM_CFLAGS="$LLVM_CFLAGS -DSHARK_LLVM_VERSION=$llvm_version"

    # LLVM_LDFLAGS
    LLVM_LDFLAGS=
    for flag in $($LLVM_CONFIG --ldflags $llvm_components); do
      if echo "$flag" | grep -q '^-L'; then
        if test "x$LLVM_LDFLAGS" != "x"; then
          LLVM_LDFLAGS="$LLVM_LDFLAGS "
        fi
        LLVM_LDFLAGS="$LLVM_LDFLAGS$flag"
      fi
    done

    # LLVM_LIBS
    LLVM_LIBS=
    for flag in $($LLVM_CONFIG --libs $llvm_components); do
      if echo "$flag" | grep -q '^-l'; then
        if test "x$LLVM_LIBS" != "x"; then
          LLVM_LIBS="$LLVM_LIBS "
        fi
        LLVM_LIBS="$LLVM_LIBS$flag"
      fi
    done

    set -x
    export SHARK_BUILD=true
    export LLVM_CFLAGS="$LLVM_CFLAGS"
    export LLVM_LDFLAGS="$LLVM_LDFLAGS"
    export LLVM_LIBS="$LLVM_LIBS"
fi

# Build it
make -C hotspot/make \
  HOTSPOT_BUILD_JOBS=5 \
  ALT_SLASH_JAVA=$PWD/$bootdir \
    all_$target$mode copy_${target}_jdk export_${target}_jdk

set +x
echo "HotSpot is served: hotspot/build/linux/jdk-linux-$arch"