Dear wiki user, You have subscribed to a wiki page "Stdcxx Wiki" for change notification.
The page Boost has been reverted to revision 7 by farid. http://wiki.apache.org/stdcxx/Boost?action=diff&rev1=8&rev2=9 -------------------------------------------------- - #!/usr/bin/python + 1. Download the stdcxx source in some directory $(TOPDIR): + {{{ + cd /usr/src + svn co http://svn.apache.org/repos/asf/stdcxx/branches/4.2.x stdcxx + }}} + 2. Build stdcxx (11s, 11d, 15s, 15d build types). The $(BUILDDIR) should be $(BUILD_ROOT)/$(compiler)-$(compiler-ver)/$(buildtype), where $(compiler) is one of gcc, icc, sun. - # Copyright Redshift Software, Inc. 2007 - # - # Distributed under the Boost Software License, Version 1.0. - # (See accompanying file LICENSE_1_0.txt or copy at - # http://www.boost.org/LICENSE_1_0.txt) + I.e. for gcc 4.2.1, BUILD_ROOT=/usr/tmp/stdcxx: + {{{ + cd /usr/src/stdcxx + gmake builddir BUILDDIR=/usr/tmp/stdcxx/gcc-4.2.1/11s BUILDTYPE=11s CONFIG=gcc.config + gmake builddir BUILDDIR=/usr/tmp/stdcxx/gcc-4.2.1/11d BUILDTYPE=11d CONFIG=gcc.config + gmake builddir BUILDDIR=/usr/tmp/stdcxx/gcc-4.2.1/15s BUILDTYPE=15s CONFIG=gcc.config + gmake builddir BUILDDIR=/usr/tmp/stdcxx/gcc-4.2.1/15d BUILDTYPE=15d CONFIG=gcc.config + cd /usr/tmp/stdcxx/gcc-4.2.1/11s/include + gmake + cd ../lib + gmake + cd /usr/tmp/stdcxx/gcc-4.2.1/11d/include + gmake + cd ../lib + gmake + cd /usr/tmp/stdcxx/gcc-4.2.1/15s/include + gmake + cd ../lib + gmake + cd /usr/tmp/stdcxx/gcc-4.2.1/15d/include + gmake + cd ../lib + gmake + }}} + 3. Download [[http://svn.boost.org/svn/boost/trunk/tools/regression/src/run.py|run.py]] in some directory $(BOOST_TEST_ROOT) + {{{ + mkdir /usr/src/boost_test + cd /usr/src/boost_test + wget http://svn.boost.org/svn/boost/trunk/tools/regression/src/run.py + }}} + 4. Extract in $(BOOST_TEST_ROOT) the [[http://people.apache.org/~faridz/boost_test.zip|boost_test.zip]] + {{{ + wget http://people.apache.org/~faridz/boost_test.zip + unzip boost_test.zip + }}} + 5. Create $(compiler)-$(compiler-ver).patch file (from this step for intel compiler the $(compiler)=intel, but not icc), copying from one of gcc-4.2.1.patch, intel-10.1.patch, sun-5.9.patch and updating if needed: + * the compiler version in line "+using $(compiler) : $(compiler_ver)_stdcxx_421 ;" + * the stdcxx paths in line "+using stdcxx : 4.2.1 : $(TOPDIR) $(BUILD_ROOT) ;" + 6. Update runtests.sh changing the --runner= option to personal runner id. - import os - import os.path - import shutil - import sys - import urllib + 7. Run tests for specified compiler ./runtests.sh $(compiler)-$(compiler-ver) + {{{ + ./runtests.sh gcc-4.2.1 + }}} - #~ Using --skip-script-download is useful to avoid repeated downloading of - #~ the regression scripts when doing the regression commands individually. - no_update_argument = "--skip-script-download" - no_update = no_update_argument in sys.argv - if no_update: - del sys.argv[sys.argv.index(no_update_argument)] - #~ The directory this file is in. - root = os.path.abspath(os.path.dirname(os.path.realpath(__file__))) - print '# Running regressions in %s...' % root - - script_sources = [ 'collect_and_upload_logs.py', 'process_jam_log.py', 'regression.py' ] - script_local = os.path.join(root,'tools','regression','src') - script_remote = 'http://svn.boost.org/svn/boost/trunk/tools/regression/src' - script_dir = os.path.join(root,'tools_regression_src') - - if not no_update: - #~ Bootstrap. - #~ * Clear out any old versions of the scripts - print '# Creating regression scripts at %s...' % script_dir - if os.path.exists(script_dir): - shutil.rmtree(script_dir) - os.mkdir(script_dir) - #~ * Get new scripts, either from local working copy, or from svn - if os.path.exists(script_local): - print '# Copying regression scripts from %s...' % script_local - for src in script_sources: - shutil.copyfile( os.path.join(script_local,src), os.path.join(script_dir,src) ) - else: - print '# Dowloading regression scripts from %s...' % script_remote - proxy = None - for a in sys.argv[1:]: - if a.startswith('--proxy='): - proxy = {'http' : a.split('=')[1] } - print '--- %s' %(proxy['http']) - break - for src in script_sources: - urllib.FancyURLopener(proxy).retrieve( - '%s/%s' % (script_remote,src), os.path.join(script_dir,src) ) - - #~ * Make the scripts available to Python - sys.path.insert(0,os.path.join(root,'tools_regression_src')) - - #~ Launch runner. - from regression import runner - runner(root) -