Last active
August 29, 2015 14:20
-
-
Save mkuron/0ca9f80559ee5517a76d to your computer and use it in GitHub Desktop.
Porting Boost to the NEC SX-ACE vector computer
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff -Nru -x bin.v2 -x build -x '._*' -x '*.log' -x bin -x project-config.jam boost_1_58_0/boost/chrono/detail/inlined/posix/chrono.hpp boost-sxace/boost/chrono/detail/inlined/posix/chrono.hpp | |
--- boost_1_58_0/boost/chrono/detail/inlined/posix/chrono.hpp 2015-03-16 19:40:45.000000000 +0100 | |
+++ boost-sxace/boost/chrono/detail/inlined/posix/chrono.hpp 2015-05-12 09:38:50.830684772 +0200 | |
@@ -12,6 +12,18 @@ | |
#include <time.h> // for clock_gettime | |
+#ifdef _SX | |
+#include <second.h> | |
+#define CLOCK_REALTIME 0 | |
+inline int clock_gettime(int, struct timespec *tp) | |
+{ | |
+ double s = second(); | |
+ tp->tv_sec = s; | |
+ tp->tv_nsec = (s - tp->tv_sec) * 1e9; | |
+ return 0; | |
+} | |
+#endif | |
+ | |
namespace boost | |
{ | |
namespace chrono | |
diff -Nru -x bin.v2 -x build -x '._*' -x '*.log' -x bin -x project-config.jam boost_1_58_0/boost/chrono/system_clocks.hpp boost-sxace/boost/chrono/system_clocks.hpp | |
--- boost_1_58_0/boost/chrono/system_clocks.hpp 2015-03-16 19:40:45.000000000 +0100 | |
+++ boost-sxace/boost/chrono/system_clocks.hpp 2015-05-10 09:45:09.057614129 +0200 | |
@@ -67,7 +67,7 @@ | |
#include <ctime> | |
# if defined( BOOST_CHRONO_POSIX_API ) | |
-# if ! defined(CLOCK_REALTIME) && ! defined (__hpux__) | |
+# if ! defined(CLOCK_REALTIME) && ! defined (__hpux__) && ! defined(_SX) | |
# error <time.h> does not supply CLOCK_REALTIME | |
# endif | |
# endif | |
diff -Nru -x bin.v2 -x build -x '._*' -x '*.log' -x bin -x project-config.jam boost_1_58_0/boost/config/compiler/necsx.hpp boost-sxace/boost/config/compiler/necsx.hpp | |
--- boost_1_58_0/boost/config/compiler/necsx.hpp 1970-01-01 01:00:00.000000000 +0100 | |
+++ boost-sxace/boost/config/compiler/necsx.hpp 2015-05-01 00:00:00.000000000 +0200 | |
@@ -0,0 +1,95 @@ | |
+// 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) | |
+ | |
+// See http://www.boost.org for most recent version. | |
+ | |
+#define BOOST_COMPILER "NEC SX/C++" | |
+ | |
+ | |
+ | |
+ | |
+//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG | |
+#define BOOST_MATH_DISABLE_STD_FPCLASSIFY | |
+//#define BOOST_HAS_FPCLASSIFY | |
+ | |
+#define BOOST_SP_USE_PTHREADS | |
+#define BOOST_AC_USE_PTHREADS | |
+ | |
+#define BOOST_NO_CXX11_HDR_ARRAY | |
+#define BOOST_NO_CXX11_HDR_ATOMIC | |
+#define BOOST_NO_CXX11_HDR_CHRONO | |
+#define BOOST_NO_CXX11_HDR_CODECVT | |
+#define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE | |
+#define BOOST_NO_CXX11_HDR_FORWARD_LIST | |
+#define BOOST_NO_CXX11_HDR_FUNCTIONAL | |
+#define BOOST_NO_CXX11_HDR_FUTURE | |
+#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST | |
+#define BOOST_NO_CXX11_HDR_MUTEX | |
+#define BOOST_NO_CXX11_HDR_RANDOM | |
+#define BOOST_NO_CXX11_HDR_RATIO | |
+#define BOOST_NO_CXX11_HDR_REGEX | |
+#define BOOST_NO_CXX11_HDR_SYSTEM_ERROR | |
+#define BOOST_NO_CXX11_HDR_THREAD | |
+#define BOOST_NO_CXX11_HDR_TUPLE | |
+#define BOOST_NO_CXX11_HDR_TYPEINDEX | |
+#define BOOST_NO_CXX11_HDR_TYPE_TRAITS | |
+#define BOOST_NO_CXX11_HDR_UNORDERED_MAP | |
+#define BOOST_NO_CXX11_HDR_UNORDERED_SET | |
+#define BOOST_NO_CXX11_NUMERIC_LIMITS | |
+#define BOOST_NO_CXX11_SMART_PTR | |
+#define BOOST_NO_CXX11_STD_ALIGN | |
+#define BOOST_NO_MS_INT64_NUMERIC_LIMITS | |
+// from tests | |
+#define BOOST_NO_CXX11_CONSTEXPR | |
+#define BOOST_NO_CXX11_ALIGNAS | |
+#define BOOST_NO_CXX11_REF_QUALIFIERS | |
+#define BOOST_NO_CXX11_USER_DEFINED_LITERALS | |
+#define BOOST_NO_CXX14_CONSTEXPR | |
+#define BOOST_NO_CXX14_DECLTYPE_AUTO | |
+#define BOOST_NO_CXX14_DIGIT_SEPARATORS | |
+#define BOOST_NO_CXX14_GENERIC_LAMBDAS | |
+#define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES | |
+#define BOOST_NO_CXX14_AGGREGATE_NSDMI | |
+#define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION | |
+#define BOOST_NO_CXX14_VARIABLE_TEMPLATES | |
+#define BOOST_NO_CXX11_DECLTYPE_N3276 | |
+#ifndef __EXCEPTIONS | |
+// #define BOOST_NO_EXCEPTIONS | |
+#endif | |
+#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS | |
+#define BOOST_NO_RAW_LITERALS | |
+#define BOOST_NO_CXX11_RAW_LITERALS | |
+#define BOOST_NO_UNREACHABLE_RETURN_DETECTION | |
+#define BOOST_NO_RTTI | |
+#define BOOST_NO_TYPEID | |
+#define BOOST_NO_UNICODE_LITERALS | |
+#define BOOST_NO_CXX11_UNICODE_LITERALS | |
+#define BOOST_HAS_PTHREADS | |
+#define BOOST_DISABLE_THREADS | |
+ | |
+// These constants should be provided by the | |
+// compiler, at least when -hgnu is asserted on the command line. | |
+ | |
+#ifndef __ATOMIC_RELAXED | |
+#define __ATOMIC_RELAXED 0 | |
+#define __ATOMIC_CONSUME 1 | |
+#define __ATOMIC_ACQUIRE 2 | |
+#define __ATOMIC_RELEASE 3 | |
+#define __ATOMIC_ACQ_REL 4 | |
+#define __ATOMIC_SEQ_CST 5 | |
+#endif | |
+ | |
+ | |
+ | |
+#define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS | |
+#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS | |
+#define BOOST_NO_CXX11_DELETED_FUNCTIONS | |
+#define BOOST_PROPERTY_TREE_PAIR_BUG | |
+#define BOOST_TYPEOF_LIMIT_SIZE 10 | |
+#define BOOST_TYPEOF_NO_MEMBER_FUNCTION_TYPES | |
+#define BOOST_TYPEOF_LIMIT_FUNCTION_ARITY 8 | |
+#define BOOST_MPL_LIMIT_MAP_SIZE 10 | |
+#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS | |
+#define BOOST_SP_DISABLE_THREADS | |
+#undef BOOST_SP_USE_PTHREADS | |
diff -Nru -x bin.v2 -x build -x '._*' -x '*.log' -x bin -x project-config.jam boost_1_58_0/boost/config/select_compiler_config.hpp boost-sxace/boost/config/select_compiler_config.hpp | |
--- boost_1_58_0/boost/config/select_compiler_config.hpp 2015-03-24 19:27:48.000000000 +0100 | |
+++ boost-sxace/boost/config/select_compiler_config.hpp 2015-05-08 11:35:11.713006272 +0200 | |
@@ -23,6 +23,10 @@ | |
// GCC-XML emulates other compilers, it has to appear first here! | |
# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp" | |
+#elif defined(_SX) | |
+// EDG based NEC SX compiler: | |
+# define BOOST_COMPILER_CONFIG "boost/config/compiler/necsx.hpp" | |
+ | |
#elif defined(_CRAYC) | |
// EDG based Cray compiler: | |
# define BOOST_COMPILER_CONFIG "boost/config/compiler/cray.hpp" | |
diff -Nru -x bin.v2 -x build -x '._*' -x '*.log' -x bin -x project-config.jam boost_1_58_0/boost/config/suffix.hpp boost-sxace/boost/config/suffix.hpp | |
--- boost_1_58_0/boost/config/suffix.hpp 2015-03-24 19:27:48.000000000 +0100 | |
+++ boost-sxace/boost/config/suffix.hpp 2015-05-08 11:47:18.336770045 +0200 | |
@@ -520,7 +520,7 @@ | |
// the global definition into std namespace: | |
#if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus) | |
#include <typeinfo> | |
-namespace std{ using ::type_info; } | |
+namespace std{ using std::type_info; } | |
#endif | |
// ---------------------------------------------------------------------------// | |
diff -Nru -x bin.v2 -x build -x '._*' -x '*.log' -x bin -x project-config.jam boost_1_58_0/boost/filesystem/path.hpp boost-sxace/boost/filesystem/path.hpp | |
--- boost_1_58_0/boost/filesystem/path.hpp 2015-03-30 16:28:45.000000000 +0200 | |
+++ boost-sxace/boost/filesystem/path.hpp 2015-07-27 10:24:46.849283331 +0200 | |
@@ -29,7 +29,7 @@ | |
#include <boost/shared_ptr.hpp> | |
#include <boost/io/detail/quoted_manip.hpp> | |
#include <boost/static_assert.hpp> | |
-#include <boost/functional/hash_fwd.hpp> | |
+#include <boost/functional/hash.hpp> | |
#include <boost/type_traits/is_integral.hpp> | |
#include <string> | |
#include <iterator> | |
diff -Nru -x bin.v2 -x build -x '._*' -x '*.log' -x bin -x project-config.jam boost_1_58_0/boost/fusion/container/map/map_fwd.hpp boost-sxace/boost/fusion/container/map/map_fwd.hpp | |
--- boost_1_58_0/boost/fusion/container/map/map_fwd.hpp 2015-04-01 03:15:28.000000000 +0200 | |
+++ boost-sxace/boost/fusion/container/map/map_fwd.hpp 2015-05-16 14:33:54.191189579 +0200 | |
@@ -13,7 +13,8 @@ | |
#if (defined(BOOST_NO_CXX11_DECLTYPE) \ | |
|| defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ | |
|| defined(BOOST_NO_CXX11_RVALUE_REFERENCES)) \ | |
- || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) | |
+ || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) \ | |
+ || defined(_SX) | |
# if defined(BOOST_FUSION_HAS_VARIADIC_MAP) | |
# undef BOOST_FUSION_HAS_VARIADIC_MAP | |
# endif | |
diff -Nru -x bin.v2 -x build -x '._*' -x '*.log' -x bin -x project-config.jam boost_1_58_0/boost/multi_index/detail/vartempl_support.hpp boost-sxace/boost/multi_index/detail/vartempl_support.hpp | |
--- boost_1_58_0/boost/multi_index/detail/vartempl_support.hpp 2015-02-23 16:08:43.000000000 +0100 | |
+++ boost-sxace/boost/multi_index/detail/vartempl_support.hpp 2015-05-09 13:02:42.022909193 +0200 | |
@@ -42,7 +42,8 @@ | |
#include <boost/config.hpp> | |
#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)||\ | |
- defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) | |
+ defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) ||\ | |
+ defined(_SX) | |
#include <boost/move/core.hpp> | |
#include <boost/move/utility.hpp> | |
diff -Nru -x bin.v2 -x build -x '._*' -x '*.log' -x bin -x project-config.jam boost_1_58_0/boost/pending/container_traits.hpp boost-sxace/boost/pending/container_traits.hpp | |
--- boost_1_58_0/boost/pending/container_traits.hpp 2014-08-03 21:46:30.000000000 +0200 | |
+++ boost-sxace/boost/pending/container_traits.hpp 2015-05-16 11:26:29.101326119 +0200 | |
@@ -39,7 +39,7 @@ | |
#include <unordered_map> | |
#endif | |
-#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES | |
+#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES || defined(_SX) | |
#define BOOST_PENDING_FWD_TYPE(type) const type& | |
#define BOOST_PENDING_FWD_VALUE(type, var) (var) | |
#else | |
diff -Nru -x bin.v2 -x build -x '._*' -x '*.log' -x bin -x project-config.jam boost_1_58_0/boost/spirit/home/support/action_dispatch.hpp boost-sxace/boost/spirit/home/support/action_dispatch.hpp | |
--- boost_1_58_0/boost/spirit/home/support/action_dispatch.hpp 2014-12-15 11:45:21.000000000 +0100 | |
+++ boost-sxace/boost/spirit/home/support/action_dispatch.hpp 2015-05-01 00:00:00.000000000 +0200 | |
@@ -16,7 +16,8 @@ | |
#include<boost/config.hpp> | |
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_LAMBDAS) && \ | |
- !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_DECLTYPE) | |
+ !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_DECLTYPE) && \ | |
+ !defined(_SX) | |
#include <utility> | |
#include <type_traits> | |
#endif | |
@@ -31,7 +32,8 @@ | |
struct action_dispatch | |
{ | |
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_LAMBDAS) && \ | |
- !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_DECLTYPE) | |
+ !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_DECLTYPE) && \ | |
+ !defined(_SX) | |
// omit function parameters without specializing for each possible | |
// type of callable entity | |
// many thanks to Eelis/##iso-c++ for this contribution | |
diff -Nru -x bin.v2 -x build -x '._*' -x '*.log' -x bin -x project-config.jam boost_1_58_0/boost/system/detail/error_code.ipp boost-sxace/boost/system/detail/error_code.ipp | |
--- boost_1_58_0/boost/system/detail/error_code.ipp 2015-01-06 17:08:27.000000000 +0100 | |
+++ boost-sxace/boost/system/detail/error_code.ipp 2015-05-09 10:41:48.142995459 +0200 | |
@@ -88,7 +88,8 @@ | |
|| (defined(__osf__) && !defined(_REENTRANT))\ | |
|| (defined(__INTEGRITY))\ | |
|| (defined(__vms))\ | |
- || (defined(__QNXNTO__)) | |
+ || (defined(__QNXNTO__)) \ | |
+ || (defined(_SX)) | |
const char * c_str = std::strerror( ev ); | |
return c_str | |
? std::string( c_str ) | |
diff -Nru -x bin.v2 -x build -x '._*' -x '*.log' -x bin -x project-config.jam boost_1_58_0/boost/type_index/detail/compile_time_type_info.hpp boost-sxace/boost/type_index/detail/compile_time_type_info.hpp | |
--- boost_1_58_0/boost/type_index/detail/compile_time_type_info.hpp 2015-03-12 13:20:12.000000000 +0100 | |
+++ boost-sxace/boost/type_index/detail/compile_time_type_info.hpp 2015-05-09 11:52:53.392383409 +0200 | |
@@ -123,7 +123,8 @@ | |
|| (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) \ | |
|| (defined(__ICC) && (__ICC >= 600)) \ | |
|| defined(__ghs__) \ | |
- || defined(__DMC__) | |
+ || defined(__DMC__) \ | |
+ || defined(_SX) | |
return boost::typeindex::detail::skip_begining< sizeof(__PRETTY_FUNCTION__) >(__PRETTY_FUNCTION__); | |
#else | |
diff -Nru -x bin.v2 -x build -x '._*' -x '*.log' -x bin -x project-config.jam boost_1_58_0/boost/utility/base_from_member.hpp boost-sxace/boost/utility/base_from_member.hpp | |
--- boost_1_58_0/boost/utility/base_from_member.hpp 2015-02-27 07:26:11.000000000 +0100 | |
+++ boost-sxace/boost/utility/base_from_member.hpp 2015-05-09 12:03:16.833101889 +0200 | |
@@ -129,7 +129,8 @@ | |
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \ | |
!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && \ | |
!defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && \ | |
- !(defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)) | |
+ !(defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)) && \ | |
+ !defined(_SX) | |
template <typename ...T, typename EnableIf = typename | |
::boost::detail::enable_if_unrelated<base_from_member, T...>::type> | |
explicit BOOST_CONSTEXPR base_from_member( T&& ...x ) | |
diff -Nru -x bin.v2 -x build -x '._*' -x '*.log' -x bin -x project-config.jam boost_1_58_0/libs/filesystem/src/operations.cpp boost-sxace/libs/filesystem/src/operations.cpp | |
--- boost_1_58_0/libs/filesystem/src/operations.cpp 2015-03-30 16:28:45.000000000 +0200 | |
+++ boost-sxace/libs/filesystem/src/operations.cpp 2015-05-10 09:58:40.280434037 +0200 | |
@@ -29,6 +29,11 @@ | |
#define _FILE_OFFSET_BITS 64 | |
#endif | |
+#ifdef _SX | |
+#define S_ISSOCK(mode) ((mode&0xF000) == 0xC000) | |
+#define S_ISLNK(mode) ((mode&0xF000) == 0xA000) | |
+#endif | |
+ | |
// define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows | |
// the library is being built (possibly exporting rather than importing code) | |
#define BOOST_FILESYSTEM_SOURCE | |
@@ -72,7 +77,7 @@ | |
# include <sys/types.h> | |
# include <sys/stat.h> | |
# if !defined(__APPLE__) && !defined(__OpenBSD__) && !defined(__ANDROID__) \ | |
- && !defined(__VXWORKS__) | |
+ && !defined(__VXWORKS__) && !defined(_SX) | |
# include <sys/statvfs.h> | |
# define BOOST_STATVFS statvfs | |
# define BOOST_STATVFS_F_FRSIZE vfs.f_frsize | |
@@ -81,6 +86,8 @@ | |
# include <sys/param.h> | |
# elif defined(__ANDROID__) | |
# include <sys/vfs.h> | |
+# elif defined(_SX) | |
+# include <sys/statfs.h> | |
# endif | |
# if !defined(__VXWORKS__) | |
# include <sys/mount.h> | |
@@ -1568,7 +1575,11 @@ | |
# ifdef BOOST_POSIX_API | |
struct BOOST_STATVFS vfs; | |
space_info info; | |
+#ifndef _SX | |
if (!error(::BOOST_STATVFS(p.c_str(), &vfs)!= 0, | |
+#else | |
+ if (!error(::BOOST_STATVFS(p.c_str(), &vfs, sizeof(struct BOOST_STATVFS), 0)!= 0, | |
+#endif | |
p, ec, "boost::filesystem::space")) | |
{ | |
info.capacity | |
@@ -1576,7 +1587,11 @@ | |
info.free | |
= static_cast<boost::uintmax_t>(vfs.f_bfree)* BOOST_STATVFS_F_FRSIZE; | |
info.available | |
+#ifndef _SX | |
= static_cast<boost::uintmax_t>(vfs.f_bavail)* BOOST_STATVFS_F_FRSIZE; | |
+#else | |
+ = info.free; | |
+#endif | |
} | |
# else | |
@@ -1986,7 +2001,8 @@ | |
&& defined(_SC_THREAD_SAFE_FUNCTIONS)\ | |
&& (_POSIX_THREAD_SAFE_FUNCTIONS+0 >= 0)\ | |
&& (!defined(__hpux) || defined(_REENTRANT)) \ | |
- && (!defined(_AIX) || defined(__THREAD_SAFE)) | |
+ && (!defined(_AIX) || defined(__THREAD_SAFE)) \ | |
+ && !defined(_SX) | |
if (::sysconf(_SC_THREAD_SAFE_FUNCTIONS)>= 0) | |
{ return ::readdir_r(dirp, entry, result); } | |
# endif | |
diff -Nru -x bin.v2 -x build -x '._*' -x '*.log' -x bin -x project-config.jam boost_1_58_0/libs/iostreams/src/mapped_file.cpp boost-sxace/libs/iostreams/src/mapped_file.cpp | |
--- boost_1_58_0/libs/iostreams/src/mapped_file.cpp 2015-01-25 20:33:40.000000000 +0100 | |
+++ boost-sxace/libs/iostreams/src/mapped_file.cpp 2015-05-09 20:37:26.760954527 +0200 | |
@@ -10,6 +10,8 @@ | |
// than using it (possibly importing code). | |
#define BOOST_IOSTREAMS_SOURCE | |
+#ifndef _SX | |
+ | |
#include <cassert> | |
#include <boost/iostreams/detail/config/rtl.hpp> | |
#include <boost/iostreams/detail/config/windows_posix.hpp> | |
@@ -494,3 +496,6 @@ | |
//----------------------------------------------------------------------------// | |
} } // End namespaces iostreams, boost. | |
+ | |
+#endif | |
+ | |
diff -Nru -x '._*' boost_1_58_0/tools/build/src/tools/necsx.jam boost-sxace/tools/build/src/tools/necsx.jam | |
--- boost_1_58_0/tools/build/src/tools/necsx.jam 1970-01-01 01:00:00.000000000 +0100 | |
+++ boost-sxace/tools/build/src/tools/necsx.jam 2015-05-09 11:32:46.000000000 +0200 | |
@@ -0,0 +1,76 @@ | |
+import toolset ; | |
+import feature ; | |
+import toolset : flags ; | |
+import common ; | |
+import generators ; | |
+import os ; | |
+import unix ; | |
+ | |
+feature.extend toolset : necsx ; | |
+toolset.inherit necsx : unix ; | |
+ | |
+rule init ( version ? : command * : options * ) | |
+{ | |
+} | |
+ | |
+toolset.inherit-flags necsx : unix ; | |
+ | |
+feature.subfeature toolset necsx : platform : : propagated link-incompatible ; | |
+generators.override necsx.prebuilt : builtin.lib-generator ; | |
+generators.override necsx.searched-lib-generator : searched-lib-generator ; | |
+ | |
+generators.register-c-compiler necsx.compile.c++ : CPP : OBJ : <toolset>necsx ; | |
+generators.register-c-compiler necsx.compile.c : C : OBJ : <toolset>necsx ; | |
+ | |
+flags necsx C++FLAGS <exception-handling>off : -Knoexceptions ; | |
+flags necsx C++FLAGS <exception-handling>on : -Kexceptions ; | |
+ | |
+flags necsx CFLAGS <inlining>off : -pi noauto ; | |
+flags necsx CFLAGS <inlining>on <inlining>full : -pi auto ; | |
+ | |
+flags necsx CFLAGS <debug-symbols>on : -g ; | |
+flags necsx LINKFLAGS <debug-symbols>on : -g ; | |
+ | |
+flags necsx CFLAGS <optimization>off : -Cnoopt ; | |
+flags necsx CFLAGS <optimization>speed : -Cvsafe ; | |
+ | |
+flags necsx CFLAGS <cflags> ; | |
+flags necsx CXXFLAGS <cxxflags> ; | |
+flags necsx DEFINES <define> ; | |
+flags necsx UNDEFS <undef> ; | |
+flags necsx HDRS <include> ; | |
+flags necsx STDHDRS <sysinclude> ; | |
+flags necsx LINKFLAGS <linkflags> ; | |
+flags necsx ARFLAGS <arflags> ; | |
+ | |
+flags necsx.link LIBRARIES <library-file> ; | |
+flags necsx.link LINKPATH <library-path> ; | |
+flags necsx.link FINDLIBS-ST <find-static-library> ; | |
+flags necsx.link FINDLIBS-SA <find-shared-library> ; | |
+ | |
+ | |
+actions link bind LIBRARIES | |
+{ | |
+ sxc++ $(C++FLAGS) $(LINKFLAGS) -size_t64 -o "$(<[1])" "$(>)" -L"$(LINKPATH)" "$(LIBRARIES)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) 2>&1 | |
+} | |
+ | |
+actions link.dll bind LIBRARIES | |
+{ | |
+ sxc++ $(C++FLAGS) $(LINKFLAGS) -size_t64 -Wl,-shared -o "$(<[1])" "$(>)" -L"$(LINKPATH)" "$(LIBRARIES)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) 2>&1 | |
+} | |
+ | |
+actions compile.c | |
+{ | |
+ sxcc -Kc99 -Kgcc -pi nomsg -pvctl nomsg -O nomsg -c -size_t64 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -o "$(<)" "$(>)" 2>&1 | |
+} | |
+ | |
+actions compile.c++ | |
+{ | |
+ sxc++ -Kcpp11 -Kgcc -pi nomsg -pvctl nomsg -O nomsg -c -size_t64 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -o "$(<)" "$(>)" 2>&1 | |
+} | |
+ | |
+actions archive | |
+{ | |
+ sxc++ -prelink $(>) | |
+ sxar r $(<) $(>) | |
+} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
cd | |
curl -LO http://vorboss.dl.sourceforge.net/project/boost/boost/1.58.0/boost_1_58_0.tar.gz | |
tar zxf boost_1_58_0.tar.gz | |
cd boost_1_58_0 | |
git clone https://gist.github.com/0ca9f80559ee5517a76d.git | |
patch < 0ca9f80559ee5517a76d/boost.patch | |
./bootstrap.sh | |
./b2 --with-filesystem --with-exception --with-system --with-regex --with-iostreams --with-chrono \ | |
--prefix=$PWD/build -sNO_BZIP2=1 toolset=necsx link=static threading=single install |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment