Dear Wiki user, You have subscribed to a wiki page or wiki category on "Stdcxx Wiki" for change notification.
The "Boost" page has been changed by miong. The comment on this change is: Bot. http://wiki.apache.org/stdcxx/Boost?action=diff&rev1=7&rev2=8 -------------------------------------------------- + #!/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) +