Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r52177 - trunk
From: ghost_at_[hidden]
Date: 2009-04-04 17:24:28


Author: vladimir_prus
Date: 2009-04-04 17:24:28 EDT (Sat, 04 Apr 2009)
New Revision: 52177
URL: http://svn.boost.org/trac/boost/changeset/52177

Log:
Rename configure to bootstrap.sh.

Also, make it generate project-config.jam, so mere "./bjam" does
the right thing.

Added:
   trunk/bootstrap.sh (contents, props changed)
      - copied, changed from r52169, /trunk/configure
Removed:
   trunk/configure
Text files modified:
   trunk/bootstrap.sh | 112 +++++++++++++++++++++++----------------
   1 files changed, 67 insertions(+), 45 deletions(-)

Copied: trunk/bootstrap.sh (from r52169, /trunk/configure)
==============================================================================
--- /trunk/configure (original)
+++ trunk/bootstrap.sh 2009-04-04 17:24:28 EDT (Sat, 04 Apr 2009)
@@ -133,7 +133,7 @@
 
 if test "x$want_help" = xyes; then
   cat <<EOF
-\`configure' configures Boost to adapt to a few kinds of systems.
+\`./bootstrap.sh' prepares Boost for building on a few kinds of systems.
 
 Usage: $0 [OPTION]...
 
@@ -220,6 +220,7 @@
   arch=`cd $my_dir/tools/jam/src && ./bootstrap/jam0 -d0 -f build.jam --toolset=$TOOLSET --toolset-root= --show-locate-target && cd ..`
   BJAM="$my_dir/tools/jam/src/$arch/bjam"
   echo "tools/jam/src/$arch/bjam"
+ cp $BJAM .
 fi
 
 # TBD: Turn BJAM into an absolute path
@@ -244,15 +245,15 @@
 
 # Setup paths
 if test "x$EPREFIX" = x; then
- EPREFIX="\$(prefix)"
+ EPREFIX="$PREFIX"
 fi
 
 if test "x$LIBDIR" = x; then
- LIBDIR="\$(exec_prefix)/lib"
+ LIBDIR="$EXPREFIX/lib"
 fi
 
 if test "x$INCLUDEDIR" = x; then
- INCLUDEDIR="\$(prefix)/include"
+ INCLUDEDIR="$PREFIX/include"
 fi
 
 # Find Python
@@ -302,67 +303,88 @@
   echo "disabled."
 fi
 
-# Backup the user's existing user-config.jam
-JAM_CONFIG_OUT="user-config.jam"
-if test -r "user-config.jam"; then
+# Backup the user's existing project-config.jam
+JAM_CONFIG_OUT="project-config.jam"
+if test -r "project-config.jam"; then
   counter=1
  
- while test -r "user-config.jam.$counter"; do
+ while test -r "project-config.jam.$counter"; do
     counter=`expr $counter + 1`
   done
 
- echo "Backing up existing Boost.Build configuration in user-config.jam.$counter"
- mv "user-config.jam" "user-config.jam.$counter"
+ echo "Backing up existing Boost.Build configuration in project-config.jam.$counter"
+ mv "project-config.jam" "project-config.jam.$counter"
 fi
 
 # Generate user-config.jam
-echo "Generating Boost.Build configuration in user-config.jam..."
-cat > user-config.jam <<EOF
+echo "Generating Boost.Build configuration in project-config.jam..."
+cat > project-config.jam <<EOF
 # Boost.Build Configuration
-# Automatically generated by Boost configure
+# Automatically generated by bootstrap.sh
 
-# Compiler configuration
-using $TOOLSET ;
+import option ;
+import feature ;
+
+# Compiler configuration. This definition will be used unless
+# you already have defined some toolsets in your user-config.jam
+# file.
+if ! $TOOLSET in [ feature.values <toolset> ]
+{
+ using $TOOLSET ;
+}
+
+project : default-build <toolset>$TOOLSET ;
 EOF
 
 # - Python configuration
 if test "x$flag_no_python" = x; then
- cat >> user-config.jam <<EOF
+ cat >> project-config.jam <<EOF
 
 # Python configuration
 using python : $PYTHON_VERSION : $PYTHON_ROOT ;
 EOF
 fi
 
-# Generate the Makefile
-echo "Generating Makefile..."
-cat > Makefile <<EOF
-BJAM=$BJAM
-BJAM_CONFIG=$BJAM_CONFIG
-prefix=$PREFIX
-exec_prefix=$EPREFIX
-libdir=$LIBDIR
-includedir=$INCLUDEDIR
-LIBS=$LIBS
-
-all: .dummy
- @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS)"
- @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) || \\
- echo "Not all Boost libraries built properly."
-
-clean: .dummy
- rm -rf bin.v2
-
-distclean: clean
- rm -rf Makefile config.log
-
-check: .dummy
- @cd status && ../\$(BJAM) \$(BJAM_CONFIG) --user-config=../user-config.jam || echo "Some Boost regression tests failed. This is normal for many compilers."
-
-install: .dummy
- @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam --prefix=\$(prefix) --exec-prefix=\$(exec_prefix) --libdir=\$(libdir) --includedir=\$(includedir) \$(LIBS) install"
- @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam --prefix=\$(prefix) --exec-prefix=\$(exec_prefix) --libdir=\$(libdir) --includedir=\$(includedir) \$(LIBS) install || echo "Not all Boost libraries built properly."
+if test "x$ICU_ROOT" != x; then
+ cat >> project-config.jam << EOF
+
+path-constant ICU_PATH : $ICU_ROOT ;
+
+EOF
+fi
 
-.dummy:
+cat >> project-config.jam << EOF
 
+# List of --with-<library> and --without-<library>
+# options. If left empty, all libraries will be built.
+# Options specified on the command line completely
+# override this variable.
+libraries = $LIBS ;
+
+# These settings are equivivalent to corresponding command-line
+# options.
+option.set prefix : $PREFIX ;
+option.set exec-prefix : $EPREFIX ;
+option.set libdir : $LIBDIR ;
+option.set includedir : $INCLUDEDIR ;
 EOF
+
+cat << EOF
+
+Bootstrapping is done. To build, run:
+
+ ./bjam
+
+To adjust configuration, edit 'project-config.jam'.
+Further information:
+
+ - Command line help:
+ ./bjam --help
+
+ - Getting started guide:
+ http://www.boost.org/doc/libs/1_38_0/more/getting_started/unix-variants.html
+
+ - Boost.Build documentation:
+ http://www.boost.org/boost-build2/doc/html/index.html
+
+EOF
\ No newline at end of file

Deleted: trunk/configure
==============================================================================
--- trunk/configure 2009-04-04 17:24:28 EDT (Sat, 04 Apr 2009)
+++ (empty file)
@@ -1,368 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2005, 2006 Douglas Gregor.
-# Copyright (C) 2006 The Trustees of Indiana University
-#
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# boostinspect:notab - Tabs are required for the Makefile.
-
-BJAM=""
-TOOLSET=""
-BJAM_CONFIG=""
-BUILD=""
-PREFIX=/usr/local
-EPREFIX=
-LIBDIR=
-INCLUDEDIR=
-LIBS=""
-PYTHON=python
-PYTHON_VERSION=
-PYTHON_ROOT=
-ICU_ROOT=
-
-# Internal flags
-flag_no_python=
-flag_icu=
-flag_show_libraries=
-
-for option
-do
- case $option in
-
- -help | --help | -h)
- want_help=yes ;;
-
- -prefix=* | --prefix=*)
- PREFIX=`expr "x$option" : "x-*prefix=\(.*\)"`
- ;;
-
- -exec-prefix=* | --exec-prefix=*)
- EPREFIX=`expr "x$option" : "x-*exec-prefix=\(.*\)"`
- ;;
-
- -libdir=* | --libdir=*)
- LIBDIR=`expr "x$option" : "x-*libdir=\(.*\)"`
- ;;
-
- -includedir=* | --includedir=*)
- INCLUDEDIR=`expr "x$option" : "x-*includedir=\(.*\)"`
- ;;
-
- -show-libraries | --show-libraries )
- flag_show_libraries=yes
- ;;
-
- -with-bjam=* | --with-bjam=* )
- BJAM=`expr "x$option" : "x-*with-bjam=\(.*\)"`
- ;;
-
- -with-icu | --with-icu )
- flag_icu=yes
- ;;
-
- -with-icu=* | --with-icu=* )
- flag_icu=yes
- ICU_ROOT=`expr "x$option" : "x-*with-icu=\(.*\)"`
- ;;
-
- -without-icu | --without-icu )
- flag_icu=no
- ;;
-
- -with-libraries=* | --with-libraries=* )
- library_list=`expr "x$option" : "x-*with-libraries=\(.*\)"`
- if test "$library_list" != "all"; then
- old_IFS=$IFS
- IFS=,
- for library in $library_list
- do
- LIBS="$LIBS --with-$library"
-
- if test $library = python; then
- requested_python=yes
- fi
- done
- IFS=$old_IFS
-
- if test "x$requested_python" != xyes; then
- flag_no_python=yes
- fi
- fi
- ;;
-
- -without-libraries=* | --without-libraries=* )
- library_list=`expr "x$option" : "x-*without-libraries=\(.*\)"`
- old_IFS=$IFS
- IFS=,
- for library in $library_list
- do
- LIBS="$LIBS --without-$library"
-
- if test $library = python; then
- flag_no_python=yes
- fi
- done
- IFS=$old_IFS
- ;;
-
- -with-python=* | --with-python=* )
- PYTHON=`expr "x$option" : "x-*with-python=\(.*\)"`
- ;;
-
- -with-python-root=* | --with-python-root=* )
- PYTHON_ROOT=`expr "x$option" : "x-*with-python-root=\(.*\)"`
- ;;
-
- -with-python-version=* | --with-python-version=* )
- PYTHON_VERSION=`expr "x$option" : "x-*with-python-version=\(.*\)"`
- ;;
-
- -with-toolset=* | --with-toolset=* )
- TOOLSET=`expr "x$option" : "x-*with-toolset=\(.*\)"`
- ;;
-
- -*)
- { echo "error: unrecognized option: $option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- esac
-done
-
-if test "x$want_help" = xyes; then
- cat <<EOF
-\`configure' configures Boost to adapt to a few kinds of systems.
-
-Usage: $0 [OPTION]...
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --with-bjam=BJAM use existing Boost.Jam executable (bjam)
- [automatically built]
- --with-toolset=TOOLSET use specific Boost.Build toolset
- [automatically detected]
- --show-libraries show the set of libraries that require build
- and installation steps (i.e., those libraries
- that can be used with --with-libraries or
- --without-libraries), then exit
- --with-libraries=list build only a particular set of libraries,
- describing using either a comma-separated list of
- library names or "all"
- [all]
- --without-libraries=list build all libraries except the ones listed []
- --with-icu enable Unicode/ICU support in Regex
- [automatically detected]
- --without-icu disable Unicode/ICU support in Regex
- --with-icu=DIR specify the root of the ICU library installation
- and enable Unicode/ICU support in Regex
- [automatically detected]
- --with-python=PYTHON specify the Python executable [python]
- --with-python-root=DIR specify the root of the Python installation
- [automatically detected]
- --with-python-version=X.Y specify the Python version as X.Y
- [automatically detected]
-
-Installation directories:
- --prefix=PREFIX install Boost into the given PREFIX
- [/usr/local]
- --exec-prefix=EPREFIX install Boost binaries into the given EPREFIX
- [PREFIX]
-
-More precise control over installation directories:
- --libdir=DIR install libraries here [EPREFIX/lib]
- --includedir=DIR install headers here [PREFIX/include]
-
-EOF
-fi
-test -n "$want_help" && exit 0
-
-# TBD: Determine where the script is located
-my_dir="."
-
-# Determine the toolset, if not already decided
-if test "x$TOOLSET" = x; then
- guessed_toolset=`$my_dir/tools/jam/src/build.sh --guess-toolset`
- case $guessed_toolset in
- acc | darwin | gcc | como | mipspro | pathscale | pgi | qcc | vacpp )
- TOOLSET=$guessed_toolset
- ;;
-
- intel-* )
- TOOLSET=intel
- ;;
-
- mingw )
- TOOLSET=gcc
- ;;
-
- sun* )
- TOOLSET=sun
- ;;
-
- * )
- # Not supported by Boost.Build
- ;;
- esac
-fi
-
-rm -f config.log
-
-# Build bjam
-if test "x$BJAM" = x; then
- echo -n "Building Boost.Jam with toolset $TOOLSET... "
- pwd=`pwd`
- cd "$my_dir/tools/jam/src" && ./build.sh "$TOOLSET" > config.log 2>&1
- cd $pwd
- arch=`cd $my_dir/tools/jam/src && ./bootstrap/jam0 -d0 -f build.jam --toolset=$TOOLSET --toolset-root= --show-locate-target && cd ..`
- BJAM="$my_dir/tools/jam/src/$arch/bjam"
- echo "tools/jam/src/$arch/bjam"
-fi
-
-# TBD: Turn BJAM into an absolute path
-
-# If there is a list of libraries
-if test "x$flag_show_libraries" = xyes; then
- libraries=`$BJAM -d0 --show-libraries`
- cat <<EOF
-
-The following Boost libraries have portions that require a separate build
-and installation step. Any library not listed here can be used by including
-the headers only.
-
-The Boost libraries requiring separate building and installation are:
-EOF
- for lib in $libraries
- do
- echo " $lib"
- done
- exit 0
-fi
-
-# Setup paths
-if test "x$EPREFIX" = x; then
- EPREFIX="\$(prefix)"
-fi
-
-if test "x$LIBDIR" = x; then
- LIBDIR="\$(exec_prefix)/lib"
-fi
-
-if test "x$INCLUDEDIR" = x; then
- INCLUDEDIR="\$(prefix)/include"
-fi
-
-# Find Python
-if test "x$flag_no_python" = x; then
- result=`$PYTHON -c "exit" > /dev/null 2>&1`
- if [ "$?" -ne "0" ]; then
- flag_no_python=yes
- fi
-fi
-
-if test "x$flag_no_python" = x; then
- if test "x$PYTHON_VERSION" = x; then
- echo -n "Detecting Python version... "
- PYTHON_VERSION=`$PYTHON -c "import sys; print (\"%d.%d\" % (sys.version_info[0], sys.version_info[1]))"`
- echo $PYTHON_VERSION
- fi
-
- if test "x$PYTHON_ROOT" = x; then
- echo -n "Detecting Python root... "
- PYTHON_ROOT=`$PYTHON -c "import sys; print sys.prefix"`
- echo $PYTHON_ROOT
- fi
-fi
-
-# Configure ICU
-echo -n "Unicode/ICU support for Boost.Regex?... "
-if test "x$flag_icu" != xno; then
- if test "x$ICU_ROOT" = x; then
- COMMON_ICU_PATHS="/usr /usr/local /sw"
- for p in $COMMON_ICU_PATHS; do
- if test -r $p/include/unicode/utypes.h; then
- ICU_ROOT=$p
- fi
- done
-
- if test "x$ICU_ROOT" = x; then
- echo "not found."
- else
- BJAM_CONFIG="$BJAM_CONFIG -sICU_PATH=$ICU_ROOT"
- echo "$ICU_ROOT"
- fi
- else
- BJAM_CONFIG="$BJAM_CONFIG -sICU_PATH=$ICU_ROOT"
- echo "$ICU_ROOT"
- fi
-else
- echo "disabled."
-fi
-
-# Backup the user's existing user-config.jam
-JAM_CONFIG_OUT="user-config.jam"
-if test -r "user-config.jam"; then
- counter=1
-
- while test -r "user-config.jam.$counter"; do
- counter=`expr $counter + 1`
- done
-
- echo "Backing up existing Boost.Build configuration in user-config.jam.$counter"
- mv "user-config.jam" "user-config.jam.$counter"
-fi
-
-# Generate user-config.jam
-echo "Generating Boost.Build configuration in user-config.jam..."
-cat > user-config.jam <<EOF
-# Boost.Build Configuration
-# Automatically generated by Boost configure
-
-# Compiler configuration
-using $TOOLSET ;
-EOF
-
-# - Python configuration
-if test "x$flag_no_python" = x; then
- cat >> user-config.jam <<EOF
-
-# Python configuration
-using python : $PYTHON_VERSION : $PYTHON_ROOT ;
-EOF
-fi
-
-# Generate the Makefile
-echo "Generating Makefile..."
-cat > Makefile <<EOF
-BJAM=$BJAM
-BJAM_CONFIG=$BJAM_CONFIG
-prefix=$PREFIX
-exec_prefix=$EPREFIX
-libdir=$LIBDIR
-includedir=$INCLUDEDIR
-LIBS=$LIBS
-
-all: .dummy
- @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS)"
- @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) || \\
- echo "Not all Boost libraries built properly."
-
-clean: .dummy
- rm -rf bin.v2
-
-distclean: clean
- rm -rf Makefile config.log
-
-check: .dummy
- @cd status && ../\$(BJAM) \$(BJAM_CONFIG) --user-config=../user-config.jam || echo "Some Boost regression tests failed. This is normal for many compilers."
-
-install: .dummy
- @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam --prefix=\$(prefix) --exec-prefix=\$(exec_prefix) --libdir=\$(libdir) --includedir=\$(includedir) \$(LIBS) install"
- @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam --prefix=\$(prefix) --exec-prefix=\$(exec_prefix) --libdir=\$(libdir) --includedir=\$(includedir) \$(LIBS) install || echo "Not all Boost libraries built properly."
-
-.dummy:
-
-EOF


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk