diff --git a/historic/jam/src/README b/historic/jam/src/README index 97777f09f..7ee7a8e9c 100644 --- a/historic/jam/src/README +++ b/historic/jam/src/README @@ -87,6 +87,7 @@ INSTALLING SunOS4.1 SUNOS Ultrix 4.2 ULTRIX BeOS BEOS * + GNU/kFreeBSD KFREEBSD * requires editing Makefile diff --git a/historic/jam/src/build.jam b/historic/jam/src/build.jam index 6ed6ae08d..b18e49970 100644 --- a/historic/jam/src/build.jam +++ b/historic/jam/src/build.jam @@ -216,6 +216,13 @@ toolset msvc cl : /Fe : -D [ opt --debug : /MLd /DEBUG /Z7 /Od /Ob0 ] -I$(--python-include) : kernel32.lib advapi32.lib $(--python-lib) ; +## QNX 6.x GCC 3.x/2.95.3 +toolset qcc qcc : "-o " : -D + : -pedantic + [ opt --release : [ opt --symbols : -g : -s ] -O3 -finline-functions ] + [ opt --debug : -g -O0 -fno-inline ] + -I$(--python-include) + : -L$(--python-lib[1]) -l$(--python-lib[2]) ; ## Sun Workshop 6 C++ toolset sunpro cc : "-o " : -D : diff --git a/historic/jam/src/build.sh b/historic/jam/src/build.sh index e483e40ce..212e2319a 100644 --- a/historic/jam/src/build.sh +++ b/historic/jam/src/build.sh @@ -1,6 +1,6 @@ #!/bin/sh -#~ Copyright 2002-2004 Rene Rivera. +#~ Copyright 2002-2005 Rene Rivera. #~ 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) @@ -68,8 +68,15 @@ Guess_Toolset () elif test_uname IRIX ; then BOOST_JAM_TOOLSET=mipspro elif test_uname IRIX64 ; then BOOST_JAM_TOOLSET=mipspro elif test_uname OSF1 ; then BOOST_JAM_TOOLSET=tru64cxx + elif test_path qcc ; then BOOST_JAM_TOOLSET=qcc elif test_path gcc ; then BOOST_JAM_TOOLSET=gcc elif test_path icc ; then BOOST_JAM_TOOLSET=intel-linux + elif test -r /opt/intel/cc/9.0/bin/iccvars.sh ; then + BOOST_JAM_TOOLSET=intel-linux + BOOST_JAM_TOOLSET_ROOT=/opt/intel/cc/9.0 + elif test -r /opt/intel_cc_80/bin/iccvars.sh ; then + BOOST_JAM_TOOLSET=intel-linux + BOOST_JAM_TOOLSET_ROOT=/opt/intel_cc_80 elif test -r /opt/intel/compiler70/ia32/bin/iccvars.sh ; then BOOST_JAM_TOOLSET=intel-linux BOOST_JAM_TOOLSET_ROOT=/opt/intel/compiler70/ia32/ @@ -113,7 +120,7 @@ BOOST_JAM_OPT_MKJAMBASE="-o bootstrap/mkjambase0" BOOST_JAM_OPT_YYACC="-o bootstrap/yyacc0" case $BOOST_JAM_TOOLSET in mingw) - if test -r ${BOOST_JAM_TOOLSET_ROOT}bin/gcc -r ; then + if test -r ${BOOST_JAM_TOOLSET_ROOT}bin/gcc ; then export PATH=${BOOST_JAM_TOOLSET_ROOT}bin:$PATH fi BOOST_JAM_CC="gcc -DNT" @@ -128,7 +135,11 @@ case $BOOST_JAM_TOOLSET in ;; intel-linux) - if test -r /opt/intel/compiler70/ia32/bin/iccvars.sh ; then + if test -r /opt/intel/cc/9.0/bin/iccvars.sh ; then + BOOST_JAM_TOOLSET_ROOT=/opt/intel/cc/9.0/ + elif test -r /opt/intel_cc_80/bin/iccvars.sh ; then + BOOST_JAM_TOOLSET_ROOT=/opt/intel_cc_80/ + elif test -r /opt/intel/compiler70/ia32/bin/iccvars.sh ; then BOOST_JAM_TOOLSET_ROOT=/opt/intel/compiler70/ia32/ elif test -r /opt/intel/compiler60/ia32/bin/iccvars.sh ; then BOOST_JAM_TOOLSET_ROOT=/opt/intel/compiler60/ia32/ @@ -136,6 +147,17 @@ case $BOOST_JAM_TOOLSET in BOOST_JAM_TOOLSET_ROOT=/opt/intel/compiler50/ia32/ fi if test -r ${BOOST_JAM_TOOLSET_ROOT}bin/iccvars.sh ; then + # iccvars doesn't change LD_RUN_PATH. We adjust LD_RUN_PATH + # here in order not to have to rely on ld.so.conf knowing the + # icc library directory. We do this before running iccvars.sh + # in order to allow a user to add modifications to LD_RUN_PATH + # in iccvars.sh. + if test -z "${LD_RUN_PATH}"; then + LD_RUN_PATH="${BOOST_JAM_TOOLSET_ROOT}lib" + else + LD_RUN_PATH="${BOOST_JAM_TOOLSET_ROOT}lib:${LD_RUN_PATH}" + fi + export LD_RUN_PATH . ${BOOST_JAM_TOOLSET_ROOT}bin/iccvars.sh fi BOOST_JAM_CC=icc @@ -188,6 +210,10 @@ case $BOOST_JAM_TOOLSET in BOOST_JAM_OPT_YYACC="$BOOST_JAM_OPT_YYACC $CFLAGS $LIBS" ;; + qcc) + BOOST_JAM_CC=qcc + ;; + *) error_exit "Unknown toolset: $BOOST_JAM_TOOLSET" ;; diff --git a/historic/jam/src/execunix.c b/historic/jam/src/execunix.c index af2a52b87..812dfeb8d 100644 --- a/historic/jam/src/execunix.c +++ b/historic/jam/src/execunix.c @@ -11,7 +11,7 @@ # include # include /* needed for vfork(), _exit() prototypes */ -#if defined(sun) || defined(__sun) +#if defined(sun) || defined(__sun) || defined(linux) #include #endif diff --git a/historic/jam/src/fileunix.c b/historic/jam/src/fileunix.c index a57e830ca..01eaad398 100644 --- a/historic/jam/src/fileunix.c +++ b/historic/jam/src/fileunix.c @@ -19,7 +19,7 @@ # include "newstr.h" # include -#if defined(sun) || defined(__sun) +#if defined(sun) || defined(__sun) || defined(linux) # include /* needed for read and close prototype */ #endif diff --git a/historic/jam/src/jam.h b/historic/jam/src/jam.h index b2cabe928..5ecc3ac83 100644 --- a/historic/jam/src/jam.h +++ b/historic/jam/src/jam.h @@ -313,11 +313,11 @@ # define NO_VFORK # endif # ifdef __QNX__ +# define unix # ifdef __QNXNTO__ # define OSMINOR "OS=QNXNTO" # define OS_QNXNTO # else -# define unix # define OSMINOR "OS=QNX" # define OS_QNX # define NO_VFORK @@ -385,6 +385,10 @@ # define OS_OPENBSD # define unix # endif +# if defined (__FreeBSD_kernel__) && !defined(__FreeBSD__) +# define OSMINOR "OS=KFREEBSD" +# define OS_KFREEBSD +# endif # ifndef OSMINOR # define OSMINOR "OS=UNKNOWN" # endif diff --git a/jam_src/README b/jam_src/README index 97777f09f..7ee7a8e9c 100644 --- a/jam_src/README +++ b/jam_src/README @@ -87,6 +87,7 @@ INSTALLING SunOS4.1 SUNOS Ultrix 4.2 ULTRIX BeOS BEOS * + GNU/kFreeBSD KFREEBSD * requires editing Makefile diff --git a/jam_src/build.jam b/jam_src/build.jam index 6ed6ae08d..b18e49970 100644 --- a/jam_src/build.jam +++ b/jam_src/build.jam @@ -216,6 +216,13 @@ toolset msvc cl : /Fe : -D [ opt --debug : /MLd /DEBUG /Z7 /Od /Ob0 ] -I$(--python-include) : kernel32.lib advapi32.lib $(--python-lib) ; +## QNX 6.x GCC 3.x/2.95.3 +toolset qcc qcc : "-o " : -D + : -pedantic + [ opt --release : [ opt --symbols : -g : -s ] -O3 -finline-functions ] + [ opt --debug : -g -O0 -fno-inline ] + -I$(--python-include) + : -L$(--python-lib[1]) -l$(--python-lib[2]) ; ## Sun Workshop 6 C++ toolset sunpro cc : "-o " : -D : diff --git a/jam_src/build.sh b/jam_src/build.sh index e483e40ce..212e2319a 100644 --- a/jam_src/build.sh +++ b/jam_src/build.sh @@ -1,6 +1,6 @@ #!/bin/sh -#~ Copyright 2002-2004 Rene Rivera. +#~ Copyright 2002-2005 Rene Rivera. #~ 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) @@ -68,8 +68,15 @@ Guess_Toolset () elif test_uname IRIX ; then BOOST_JAM_TOOLSET=mipspro elif test_uname IRIX64 ; then BOOST_JAM_TOOLSET=mipspro elif test_uname OSF1 ; then BOOST_JAM_TOOLSET=tru64cxx + elif test_path qcc ; then BOOST_JAM_TOOLSET=qcc elif test_path gcc ; then BOOST_JAM_TOOLSET=gcc elif test_path icc ; then BOOST_JAM_TOOLSET=intel-linux + elif test -r /opt/intel/cc/9.0/bin/iccvars.sh ; then + BOOST_JAM_TOOLSET=intel-linux + BOOST_JAM_TOOLSET_ROOT=/opt/intel/cc/9.0 + elif test -r /opt/intel_cc_80/bin/iccvars.sh ; then + BOOST_JAM_TOOLSET=intel-linux + BOOST_JAM_TOOLSET_ROOT=/opt/intel_cc_80 elif test -r /opt/intel/compiler70/ia32/bin/iccvars.sh ; then BOOST_JAM_TOOLSET=intel-linux BOOST_JAM_TOOLSET_ROOT=/opt/intel/compiler70/ia32/ @@ -113,7 +120,7 @@ BOOST_JAM_OPT_MKJAMBASE="-o bootstrap/mkjambase0" BOOST_JAM_OPT_YYACC="-o bootstrap/yyacc0" case $BOOST_JAM_TOOLSET in mingw) - if test -r ${BOOST_JAM_TOOLSET_ROOT}bin/gcc -r ; then + if test -r ${BOOST_JAM_TOOLSET_ROOT}bin/gcc ; then export PATH=${BOOST_JAM_TOOLSET_ROOT}bin:$PATH fi BOOST_JAM_CC="gcc -DNT" @@ -128,7 +135,11 @@ case $BOOST_JAM_TOOLSET in ;; intel-linux) - if test -r /opt/intel/compiler70/ia32/bin/iccvars.sh ; then + if test -r /opt/intel/cc/9.0/bin/iccvars.sh ; then + BOOST_JAM_TOOLSET_ROOT=/opt/intel/cc/9.0/ + elif test -r /opt/intel_cc_80/bin/iccvars.sh ; then + BOOST_JAM_TOOLSET_ROOT=/opt/intel_cc_80/ + elif test -r /opt/intel/compiler70/ia32/bin/iccvars.sh ; then BOOST_JAM_TOOLSET_ROOT=/opt/intel/compiler70/ia32/ elif test -r /opt/intel/compiler60/ia32/bin/iccvars.sh ; then BOOST_JAM_TOOLSET_ROOT=/opt/intel/compiler60/ia32/ @@ -136,6 +147,17 @@ case $BOOST_JAM_TOOLSET in BOOST_JAM_TOOLSET_ROOT=/opt/intel/compiler50/ia32/ fi if test -r ${BOOST_JAM_TOOLSET_ROOT}bin/iccvars.sh ; then + # iccvars doesn't change LD_RUN_PATH. We adjust LD_RUN_PATH + # here in order not to have to rely on ld.so.conf knowing the + # icc library directory. We do this before running iccvars.sh + # in order to allow a user to add modifications to LD_RUN_PATH + # in iccvars.sh. + if test -z "${LD_RUN_PATH}"; then + LD_RUN_PATH="${BOOST_JAM_TOOLSET_ROOT}lib" + else + LD_RUN_PATH="${BOOST_JAM_TOOLSET_ROOT}lib:${LD_RUN_PATH}" + fi + export LD_RUN_PATH . ${BOOST_JAM_TOOLSET_ROOT}bin/iccvars.sh fi BOOST_JAM_CC=icc @@ -188,6 +210,10 @@ case $BOOST_JAM_TOOLSET in BOOST_JAM_OPT_YYACC="$BOOST_JAM_OPT_YYACC $CFLAGS $LIBS" ;; + qcc) + BOOST_JAM_CC=qcc + ;; + *) error_exit "Unknown toolset: $BOOST_JAM_TOOLSET" ;; diff --git a/jam_src/execunix.c b/jam_src/execunix.c index af2a52b87..812dfeb8d 100644 --- a/jam_src/execunix.c +++ b/jam_src/execunix.c @@ -11,7 +11,7 @@ # include # include /* needed for vfork(), _exit() prototypes */ -#if defined(sun) || defined(__sun) +#if defined(sun) || defined(__sun) || defined(linux) #include #endif diff --git a/jam_src/fileunix.c b/jam_src/fileunix.c index a57e830ca..01eaad398 100644 --- a/jam_src/fileunix.c +++ b/jam_src/fileunix.c @@ -19,7 +19,7 @@ # include "newstr.h" # include -#if defined(sun) || defined(__sun) +#if defined(sun) || defined(__sun) || defined(linux) # include /* needed for read and close prototype */ #endif diff --git a/jam_src/jam.h b/jam_src/jam.h index b2cabe928..5ecc3ac83 100644 --- a/jam_src/jam.h +++ b/jam_src/jam.h @@ -313,11 +313,11 @@ # define NO_VFORK # endif # ifdef __QNX__ +# define unix # ifdef __QNXNTO__ # define OSMINOR "OS=QNXNTO" # define OS_QNXNTO # else -# define unix # define OSMINOR "OS=QNX" # define OS_QNX # define NO_VFORK @@ -385,6 +385,10 @@ # define OS_OPENBSD # define unix # endif +# if defined (__FreeBSD_kernel__) && !defined(__FreeBSD__) +# define OSMINOR "OS=KFREEBSD" +# define OS_KFREEBSD +# endif # ifndef OSMINOR # define OSMINOR "OS=UNKNOWN" # endif diff --git a/v1/allyourbase.jam b/v1/allyourbase.jam index 982613f1e..f83fa9e16 100644 --- a/v1/allyourbase.jam +++ b/v1/allyourbase.jam @@ -345,6 +345,9 @@ else if $(UNIX) case IRIX : RANLIB ?= "" ; + case KFREEBSD : + CLONE ?= cp -fpd ; + case LINUX : CLONE ?= cp -fpd ; diff --git a/v1/boost-base.jam b/v1/boost-base.jam index 7d846002a..1fd3dc666 100644 --- a/v1/boost-base.jam +++ b/v1/boost-base.jam @@ -2688,7 +2688,11 @@ rule common-variant-tag ( toolset variant : properties * ) { local version-number = [ get-values : $(properties) ] ; version-number ?= $(BOOST_VERSION) ; - version-tag = [ MATCH "^([^.]+)[.]([^.]+)" : $(version-number[1]) ] ; + version-tag = [ MATCH "^([^.]+)[.]([^.]+)[.]([^.]+)" : $(version-number[1]) ] ; + if $(version-tag[3]) = 0 + { + version-tag = $(version-tag[1-2]) ; + } version-tag = $(version-tag:J="_") ; } @@ -2946,6 +2950,13 @@ rule toolset::requirements ( toolset variant : subvariant-path properties * ) if dynamic in $(properties) { requirements += multi ; } } } + if 5.0 in $(properties) + { + # STLPort-5 doesn't have any single-threaded builds, so we're going + # to force all such targets to be built with multithread support. + # This is essentially a usage-requirement on the stlport library. + requirements += multi ; + } return $(subvariant-path) [ impose-requirements $(properties) : $(requirements) ] ; } diff --git a/v1/dmc-stlport-tools.html b/v1/dmc-stlport-tools.html index c938bc210..f917a3c7e 100644 --- a/v1/dmc-stlport-tools.html +++ b/v1/dmc-stlport-tools.html @@ -2,8 +2,6 @@ - @@ -39,140 +37,15 @@ test with multiple installed versions of STLPort, so that objects build in each configuration will be built into separate directories.

-

Configuration - Variables

- -

The dmc-stlport toolset responds to the following - variables, which can be set in the environment or configured on the jam - command-line using -sVARIABLE_NAME=value. It is - an extension of the dmc toolset and therefore - responds to all of the Digital Mars configuration variables in addition to - those listed below.

- -

In the table below, version corresponds to an STLPort version - number, e.g. "4.5.3".

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Variable NameSemanticsDefaultNotes
STLPORT_PATHA directory containing at least one subdirectory of the form - /STLPort-version where an STLPort installation can - be found.emptyAllows easy configuration for an installation where several STLPort - versions are installed under a single directory.
STLPORT_version_PATHThe directory where the specific STLPort version - installation can be found, in case there is no central location - appropriate for STLPORT_PATH, above, or a particular - version's installation is not located in the usual place.emptyAllows configuration of a specific STLPort installation.
STLPORT_VERSIONThe version of STLPort in use by default.4.6.2Other values can be selected in parallel setting the build property - <stlport-version> to values from the list of - $(STLPORT_VERSIONS)
STLPORT_VERSIONSA space-separated list of alternate versions of STLport available - on this machine.4.6 4.5.3 4.5
- -

Toolset-Specific Features

- -

The following dmc-stlport-specific features can be used in target build - requirements or in the BUILD variable:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FeatureValuesDefaultSemantics
stlport-iostreamoff onoffControls whether STLPort's own iostreams are in use. Though this - setting is off by default to save users from having to - build STLPort, we strongly recommend on instead.
stlport-version$(STLPORT_VERSION) $(STLPORT_VERSIONS) (see - above)$(STLPORT_VERSION)Selects a version of STLPort for each target
stlport-cstd-namespacestd globalstdControls whether or not names from the "C" library headers such as - <cstdlib> are imported into namespace std.
+

In addition to what this toolset provides, configuration and extended + functionality is available through the common stlport library support.


-

Revised - - 31 July, 2004 -

+

Revised $Date$

-

Copyright © Dave Abrahams 2002, Aleksey Gurtovoy 2004.

+

Copyright © Dave Abrahams 2002, Aleksey Gurtovoy 2004, Rene Rivera + 2005.

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or diff --git a/v1/gcc-stlport-tools.html b/v1/gcc-stlport-tools.html index c545aed92..3f28b65a6 100644 --- a/v1/gcc-stlport-tools.html +++ b/v1/gcc-stlport-tools.html @@ -2,8 +2,6 @@ - @@ -35,65 +33,14 @@ "http://www.stlport.org">STLport as a replacement to the GNU libg++.

-

Configuration - Variables

The gcc-stlport toolset responds to the following - variables which can be set in the environment or configured on the jam - command-line using -sVARIABLE_NAME=value. This - toolset is an extension to the gcc toolset and - therefore responds to all of the GCC configuration variables in addition to - those listed below. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Variable NameSemanticsDefaultNotes
STLPORT_ROOTPath to installation of STLport.(none)It is customary to set this in your "Jamrules" file.
STLPORT_INCLUDE_DIRECTORYThe name of the directory within the STLport installation - containing the header files.stlport 
STLPORT_LIB_DIRECTORYThe name of the directory withint the STLport installation - containing the built libraries.lib 
+

In addition to what this toolset provides, configuration and extended + functionality is available through the common stlport library support.


-

Revised - - 09 May, 2002

+

Revised $Date$

-

Copyright © Dave Abrahams 2002.

+

Copyright © Dave Abrahams 2002, Rene Rivera 2005.

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or diff --git a/v1/gcc-tools.jam b/v1/gcc-tools.jam index 72ecd479f..9e629f532 100644 --- a/v1/gcc-tools.jam +++ b/v1/gcc-tools.jam @@ -1,5 +1,5 @@ # Copyright (c) 2001 David Abrahams. -# Copyright (c) 2002-2003 Rene Rivera. +# Copyright (c) 2002-2005 Rene Rivera. # 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) @@ -144,6 +144,10 @@ else if $(UNIX) { # gcc on HP-UX does not support multi-threading, don't set anything here } + case QNX* : + { + # gcc/QCC on QNX is always? in multi-thread mode, don't set anything here + } case * : { flags gcc CFLAGS multi : -pthread ; @@ -416,7 +420,7 @@ rule Link-action LNOPT on $(<) = "" ; } # do we use sonames or not? - if $(DLLVERSION) && $(TARGET_TYPE) in $(SHARED_TYPES) && ( $(OS) = LINUX || $(OS) = OPENBSD ) && ! $(NO_GNU_LN) + if $(DLLVERSION) && $(TARGET_TYPE) in $(SHARED_TYPES) && ( $(OS) = LINUX || $(OS) = OPENBSD || $(OS) = KFREEBSD ) && ! $(NO_GNU_LN) { OUTTAG on $(<) = ".$(DLLVERSION)" ; SOTAG on $(<) = ".$(DLLVERSION)" ; @@ -462,7 +466,7 @@ rule Link-action gcc-spawn $(<) ; gcc-Link-action $(<) : $(>) ; - if $(DLLVERSION) && $(TARGET_TYPE) in $(SHARED_TYPES) && ( $(OS) = LINUX || $(OS) = OPENBSD ) && ! $(NO_GNU_LN) + if $(DLLVERSION) && $(TARGET_TYPE) in $(SHARED_TYPES) && ( $(OS) = LINUX || $(OS) = OPENBSD || $(OS) = KFREEBSD ) && ! $(NO_GNU_LN) { return "$(<[1]).$(DLLVERSION)" ; } diff --git a/v1/mingw-stlport-tools.html b/v1/mingw-stlport-tools.html index a9726de67..a136b3ee5 100644 --- a/v1/mingw-stlport-tools.html +++ b/v1/mingw-stlport-tools.html @@ -2,7 +2,6 @@ - @@ -35,67 +34,14 @@ "http://www.stlport.org">STLport as a replacement to the GNU libg++.

-

Configuration - Variables

The mingw-stlport toolset responds to the following - variables which can be set in the environment or configured on the jam - command-line using -sVARIABLE_NAME=value. - This toolset is an extension to the mingw - toolset and therefore responds to all of the MinGW configuration variables in addition to - those listed below. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Variable NameSemanticsDefaultNotes
STLPORT_ROOTPath to installation of STLport.(none)It is customary to set this in your "Jamrules" file.
STLPORT_INCLUDE_DIRECTORYThe name of the directory within the STLport installation - containing the header files.stlport 
STLPORT_LIB_DIRECTORYThe name of the directory within the STLport installation - containing the built libraries.lib 
+

In addition to what this toolset provides, configuration and extended + functionality is available through the common stlport library support.


-

Revised - - 12 August, 2004 -

+

Revised $Date$

-

Copyright © Janusz Piwowarski 2004.

+

Copyright © Janusz Piwowarski 2004, Rene Rivera 2005.

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or diff --git a/v1/mingw-tools.jam b/v1/mingw-tools.jam index a6d42dfdd..a290e92fb 100644 --- a/v1/mingw-tools.jam +++ b/v1/mingw-tools.jam @@ -13,6 +13,9 @@ set-as-singleton MINGW_ROOT_DIRECTORY MINGW_BIN_DIRECTORY MINGW_INCLUDE_DIRECTOR local GCC_INCLUDE_DIRECTORY = $(MINGW_INCLUDE_DIRECTORY) ; local GCC_STDLIB_DIRECTORY = $(MINGW_STDLIB_DIRECTORY) ; extends-toolset gcc ; + + # So that RUNPATH, and PATH, is set to include where the mingw DLLs are located. + flags mingw STDLIBPATH : $(GCC_BIN_DIRECTORY) ; } flags mingw LINKFLAGS gui : -Wl,--subsystem,windows ; @@ -24,4 +27,3 @@ GCC_NO_EXPORT_ALL ?= true ; # Use the -mno-cygwin flag for compiling C, C++ and linking CFLAGS += -mno-cygwin ; LINKFLAGS += -mno-cygwin ; - diff --git a/v1/msvc-stlport-tools.html b/v1/msvc-stlport-tools.html index 56513b570..ab5db6d31 100644 --- a/v1/msvc-stlport-tools.html +++ b/v1/msvc-stlport-tools.html @@ -2,8 +2,6 @@ - @@ -41,136 +39,14 @@ that objects build in each configuration will be built into separate directories.

-

Configuration - Variables

The msvc toolset responds to the following - variables, which can be set in the environment or configured on the jam - command-line using -sVARIABLE_NAME=value. It is - an extension of the msvc toolset and - therefore responds to all of the MSVC configuration variables in addition to - those listed below. - -

In the table below, version corresponds to an STLPort version - number, e.g. "4.5.3".

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Variable NameSemanticsDefaultNotes
STLPORT_PATHA directory containing at least one subdirectory of the form - /STLPort-version where an STLPort installation can - be found.emptyAllows easy configuration for an installation where several STLPort - versions are installed under a single directory.
STLPORT_version_PATHThe directory where the specific STLPort version - installation can be found, in case there is no central location - appropriate for STLPORT_PATH, above, or a particular - version's installation is not located in the usual place.emptyAllows configuration of a specific STLPort installation.
STLPORT_VERSIONThe version of STLPort in use by default.4.5.3Other values can be selected in parallel setting the build property - <stlport-version> to values from the list of - $(STLPORT_VERSIONS)
STLPORT_VERSIONSA space-separated list of alternate versions of STLport available - on this machine.4.5 4.0
- -

Toolset-Specific Features

The - following msvc-stlport-specific features can be used in target build - requirements or in the BUILD variable: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FeatureValuesDefaultSemantics
stlport-iostreamoff onoffControls whether STLPort's own iostreams are in use. Though this - setting is off by default to save users from having to - build STLPort, we strongly recommend on instead.
stlport-version$(STLPORT_VERSION) $(STLPORT_VERSIONS) (see - above)$(STLPORT_VERSION)Selects a version of STLPort for each target
stlport-cstd-namespacestd globalstdControls whether or not names from the "C" library headers such as - <cstdlib> are imported into namespace std.
+

In addition to what this toolset provides, configuration and extended + functionality is available through the common stlport library support.


-

Revised - - 14 May, 2002

+

Revised $Date$

-

Copyright © Dave Abrahams 2002.

+

Copyright © Dave Abrahams 2002, Rene Rivera 2005.

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or diff --git a/v1/python.jam b/v1/python.jam index fb44a98b2..9577d7e4b 100644 --- a/v1/python.jam +++ b/v1/python.jam @@ -82,6 +82,10 @@ else if $(UNIX) { PYTHON_EMBEDDED_LIBRARY = python$(PYTHON_VERSION) dl ; } + else if $(OS) = OSF + { + PYTHON_EMBEDDED_LIBRARY = python$(PYTHON_VERSION) ; + } else { PYTHON_EMBEDDED_LIBRARY = python$(PYTHON_VERSION) dl util ; diff --git a/v1/qcc-tools.jam b/v1/qcc-tools.jam new file mode 100644 index 000000000..6ad2c319f --- /dev/null +++ b/v1/qcc-tools.jam @@ -0,0 +1,10 @@ +# Copyright (c) 2005 Rene Rivera. +# 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) + +{ + local GXX = QCC ; + local GCC = qcc ; + extends-toolset gcc ; +} + diff --git a/v1/stlport.html b/v1/stlport.html new file mode 100644 index 000000000..25362b1ff --- /dev/null +++ b/v1/stlport.html @@ -0,0 +1,222 @@ + + + + + + + + Boost.Build - stlport library support + + + + + + + + + + + +
+

C++ Boost

+
+

Boost.Build

+ +

stlport library support

+
+


+ +

Introduction

+ +

Boost.Build's stlport supports the use + of STLport standard library + implementation with the various Boost.Build toolsets. It is designed to + allow you to build and test with multiple installed versions of STLPort, so + that objects built in each configuration will be built into separate + directories. The configuration and features describe here are in addition + to those provided by the specific toolsets that can be configured use the + STLport library.

+ +

Configuration + Variables

+ +

The stlport support responds to the following variables, + which can be set in the environment or configured on the jam command-line + using -sVARIABLE_NAME=value.

+ +

In the table below, version corresponds to an STLPort version + number, e.g. "5.0".

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Variable NameSemanticsDefaultNotes
STLPORT_PATHA directory containing at least one subdirectory of the form + /STLPort-version where an STLPort installation can + be found.emptyAllows easy configuration for an installation where several STLPort + versions are installed under a single directory.
STLPORT_version_PATHThe directory where the specific STLPort version + installation can be found, in case there is no central location + appropriate for STLPORT_PATH, above, or a particular + version's installation is not located in the usual place.emptyAllows configuration of a specific STLPort installation.
STLPORT_VERSIONThe version of STLPort in use by default.4.6.2Other values can be selected in parallel setting the build property + <stlport-version> to values from the list of + $(STLPORT_VERSIONS)
STLPORT_VERSIONSA space-separated list of alternate versions of STLport available + on this machine.5.0 4.6.2 4.6 4.5.3 4.5
+ +

STLport Specific Features

+ +

The following stlport specific features can be used in target build + requirements or in the BUILD variable:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureValuesDefaultSemantics
stlport-version$(STLPORT_VERSION) $(STLPORT_VERSIONS) (see + above)$(STLPORT_VERSION)Selects a version of STLPort for each target
stlport-iostreamon offonControls whether STLPort's own iostreams are in use. The default + for this is now "on". This is because overwhelmingly STLport is used + for it's iostreams support to the extent that non-iostream mode is no + longer available on version 5.0. Since this mode is not available in + 5.0 this feature is ignored when using version 5.0.
stlport-cstd-namespacestd globalstdControls whether or not names from the "C" library headers such as + <cstdlib> are imported into namespace std.
stlport-debug-allocoff onoffEnables STLport support for debugging memory allocations, i.e. it + defines _STLP_DEBUG_ALLOC appropriately.
stlport-crossoff onoffFor STLport 5.0, with it's new library naming scheme, it is + possible to build using compiler specific targets. This tells + Boost.Build that you built STLport in it's "cross compile" mode and + will adjust how it looks for the STLport libraries to match.
stlport-extensionson offonDefines _STLP_NO_EXTENSIONS appropriately.
stlport-anachronismson offonDefines _STLP_NO_ANACHRONISMS appropriately.
+
+ +

Revised $Date$

+ +

Copyright © Dave Abrahams 2002, Aleksey Gurtovoy 2004, Rene Rivera + 2005.

+ +

Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

+ + diff --git a/v1/stlport.jam b/v1/stlport.jam index 4cf5c3595..038b994a3 100644 --- a/v1/stlport.jam +++ b/v1/stlport.jam @@ -7,6 +7,8 @@ # Use this toolset to add STLport flavor for any base toolset # define STLPORT_LIB_BASE_NAME to the shared between debug and release # versions prefix for stlport library name for example stlport_sunpro +# Define STLPORT_AUTOLINK to use the autolink facilities of the new +# STLport-5.0 # STLport iostreams or native iostreams feature stlport-iostream : on off ; @@ -23,16 +25,20 @@ feature stlport-debug-alloc : off on ; # ? feature stlport-cstd-namespace : std global ; +# STLport-5 libraries are located in cross-compilation individual subdirectories. +feature stlport-cross : off on ; + CURR_TOOLSET = $(gCURRENT_TOOLSET) ; # STLport versions -STLPORT_VERSION ?= 4.6.2 ; -STLPORT_VERSIONS ?= 4.6 4.5.3 4.5 ; +STLPORT_VERSIONS(default) ?= 4.6.2 ; +STLPORT_VERSIONS(4) ?= 4.6.2 4.6 4.5.3 4.5 ; +STLPORT_VERSIONS(5) ?= 5.0 ; +STLPORT_VERSION ?= $(STLPORT_VERSION(default)) ; +STLPORT_VERSIONS ?= $(STLPORT_VERSIONS(4)) $(STLPORT_VERSIONS(5)) ; feature stlport-version : [ unique $(STLPORT_VERSION) $(STLPORT_VERSIONS) ] ; flags $(CURR_TOOLSET) STLPORT_VERSION_RELEVANT_FEATURE ; -STLPORT_LIB_DEBUG_SUFFIX ?= _stldebug ; - # singleton variables... set-as-singleton STLPORT_INCLUDE_DIRECTORY STLPORT_LIB_DIRECTORY STLPORT_PATH STLPORT_ROOT ; @@ -67,11 +73,11 @@ rule get-stlport-root ECHO " found, in case there is no central location appropriate for STLPORT_PATH, above, or a" ; ECHO " particular version's installation is not located in the usual place." ; ECHO ; - ECHO STLPORT_VERSION - The version of STLport in use by default. Defaults to \"4.6\". Other ; + ECHO STLPORT_VERSION - The version of STLport in use by default. Defaults to \"$(STLPORT_VERSIONS(default))\". Other ; ECHO " values can be selected in parallel setting the build property to" ; ECHO " values from the list of $(dollar)(STLPORT_VERSIONS)" ; ECHO ; - ECHO STLPORT_VERSIONS - Alternate versions of STLport available on this machine. Defaults to \"4.6 4.5.3 4.5\". ; + ECHO STLPORT_VERSIONS - Alternate versions of STLport available on this machine. Defaults to $(STLPORT_VERSIONS:J=" ") . ; ECHO ; ECHO "Note that STLport iostreams are /not/ in use by default. To enable them, you must place" ; ECHO " on in your BUILD variable or in target requirements." ; @@ -85,6 +91,8 @@ rule get-stlport-root STLPORT_INCLUDE_DIRECTORY ?= stlport ; STLPORT_LIB_DIRECTORY ?= lib ; +STLPORT_BIN_DIRECTORY ?= bin ; +STLPORT_LIB_DEBUG_SUFFIX ?= _stldebug ; # Clear out the STD paths so that the real toolset doesn't include # anything but the STLport as the STD. But also set the STDLIBPATH to @@ -93,10 +101,10 @@ STLPORT_LIB_DIRECTORY ?= lib ; local .stdlibpath = $(STDLIBPATH) ; STDHDRS = ; STDLIBPATH = ; -flags $(CURR_TOOLSET) STDHDRS : [ join [ get-stlport-root ] $(SLASH)$(STLPORT_INCLUDE_DIRECTORY) ] ; -flags $(CURR_TOOLSET) STDLIBPATH on : [ join [ get-stlport-root ] $(SLASH)$(STLPORT_LIB_DIRECTORY) ] $(.stdlibpath) ; -flags $(CURR_TOOLSET) DEFINES off : _STLP_NO_OWN_IOSTREAMS=1 _STLP_HAS_NO_NEW_IOSTREAMS=1 ; +### Common options. + +flags $(CURR_TOOLSET) STDHDRS : [ join [ get-stlport-root ] $(SLASH)$(STLPORT_INCLUDE_DIRECTORY) ] ; flags $(CURR_TOOLSET) DEFINES off : _STLP_NO_EXTENSIONS=1 ; flags $(CURR_TOOLSET) DEFINES off : _STLP_NO_ANACHRONISMS=1 ; flags $(CURR_TOOLSET) DEFINES global : _STLP_VENDOR_GLOBAL_CSTD=1 ; @@ -105,7 +113,93 @@ flags $(CURR_TOOLSET) DEFINES on : _STLP_DEBUG_ALLOC=1 ; flags $(CURR_TOOLSET) DEFINES debug : _STLP_DEBUG=1 _STLP_DEBUG_UNINITIALIZED=1 ; flags $(CURR_TOOLSET) DEFINES dynamic : _STLP_USE_DYNAMIC_LIB=1 ; -flags $(CURR_TOOLSET) FINDLIBS on/debug/static : $(STLPORT_LIB_BASE_NAME)$(STLPORT_LIB_DEBUG_SUFFIX)$(STLPORT_LIB_STATIC_SUFFIX) ; -flags $(CURR_TOOLSET) FINDLIBS on/debug/dynamic : $(STLPORT_LIB_BASE_NAME)$(STLPORT_LIB_DEBUG_SUFFIX) ; -flags $(CURR_TOOLSET) FINDLIBS on/release/static : $(STLPORT_LIB_BASE_NAME)$(STLPORT_LIB_STATIC_SUFFIX) ; -flags $(CURR_TOOLSET) FINDLIBS on/release/dynamic : $(STLPORT_LIB_BASE_NAME) ; +### STLport 4.x + +flags $(CURR_TOOLSET) DEFINES + $(STLPORT_VERSIONS(4))/off : + _STLP_NO_OWN_IOSTREAMS=1 _STLP_HAS_NO_NEW_IOSTREAMS=1 ; +flags $(CURR_TOOLSET) STDLIBPATH + $(STLPORT_VERSIONS(4))/on : + [ join [ get-stlport-root ] $(SLASH)$(STLPORT_LIB_DIRECTORY) ] + $(.stdlibpath) ; +flags $(CURR_TOOLSET) FINDLIBS + $(STLPORT_VERSIONS(4))/on/debug/static : + $(STLPORT_LIB_BASE_NAME)$(STLPORT_LIB_DEBUG_SUFFIX)$(STLPORT_LIB_STATIC_SUFFIX) ; +flags $(CURR_TOOLSET) FINDLIBS + $(STLPORT_VERSIONS(4))/on/debug/dynamic : + $(STLPORT_LIB_BASE_NAME)$(STLPORT_LIB_DEBUG_SUFFIX) ; +flags $(CURR_TOOLSET) FINDLIBS + $(STLPORT_VERSIONS(4))/on/release/static : + $(STLPORT_LIB_BASE_NAME)$(STLPORT_LIB_STATIC_SUFFIX) ; +flags $(CURR_TOOLSET) FINDLIBS + $(STLPORT_VERSIONS(4))/on/release/dynamic : + $(STLPORT_LIB_BASE_NAME) ; + +### STLport 5.x + +switch $(CURR_TOOLSET) +{ + case msvc* : STLPORT_AUTOLINK = TRUE ; + case vc* : STLPORT_AUTOLINK = TRUE ; +} + +switch $(CURR_TOOLSET) +{ + case intel-win32* : STLPORT_CROSS_DIR ?= icl ; + case iw* : STLPORT_CROSS_DIR ?= icl ; + case msvc* : STLPORT_CROSS_DIR ?= vc6 ; + case vc-6* : STLPORT_CROSS_DIR ?= vc6 ; + case vc-7-* : STLPORT_CROSS_DIR ?= vc70 ; + case vc-7_0* : STLPORT_CROSS_DIR ?= vc70 ; + case vc-7_1* : STLPORT_CROSS_DIR ?= vc71 ; + case vc-8* : STLPORT_CROSS_DIR ?= vc8 ; +} + +switch $(CURR_TOOLSET) +{ + # GCC compilers have 'g' to indicate debug. + case gcc* : STLPORT_DEBUG_SUFFIX ?= g ; + case mingw* : STLPORT_DEBUG_SUFFIX ?= g ; + case darwin* : STLPORT_DEBUG_SUFFIX ?= g ; + # The others use 'd'. + case * : STLPORT_DEBUG_SUFFIX ?= d ; +} + +# STLport-5 doesn't directly support single-threaded builds. There is an open +# question if single-threaded application code can be combined with the +# multi-threaded STLport-5. Until that's answered this is commented out and +# boost-base.jam requires all builds to be multi-threaded. +#~ flags $(CURR_TOOLSET) DEFINES + #~ $(STLPORT_VERSIONS(5)) : + #~ _STLP_THREADS=1 ; + +flags $(CURR_TOOLSET) STDLIBPATH + $(STLPORT_VERSIONS(5))/off : + [ join [ get-stlport-root ] $(SLASH)$(STLPORT_LIB_DIRECTORY) ] + [ join [ get-stlport-root ] $(SLASH)$(STLPORT_BIN_DIRECTORY) ] + $(.stdlibpath) ; +flags $(CURR_TOOLSET) STDLIBPATH + $(STLPORT_VERSIONS(5))/on : + [ join [ get-stlport-root ] $(SLASH)$(STLPORT_LIB_DIRECTORY) $(SLASH)$(STLPORT_CROSS_DIR) ] + [ join [ get-stlport-root ] $(SLASH)$(STLPORT_BIN_DIRECTORY) $(SLASH)$(STLPORT_CROSS_DIR) ] + $(.stdlibpath) ; + +if ! $(STLPORT_AUTOLINK) +{ + STLPORT_LIB_STATIC_SUFFIX ?= "" ; + for local v in $(STLPORT_VERSIONS(5)) + { + flags $(CURR_TOOLSET) FINDLIBS + $(v)/debug/static : + stlportstl$(STLPORT_DEBUG_SUFFIX)$(STLPORT_LIB_STATIC_SUFFIX).$(v) ; + flags $(CURR_TOOLSET) FINDLIBS + $(v)/debug/dynamic : + stlportstl$(STLPORT_DEBUG_SUFFIX).$(v) ; + flags $(CURR_TOOLSET) FINDLIBS + $(v)/release/static : + stlport$(STLPORT_LIB_STATIC_SUFFIX).$(v) ; + flags $(CURR_TOOLSET) FINDLIBS + $(v)/release/dynamic : + stlport.$(v) ; + } +} diff --git a/v1/vc-7_1-stlport-tools.html b/v1/vc-7_1-stlport-tools.html index 6f7b61ca6..4ab2c1e3f 100644 --- a/v1/vc-7_1-stlport-tools.html +++ b/v1/vc-7_1-stlport-tools.html @@ -3,8 +3,6 @@ Boost.Build - vc-7_1-stlport toolset - @@ -31,94 +29,24 @@

Introduction

-

Boost.Build's vc-7_1-stlport toolset supports the - Microsoft Visual C++ .NET - 2003 command-line tools, using the STLport standard library implementation on - Microsoft Windows. It is designed to allow you to build and test with - multiple installed versions of STLPort, so that objects build in each - configuration will be built into separate directories.

+

Boost.Build's vc-7_1-stlport + toolset supports the Microsoft Visual C++ .NET 2003 command-line + tools, using the STLport standard + library implementation on Microsoft Windows. It is designed to allow you to + build and test with multiple installed versions of STLPort, so that objects + build in each configuration will be built into separate directories.

-

Configuration - Variables

The vc-7_1-stlport toolset responds to the - following variables, which can be set in the environment or configured on - the jam command-line using - -sVARIABLE_NAME=value. It is an extension of the - msvc-stlport toolset and therefore - responds to all of the MSVC configuration variables in addition to - those listed below. - -

In the table below, version corresponds to an STLPort version - number, e.g. "4.5.3".

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Variable NameSemanticsDefaultNotes
STLPORT_PATHA directory containing at least one subdirectory of the form - /STLPort-version where an STLPort installation can - be found.emptyAllows easy configuration for an installation where several STLPort - versions are installed under a single directory.
STLPORT_version_PATHThe directory where the specific STLPort version - installation can be found, in case there is no central location - appropriate for STLPORT_PATH, above, or a particular - version's installation is not located in the usual place.emptyAllows configuration of a specific STLPort installation.
STLPORT_VERSIONThe version of STLPort in use by default.4.6Other values can be selected in parallel setting the build property - <stlport-version> to values from the list of - $(STLPORT_VERSIONS)
STLPORT_VERSIONSA space-separated list of alternate versions of STLport available - on this machine.4.6 4.5 4.0
+

In addition to what this toolset provides, configuration and extended + functionality is available through the common stlport library support.

Toolset-Specific Features

+

The following vc-7_1-stlport-specific features can be used in target build requirements or in the BUILD variable: -

+ "build_system.htm#initiating">BUILD variable:

@@ -143,40 +71,13 @@ Turning this on may result in unresolved externals from STLPort, unless you rebuild STLPort with /Zc:wchar_t. - - - - - - - - - - - - - - - - - - - -
stlport-version$(STLPORT_VERSION) $(STLPORT_VERSIONS) (see - above)$(STLPORT_VERSION)Selects a version of STLPort for each target
stlport-cstd-namespacestd globalstdControls whether or not names from the "C" library headers such as - <cstdlib> are imported into namespace std.

-

Revised   - - 10 Oct 2004  -

+

Revised $Date$

-

- Copyright © Dave Abrahams 2002.
- Copyright © John Maddock 2003. -

+

Copyright © Dave Abrahams 2002, John Maddock 2003, Rene Rivera + 2005.

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or diff --git a/v1/vc7-stlport-tools.html b/v1/vc7-stlport-tools.html index 7b1fccf92..fd707522a 100644 --- a/v1/vc7-stlport-tools.html +++ b/v1/vc7-stlport-tools.html @@ -3,8 +3,6 @@ Boost.Build - msvc-stlport toolset - @@ -40,78 +38,9 @@ that objects build in each configuration will be built into separate directories.

-

Configuration - Variables

The vc7-stlport toolset responds to the - following variables, which can be set in the environment or configured on - the jam command-line using - -sVARIABLE_NAME=value. It is an extension of the - msvc-stlport toolset and therefore - responds to all of the MSVC configuration variables in addition to - those listed below. - -

In the table below, version corresponds to an STLPort version - number, e.g. "4.5.3".

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Variable NameSemanticsDefaultNotes
STLPORT_PATHA directory containing at least one subdirectory of the form - /STLPort-version where an STLPort installation can - be found.emptyAllows easy configuration for an installation where several STLPort - versions are installed under a single directory.
STLPORT_version_PATHThe directory where the specific STLPort version - installation can be found, in case there is no central location - appropriate for STLPORT_PATH, above, or a particular - version's installation is not located in the usual place.emptyAllows configuration of a specific STLPort installation.
STLPORT_VERSIONThe version of STLPort in use by default.4.6Other values can be selected in parallel setting the build property - <stlport-version> to values from the list of - $(STLPORT_VERSIONS)
STLPORT_VERSIONSA space-separated list of alternate versions of STLport available - on this machine.4.6 4.5 4.0
+

In addition to what this toolset provides, configuration and extended + functionality is available through the common stlport library support.

Toolset-Specific Features

The following vc7 -stlport-specific - - - stlport-version - - $(STLPORT_VERSION) $(STLPORT_VERSIONS) (see - above) - - $(STLPORT_VERSION) - - Selects a version of STLPort for each target - - - - stlport-cstd-namespace - - std global - - std - - Controls whether or not names from the "C" library headers such as - <cstdlib> are imported into namespace std. -
-

Revised   - - 24 Dec 2003  -

+

Revised $Date$

-

Copyright © Dave Abrahams 2002.

- -

Copyright © John Maddock 2003.

+

Copyright © Dave Abrahams 2002, John Maddock 2003, Rene Rivera + 2005.

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or