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)
+ 

Reply via email to