Skip to content

Instantly share code, notes, and snippets.

@mkuron
Last active August 29, 2015 14:20
Show Gist options
  • Save mkuron/0ca9f80559ee5517a76d to your computer and use it in GitHub Desktop.
Save mkuron/0ca9f80559ee5517a76d to your computer and use it in GitHub Desktop.
Porting Boost to the NEC SX-ACE vector computer
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 $(<) $(>)
+}
#!/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