[llvm-commits] [llvm-gcc-4.2] r103639 - in /llvm-gcc-4.2/trunk/extras: build-4-mingw32 build-x-4-mingw32

Galina Kistanova gkistanova at gmail.com
Wed May 12 12:50:28 PDT 2010


Author: gkistanova
Date: Wed May 12 14:50:28 2010
New Revision: 103639

URL: http://llvm.org/viewvc/llvm-project?rev=103639&view=rev
Log:
Added build script for build on x86_64-apple-darwin10 of cross llvm-gcc for i686-pc-mingw32; added LLVM tests

Added:
    llvm-gcc-4.2/trunk/extras/build-x-4-mingw32   (with props)
Modified:
    llvm-gcc-4.2/trunk/extras/build-4-mingw32

Modified: llvm-gcc-4.2/trunk/extras/build-4-mingw32
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/extras/build-4-mingw32?rev=103639&r1=103638&r2=103639&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/extras/build-4-mingw32 (original)
+++ llvm-gcc-4.2/trunk/extras/build-4-mingw32 Wed May 12 14:50:28 2010
@@ -46,6 +46,7 @@
 do_clean=no                # Clean up the build directory.
 do_configure_llvm=no       # Configure LLVM.
 do_make_llvm=no            # Make LLVM.
+do_test_llvm=no            # Test LLVM.
 do_configure_llvmgcc=no    # Configure LLVM-GCC.
 do_make_llvmgcc=no         # Make LLVM-GCC.
 do_install_llvmgcc=no      # Install LLVM-GCC.
@@ -62,6 +63,7 @@
       clean             |  \
       configure_llvm    |  \
       make_llvm         |  \
+      test_llvm         |  \
       configure_llvmgcc |  \
       make_llvmgcc      |  \
       install_llvmgcc   |  \
@@ -81,6 +83,7 @@
    do_clean=yes
    do_configure_llvm=yes
    do_make_llvm=yes
+   do_test_llvm=yes
    do_configure_llvmgcc=yes
    do_make_llvmgcc=yes
    do_install_llvmgcc=yes
@@ -123,7 +126,18 @@
 if [ "$do_make_llvm" == "yes" ] ; then
 
    cd ${BUILD_ROOT}/${LLVM_obj}
-   nice -n 20 make ENABLE_OPTIMIZED=1  \
+   nice -n 20 make VERBOSE=1 \
+      $@  # Extra args if any, like -j16 for example.
+
+fi
+
+#------------------------------------------------------------------------------
+# Step: Test LLVM.
+#------------------------------------------------------------------------------
+if [ "$do_test_llvm" == "yes" ] ; then
+
+   cd ${BUILD_ROOT}/${LLVM_obj}
+   make check-lit VERBOSE=1  \
       $@  # Extra args if any, like -j16 for example.
 
 fi

Added: llvm-gcc-4.2/trunk/extras/build-x-4-mingw32
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/extras/build-x-4-mingw32?rev=103639&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/extras/build-x-4-mingw32 (added)
+++ llvm-gcc-4.2/trunk/extras/build-x-4-mingw32 Wed May 12 14:50:28 2010
@@ -0,0 +1,206 @@
+#!/bin/bash
+
+set -e                     # Terminate script at the first line that fails.
+set -o pipefail            # Return the first non-zero pipe command error.
+set -x                     # Print commands as they are executed
+
+# This script performs an automated build on x86_64-apple-darwin10 of
+# cross llvm-gcc for i686-pc-mingw32. It assumes the valid native
+# compiler for x86_64-apple-darwin10 is in place and available as well as
+# cross libraries and headers for i686-pc-mingw32.
+
+# --build=x86_64-apple-darwin10
+# --host=x86_64-apple-darwin10
+# --target=i686-pc-mingw32
+
+# The usage:
+# Run this build from the build from the build root directory as
+# build-x-4-mingw32 [<step>] [<extra args>]
+
+# Expected project tree structure:
+# <build root>
+#    +-- ${LLVM_src}
+#    +-- ${LLVM_GCC_src}
+#    +-- ${LLVM_obj}
+#    +-- ${LLVM_GCC_obj}
+#    +-- ${INSTALL}
+
+LLVM_src=llvm.src          # The LLVM source code root directory name.
+LLVM_GCC_src=llvm-gcc.src  # The LLVM-GCC source code root directory name.
+LLVM_obj=llvm.obj          # The LLVM build root directory name.
+LLVM_GCC_obj=llvm-gcc.obj  # The LLVM-GCC build root directory name.
+INSTALL=install            # Where the result will be installed.
+
+# CFLAGS and CXXFLAGS must not be set during the building of cross-tools.
+unset CFLAGS
+unset CXXFLAGS
+
+BUILD_ROOT=$PWD                           # Where build happens.
+PRIVATE_INSTALL=${BUILD_ROOT}/${INSTALL}  # Where the result will be installed.
+
+#------------------------------------------------------------------------------
+# Define build steps, parse and validate input parameters
+#------------------------------------------------------------------------------
+
+# This script supports the following steps:
+do_clean=no                # Clean up the build directory.
+do_configure_llvm=no       # Configure LLVM.
+do_make_llvm=no            # Make LLVM.
+do_test_llvm=no            # Test LLVM.
+do_cross_tools=no          # Copy cross-tools. 
+do_configure_llvmgcc=no    # Configure LLVM-GCC.
+do_make_llvmgcc=no         # Make LLVM-GCC.
+do_install_llvmgcc=no      # Install LLVM-GCC.
+do_all=no                  # Runs all steps at once when requested.
+
+# Set step parameter
+if (( $# == 0 )) ; then
+   do_all=yes
+fi
+# else
+if (( ! $# == 0 )) ; then
+   # First check that the parameter actually defines a step.
+   case $1 in
+      clean             |  \
+      configure_llvm    |  \
+      make_llvm         |  \
+      test_llvm         |  \
+      cross_tools       |  \
+      configure_llvmgcc |  \
+      make_llvmgcc      |  \
+      install_llvmgcc   |  \
+      all)
+         eval do_$1=yes    # Set the flag for the requested step .
+         shift             # Remove it since is is ours and already precessed.
+         ;;
+
+      *)
+         # Not our parameter. Pass it as is.
+   esac
+fi
+
+# Set all steps if do_all requested
+if [ "$do_all" == "yes" ] ; then
+   # Set all steps to yes
+   do_clean=yes
+   do_configure_llvm=yes
+   do_make_llvm=yes
+   do_test_llvm=yes
+   do_cross_tools=yes
+   do_configure_llvmgcc=yes
+   do_make_llvmgcc=yes
+   do_install_llvmgcc=yes
+fi
+
+#------------------------------------------------------------------------------
+# Step: Clean up.
+#------------------------------------------------------------------------------
+if [ "$do_clean" == "yes" ] ; then
+
+   # Remove everything from where we will be installing the result.
+   rm -rf ${PRIVATE_INSTALL}
+   mkdir -p ${PRIVATE_INSTALL}
+   chmod a+rx ${PRIVATE_INSTALL}
+
+fi
+
+#------------------------------------------------------------------------------
+# Step: Configure LLVM.
+#------------------------------------------------------------------------------
+if [ "$do_configure_llvm" == "yes" ] ; then
+
+   # Remove previous build files if any.
+   rm -rf ${BUILD_ROOT}/${LLVM_obj}
+   mkdir -p ${BUILD_ROOT}/${LLVM_obj}
+   chmod a+rx ${BUILD_ROOT}/${LLVM_obj}
+   cd ${BUILD_ROOT}/${LLVM_obj}
+   
+   ../${LLVM_src}/configure --prefix=${PRIVATE_INSTALL}          \
+      --build=x86_64-apple-darwin10 --host=x86_64-apple-darwin10 \
+      --target=i686-pc-mingw32                                   \
+      --enable-optimize                                          \
+	  --without-llvmgcc --without-llvmgxx                        \
+      $@  # Extra args if any
+
+fi
+
+#------------------------------------------------------------------------------
+# Step: Make LLVM.
+#------------------------------------------------------------------------------
+if [ "$do_make_llvm" == "yes" ] ; then
+
+   cd ${BUILD_ROOT}/${LLVM_obj}
+   # NOTE: Do not build with ENABLE_OPTIMIZED=1 - some test fail after it.   
+   nice -n 20 make VERBOSE=1 \
+      $@  # Extra args if any, like -j16 for example.
+
+fi
+
+#------------------------------------------------------------------------------
+# Step: Test LLVM.
+#------------------------------------------------------------------------------
+if [ "$do_test_llvm" == "yes" ] ; then
+
+   cd ${BUILD_ROOT}/${LLVM_obj}
+   make check-lit VERBOSE=1  \
+      $@  # Extra args if any, like -j16 for example.
+
+fi
+
+#------------------------------------------------------------------------------
+# Step: Copy cross-tools.
+#------------------------------------------------------------------------------
+if [ "$do_cross_tools" == "yes" ] ; then
+
+   # We need a local copy of binutils, system libraries and headers,
+   # since we will be installing there.
+   cp -RL /cross-tools/ ${PRIVATE_INSTALL}
+
+fi
+
+#------------------------------------------------------------------------------
+# Step: Configure LLVM-GCC.
+#------------------------------------------------------------------------------
+if [ "$do_configure_llvmgcc" == "yes" ] ; then
+
+   # Remove previous build files if any.
+   rm -rf ${BUILD_ROOT}/${LLVM_GCC_obj}
+   mkdir -p ${BUILD_ROOT}/${LLVM_GCC_obj}
+   chmod a+rx ${BUILD_ROOT}/${LLVM_GCC_obj}
+   cd ${BUILD_ROOT}/${LLVM_GCC_obj}
+   
+   ../${LLVM_GCC_src}/configure --prefix=${PRIVATE_INSTALL}      \
+      --build=x86_64-apple-darwin10 --host=x86_64-apple-darwin10 \
+	  --with-local-prefix=/tools                                 \
+      --target=i686-pc-mingw32                                   \
+      --program-prefix=i686-pc-mingw32-                          \
+      --enable-llvm=${BUILD_ROOT}/${LLVM_obj}                    \
+      --enable-languages=c,c++                                   \
+      --disable-multilib --disable-nls --disable-shared          \
+      --disable-sjlj-exceptions --disable-__cxa_atexit           \
+      $@  # Extra args if any
+
+fi
+
+#------------------------------------------------------------------------------
+# Step: Make LLVM-GCC.
+#------------------------------------------------------------------------------
+if [ "$do_make_llvmgcc" == "yes" ] ; then
+
+   cd ${BUILD_ROOT}/${LLVM_GCC_obj}
+   # NOTE: Do not build in parallel! It doesn't build.
+   nice -n 20 make          \
+      $@  # Extra args if any
+
+fi
+
+#------------------------------------------------------------------------------
+# Step: Install LLVM-GCC.
+#------------------------------------------------------------------------------
+if [ "$do_install_llvmgcc" == "yes" ] ; then
+
+   cd ${BUILD_ROOT}/${LLVM_GCC_obj}
+   nice -n 20 make install  \
+      $@  # Extra args if any
+
+fi

Propchange: llvm-gcc-4.2/trunk/extras/build-x-4-mingw32
------------------------------------------------------------------------------
    svn:executable = *





More information about the llvm-commits mailing list