diff --git a/ACore/Jamfile.jam b/ACore/Jamfile.jam deleted file mode 100755 index 7f4e746de..000000000 --- a/ACore/Jamfile.jam +++ /dev/null @@ -1,47 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# -# Core project. define project so that this project can be referenced -# from other projects -# -project theCore ; - -# The means we will automatically add this directory to the include path -# of any other target that uses this lib. -# -# does not mean dependency, it simply used to control the link order -# in our case, we want all the boost libraries to appears after the core library -# on the link line. -# -lib core : [ glob src/*.cpp ] - : static - debug:DEBUG - /site-config//boost_filesystem - /site-config//boost_test - /site-config//boost_datetime - /site-config//boost_program_options - : cereal/include - ../cereal/include - : ../ACore/src - ../cereal/include - ; - -# -# boost_datetime is only required for formatting. i.e to call to_simple_string -# cerr << to_simple_string(calendar.suiteTime()) << "\n"; -# -exe u_acore : [ glob test/*.cpp ] - core - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_chrono - /site-config//boost_test - : debug:DEBUG - shared:BOOST_TEST_DYN_LINK - ; diff --git a/ANattr/jamfile.jam b/ANattr/jamfile.jam deleted file mode 100644 index 3a483426e..000000000 --- a/ANattr/jamfile.jam +++ /dev/null @@ -1,46 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# -# Node attribute project -# -project theNodeAttr ; - -use-project theCore : ../ACore ; - -# The means we will automatically add this directory to the include path -# of any other target that uses this lib -# -lib nodeattr : [ glob src/*.cpp ] - : static - debug:DEBUG - /theCore//core - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_chrono - /site-config//boost_test - : - : ../ANattr/src - ; - -# -# boost_datetime is only required for formatting. i.e to call to_simple_string -# cerr << to_simple_string(calendar.suiteTime()) << "\n"; -# -exe u_anattr : [ glob test/*.cpp ] - /theCore//core - nodeattr - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_chrono - /site-config//boost_test - #/site-config//boost_system - : debug:DEBUG - shared:BOOST_TEST_DYN_LINK - ; \ No newline at end of file diff --git a/ANode/jamfile.jam b/ANode/jamfile.jam deleted file mode 100644 index 3f8b7f991..000000000 --- a/ANode/jamfile.jam +++ /dev/null @@ -1,79 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# -# Node project -# -project theNode ; - -use-project theCore : ../ACore ; -use-project theNodeAttr : ../ANattr ; - - -# The means we will automatically add this directory to the include path -# of any other target that uses this lib -# -lib node : [ glob src/*.cpp parser/src/*.cpp ] - : static - ../ANode/src - ../ANode/parser/src - debug:DEBUG - /theCore//core - /theNodeAttr//nodeattr - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_test - : - : ../ANode/src - ../ANode/parser/src - ; - -exe u_anode : [ glob test/*.cpp : test/TestSingleExprParse.cpp - test/TestSystemStandalone.cpp ] - /theCore//core - /theNodeAttr//nodeattr - node - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_chrono - /site-config//boost_test - #/site-config//boost_system - : debug:DEBUG - shared:BOOST_TEST_DYN_LINK - ; - - -exe u_anode_stest : test/TestSingleExprParse.cpp - /theCore//core - /theNodeAttr//nodeattr - node - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_chrono - /site-config//boost_test - #/site-config//boost_system - : debug:DEBUG - shared:BOOST_TEST_DYN_LINK - ; - -exe u_test_system : test/TestSystemStandalone.cpp - /theCore//core - /theNodeAttr//nodeattr - node - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_chrono - /site-config//boost_test - #/site-config//boost_system - : debug:DEBUG - shared:BOOST_TEST_DYN_LINK - ; - -build-project parser ; \ No newline at end of file diff --git a/ANode/parser/Jamfile.jam b/ANode/parser/Jamfile.jam deleted file mode 100644 index b90f0c674..000000000 --- a/ANode/parser/Jamfile.jam +++ /dev/null @@ -1,91 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# -# Parser -# -project theParser ; - -use-project theCore : ../../ACore ; -use-project theNodeAttr : ../../ANattr ; -use-project theNode : ../ ; - -# -# Tests for parser. Exclude file test/TestSingleDefsFile.cpp, test/ParseOnly.cpp test/ParseTimer.cpp -# test/TestJobGenPerf.cpp -# -exe u_aparser : [ glob test/*.cpp : - test/TestSingleDefsFile.cpp - test/ParseOnly.cpp test/ParseTimer.cpp - test/TestJobGenPerf.cpp - ] - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_chrono - /site-config//boost_test - #/site-config//boost_system - : ../test # ANode/test - debug:DEBUG - shared:BOOST_TEST_DYN_LINK - ; - -# -# Tests parser for a single defs file. -# -exe perf_aparser : test/TestSingleDefsFile.cpp test/PersistHelper.cpp - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_chrono - /site-config//boost_test - #/site-config//boost_system - : ../test # ANode/test - debug:DEBUG - shared:BOOST_TEST_DYN_LINK - ; - -# -# Timer for arbitary defs file, -# -exe perf_aparser_timer : test/ParseTimer.cpp test/PersistHelper.cpp - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_chrono - #/site-config//boost_system - : ../test # ANode/test - debug:DEBUG - shared:BOOST_TEST_DYN_LINK - ; - -# -# Tests parser for a single defs file. -# -exe perf_aparser_only : test/ParseOnly.cpp - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_chrono - #/site-config//boost_system - : ../test # ANode/test - debug:DEBUG - shared:BOOST_TEST_DYN_LINK - ; - \ No newline at end of file diff --git a/Base/Jamfile.jam b/Base/Jamfile.jam deleted file mode 100644 index 466fe5478..000000000 --- a/Base/Jamfile.jam +++ /dev/null @@ -1,82 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# -# Base project -# -project theBase ; - -use-project theCore : ../ACore ; -use-project theNodeAttr : ../ANattr ; -use-project theNode : ../ANode ; - -# The means we will automatically add this directory to the include path -# of any other target that uses this lib -# -lib base : [ glob src/*.cpp ] [ glob src/cts/*.cpp ] [ glob src/stc/*.cpp ] - : ../ACore/src - ../ANattr/src - ../ANode/src - ../Base/src - ../Base/src/cts - ../Base/src/stc - static - debug:DEBUG - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_program_options - /site-config//boost_test - : - : ../Base/src - ../Base/src/cts - ../Base/src/stc - ; - -# -# This should be in the site-config.jam file as a project wide requirement -# however if this is done, it will not link since, lpthread appears twice -# on the link line -# -lib pthread : : shared ; - -exe u_base : [ glob test/*.cpp : test/TestJobGenPerf.cpp ] - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - base - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_program_options - /site-config//boost_timer - /site-config//boost_chrono - /site-config//boost_test - #/site-config//boost_system - pthread - : ../ANode/test - /site-config//openssl_libs - debug:DEBUG - shared:BOOST_TEST_DYN_LINK - ; - -# -# Tests job generation performance, relies on python (Pyext/samples/TestJobGenPerf.py) to setup data -# -exe perf_job_gen : test/TestJobGenPerf.cpp - pthread - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - base - /site-config//boost_filesystem - /site-config//boost_datetime - #/site-config//boost_system - : ../ANode/test - debug:DEBUG - ; \ No newline at end of file diff --git a/CSim/jamfile.jam b/CSim/jamfile.jam deleted file mode 100644 index 5aa865974..000000000 --- a/CSim/jamfile.jam +++ /dev/null @@ -1,83 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# -# Simulator. Standalone exe that can: -# 1/ Check structure of the definition file -# 2/ Simulate the definition -# allow checking for dead locks, etc -project theSimulator ; - -# -# IMPORTANT: Simulator *MUST* not link with server or any of its source code -# -use-project theCore : ../ACore ; -use-project theNodeAttr : ../ANattr ; -use-project theNode : ../ANode ; -use-project theBase : ../Base ; - -# -# Split into library, so that testing can use library, and hence same compiler option -# -# The means we will automatically add this directory to the include path -# of any other target that uses this lib -# -lib libsimu : [ glob src/*.cpp ] - : ../ACore/src - ../ANattr/src - ../ANode/src - ../Base/src - debug:DEBUG - static - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /theBase//base - /site-config//boost_filesystem - /site-config//boost_program_options - /site-config//boost_datetime - : - : ../CSim/src - ; - -# -# Test for simulator -# IMPORTANT: server *MUST* not link with client or include any of the client code -# -exe c_csim : [ glob test/*.cpp : test/TestSingleSimulator.cpp ] - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /theBase//base - libsimu - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_program_options - /site-config//boost_test - #/site-config//boost_system - : debug:DEBUG - shared:BOOST_TEST_DYN_LINK - ; - -# -# Test for single simulator. Use for developing the tests -# IMPORTANT: server *MUST* not link with client or include any of the client code -# -exe c_csim_single : [ glob test/TestSingleSimulator.cpp test/TestUtil.cpp ] - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /theBase//base - libsimu - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_program_options - /site-config//boost_test - #/site-config//boost_system - : debug:DEBUG - shared:BOOST_TEST_DYN_LINK - ; diff --git a/Client/Jamfile.jam b/Client/Jamfile.jam deleted file mode 100644 index f8996ec85..000000000 --- a/Client/Jamfile.jam +++ /dev/null @@ -1,137 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# -# Client -# -project theClient ; - -use-project theCore : ../ACore ; -use-project theNodeAttr : ../ANattr ; -use-project theNode : ../ANode ; -use-project theBase : ../Base ; - -# -# This should be in the site-config.jam file as a project wide requirement -# however if this is done, it will not link since, lpthread appears twice -# on the link line -# -lib pthread : : shared ; - -# -# define DEBUG_CLIENT for additional debug -# -# Having a library avoid compile objects shared between client and test having -# differing compilation properties -# -# Exclude ClientMain.cpp from the library. -# -# The means we will automatically add this directory to the include path -# of any other target that uses this lib -# -lib libclient : [ glob src/*.cpp : src/*Main.cpp ] - : ../ACore/src - ../ANattr/src - ../ANode/src - ../Base/src - ../Client/src - debug:DEBUG - static - /theCore//core - /theNode//node - /theBase//base - /site-config//boost_filesystem - /site-config//boost_program_options - /site-config//boost_datetime - : - : ../Client/src - ; - -# -# client. This Just pulls in src/ClientMain.cpp -# -exe ecflow_client : [ glob src/*Main.cpp ] - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /theBase//base - libclient - /site-config//boost_filesystem - /site-config//boost_program_options - /site-config//boost_datetime - #/site-config//boost_system - pthread - : debug:DEBUG - /site-config//openssl_libs - ; - -# -# Tests for client. All test source code, by pulling in libclient we avoid -# linking with ClientMain.cpp -# -exe s_client : [ glob test/*.cpp : test/TestSinglePerf.cpp test/TestMigration.cpp ] - pthread - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /theBase//base - libclient - /site-config//boost_filesystem - /site-config//boost_program_options - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_test - #/site-config//boost_system - /site-config//boost_chrono - : ../ANode/test - ../Base/test - debug:DEBUG - shared:BOOST_TEST_DYN_LINK - /site-config//openssl_libs - ; - -exe perf_test_large_defs : [ glob test/TestSinglePerf.cpp ] [ glob test/SCPort.cpp ] - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /theBase//base - libclient - pthread - /site-config//boost_filesystem - /site-config//boost_program_options - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_test - #/site-config//boost_system - /site-config//boost_chrono - : ../ANode/test - ../Base/test - debug:DEBUG - shared:BOOST_TEST_DYN_LINK - /site-config//openssl_libs - ; - -exe m_test_migration : [ glob test/TestMigration.cpp ] [ glob test/SCPort.cpp ] - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /theBase//base - libclient - pthread - /site-config//boost_filesystem - /site-config//boost_program_options - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_test - #/site-config//boost_system - /site-config//boost_chrono - : ../ANode/test - ../Base/test - debug:DEBUG - shared:BOOST_TEST_DYN_LINK - /site-config//openssl_libs - ; diff --git a/Jamroot.jam b/Jamroot.jam deleted file mode 100644 index cddcbdcff..000000000 --- a/Jamroot.jam +++ /dev/null @@ -1,137 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction -# -# export BOOST_ROOT=... -# alias b8r='$BOOST_ROOT/bjam c++-template-depth=512 cxxflags="-Wno-unused-local-typedefs -Wno-unused-variable" -j8 -q release' - -# ====================================================================== - -project ecflow_top : requirements ECF_OPENSSL - ; - -# =============================================================================== -# To clean all the sub projects just use: bjam --clean -# -path-constant TOP : . ; # After that, the TOP variable can be used in every Jamfile. - -build-project ACore ; -build-project ANattr ; -build-project ANode ; -build-project Base ; -build-project Client ; -build-project CSim ; -build-project Server ; -build-project Test ; - -# The gui is not built on HPUX and IBM(power6) platforms -import os ; -ARCH = [ os.environ ARCH ] ; -ARCH default = UNDEF ; # if arch not defined set as UNDEF, otherwise if $(ARCH) will be true - -# Some user do no want python: They must define ECF_NO_PYTHON -NO_PYTHON = [ os.environ ECF_NO_PYTHON ] ; -#echo "NO_PYTHON = $(NO_PYTHON)" ; -if ! $(NO_PYTHON) { - # echo "building python" ; - build-project Pyext ; -} - -# ==================== INSTALL ========================================================== - -local dest_dir = [ os.environ ECFLOW_DESTDIR ] ; -dest_dir default = "" ; -constant ECFLOW_DESTDIR : $(dest_dir) ; - -local ECFLOW_VERSION = [ SHELL "cd $(TOP); ./version.sh" ] ; -#echo "ECFLOW_VERSION = '$(ECFLOW_VERSION)'" ; - -local install_dir = [ os.environ ECFLOW_INSTALL_DIR ] ; -if $(install_dir) { - #echo "ECFLOW_INSTALL_DIR = '$(install_dir)'" ; - install_dir = "$(install_dir)/ecflow/$(ECFLOW_VERSION)" ; - #echo "ECFLOW_INSTALL_DIR = '$(install_dir)'" ; -} - -install_dir default = "$(ECFLOW_INSTALL_PREFIX)/ecflow/$(ECFLOW_VERSION)" ; # ECFLOW_INSTALL_PREFIX is defined in site-config.jam -constant ECFLOW_INSTALL_DIR : $(install_dir) ; - -echo "ECFLOW_INSTALL_DIR = '$(ECFLOW_INSTALL_DIR)'" ; -#echo "ECFLOW_DESTDIR = '$(ECFLOW_DESTDIR)'" ; - -# ** NO LONGER used ** -# Allow the installation directory be be defined externally, by the environment variable ECFLOW_INSTALL_DIR -# -# However we want this to be explicit, as we dont need it on a day to day basis. -# Usage: -# bjam install variant=release -# -# to install the debug version -# bjam install | bjam install variant=debug -# -# To preview the installation witout actaully doing it: -# bjam install variant=release -d2 -n -# -# Note: if you find that the install has started to create directories -# of name install-server,install-client,,install-py -# Then *ensure* you have set the environment variables ECFLOW_INSTALL_DIR, -# -# Note: Not all system have XLib, hence install ecFlowview manually by using: -# bjam -d2 install-viewer -# - -# Some linux RPM have requirements that 64 bit libs must be under lib64 -# See http://software.ecmwf.int/issues/browse/ECFLOW-30, 64-bit Linux platforms expect libraries to go to the $PREFIX/lib64 directory, not $PREFIX/lib -# -install install-server - : Server//ecflow_server - : $(ECFLOW_DESTDIR)/$(ECFLOW_INSTALL_DIR)/bin - ; - -install install-client - : Client//ecflow_client - : $(ECFLOW_DESTDIR)/$(ECFLOW_INSTALL_DIR)/bin - ; - -install install-tools - : [ glob tools/*.sh ] - [ glob tools/*.pl ] - : $(ECFLOW_DESTDIR)/$(ECFLOW_INSTALL_DIR)/bin - ; - -install install-doc - : [ glob Doc/user-manual/client_*.docx ] - : $(ECFLOW_DESTDIR)/$(ECFLOW_INSTALL_DIR)/doc/ecflow - ; - -# =============================================================================================== - -# Use this for a non-python install -alias install-base : - install-server - install-client - install-tools - install-doc - ; - -alias install : - install-base - Pyext//install - ; - -alias install-all : - install - ; - -# make install explicit, otherwise we end installing for all calls to bjam -explicit install-server ; -explicit install-client ; -explicit install-tools ; -explicit install-doc ; -explicit install ; -explicit install-base ; -explicit install-all ; -explicit install-all64 ; diff --git a/Pyext/doc/jamfile.jam b/Pyext/doc/jamfile.jam deleted file mode 100644 index 9d8a87a0a..000000000 --- a/Pyext/doc/jamfile.jam +++ /dev/null @@ -1,295 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# ============================================================================= -# This jam file, allows for creation of ecflow python extension module, where -# we have a SHARED link to boost python, additionally boost python is -# installed, and a rpath is set to it. -# =============================================================================== - -# =============================================================================== -# Error to watch out for: -# error: No best alternative for /python_for_extensions -# next alternative: required properties: 2.7 linux -# matched -# next alternative: required properties: 2.7 linux -# matched -# -# Please check if you have more than one 'using python' in configuration files. -# Please check site-config.jam, user-config.jam and project-config.jam and -# remove duplicated 'using python' -# =============================================================================== - -# -# jamfile for installing, building exposing c++ library to python. -# and for testing embedded python -# -# Use of should force a relink. But this *ONLY* works for executables -# and *NOT* shared libraries. The HACKY work around is use when -# building the extension. Hence this requires that ECFLOW_INSTALL_DIR -# is correctly set during build time. Yuk. -# -project thePyext ; - -use-project theCore : ../ACore ; -use-project theNodeAttr : ../ANattr ; -use-project theNode : ../ANode ; -use-project theBase : ../Base ; -use-project theClient : ../Client ; -use-project theSimulator : ../CSim ; - -# Make the definition of the python-extension rule available -# Somehow this bjam causes boost python libs to be built under $BOOST_ROOT/bin.v2 -# How can I get it to use boost python that was built with all the other boost libs ??? -import python ; - -if ! [ python.configured ] -{ - # ECHO "notice: no Python configured in user-config.jam" ; - # ECHO "notice: will use default configuration" ; - # We will typically place this in user-congig/site-config.jam - #using python - # : # version - # : # cmd-or-prefix - # : # includes - # : # libraries - # : # condition - # ; - using python ; -} - -# Specify the path to the Boost project. If you move this project, -# adjust this path to refer to the Boost root directory. -import os ; -local BOOST_ROOT = [ os.environ BOOST_ROOT ] ; -use-project boost - : $(BOOST_ROOT) ; - - -# ===================== project settings ================================= -# Set up the project-wide requirements that everything uses the -# boost_python library from the project whose global ID is /boost/python. -# -# AIX: need to add additional include for pyconfig.hpp since we have -# one for python32 and another one for python64. -# (Typically there is only _one_ in the python includes dir) -# *** This should have been added to site-config.jam file ** -# -# AIX: we get TOC overflow, because compiler/linker has 64k limit on -# the number of global symbols. Options are use: -# 0/ Break up shared lib -# 1/ -bbigtoc to overcome at the cost of performance degradation -# 2/ --qipa=level=0 if this fails try -# 3/ --qipa=level=1 if this fails try -# 4/ --qipa=level=2 if this fails, revert to -bbigtoc -# Currently option 2-4 didn't work! -# *** This should have been added to site-config.jam file ** -# prevously we had: : requirements vacpp:-bbigtoc -# -# If we use: -# : requirements /boost/python//boost_python -# THEN we will depend on $BOOST_ROOT/bin.v2/... -# This will be automatically compiled if it does not exist -# : requirements /site-config//boost_python -# THEN use the boost python in $BOOST_ROOT/stage/lib/ -# This is also expects we have defined boost_python in site-config.jam/user-config.jam -# -project -# : requirements /boost/python//boost_python - : requirements /site-config//boost_python - ; - -# ======================== libs ============================================ -# HPUX: ADD standard libs. They don't get added by default ? -# Also on HPUX the shared libs appears reversed, and don't appear -# in the order specified weird ? -# Notice the use of to add additional library on the link line -# but only for HPUX/acc toolset -# : It appears the pthread lib is automatically added. i.e >lib pthread ; -# -# Note: vacpp:-bbigtoc was required for -# ecgate(rs6000) ONLY and not c1b(ibm_power6) - -lib std_v2 ; -lib stream ; -lib Csup ; -lib unwind ; -lib m ; -alias hpux_std_libs : std_v2 stream Csup unwind m ; - -# ======================================================================== -# Extension: Declare a Python extension called ecflow. -# ======================================================================== -python-extension ecflow : [ glob src/*.cpp ] - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /theBase//base - /theClient//libclient - /theSimulator//libsimu - /site-config//boost_filesystem - /site-config//boost_program_options - /site-config//boost_datetime - : debug:DEBUG - acc:hpux_std_libs - acc:-L$(ECFLOW_PYTHON_INSTALL_DIR) - vacpp:-L$(ECFLOW_PYTHON_INSTALL_DIR) - vacpp:-bbigtoc - $(ECFLOW_PYTHON_INSTALL_DIR) - ; - -# ======================================================================== -# Documentation: -# ======================================================================== -# Place the shared library 'ecflow' into the ecflow/ directory. -# - *REQUIRED* for sphinx-build. Documentation generation See Doc/online/conf.py -# We use this as first place to look for c++ extension -# - avoids hard wired dependency on compiler path -# - Picks up latest changes -install ecflow/ : ecflow ; - - -# ======================================================================== -# INSTALLATION: -# ======================================================================== -# specify the path which will be used at runtime to search for dynamic libraries -# it is like using rpath, i.e. to hard code a directory, when doing a runtime search for a library -# $(ECFLOW_PYTHON_INSTALL_DIR), is used, to dynamically load boost-python shared library -# Requested by User Support, to avoid having user add LD_LIBRARY_PATH to their environment -# -# *HOWEVER* this does not work at install time, and must be done at link time. See below -# -# The tests(run-test) *BELOW* specify LD_LIBRARY_PATH and hence override -# -# Linux: ldd -# If the embedded object is not accessible, it just shows "=>not found" -# In our case the boost python shared lib may not exist until added at install time. -# *** Hence ldd can be very misleading *** -# *** Also if LD_LIBRARY_PATH is set *and* path exist, this will be shown & hence hide embedded paths *** -# -# objdump -p // detailed dump, *SHOWS* the embedded paths, and search order -# shared library dynamic path search: -# LD_LIBRARY_PATH enabled first -# embedded path enabled second -# -# HPUX: ldd -# chatr // detailed dump, *SHOWS* search path and embedded path -# shared library dynamic path search: -# LD_LIBRARY_PATH enabled first -# SHLIB_PATH enabled second -# embedded path enabled third -# -# AIX: ldd -# dump -H -# -# NOTE: -L$(ECFLOW_PYTHON_INSTALL_DIR) -# $(ECFLOW_PYTHON_INSTALL_DIR) -# is ONLY required during install. -# However install does not appear to force a relink. -# The bjam documentations suggests that is only required at install. -# But that does not work, since we don't appear to relink. It *ONLY* works with exe's and not shared libs -# As a result tried to use at link time, with mixed results: -# hardcode-dll-paths install link -# Linux: does not work, does not work works -# HPUX: works does not work does not work -# adding -L/path added, but get ignored by -L -# allready there on development path -# AIX: does not work does not work does not work -# -L/path however does -# Bjam documentation suggest hardcode-dll-paths has a default value of true, -# this however can only be seen on HPUX. Tried combination of: -# acc:false -# acc:-L$(ECFLOW_PYTHON_INSTALL_DIR) -# Again no effect: -# -# Tried using: bjam install-py dll-path=/var/tmp/ma0/ecflow/1.9.15/lib/python2.5/site-packages/ecflow -d2 -# This will ONLY work if the extension needs building, will not work for installing as emos -# as emos will not have permission to write into workspace first. -# -# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -# The hacky workaround is to use when building the extension. -# This requires that ECFLOW_INSTALL_DIR is correctly set, -# i.e during the build and NOT just install -# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -# - install __init__.py file. -# - This install is referenced in JamRoot.jam -install install-py1 - : [ glob ecflow/*.py ] - : $(ECFLOW_DESTDIR)/$(ECFLOW_PYTHON_INSTALL_DIR) - ; - -# - for install Left in, in case its fixed in the future. -# - This install is referenced in JamRoot.jam -install install-py - : ecflow - : on - PYTHON_EXTENSION - SHARED_LIB - $(ECFLOW_PYTHON_INSTALL_DIR) - $(ECFLOW_DESTDIR)$(ECFLOW_PYTHON_INSTALL_DIR) - ; - -# make install explicit, otherwise we end installing for all calls to bjam -explicit install-py1 ; -explicit install-py ; - - -# ======================================================================== -# TESTING: unit-tests and test for python fragments in online tutorial -# ======================================================================== -import testing ; - -# A little "rule" (function) to clean up the syntax of declaring tests -# of these extension modules. -local rule run-test ( test-name : sources + ) -{ - testing.make-test run-pyd : $(sources) : : $(test-name) ; -} - -# -# Declare test targets; -# Note cant run TestWith until all plarforms support with statement, i.e python 2.6 or greater -# -run-test TestClientApi : ecflow [ glob test/py_s_TestClientApi.py ] ; -run-test TestDefs : ecflow [ glob test/py_u_TestDefs.py ] ; -run-test TestError : ecflow [ glob test/py_u_TestError.py ] ; -run-test TestTraversal : ecflow [ glob test/py_u_TestTraversal.py ] ; -run-test TestDefsCheck : ecflow [ glob test/py_u_TestDefsCheck.py ] ; -run-test TestSimulator : ecflow [ glob test/py_u_TestSimulator.py ] ; -run-test TestAddDelete : ecflow [ glob test/py_u_TestAddDelete.py ] ; -run-test TestAddDeleteFunc : ecflow [ glob test/py_u_TestAddDeleteFunc.py ] ; -run-test TestAddNodeFunc : ecflow [ glob test/py_u_TestAddNodeFunc.py ] ; -run-test TestParent : ecflow [ glob test/py_u_TestParent.py ] ; -run-test TestUserManual : ecflow [ glob test/py_u_TestUserManual.py ] ; -run-test TestJobGeneration : ecflow [ glob test/py_u_TestJobGeneration.py ] ; -run-test TestGetAllTasks : ecflow [ glob test/py_u_TestGetAllTasks.py ] ; -run-test TestDerivable : ecflow [ glob test/py_u_TestDerivable.py ] ; -run-test TestWith : ecflow [ glob test/py_u_TestWith.py ] ; -run-test TestFind : ecflow [ glob test/py_u_TestFind.py ] ; -run-test TestMigrate : ecflow [ glob migrate/py_u_TestMigrate.py ] ; -run-test TestRepeatArithmetic : ecflow [ glob test/py_u_TestRepeatArithmetic.py ] ; -run-test TestGeneratedVariable : ecflow [ glob test/py_u_TestGeneratedVariable.py ] ; -run-test TestEcf : ecflow [ glob test/py_u_TestEcf.py ] ; - -# A target that runs all the tests. -# Note test_embed & test_embed_ecf commented out since we dont use this functionality -alias test-all - : TestUserManual TestJobGeneration TestClientApi TestDefs TestError TestTraversal TestDefsCheck - TestSimulator TestAddDelete TestAddDeleteFunc TestAddNodeFunc TestParent TestGetAllTasks TestDerivable - TestMigrate TestRepeatArithmetic TestWith TestFind TestGeneratedVariable TestEcf - # test_embed test_embed_ecf - ; - -# Only run tests when explicitly requested -explicit test-all - TestUserManual TestJobGeneration TestClientApi TestDefs TestError TestTraversal TestDefsCheck - TestSimulator TestAddDelete TestAddDeleteFunc TestAddNodeFunc TestParent TestGetAllTasks TestDerivable - TestMigrate TestRepeatArithmetic TestWith TestFind TestGeneratedVariable TestEcf - # test_embed test_embed_ecf - ; - \ No newline at end of file diff --git a/Pyext/jamfile.jam b/Pyext/jamfile.jam deleted file mode 100755 index f464ddbde..000000000 --- a/Pyext/jamfile.jam +++ /dev/null @@ -1,273 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -import os ; -local python_install_dir = [ os.environ ECFLOW_PYTHON_INSTALL_DIR ] ; - -# PYTHON3_VERSION is defined in site-config.jam -python_install_dir default = $(ECFLOW_INSTALL_DIR)/lib/python$(PYTHON3_VERSION)/site-packages/ecflow ; -ECF_PYTHON2 = [ os.environ ECF_PYTHON2 ] ; -echo "ECF_PYTHON2 = $(ECF_PYTHON2)" ; -if $(ECF_PYTHON2) { - python_install_dir default = $(ECFLOW_INSTALL_DIR)/lib/python2.7/site-packages/ecflow ; -} -constant ECFLOW_PYTHON_INSTALL_DIR : $(python_install_dir) ; -echo "ECFLOW_PYTHON_INSTALL_DIR = '$(ECFLOW_PYTHON_INSTALL_DIR)'" ; - -# ============================================================================= -# This jam file, allows for creation of ecflow python extension module, where -# we have a STATIC link to boost python -# =============================================================================== - -# =============================================================================== -# Error to watch out for: -# error: No best alternative for /python_for_extensions -# next alternative: required properties: 2.7 linux -# matched -# next alternative: required properties: 2.7 linux -# matched -# -# Note: ./bootstrap.sh will create a project-config.jam -# -# Please check if you have more than one 'using python' in configuration files. -# Please check site-config.jam, user-config.jam and project-config.jam and -# remove duplicated 'using python'. -# -# When installing BOOST-python libs, make sure to call module load python *FIRST* -# Otherwise it will pick the python specified in project-config.jam, which make not be correct -# -# ========================================================================================== -# PYTHON3: -# Build: -# 1/ module load python3, this update the $PATH -# 2/ ./bootstrap.sh --with-python=/usr/local/apps/python3/3.6.5-01/bin/python3 -# 3/ Need to manually edit $BOOST_ROOT/project-config.jam, make sure file '$BOOST_ROOT/project-config.jam' has: -# -# using python -# : 3.6 -# : /usr/local/apps/python3/3.6.5-01/bin/python3 # ***** If this is left as python3, includes get messed up, have mix of python2 & 3 -# : /usr/local/apps/python3/3.6.5-01/include/python3.6m # include directory || fatal error: pyconfig.h: No such file or directory -# ; -# ... -# option.set includedir : /usr/local/apps/python3/3.6.1-01/include/python3.6m ; # This might be required if include above does not work -# -# ***** cmd/prefix must be path to python3, otherwise compilation include files has a mixture of -# python 2.7 and 3.5, YUK, took ages to debug -# -# Check: -# To check the build make sure we don't have symbol pulled in from python2 libs -# cd $BOOST_ROOT/stage/lib -# nm -D *python* | grep PyClass_Type # PyClass_Type is a symbol *ONLY* used in python2.x -# nm -D /tmp/ma0/workspace/bdir/release/ecflow/Pyext/ecflow.so | grep PyClass_Type # check ecflow.so -# =============================================================================== - -# -# jamfile for installing, building exposing c++ library to python. -# and for testing embedded python -# -# Use of should force a relink. But this *ONLY* works for executables -# and *NOT* shared libraries. The HACKY work around is use when -# building the extension. Hence this requires that ECFLOW_INSTALL_DIR -# is correctly set during build time. Yuk. -# -# python3 add test and migrate directories to PYTHONPATH for testing -# - some tests require: -# test/ecflow_test_util.py -# migrate/ecflow_migrate.py -project : requirements "./test:./migrate" ; - -project thePyext ; - -use-project theCore : ../ACore ; -use-project theNodeAttr : ../ANattr ; -use-project theNode : ../ANode ; -use-project theBase : ../Base ; -use-project theClient : ../Client ; -use-project theSimulator : ../CSim ; - -# Make the definition of the python-extension rule available -import python ; - -if ! [ python.configured ] -{ - ECHO "notice: no Python configured in *user-config.jam*" ; - ECHO "notice: will use default configuration" ; - # We will typically place this in user-config || site-config.jam || $BOOST_ROOT/project-config.jam - #using python - # : # version - # : # cmd-or-prefix - # : # includes - # : # libraries - # : # condition - # ; - #using python ; - #using python : 3.6 : /usr/local/apps/python3/3.6.5-01/bin/python3 : /usr/local/apps/python3/3.6.5-01/include/python3.6m ; -} - -# Specify the path to the Boost project. If you move this project, -# adjust this path to refer to the Boost root directory. -import os ; -local BOOST_ROOT = [ os.environ BOOST_ROOT ] ; -use-project boost - : $(BOOST_ROOT) ; - -# ======================== libs ============================================ -# HPUX: ADD standard libs. They don't get added by default ? -# Also on HPUX the shared libs appears reversed, and don't appear -# in the order specified weird ? -# Notice the use of to add additional library on the link line -# but only for HPUX/acc toolset -# : It appears the pthread lib is automatically added. i.e >lib pthread ; -# -lib std_v2 ; -lib stream ; -lib Csup ; -lib unwind ; -lib m ; -alias hpux_std_libs : std_v2 stream Csup unwind m ; - -# ======================================================================== -# Extension: Declare a Python extension called ecflow. -# ======================================================================== -python-extension ecflow : [ glob src/*.cpp ] - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /theBase//base - /theClient//libclient - /theSimulator//libsimu - /site-config//boost_filesystem - /site-config//boost_program_options - /site-config//boost_datetime - #/site-config//boost_system - /site-config//boost_python - : debug:DEBUG - acc:hpux_std_libs - /site-config//openssl_libs - ; - -# ======================================================================== -# Documentation: -# ======================================================================== -# Place the shared library 'ecflow' into the ecflow/ directory. -# - *REQUIRED* for sphinx-build. Documentation generation See Doc/online/conf.py -# We use this as first place to look for c++ extension -# - avoids hard wired dependency on compiler path -# - Picks up latest changes -install ecflow/ : ecflow ; - -# ======================================================================== -# INSTALLATION: -# ======================================================================== -# - install __init__.py file. -# - This install is referenced in JamRoot.jam -install install-py1 - : [ glob ecflow/*.py ] - : $(ECFLOW_DESTDIR)/$(ECFLOW_PYTHON_INSTALL_DIR) - ; -explicit install-py1 ; # make install explicit, otherwise we end installing for all calls to bjam - -install install-api - : [ glob samples/api/*.py ] - : $(ECFLOW_DESTDIR)/$(ECFLOW_PYTHON_INSTALL_DIR) - ; -explicit install-api ; # make install explicit, otherwise we end installing for all calls to bjam - -# - for install Left in, in case its fixed in the future. -# - This install is referenced in JamRoot.jam -# - on will also install boost_python shared lib and add repath to it. -install install-py - : ecflow - : PYTHON_EXTENSION - SHARED_LIB - $(ECFLOW_DESTDIR)$(ECFLOW_PYTHON_INSTALL_DIR) - ; -explicit install-py ; # make install explicit, otherwise we end installing for all calls to bjam - -alias install : - install-py - install-py1 - install-api - ; -explicit install ; # make install explicit, otherwise we end installing for all calls to bjam - - -# ======================================================================== -# TESTING: unit-tests and test for python fragments in online tutorial -# ======================================================================== -import testing ; - -# A little "rule" (function) to clean up the syntax of declaring tests -# of these extension modules. -local rule run-test ( test-name : sources + ) -{ - testing.make-test run-pyd : $(sources) : : $(test-name) ; -} - -# -# Declare test targets; -# Note can't run TestWith until all platforms support with statement, i.e python 2.6 or greater -# -run-test TestClientApi : ecflow [ glob test/py_s_TestClientApi.py ] ; -run-test TestPythonChildApi : ecflow [ glob test/py_s_TestPythonChildApi.py ] ; -run-test TestDefs : ecflow [ glob test/py_u_TestDefs.py ] ; -run-test TestCopy : ecflow [ glob test/py_u_TestCopy.py ] ; -run-test TestError : ecflow [ glob test/py_u_TestError.py ] ; -run-test TestTraversal : ecflow [ glob test/py_u_TestTraversal.py ] ; -run-test TestDefsCheck : ecflow [ glob test/py_u_TestDefsCheck.py ] ; -run-test TestSimulator : ecflow [ glob test/py_u_TestSimulator.py ] ; -run-test TestAddDelete : ecflow [ glob test/py_u_TestAddDelete.py ] ; -run-test TestAddDeleteError : ecflow [ glob test/py_u_TestAddDeleteError.py ] ; -run-test TestAddDeleteFunc : ecflow [ glob test/py_u_TestAddDeleteFunc.py ] ; -run-test TestAddNodeFunc : ecflow [ glob test/py_u_TestAddNodeFunc.py ] ; -run-test TestParent : ecflow [ glob test/py_u_TestParent.py ] ; -run-test TestUserManual : ecflow [ glob test/py_u_TestUserManual.py ] ; -run-test TestJobGeneration : ecflow [ glob test/py_u_TestJobGeneration.py ] ; -run-test TestGetAllTasks : ecflow [ glob test/py_u_TestGetAllTasks.py ] ; -run-test TestDerivable : ecflow [ glob test/py_u_TestDerivable.py ] ; -run-test TestWith : ecflow [ glob test/py_u_TestWith.py ] ; -run-test TestFind : ecflow [ glob test/py_u_TestFind.py ] ; -run-test TestMigrate : ecflow [ glob migrate/py_u_TestMigrate.py ] ; -run-test TestRepeatArithmetic : ecflow [ glob test/py_u_TestRepeatArithmetic.py ] ; -run-test TestRemove : ecflow [ glob test/py_u_TestRemove.py ] ; -run-test TestGeneratedVariable : ecflow [ glob test/py_u_TestGeneratedVariable.py ] ; -run-test TestEcf : ecflow [ glob test/py_u_TestEcf.py ] ; -run-test TestFlag : ecflow [ glob test/py_u_TestFlag.py ] ; -run-test TestAutoAddExtern : ecflow [ glob test/py_u_TestAutoAddExtern.py ] ; -run-test test_collection : ecflow [ glob test/py_u_test_collection.py ] ; -run-test test_add : ecflow [ glob test/py_u_test_add.py ] ; -run-test test_tutorial : ecflow [ glob test/py_u_test_tutorial.py ] ; -run-test test_manual : ecflow [ glob test/py_u_test_manual.py ] ; -run-test test_replace_node : ecflow [ glob test/py_u_test_replace_node.py ] ; -run-test test_get_attr : ecflow [ glob test/py_u_test_get_attr.py ] ; -run-test test_defs_constructor : ecflow [ glob test/py_u_test_defs_constructor.py ] ; -run-test test_cron : ecflow [ glob test/py_u_test_cron.py ] ; -run-test test_late : ecflow [ glob test/py_u_test_late.py ] ; -run-test test : ecflow [ glob test/py_u_test.py ] ; -run-test sort : ecflow [ glob test/py_u_sort.py ] ; - -# A target that runs all the tests. -# Note test_embed & test_embed_ecf commented out since we dont use this functionality -alias test-all - : TestUserManual TestJobGeneration TestDefs TestError TestTraversal TestDefsCheck - TestSimulator TestAddDelete TestAddDeleteError TestAddDeleteFunc TestAddNodeFunc TestParent TestGetAllTasks - TestDerivable TestMigrate TestRemove TestRepeatArithmetic TestWith TestFind TestGeneratedVariable TestEcf - TestClientApi TestPythonChildApi TestFlag TestCopy TestAutoAddExtern test_collection - test_add test_tutorial test_manual test_get_attr test_replace_node test_defs_constructor test_cron test_late test sort - # test_embed test_embed_ecf - ; - -# Only run tests when explicitly requested -explicit test-all - TestUserManual TestJobGeneration TestDefs TestError TestTraversal TestDefsCheck - TestSimulator TestAddDelete TestAddDeleteError TestAddDeleteFunc TestAddNodeFunc TestParent TestGetAllTasks - TestDerivable TestMigrate TestRemove TestRepeatArithmetic TestWith TestFind TestGeneratedVariable TestEcf - TestClientApi TestPythonChildApi TestFlag TestCopy TestAutoAddExtern test_collection - test_add test_tutorial test_manual test_get_attr test_replace_node test_defs_constructor test_cron test_late test sort - # test_embed test_embed_ecf - ; - \ No newline at end of file diff --git a/SCRATCH/Jamfile.jam b/SCRATCH/Jamfile.jam deleted file mode 100644 index dabcbdecd..000000000 --- a/SCRATCH/Jamfile.jam +++ /dev/null @@ -1,53 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. -# -# SCRATCH project, used for platform testing -# -#project theSCRATCH ; - -lib pthread ; -lib libssl : : /usr/lib64/libssl.a ; -lib libcrypto : : /usr/lib64/libcrypto.a ; - -# -# link with libdl.so, (shared lib containing dlopen(),dlclose()dysym(), -# these functions are used by OpenSSL internally & thus -ldl is an -# indirect dependency when using -lcrypto(on Linux) Because we linking -# with static version of crypto, need to explicitly link against indirect dependencies. -# -lib dl ; # this dependency for using libcrypto, i.e dlopen,dlclose etc, when using static libcrypto - -# *********************************************************** -# Comment this in for test: -# *********************************************************** -#exe test : [ glob src/*.cpp ] -# pthread -# /site-config//boost_serialization -# /site-config//boost_test -# : ../SCRATCH/src -# debug:DEBUG -# ; - -exe client : [ glob src/client.cpp ] - pthread - libssl - libcrypto - dl - : src/ - debug:DEBUG - ; - -exe server : [ glob src/server.cpp ] - pthread - libssl - libcrypto - dl - : src/ - debug:DEBUG - ; - - \ No newline at end of file diff --git a/SCRATCH/src_ext_jamfile.jam_ b/SCRATCH/src_ext_jamfile.jam_ deleted file mode 100644 index 3d105a6ea..000000000 --- a/SCRATCH/src_ext_jamfile.jam_ +++ /dev/null @@ -1,107 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. -# -# SCRATCH project, used for platform testing -# -#project theSCRATCH ; - -lib pthread ; - -# *********************************************************** -# Comment this in for test: -# *********************************************************** -#exe test : [ glob src/*.cpp ] -# pthread -# /site-config//boost_serialization -# /site-config//boost_test -# : ../SCRATCH/src -# debug:DEBUG -# ; - -#exe test : [ glob src/*.cpp ] -# pthread -# /site-config//boost_serialization -# : src/ -# debug:DEBUG -# ; - -#=================================================================================================== -# Make the definition of the python-extension rule available -# Somehow this bjam causes boost python libs to be built under $BOOST_ROOT/bin.v2 -# How can I get it to use boost python that was built with all the other boost libs ??? -import python ; - -if ! [ python.configured ] -{ - ECHO "notice: no Python configured in user-config.jam" ; - ECHO "notice: will use default configuration" ; - using python ; -} - -# Specify the path to the Boost project. If you move this project, -# adjust this path to refer to the Boost root directory. -import os ; -local BOOST_ROOT = [ os.environ BOOST_ROOT ] ; -use-project boost - : $(BOOST_ROOT) ; - -project - : requirements /boost/python//boost_python ; - -# ======================================================================== -# Extension: Declare a Python extension called ecflow. -# ======================================================================== -python-extension hello_ext : [ glob src_ext/1/hello_world.cpp ] ; -python-extension hello_ext2 : [ glob src_ext/2/exposing_classes.cpp ] ; -python-extension hello_ext3 : [ glob src_ext/3/constructors.cpp ] ; -python-extension hello_ext4 : [ glob src_ext/4/data_members.cpp ] ; -python-extension hello_ext5 : [ glob src_ext/5/class_properties.cpp ] ; -python-extension hello_ext6 : [ glob src_ext/6/inheritance.cpp ] ; -python-extension hello_ext7 : [ glob src_ext/7/virtual_functions.cpp ] ; -python-extension hello_ext8 : [ glob src_ext/8/call_policies.cpp ] ; -python-extension hello_ext8 : [ glob src_ext/9/ ] ; - -# Put the extension and Boost.Python DLL in the current directory, so -# that running script by hand works. -#install convenient_copy -# : hello_ext -# : on SHARED_LIB PYTHON_EXTENSION -# . -# ; - -# ======================================================================== -# TESTING: unit-tests and test for python fragments -# ======================================================================== -import testing ; - -# A little "rule" (function) to clean up the syntax of declaring tests of these extension modules. -local rule run-test ( test-name : sources + ) -{ - testing.make-test run-pyd : $(sources) : : $(test-name) ; -} - -# Declare test targets; -run-test hello_world_test : hello_ext [ glob src_ext/1/hello_world_test.py ] ; -run-test exposing_classes_test : hello_ext2 [ glob src_ext/2/exposing_classes_test.py ] ; -run-test constructors_test : hello_ext3 [ glob src_ext/3/constructors_test.py ] ; -run-test data_members_test : hello_ext4 [ glob src_ext/4/data_members_test.py ] ; -run-test class_properties_test : hello_ext5 [ glob src_ext/5/class_properties_test.py ] ; -run-test inheritance_test : hello_ext6 [ glob src_ext/6/inheritance_test.py ] ; -run-test virtual_function_test : hello_ext7 [ glob src_ext/7/virtual_function_test.py ] ; -run-test call_policies_test : hello_ext8 [ glob src_ext/8/call_policies_test.py ] ; -# run-test call_policies_test : hello_ext9 [ glob src_ext/9/call_policies_test.py ] ; - -explicit test-all - hello_world_test - exposing_classes_test - constructors_test - data_members_test - class_properties_test - call_policies_test - ; - - \ No newline at end of file diff --git a/Server/Jamfile.jam b/Server/Jamfile.jam deleted file mode 100644 index c2cc9e577..000000000 --- a/Server/Jamfile.jam +++ /dev/null @@ -1,85 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# -# Server -# -project theServer ; - -# -# IMPORTANT: server *MUST* not link with client or include any of the client code -# -use-project theCore : ../ACore ; -use-project theNodeAttr : ../ANattr ; -use-project theNode : ../ANode ; -use-project theBase : ../Base ; - -lib pthread : : shared ; - -# -# Split into library, so that testing can use library, and hence same compiler option -# -# The means we will automatically add this directory to the include path -# of any other target that uses this lib - -lib libserver : [ glob src/*.cpp : src/*Main.cpp ] - : ../ACore/src - ../ANattr/src - ../ANode/src - ../Base/src - ../Server/src - debug:DEBUG - static - /theCore//core - /theNode//node - /theBase//base - /site-config//boost_filesystem - /site-config//boost_program_options - /site-config//boost_datetime - : - : ../Server/src - ; - -exe ecflow_server : [ glob src/*Main.cpp ] - pthread - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /theBase//base - libserver - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_program_options - #/site-config//boost_system - #/site-config//boost_timer # for debug only - #/site-config//boost_chrono # for debug only - : debug:DEBUG - /site-config//openssl_libs - ; - -# -# Test for server -# IMPORTANT: server *MUST* not link with client or include any of the client code -# -exe u_server : [ glob test/*.cpp ] - pthread - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /theBase//base - libserver - /site-config//boost_filesystem - /site-config//boost_datetime - /site-config//boost_program_options - /site-config//boost_timer - /site-config//boost_test - #/site-config//boost_system - /site-config//boost_chrono - : debug:DEBUG - /site-config//openssl_libs - shared:BOOST_TEST_DYN_LINK - ; diff --git a/Test/Jamfile.jam b/Test/Jamfile.jam deleted file mode 100644 index d5e89264d..000000000 --- a/Test/Jamfile.jam +++ /dev/null @@ -1,114 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -project theTest ; - -# -# Test project -# -use-project theCore : ../ACore ; -use-project theNodeAttr : ../ANattr ; -use-project theNode : ../ANode ; -use-project theBase : ../Base ; -use-project theServer : ../Server ; -use-project theClient : ../Client ; - -lib pthread : : shared ; - -# -# Split into library, so that testing can use library, and hence same compiler option -# -# The means we will automatically add this directory to the include path -# of any other target that uses this lib -# -lib libharness : [ glob src/*.cpp ] - : ../ACore/src - ../ANattr/src - ../ANode/src - ../Base/src - ../Base/test - ../Client/src - ../Client/test - debug:DEBUG - static - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /theBase//base - /theClient//libclient - /site-config//boost_filesystem - /site-config//boost_program_options - /site-config//boost_datetime - : - : ../Test/src - ; - -# Ignore TestSingle.cpp, used for standalone testing -exe s_test : [ glob Test*.cpp : TestSingle.cpp TestZombies.cpp ] - pthread - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /theBase//base - /theClient//libclient - libharness - /site-config//boost_filesystem - /site-config//boost_program_options - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_test - #/site-config//boost_system - /site-config//boost_chrono - : ../Base/test - debug:DEBUG - shared:BOOST_TEST_DYN_LINK - /site-config//openssl_libs - ; - -# Split because this was more error prone, Now stabilised all all platforms ? -exe s_test_zombies : [ glob TestZombies.cpp ] - pthread - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /theBase//base - /theClient//libclient - libharness - /site-config//boost_filesystem - /site-config//boost_program_options - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_test - #/site-config//boost_system - /site-config//boost_chrono - : ../Base/test - debug:DEBUG - shared:BOOST_TEST_DYN_LINK - /site-config//openssl_libs - ; - -# use for standalone testing -exe singletest : [ glob TestSingle.cpp ] - pthread - /theCore//core - /theNodeAttr//nodeattr - /theNode//node - /theBase//base - /theClient//libclient - libharness - /site-config//boost_filesystem - /site-config//boost_program_options - /site-config//boost_datetime - /site-config//boost_timer - /site-config//boost_test - #/site-config//boost_system - /site-config//boost_chrono - : ../Base/test - debug:DEBUG - shared:BOOST_TEST_DYN_LINK - /site-config//openssl_libs - ; diff --git a/boost-build.jam b/boost-build.jam deleted file mode 100644 index e3248c243..000000000 --- a/boost-build.jam +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright (C) 2002-2003 David Abraham. remote -# Copyright (C) 2002-2003 Vladimir Prus. -# Copyright (C) 2003,2007 Rene Rivera. -# Use, modification and distribution are subject to 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) - -# This is the initial file loaded by Boost Jam when run from any Boost library -# folder. It allows us to choose which Boost Build installation to use for -# building Boost libraries. Unless explicitly selected using a command-line -# option, the version included with the Boost library distribution is used (as -# opposed to any other Boost Build version installed on the user's sytem). - -# ---------------------------------------------------------------------------- -# The two rules were added because, boost build < 1.56 have always been in -# $(BOOST_ROOT)/tools/build/v2 -# However for version >= 1.56, boost build is found in: -# $(BOOST_ROOT)/tools/build/src -# This allows both to be searched -# --------------------------------------------------------------------------- -local rule if-has-file ( file + : dir * ) -{ - local result ; - if $(dir) - { - result = [ GLOB $(dir) : $(file) ] ; - } - return $(result[1]:P) ; -} - -local boost-build-src = [ if-has-file bootstrap.jam : - [ MATCH --boost-build=(.*) : $(ARGV) ] - $(BOOST_BUILD_PATH) - $(BOOST_ROOT)/tools/build/v2 - $(BOOST_ROOT)/tools/build/src -] ; - -boost-build $(boost-build-src) ; - -# ------------------------------------------------------------------------------ -# Old -#BOOST_BUILD = [ MATCH --boost-build=(.*) : $(ARGV) ] ; -#BOOST_BUILD ?= $(BOOST_ROOT)/tools/build/v2 ; -#BOOST_BUILD ?= $(BOOST_ROOT)/tools/build/src ; -#boost-build $(BOOST_BUILD) ; diff --git a/build_scripts/boost_build.sh b/build_scripts/boost_build.sh deleted file mode 100755 index 500d945f5..000000000 --- a/build_scripts/boost_build.sh +++ /dev/null @@ -1,330 +0,0 @@ -#!/bin/bash - -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -set -x -#set -u - -# Only uncomment for debugging this script -#rm -rf stage -#rm -rf tmpBuildDir -#rm -rf bin.v2 - -# =============================================================== -# allow tool to be overridden -tool=gcc -tool_path="" -if [ "$#" = 1 ] ; then - tool=$1 -fi - -# =============================================================== -# This file is used build the boost libs used by ecflow -# This script Use $BOOST_ROOT and $WK environment variable -echo "WK=$WK" -echo "BOOST_ROOT=$BOOST_ROOT" - - -# =============================================================== -# From boost 1.56 > the location of site-config.jam location has changed -# -SITE_CONFIG_LOCATION=$BOOST_ROOT/tools/build/v2/site-config.jam -BOOST_VERSION="$(basename $BOOST_ROOT)" # boost_1_53_0 -BOOST_MAJOR_VERSION=$(echo $BOOST_VERSION | cut -d_ -f2) # 1 -BOOST_MINOR_VERSION=$(echo $BOOST_VERSION | cut -d_ -f3) # 53 -BOOST_PATCH_VERSION=$(echo $BOOST_VERSION | cut -d_ -f4) # 0 -BOOST_NUMERIC_VERSION=$(( 1000*BOOST_MAJOR_VERSION + 10*BOOST_MINOR_VERSION + BOOST_PATCH_VERSION )) - -if [[ ${BOOST_NUMERIC_VERSION} -ge 1570 ]] ; then - SITE_CONFIG_LOCATION=$BOOST_ROOT/tools/build/src/site-config.jam -fi - - -# Check that a command is in the PATH. -test_path () -{ - if `command -v command 1>/dev/null 2>/dev/null`; then - command -v $1 1>/dev/null 2>/dev/null - else - hash $1 1>/dev/null 2>/dev/null - fi -} - -test_uname () -{ - if test_path uname; then - test `uname` = $* - fi -} - -# ================================================================================================= -# LAYOUT -# --layout=system -> libboost_system.a (default) -# --layout=tagged -> libboost_system-mt-d-x86.a(debug) libboost_system-mt-x86.a(release) -# --layout=versioned -> libboost_system-xlc-mt-d-1.42(debug) libboost_system-xlc-mt-1_42.a(release) -# -# for some reason on cray versioned does not embed the compiler name as a part -# of the library name. However it does add the boost version. -# Hence we will use this to distinguish between the g++ and cray boost libs -# On *CRAY* we can have 3 compilers we will use the versioned for CRAY and INTEL library -# -# https://gitlab.kitware.com/cmake/cmake/issues/18908 -# FROM boost 1.69 'layout=tagged' adds -x86 to the library names -# Hence make sure top level CMakeList.txt adds: -# set(Boost_ARCHITECTURE "-x64") # from boost 1.69 layout=tagged adds libboost_system-mt-x64.a -# -layout=system - -CXXFLAGS=-d2 # dummy argument, since CXXFLAGS is quoted -CXXFLAGS=cxxflags=-fPIC - -if test_uname Linux ; then - X64=$(uname -m) - if [ "$X64" = x86_64 ] - then - # PE_ENV is defined in cray environment, at least on sandy bridge - if [ "$PE_ENV" = GNU -o "$PE_ENV" = INTEL -o "$PE_ENV" = CRAY ] - then - CXXFLAGS=cxxflags=-fPIC - layout=versioned - tool=gcc - cp $WK/build_scripts/site_config/site-config-cray.jam $SITE_CONFIG_LOCATION - if [ "$PE_ENV" = INTEL ] ; then - tool=intel - fi - if [ "$PE_ENV" = CRAY ] ; then - tool=cray - fi - else - if [ $tool = gcc ] ; then - - cp $WK/build_scripts/site_config/site-config-Linux64.jam $SITE_CONFIG_LOCATION - CXXFLAGS=cxxflags="-fPIC -Wno-unused-local-typedefs -Wno-deprecated-declarations" - - elif [ $tool = intel ] ; then - #module unload gnu - #module load intel/19.0.4 - - cp $WK/build_scripts/site_config/site-config-Linux64-intel.jam $SITE_CONFIG_LOCATION - - elif [ $tool = clang ] ; then - # module unload gnu - # module load clang/7.0.1 - - cp $WK/build_scripts/site_config/site-config-Linux64-clang.jam $SITE_CONFIG_LOCATION - CXXFLAGS=cxxflags="-fPIC -ftemplate-depth=1024 -Wno-unused-local-typedefs -Wno-deprecated-declarations -Wno-unused-variable" - fi - fi - - else - cp $WK/build_scripts/site_config/site-config-Linux.jam $SITE_CONFIG_LOCATION - fi - -elif test_uname Darwin ; then - - cp $WK/build_scripts/site_config/site-config-Darwin.jam $SITE_CONFIG_LOCATION - tool_path="/usr/local/opt/gcc@10/bin/gcc-10" - CXXFLAGS=cxxflags="-fPIC -Wunused-function -Wno-maybe-uninitialized -Wno-unused-local-typedefs -Wno-deprecated-declarations -Wno-unused-variable -Wno-parentheses" - -elif test_uname HP-UX ; then - - tool=acc - cp $WK/build_scripts/site_config/site-config-HPUX.jam $SITE_CONFIG_LOCATION - -elif test_uname AIX ; then - - # on c1a - tool=vacpp - cp $WK/build_scripts/site_config/site-config-AIX.jam $SITE_CONFIG_LOCATION -fi - - -# =============================================================== -# USER-CONFIG.JAM -# -# *** placing using gcc, in user-config.jam otherwise errors in building python **** -# -# using toolset-name : version :invocation-command : options ; -# where options allows -# -rm $HOME/user-config.jam -cp $BOOST_ROOT/tools/build/example/user-config.jam $HOME/. -echo "# On linux 64, because most of the static library's, are placed in a shared libs(ecflow.so)" >> $HOME/user-config.jam -echo "# hence we need to compile with -fPIC" >> $HOME/user-config.jam -echo "using $tool : : $tool_path : -fPIC ;" >> $HOME/user-config.jam - - -# -# Note: if '--build-dir=./tmpBuildDir' is omitted, boost will build the libs in a directory: -# bin.v2/ -# On completion, the library is copied to: -# stage/lib/ -# - -# We use tagged as that allows the debug and release builds to built together, if required -# -echo "using compiler $tool with release variants" - -if [[ ${BOOST_NUMERIC_VERSION} -le 1690 ]] ; then - # boost system is header only from boost version 1.69, stub library built for compatibility - ./b2 --build-dir=./tmpBuildDir toolset=$tool "$CXXFLAGS" stage link=static,shared --layout=$layout --with-system variant=release -j4 -d2 -fi -./b2 --debug-configuration --build-dir=./tmpBuildDir toolset=$tool "$CXXFLAGS" stage link=static,shared --layout=$layout --with-date_time variant=release -j4 -d2 -./b2 --build-dir=./tmpBuildDir toolset=$tool "$CXXFLAGS" stage link=static,shared --layout=$layout --with-filesystem variant=release -j4 -d2 -./b2 --build-dir=./tmpBuildDir toolset=$tool "$CXXFLAGS" stage link=static,shared --layout=$layout --with-program_options variant=release -j4 -d2 -./b2 --build-dir=./tmpBuildDir toolset=$tool "$CXXFLAGS" stage link=static,shared --layout=$layout --with-test variant=release -j4 -d2 -./b2 --build-dir=./tmpBuildDir toolset=$tool "$CXXFLAGS" stage link=static,shared --layout=$layout --with-timer variant=release -j4 -d2 -./b2 --build-dir=./tmpBuildDir toolset=$tool "$CXXFLAGS" stage link=static,shared --layout=$layout --with-chrono variant=release -j4 -d2 - - -# Allow python to be disabled -if [ -n "$ECF_NO_PYTHON" ] ; then - echo "****************************************************************************" - echo "Ignore boost python. ECF_NO_PYTHON set." - echo "****************************************************************************" -else - # ================================================================================ - echo Build python - # ================================================================================ - #*** If the boost python HAS not been built, and we build in $WK/Pyext, then it will build - #*** boost python in $BOOST_ROOT/bin.v2/ - #*** It appears to build boost python single threaded. (i.e you do not see threading-multi) in the directory path. - - # =============================================================================== - # Error to watch out for: - # 1/ error: No best alternative for /python_for_extensions - # next alternative: required properties: 2.7 linux - # matched - # next alternative: required properties: 2.7 linux - # matched - # 2/ pyconfig.h cant find include file: - # - # Note: ./bootstrap.sh will create a project-config.jam - # - # For both errors: Please check if you have more than one 'using python' in configuration files. - # Please check site-config.jam, user-config.jam and project-config.jam and - # remove duplicated 'using python'. Typically we remove $HOME/user-config.jam is using python is defined in it. - # - # for 2/ use - # We use the python snippet below to work out the correct include path - # This is because ./bootstrap.sh --with-python=python3 - # does not configure the python correctly - # if all else fails comment ot the python snippet below and use: - # export CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH: python3 -c "import sys;from sysconfig import get_paths;print('using python : ','{0}.{1}'.format(sys.version_info[0], sys.version_info[1]),' : ',get_paths()['data'],' : ',get_paths()['include'])" - # verify path is correct using: python3.6-config --includes - # - # # using python : 2.7 : "/usr/local/apps/python/2.7.15-01" ; - # # using python - # # : 3.6 - # # : /usr/local/apps/python3/3.6.8-01/bin/python3 # ***** If this is a prefix dir, includes get messed up, have mix of python2 & 3 - # # : /usr/local/apps/python3/3.6.8-01/include/python3.6m # include directory - # # ; - # using python - # : 3.7 - # : /usr/local/apps/python3/3.7.1-01/bin/python3 # ***** If this is a prefix dir, includes get messed up, have mix of python2 & 3 - # : /usr/local/apps/python3/3.7.1-01/include/python3.7m # include directory - # ; - # ... - # option.set includedir : /usr/local/apps/python3/3.5.1-01/include/python3.5m ; # ***MAKE*** sure this is set - # - # ***** cmd/prefix must be path to python3, otherwise compilation include files has a mixture of - # python 2.7 and 3.6, YUK, took ages to debug - # - # Python 2: - # 0/ ./b2 --with-python --clean # Clean previous build - # 1/ module load python2 - # 2/ ./bootstrap.sh --with-python=/path/to/python2.7 - # 3/ invoke this script - # - # Check: - # To check the build make sure we don't have symbol pulled in from python2 libs - # cd $BOOST_ROOT/stage/lib - # nm -D *python* | grep PyClass_Type # PyClass_Type is a symbol *ONLY* used in python2.x - # nm -D /tmp/ma0/workspace/bdir/release/ecflow/Pyext/ecflow.so | grep PyClass_Type # check ecflow.so - # - # BOOST 1.67 >= - # we can now use - # ./b2 python=2.7,3.6,3.7 .... - # to build all the python variants, providing project-config.jam *has* multiple 'using python' statements - # using python : 2.7 : "/usr/local/apps/python/2.7.15-01" ; - # using python : 3.6 : /usr/local/apps/python3/3.6.8-01/bin/python3 : /usr/local/apps/python3/3.6.8-01/include/python3.6m ; - # using python : 3.7 : /usr/local/apps/python3/3.7.1-01/bin/python3 : /usr/local/apps/python3/3.7.1-01/include/python3.7m ; - # =========================================================================================================== - - # =========================================================================================================== - # Attempt at replacing 'using python' with the correct python include dir in site-config.jam - # =========================================================================================================== - python_file=compute_python_using_statement.py - -cat << EOF > $python_file -import sys -from sysconfig import get_paths -python_version = "{0}.{1}".format(sys.version_info[0], sys.version_info[1]) -python_path_info = get_paths() -python_exe = sys.executable -python_include = python_path_info['include'] -using_python = ' using python : ' + python_version + ' : ' + python_exe + ' : ' + python_include + ' ;' -print(using_python) -EOF - - echo "ECF_PYTHON2 = [ os.environ ECF_PYTHON2 ] ;" >> $SITE_CONFIG_LOCATION - - which python3 - if [ "$?" = "0" ] ; then - - python_version=$(python3 -c 'import sys;print(sys.version_info[0],sys.version_info[1],sep="")') - if [[ ${BOOST_NUMERIC_VERSION} -le 1670 ]] ; then - python_version=3 - fi - - python_dot_version=$(python3 -c 'import sys;print(sys.version_info[0],".",sys.version_info[1],sep="")') - echo 'if ! $(ECF_PYTHON2) {' >> $SITE_CONFIG_LOCATION - echo " lib boost_python : : \$(BOOST_ROOT)/stage/lib/libboost_python${python_version}.a ;" >> $SITE_CONFIG_LOCATION - python3 $python_file >> $SITE_CONFIG_LOCATION - echo '}' >> $SITE_CONFIG_LOCATION - echo "constant PYTHON3_VERSION : $python_dot_version ;" >> $SITE_CONFIG_LOCATION - - ./b2 --with-python --clean - ./b2 --debug-configuration toolset=$tool link=shared,static variant=release "$CXXFLAGS" stage --layout=$layout threading=multi --with-python -d2 -j4 - fi - - which python - if [ "$?" = "0" ] ; then - export ECF_PYTHON2=1 # so that we use ' using python ......' - echo 'if $(ECF_PYTHON2) {' >> $SITE_CONFIG_LOCATION - - if [[ ${BOOST_NUMERIC_VERSION} -le 1670 ]] ; then - echo ' lib boost_python : : $(BOOST_ROOT)/stage/lib/libboost_python.a ;' >> $SITE_CONFIG_LOCATION - else - echo ' lib boost_python : : $(BOOST_ROOT)/stage/lib/libboost_python27.a ;' >> $SITE_CONFIG_LOCATION - fi - python $python_file >> $SITE_CONFIG_LOCATION - echo '}' >> $SITE_CONFIG_LOCATION - - ./b2 --with-python --clean - ./b2 --debug-configuration toolset=$tool link=shared,static variant=release "$CXXFLAGS" stage --layout=$layout threading=multi --with-python -d2 -j4 - fi - - rm $python_file -fi diff --git a/build_scripts/site_config/install.ddoc b/build_scripts/site_config/install.ddoc deleted file mode 100644 index 0e93eab52..000000000 --- a/build_scripts/site_config/install.ddoc +++ /dev/null @@ -1,104 +0,0 @@ -using python in bjam file -========================= - - In the site-config.jam file we can specify - - using python ; - -This will determine the default python from $PATH. -If there several python versions, then the python required must be added -to the $PATH first. The python must include the devel packages. -As the headers in these packages is used by boost python. - -using python - : # version - : # cmd-or-prefix - : # includes - : # libraries - : # condition - ; - -By using a specific version, it means that the unit tests, will use the -same specific version. - -However we did not want to hard code the version of python. -As that would restrict install for the general case. -Is is assumed that the Autoconf tools will determine the correct -python version. We current only support python 2.5->2.7 - - -Linux 32 -=========== -# By using a specific version we don't need to update $PATH, -# when python tests invoked from scripts - -# Not sure how to access python version, hence defined a project wide constant variable -# This is used during installation -python_version = [ os.environ PYTHON_VERSION ] ; -python_version default = 2.7 ; # if PYTHON_VERSION not set, use this default -constant PYTHON_VERSION : $(python_version) ; - -using python - : $(python_version) # version - : /usr/local/apps/python/2.7.2-01/bin/python # cmd-or-prefix - : # includes - : # libraries - : # condition - ; - - -AIX Power6 -=========== -using python - : 2.5 # version - : /usr/local/python64/bin/python # cmd-or-prefix - : /usr/local/include/python2.5 /usr/local/python64/include/python2.5/ # includes - : # libraries - : # condition - ; - -Now update to python 2.7 -using python : 2.7 ; - - -HPUX - itanium -============== - -using python - : # version - : /usr/local/apps/python/2.7/bin/python # cmd-or-prefix (for python 2.5 use )/opt/python/usr/local/bin/python - : # includes - : # libraries - : # condition - ; - -#using python -# : # version -# : /opt/python/usr/local/bin/python # cmd-or-prefix -# : # includes -# : # libraries -# : # condition -# ; - -================================================================================= - -Install structure ------------------ -$ECFLOW_DESTDIR/$ECFLOW_INSTALL_DIR/bin/ecflow_client - ecflow_server - ecflow_start.sh - ecflow_stop.sh - noconnect.sh - -$ECFLOW_DESTDIR/$ECFLOW_INSTALL_DIR/doc/ecflow/user_manual.docx - user_manual.pdf - client_options.docx - -$ECFLOW_INSTALL_DIR/lib/libxpmcc.so - -$ECFLOW_DESTDIR/$ECFLOW_PYTHON_INSTALL_DIR/__init__.py - libboost_python.so - ecflow.so =$ECFLOW_PYTHON_INSTALL_DIR/lib/libboost_python.so) - - - diff --git a/build_scripts/site_config/issues.ddoc b/build_scripts/site_config/issues.ddoc deleted file mode 100644 index ef5e59d4f..000000000 --- a/build_scripts/site_config/issues.ddoc +++ /dev/null @@ -1,35 +0,0 @@ -AIX -=========================================================================================== - -# ECF/Boost serialisation has problems in release mode: This was an attempt to make it work: -# Note: when building boost on AIX, comment out. -# override compiler release flags, see usage below: Just using release:-O2 -# may not be enough, since -O3 is still added., and hence probably still overrides the -O2 -# hence use this alternative approach. -# -import feature ; -feature.extend optimization : unspecified ; - -project site-config - : requirements $(BOOST_ROOT) - : requirements multi - : requirements AIX - : requirements -qsuppress=1540-0198 # (W) The omitted keyword "private" is assumed for base class - : requirements -qsuppress=1540-2883 # (W) Inline function "" given attribute noinline. - : requirements release:-qsuppress=1500-029 # supress could not be inlined message - : requirements release:-O2 # serialization has problems with -O3 - : requirements release:unspecified release:-O2 # serialization has problems with -O3 - : requirements -bbigtoc - ; - - -# -bbigtoc: -# we get TOC overflow, because compiler/linker has 64k limit on -# the number of global symbols. Options are use: -# 0/ Break up shared lib -# 1/ -bbigtoc to overcome at the cost of performance degradation -# 2/ --qipa=level=0 if this fails try -# 3/ --qipa=level=1 if this fails try -# 4/ --qipa=level=2 if this fails, revert to -bbigtoc -# Currently option 2-4 didn't work! - \ No newline at end of file diff --git a/build_scripts/site_config/site-config-AIX.jam b/build_scripts/site_config/site-config-AIX.jam deleted file mode 100644 index 1ac90370d..000000000 --- a/build_scripts/site_config/site-config-AIX.jam +++ /dev/null @@ -1,140 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# -# site-config.jam for AIX v11.1 compiler -# This file should be place in $HOME or $BOOST_ROOT/tools/build/v2/ -#----------------------------------------------------------------- - -import os ; -local BOOST_ROOT = [ os.environ BOOST_ROOT ] ; - -# ========================= referenced libs ========================================= - -# Boost libraries referenced in client/server programs. -# Assumes --layout=system -# -lib boost_system : : debug $(BOOST_ROOT)/stage/lib/libboost_system.a ; -lib boost_test : : debug $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.a ; -lib boost_test_monitor : : debug $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor.a ; -lib boost_program_options : : debug $(BOOST_ROOT)/stage/lib/libboost_program_options.a ; -lib boost_filesystem : : debug $(BOOST_ROOT)/stage/lib/libboost_filesystem.a ; -lib boost_datetime : : debug $(BOOST_ROOT)/stage/lib/libboost_date_time.a ; - -# profile uses release libs -lib boost_system : : profile $(BOOST_ROOT)/stage/lib/libboost_system.a ; -lib boost_test : : profile $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.a ; -lib boost_test_monitor : : profile $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor.a ; -lib boost_program_options : : profile $(BOOST_ROOT)/stage/lib/libboost_program_options.a ; -lib boost_filesystem : : profile $(BOOST_ROOT)/stage/lib/libboost_filesystem.a ; -lib boost_datetime : : profile $(BOOST_ROOT)/stage/lib/libboost_date_time.a ; - -lib boost_system : : release $(BOOST_ROOT)/stage/lib/libboost_system.a ; -lib boost_test : : release $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.a ; -lib boost_test_monitor : : release $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor.a ; -lib boost_program_options : : release $(BOOST_ROOT)/stage/lib/libboost_program_options.a ; -lib boost_filesystem : : release $(BOOST_ROOT)/stage/lib/libboost_filesystem.a ; -lib boost_datetime : : release $(BOOST_ROOT)/stage/lib/libboost_date_time.a ; - - -# libboost_test_exec_monitor is only build statically -lib boost_system : : debug shared $(BOOST_ROOT)/stage/lib/libboost_system.so ; -lib boost_test : : debug shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.so ; -lib boost_program_options : : debug shared $(BOOST_ROOT)/stage/lib/libboost_program_options.so ; -lib boost_filesystem : : debug shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.so ; -lib boost_datetime : : debug shared $(BOOST_ROOT)/stage/lib/libboost_date_time.so ; -lib boost_timer : : debug shared $(BOOST_ROOT)/stage/lib/libboost_timer.so ; -lib boost_chrono : : debug shared $(BOOST_ROOT)/stage/lib/libboost_chrono.so ; - -lib boost_system : : profile shared $(BOOST_ROOT)/stage/lib/libboost_system.so ; -lib boost_test : : profile shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.so ; -lib boost_program_options : : profile shared $(BOOST_ROOT)/stage/lib/libboost_program_options.so ; -lib boost_filesystem : : profile shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.so ; -lib boost_datetime : : profile shared $(BOOST_ROOT)/stage/lib/libboost_date_time.so ; -lib boost_timer : : profile shared $(BOOST_ROOT)/stage/lib/libboost_timer.so ; -lib boost_chrono : : profile shared $(BOOST_ROOT)/stage/lib/libboost_chrono.so ; - -lib boost_system : : release shared $(BOOST_ROOT)/stage/lib/libboost_system.so ; -lib boost_test : : release shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.so ; -lib boost_program_options : : release shared $(BOOST_ROOT)/stage/lib/libboost_program_options.so ; -lib boost_filesystem : : release shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.so ; -lib boost_datetime : : release shared $(BOOST_ROOT)/stage/lib/libboost_date_time.so ; -lib boost_timer : : release shared $(BOOST_ROOT)/stage/lib/libboost_timer.so ; -lib boost_chrono : : release shared $(BOOST_ROOT)/stage/lib/libboost_chrono.so ; - -#======================= project site-config ================================ - -# -bbigtoc: -# we get TOC overflow, because compiler/linker has 64k limit on -# the number of global symbols. Options are use: -# 0/ Break up shared lib -# 1/ -bbigtoc to overcome at the cost of performance degradation -# 2/ --qipa=level=0 if this fails try -# 3/ --qipa=level=1 if this fails try -# 4/ --qipa=level=2 if this fails, revert to -bbigtoc -# Currently option 2-4 didn't work! - -# multi -# Note: in order to use xlC_r compiler, you have to use either -# "bjam threading=multi" OR -# add -# requirements multi -# as below. -# - -# -qsuppress=1500-029 -# In release mode we get hundreds of 1500-029 warning message, ie failure to inline -# hence decided to supress this. -# -# Suppress 1540-2883 (W) Inline function "" given attribute noinline. -# This was the fix for release mode of the compiler & fixed the serialisation crash -# Unfortunately it generates hundreds of warnings for each type seralized in each header file -# "/s1a/emos_esuite/emos_data/sms/boost/boost_1_45_0/boost/serialization/singleton.hpp", line 126.17: 1540-2883 (W) Inline function "void use(const void_caster_primitive &)" given attribute noinline. -# "/s1a/emos_esuite/emos_data/sms/boost/boost_1_45_0/boost/serialization/singleton.hpp", line 126.17: 1540-2883 (W) Inline function "void use(const iserializer &)" given attribute noinline. - - -# =============================================================================== -# force all exe to link with crypt -lib crypt : : /usr/lib64/libcrypt.so ; -explicit crypt ; - - -project site-config - : requirements $(BOOST_ROOT) crypt - : requirements multi - : requirements -qsuppress=1540-0198 # (W) The omitted keyword "private" is assumed for base class - : requirements -qsuppress=1540-2883 # (W) Inline function "" given attribute noinline. - : requirements release:-qsuppress=1500-029 # supress could not be inlined message - : requirements -bbigtoc - ; - -# using syntax: -# using toolset-name : version :invocation-command : options ; -# where options allows -# -#using vacpp ; -using testing ; - -# ==================== OPENSSL ====================================================== -# OPENSSL support, should really be in site-config.jam -# Currently we always build with ssl support# -# -# link with libdl.so, shared lib containing dlopen(),dlclose()dysym(), -# these functions are used by OpenSSL internally & thus -ldl is an -# indirect dependency when using -lcrypto(on Linux) Because we linking -# with static version of crypto, need to explicitly link against indirect dependencies. -lib libssl : : /usr/lib64/libssl.so ; -lib libcrypto : : /usr/lib64/libcrypto.so ; -lib dl ; # this dependency for using libcrypto, i.e dlopen,dlclose etc, when using static libcrypto -alias openssl_libs : libssl libcrypto dl ; - -# ==================== INSTALL =====================================================ß -constant ECFLOW_INSTALL_PREFIX : /usr/local/apps ; - -# ================================================================================== -# Config generated from $WK/build_scripts/boost_build.sh -# ================================================================================== diff --git a/build_scripts/site_config/site-config-Darwin.jam b/build_scripts/site_config/site-config-Darwin.jam deleted file mode 100644 index 05a2a310e..000000000 --- a/build_scripts/site_config/site-config-Darwin.jam +++ /dev/null @@ -1,125 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# =================================================================== -# site-config.jam file for Linux/gcc -# This file should be placed in $HOME or $BOOST_ROOT/tools/build/v2/ -# =================================================================== - -# -# Pull in environment variables -# -import os ; -local BOOST_ROOT = [ os.environ BOOST_ROOT ] ; - -# -# --layout=system -> libboost_system.a (default) -# --layout=tagged -> libboost_system-mt-d-x86.a(debug) libboost_system-mt-x86.a(release) -x86 added after boost 1.71 -# --layout=versioned -> libboost_system-xlc-mt-d-1.42(debug) libboost_system-xlc-mt-1_42.a(release) -# -# Boost libraries referenced in client/server programs -# assumes --layout=tagged for the debug release and profile variant -# - -# we dont build debug boost anymore, hence debug uses release libs - -lib boost_system : : debug $(BOOST_ROOT)/stage/lib/libboost_system.a ; -lib boost_test : : debug $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.a ; -lib boost_test_monitor : : debug $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor.a ; -lib boost_program_options : : debug $(BOOST_ROOT)/stage/lib/libboost_program_options.a ; -lib boost_filesystem : : debug $(BOOST_ROOT)/stage/lib/libboost_filesystem.a ; -lib boost_datetime : : debug $(BOOST_ROOT)/stage/lib/libboost_date_time.a ; -lib boost_timer : : debug $(BOOST_ROOT)/stage/lib/libboost_timer.a ; -lib boost_chrono : : debug $(BOOST_ROOT)/stage/lib/libboost_chrono.a ; - -lib boost_system : : profile $(BOOST_ROOT)/stage/lib/libboost_system.a ; -lib boost_test : : profile $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.a ; -lib boost_test_monitor : : profile $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor.a ; -lib boost_program_options : : profile $(BOOST_ROOT)/stage/lib/libboost_program_options.a ; -lib boost_filesystem : : profile $(BOOST_ROOT)/stage/lib/libboost_filesystem.a ; -lib boost_datetime : : profile $(BOOST_ROOT)/stage/lib/libboost_date_time.a ; -lib boost_timer : : profile $(BOOST_ROOT)/stage/lib/libboost_timer.a ; -lib boost_chrono : : profile $(BOOST_ROOT)/stage/lib/libboost_chrono.a ; - -lib boost_system : : release $(BOOST_ROOT)/stage/lib/libboost_system.a ; -lib boost_test : : release $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.a ; -lib boost_test_monitor : : release $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor.a ; -lib boost_program_options : : release $(BOOST_ROOT)/stage/lib/libboost_program_options.a ; -lib boost_filesystem : : release $(BOOST_ROOT)/stage/lib/libboost_filesystem.a ; -lib boost_datetime : : release $(BOOST_ROOT)/stage/lib/libboost_date_time.a ; -lib boost_timer : : release $(BOOST_ROOT)/stage/lib/libboost_timer.a ; -lib boost_chrono : : release $(BOOST_ROOT)/stage/lib/libboost_chrono.a ; - -# libboost_test_exec_monitor is only build statically -lib boost_system : : debug shared $(BOOST_ROOT)/stage/lib/libboost_system.dylib ; -lib boost_test : : debug shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.dylib ; -lib boost_program_options : : debug shared $(BOOST_ROOT)/stage/lib/libboost_program_options.dylib ; -lib boost_filesystem : : debug shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.dylib ; -lib boost_datetime : : debug shared $(BOOST_ROOT)/stage/lib/libboost_date_time.dylib ; -lib boost_timer : : debug shared $(BOOST_ROOT)/stage/lib/libboost_timer.dylib ; -lib boost_chrono : : debug shared $(BOOST_ROOT)/stage/lib/libboost_chrono.dylib ; - -lib boost_system : : profile shared $(BOOST_ROOT)/stage/lib/libboost_system.dylib ; -lib boost_test : : profile shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.dylib ; -lib boost_program_options : : profile shared $(BOOST_ROOT)/stage/lib/libboost_program_options.dylib ; -lib boost_filesystem : : profile shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.dylib ; -lib boost_datetime : : profile shared $(BOOST_ROOT)/stage/lib/libboost_date_time.dylib ; -lib boost_timer : : profile shared $(BOOST_ROOT)/stage/lib/libboost_timer.dylib ; -lib boost_chrono : : profile shared $(BOOST_ROOT)/stage/lib/libboost_chrono.dylib ; - -lib boost_system : : release shared $(BOOST_ROOT)/stage/lib/libboost_system.dylib ; -lib boost_test : : release shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.dylib ; -lib boost_program_options : : release shared $(BOOST_ROOT)/stage/lib/libboost_program_options.dylib ; -lib boost_filesystem : : release shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.dylib ; -lib boost_datetime : : release shared $(BOOST_ROOT)/stage/lib/libboost_date_time.dylib ; -lib boost_timer : : release shared $(BOOST_ROOT)/stage/lib/libboost_timer.dylib ; -lib boost_chrono : : release shared $(BOOST_ROOT)/stage/lib/libboost_chrono.dylib ; - -# =============================================================================== -# force all exe to link with crypt -lib crypt : : /usr/local/opt/openssl/lib/libcrypto.dylib ; -explicit crypt ; - -lib stdc++ ; -explicit stdc++ ; - -# -# Notice: we don't add requirements pthread , because -# a/ Not all tests require it -# b/ Can cause links errors -# Hence left to individual projects/test -# -project site-config - : requirements $(BOOST_ROOT) crypt - /usr/local/opt/openssl/include - stdc++ - ; - -using testing ; - -# ==================== INSTALL =====================================================ß -constant ECFLOW_INSTALL_PREFIX : "/usr/local/opt" ; - -# ==================== OPENSSL ====================================================== -# OPENSSL support -# Currently we always build with ssl support# -# -# link with libdl.so, shared lib containing dlopen(),dlclose()dysym(), -# these functions are used by OpenSSL internally & thus -ldl is an -# indirect dependency when using -lcrypto(on Linux) Because we linking -# with static version of crypto, need to explicitly link against indirect dependencies. -lib libssl : : /usr/local/opt/openssl/lib/libssl.dylib ; -lib libcrypto : : /usr/local/opt/openssl/lib/libcrypto.dylib ; -lib dl ; # this dependency for using libcrypto, i.e dlopen,dlclose etc, when using static libcrypto -alias openssl_libs : libssl libcrypto dl ; - - -# ================================================================================== -# Config generated from $WK/build_scripts/boost_build.sh -# ================================================================================== - - diff --git a/build_scripts/site_config/site-config-HPUX.jam b/build_scripts/site_config/site-config-HPUX.jam deleted file mode 100644 index 79a9af2dc..000000000 --- a/build_scripts/site_config/site-config-HPUX.jam +++ /dev/null @@ -1,131 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# -# This file should be changed depending on the new system -# no other files should need changing -# This file should be place in $HOME or $BOOST_ROOT/tools/build/v2/ -#----------------------------------------------------------------- - -import os ; -local BOOST_ROOT = [ os.environ BOOST_ROOT ] ; - -# -# Boost libraries referenced in client/server programs -# -lib boost_system : : debug $(BOOST_ROOT)/stage/lib/libboost_system-mt-d.a ; -lib boost_test : : debug $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-mt-d.a ; -lib boost_test_monitor : : debug $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-mt-d.a ; -lib boost_program_options : : debug $(BOOST_ROOT)/stage/lib/libboost_program_options-mt-d.a ; -lib boost_filesystem : : debug $(BOOST_ROOT)/stage/lib/libboost_filesystem-mt-d.a ; -lib boost_datetime : : debug $(BOOST_ROOT)/stage/lib/libboost_date_time-mt-d.a ; - -lib boost_system : : release $(BOOST_ROOT)/stage/lib/libboost_system-mt.a ; -lib boost_test : : release $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-mt.a ; -lib boost_test_monitor : : release $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-mt.a ; -lib boost_program_options : : release $(BOOST_ROOT)/stage/lib/libboost_program_options-mt.a ; -lib boost_filesystem : : release $(BOOST_ROOT)/stage/lib/libboost_filesystem-mt.a ; -lib boost_datetime : : release $(BOOST_ROOT)/stage/lib/libboost_date_time-mt.a ; - -# Lib for run time checks, use for debug builds only -lib rtc : : debug /opt/langtools/lib/hpux32/librtc.so ; - - -# project wide settings. Please disable requirements debug:+check=all -# for release build. -# Note: _XOPEN_SOURCE_EXTENDED is only needed for Client/Server categories -# assuming its no harm to define everywhere -# -# Boost CHRONO does not work properly with HPUX compiler( boost version 1.51 ) -# hence use of BOOST_THREAD_DONT_USE_CHRONO, See http://www.boost.org/doc/libs/1_51_0/doc/html/thread/build.html -# Even with this boost thread/chrono does not compile. Kept in case fixed in the future -# - -# =============================================================================== -# force all exe to link with crypt -lib crypt : : /usr/lib64/libcrypt.so ; -explicit crypt ; - - -project site-config - : requirements $(BOOST_ROOT) crypt - : requirements multi - : requirements HPUX - : requirements _XOPEN_SOURCE_EXTENDED - : requirements BOOST_THREAD_DONT_USE_CHRONO -# : requirements rtc -# : requirements debug:+check=all - ; - - -# STATIC: Additional Lint type checks.Will drastically slow down compiles, hence optional -# -# use +w for additional lint style checking -# Suppress the most prevalent boost warnings, this allows us to see lint -# checks in our own code -# -# suppress - warning #2261-D: controlling expression is constant -# - warning #2236-D: controlling expression is constant -# - remark #4296-D: arithmetic operation on boolean type -# - remark #2401-D: destructor for base class is not virtual -# - remark #2340-D: value copied to temporary, reference to temporary use -# - remark #4255-D: padding size of struct "d1" with 3 bytes to alignment boundary>]" at line 62 -# - remark #4227-D: padding struct with 3 bytes to align member "old_mask_" -# - remark #2193-D: zero used for undefined preprocessing identifier "__GNUC__" -# - remark #2324-D: duplicate friend declaration -# - remark #4285-D: operator= does not have a check for the source and destination addresses being non-identical -# -# RUNTIME: Will drastically slow run runs, but will give very useful information, hence optional -# -# enable +check=all, to enable all runtime checks: -# +check=bounds -# +check=malloc -# +check=stack:variables -# +check=uninit -z -#using acc : : : +w -# +W2236,2461,2261,2236,4296,2401,2340,4255,4227,2193,2324,4285 -# +check=all -# ; - - -# -# suppress - warning #2236-D: controlling expression is constant -# warning #2461-D: initial value of reference to non-const must be an lvalue -# warning #2191-D: type qualifier is meaningless on cast type -# warning #2815-D: type qualifier on return type is meaningless -# warning #4232-D: conversion from "boost::python::converter::rvalue_from_python_stage1_data *" to a more strictly aligned type "boost::python::converter::rvalue_from_python_storage> *" may cause misaligned access -# warning #4189-D: warning #4189-D: a non-POD class type used in offsetof macro BOOST_STATIC_ASSERT(BOOST_PYTHON_OFFSETOF(rvalue_from_python_storage,stage1) == 0); -# -# using syntax: -# using toolset-name : version : invocation-command : options ; -# where options allows -# -#using acc : : : +W2236,2461,2191,2815,4232,4189 -# ; - -using testing ; - -# ==================== OPENSSL ====================================================== -# OPENSSL support, should really be in site-config.jam -# Currently we always build with ssl support# -# -# link with libdl.so, shared lib containing dlopen(),dlclose()dysym(), -# these functions are used by OpenSSL internally & thus -ldl is an -# indirect dependency when using -lcrypto(on Linux) Because we linking -# with static version of crypto, need to explicitly link against indirect dependencies. -lib libssl : : /usr/lib64/libssl.so ; -lib libcrypto : : /usr/lib64/libcrypto.so ; -lib dl ; # this dependency for using libcrypto, i.e dlopen,dlclose etc, when using static libcrypto -alias openssl_libs : libssl libcrypto dl ; - -# ==================== INSTALL =====================================================ß -constant ECFLOW_INSTALL_PREFIX : /usr/local/apps ; - -# ================================================================================== -# Config generated from $WK/build_scripts/boost_build.sh -# ================================================================================== - diff --git a/build_scripts/site_config/site-config-Linux.jam b/build_scripts/site_config/site-config-Linux.jam deleted file mode 100644 index 919470462..000000000 --- a/build_scripts/site_config/site-config-Linux.jam +++ /dev/null @@ -1,111 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# =================================================================== -# site-config.jam file for Linux/gcc -# This file should be placed in $HOME or $BOOST_ROOT/tools/build/v2/ -# =================================================================== - -# -# Pull in environment variables -# -import os ; -local BOOST_ROOT = [ os.environ BOOST_ROOT ] ; - -# -# --layout=system -> libboost_system.a (default) -# --layout=tagged -> libboost_system-mt-d.a(debug) libboost_system-mt.a(release) -# --layout=versioned -> libboost_system-xlc-mt-d-1.42(debug) libboost_system-xlc-mt-1_42.a(release) -# -# Boost libraries referenced in client/server programs -# assumes --layout=tagged for the debug release and profile variant -# -lib boost_system : : debug $(BOOST_ROOT)/stage/lib/libboost_system-mt-d.a ; -lib boost_test : : debug $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-mt-d.a ; -lib boost_test_monitor : : debug $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-mt-d.a ; -lib boost_program_options : : debug $(BOOST_ROOT)/stage/lib/libboost_program_options-mt-d.a ; -lib boost_filesystem : : debug $(BOOST_ROOT)/stage/lib/libboost_filesystem-mt-d.a ; -lib boost_datetime : : debug $(BOOST_ROOT)/stage/lib/libboost_date_time-mt-d.a ; - -# profile uses release libs -lib boost_system : : profile $(BOOST_ROOT)/stage/lib/libboost_system-mt.a ; -lib boost_test : : profile $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-mt.a ; -lib boost_test_monitor : : profile $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-mt.a ; -lib boost_program_options : : profile $(BOOST_ROOT)/stage/lib/libboost_program_options-mt.a ; -lib boost_filesystem : : profile $(BOOST_ROOT)/stage/lib/libboost_filesystem-mt.a ; -lib boost_datetime : : profile $(BOOST_ROOT)/stage/lib/libboost_date_time-mt.a ; - -lib boost_system : : release $(BOOST_ROOT)/stage/lib/libboost_system-mt.a ; -lib boost_test : : release $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-mt.a ; -lib boost_test_monitor : : release $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-mt.a ; -lib boost_program_options : : release $(BOOST_ROOT)/stage/lib/libboost_program_options-mt.a ; -lib boost_filesystem : : release $(BOOST_ROOT)/stage/lib/libboost_filesystem-mt.a ; -lib boost_datetime : : release $(BOOST_ROOT)/stage/lib/libboost_date_time-mt.a ; - - - -# libboost_test_exec_monitor is only build statically -lib boost_system : : debug shared $(BOOST_ROOT)/stage/lib/libboost_system.so ; -lib boost_test : : debug shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.so ; -lib boost_program_options : : debug shared $(BOOST_ROOT)/stage/lib/libboost_program_options.so ; -lib boost_filesystem : : debug shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.so ; -lib boost_datetime : : debug shared $(BOOST_ROOT)/stage/lib/libboost_date_time.so ; -lib boost_timer : : debug shared $(BOOST_ROOT)/stage/lib/libboost_timer.so ; -lib boost_chrono : : debug shared $(BOOST_ROOT)/stage/lib/libboost_chrono.so ; - -lib boost_system : : profile shared $(BOOST_ROOT)/stage/lib/libboost_system.so ; -lib boost_test : : profile shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.so ; -lib boost_program_options : : profile shared $(BOOST_ROOT)/stage/lib/libboost_program_options.so ; -lib boost_filesystem : : profile shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.so ; -lib boost_datetime : : profile shared $(BOOST_ROOT)/stage/lib/libboost_date_time.so ; -lib boost_timer : : profile shared $(BOOST_ROOT)/stage/lib/libboost_timer.so ; -lib boost_chrono : : profile shared $(BOOST_ROOT)/stage/lib/libboost_chrono.so ; - -lib boost_system : : release shared $(BOOST_ROOT)/stage/lib/libboost_system.so ; -lib boost_test : : release shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.so ; -lib boost_program_options : : release shared $(BOOST_ROOT)/stage/lib/libboost_program_options.so ; -lib boost_filesystem : : release shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.so ; -lib boost_datetime : : release shared $(BOOST_ROOT)/stage/lib/libboost_date_time.so ; -lib boost_timer : : release shared $(BOOST_ROOT)/stage/lib/libboost_timer.so ; -lib boost_chrono : : release shared $(BOOST_ROOT)/stage/lib/libboost_chrono.so ; -# =============================================================================== -# force all exe to link with crypt -lib crypt : : /usr/lib64/libcrypt.so ; -explicit crypt ; - - -# -# Notice: we don't add requirements pthread , because -# a/ Not all tests require it -# b/ Can cause links errors -# Hence left to individual projects/test -project site-config - : requirements $(BOOST_ROOT) crypt - ; - -using testing ; - -# ==================== INSTALL =====================================================ß -constant ECFLOW_INSTALL_PREFIX : /usr/local/apps ; - -# ==================== OPENSSL ====================================================== -# OPENSSL support, should really be in site-config.jam -# Currently we always build with ssl support# -# -# link with libdl.so, shared lib containing dlopen(),dlclose()dysym(), -# these functions are used by OpenSSL internally & thus -ldl is an -# indirect dependency when using -lcrypto(on Linux) Because we linking -# with static version of crypto, need to explicitly link against indirect dependencies. -lib libssl : : /usr/lib64/libssl.so ; -lib libcrypto : : /usr/lib64/libcrypto.so ; -lib dl ; # this dependency for using libcrypto, i.e dlopen,dlclose etc, when using static libcrypto -alias openssl_libs : libssl libcrypto dl ; - -# ================================================================================== -# Config generated from $WK/build_scripts/boost_build.sh -# ================================================================================== - diff --git a/build_scripts/site_config/site-config-Linux64-clang.jam b/build_scripts/site_config/site-config-Linux64-clang.jam deleted file mode 100644 index d59e108d6..000000000 --- a/build_scripts/site_config/site-config-Linux64-clang.jam +++ /dev/null @@ -1,113 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# =================================================================== -# This file should be placed in $HOME or $BOOST_ROOT/tools/build/v2/ -# =================================================================== - -# -# Pull in environment variables -# -import os ; -local BOOST_ROOT = [ os.environ BOOST_ROOT ] ; - -# -# --layout=system -> libboost_system.a (default) -# --layout=tagged -> libboost_system-mt-d.a(debug) libboost_system-mt.a(release) -# --layout=versioned -> libboost_system-xlc-mt-d-1.42(debug) libboost_system-xlc-mt-1_42.a(release) -# -# Boost libraries referenced in client/server programs -# assumes --layout=tagged for the debug release and profile variant -# -lib boost_system : : debug $(BOOST_ROOT)/stage/lib/libboost_system-mt-d.a ; -lib boost_test : : debug $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-mt-d.a ; -lib boost_test_monitor : : debug $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-mt-d.a ; -lib boost_program_options : : debug $(BOOST_ROOT)/stage/lib/libboost_program_options-mt-d.a ; -lib boost_filesystem : : debug $(BOOST_ROOT)/stage/lib/libboost_filesystem-mt-d.a ; -lib boost_datetime : : debug $(BOOST_ROOT)/stage/lib/libboost_date_time-mt-d.a ; -lib boost_timer : : debug $(BOOST_ROOT)/stage/lib/libboost_timer-mt-d.a ; - -# profile uses release libs -lib boost_system : : profile $(BOOST_ROOT)/stage/lib/libboost_system-mt.a ; -lib boost_test : : profile $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-mt.a ; -lib boost_test_monitor : : profile $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-mt.a ; -lib boost_program_options : : profile $(BOOST_ROOT)/stage/lib/libboost_program_options-mt.a ; -lib boost_filesystem : : profile $(BOOST_ROOT)/stage/lib/libboost_filesystem-mt.a ; -lib boost_datetime : : profile $(BOOST_ROOT)/stage/lib/libboost_date_time-mt.a ; -lib boost_timer : : profile $(BOOST_ROOT)/stage/lib/libboost_timer-mt.a ; - -lib boost_system : : release $(BOOST_ROOT)/stage/lib/libboost_system-mt.a ; -lib boost_test : : release $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-mt.a ; -lib boost_test_monitor : : release $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-mt.a ; -lib boost_program_options : : release $(BOOST_ROOT)/stage/lib/libboost_program_options-mt.a ; -lib boost_filesystem : : release $(BOOST_ROOT)/stage/lib/libboost_filesystem-mt.a ; -lib boost_datetime : : release $(BOOST_ROOT)/stage/lib/libboost_date_time-mt.a ; -lib boost_timer : : release $(BOOST_ROOT)/stage/lib/libboost_timer-mt.a ; - - -# libboost_test_exec_monitor is only build statically -lib boost_system : : debug shared $(BOOST_ROOT)/stage/lib/libboost_system.so ; -lib boost_test : : debug shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.so ; -lib boost_program_options : : debug shared $(BOOST_ROOT)/stage/lib/libboost_program_options.so ; -lib boost_filesystem : : debug shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.so ; -lib boost_datetime : : debug shared $(BOOST_ROOT)/stage/lib/libboost_date_time.so ; -lib boost_timer : : debug shared $(BOOST_ROOT)/stage/lib/libboost_timer.so ; -lib boost_chrono : : debug shared $(BOOST_ROOT)/stage/lib/libboost_chrono.so ; - -lib boost_system : : profile shared $(BOOST_ROOT)/stage/lib/libboost_system.so ; -lib boost_test : : profile shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.so ; -lib boost_program_options : : profile shared $(BOOST_ROOT)/stage/lib/libboost_program_options.so ; -lib boost_filesystem : : profile shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.so ; -lib boost_datetime : : profile shared $(BOOST_ROOT)/stage/lib/libboost_date_time.so ; -lib boost_timer : : profile shared $(BOOST_ROOT)/stage/lib/libboost_timer.so ; -lib boost_chrono : : profile shared $(BOOST_ROOT)/stage/lib/libboost_chrono.so ; - -lib boost_system : : release shared $(BOOST_ROOT)/stage/lib/libboost_system.so ; -lib boost_test : : release shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.so ; -lib boost_program_options : : release shared $(BOOST_ROOT)/stage/lib/libboost_program_options.so ; -lib boost_filesystem : : release shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.so ; -lib boost_datetime : : release shared $(BOOST_ROOT)/stage/lib/libboost_date_time.so ; -lib boost_timer : : release shared $(BOOST_ROOT)/stage/lib/libboost_timer.so ; -lib boost_chrono : : release shared $(BOOST_ROOT)/stage/lib/libboost_chrono.so ; -# =============================================================================== -# force all exe to link with crypt -lib crypt : : /usr/lib64/libcrypt.so ; -explicit crypt ; - - -# -# Notice: we don't add requirements pthread , because -# a/ Not all tests require it -# b/ Can cause links errors -# Hence left to individual projects/test -# -project site-config - : requirements $(BOOST_ROOT) crypt - ; - -using testing ; - -# ==================== INSTALL =====================================================ß -constant ECFLOW_INSTALL_PREFIX : /usr/local/apps ; - -# ==================== OPENSSL ====================================================== -# OPENSSL support, should really be in site-config.jam -# Currently we always build with ssl support# -# -# link with libdl.so, shared lib containing dlopen(),dlclose()dysym(), -# these functions are used by OpenSSL internally & thus -ldl is an -# indirect dependency when using -lcrypto(on Linux) Because we linking -# with static version of crypto, need to explicitly link against indirect dependencies. -lib libssl : : /usr/lib64/libssl.so ; -lib libcrypto : : /usr/lib64/libcrypto.so ; -lib dl ; # this dependency for using libcrypto, i.e dlopen,dlclose etc, when using static libcrypto -alias openssl_libs : libssl libcrypto dl ; - -# ================================================================================== -# Config generated from $WK/build_scripts/boost_build.sh -# ================================================================================== - diff --git a/build_scripts/site_config/site-config-Linux64-intel.jam b/build_scripts/site_config/site-config-Linux64-intel.jam deleted file mode 100644 index 37e039691..000000000 --- a/build_scripts/site_config/site-config-Linux64-intel.jam +++ /dev/null @@ -1,116 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# =================================================================== -# This file should be placed in $HOME or $BOOST_ROOT/tools/build/v2/ -# =================================================================== - -# -# Pull in environment variables -# -import os ; -local BOOST_ROOT = [ os.environ BOOST_ROOT ] ; - -# -# --layout=system -> libboost_system.a (default) -# --layout=tagged -> libboost_system.a(debug) libboost_system-mt.a(release) -# --layout=versioned -> libboost_system-xlc-mt-d-1.42(debug) libboost_system-xlc-mt-1_42.a(release) -# -# Boost libraries referenced in client/server programs -# assumes --layout=system for the debug release and profile variant -# -lib boost_system : : debug $(BOOST_ROOT)/stage/lib/libboost_system.a ; -lib boost_test : : debug $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.a ; -lib boost_test_monitor : : debug $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor.a ; -lib boost_program_options : : debug $(BOOST_ROOT)/stage/lib/libboost_program_options.a ; -lib boost_filesystem : : debug $(BOOST_ROOT)/stage/lib/libboost_filesystem.a ; -lib boost_datetime : : debug $(BOOST_ROOT)/stage/lib/libboost_date_time.a ; -lib boost_timer : : debug $(BOOST_ROOT)/stage/lib/libboost_timer.a ; -lib boost_chrono : : debug $(BOOST_ROOT)/stage/lib/libboost_chrono.a ; - -# profile uses release libs -lib boost_system : : profile $(BOOST_ROOT)/stage/lib/libboost_system-mt.a ; -lib boost_test : : profile $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-mt.a ; -lib boost_test_monitor : : profile $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-mt.a ; -lib boost_program_options : : profile $(BOOST_ROOT)/stage/lib/libboost_program_options-mt.a ; -lib boost_filesystem : : profile $(BOOST_ROOT)/stage/lib/libboost_filesystem-mt.a ; -lib boost_datetime : : profile $(BOOST_ROOT)/stage/lib/libboost_date_time-mt.a ; -lib boost_timer : : profile $(BOOST_ROOT)/stage/lib/libboost_timer-mt.a ; -lib boost_chrono : : profile $(BOOST_ROOT)/stage/lib/libboost_chrono.a ; - -lib boost_system : : release $(BOOST_ROOT)/stage/lib/libboost_system-mt.a ; -lib boost_test : : release $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-mt.a ; -lib boost_test_monitor : : release $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-mt.a ; -lib boost_program_options : : release $(BOOST_ROOT)/stage/lib/libboost_program_options-mt.a ; -lib boost_filesystem : : release $(BOOST_ROOT)/stage/lib/libboost_filesystem-mt.a ; -lib boost_datetime : : release $(BOOST_ROOT)/stage/lib/libboost_date_time-mt.a ; -lib boost_timer : : release $(BOOST_ROOT)/stage/lib/libboost_timer-mt.a ; -lib boost_chrono : : release $(BOOST_ROOT)/stage/lib/libboost_chrono.a ; - - -# libboost_test_exec_monitor is only build statically -lib boost_system : : debug shared $(BOOST_ROOT)/stage/lib/libboost_system.so ; -lib boost_test : : debug shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.so ; -lib boost_program_options : : debug shared $(BOOST_ROOT)/stage/lib/libboost_program_options.so ; -lib boost_filesystem : : debug shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.so ; -lib boost_datetime : : debug shared $(BOOST_ROOT)/stage/lib/libboost_date_time.so ; -lib boost_timer : : debug shared $(BOOST_ROOT)/stage/lib/libboost_timer.so ; -lib boost_chrono : : debug shared $(BOOST_ROOT)/stage/lib/libboost_chrono.so ; - -lib boost_system : : profile shared $(BOOST_ROOT)/stage/lib/libboost_system.so ; -lib boost_test : : profile shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.so ; -lib boost_program_options : : profile shared $(BOOST_ROOT)/stage/lib/libboost_program_options.so ; -lib boost_filesystem : : profile shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.so ; -lib boost_datetime : : profile shared $(BOOST_ROOT)/stage/lib/libboost_date_time.so ; -lib boost_timer : : profile shared $(BOOST_ROOT)/stage/lib/libboost_timer.so ; -lib boost_chrono : : profile shared $(BOOST_ROOT)/stage/lib/libboost_chrono.so ; - -lib boost_system : : release shared $(BOOST_ROOT)/stage/lib/libboost_system.so ; -lib boost_test : : release shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.so ; -lib boost_program_options : : release shared $(BOOST_ROOT)/stage/lib/libboost_program_options.so ; -lib boost_filesystem : : release shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.so ; -lib boost_datetime : : release shared $(BOOST_ROOT)/stage/lib/libboost_date_time.so ; -lib boost_timer : : release shared $(BOOST_ROOT)/stage/lib/libboost_timer.so ; -lib boost_chrono : : release shared $(BOOST_ROOT)/stage/lib/libboost_chrono.so ; -# =============================================================================== -# force all exe to link with crypt -lib crypt : : /usr/lib64/libcrypt.so ; -explicit crypt ; - - -# -# Notice: we don't add requirements pthread , because -# a/ Not all tests require it -# b/ Can cause links errors -# Hence left to individual projects/test -# -project site-config - : requirements $(BOOST_ROOT) crypt - ; - -using testing ; - -# ==================== INSTALL =====================================================ß -constant ECFLOW_INSTALL_PREFIX : /usr/local/apps ; - -# ==================== OPENSSL ====================================================== -# OPENSSL support, should really be in site-config.jam -# Currently we always build with ssl support# -# -# link with libdl.so, shared lib containing dlopen(),dlclose()dysym(), -# these functions are used by OpenSSL internally & thus -ldl is an -# indirect dependency when using -lcrypto(on Linux) Because we linking -# with static version of crypto, need to explicitly link against indirect dependencies. -lib libssl : : /usr/lib64/libssl.so ; -lib libcrypto : : /usr/lib64/libcrypto.so ; -lib dl ; # this dependency for using libcrypto, i.e dlopen,dlclose etc, when using static libcrypto -alias openssl_libs : libssl libcrypto dl ; - -# ================================================================================== -# Config generated from $WK/build_scripts/boost_build.sh -# ================================================================================== - diff --git a/build_scripts/site_config/site-config-Linux64.jam b/build_scripts/site_config/site-config-Linux64.jam deleted file mode 100644 index bbf724fbe..000000000 --- a/build_scripts/site_config/site-config-Linux64.jam +++ /dev/null @@ -1,119 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# =================================================================== -# site-config.jam file for Linux/gcc -# This file should be placed in $HOME or $BOOST_ROOT/tools/build/v2/ -# =================================================================== - -# -# Pull in environment variables -# -import os ; -local BOOST_ROOT = [ os.environ BOOST_ROOT ] ; - -# -# --layout=system -> libboost_system.a (default) -# --layout=tagged -> libboost_system-mt-d-x86.a(debug) libboost_system-mt-x86.a(release) -x86 added after boost 1.71 -# --layout=versioned -> libboost_system-xlc-mt-d-1.42(debug) libboost_system-xlc-mt-1_42.a(release) -# -# Boost libraries referenced in client/server programs -# assumes --layout=tagged for the debug release and profile variant -# - -# we dont build debug boost anymore, hence debug uses release libs - -lib boost_system : : debug $(BOOST_ROOT)/stage/lib/libboost_system.a ; -lib boost_test : : debug $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.a ; -lib boost_test_monitor : : debug $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor.a ; -lib boost_program_options : : debug $(BOOST_ROOT)/stage/lib/libboost_program_options.a ; -lib boost_filesystem : : debug $(BOOST_ROOT)/stage/lib/libboost_filesystem.a ; -lib boost_datetime : : debug $(BOOST_ROOT)/stage/lib/libboost_date_time.a ; -lib boost_timer : : debug $(BOOST_ROOT)/stage/lib/libboost_timer.a ; -lib boost_chrono : : debug $(BOOST_ROOT)/stage/lib/libboost_chrono.a ; - -lib boost_system : : profile $(BOOST_ROOT)/stage/lib/libboost_system.a ; -lib boost_test : : profile $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.a ; -lib boost_test_monitor : : profile $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor.a ; -lib boost_program_options : : profile $(BOOST_ROOT)/stage/lib/libboost_program_options.a ; -lib boost_filesystem : : profile $(BOOST_ROOT)/stage/lib/libboost_filesystem.a ; -lib boost_datetime : : profile $(BOOST_ROOT)/stage/lib/libboost_date_time.a ; -lib boost_timer : : profile $(BOOST_ROOT)/stage/lib/libboost_timer.a ; -lib boost_chrono : : profile $(BOOST_ROOT)/stage/lib/libboost_chrono.a ; - -lib boost_system : : release $(BOOST_ROOT)/stage/lib/libboost_system.a ; -lib boost_test : : release $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.a ; -lib boost_test_monitor : : release $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor.a ; -lib boost_program_options : : release $(BOOST_ROOT)/stage/lib/libboost_program_options.a ; -lib boost_filesystem : : release $(BOOST_ROOT)/stage/lib/libboost_filesystem.a ; -lib boost_datetime : : release $(BOOST_ROOT)/stage/lib/libboost_date_time.a ; -lib boost_timer : : release $(BOOST_ROOT)/stage/lib/libboost_timer.a ; -lib boost_chrono : : release $(BOOST_ROOT)/stage/lib/libboost_chrono.a ; - - -# libboost_test_exec_monitor is only build statically -lib boost_system : : debug shared $(BOOST_ROOT)/stage/lib/libboost_system.so ; -lib boost_test : : debug shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.so ; -lib boost_program_options : : debug shared $(BOOST_ROOT)/stage/lib/libboost_program_options.so ; -lib boost_filesystem : : debug shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.so ; -lib boost_datetime : : debug shared $(BOOST_ROOT)/stage/lib/libboost_date_time.so ; -lib boost_timer : : debug shared $(BOOST_ROOT)/stage/lib/libboost_timer.so ; -lib boost_chrono : : debug shared $(BOOST_ROOT)/stage/lib/libboost_chrono.so ; - -lib boost_system : : profile shared $(BOOST_ROOT)/stage/lib/libboost_system.so ; -lib boost_test : : profile shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.so ; -lib boost_program_options : : profile shared $(BOOST_ROOT)/stage/lib/libboost_program_options.so ; -lib boost_filesystem : : profile shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.so ; -lib boost_datetime : : profile shared $(BOOST_ROOT)/stage/lib/libboost_date_time.so ; -lib boost_timer : : profile shared $(BOOST_ROOT)/stage/lib/libboost_timer.so ; -lib boost_chrono : : profile shared $(BOOST_ROOT)/stage/lib/libboost_chrono.so ; - -lib boost_system : : release shared $(BOOST_ROOT)/stage/lib/libboost_system.so ; -lib boost_test : : release shared $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework.so ; -lib boost_program_options : : release shared $(BOOST_ROOT)/stage/lib/libboost_program_options.so ; -lib boost_filesystem : : release shared $(BOOST_ROOT)/stage/lib/libboost_filesystem.so ; -lib boost_datetime : : release shared $(BOOST_ROOT)/stage/lib/libboost_date_time.so ; -lib boost_timer : : release shared $(BOOST_ROOT)/stage/lib/libboost_timer.so ; -lib boost_chrono : : release shared $(BOOST_ROOT)/stage/lib/libboost_chrono.so ; - -# =============================================================================== -# force all exe to link with crypt -lib crypt : : /usr/lib64/libcrypt.so ; -explicit crypt ; - - -# -# Notice: we don't add requirements pthread , because -# a/ Not all tests require it -# b/ Can cause links errors -# Hence left to individual projects/test -# -project site-config - : requirements $(BOOST_ROOT) crypt - ; - -using testing ; - -# ==================== OPENSSL ====================================================== -# OPENSSL support, should really be in site-config.jam -# Currently we always build with ssl support# -# -# link with libdl.so, shared lib containing dlopen(),dlclose()dysym(), -# these functions are used by OpenSSL internally & thus -ldl is an -# indirect dependency when using -lcrypto(on Linux) Because we linking -# with static version of crypto, need to explicitly link against indirect dependencies. -lib libssl : : /usr/lib64/libssl.so ; -lib libcrypto : : /usr/lib64/libcrypto.so ; -lib dl : : shared ; # this dependency for using libcrypto, i.e dlopen,dlclose etc, when using static libcrypto -alias openssl_libs : libssl libcrypto dl ; - -# ==================== INSTALL =====================================================ß -constant ECFLOW_INSTALL_PREFIX : /usr/local/apps ; - -# ================================================================================== -# Config generated from $WK/build_scripts/boost_build.sh -# ================================================================================== diff --git a/build_scripts/site_config/site-config-cray.jam b/build_scripts/site_config/site-config-cray.jam deleted file mode 100644 index 63f26698b..000000000 --- a/build_scripts/site_config/site-config-cray.jam +++ /dev/null @@ -1,161 +0,0 @@ -## Copyright 2009- ECMWF. -## This software is licensed under the terms of the Apache Licence version 2.0 -## which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -## In applying this licence, ECMWF does not waive the privileges and immunities -## granted to it by virtue of its status as an intergovernmental organisation -## nor does it submit to any jurisdiction. - -# =================================================================== -# site-config.jam file for Linux/cray -# This file should be placed in $HOME or $BOOST_ROOT/tools/build/v2/ -# =================================================================== - -# -# Pull in environment variables -# -import os ; -local BOOST_ROOT = [ os.environ BOOST_ROOT ] ; -local MACHINE_NAME = [ os.environ MACHINE_NAME ] ; - -# -# --layout=system -> libboost_system.a (default) -# --layout=tagged -> libboost_system-mt-d.a(debug) libboost_system-mt.a(release) -# --layout=versioned -> libboost_system-xlc-mt-d-1.42(debug) libboost_system-xlc-mt-1_42.a(release) -# -# Boost libraries referenced in client/server programs -# assumes --layout=tagged for the debug release and profile variant -# - -GCC_TAG = gcc46 ; -VERSION_TAG = 1_53 ; -switch $(BOOST_ROOT) { - case *boost_1_55_0 : VERSION_TAG = 1_55 ; - case *boost_1_56_0 : VERSION_TAG = 1_56 ; - case *boost_1_57_0 : VERSION_TAG = 1_57 ; -} - -switch $(MACHINE_NAME) { - case cca : GCC_TAG = gcc48 ; - case ccb : GCC_TAG = gcc48 ; -} - - -lib boost_system : : debug $(BOOST_ROOT)/stage/lib/libboost_system-$(GCC_TAG)-mt-d-$(VERSION_TAG).a ; -lib boost_test : : debug $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-$(GCC_TAG)-mt-d-$(VERSION_TAG).a ; -lib boost_test_monitor : : debug $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-$(GCC_TAG)-mt-d-$(VERSION_TAG).a ; -lib boost_program_options : : debug $(BOOST_ROOT)/stage/lib/libboost_program_options-$(GCC_TAG)-mt-d-$(VERSION_TAG).a ; -lib boost_filesystem : : debug $(BOOST_ROOT)/stage/lib/libboost_filesystem-$(GCC_TAG)-mt-d-$(VERSION_TAG).a ; -lib boost_datetime : : debug $(BOOST_ROOT)/stage/lib/libboost_date_time-$(GCC_TAG)-mt-d-$(VERSION_TAG).a ; - -# profile uses release libs -lib boost_system : : profile $(BOOST_ROOT)/stage/lib/libboost_system-$(GCC_TAG)-mt-$(VERSION_TAG).a ; -lib boost_test : : profile $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-$(GCC_TAG)-mt-$(VERSION_TAG).a ; -lib boost_test_monitor : : profile $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-$(GCC_TAG)-mt-$(VERSION_TAG).a ; -lib boost_program_options : : profile $(BOOST_ROOT)/stage/lib/libboost_program_options-$(GCC_TAG)-mt-$(VERSION_TAG).a ; -lib boost_filesystem : : profile $(BOOST_ROOT)/stage/lib/libboost_filesystem-$(GCC_TAG)-mt-$(VERSION_TAG).a ; -lib boost_datetime : : profile $(BOOST_ROOT)/stage/lib/libboost_date_time-$(GCC_TAG)-mt-$(VERSION_TAG).a ; - -lib boost_system : : release $(BOOST_ROOT)/stage/lib/libboost_system-$(GCC_TAG)-mt-$(VERSION_TAG).a ; -lib boost_test : : release $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-$(GCC_TAG)-mt-$(VERSION_TAG).a ; -lib boost_test_monitor : : release $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-$(GCC_TAG)-mt-$(VERSION_TAG).a ; -lib boost_program_options : : release $(BOOST_ROOT)/stage/lib/libboost_program_options-$(GCC_TAG)-mt-$(VERSION_TAG).a ; -lib boost_filesystem : : release $(BOOST_ROOT)/stage/lib/libboost_filesystem-$(GCC_TAG)-mt-$(VERSION_TAG).a ; -lib boost_datetime : : release $(BOOST_ROOT)/stage/lib/libboost_date_time-$(GCC_TAG)-mt-$(VERSION_TAG).a ; - -# INTEL ================================================================================================ - -lib boost_system : : intel debug $(BOOST_ROOT)/stage/lib/libboost_system-il-mt-d-$(VERSION_TAG).a ; -lib boost_test : : intel debug $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-il-mt-d-$(VERSION_TAG).a ; -lib boost_test_monitor : : intel debug $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-il-mt-d-$(VERSION_TAG).a ; -lib boost_program_options : : intel debug $(BOOST_ROOT)/stage/lib/libboost_program_options-il-mt-d-$(VERSION_TAG).a ; -lib boost_filesystem : : intel debug $(BOOST_ROOT)/stage/lib/libboost_filesystem-il-mt-d-$(VERSION_TAG).a ; -lib boost_datetime : : intel debug $(BOOST_ROOT)/stage/lib/libboost_date_time-il-mt-d-$(VERSION_TAG).a ; - -lib boost_system : : intel profile $(BOOST_ROOT)/stage/lib/libboost_system-il-mt-$(VERSION_TAG).a ; -lib boost_test : : intel profile $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-il-mt-$(VERSION_TAG).a ; -lib boost_test_monitor : : intel profile $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-il-mt-$(VERSION_TAG).a ; -lib boost_program_options : : intel profile $(BOOST_ROOT)/stage/lib/libboost_program_options-il-mt-$(VERSION_TAG).a ; -lib boost_filesystem : : intel profile $(BOOST_ROOT)/stage/lib/libboost_filesystem-il-mt-$(VERSION_TAG).a ; -lib boost_datetime : : intel profile $(BOOST_ROOT)/stage/lib/libboost_date_time-il-mt-$(VERSION_TAG).a ; - -lib boost_system : : intel release $(BOOST_ROOT)/stage/lib/libboost_system-il-mt-$(VERSION_TAG).a ; -lib boost_test : : intel release $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-il-mt-$(VERSION_TAG).a ; -lib boost_test_monitor : : intel release $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-il-mt-$(VERSION_TAG).a ; -lib boost_program_options : : intel release $(BOOST_ROOT)/stage/lib/libboost_program_options-il-mt-$(VERSION_TAG).a ; -lib boost_filesystem : : intel release $(BOOST_ROOT)/stage/lib/libboost_filesystem-il-mt-$(VERSION_TAG).a ; -lib boost_datetime : : intel release $(BOOST_ROOT)/stage/lib/libboost_date_time-il-mt-$(VERSION_TAG).a ; - -# CRAY ================================================================================================ -lib boost_system : : cray debug $(BOOST_ROOT)/stage/lib/libboost_system-mt-d-$(VERSION_TAG).a ; -lib boost_test : : cray debug $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-mt-d-$(VERSION_TAG).a ; -lib boost_test_monitor : : cray debug $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-mt-d-$(VERSION_TAG).a ; -lib boost_program_options : : cray debug $(BOOST_ROOT)/stage/lib/libboost_program_options-mt-d-$(VERSION_TAG).a ; -lib boost_filesystem : : cray debug $(BOOST_ROOT)/stage/lib/libboost_filesystem-mt-d-$(VERSION_TAG).a ; -lib boost_datetime : : cray debug $(BOOST_ROOT)/stage/lib/libboost_date_time-mt-d-$(VERSION_TAG).a ; - -lib boost_system : : cray profile $(BOOST_ROOT)/stage/lib/libboost_system-mt-$(VERSION_TAG).a ; -lib boost_test : : cray profile $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-mt-$(VERSION_TAG).a ; -lib boost_test_monitor : : cray profile $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-mt-$(VERSION_TAG).a ; -lib boost_program_options : : cray profile $(BOOST_ROOT)/stage/lib/libboost_program_options-mt-$(VERSION_TAG).a ; -lib boost_filesystem : : cray profile $(BOOST_ROOT)/stage/lib/libboost_filesystem-mt-$(VERSION_TAG).a ; -lib boost_datetime : : cray profile $(BOOST_ROOT)/stage/lib/libboost_date_time-mt-$(VERSION_TAG).a ; - -lib boost_system : : cray release $(BOOST_ROOT)/stage/lib/libboost_system-mt-$(VERSION_TAG).a ; -lib boost_test : : cray release $(BOOST_ROOT)/stage/lib/libboost_unit_test_framework-mt-$(VERSION_TAG).a ; -lib boost_test_monitor : : cray release $(BOOST_ROOT)/stage/lib/libboost_test_exec_monitor-mt-$(VERSION_TAG).a ; -lib boost_program_options : : cray release $(BOOST_ROOT)/stage/lib/libboost_program_options-mt-$(VERSION_TAG).a ; -lib boost_filesystem : : cray release $(BOOST_ROOT)/stage/lib/libboost_filesystem-mt-$(VERSION_TAG).a ; -lib boost_datetime : : cray release $(BOOST_ROOT)/stage/lib/libboost_date_time-mt-$(VERSION_TAG).a ; - - -# ******************** CRAY Compiler specific ************************************ -# The customer may be able to work around this by adding -# -# -DBOOST_ASIO_DISABLE_FENCED_BLOCK=1 -# -# to the compiler invocation. -# -# The issue is that the various compiler macros set are causing a file with gcc -# inline assembly to be included. CCE does not currently support inline assembly. -# -# Note that adding this macro to the command line may cause additional Boost -# compilation errors to surface. -# -# Notice: we don't add requirements pthread , because -# a/ Not all tests require it -# b/ Can cause links errors -# Hence left to individual projects/test -# -# *********************************************************************************** - -# =============================================================================== -# force all exe to link with crypt -lib crypt : : /usr/lib64/libcrypt.so ; -explicit crypt ; - -project site-config - : requirements $(BOOST_ROOT) crypt - : requirements cray:BOOST_ASIO_DISABLE_FENCED_BLOCK - ; - -using testing ; - -# ==================== INSTALL =====================================================ß -constant ECFLOW_INSTALL_PREFIX : /usr/local/apps ; - -# ==================== OPENSSL ====================================================== -# OPENSSL support, should really be in site-config.jam -# Currently we always build with ssl support# -# -# link with libdl.so, shared lib containing dlopen(),dlclose()dysym(), -# these functions are used by OpenSSL internally & thus -ldl is an -# indirect dependency when using -lcrypto(on Linux) Because we linking -# with static version of crypto, need to explicitly link against indirect dependencies. -lib libssl : : /usr/lib64/libssl.so ; -lib libcrypto : : /usr/lib64/libcrypto.so ; -lib dl ; # this dependency for using libcrypto, i.e dlopen,dlclose etc, when using static libcrypto -alias openssl_libs : libssl libcrypto dl ; - -# ================================================================================== -# Config generated from $WK/build_scripts/boost_build.sh -# ================================================================================== diff --git a/build_scripts/site_config/user-config.jam_sample b/build_scripts/site_config/user-config.jam_sample deleted file mode 100644 index c74712a27..000000000 --- a/build_scripts/site_config/user-config.jam_sample +++ /dev/null @@ -1,129 +0,0 @@ -# Copyright 2003, 2005 Douglas Gregor -# Copyright 2004 John Maddock -# Copyright 2002, 2003, 2004, 2007 Vladimir Prus -# 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) - -# This file is used to configure your Boost.Build installation. You can modify -# this file in place, or you can place it in a permanent location so that it -# does not get overwritten should you get a new version of Boost.Build. See: -# -# http://www.boost.org/boost-build2/doc/html/bbv2/overview/configuration.html -# -# for documentation about possible permanent locations. - -# This file specifies which toolsets (C++ compilers), libraries, and other -# tools are available. Often, you should be able to just uncomment existing -# example lines and adjust them to taste. The complete list of supported tools, -# and configuration instructions can be found at: -# -# http://boost.org/boost-build2/doc/html/bbv2/reference/tools.html -# - -# This file uses Jam language syntax to describe available tools. Mostly, -# there are 'using' lines, that contain the name of the used tools, and -# parameters to pass to those tools -- where parameters are separated by -# semicolons. Important syntax notes: -# -# - Both ':' and ';' must be separated from other tokens by whitespace -# - The '\' symbol is a quote character, so when specifying Windows paths you -# should use '/' or '\\' instead. -# -# More details about the syntax can be found at: -# -# http://boost.org/boost-build2/doc/html/bbv2/advanced.html#bbv2.advanced.jam_language -# - -# ------------------ -# GCC configuration. -# ------------------ - -# Configure gcc (default version). -# using gcc ; - -# Configure specific gcc version, giving alternative name to use. -# using gcc : 3.2 : g++-3.2 ; - - -# ------------------- -# MSVC configuration. -# ------------------- - -# Configure msvc (default version, searched for in standard locations and PATH). -# using msvc ; - -# Configure specific msvc version (searched for in standard locations and PATH). -# using msvc : 8.0 ; - - -# ---------------------- -# Borland configuration. -# ---------------------- -# using borland ; - - -# ---------------------- -# STLPort configuration. -# ---------------------- - -# Configure specifying location of STLPort headers. Libraries must be either -# not needed or available to the compiler by default. -# using stlport : : /usr/include/stlport ; - -# Configure specifying location of both headers and libraries explicitly. -# using stlport : : /usr/include/stlport /usr/lib ; - - -# ----------------- -# QT configuration. -# ----------------- - -# Configure assuming QTDIR gives the installation prefix. -# using qt ; - -# Configure with an explicit installation prefix. -# using qt : /usr/opt/qt ; - - - -# Configure specific Python version. -# ---------------------------------------------------------------------------------------- -# ecflow configuration -# ---------------------------------------------------------------------------------------- - -project user-config ; - -# On linux 64, because most of the static library's, are placed in a shared libs(ecflow.so) -# hence we need to compile with -fPIC -using gcc : : : -fPIC ; - - -# --------------------- -# Python configuration. -# --------------------- - -import os ; -local BOOST_ROOT = [ os.environ BOOST_ROOT ] ; - -# Configure the boost python library used -ECF_PYTHON2 = [ os.environ ECF_PYTHON2 ] ; -# echo "ECF_PYTHON2 = $(ECF_PYTHON2)" ; -if $(ECF_PYTHON2) { - lib boost_python : : $(BOOST_ROOT)/stage/lib/libboost_python27.a ; - using python : 2.7 ; -} -else { - lib boost_python : : $(BOOST_ROOT)/stage/lib/libboost_python36.a ; - using python : 3.6 : /usr/local/apps/python3/3.6.8-01/bin/python3 : /usr/local/apps/python3/3.6.8-01/include/python3.6m ; -} - -# used in the install -constant PYTHON3_VERSION : 3.6 ; - -#using python -# : # version -# : # cmd-or-prefix -# : # includes -# : # libraries -# : # condition -# ;