summaryrefslogtreecommitdiff
path: root/src/libs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/Makefile.kmk22
-rw-r--r--src/libs/boost-1.37.0/LICENSE_1_0.txt23
-rw-r--r--src/libs/boost-1.37.0/boost/assert.hpp50
-rw-r--r--src/libs/boost-1.37.0/boost/checked_delete.hpp69
-rw-r--r--src/libs/boost-1.37.0/boost/config.hpp70
-rw-r--r--src/libs/boost-1.37.0/boost/config/abi/borland_prefix.hpp27
-rw-r--r--src/libs/boost-1.37.0/boost/config/abi/borland_suffix.hpp12
-rw-r--r--src/libs/boost-1.37.0/boost/config/abi/msvc_prefix.hpp22
-rw-r--r--src/libs/boost-1.37.0/boost/config/abi/msvc_suffix.hpp8
-rw-r--r--src/libs/boost-1.37.0/boost/config/abi_prefix.hpp25
-rw-r--r--src/libs/boost-1.37.0/boost/config/abi_suffix.hpp27
-rw-r--r--src/libs/boost-1.37.0/boost/config/auto_link.hpp368
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/borland.hpp243
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/codegear.hpp135
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/comeau.hpp59
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/common_edg.hpp62
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/compaq_cxx.hpp19
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/digitalmars.hpp67
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/gcc.hpp158
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/gcc_xml.hpp30
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/greenhills.hpp28
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/hp_acc.hpp95
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/intel.hpp173
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/kai.hpp35
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/metrowerks.hpp111
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/mpw.hpp51
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/pgi.hpp33
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/sgi_mipspro.hpp28
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/sunpro_cc.hpp103
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/vacpp.hpp60
-rw-r--r--src/libs/boost-1.37.0/boost/config/compiler/visualc.hpp199
-rw-r--r--src/libs/boost-1.37.0/boost/config/no_tr1/cmath.hpp28
-rw-r--r--src/libs/boost-1.37.0/boost/config/no_tr1/complex.hpp28
-rw-r--r--src/libs/boost-1.37.0/boost/config/no_tr1/functional.hpp28
-rw-r--r--src/libs/boost-1.37.0/boost/config/no_tr1/memory.hpp28
-rw-r--r--src/libs/boost-1.37.0/boost/config/no_tr1/utility.hpp28
-rw-r--r--src/libs/boost-1.37.0/boost/config/platform/aix.hpp33
-rw-r--r--src/libs/boost-1.37.0/boost/config/platform/amigaos.hpp15
-rw-r--r--src/libs/boost-1.37.0/boost/config/platform/beos.hpp26
-rw-r--r--src/libs/boost-1.37.0/boost/config/platform/bsd.hpp85
-rw-r--r--src/libs/boost-1.37.0/boost/config/platform/cygwin.hpp51
-rw-r--r--src/libs/boost-1.37.0/boost/config/platform/hpux.hpp87
-rw-r--r--src/libs/boost-1.37.0/boost/config/platform/irix.hpp31
-rw-r--r--src/libs/boost-1.37.0/boost/config/platform/linux.hpp98
-rw-r--r--src/libs/boost-1.37.0/boost/config/platform/macos.hpp86
-rw-r--r--src/libs/boost-1.37.0/boost/config/platform/qnxnto.hpp31
-rw-r--r--src/libs/boost-1.37.0/boost/config/platform/solaris.hpp28
-rw-r--r--src/libs/boost-1.37.0/boost/config/platform/win32.hpp58
-rw-r--r--src/libs/boost-1.37.0/boost/config/posix_features.hpp95
-rw-r--r--src/libs/boost-1.37.0/boost/config/requires_threads.hpp92
-rw-r--r--src/libs/boost-1.37.0/boost/config/select_compiler_config.hpp119
-rw-r--r--src/libs/boost-1.37.0/boost/config/select_platform_config.hpp90
-rw-r--r--src/libs/boost-1.37.0/boost/config/select_stdlib_config.hpp68
-rw-r--r--src/libs/boost-1.37.0/boost/config/stdlib/dinkumware.hpp106
-rw-r--r--src/libs/boost-1.37.0/boost/config/stdlib/libcomo.hpp46
-rw-r--r--src/libs/boost-1.37.0/boost/config/stdlib/libstdcpp3.hpp78
-rw-r--r--src/libs/boost-1.37.0/boost/config/stdlib/modena.hpp30
-rw-r--r--src/libs/boost-1.37.0/boost/config/stdlib/msl.hpp59
-rw-r--r--src/libs/boost-1.37.0/boost/config/stdlib/roguewave.hpp153
-rw-r--r--src/libs/boost-1.37.0/boost/config/stdlib/sgi.hpp111
-rw-r--r--src/libs/boost-1.37.0/boost/config/stdlib/stlport.hpp203
-rw-r--r--src/libs/boost-1.37.0/boost/config/stdlib/vacpp.hpp18
-rw-r--r--src/libs/boost-1.37.0/boost/config/suffix.hpp590
-rw-r--r--src/libs/boost-1.37.0/boost/config/user.hpp124
-rw-r--r--src/libs/boost-1.37.0/boost/config/warning_disable.hpp47
-rw-r--r--src/libs/boost-1.37.0/boost/current_function.hpp67
-rw-r--r--src/libs/boost-1.37.0/boost/detail/bad_weak_ptr.hpp59
-rw-r--r--src/libs/boost-1.37.0/boost/detail/interlocked.hpp130
-rw-r--r--src/libs/boost-1.37.0/boost/detail/shared_count.hpp412
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_convertible.hpp76
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_counted_base.hpp66
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_counted_base_acc_ia64.hpp150
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_counted_base_cw_ppc.hpp170
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_counted_base_cw_x86.hpp158
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_ia64.hpp157
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_ppc.hpp181
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_sparc.hpp166
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_x86.hpp173
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_counted_base_nt.hpp107
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_counted_base_pt.hpp135
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_counted_base_solaris.hpp113
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_counted_base_spin.hpp131
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_counted_base_sync.hpp155
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_counted_base_w32.hpp130
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_counted_impl.hpp231
-rw-r--r--src/libs/boost-1.37.0/boost/detail/sp_typeinfo.hpp83
-rw-r--r--src/libs/boost-1.37.0/boost/detail/spinlock.hpp47
-rw-r--r--src/libs/boost-1.37.0/boost/detail/spinlock_gcc_arm.hpp85
-rw-r--r--src/libs/boost-1.37.0/boost/detail/spinlock_nt.hpp89
-rw-r--r--src/libs/boost-1.37.0/boost/detail/spinlock_pool.hpp87
-rw-r--r--src/libs/boost-1.37.0/boost/detail/spinlock_pt.hpp79
-rw-r--r--src/libs/boost-1.37.0/boost/detail/spinlock_sync.hpp87
-rw-r--r--src/libs/boost-1.37.0/boost/detail/spinlock_w32.hpp113
-rw-r--r--src/libs/boost-1.37.0/boost/detail/workaround.hpp202
-rw-r--r--src/libs/boost-1.37.0/boost/detail/yield_k.hpp149
-rw-r--r--src/libs/boost-1.37.0/boost/exception/detail/error_info_impl.hpp61
-rw-r--r--src/libs/boost-1.37.0/boost/exception/detail/is_output_streamable.hpp38
-rw-r--r--src/libs/boost-1.37.0/boost/exception/detail/object_hex_dump.hpp40
-rw-r--r--src/libs/boost-1.37.0/boost/exception/detail/type_info.hpp130
-rw-r--r--src/libs/boost-1.37.0/boost/exception/diagnostic_information.hpp64
-rw-r--r--src/libs/boost-1.37.0/boost/exception/enable_current_exception.hpp6
-rw-r--r--src/libs/boost-1.37.0/boost/exception/enable_error_info.hpp6
-rw-r--r--src/libs/boost-1.37.0/boost/exception/error_info.hpp6
-rw-r--r--src/libs/boost-1.37.0/boost/exception/exception.hpp396
-rw-r--r--src/libs/boost-1.37.0/boost/exception/get_error_info.hpp134
-rw-r--r--src/libs/boost-1.37.0/boost/exception/info.hpp151
-rw-r--r--src/libs/boost-1.37.0/boost/exception/info_tuple.hpp67
-rw-r--r--src/libs/boost-1.37.0/boost/exception/to_string.hpp74
-rw-r--r--src/libs/boost-1.37.0/boost/exception/to_string_stub.hpp100
-rw-r--r--src/libs/boost-1.37.0/boost/intrusive_ptr.hpp311
-rw-r--r--src/libs/boost-1.37.0/boost/memory_order.hpp35
-rw-r--r--src/libs/boost-1.37.0/boost/non_type.hpp27
-rw-r--r--src/libs/boost-1.37.0/boost/scoped_array.hpp138
-rw-r--r--src/libs/boost-1.37.0/boost/scoped_ptr.hpp160
-rw-r--r--src/libs/boost-1.37.0/boost/shared_array.hpp193
-rw-r--r--src/libs/boost-1.37.0/boost/shared_ptr.hpp751
-rw-r--r--src/libs/boost-1.37.0/boost/throw_exception.hpp74
-rw-r--r--src/libs/boost-1.37.0/boost/type.hpp18
-rw-r--r--src/libs/boost-1.37.0/boost/weak_ptr.hpp182
-rw-r--r--src/libs/kStuff/Makefile.kmk5
-rw-r--r--src/libs/kStuff/iprt/kHlpAlloc-iprt.cpp2
-rw-r--r--src/libs/kStuff/iprt/kHlpAssert-iprt.cpp2
-rw-r--r--src/libs/kStuff/iprt/kHlpEnv-iprt.cpp2
-rw-r--r--src/libs/kStuff/iprt/kHlpPage-iprt.cpp2
-rw-r--r--src/libs/kStuff/iprt/kHlpString-iprt.cpp2
-rw-r--r--src/libs/kStuff/iprt/kRdrFile-iprt.cpp2
-rw-r--r--src/libs/kStuff/kStuff/include/k/kLdr.h10
-rw-r--r--src/libs/kStuff/kStuff/kLdr/kLdrMod.c4
-rw-r--r--src/libs/kStuff/kStuff/kLdr/kLdrModMachO.c156
-rw-r--r--src/libs/liblzf-3.4/Makefile.kmk7
-rw-r--r--src/libs/libxml2-2.6.31/Makefile.kmk19
-rw-r--r--src/libs/libxml2-2.6.31/entities.c36
-rw-r--r--src/libs/libxml2-2.6.31/include/libxml/parser.h1
-rw-r--r--src/libs/libxml2-2.6.31/include/libxml/parserInternals.h9
-rw-r--r--src/libs/libxml2-2.6.31/include/libxml/xmlexports.h5
-rw-r--r--src/libs/libxml2-2.6.31/parser.c118
-rw-r--r--src/libs/libxml2-2.6.31/parserInternals.c2
-rw-r--r--src/libs/xpcom18a4/Config.kmk49
-rw-r--r--src/libs/xpcom18a4/Makefile.kmk285
-rw-r--r--src/libs/xpcom18a4/ipc/ipcd/client/Makefile.kup0
-rw-r--r--src/libs/xpcom18a4/ipc/ipcd/client/src/Makefile.kup0
-rw-r--r--src/libs/xpcom18a4/ipc/ipcd/client/src/ipcdclient.cpp75
-rw-r--r--src/libs/xpcom18a4/ipc/ipcd/extensions/dconnect/src/ipcDConnectService.cpp111
-rw-r--r--src/libs/xpcom18a4/ipc/ipcd/shared/src/ipcLog.cpp26
-rw-r--r--src/libs/xpcom18a4/ipc/ipcd/shared/src/ipcLog.h29
-rw-r--r--src/libs/xpcom18a4/java/Makefile.kmk1
-rw-r--r--src/libs/xpcom18a4/java/src/nsJavaInterfaces.cpp14
-rw-r--r--src/libs/xpcom18a4/java/src/nsJavaWrapper.cpp7
-rw-r--r--src/libs/xpcom18a4/java/src/nsThreadUtils.h4
-rw-r--r--src/libs/xpcom18a4/java/src/org/mozilla/xpcom/XPCOMException.java2
-rw-r--r--src/libs/xpcom18a4/java/tools/genjifaces.xsl77
-rw-r--r--src/libs/xpcom18a4/nsprpub/pr/include/md/_iprt_atomic.h2
-rw-r--r--src/libs/xpcom18a4/nsprpub/pr/include/md/_l4v2.cfg661
-rw-r--r--src/libs/xpcom18a4/nsprpub/pr/include/md/_l4v2.h838
-rw-r--r--src/libs/xpcom18a4/nsprpub/pr/include/md/_unixos.h2
-rw-r--r--src/libs/xpcom18a4/nsprpub/pr/include/md/prosdep.h3
-rw-r--r--src/libs/xpcom18a4/nsprpub/pr/src/io/prlog.c4
-rw-r--r--src/libs/xpcom18a4/nsprpub/pr/src/md/l4env/locks.c84
-rw-r--r--src/libs/xpcom18a4/nsprpub/pr/src/md/l4env/prnetdb.c217
-rw-r--r--src/libs/xpcom18a4/nsprpub/pr/src/md/l4env/threads.c267
-rw-r--r--src/libs/xpcom18a4/nsprpub/pr/src/md/unix/l4env.c123
-rw-r--r--src/libs/xpcom18a4/nsprpub/pr/src/md/unix/unix.c3
-rw-r--r--src/libs/xpcom18a4/nsprpub/pr/src/md/unix/uxrng.c2
-rw-r--r--src/libs/xpcom18a4/nsprpub/pr/src/misc/prinit.c2
-rw-r--r--src/libs/xpcom18a4/nsprpub/pr/src/misc/prnetdb.c2
-rw-r--r--src/libs/xpcom18a4/python/Makefile.kmk77
-rwxr-xr-xsrc/libs/xpcom18a4/python/gen_python_deps.py23
-rw-r--r--src/libs/xpcom18a4/python/server/loader.py14
-rw-r--r--src/libs/xpcom18a4/python/src/PyGBase.cpp3
-rw-r--r--src/libs/xpcom18a4/python/src/PyIID.cpp2
-rw-r--r--src/libs/xpcom18a4/python/src/PyISupports.cpp4
-rw-r--r--src/libs/xpcom18a4/python/src/VariantUtils.cpp2
-rw-r--r--src/libs/xpcom18a4/python/src/module/_xpcom.cpp66
-rwxr-xr-xsrc/libs/xpcom18a4/python/vboxxpcom.py61
-rw-r--r--src/libs/xpcom18a4/xpcom-namespace-cleanup.map2
-rw-r--r--src/libs/xpcom18a4/xpcom-private.h6
-rw-r--r--src/libs/xpcom18a4/xpcom/components/nsComponentManager.cpp15
-rw-r--r--src/libs/xpcom18a4/xpcom/components/nsNativeComponentLoader.cpp48
-rw-r--r--src/libs/xpcom18a4/xpcom/io/nsAppFileLocationProvider.cpp4
-rw-r--r--src/libs/xpcom18a4/xpcom/io/nsDirectoryService.cpp170
-rw-r--r--src/libs/xpcom18a4/xpcom/io/nsLocalFile.h3
-rw-r--r--src/libs/xpcom18a4/xpcom/io/nsLocalFileL4.cpp549
-rw-r--r--src/libs/xpcom18a4/xpcom/io/nsLocalFileL4.h94
-rw-r--r--src/libs/xpcom18a4/xpcom/io/nsNativeCharsetUtils.cpp10
-rw-r--r--src/libs/xpcom18a4/xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h3
-rw-r--r--src/libs/zlib-1.2.6/Makefile.kmk6
-rw-r--r--src/libs/zlib-1.2.6/gzguts.h6
187 files changed, 1060 insertions, 15742 deletions
diff --git a/src/libs/Makefile.kmk b/src/libs/Makefile.kmk
index 9d846a7e..8fe7218d 100644
--- a/src/libs/Makefile.kmk
+++ b/src/libs/Makefile.kmk
@@ -4,7 +4,7 @@
#
#
-# Copyright (C) 2006-2012 Oracle Corporation
+# Copyright (C) 2006-2013 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
@@ -26,7 +26,7 @@ include $(KBUILD_PATH)/subheader.kmk
# Compression libs used by IPRT and <what was it again?>.
include $(PATH_SUB_CURRENT)/liblzf-3.4/Makefile.kmk
-if !defined(VBOX_ONLY_SDK) && !defined(VBOX_ONLY_TESTSUITE) \
+if !defined(VBOX_ONLY_SDK) \
&& "$(SDK_VBOX_ZLIB_INCS)" == "$(PATH_ROOT)/src/libs/zlib-1.2.6"
include $(PATH_SUB_CURRENT)/zlib-1.2.6/Makefile.kmk
endif
@@ -39,8 +39,8 @@ endif # !VBOX_ONLY_DOCS
# Libcurl for inet access
if defined(VBOX_WITH_LIBCURL) && !defined(VBOX_ONLY_EXTPACKS_USE_IMPLIBS) && !defined(VBOX_ONLY_SDK) && !defined(VBOX_ONLY_TESTSUITE) \
- && "$(SDK_VBOX_LIBCURL_INCS)" == "$(PATH_ROOT)/src/libs/curl-7.19.4/include"
- include $(PATH_SUB_CURRENT)/curl-7.19.4/Makefile.kmk
+ && "$(SDK_VBOX_LIBCURL_INCS)" == "$(PATH_ROOT)/src/libs/curl-7.27.0/include"
+ include $(PATH_SUB_CURRENT)/curl-7.27.0/Makefile.kmk
endif
# The kStuff lib used by IPRT and the debugger.
@@ -52,11 +52,11 @@ endif
if !defined(VBOX_ONLY_SDK) \
&& ( "$(SDK_VBOX_OPENSSL_INCS)" == "$(SDK_VBOX_OPENSSL_VBOX_DEFAULT_INCS)" \
|| defined(VBOX_WITH_EXTPACK_PUEL_BUILD))
- include $(PATH_SUB_CURRENT)/openssl-0.9.8t/Makefile.kmk
+ include $(PATH_SUB_CURRENT)/openssl-0.9.8y/Makefile.kmk
endif
# libjpeg for VRDP video redirection
-if defined(VBOX_WITH_VRDP) && defined(VBOX_WITH_VRDP_VIDEO_CHANNEL)
+if defined(VBOX_WITH_VRDP)
include $(PATH_SUB_CURRENT)/jpeg-8a/Makefile.kmk
endif
@@ -68,18 +68,16 @@ if defined(VBOX_WITH_MAIN) \
include $(PATH_SUB_CURRENT)/xpcom18a4/Makefile.kmk
endif
- # FFmpeg & VP8 for test videos.
- if defined(VBOX_WITH_FFMPEG) && !defined(VBOX_OSE) && !defined(VBOX_ONLY_DOCS) && !defined(VBOX_WITH_SDK)
- if1of ($(KBUILD_TARGET), darwin linux solaris)
- include $(PATH_SUB_CURRENT)/ffmpeg-20060710/Makefile.kmk
- endif
+ # VP8 for video capture
+ if defined(VBOX_WITH_VPX) && !defined(VBOX_ONLY_DOCS) && !defined(VBOX_WITH_SDK) \
+ && ("$(SDK_VBOX_VPX_INCS)" == "$(SDK_VBOX_VPX_DEFAULT_INCS)")
if1of ($(KBUILD_TARGET), darwin linux solaris win)
include $(PATH_SUB_CURRENT)/libvpx/Makefile.kmk
endif
endif
endif
-if !defined(VBOX_ONLY_TESTSUITE) && !defined(VBOX_ONLY_EXTPACKS_USE_IMPLIBS)
+if !defined(VBOX_ONLY_EXTPACKS_USE_IMPLIBS)
ifeq ($(SDK_VBOX_LIBXML2_INCS),$(PATH_ROOT)/src/libs/libxml2-2.6.31/include)
include $(PATH_SUB_CURRENT)/libxml2-2.6.31/Makefile.kmk
endif
diff --git a/src/libs/boost-1.37.0/LICENSE_1_0.txt b/src/libs/boost-1.37.0/LICENSE_1_0.txt
deleted file mode 100644
index 36b7cd93..00000000
--- a/src/libs/boost-1.37.0/LICENSE_1_0.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/src/libs/boost-1.37.0/boost/assert.hpp b/src/libs/boost-1.37.0/boost/assert.hpp
deleted file mode 100644
index c227f17b..00000000
--- a/src/libs/boost-1.37.0/boost/assert.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// boost/assert.hpp - BOOST_ASSERT(expr)
-//
-// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
-// Copyright (c) 2007 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// Note: There are no include guards. This is intentional.
-//
-// See http://www.boost.org/libs/utility/assert.html for documentation.
-//
-
-#undef BOOST_ASSERT
-
-#if defined(BOOST_DISABLE_ASSERTS)
-
-# define BOOST_ASSERT(expr) ((void)0)
-
-#elif defined(BOOST_ENABLE_ASSERT_HANDLER)
-
-#include <boost/current_function.hpp>
-
-namespace boost
-{
-
-void assertion_failed(char const * expr, char const * function, char const * file, long line); // user defined
-
-} // namespace boost
-
-#define BOOST_ASSERT(expr) ((expr)? ((void)0): ::boost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
-
-#else
-# include <assert.h> // .h to support old libraries w/o <cassert> - effect is the same
-# define BOOST_ASSERT(expr) assert(expr)
-#endif
-
-#undef BOOST_VERIFY
-
-#if defined(BOOST_DISABLE_ASSERTS) || ( !defined(BOOST_ENABLE_ASSERT_HANDLER) && defined(NDEBUG) )
-
-# define BOOST_VERIFY(expr) ((void)(expr))
-
-#else
-
-# define BOOST_VERIFY(expr) BOOST_ASSERT(expr)
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/checked_delete.hpp b/src/libs/boost-1.37.0/boost/checked_delete.hpp
deleted file mode 100644
index 9bb84e8e..00000000
--- a/src/libs/boost-1.37.0/boost/checked_delete.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED
-#define BOOST_CHECKED_DELETE_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/checked_delete.hpp
-//
-// Copyright (c) 2002, 2003 Peter Dimov
-// Copyright (c) 2003 Daniel Frey
-// Copyright (c) 2003 Howard Hinnant
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/utility/checked_delete.html for documentation.
-//
-
-namespace boost
-{
-
-// verify that types are complete for increased safety
-
-template<class T> inline void checked_delete(T * x)
-{
- // intentionally complex - simplification causes regressions
- typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
- (void) sizeof(type_must_be_complete);
- delete x;
-}
-
-template<class T> inline void checked_array_delete(T * x)
-{
- typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
- (void) sizeof(type_must_be_complete);
- delete [] x;
-}
-
-template<class T> struct checked_deleter
-{
- typedef void result_type;
- typedef T * argument_type;
-
- void operator()(T * x) const
- {
- // boost:: disables ADL
- boost::checked_delete(x);
- }
-};
-
-template<class T> struct checked_array_deleter
-{
- typedef void result_type;
- typedef T * argument_type;
-
- void operator()(T * x) const
- {
- boost::checked_array_delete(x);
- }
-};
-
-} // namespace boost
-
-#endif // #ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/config.hpp b/src/libs/boost-1.37.0/boost/config.hpp
deleted file mode 100644
index 055a2785..00000000
--- a/src/libs/boost-1.37.0/boost/config.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-// Boost config.hpp configuration header file ------------------------------//
-
-// (C) Copyright John Maddock 2002.
-// 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/libs/config for most recent version.
-
-// Boost config.hpp policy and rationale documentation has been moved to
-// http://www.boost.org/libs/config
-//
-// CAUTION: This file is intended to be completely stable -
-// DO NOT MODIFY THIS FILE!
-//
-
-#ifndef BOOST_CONFIG_HPP
-#define BOOST_CONFIG_HPP
-
-// if we don't have a user config, then use the default location:
-#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG)
-# define BOOST_USER_CONFIG <boost/config/user.hpp>
-#endif
-// include it first:
-#ifdef BOOST_USER_CONFIG
-# include BOOST_USER_CONFIG
-#endif
-
-// if we don't have a compiler config set, try and find one:
-#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG)
-# include <boost/config/select_compiler_config.hpp>
-#endif
-// if we have a compiler config, include it now:
-#ifdef BOOST_COMPILER_CONFIG
-# include BOOST_COMPILER_CONFIG
-#endif
-
-// if we don't have a std library config set, try and find one:
-#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG)
-# include <boost/config/select_stdlib_config.hpp>
-#endif
-// if we have a std library config, include it now:
-#ifdef BOOST_STDLIB_CONFIG
-# include BOOST_STDLIB_CONFIG
-#endif
-
-// if we don't have a platform config set, try and find one:
-#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG)
-# include <boost/config/select_platform_config.hpp>
-#endif
-// if we have a platform config, include it now:
-#ifdef BOOST_PLATFORM_CONFIG
-# include BOOST_PLATFORM_CONFIG
-#endif
-
-// get config suffix code:
-#include <boost/config/suffix.hpp>
-
-#endif // BOOST_CONFIG_HPP
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/abi/borland_prefix.hpp b/src/libs/boost-1.37.0/boost/config/abi/borland_prefix.hpp
deleted file mode 100644
index 49f42494..00000000
--- a/src/libs/boost-1.37.0/boost/config/abi/borland_prefix.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// (C) Copyright John Maddock 2003.
-// 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)
-
-// for C++ Builder the following options effect the ABI:
-//
-// -b (on or off - effect emum sizes)
-// -Vx (on or off - empty members)
-// -Ve (on or off - empty base classes)
-// -aX (alignment - 5 options).
-// -pX (Calling convention - 4 options)
-// -VmX (member pointer size and layout - 5 options)
-// -VC (on or off, changes name mangling)
-// -Vl (on or off, changes struct layout).
-
-// In addition the following warnings are sufficiently annoying (and
-// unfixable) to have them turned off by default:
-//
-// 8027 - functions containing [for|while] loops are not expanded inline
-// 8026 - functions taking class by value arguments are not expanded inline
-
-#pragma nopushoptwarn
-# pragma option push -Vx -Ve -a8 -b -pc -Vmv -VC- -Vl- -w-8027 -w-8026
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/abi/borland_suffix.hpp b/src/libs/boost-1.37.0/boost/config/abi/borland_suffix.hpp
deleted file mode 100644
index 940535f3..00000000
--- a/src/libs/boost-1.37.0/boost/config/abi/borland_suffix.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// (C) Copyright John Maddock 2003.
-// 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)
-
-# pragma option pop
-#pragma nopushoptwarn
-
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/abi/msvc_prefix.hpp b/src/libs/boost-1.37.0/boost/config/abi/msvc_prefix.hpp
deleted file mode 100644
index 97f06cdc..00000000
--- a/src/libs/boost-1.37.0/boost/config/abi/msvc_prefix.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// (C) Copyright John Maddock 2003.
-// 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)
-
-//
-// Boost binaries are built with the compiler's default ABI settings,
-// if the user changes their default alignment in the VS IDE then their
-// code will no longer be binary compatible with the bjam built binaries
-// unless this header is included to force Boost code into a consistent ABI.
-//
-// Note that inclusion of this header is only necessary for libraries with
-// separate source, header only libraries DO NOT need this as long as all
-// translation units are built with the same options.
-//
-#if defined(_M_X64)
-# pragma pack(push,16)
-#else
-# pragma pack(push,8)
-#endif
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/abi/msvc_suffix.hpp b/src/libs/boost-1.37.0/boost/config/abi/msvc_suffix.hpp
deleted file mode 100644
index a64d783e..00000000
--- a/src/libs/boost-1.37.0/boost/config/abi/msvc_suffix.hpp
+++ /dev/null
@@ -1,8 +0,0 @@
-// (C) Copyright John Maddock 2003.
-// 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)
-
-#pragma pack(pop)
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/abi_prefix.hpp b/src/libs/boost-1.37.0/boost/config/abi_prefix.hpp
deleted file mode 100644
index 3b134749..00000000
--- a/src/libs/boost-1.37.0/boost/config/abi_prefix.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// abi_prefix header -------------------------------------------------------//
-
-// (c) Copyright John Maddock 2003
-
-// 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).
-
-#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
-# define BOOST_CONFIG_ABI_PREFIX_HPP
-#else
-# error double inclusion of header boost/config/abi_prefix.hpp is an error
-#endif
-
-#include <boost/config.hpp>
-
-// this must occur after all other includes and before any code appears:
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_PREFIX
-#endif
-
-#if defined( __BORLANDC__ )
-#pragma nopushoptwarn
-#endif
-
diff --git a/src/libs/boost-1.37.0/boost/config/abi_suffix.hpp b/src/libs/boost-1.37.0/boost/config/abi_suffix.hpp
deleted file mode 100644
index 93916166..00000000
--- a/src/libs/boost-1.37.0/boost/config/abi_suffix.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// abi_sufffix header -------------------------------------------------------//
-
-// (c) Copyright John Maddock 2003
-
-// 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 header should be #included AFTER code that was preceded by a #include
-// <boost/config/abi_prefix.hpp>.
-
-#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
-# error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp
-#else
-# undef BOOST_CONFIG_ABI_PREFIX_HPP
-#endif
-
-// the suffix header occurs after all of our code:
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_SUFFIX
-#endif
-
-#if defined( __BORLANDC__ )
-#pragma nopushoptwarn
-#endif
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/auto_link.hpp b/src/libs/boost-1.37.0/boost/config/auto_link.hpp
deleted file mode 100644
index df58d4f9..00000000
--- a/src/libs/boost-1.37.0/boost/config/auto_link.hpp
+++ /dev/null
@@ -1,368 +0,0 @@
-// (C) Copyright John Maddock 2003.
-// 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)
-
- /*
- * LOCATION: see http://www.boost.org for most recent version.
- * FILE auto_link.hpp
- * VERSION see <boost/version.hpp>
- * DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers.
- */
-
-/*************************************************************************
-
-USAGE:
-~~~~~~
-
-Before including this header you must define one or more of define the following macros:
-
-BOOST_LIB_NAME: Required: A string containing the basename of the library,
- for example boost_regex.
-BOOST_LIB_TOOLSET: Optional: the base name of the toolset.
-BOOST_DYN_LINK: Optional: when set link to dll rather than static library.
-BOOST_LIB_DIAGNOSTIC: Optional: when set the header will print out the name
- of the library selected (useful for debugging).
-BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib,
- rather than a mangled-name version.
-
-These macros will be undef'ed at the end of the header, further this header
-has no include guards - so be sure to include it only once from your library!
-
-Algorithm:
-~~~~~~~~~~
-
-Libraries for Borland and Microsoft compilers are automatically
-selected here, the name of the lib is selected according to the following
-formula:
-
-BOOST_LIB_PREFIX
- + BOOST_LIB_NAME
- + "_"
- + BOOST_LIB_TOOLSET
- + BOOST_LIB_THREAD_OPT
- + BOOST_LIB_RT_OPT
- "-"
- + BOOST_LIB_VERSION
-
-These are defined as:
-
-BOOST_LIB_PREFIX: "lib" for static libraries otherwise "".
-
-BOOST_LIB_NAME: The base name of the lib ( for example boost_regex).
-
-BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc).
-
-BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing.
-
-BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used,
- contains one or more of the following letters after
- a hiphen:
-
- s static runtime (dynamic if not present).
- d debug build (release if not present).
- g debug/diagnostic runtime (release if not present).
- p STLPort Build.
-
-BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
-
-
-***************************************************************************/
-
-#ifdef __cplusplus
-# ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-# endif
-#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)
-//
-// C language compatability (no, honestly)
-//
-# define BOOST_MSVC _MSC_VER
-# define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
-# define BOOST_DO_STRINGIZE(X) #X
-#endif
-//
-// Only include what follows for known and supported compilers:
-//
-#if defined(BOOST_MSVC) \
- || defined(__BORLANDC__) \
- || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \
- || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200))
-
-#ifndef BOOST_VERSION_HPP
-# include <boost/version.hpp>
-#endif
-
-#ifndef BOOST_LIB_NAME
-# error "Macro BOOST_LIB_NAME not set (internal error)"
-#endif
-
-//
-// error check:
-//
-#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG)
-# pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors")
-# pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes")
-# error "Incompatible build options"
-#endif
-//
-// select toolset if not defined already:
-//
-#ifndef BOOST_LIB_TOOLSET
-// Note: no compilers before 1200 are supported
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-
-# ifdef UNDER_CE
- // vc6:
-# define BOOST_LIB_TOOLSET "evc4"
-# else
- // vc6:
-# define BOOST_LIB_TOOLSET "vc6"
-# endif
-
-#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300)
-
- // vc7:
-# define BOOST_LIB_TOOLSET "vc7"
-
-#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1310)
-
- // vc71:
-# define BOOST_LIB_TOOLSET "vc71"
-
-#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1400)
-
- // vc80:
-# define BOOST_LIB_TOOLSET "vc80"
-
-#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1500)
-
- // vc90:
-# define BOOST_LIB_TOOLSET "vc90"
-
-#elif defined(__BORLANDC__)
-
- // CBuilder 6:
-# define BOOST_LIB_TOOLSET "bcb"
-
-#elif defined(__ICL)
-
- // Intel C++, no version number:
-# define BOOST_LIB_TOOLSET "iw"
-
-#elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
-
- // Metrowerks CodeWarrior 8.x
-# define BOOST_LIB_TOOLSET "cw8"
-
-#elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
-
- // Metrowerks CodeWarrior 9.x
-# define BOOST_LIB_TOOLSET "cw9"
-
-#endif
-#endif // BOOST_LIB_TOOLSET
-
-//
-// select thread opt:
-//
-#if defined(_MT) || defined(__MT__)
-# define BOOST_LIB_THREAD_OPT "-mt"
-#else
-# define BOOST_LIB_THREAD_OPT
-#endif
-
-#if defined(_MSC_VER) || defined(__MWERKS__)
-
-# ifdef _DLL
-
-# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
-
-# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-# define BOOST_LIB_RT_OPT "-gdp"
-# elif defined(_DEBUG)
-# define BOOST_LIB_RT_OPT "-gdp"
-# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
-# error "Build options aren't compatible with pre-built libraries"
-# else
-# define BOOST_LIB_RT_OPT "-p"
-# endif
-
-# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
-
-# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-# define BOOST_LIB_RT_OPT "-gdpn"
-# elif defined(_DEBUG)
-# define BOOST_LIB_RT_OPT "-gdpn"
-# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
-# error "Build options aren't compatible with pre-built libraries"
-# else
-# define BOOST_LIB_RT_OPT "-pn"
-# endif
-
-# else
-
-# if defined(_DEBUG)
-# define BOOST_LIB_RT_OPT "-gd"
-# else
-# define BOOST_LIB_RT_OPT
-# endif
-
-# endif
-
-# else
-
-# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
-
-# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-# define BOOST_LIB_RT_OPT "-sgdp"
-# elif defined(_DEBUG)
-# define BOOST_LIB_RT_OPT "-sgdp"
-# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
-# error "Build options aren't compatible with pre-built libraries"
-# else
-# define BOOST_LIB_RT_OPT "-sp"
-# endif
-
-# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
-
-# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-# define BOOST_LIB_RT_OPT "-sgdpn"
-# elif defined(_DEBUG)
-# define BOOST_LIB_RT_OPT "-sgdpn"
-# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
-# error "Build options aren't compatible with pre-built libraries"
-# else
-# define BOOST_LIB_RT_OPT "-spn"
-# endif
-
-# else
-
-# if defined(_DEBUG)
-# define BOOST_LIB_RT_OPT "-sgd"
-# else
-# define BOOST_LIB_RT_OPT "-s"
-# endif
-
-# endif
-
-# endif
-
-#elif defined(__BORLANDC__)
-
-//
-// figure out whether we want the debug builds or not:
-//
-#if __BORLANDC__ > 0x561
-#pragma defineonoption BOOST_BORLAND_DEBUG -v
-#endif
-//
-// sanity check:
-//
-#if defined(__STL_DEBUG) || defined(_STLP_DEBUG)
-#error "Pre-built versions of the Boost libraries are not provided in STLPort-debug form"
-#endif
-
-# ifdef _RTLDLL
-
-# ifdef BOOST_BORLAND_DEBUG
-# define BOOST_LIB_RT_OPT "-d"
-# else
-# define BOOST_LIB_RT_OPT
-# endif
-
-# else
-
-# ifdef BOOST_BORLAND_DEBUG
-# define BOOST_LIB_RT_OPT "-sd"
-# else
-# define BOOST_LIB_RT_OPT "-s"
-# endif
-
-# endif
-
-#endif
-
-//
-// select linkage opt:
-//
-#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK)
-# define BOOST_LIB_PREFIX
-#elif defined(BOOST_DYN_LINK)
-# error "Mixing a dll boost library with a static runtime is a really bad idea..."
-#else
-# define BOOST_LIB_PREFIX "lib"
-#endif
-
-//
-// now include the lib:
-//
-#if defined(BOOST_LIB_NAME) \
- && defined(BOOST_LIB_PREFIX) \
- && defined(BOOST_LIB_TOOLSET) \
- && defined(BOOST_LIB_THREAD_OPT) \
- && defined(BOOST_LIB_RT_OPT) \
- && defined(BOOST_LIB_VERSION)
-
-#ifndef BOOST_AUTO_LINK_NOMANGLE
-# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
-# ifdef BOOST_LIB_DIAGNOSTIC
-# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
-# endif
-#else
-# pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
-# ifdef BOOST_LIB_DIAGNOSTIC
-# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
-# endif
-#endif
-
-#else
-# error "some required macros where not defined (internal logic error)."
-#endif
-
-
-#endif // _MSC_VER || __BORLANDC__
-
-//
-// finally undef any macros we may have set:
-//
-#ifdef BOOST_LIB_PREFIX
-# undef BOOST_LIB_PREFIX
-#endif
-#if defined(BOOST_LIB_NAME)
-# undef BOOST_LIB_NAME
-#endif
-// Don't undef this one: it can be set by the user and should be the
-// same for all libraries:
-//#if defined(BOOST_LIB_TOOLSET)
-//# undef BOOST_LIB_TOOLSET
-//#endif
-#if defined(BOOST_LIB_THREAD_OPT)
-# undef BOOST_LIB_THREAD_OPT
-#endif
-#if defined(BOOST_LIB_RT_OPT)
-# undef BOOST_LIB_RT_OPT
-#endif
-#if defined(BOOST_LIB_LINK_OPT)
-# undef BOOST_LIB_LINK_OPT
-#endif
-#if defined(BOOST_LIB_DEBUG_OPT)
-# undef BOOST_LIB_DEBUG_OPT
-#endif
-#if defined(BOOST_DYN_LINK)
-# undef BOOST_DYN_LINK
-#endif
-#if defined(BOOST_AUTO_LINK_NOMANGLE)
-# undef BOOST_AUTO_LINK_NOMANGLE
-#endif
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/borland.hpp b/src/libs/boost-1.37.0/boost/config/compiler/borland.hpp
deleted file mode 100644
index d16c06d0..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/borland.hpp
+++ /dev/null
@@ -1,243 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright David Abrahams 2002 - 2003.
-// (C) Copyright Aleksey Gurtovoy 2002.
-// 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.
-
-// Borland C++ compiler setup:
-
-//
-// versions check:
-// we don't support Borland prior to version 5.4:
-#if __BORLANDC__ < 0x540
-# error "Compiler not supported or configured - please reconfigure"
-#endif
-
-// last known and checked version is 0x600 (Builder X preview)
-// or 0x593 (CodeGear C++ Builder 2007 December 2007 update):
-#if (__BORLANDC__ > 0x593) && (__BORLANDC__ != 0x600)
-//# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-//# else
-//# pragma message( "Unknown compiler version - please run the configure tests and report the results")
-//# endif
-#elif (__BORLANDC__ == 0x600)
-# error "CBuilderX preview compiler is no longer supported"
-#endif
-
-//
-// Support macros to help with standard library detection
-#if (__BORLANDC__ < 0x560) || defined(_USE_OLD_RW_STL)
-# define BOOST_BCB_WITH_ROGUE_WAVE
-#elif __BORLANDC__ < 0x570
-# define BOOST_BCB_WITH_STLPORT
-#else
-# define BOOST_BCB_WITH_DINKUMWARE
-#endif
-
-//
-// Version 5.0 and below:
-# if __BORLANDC__ <= 0x0550
-// Borland C++Builder 4 and 5:
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# if __BORLANDC__ == 0x0550
-// Borland C++Builder 5, command-line compiler 5.5:
-# define BOOST_NO_OPERATORS_IN_NAMESPACE
-# endif
-# endif
-
-// Version 5.51 and below:
-#if (__BORLANDC__ <= 0x551)
-# define BOOST_NO_CV_SPECIALIZATIONS
-# define BOOST_NO_CV_VOID_SPECIALIZATIONS
-# define BOOST_NO_DEDUCED_TYPENAME
-// workaround for missing WCHAR_MAX/WCHAR_MIN:
-#include <climits>
-#include <cwchar>
-#ifndef WCHAR_MAX
-# define WCHAR_MAX 0xffff
-#endif
-#ifndef WCHAR_MIN
-# define WCHAR_MIN 0
-#endif
-#endif
-
-// Borland C++ Builder 6 and below:
-#if (__BORLANDC__ <= 0x564)
-# define BOOST_NO_INTEGRAL_INT64_T
-
-# ifdef NDEBUG
- // fix broken <cstring> so that Boost.test works:
-# include <cstring>
-# undef strcmp
-# endif
- // fix broken errno declaration:
-# include <errno.h>
-# ifndef errno
-# define errno errno
-# endif
-
-#endif
-
-//
-// new bug in 5.61:
-#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x580)
- // this seems to be needed by the command line compiler, but not the IDE:
-# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-#endif
-
-// Borland C++ Builder 2006 Update 2 and below:
-#if (__BORLANDC__ <= 0x582)
-# define BOOST_NO_SFINAE
-# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-# define BOOST_NO_TEMPLATE_TEMPLATES
-
-# define BOOST_NO_PRIVATE_IN_AGGREGATE
-
-# ifdef _WIN32
-# define BOOST_NO_SWPRINTF
-# elif defined(linux) || defined(__linux__) || defined(__linux)
- // we should really be able to do without this
- // but the wcs* functions aren't imported into std::
-# define BOOST_NO_STDC_NAMESPACE
- // _CPPUNWIND doesn't get automatically set for some reason:
-# pragma defineonoption BOOST_CPPUNWIND -x
-# endif
-#endif
-
-// Borland C++ Builder 2007 December 2007 Update and below:
-#if (__BORLANDC__ <= 0x593)
- // we shouldn't really need this - but too many things choke
- // without it, this needs more investigation:
-# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-# define BOOST_NO_IS_ABSTRACT
-# define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
-
-// Temporary workaround
-#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif
-
-// Borland C++ Builder 2008 and below:
-#if (__BORLANDC__ <= 0x601)
-# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-# define BOOST_ILLEGAL_CV_REFERENCES
-# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-# define BOOST_NO_USING_TEMPLATE
-# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-#endif
-
-//
-// Positive Feature detection
-//
-// Borland C++ Builder 2008 and below:
-#if (__BORLANDC__ >= 0x599)
-# pragma defineonoption BOOST_CODEGEAR_0X_SUPPORT -Ax
-#endif
-
-#if defined( BOOST_CODEGEAR_0X_SUPPORT )
-# #if __BORLANDC__ >= 0x610
-# define BOOST_HAS_ALIGNOF
-# define BOOST_HAS_CHAR16_T
-# define BOOST_HAS_CHAR32_T
-# define BOOST_HAS_DECLTYPE
-//# define BOOST_HAS_DEFAULTED_FN
-//# define BOOST_HAS_DELETED_FN
-# define BOOST_HAS_EXPLICIT_CONVERSION_OPS
-//# define BOOST_HAS_NULLPTR
-//# define BOOST_HAS_RAW_STRING
-# define BOOST_HAS_REF_QUALIFIER
-# define BOOST_HAS_RVALUE_REFS
-//# define BOOST_HAS_SCOPED_ENUM
-# define BOOST_HAS_STATIC_ASSERT
-//# define BOOST_HAS_VARIADIC_TMPL
-# #endif //__BORLANDC__ >= 0x610
-#endif
-
-#if __BORLANDC__ >= 0x590
-# define BOOST_HAS_TR1_HASH
-
-# define BOOST_HAS_MACRO_USE_FACET
-#endif
-
-//
-// Post 0x561 we have long long and stdint.h:
-#if __BORLANDC__ >= 0x561
-# ifndef __NO_LONG_LONG
-# define BOOST_HAS_LONG_LONG
-# endif
- // On non-Win32 platforms let the platform config figure this out:
-# ifdef _WIN32
-# define BOOST_HAS_STDINT_H
-# endif
-#endif
-
-// Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is
-// defined, then we have 0x560 or greater with the Rogue Wave implementation
-// which presumably has the std::DBL_MAX bug.
-#if defined( BOOST_BCB_WITH_ROGUE_WAVE )
-// <climits> is partly broken, some macros define symbols that are really in
-// namespace std, so you end up having to use illegal constructs like
-// std::DBL_MAX, as a fix we'll just include float.h and have done with:
-#include <float.h>
-#endif
-//
-// __int64:
-//
-#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__)
-# define BOOST_HAS_MS_INT64
-#endif
-//
-// check for exception handling support:
-//
-#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-#endif
-//
-// all versions have a <dirent.h>:
-//
-#ifndef __STRICT_ANSI__
-# define BOOST_HAS_DIRENT_H
-#endif
-//
-// all versions support __declspec:
-//
-#ifndef __STRICT_ANSI__
-# define BOOST_HAS_DECLSPEC
-#endif
-//
-// ABI fixing headers:
-//
-#if __BORLANDC__ < 0x600 // not implemented for version 6 compiler yet
-#ifndef BOOST_ABI_PREFIX
-# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
-#endif
-#ifndef BOOST_ABI_SUFFIX
-# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
-#endif
-#endif
-//
-// Disable Win32 support in ANSI mode:
-//
-#if __BORLANDC__ < 0x600
-# pragma defineonoption BOOST_DISABLE_WIN32 -A
-#elif defined(__STRICT_ANSI__)
-# define BOOST_DISABLE_WIN32
-#endif
-//
-// MSVC compatibility mode does some nasty things:
-// TODO: look up if this doesn't apply to the whole 12xx range
-//
-#if defined(_MSC_VER) && (_MSC_VER <= 1200)
-# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-# define BOOST_NO_VOID_RETURNS
-#endif
-
-#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__)
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/codegear.hpp b/src/libs/boost-1.37.0/boost/config/compiler/codegear.hpp
deleted file mode 100644
index d27817a9..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/codegear.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright David Abrahams 2002 - 2003.
-// (C) Copyright Aleksey Gurtovoy 2002.
-// 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.
-
-// CodeGear C++ compiler setup:
-
-#if !defined( BOOST_WITH_CODEGEAR_WARNINGS )
-// these warnings occur frequently in optimized template code
-# pragma warn -8004 // var assigned value, but never used
-# pragma warn -8008 // condition always true/false
-# pragma warn -8066 // dead code can never execute
-# pragma warn -8104 // static members with ctors not threadsafe
-# pragma warn -8105 // reference member in class without ctors
-#endif
-//
-// versions check:
-// last known and checked version is 0x610
-#if (__CODEGEARC__ > 0x610)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# else
-# pragma message( "Unknown compiler version - please run the configure tests and report the results")
-# endif
-#endif
-
-// CodeGear C++ Builder 2009
-#if (__CODEGEARC__ <= 0x610)
-# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_NO_PRIVATE_IN_AGGREGATE
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-# define BOOST_NO_USING_TEMPLATE
- // we shouldn't really need this - but too many things choke
- // without it, this needs more investigation:
-# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-# define BOOST_NO_TYPENAME_WITH_CTOR // Cannot use typename keyword when making temporaries of a dependant type
-# define BOOST_NO_NESTED_FRIENDSHIP // TC1 gives nested classes access rights as any other member
-
-// Temporary hack, until specific MPL preprocessed headers are generated
-# define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-# ifdef NDEBUG
- // fix broken <cstring> so that Boost.test works:
-# include <cstring>
-# undef strcmp
-# endif
- // fix broken errno declaration:
-# include <errno.h>
-# ifndef errno
-# define errno errno
-# endif
-
-#endif
-
-
-# define BOOST_HAS_CHAR16_T
-# define BOOST_HAS_CHAR32_T
-# define BOOST_HAS_LONG_LONG
-
-//# define BOOST_HAS_ALIGNOF
-# define BOOST_HAS_DECLTYPE
-# define BOOST_HAS_EXPLICIT_CONVERSION_OPS
-//# define BOOST_HAS_RVALUE_REFS
-# define BOOST_HAS_SCOPED_ENUM
-//# define BOOST_HAS_STATIC_ASSERT
-# define BOOST_HAS_STD_TYPE_TRAITS
-
-# define BOOST_HAS_TR1_HASH
-# define BOOST_HAS_TR1_TYPE_TRAITS
-# define BOOST_HAS_TR1_UNORDERED_MAP
-# define BOOST_HAS_TR1_UNORDERED_SET
-
-# define BOOST_HAS_MACRO_USE_FACET
-
-
- // On non-Win32 platforms let the platform config figure this out:
-# ifdef _WIN32
-# define BOOST_HAS_STDINT_H
-# endif
-
-//
-// __int64:
-//
-#if !defined(__STRICT_ANSI__)
-# define BOOST_HAS_MS_INT64
-#endif
-//
-// check for exception handling support:
-//
-#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-#endif
-//
-// all versions have a <dirent.h>:
-//
-#if !defined(__STRICT_ANSI__)
-# define BOOST_HAS_DIRENT_H
-#endif
-//
-// all versions support __declspec:
-//
-#if !defined(__STRICT_ANSI__)
-# define BOOST_HAS_DECLSPEC
-#endif
-//
-// ABI fixing headers:
-//
-#ifndef BOOST_ABI_PREFIX
-# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
-#endif
-#ifndef BOOST_ABI_SUFFIX
-# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
-#endif
-//
-// Disable Win32 support in ANSI mode:
-//
-# pragma defineonoption BOOST_DISABLE_WIN32 -A
-//
-// MSVC compatibility mode does some nasty things:
-// TODO: look up if this doesn't apply to the whole 12xx range
-//
-#if defined(_MSC_VER) && (_MSC_VER <= 1200)
-# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-# define BOOST_NO_VOID_RETURNS
-#endif
-
-#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__)
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/comeau.hpp b/src/libs/boost-1.37.0/boost/config/compiler/comeau.hpp
deleted file mode 100644
index 278222dc..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/comeau.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// (C) Copyright John Maddock 2001.
-// (C) Copyright Douglas Gregor 2001.
-// (C) Copyright Peter Dimov 2001.
-// (C) Copyright Aleksey Gurtovoy 2003.
-// (C) Copyright Beman Dawes 2003.
-// (C) Copyright Jens Maurer 2003.
-// 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.
-
-// Comeau C++ compiler setup:
-
-#include "boost/config/compiler/common_edg.hpp"
-
-#if (__COMO_VERSION__ <= 4245)
-
-# if defined(_MSC_VER) && _MSC_VER <= 1300
-# if _MSC_VER > 100
- // only set this in non-strict mode:
-# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-# endif
-# endif
-
-// Void returns don't work when emulating VC 6 (Peter Dimov)
-// TODO: look up if this doesn't apply to the whole 12xx range
-# if defined(_MSC_VER) && (_MSC_VER < 1300)
-# define BOOST_NO_VOID_RETURNS
-# endif
-
-#endif // version 4245
-
-//
-// enable __int64 support in VC emulation mode
-//
-# if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# define BOOST_HAS_MS_INT64
-# endif
-
-#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__)
-
-//
-// versions check:
-// we don't know Comeau prior to version 4245:
-#if __COMO_VERSION__ < 4245
-# error "Compiler not configured - please reconfigure"
-#endif
-//
-// last known and checked version is 4245:
-#if (__COMO_VERSION__ > 4245)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/common_edg.hpp b/src/libs/boost-1.37.0/boost/config/compiler/common_edg.hpp
deleted file mode 100644
index 0443be1a..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/common_edg.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2002.
-// (C) Copyright Jens Maurer 2001.
-// (C) Copyright David Abrahams 2002.
-// (C) Copyright Aleksey Gurtovoy 2002.
-// (C) Copyright Markus Schoepflin 2005.
-// 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.
-
-//
-// Options common to all edg based compilers.
-//
-// This is included from within the individual compiler mini-configs.
-
-#ifndef __EDG_VERSION__
-# error This file requires that __EDG_VERSION__ be defined.
-#endif
-
-#if (__EDG_VERSION__ <= 238)
-# define BOOST_NO_INTEGRAL_INT64_T
-# define BOOST_NO_SFINAE
-#endif
-
-#if (__EDG_VERSION__ <= 240)
-# define BOOST_NO_VOID_RETURNS
-#endif
-
-#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
-# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-#endif
-
-#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES)
-# define BOOST_NO_TEMPLATE_TEMPLATES
-#endif
-
-#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT)
-# define BOOST_NO_IS_ABSTRACT
-#endif
-
-#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
-# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#endif
-
-// See also kai.hpp which checks a Kai-specific symbol for EH
-# if !defined(__KCC) && !defined(__EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-# endif
-
-# if !defined(__NO_LONG_LONG)
-# define BOOST_HAS_LONG_LONG
-# endif
-
-#ifdef c_plusplus
-// EDG has "long long" in non-strict mode
-// However, some libraries have insufficient "long long" support
-// #define BOOST_HAS_LONG_LONG
-#endif
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/compaq_cxx.hpp b/src/libs/boost-1.37.0/boost/config/compiler/compaq_cxx.hpp
deleted file mode 100644
index b44486c6..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/compaq_cxx.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// 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.
-
-// Tru64 C++ compiler setup (now HP):
-
-#define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER)
-
-#include "boost/config/compiler/common_edg.hpp"
-
-//
-// versions check:
-// Nothing to do here?
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/digitalmars.hpp b/src/libs/boost-1.37.0/boost/config/compiler/digitalmars.hpp
deleted file mode 100644
index 46848479..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/digitalmars.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (C) Christof Meerwald 2003
-// Copyright (C) Dan Watkins 2003
-//
-// 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)
-
-// Digital Mars C++ compiler setup:
-#define BOOST_COMPILER __DMC_VERSION_STRING__
-
-#define BOOST_HAS_LONG_LONG
-#define BOOST_HAS_PRAGMA_ONCE
-
-#if (__DMC__ <= 0x833)
-#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#define BOOST_NO_TEMPLATE_TEMPLATES
-#define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING
-#define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
-#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-#endif
-#if (__DMC__ <= 0x840) || !defined(BOOST_STRICT_CONFIG)
-#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#define BOOST_NO_OPERATORS_IN_NAMESPACE
-#define BOOST_NO_UNREACHABLE_RETURN_DETECTION
-#define BOOST_NO_SFINAE
-#define BOOST_NO_USING_TEMPLATE
-#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#endif
-
-//
-// has macros:
-#if (__DMC__ >= 0x840)
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_STDINT_H
-#define BOOST_HAS_WINTHREADS
-#endif
-
-#if (__DMC__ >= 0x847)
-#define BOOST_HAS_EXPM1
-#define BOOST_HAS_LOG1P
-#endif
-
-//
-// Is this really the best way to detect whether the std lib is in namespace std?
-//
-#include <cstddef>
-#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD)
-# define BOOST_NO_STDC_NAMESPACE
-#endif
-
-
-// check for exception handling support:
-#ifndef _CPPUNWIND
-# define BOOST_NO_EXCEPTIONS
-#endif
-
-#if __DMC__ < 0x800
-#error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version is ...:
-#if (__DMC__ > 0x848)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/gcc.hpp b/src/libs/boost-1.37.0/boost/config/compiler/gcc.hpp
deleted file mode 100644
index 27df829b..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/gcc.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Darin Adler 2001 - 2002.
-// (C) Copyright Jens Maurer 2001 - 2002.
-// (C) Copyright Beman Dawes 2001 - 2003.
-// (C) Copyright Douglas Gregor 2002.
-// (C) Copyright David Abrahams 2002 - 2003.
-// (C) Copyright Synge Todo 2003.
-// 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.
-
-// GNU C++ compiler setup:
-
-#if __GNUC__ < 3
-# if __GNUC_MINOR__ == 91
- // egcs 1.1 won't parse shared_ptr.hpp without this:
-# define BOOST_NO_AUTO_PTR
-# endif
-# if __GNUC_MINOR__ < 95
- //
- // Prior to gcc 2.95 member templates only partly
- // work - define BOOST_MSVC6_MEMBER_TEMPLATES
- // instead since inline member templates mostly work.
- //
-# define BOOST_NO_MEMBER_TEMPLATES
-# if __GNUC_MINOR__ >= 9
-# define BOOST_MSVC6_MEMBER_TEMPLATES
-# endif
-# endif
-
-# if __GNUC_MINOR__ < 96
-# define BOOST_NO_SFINAE
-# endif
-
-# if __GNUC_MINOR__ <= 97
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_NO_OPERATORS_IN_NAMESPACE
-# endif
-
-# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-# define BOOST_NO_IS_ABSTRACT
-#elif __GNUC__ == 3
-# if defined (__PATHSCALE__)
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-# define BOOST_NO_IS_ABSTRACT
-# endif
- //
- // gcc-3.x problems:
- //
- // Bug specific to gcc 3.1 and 3.2:
- //
-# if ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2))
-# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-# endif
-# if __GNUC_MINOR__ < 4
-# define BOOST_NO_IS_ABSTRACT
-# endif
-#endif
-#if __GNUC__ < 4
-//
-// All problems to gcc-3.x and earlier here:
-//
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#endif
-
-#ifndef __EXCEPTIONS
-# define BOOST_NO_EXCEPTIONS
-#endif
-
-
-//
-// Threading support: Turn this on unconditionally here (except for
-// those platforms where we can know for sure). It will get turned off again
-// later if no threading API is detected.
-//
-#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
-# define BOOST_HAS_THREADS
-#endif
-
-//
-// gcc has "long long"
-//
-#define BOOST_HAS_LONG_LONG
-
-//
-// gcc implements the named return value optimization since version 3.1
-//
-#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
-#define BOOST_HAS_NRVO
-#endif
-//
-// RTTI and typeinfo detection is possible post gcc-4.3:
-//
-#if __GNUC__ * 100 + __GNUC_MINOR__ >= 403
-# ifndef __GXX_RTTI
-# define BOOST_NO_TYPEID
-# define BOOST_NO_RTTI
-# endif
-#endif
-
-//
-// C++0x features
-//
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)
-// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are
-// passed on the command line, which in turn defines
-// __GXX_EXPERIMENTAL_CXX0X__.
-# if defined(__GXX_EXPERIMENTAL_CXX0X__)
-# define BOOST_HAS_STATIC_ASSERT
-# define BOOST_HAS_VARIADIC_TMPL
-# define BOOST_HAS_RVALUE_REFS
-# define BOOST_HAS_DECLTYPE
-# endif
-#endif
-
-//
-// Potential C++0x features
-//
-
-// Variadic templates compiler:
-// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
-#ifdef __VARIADIC_TEMPLATES
-# define BOOST_HAS_VARIADIC_TMPL
-#endif
-
-// ConceptGCC compiler:
-// http://www.generic-programming.org/software/ConceptGCC/
-#ifdef __GXX_CONCEPTS__
-# define BOOST_HAS_CONCEPTS
-# define BOOST_COMPILER "ConceptGCC version " __VERSION__
-#endif
-
-#ifndef BOOST_COMPILER
-# define BOOST_COMPILER "GNU C++ version " __VERSION__
-#endif
-
-//
-// versions check:
-// we don't know gcc prior to version 2.90:
-#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90)
-# error "Compiler not configured - please reconfigure"
-#endif
-//
-// last known and checked version is 4.3 (Pre-release):
-#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 3))
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# else
-// we don't emit warnings here anymore since there are no defect macros defined for
-// gcc post 3.4, so any failures are gcc regressions...
-//# warning "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/gcc_xml.hpp b/src/libs/boost-1.37.0/boost/config/compiler/gcc_xml.hpp
deleted file mode 100644
index 5dd67c76..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/gcc_xml.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-// (C) Copyright John Maddock 2006.
-// 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.
-
-// GCC-XML C++ compiler setup:
-
-# if !defined(__GCCXML_GNUC__) || ((__GCCXML_GNUC__ <= 3) && (__GCCXML_GNUC_MINOR__ <= 3))
-# define BOOST_NO_IS_ABSTRACT
-# endif
-
-//
-// Threading support: Turn this on unconditionally here (except for
-// those platforms where we can know for sure). It will get turned off again
-// later if no threading API is detected.
-//
-#if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(linux) && !defined(__linux) && !defined(__linux__)
-# define BOOST_HAS_THREADS
-#endif
-
-//
-// gcc has "long long"
-//
-#define BOOST_HAS_LONG_LONG
-
-#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/greenhills.hpp b/src/libs/boost-1.37.0/boost/config/compiler/greenhills.hpp
deleted file mode 100644
index 038b6b2b..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/greenhills.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright John Maddock 2001.
-// 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.
-
-// Greenhills C++ compiler setup:
-
-#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs)
-
-#include "boost/config/compiler/common_edg.hpp"
-
-//
-// versions check:
-// we don't support Greenhills prior to version 0:
-#if __ghs < 0
-# error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version is 0:
-#if (__ghs > 0)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/hp_acc.hpp b/src/libs/boost-1.37.0/boost/config/compiler/hp_acc.hpp
deleted file mode 100644
index 5a766c59..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/hp_acc.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 2001 - 2003.
-// (C) Copyright Aleksey Gurtovoy 2002.
-// (C) Copyright David Abrahams 2002 - 2003.
-// (C) Copyright Toon Knapen 2003.
-// (C) Copyright Boris Gubenko 2006 - 2007.
-// 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.
-
-// HP aCC C++ compiler setup:
-
-#if defined(__EDG__)
-#include "boost/config/compiler/common_edg.hpp"
-#endif
-
-#if (__HP_aCC <= 33100)
-# define BOOST_NO_INTEGRAL_INT64_T
-# define BOOST_NO_OPERATORS_IN_NAMESPACE
-# if !defined(_NAMESPACE_STD)
-# define BOOST_NO_STD_LOCALE
-# define BOOST_NO_STRINGSTREAM
-# endif
-#endif
-
-#if (__HP_aCC <= 33300)
-// member templates are sufficiently broken that we disable them for now
-# define BOOST_NO_MEMBER_TEMPLATES
-# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-#endif
-
-#if (__HP_aCC <= 38000)
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#endif
-
-#if (__HP_aCC > 50000) && (__HP_aCC < 60000)
-# define BOOST_NO_UNREACHABLE_RETURN_DETECTION
-# define BOOST_NO_TEMPLATE_TEMPLATES
-# define BOOST_NO_SWPRINTF
-# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-# define BOOST_NO_IS_ABSTRACT
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#endif
-
-// optional features rather than defects:
-#if (__HP_aCC >= 33900)
-# define BOOST_HAS_LONG_LONG
-# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-#endif
-
-#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 )
-# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-#endif
-
-// This macro should not be defined when compiling in strict ansi
-// mode, but, currently, we don't have the ability to determine
-// what standard mode we are compiling with. Some future version
-// of aCC6 compiler will provide predefined macros reflecting the
-// compilation options, including the standard mode.
-#if (__HP_aCC >= 60000) || ((__HP_aCC > 38000) && defined(__hpxstd98))
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#endif
-
-#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC)
-
-//
-// versions check:
-// we don't support HP aCC prior to version 33000:
-#if __HP_aCC < 33000
-# error "Compiler not supported or configured - please reconfigure"
-#endif
-
-//
-// Extended checks for supporting aCC on PA-RISC
-#if __HP_aCC > 30000 && __HP_aCC < 50000
-# if __HP_aCC < 38000
- // versions prior to version A.03.80 not supported
-# error "Compiler version not supported - version A.03.80 or higher is required"
-# elif !defined(__hpxstd98)
- // must compile using the option +hpxstd98 with version A.03.80 and above
-# error "Compiler option '+hpxstd98' is required for proper support"
-# endif //PA-RISC
-#endif
-
-//
-// last known and checked version for HP-UX/ia64 is 61300
-// last known and checked version for PA-RISC is 38000
-#if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98)))
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/intel.hpp b/src/libs/boost-1.37.0/boost/config/compiler/intel.hpp
deleted file mode 100644
index bc3d4e99..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/intel.hpp
+++ /dev/null
@@ -1,173 +0,0 @@
-// (C) Copyright John Maddock 2001-8.
-// (C) Copyright Peter Dimov 2001.
-// (C) Copyright Jens Maurer 2001.
-// (C) Copyright David Abrahams 2002 - 2003.
-// (C) Copyright Aleksey Gurtovoy 2002 - 2003.
-// (C) Copyright Guillaume Melquiond 2002 - 2003.
-// (C) Copyright Beman Dawes 2003.
-// (C) Copyright Martin Wille 2003.
-// 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.
-
-// Intel compiler setup:
-
-#include "boost/config/compiler/common_edg.hpp"
-
-#if defined(__INTEL_COMPILER)
-# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER
-#elif defined(__ICL)
-# define BOOST_INTEL_CXX_VERSION __ICL
-#elif defined(__ICC)
-# define BOOST_INTEL_CXX_VERSION __ICC
-#elif defined(__ECC)
-# define BOOST_INTEL_CXX_VERSION __ECC
-#endif
-
-#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
-#define BOOST_INTEL BOOST_INTEL_CXX_VERSION
-
-#if defined(_WIN32) || defined(_WIN64)
-# define BOOST_INTEL_WIN BOOST_INTEL
-#else
-# define BOOST_INTEL_LINUX BOOST_INTEL
-#endif
-
-#if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER)
-# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-# define BOOST_NO_TEMPLATE_TEMPLATES
-#endif
-
-#if (BOOST_INTEL_CXX_VERSION <= 600)
-
-# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov)
-
-// Boost libraries assume strong standard conformance unless otherwise
-// indicated by a config macro. As configured by Intel, the EDG front-end
-// requires certain compiler options be set to achieve that strong conformance.
-// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt)
-// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for
-// details as they apply to particular versions of the compiler. When the
-// compiler does not predefine a macro indicating if an option has been set,
-// this config file simply assumes the option has been set.
-// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if
-// the compiler option is not enabled.
-
-# define BOOST_NO_SWPRINTF
-# endif
-
-// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov)
-
-# if defined(_MSC_VER) && (_MSC_VER <= 1200)
-# define BOOST_NO_VOID_RETURNS
-# define BOOST_NO_INTEGRAL_INT64_T
-# endif
-
-#endif
-
-#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32)
-# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
-#endif
-
-// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864
-#if BOOST_INTEL_CXX_VERSION < 600
-# define BOOST_NO_INTRINSIC_WCHAR_T
-#else
-// We should test the macro _WCHAR_T_DEFINED to check if the compiler
-// supports wchar_t natively. *BUT* there is a problem here: the standard
-// headers define this macro if they typedef wchar_t. Anyway, we're lucky
-// because they define it without a value, while Intel C++ defines it
-// to 1. So we can check its value to see if the macro was defined natively
-// or not.
-// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T
-// is used instead.
-# if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0)
-# define BOOST_NO_INTRINSIC_WCHAR_T
-# endif
-#endif
-
-#if defined(__GNUC__) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
-//
-// Figure out when Intel is emulating this gcc bug
-// (All Intel versions prior to 9.0.26, and versions
-// later than that if they are set up to emulate gcc 3.2
-// or earlier):
-//
-# if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (BOOST_INTEL < 900) || (__INTEL_COMPILER_BUILD_DATE < 20050912)
-# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-# endif
-#endif
-#if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32)
-// GCC or VC emulation:
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#endif
-//
-// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T
-// set correctly, if we don't do this now, we will get errors later
-// in type_traits code among other things, getting this correct
-// for the Intel compiler is actually remarkably fragile and tricky:
-//
-#if defined(BOOST_NO_INTRINSIC_WCHAR_T)
-#include <cwchar>
-template< typename T > struct assert_no_intrinsic_wchar_t;
-template<> struct assert_no_intrinsic_wchar_t<wchar_t> { typedef void type; };
-// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T
-// where it is defined above:
-typedef assert_no_intrinsic_wchar_t<unsigned short>::type assert_no_intrinsic_wchar_t_;
-#else
-template< typename T > struct assert_intrinsic_wchar_t;
-template<> struct assert_intrinsic_wchar_t<wchar_t> {};
-// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line:
-template<> struct assert_intrinsic_wchar_t<unsigned short> {};
-#endif
-
-#if _MSC_VER+0 >= 1000
-# if _MSC_VER >= 1200
-# define BOOST_HAS_MS_INT64
-# endif
-# define BOOST_NO_SWPRINTF
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#elif defined(_WIN32)
-# define BOOST_DISABLE_WIN32
-#endif
-
-// I checked version 6.0 build 020312Z, it implements the NRVO.
-// Correct this as you find out which version of the compiler
-// implemented the NRVO first. (Daniel Frey)
-#if (BOOST_INTEL_CXX_VERSION >= 600)
-# define BOOST_HAS_NRVO
-#endif
-
-//
-// versions check:
-// we don't support Intel prior to version 5.0:
-#if BOOST_INTEL_CXX_VERSION < 500
-# error "Compiler not supported or configured - please reconfigure"
-#endif
-
-// Intel on MacOS requires
-#if defined(__APPLE__) && defined(__INTEL_COMPILER)
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#endif
-
-// Intel on Altix Itanium
-#if defined(__itanium__) && defined(__INTEL_COMPILER)
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#endif
-
-//
-// last known and checked version:
-#if (BOOST_INTEL_CXX_VERSION > 1010)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# elif defined(_MSC_VER)
-//
-// We don't emit this warning any more, since we have so few
-// defect macros set anyway (just the one).
-//
-//# pragma message("Unknown compiler version - please run the configure tests and report the results")
-# endif
-#endif
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/kai.hpp b/src/libs/boost-1.37.0/boost/config/compiler/kai.hpp
deleted file mode 100644
index de16f1a6..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/kai.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-// (C) Copyright John Maddock 2001.
-// (C) Copyright David Abrahams 2002.
-// (C) Copyright Aleksey Gurtovoy 2002.
-// 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.
-
-// Kai C++ compiler setup:
-
-#include "boost/config/compiler/common_edg.hpp"
-
-# if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG)
- // at least on Sun, the contents of <cwchar> is not in namespace std
-# define BOOST_NO_STDC_NAMESPACE
-# endif
-
-// see also common_edg.hpp which needs a special check for __KCC
-# if !defined(_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-# endif
-
-#define BOOST_COMPILER "Kai C++ version " BOOST_STRINGIZE(__KCC_VERSION)
-
-//
-// last known and checked version is 4001:
-#if (__KCC_VERSION > 4001)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/metrowerks.hpp b/src/libs/boost-1.37.0/boost/config/compiler/metrowerks.hpp
deleted file mode 100644
index 2b60b56f..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/metrowerks.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-// (C) Copyright John Maddock 2001.
-// (C) Copyright Darin Adler 2001.
-// (C) Copyright Peter Dimov 2001.
-// (C) Copyright David Abrahams 2001 - 2002.
-// (C) Copyright Beman Dawes 2001 - 2003.
-// (C) Copyright Stefan Slapeta 2004.
-// 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.
-
-// Metrowerks C++ compiler setup:
-
-// locale support is disabled when linking with the dynamic runtime
-# ifdef _MSL_NO_LOCALE
-# define BOOST_NO_STD_LOCALE
-# endif
-
-# if __MWERKS__ <= 0x2301 // 5.3
-# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-# define BOOST_NO_POINTER_TO_MEMBER_CONST
-# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-# endif
-
-# if __MWERKS__ <= 0x2401 // 6.2
-//# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-# endif
-
-# if(__MWERKS__ <= 0x2407) // 7.x
-# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-# define BOOST_NO_UNREACHABLE_RETURN_DETECTION
-# endif
-
-# if(__MWERKS__ <= 0x3003) // 8.x
-# define BOOST_NO_SFINAE
-# endif
-
-// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last
-// tested version *only*:
-# if(__MWERKS__ <= 0x3206) || !defined(BOOST_STRICT_CONFIG) // 9.5
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_NO_IS_ABSTRACT
-# endif
-
-#if !__option(wchar_type)
-# define BOOST_NO_INTRINSIC_WCHAR_T
-#endif
-
-#if !__option(exceptions)
-# define BOOST_NO_EXCEPTIONS
-#endif
-
-#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh)
-# if __MWERKS__ == 0x3000
-# define BOOST_COMPILER_VERSION 8.0
-# elif __MWERKS__ == 0x3001
-# define BOOST_COMPILER_VERSION 8.1
-# elif __MWERKS__ == 0x3002
-# define BOOST_COMPILER_VERSION 8.2
-# elif __MWERKS__ == 0x3003
-# define BOOST_COMPILER_VERSION 8.3
-# elif __MWERKS__ == 0x3200
-# define BOOST_COMPILER_VERSION 9.0
-# elif __MWERKS__ == 0x3201
-# define BOOST_COMPILER_VERSION 9.1
-# elif __MWERKS__ == 0x3202
-# define BOOST_COMPILER_VERSION 9.2
-# elif __MWERKS__ == 0x3204
-# define BOOST_COMPILER_VERSION 9.3
-# elif __MWERKS__ == 0x3205
-# define BOOST_COMPILER_VERSION 9.4
-# elif __MWERKS__ == 0x3206
-# define BOOST_COMPILER_VERSION 9.5
-# else
-# define BOOST_COMPILER_VERSION __MWERKS__
-# endif
-#else
-# define BOOST_COMPILER_VERSION __MWERKS__
-#endif
-
-//
-// C++0x features
-//
-#if __MWERKS__ > 0x3206 && __option(rvalue_refs)
-# define BOOST_HAS_RVALUE_REFS
-#endif
-
-#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
-
-//
-// versions check:
-// we don't support Metrowerks prior to version 5.3:
-#if __MWERKS__ < 0x2301
-# error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version:
-#if (__MWERKS__ > 0x3205)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
-
-
-
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/mpw.hpp b/src/libs/boost-1.37.0/boost/config/compiler/mpw.hpp
deleted file mode 100644
index 8ab2aacb..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/mpw.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2002.
-// (C) Copyright Aleksey Gurtovoy 2002.
-// 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.
-
-// MPW C++ compilers setup:
-
-# if defined(__SC__)
-# define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__)
-# elif defined(__MRC__)
-# define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__)
-# else
-# error "Using MPW compiler configuration by mistake. Please update."
-# endif
-
-//
-// MPW 8.90:
-//
-#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG)
-# define BOOST_NO_CV_SPECIALIZATIONS
-# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-# define BOOST_NO_INTRINSIC_WCHAR_T
-# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# define BOOST_NO_USING_TEMPLATE
-
-# define BOOST_NO_CWCHAR
-# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-
-# define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */
-#endif
-
-//
-// versions check:
-// we don't support MPW prior to version 8.9:
-#if MPW_CPLUS < 0x890
-# error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version is 0x890:
-#if (MPW_CPLUS > 0x890)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/pgi.hpp b/src/libs/boost-1.37.0/boost/config/compiler/pgi.hpp
deleted file mode 100644
index 41f29c75..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/pgi.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-// (C) Copyright Noel Belcourt 2007.
-// 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.
-
-// PGI C++ compiler setup:
-
-#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__
-#define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)
-
-//
-// Threading support:
-// Turn this on unconditionally here, it will get turned off again later
-// if no threading API is detected.
-//
-
-#if (__PGIC__ >= 7)
-
-#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_SWPRINTF
-
-#else
-
-# error "Pgi compiler not configured - please reconfigure"
-
-#endif
-//
-// version check:
-// probably nothing to do here?
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/sgi_mipspro.hpp b/src/libs/boost-1.37.0/boost/config/compiler/sgi_mipspro.hpp
deleted file mode 100644
index 33e97e9a..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/sgi_mipspro.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2002.
-// 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.
-
-// SGI C++ compiler setup:
-
-#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)
-
-#include "boost/config/compiler/common_edg.hpp"
-
-//
-// Threading support:
-// Turn this on unconditionally here, it will get turned off again later
-// if no threading API is detected.
-//
-#define BOOST_HAS_THREADS
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-
-#undef BOOST_NO_SWPRINTF
-#undef BOOST_DEDUCED_TYPENAME
-//
-// version check:
-// probably nothing to do here?
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/sunpro_cc.hpp b/src/libs/boost-1.37.0/boost/config/compiler/sunpro_cc.hpp
deleted file mode 100644
index f513c2dc..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/sunpro_cc.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-// (C) Copyright John Maddock 2001.
-// (C) Copyright Jens Maurer 2001 - 2003.
-// (C) Copyright Peter Dimov 2002.
-// (C) Copyright Aleksey Gurtovoy 2002 - 2003.
-// (C) Copyright David Abrahams 2002.
-// 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.
-
-// Sun C++ compiler setup:
-
-# if __SUNPRO_CC <= 0x500
-# define BOOST_NO_MEMBER_TEMPLATES
-# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-# endif
-
-# if (__SUNPRO_CC <= 0x520)
- //
- // Sunpro 5.2 and earler:
- //
- // although sunpro 5.2 supports the syntax for
- // inline initialization it often gets the value
- // wrong, especially where the value is computed
- // from other constants (J Maddock 6th May 2001)
-# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-
- // Although sunpro 5.2 supports the syntax for
- // partial specialization, it often seems to
- // bind to the wrong specialization. Better
- // to disable it until suppport becomes more stable
- // (J Maddock 6th May 2001).
-# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# endif
-
-# if (__SUNPRO_CC <= 0x530)
- // Requesting debug info (-g) with Boost.Python results
- // in an internal compiler error for "static const"
- // initialized in-class.
- // >> Assertion: (../links/dbg_cstabs.cc, line 611)
- // while processing ../test.cpp at line 0.
- // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002)
-# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-
- // SunPro 5.3 has better support for partial specialization,
- // but breaks when compiling std::less<shared_ptr<T> >
- // (Jens Maurer 4 Nov 2001).
-
- // std::less specialization fixed as reported by George
- // Heintzelman; partial specialization re-enabled
- // (Peter Dimov 17 Jan 2002)
-
-//# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
- // integral constant expressions with 64 bit numbers fail
-# define BOOST_NO_INTEGRAL_INT64_T
-# endif
-
-# if (__SUNPRO_CC < 0x570)
-# define BOOST_NO_TEMPLATE_TEMPLATES
- // see http://lists.boost.org/MailArchives/boost/msg47184.php
- // and http://lists.boost.org/MailArchives/boost/msg47220.php
-# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-# define BOOST_NO_SFINAE
-# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
-# endif
-# if (__SUNPRO_CC <= 0x580)
-# define BOOST_NO_IS_ABSTRACT
-# endif
-
-//
-// Issues that effect all known versions:
-//
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_ADL_BARRIER
-
-#if(__SUNPRO_CC >= 0x590)
-# define BOOST_HAS_LONG_LONG
-#endif
-
-
-#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)
-
-//
-// versions check:
-// we don't support sunpro prior to version 4:
-#if __SUNPRO_CC < 0x400
-#error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version is 0x590:
-#if (__SUNPRO_CC > 0x590)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
-
-
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/vacpp.hpp b/src/libs/boost-1.37.0/boost/config/compiler/vacpp.hpp
deleted file mode 100644
index 826939f1..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/vacpp.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Toon Knapen 2001 - 2003.
-// (C) Copyright Lie-Quan Lee 2001.
-// (C) Copyright Markus Schoepflin 2002 - 2003.
-// (C) Copyright Beman Dawes 2002 - 2003.
-// 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.
-
-// Visual Age (IBM) C++ compiler setup:
-
-#if __IBMCPP__ <= 501
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-#endif
-
-#if (__IBMCPP__ <= 502)
-// Actually the compiler supports inclass member initialization but it
-// requires a definition for the class member and it doesn't recognize
-// it as an integral constant expression when used as a template argument.
-# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-# define BOOST_NO_INTEGRAL_INT64_T
-# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-#endif
-
-#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG)
-# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
-#endif
-
-//
-// On AIX thread support seems to be indicated by _THREAD_SAFE:
-//
-#ifdef _THREAD_SAFE
-# define BOOST_HAS_THREADS
-#endif
-
-#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__)
-
-//
-// versions check:
-// we don't support Visual age prior to version 5:
-#if __IBMCPP__ < 500
-#error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version is 600:
-#if (__IBMCPP__ > 600)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
-
-// Some versions of the compiler have issues with default arguments on partial specializations
-#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/compiler/visualc.hpp b/src/libs/boost-1.37.0/boost/config/compiler/visualc.hpp
deleted file mode 100644
index 187591be..00000000
--- a/src/libs/boost-1.37.0/boost/config/compiler/visualc.hpp
+++ /dev/null
@@ -1,199 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Darin Adler 2001 - 2002.
-// (C) Copyright Peter Dimov 2001.
-// (C) Copyright Aleksey Gurtovoy 2002.
-// (C) Copyright David Abrahams 2002 - 2003.
-// (C) Copyright Beman Dawes 2002 - 2003.
-// 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.
-
-// Microsoft Visual C++ compiler setup:
-
-#define BOOST_MSVC _MSC_VER
-
-// turn off the warnings before we #include anything
-#pragma warning( disable : 4503 ) // warning: decorated name length exceeded
-
-#if _MSC_VER < 1300 // 1200 == VC++ 6.0, 1200-1202 == eVC++4
-# pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info
-# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-# define BOOST_NO_VOID_RETURNS
-# define BOOST_NO_EXCEPTION_STD_NAMESPACE
- // disable min/max macro defines on vc6:
- //
-#endif
-
-#if (_MSC_VER <= 1300) // 1300 == VC++ 7.0
-
-# if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) // VC7 bug with /Za
-# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-# endif
-
-# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-# define BOOST_NO_PRIVATE_IN_AGGREGATE
-# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-# define BOOST_NO_INTEGRAL_INT64_T
-# define BOOST_NO_DEDUCED_TYPENAME
-# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-
-// VC++ 6/7 has member templates but they have numerous problems including
-// cases of silent failure, so for safety we define:
-# define BOOST_NO_MEMBER_TEMPLATES
-// For VC++ experts wishing to attempt workarounds, we define:
-# define BOOST_MSVC6_MEMBER_TEMPLATES
-
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# define BOOST_NO_CV_VOID_SPECIALIZATIONS
-# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-# define BOOST_NO_USING_TEMPLATE
-# define BOOST_NO_SWPRINTF
-# define BOOST_NO_TEMPLATE_TEMPLATES
-# define BOOST_NO_SFINAE
-# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
-# define BOOST_NO_IS_ABSTRACT
-# define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
-// TODO: what version is meant here? Have there really been any fixes in cl 12.01 (as e.g. shipped with eVC4)?
-# if (_MSC_VER > 1200)
-# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-# endif
-
-#endif
-
-#if _MSC_VER < 1400
-// although a conforming signature for swprint exists in VC7.1
-// it appears not to actually work:
-# define BOOST_NO_SWPRINTF
-#endif
-
-#if defined(UNDER_CE)
-// Windows CE does not have a conforming signature for swprintf
-# define BOOST_NO_SWPRINTF
-#endif
-
-#if _MSC_VER <= 1400 // 1400 == VC++ 8.0
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#endif
-
-#if _MSC_VER <= 1500 // 1500 == VC++ 9.0
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#endif
-
-#if _MSC_VER == 1500 // 1500 == VC++ 9.0
- // A bug in VC9:
-# define BOOST_NO_ADL_BARRIER
-#endif
-
-#ifndef _NATIVE_WCHAR_T_DEFINED
-# define BOOST_NO_INTRINSIC_WCHAR_T
-#endif
-
-#if defined(_WIN32_WCE) || defined(UNDER_CE)
-# define BOOST_NO_THREADEX
-# define BOOST_NO_GETSYSTEMTIMEASFILETIME
-# define BOOST_NO_SWPRINTF
-#endif
-
-//
-// check for exception handling support:
-#ifndef _CPPUNWIND
-# define BOOST_NO_EXCEPTIONS
-#endif
-
-//
-// __int64 support:
-//
-#if (_MSC_VER >= 1200)
-# define BOOST_HAS_MS_INT64
-#endif
-#if (_MSC_VER >= 1310) && defined(_MSC_EXTENSIONS)
-# define BOOST_HAS_LONG_LONG
-#endif
-#if (_MSC_VER >= 1400) && !defined(_DEBUG)
-# define BOOST_HAS_NRVO
-#endif
-//
-// disable Win32 API's if compiler extentions are
-// turned off:
-//
-#ifndef _MSC_EXTENSIONS
-# define BOOST_DISABLE_WIN32
-#endif
-#ifndef _CPPRTTI
-# define BOOST_NO_RTTI
-#endif
-
-//
-// all versions support __declspec:
-//
-#define BOOST_HAS_DECLSPEC
-//
-// prefix and suffix headers:
-//
-#ifndef BOOST_ABI_PREFIX
-# define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp"
-#endif
-#ifndef BOOST_ABI_SUFFIX
-# define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp"
-#endif
-
-// TODO:
-// these things are mostly bogus. 1200 means version 12.0 of the compiler. The
-// artificial versions assigned to them only refer to the versions of some IDE
-// these compilers have been shipped with, and even that is not all of it. Some
-// were shipped with freely downloadable SDKs, others as crosscompilers in eVC.
-// IOW, you can't use these 'versions' in any sensible way. Sorry.
-# if defined(UNDER_CE)
-# if _MSC_VER < 1200
- // Note: these are so far off, they are not really supported
-# elif _MSC_VER < 1300 // eVC++ 4 comes with 1200-1202
-# define BOOST_COMPILER_VERSION evc4.0
-# elif _MSC_VER == 1400
-# define BOOST_COMPILER_VERSION evc8
-# else
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown EVC++ compiler version - please run the configure tests and report the results"
-# else
-# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results")
-# endif
-# endif
-# else
-# if _MSC_VER < 1200
- // Note: these are so far off, they are not really supported
-# define BOOST_COMPILER_VERSION 5.0
-# elif _MSC_VER < 1300
-# define BOOST_COMPILER_VERSION 6.0
-# elif _MSC_VER == 1300
-# define BOOST_COMPILER_VERSION 7.0
-# elif _MSC_VER == 1310
-# define BOOST_COMPILER_VERSION 7.1
-# elif _MSC_VER == 1400
-# define BOOST_COMPILER_VERSION 8.0
-# elif _MSC_VER == 1500
-# define BOOST_COMPILER_VERSION 9.0
-# else
-# define BOOST_COMPILER_VERSION _MSC_VER
-# endif
-# endif
-
-#define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
-
-//
-// versions check:
-// we don't support Visual C++ prior to version 6:
-#if _MSC_VER < 1200
-#error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version is 1500 (VC9):
-#if (_MSC_VER > 1500)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# else
-# pragma message("Unknown compiler version - please run the configure tests and report the results")
-# endif
-#endif
diff --git a/src/libs/boost-1.37.0/boost/config/no_tr1/cmath.hpp b/src/libs/boost-1.37.0/boost/config/no_tr1/cmath.hpp
deleted file mode 100644
index d8268d84..00000000
--- a/src/libs/boost-1.37.0/boost/config/no_tr1/cmath.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright John Maddock 2008.
-// 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)
-//
-// The aim of this header is just to include <cmath> but to do
-// so in a way that does not result in recursive inclusion of
-// the Boost TR1 components if boost/tr1/tr1/cmath is in the
-// include search path. We have to do this to avoid circular
-// dependencies:
-//
-
-#ifndef BOOST_CONFIG_CMATH
-# define BOOST_CONFIG_CMATH
-
-# ifndef BOOST_TR1_NO_RECURSION
-# define BOOST_TR1_NO_RECURSION
-# define BOOST_CONFIG_NO_CMATH_RECURSION
-# endif
-
-# include <cmath>
-
-# ifdef BOOST_CONFIG_NO_CMATH_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# undef BOOST_CONFIG_NO_CMATH_RECURSION
-# endif
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/config/no_tr1/complex.hpp b/src/libs/boost-1.37.0/boost/config/no_tr1/complex.hpp
deleted file mode 100644
index ca200922..00000000
--- a/src/libs/boost-1.37.0/boost/config/no_tr1/complex.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright John Maddock 2005.
-// 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)
-//
-// The aim of this header is just to include <complex> but to do
-// so in a way that does not result in recursive inclusion of
-// the Boost TR1 components if boost/tr1/tr1/complex is in the
-// include search path. We have to do this to avoid circular
-// dependencies:
-//
-
-#ifndef BOOST_CONFIG_COMPLEX
-# define BOOST_CONFIG_COMPLEX
-
-# ifndef BOOST_TR1_NO_RECURSION
-# define BOOST_TR1_NO_RECURSION
-# define BOOST_CONFIG_NO_COMPLEX_RECURSION
-# endif
-
-# include <complex>
-
-# ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# undef BOOST_CONFIG_NO_COMPLEX_RECURSION
-# endif
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/config/no_tr1/functional.hpp b/src/libs/boost-1.37.0/boost/config/no_tr1/functional.hpp
deleted file mode 100644
index e395efc1..00000000
--- a/src/libs/boost-1.37.0/boost/config/no_tr1/functional.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright John Maddock 2005.
-// 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)
-//
-// The aim of this header is just to include <functional> but to do
-// so in a way that does not result in recursive inclusion of
-// the Boost TR1 components if boost/tr1/tr1/functional is in the
-// include search path. We have to do this to avoid circular
-// dependencies:
-//
-
-#ifndef BOOST_CONFIG_FUNCTIONAL
-# define BOOST_CONFIG_FUNCTIONAL
-
-# ifndef BOOST_TR1_NO_RECURSION
-# define BOOST_TR1_NO_RECURSION
-# define BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
-# endif
-
-# include <functional>
-
-# ifdef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# undef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
-# endif
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/config/no_tr1/memory.hpp b/src/libs/boost-1.37.0/boost/config/no_tr1/memory.hpp
deleted file mode 100644
index 2b5d2080..00000000
--- a/src/libs/boost-1.37.0/boost/config/no_tr1/memory.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright John Maddock 2005.
-// 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)
-//
-// The aim of this header is just to include <memory> but to do
-// so in a way that does not result in recursive inclusion of
-// the Boost TR1 components if boost/tr1/tr1/memory is in the
-// include search path. We have to do this to avoid circular
-// dependencies:
-//
-
-#ifndef BOOST_CONFIG_MEMORY
-# define BOOST_CONFIG_MEMORY
-
-# ifndef BOOST_TR1_NO_RECURSION
-# define BOOST_TR1_NO_RECURSION
-# define BOOST_CONFIG_NO_MEMORY_RECURSION
-# endif
-
-# include <memory>
-
-# ifdef BOOST_CONFIG_NO_MEMORY_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# undef BOOST_CONFIG_NO_MEMORY_RECURSION
-# endif
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/config/no_tr1/utility.hpp b/src/libs/boost-1.37.0/boost/config/no_tr1/utility.hpp
deleted file mode 100644
index dea8f115..00000000
--- a/src/libs/boost-1.37.0/boost/config/no_tr1/utility.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright John Maddock 2005.
-// 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)
-//
-// The aim of this header is just to include <utility> but to do
-// so in a way that does not result in recursive inclusion of
-// the Boost TR1 components if boost/tr1/tr1/utility is in the
-// include search path. We have to do this to avoid circular
-// dependencies:
-//
-
-#ifndef BOOST_CONFIG_UTILITY
-# define BOOST_CONFIG_UTILITY
-
-# ifndef BOOST_TR1_NO_RECURSION
-# define BOOST_TR1_NO_RECURSION
-# define BOOST_CONFIG_NO_UTILITY_RECURSION
-# endif
-
-# include <utility>
-
-# ifdef BOOST_CONFIG_NO_UTILITY_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# undef BOOST_CONFIG_NO_UTILITY_RECURSION
-# endif
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/config/platform/aix.hpp b/src/libs/boost-1.37.0/boost/config/platform/aix.hpp
deleted file mode 100644
index 894ef42c..00000000
--- a/src/libs/boost-1.37.0/boost/config/platform/aix.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2002.
-// 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.
-
-// IBM/Aix specific config options:
-
-#define BOOST_PLATFORM "IBM Aix"
-
-#define BOOST_HAS_UNISTD_H
-#define BOOST_HAS_NL_TYPES_H
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_CLOCK_GETTIME
-
-// This needs support in "boost/cstdint.hpp" exactly like FreeBSD.
-// This platform has header named <inttypes.h> which includes all
-// the things needed.
-#define BOOST_HAS_STDINT_H
-
-// Threading API's:
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_PTHREAD_DELAY_NP
-#define BOOST_HAS_SCHED_YIELD
-//#define BOOST_HAS_PTHREAD_YIELD
-
-// boilerplate code:
-#include <boost/config/posix_features.hpp>
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/platform/amigaos.hpp b/src/libs/boost-1.37.0/boost/config/platform/amigaos.hpp
deleted file mode 100644
index 34bcf412..00000000
--- a/src/libs/boost-1.37.0/boost/config/platform/amigaos.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-// (C) Copyright John Maddock 2002.
-// 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_PLATFORM "AmigaOS"
-
-#define BOOST_DISABLE_THREADS
-#define BOOST_NO_CWCHAR
-#define BOOST_NO_STD_WSTRING
-#define BOOST_NO_INTRINSIC_WCHAR_T
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/platform/beos.hpp b/src/libs/boost-1.37.0/boost/config/platform/beos.hpp
deleted file mode 100644
index 48c3d8dc..00000000
--- a/src/libs/boost-1.37.0/boost/config/platform/beos.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// (C) Copyright John Maddock 2001.
-// 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.
-
-// BeOS specific config options:
-
-#define BOOST_PLATFORM "BeOS"
-
-#define BOOST_NO_CWCHAR
-#define BOOST_NO_CWCTYPE
-#define BOOST_HAS_UNISTD_H
-
-#define BOOST_HAS_BETHREADS
-
-#ifndef BOOST_DISABLE_THREADS
-# define BOOST_HAS_THREADS
-#endif
-
-// boilerplate code:
-#include <boost/config/posix_features.hpp>
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/platform/bsd.hpp b/src/libs/boost-1.37.0/boost/config/platform/bsd.hpp
deleted file mode 100644
index 810d3707..00000000
--- a/src/libs/boost-1.37.0/boost/config/platform/bsd.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Darin Adler 2001.
-// (C) Copyright Douglas Gregor 2002.
-// 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.
-
-// generic BSD config options:
-
-#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)
-#error "This platform is not BSD"
-#endif
-
-#ifdef __FreeBSD__
-#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__)
-#elif defined(__NetBSD__)
-#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__)
-#elif defined(__OpenBSD__)
-#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__)
-#elif defined(__DragonFly__)
-#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__)
-#endif
-
-//
-// is this the correct version check?
-// FreeBSD has <nl_types.h> but does not
-// advertise the fact in <unistd.h>:
-//
-#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) || defined(__DragonFly__)
-# define BOOST_HAS_NL_TYPES_H
-#endif
-
-//
-// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in <pthread.h>
-// and not in <unistd.h>
-//
-#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3)) || defined(__OpenBSD__)
-# define BOOST_HAS_PTHREADS
-#endif
-
-//
-// No wide character support in the BSD header files:
-//
-#if defined(__NetBSD__)
-#define __NetBSD_GCC__ (__GNUC__ * 1000000 \
- + __GNUC_MINOR__ * 1000 \
- + __GNUC_PATCHLEVEL__)
-// XXX - the following is required until c++config.h
-// defines _GLIBCXX_HAVE_SWPRINTF and friends
-// or the preprocessor conditionals are removed
-// from the cwchar header.
-#define _GLIBCXX_HAVE_SWPRINTF 1
-#endif
-
-#if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \
- || (__NetBSD_GCC__ >= 2095003))
-# define BOOST_NO_CWCHAR
-#endif
-//
-// The BSD <ctype.h> has macros only, no functions:
-//
-#if !defined(__OpenBSD__)
-# define BOOST_NO_CTYPE_FUNCTIONS
-#endif
-
-//
-// thread API's not auto detected:
-//
-#define BOOST_HAS_SCHED_YIELD
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#define BOOST_HAS_SIGACTION
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/platform/cygwin.hpp b/src/libs/boost-1.37.0/boost/config/platform/cygwin.hpp
deleted file mode 100644
index 41fcaa10..00000000
--- a/src/libs/boost-1.37.0/boost/config/platform/cygwin.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// 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.
-
-// cygwin specific config options:
-
-#define BOOST_PLATFORM "Cygwin"
-#define BOOST_NO_CWCTYPE
-#define BOOST_NO_CWCHAR
-#define BOOST_NO_SWPRINTF
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_LOG1P
-#define BOOST_HAS_EXPM1
-
-//
-// Threading API:
-// See if we have POSIX threads, if we do use them, otherwise
-// revert to native Win threads.
-#define BOOST_HAS_UNISTD_H
-#include <unistd.h>
-#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS)
-# define BOOST_HAS_PTHREADS
-# define BOOST_HAS_SCHED_YIELD
-# define BOOST_HAS_GETTIMEOFDAY
-# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-# define BOOST_HAS_SIGACTION
-#else
-# if !defined(BOOST_HAS_WINTHREADS)
-# define BOOST_HAS_WINTHREADS
-# endif
-# define BOOST_HAS_FTIME
-#endif
-
-//
-// find out if we have a stdint.h, there should be a better way to do this:
-//
-#include <sys/types.h>
-#ifdef _STDINT_H
-#define BOOST_HAS_STDINT_H
-#endif
-
-// boilerplate code:
-#include <boost/config/posix_features.hpp>
-
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/platform/hpux.hpp b/src/libs/boost-1.37.0/boost/config/platform/hpux.hpp
deleted file mode 100644
index 19ce68e5..00000000
--- a/src/libs/boost-1.37.0/boost/config/platform/hpux.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 2001 - 2003.
-// (C) Copyright David Abrahams 2002.
-// (C) Copyright Toon Knapen 2003.
-// (C) Copyright Boris Gubenko 2006 - 2007.
-// 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.
-
-// hpux specific config options:
-
-#define BOOST_PLATFORM "HP-UX"
-
-// In principle, HP-UX has a nice <stdint.h> under the name <inttypes.h>
-// However, it has the following problem:
-// Use of UINT32_C(0) results in "0u l" for the preprocessed source
-// (verifyable with gcc 2.95.3)
-#if (defined(__GNUC__) && (__GNUC__ >= 3)) || defined(__HP_aCC)
-# define BOOST_HAS_STDINT_H
-#endif
-
-#if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE))
-# define BOOST_NO_SWPRINTF
-#endif
-#if defined(__HP_aCC) && !defined(_INCLUDE__STDC_A1_SOURCE)
-# define BOOST_NO_CWCTYPE
-#endif
-
-#if defined(__GNUC__)
-# if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3))
- // GNU C on HP-UX does not support threads (checked up to gcc 3.3)
-# define BOOST_DISABLE_THREADS
-# elif !defined(BOOST_DISABLE_THREADS)
- // threads supported from gcc-3.3 onwards:
-# define BOOST_HAS_THREADS
-# define BOOST_HAS_PTHREADS
-# endif
-#elif defined(__HP_aCC) && !defined(BOOST_DISABLE_THREADS)
-# define BOOST_HAS_PTHREADS
-#endif
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-// the following are always available:
-#ifndef BOOST_HAS_GETTIMEOFDAY
-# define BOOST_HAS_GETTIMEOFDAY
-#endif
-#ifndef BOOST_HAS_SCHED_YIELD
-# define BOOST_HAS_SCHED_YIELD
-#endif
-#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#endif
-#ifndef BOOST_HAS_NL_TYPES_H
-# define BOOST_HAS_NL_TYPES_H
-#endif
-#ifndef BOOST_HAS_NANOSLEEP
-# define BOOST_HAS_NANOSLEEP
-#endif
-#ifndef BOOST_HAS_GETTIMEOFDAY
-# define BOOST_HAS_GETTIMEOFDAY
-#endif
-#ifndef BOOST_HAS_DIRENT_H
-# define BOOST_HAS_DIRENT_H
-#endif
-#ifndef BOOST_HAS_CLOCK_GETTIME
-# define BOOST_HAS_CLOCK_GETTIME
-#endif
-#ifndef BOOST_HAS_SIGACTION
-# define BOOST_HAS_SIGACTION
-#endif
-#ifndef BOOST_HAS_NRVO
-# ifndef __parisc
-# define BOOST_HAS_NRVO
-# endif
-#endif
-#ifndef BOOST_HAS_LOG1P
-# define BOOST_HAS_LOG1P
-#endif
-#ifndef BOOST_HAS_EXPM1
-# define BOOST_HAS_EXPM1
-#endif
-
diff --git a/src/libs/boost-1.37.0/boost/config/platform/irix.hpp b/src/libs/boost-1.37.0/boost/config/platform/irix.hpp
deleted file mode 100644
index aeae49c8..00000000
--- a/src/libs/boost-1.37.0/boost/config/platform/irix.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 2003.
-// 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.
-
-// SGI Irix specific config options:
-
-#define BOOST_PLATFORM "SGI Irix"
-
-#define BOOST_NO_SWPRINTF
-//
-// these are not auto detected by POSIX feature tests:
-//
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-
-#ifdef __GNUC__
- // GNU C on IRIX does not support threads (checked up to gcc 3.3)
-# define BOOST_DISABLE_THREADS
-#endif
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/platform/linux.hpp b/src/libs/boost-1.37.0/boost/config/platform/linux.hpp
deleted file mode 100644
index 51ae1334..00000000
--- a/src/libs/boost-1.37.0/boost/config/platform/linux.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 2001 - 2003.
-// 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.
-
-// linux specific config options:
-
-#define BOOST_PLATFORM "linux"
-
-// make sure we have __GLIBC_PREREQ if available at all
-#include <cstdlib>
-
-//
-// <stdint.h> added to glibc 2.1.1
-// We can only test for 2.1 though:
-//
-#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)))
- // <stdint.h> defines int64_t unconditionally, but <sys/types.h> defines
- // int64_t only if __GNUC__. Thus, assume a fully usable <stdint.h>
- // only when using GCC.
-# if defined __GNUC__
-# define BOOST_HAS_STDINT_H
-# endif
-#endif
-
-#if defined(__LIBCOMO__)
- //
- // como on linux doesn't have std:: c functions:
- // NOTE: versions of libcomo prior to beta28 have octal version numbering,
- // e.g. version 25 is 21 (dec)
- //
-# if __LIBCOMO_VERSION__ <= 20
-# define BOOST_NO_STDC_NAMESPACE
-# endif
-
-# if __LIBCOMO_VERSION__ <= 21
-# define BOOST_NO_SWPRINTF
-# endif
-
-#endif
-
-//
-// If glibc is past version 2 then we definitely have
-// gettimeofday, earlier versions may or may not have it:
-//
-#if defined(__GLIBC__) && (__GLIBC__ >= 2)
-# define BOOST_HAS_GETTIMEOFDAY
-#endif
-
-#ifdef __USE_POSIX199309
-# define BOOST_HAS_NANOSLEEP
-#endif
-
-#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
-// __GLIBC_PREREQ is available since 2.1.2
-
- // swprintf is available since glibc 2.2.0
-# if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98))
-# define BOOST_NO_SWPRINTF
-# endif
-#else
-# define BOOST_NO_SWPRINTF
-#endif
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-#ifndef __GNUC__
-//
-// if the compiler is not gcc we still need to be able to parse
-// the GNU system headers, some of which (mainly <stdint.h>)
-// use GNU specific extensions:
-//
-# ifndef __extension__
-# define __extension__
-# endif
-# ifndef __const__
-# define __const__ const
-# endif
-# ifndef __volatile__
-# define __volatile__ volatile
-# endif
-# ifndef __signed__
-# define __signed__ signed
-# endif
-# ifndef __typeof__
-# define __typeof__ typeof
-# endif
-# ifndef __inline__
-# define __inline__ inline
-# endif
-#endif
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/platform/macos.hpp b/src/libs/boost-1.37.0/boost/config/platform/macos.hpp
deleted file mode 100644
index 2780ef99..00000000
--- a/src/libs/boost-1.37.0/boost/config/platform/macos.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Darin Adler 2001 - 2002.
-// (C) Copyright Bill Kempf 2002.
-// 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.
-
-// Mac OS specific config options:
-
-#define BOOST_PLATFORM "Mac OS"
-
-#if __MACH__ && !defined(_MSL_USING_MSL_C)
-
-// Using the Mac OS X system BSD-style C library.
-
-# ifndef BOOST_HAS_UNISTD_H
-# define BOOST_HAS_UNISTD_H
-# endif
-//
-// Begin by including our boilerplate code for POSIX
-// feature detection, this is safe even when using
-// the MSL as Metrowerks supply their own <unistd.h>
-// to replace the platform-native BSD one. G++ users
-// should also always be able to do this on MaxOS X.
-//
-# include <boost/config/posix_features.hpp>
-# ifndef BOOST_HAS_STDINT_H
-# define BOOST_HAS_STDINT_H
-# endif
-
-//
-// BSD runtime has pthreads, sigaction, sched_yield and gettimeofday,
-// of these only pthreads are advertised in <unistd.h>, so set the
-// other options explicitly:
-//
-# define BOOST_HAS_SCHED_YIELD
-# define BOOST_HAS_GETTIMEOFDAY
-# define BOOST_HAS_SIGACTION
-
-# if (__GNUC__ < 3) && !defined( __APPLE_CC__)
-
-// GCC strange "ignore std" mode works better if you pretend everything
-// is in the std namespace, for the most part.
-
-# define BOOST_NO_STDC_NAMESPACE
-# endif
-
-# if (__GNUC__ == 4)
-
-// Both gcc and intel require these.
-# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-# define BOOST_HAS_NANOSLEEP
-
-# endif
-
-#else
-
-// Using the MSL C library.
-
-// We will eventually support threads in non-Carbon builds, but we do
-// not support this yet.
-# if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON )
-
-# if !defined(BOOST_HAS_PTHREADS)
-# define BOOST_HAS_MPTASKS
-# elif ( __dest_os == __mac_os_x )
-// We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the
-// gettimeofday and no posix.
-# define BOOST_HAS_GETTIMEOFDAY
-# endif
-
-// The MP task implementation of Boost Threads aims to replace MP-unsafe
-// parts of the MSL, so we turn on threads unconditionally.
-# define BOOST_HAS_THREADS
-
-// The remote call manager depends on this.
-# define BOOST_BIND_ENABLE_PASCAL
-
-# endif
-
-#endif
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/platform/qnxnto.hpp b/src/libs/boost-1.37.0/boost/config/platform/qnxnto.hpp
deleted file mode 100644
index b1377c8d..00000000
--- a/src/libs/boost-1.37.0/boost/config/platform/qnxnto.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-// (C) Copyright Jim Douglas 2005.
-// 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.
-
-// QNX specific config options:
-
-#define BOOST_PLATFORM "QNX"
-
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-// QNX claims XOpen version 5 compatibility, but doesn't have an nl_types.h
-// or log1p and expm1:
-#undef BOOST_HAS_NL_TYPES_H
-#undef BOOST_HAS_LOG1P
-#undef BOOST_HAS_EXPM1
-
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_CLOCK_GETTIME
-#define BOOST_HAS_NANOSLEEP
-
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/platform/solaris.hpp b/src/libs/boost-1.37.0/boost/config/platform/solaris.hpp
deleted file mode 100644
index 9f925666..00000000
--- a/src/libs/boost-1.37.0/boost/config/platform/solaris.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 2003.
-// 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.
-
-// sun specific config options:
-
-#define BOOST_PLATFORM "Sun Solaris"
-
-#define BOOST_HAS_GETTIMEOFDAY
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-//
-// pthreads don't actually work with gcc unless _PTHREADS is defined:
-//
-#if defined(__GNUC__) && defined(_POSIX_THREADS) && !defined(_PTHREADS)
-# undef BOOST_HAS_PTHREADS
-#endif
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/platform/win32.hpp b/src/libs/boost-1.37.0/boost/config/platform/win32.hpp
deleted file mode 100644
index 9344818f..00000000
--- a/src/libs/boost-1.37.0/boost/config/platform/win32.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Bill Kempf 2001.
-// (C) Copyright Aleksey Gurtovoy 2003.
-// (C) Copyright Rene Rivera 2005.
-// 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.
-
-// Win32 specific config options:
-
-#define BOOST_PLATFORM "Win32"
-
-// Get the information about the MinGW runtime, i.e. __MINGW32_*VERSION.
-#if defined(__MINGW32__)
-# include <_mingw.h>
-#endif
-
-#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF)
-# define BOOST_NO_SWPRINTF
-#endif
-
-#if !defined(__GNUC__) && !defined(BOOST_HAS_DECLSPEC)
-# define BOOST_HAS_DECLSPEC
-#endif
-
-#if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0)))
-# define BOOST_HAS_STDINT_H
-# define __STDC_LIMIT_MACROS
-# define BOOST_HAS_DIRENT_H
-# define BOOST_HAS_UNISTD_H
-#endif
-
-//
-// Win32 will normally be using native Win32 threads,
-// but there is a pthread library avaliable as an option,
-// we used to disable this when BOOST_DISABLE_WIN32 was
-// defined but no longer - this should allow some
-// files to be compiled in strict mode - while maintaining
-// a consistent setting of BOOST_HAS_THREADS across
-// all translation units (needed for shared_ptr etc).
-//
-
-#ifdef _WIN32_WCE
-# define BOOST_NO_ANSI_APIS
-#endif
-
-#ifndef BOOST_HAS_PTHREADS
-# define BOOST_HAS_WINTHREADS
-#endif
-
-#ifndef BOOST_DISABLE_WIN32
-// WEK: Added
-#define BOOST_HAS_FTIME
-#define BOOST_WINDOWS 1
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/config/posix_features.hpp b/src/libs/boost-1.37.0/boost/config/posix_features.hpp
deleted file mode 100644
index d1295479..00000000
--- a/src/libs/boost-1.37.0/boost/config/posix_features.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// 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.
-
-// All POSIX feature tests go in this file,
-// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well
-// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's
-// may be present but none-functional unless _POSIX_C_SOURCE and
-// _XOPEN_SOURCE have been defined to the right value (it's up
-// to the user to do this *before* including any header, although
-// in most cases the compiler will do this for you).
-
-# if defined(BOOST_HAS_UNISTD_H)
-# include <unistd.h>
-
- // XOpen has <nl_types.h>, but is this the correct version check?
-# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3)
-# define BOOST_HAS_NL_TYPES_H
-# endif
-
- // POSIX version 6 requires <stdint.h>
-# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100)
-# define BOOST_HAS_STDINT_H
-# endif
-
- // POSIX version 2 requires <dirent.h>
-# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L)
-# define BOOST_HAS_DIRENT_H
-# endif
-
- // POSIX version 3 requires <signal.h> to have sigaction:
-# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L)
-# define BOOST_HAS_SIGACTION
-# endif
- // POSIX defines _POSIX_THREADS > 0 for pthread support,
- // however some platforms define _POSIX_THREADS without
- // a value, hence the (_POSIX_THREADS+0 >= 0) check.
- // Strictly speaking this may catch platforms with a
- // non-functioning stub <pthreads.h>, but such occurrences should
- // occur very rarely if at all.
-# if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS)
-# define BOOST_HAS_PTHREADS
-# endif
-
- // BOOST_HAS_NANOSLEEP:
- // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME:
-# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \
- || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0))
-# define BOOST_HAS_NANOSLEEP
-# endif
-
- // BOOST_HAS_CLOCK_GETTIME:
- // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME
- // but at least one platform - linux - defines that flag without
- // defining clock_gettime):
-# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0))
-# define BOOST_HAS_CLOCK_GETTIME
-# endif
-
- // BOOST_HAS_SCHED_YIELD:
- // This is predicated on _POSIX_PRIORITY_SCHEDULING or
- // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME.
-# if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\
- || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\
- || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0))
-# define BOOST_HAS_SCHED_YIELD
-# endif
-
- // BOOST_HAS_GETTIMEOFDAY:
- // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE:
- // These are predicated on _XOPEN_VERSION, and appears to be first released
- // in issue 4, version 2 (_XOPEN_VERSION > 500).
- // Likewise for the functions log1p and expm1.
-# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500)
-# define BOOST_HAS_GETTIMEOFDAY
-# if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500)
-# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-# endif
-# ifndef BOOST_HAS_LOG1P
-# define BOOST_HAS_LOG1P
-# endif
-# ifndef BOOST_HAS_EXPM1
-# define BOOST_HAS_EXPM1
-# endif
-# endif
-
-# endif
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/requires_threads.hpp b/src/libs/boost-1.37.0/boost/config/requires_threads.hpp
deleted file mode 100644
index cfaff230..00000000
--- a/src/libs/boost-1.37.0/boost/config/requires_threads.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-// (C) Copyright John Maddock 2003.
-// 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)
-
-
-#ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP
-#define BOOST_CONFIG_REQUIRES_THREADS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-
-#if defined(BOOST_DISABLE_THREADS)
-
-//
-// special case to handle versions of gcc which don't currently support threads:
-//
-#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG))
-//
-// this is checked up to gcc 3.3:
-//
-#if defined(__sgi) || defined(__hpux)
-# error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)"
-#endif
-
-#endif
-
-# error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS"
-
-#elif !defined(BOOST_HAS_THREADS)
-
-# if defined __COMO__
-// Comeau C++
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)"
-
-#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
-// Intel
-#ifdef _WIN32
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd"
-#else
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp"
-#endif
-
-# elif defined __GNUC__
-// GNU C++:
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)"
-
-#elif defined __sgi
-// SGI MIPSpro C++
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE"
-
-#elif defined __DECCXX
-// Compaq Tru64 Unix cxx
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread"
-
-#elif defined __BORLANDC__
-// Borland
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM"
-
-#elif defined __MWERKS__
-// Metrowerks CodeWarrior
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either -runtime sm, -runtime smd, -runtime dm, or -runtime dmd"
-
-#elif defined __SUNPRO_CC
-// Sun Workshop Compiler C++
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt"
-
-#elif defined __HP_aCC
-// HP aCC
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt"
-
-#elif defined(__IBMCPP__)
-// IBM Visual Age
-# error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler"
-
-#elif defined _MSC_VER
-// Microsoft Visual C++
-//
-// Must remain the last #elif since some other vendors (Metrowerks, for
-// example) also #define _MSC_VER
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd"
-
-#else
-
-# error "Compiler threading support is not turned on. Please consult your compiler's documentation for the appropriate options to use"
-
-#endif // compilers
-
-#endif // BOOST_HAS_THREADS
-
-#endif // BOOST_CONFIG_REQUIRES_THREADS_HPP
diff --git a/src/libs/boost-1.37.0/boost/config/select_compiler_config.hpp b/src/libs/boost-1.37.0/boost/config/select_compiler_config.hpp
deleted file mode 100644
index 9141cd63..00000000
--- a/src/libs/boost-1.37.0/boost/config/select_compiler_config.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-// Boost compiler configuration selection header file
-
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Martin Wille 2003.
-// (C) Copyright Guillaume Melquiond 2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org/ for most recent version.
-
-
-// one identification macro for each of the
-// compilers we support:
-
-# define BOOST_CXX_GCCXML 0
-# define BOOST_CXX_COMO 0
-# define BOOST_CXX_DMC 0
-# define BOOST_CXX_INTEL 0
-# define BOOST_CXX_GNUC 0
-# define BOOST_CXX_KCC 0
-# define BOOST_CXX_SGI 0
-# define BOOST_CXX_TRU64 0
-# define BOOST_CXX_GHS 0
-# define BOOST_CXX_BORLAND 0
-# define BOOST_CXX_CW 0
-# define BOOST_CXX_SUNPRO 0
-# define BOOST_CXX_HPACC 0
-# define BOOST_CXX_MPW 0
-# define BOOST_CXX_IBMCPP 0
-# define BOOST_CXX_MSVC 0
-# define BOOST_CXX_PGI 0
-
-
-// locate which compiler we are using and define
-// BOOST_COMPILER_CONFIG as needed:
-
-#if defined(__GCCXML__)
-// GCC-XML emulates other compilers, it has to appear first here!
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp"
-
-#elif defined __COMO__
-// Comeau C++
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"
-
-#elif defined __DMC__
-// Digital Mars C++
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp"
-
-#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
-// Intel
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
-
-# elif defined __GNUC__
-// GNU C++:
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp"
-
-#elif defined __KCC
-// Kai C++
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp"
-
-#elif defined __sgi
-// SGI MIPSpro C++
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp"
-
-#elif defined __DECCXX
-// Compaq Tru64 Unix cxx
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp"
-
-#elif defined __ghs
-// Greenhills C++
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp"
-
-#elif defined __CODEGEARC__
-// CodeGear - must be checked for before Borland
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/codegear.hpp"
-
-#elif defined __BORLANDC__
-// Borland
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp"
-
-#elif defined __MWERKS__
-// Metrowerks CodeWarrior
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp"
-
-#elif defined __SUNPRO_CC
-// Sun Workshop Compiler C++
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp"
-
-#elif defined __HP_aCC
-// HP aCC
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp"
-
-#elif defined(__MRC__) || defined(__SC__)
-// MPW MrCpp or SCpp
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp"
-
-#elif defined(__IBMCPP__)
-// IBM Visual Age
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp"
-
-#elif defined(__PGI)
-// Portland Group Inc.
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/pgi.hpp"
-
-#elif defined _MSC_VER
-// Microsoft Visual C++
-//
-// Must remain the last #elif since some other vendors (Metrowerks, for
-// example) also #define _MSC_VER
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp"
-
-#elif defined (BOOST_ASSERT_CONFIG)
-// this must come last - generate an error if we don't
-// recognise the compiler:
-# error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)"
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/config/select_platform_config.hpp b/src/libs/boost-1.37.0/boost/config/select_platform_config.hpp
deleted file mode 100644
index a4c7ad6a..00000000
--- a/src/libs/boost-1.37.0/boost/config/select_platform_config.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-// Boost compiler configuration selection header file
-
-// (C) Copyright John Maddock 2001 - 2002.
-// (C) Copyright Jens Maurer 2001.
-// 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.
-
-// locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed.
-// Note that we define the headers to include using "header_name" not
-// <header_name> in order to prevent macro expansion within the header
-// name (for example "linux" is a macro on linux systems).
-
-#if defined(linux) || defined(__linux) || defined(__linux__)
-// linux:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp"
-
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
-// BSD:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp"
-
-#elif defined(sun) || defined(__sun)
-// solaris:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp"
-
-#elif defined(__sgi)
-// SGI Irix:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp"
-
-#elif defined(__hpux)
-// hp unix:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp"
-
-#elif defined(__CYGWIN__)
-// cygwin is not win32:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp"
-
-#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
-// win32:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp"
-
-#elif defined(__BEOS__)
-// BeOS
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp"
-
-#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
-// MacOS
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp"
-
-#elif defined(__IBMCPP__) || defined(_AIX)
-// IBM
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp"
-
-#elif defined(__amigaos__)
-// AmigaOS
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp"
-
-#elif defined(__QNXNTO__)
-// QNX:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp"
-
-#else
-
-# if defined(unix) \
- || defined(__unix) \
- || defined(_XOPEN_SOURCE) \
- || defined(_POSIX_SOURCE)
-
- // generic unix platform:
-
-# ifndef BOOST_HAS_UNISTD_H
-# define BOOST_HAS_UNISTD_H
-# endif
-
-# include <boost/config/posix_features.hpp>
-
-# endif
-
-# if defined (BOOST_ASSERT_CONFIG)
- // this must come last - generate an error if we don't
- // recognise the platform:
-# error "Unknown platform - please configure and report the results to boost.org"
-# endif
-
-#endif
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/select_stdlib_config.hpp b/src/libs/boost-1.37.0/boost/config/select_stdlib_config.hpp
deleted file mode 100644
index 13e5e4ce..00000000
--- a/src/libs/boost-1.37.0/boost/config/select_stdlib_config.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-// Boost compiler configuration selection header file
-
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 2001 - 2002.
-// 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.
-
-// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed:
-
-// we need to include a std lib header here in order to detect which
-// library is in use, use <utility> as it's about the smallest
-// of the std lib headers - do not rely on this header being included -
-// users can short-circuit this header if they know whose std lib
-// they are using.
-
-#include <boost/config/no_tr1/utility.hpp>
-
-#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
-// STLPort library; this _must_ come first, otherwise since
-// STLport typically sits on top of some other library, we
-// can end up detecting that first rather than STLport:
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp"
-
-#elif defined(__LIBCOMO__)
-// Comeau STL:
-#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp"
-
-#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
-// Rogue Wave library:
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp"
-
-#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
-// GNU libstdc++ 3
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp"
-
-#elif defined(__STL_CONFIG_H)
-// generic SGI STL
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp"
-
-#elif defined(__MSL_CPP__)
-// MSL standard lib:
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp"
-
-#elif defined(__IBMCPP__)
-// take the default VACPP std lib
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp"
-
-#elif defined(MSIPL_COMPILE_H)
-// Modena C++ standard library
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp"
-
-#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
-// Dinkumware Library (this has to appear after any possible replacement libraries):
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp"
-
-#elif defined (BOOST_ASSERT_CONFIG)
-// this must come last - generate an error if we don't
-// recognise the library:
-# error "Unknown standard library - please configure and report the results to boost.org"
-
-#endif
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/stdlib/dinkumware.hpp b/src/libs/boost-1.37.0/boost/config/stdlib/dinkumware.hpp
deleted file mode 100644
index 01f1238d..00000000
--- a/src/libs/boost-1.37.0/boost/config/stdlib/dinkumware.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 2001.
-// (C) Copyright Peter Dimov 2001.
-// (C) Copyright David Abrahams 2002.
-// (C) Copyright Guillaume Melquiond 2003.
-// 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.
-
-// Dinkumware standard library config:
-
-#if !defined(_YVALS) && !defined(_CPPLIB_VER)
-#include <boost/config/no_tr1/utility.hpp>
-#if !defined(_YVALS) && !defined(_CPPLIB_VER)
-#error This is not the Dinkumware lib!
-#endif
-#endif
-
-
-#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306)
- // full dinkumware 3.06 and above
- // fully conforming provided the compiler supports it:
-# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700)) // can be defined in yvals.h
-# define BOOST_NO_STDC_NAMESPACE
-# endif
-# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC)
-# define BOOST_NO_STD_ALLOCATOR
-# endif
-# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-# if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
- // if this lib version is set up for vc6 then there is no std::use_facet:
-# define BOOST_NO_STD_USE_FACET
-# define BOOST_HAS_TWO_ARG_USE_FACET
- // C lib functions aren't in namespace std either:
-# define BOOST_NO_STDC_NAMESPACE
- // and nor is <exception>
-# define BOOST_NO_EXCEPTION_STD_NAMESPACE
-# endif
-// There's no numeric_limits<long long> support unless _LONGLONG is defined:
-# if !defined(_LONGLONG) && (_CPPLIB_VER <= 310)
-# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-# endif
-// 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>,
-// and no <slist> at all
-#else
-# define BOOST_MSVC_STD_ITERATOR 1
-# define BOOST_NO_STD_ITERATOR
-# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-# define BOOST_NO_STD_ALLOCATOR
-# define BOOST_NO_STDC_NAMESPACE
-# define BOOST_NO_STD_USE_FACET
-# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
-# define BOOST_HAS_MACRO_USE_FACET
-# ifndef _CPPLIB_VER
- // Updated Dinkum library defines this, and provides
- // its own min and max definitions.
-# define BOOST_NO_STD_MIN_MAX
-# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-# endif
-#endif
-
-//
-// std extension namespace is stdext for vc7.1 and later,
-// the same applies to other compilers that sit on top
-// of vc7.1 (Intel and Comeau):
-//
-#if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__)
-# define BOOST_STD_EXTENSION_NAMESPACE stdext
-#endif
-
-
-#if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__BORLANDC__)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306)
- // if we're using a dinkum lib that's
- // been configured for VC6/7 then there is
- // no iterator traits (true even for icl)
-# define BOOST_NO_STD_ITERATOR_TRAITS
-#endif
-
-#if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310)
-// Intel C++ chokes over any non-trivial use of <locale>
-// this may be an overly restrictive define, but regex fails without it:
-# define BOOST_NO_STD_LOCALE
-#endif
-
-#ifdef _CPPLIB_VER
-# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
-#else
-# define BOOST_DINKUMWARE_STDLIB 1
-#endif
-
-#ifdef _CPPLIB_VER
-# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
-#else
-# define BOOST_STDLIB "Dinkumware standard library version 1.x"
-#endif
-
-
-
-
-
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/stdlib/libcomo.hpp b/src/libs/boost-1.37.0/boost/config/stdlib/libcomo.hpp
deleted file mode 100644
index 749781fe..00000000
--- a/src/libs/boost-1.37.0/boost/config/stdlib/libcomo.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-// (C) Copyright John Maddock 2002 - 2003.
-// (C) Copyright Jens Maurer 2002 - 2003.
-// (C) Copyright Beman Dawes 2002 - 2003.
-// 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.
-
-// Comeau STL:
-
-#if !defined(__LIBCOMO__)
-# include <boost/config/no_tr1/utility.hpp>
-# if !defined(__LIBCOMO__)
-# error "This is not the Comeau STL!"
-# endif
-#endif
-
-//
-// std::streambuf<wchar_t> is non-standard
-// NOTE: versions of libcomo prior to beta28 have octal version numbering,
-// e.g. version 25 is 21 (dec)
-#if __LIBCOMO_VERSION__ <= 22
-# define BOOST_NO_STD_WSTREAMBUF
-#endif
-
-#if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32)
-#define BOOST_NO_SWPRINTF
-#endif
-
-#if __LIBCOMO_VERSION__ >= 31
-# define BOOST_HAS_HASH
-# define BOOST_HAS_SLIST
-#endif
-
-//
-// Intrinsic type_traits support.
-// The SGI STL has it's own __type_traits class, which
-// has intrinsic compiler support with SGI's compilers.
-// Whatever map SGI style type traits to boost equivalents:
-//
-#define BOOST_HAS_SGI_TYPE_TRAITS
-
-#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__)
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/stdlib/libstdcpp3.hpp b/src/libs/boost-1.37.0/boost/config/stdlib/libstdcpp3.hpp
deleted file mode 100644
index a619e3eb..00000000
--- a/src/libs/boost-1.37.0/boost/config/stdlib/libstdcpp3.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-// (C) Copyright John Maddock 2001.
-// (C) Copyright Jens Maurer 2001.
-// 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.
-
-// config for libstdc++ v3
-// not much to go in here:
-
-#ifdef __GLIBCXX__
-#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__)
-#else
-#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__)
-#endif
-
-#if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T)
-# define BOOST_NO_CWCHAR
-# define BOOST_NO_CWCTYPE
-# define BOOST_NO_STD_WSTRING
-# define BOOST_NO_STD_WSTREAMBUF
-#endif
-
-#if defined(__osf__) && !defined(_REENTRANT) \
- && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) )
-// GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header
-// file is included, therefore for consistency we define it here as well.
-# define _REENTRANT
-#endif
-
-#ifdef __GLIBCXX__ // gcc 3.4 and greater:
-# if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
- || defined(_GLIBCXX__PTHREADS)
- //
- // If the std lib has thread support turned on, then turn it on in Boost
- // as well. We do this because some gcc-3.4 std lib headers define _REENTANT
- // while others do not...
- //
-# define BOOST_HAS_THREADS
-# else
-# define BOOST_DISABLE_THREADS
-# endif
-#elif defined(__GLIBCPP__) \
- && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \
- && !defined(_GLIBCPP__PTHREADS)
- // disable thread support if the std lib was built single threaded:
-# define BOOST_DISABLE_THREADS
-#endif
-
-#if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT)
-// linux on arm apparently doesn't define _REENTRANT
-// so just turn on threading support whenever the std lib is thread safe:
-# define BOOST_HAS_THREADS
-#endif
-
-
-#if !defined(_GLIBCPP_USE_LONG_LONG) \
- && !defined(_GLIBCXX_USE_LONG_LONG)\
- && defined(BOOST_HAS_LONG_LONG)
-// May have been set by compiler/*.hpp, but "long long" without library
-// support is useless.
-# undef BOOST_HAS_LONG_LONG
-#endif
-
-#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0
-# define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx
-# define BOOST_HAS_SLIST
-# define BOOST_HAS_HASH
-# define BOOST_SLIST_HEADER <ext/slist>
-# if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
-# define BOOST_HASH_SET_HEADER <ext/hash_set>
-# define BOOST_HASH_MAP_HEADER <ext/hash_map>
-# else
-# define BOOST_HASH_SET_HEADER <backward/hash_set>
-# define BOOST_HASH_MAP_HEADER <backward/hash_map>
-# endif
-#endif
diff --git a/src/libs/boost-1.37.0/boost/config/stdlib/modena.hpp b/src/libs/boost-1.37.0/boost/config/stdlib/modena.hpp
deleted file mode 100644
index 3d0f76be..00000000
--- a/src/libs/boost-1.37.0/boost/config/stdlib/modena.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-// (C) Copyright Jens Maurer 2001.
-// 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.
-
-// Modena C++ standard library (comes with KAI C++)
-
-#if !defined(MSIPL_COMPILE_H)
-# include <boost/config/no_tr1/utility.hpp>
-# if !defined(__MSIPL_COMPILE_H)
-# error "This is not the Modena C++ library!"
-# endif
-#endif
-
-#ifndef MSIPL_NL_TYPES
-#define BOOST_NO_STD_MESSAGES
-#endif
-
-#ifndef MSIPL_WCHART
-#define BOOST_NO_STD_WSTRING
-#endif
-
-#define BOOST_STDLIB "Modena C++ standard library"
-
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/stdlib/msl.hpp b/src/libs/boost-1.37.0/boost/config/stdlib/msl.hpp
deleted file mode 100644
index f8d8752b..00000000
--- a/src/libs/boost-1.37.0/boost/config/stdlib/msl.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// (C) Copyright John Maddock 2001.
-// (C) Copyright Darin Adler 2001.
-// 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.
-
-// Metrowerks standard library:
-
-#ifndef __MSL_CPP__
-# include <boost/config/no_tr1/utility.hpp>
-# ifndef __MSL_CPP__
-# error This is not the MSL standard library!
-# endif
-#endif
-
-#if __MSL_CPP__ >= 0x6000 // Pro 6
-# define BOOST_HAS_HASH
-# define BOOST_STD_EXTENSION_NAMESPACE Metrowerks
-#endif
-#define BOOST_HAS_SLIST
-
-#if __MSL_CPP__ < 0x6209
-# define BOOST_NO_STD_MESSAGES
-#endif
-
-// check C lib version for <stdint.h>
-#include <cstddef>
-
-#if defined(__MSL__) && (__MSL__ >= 0x5000)
-# define BOOST_HAS_STDINT_H
-# if !defined(__PALMOS_TRAPS__)
-# define BOOST_HAS_UNISTD_H
-# endif
- // boilerplate code:
-# include <boost/config/posix_features.hpp>
-#endif
-
-#if defined(_MWMT) || _MSL_THREADSAFE
-# define BOOST_HAS_THREADS
-#endif
-
-#ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG
-# define BOOST_NO_STD_USE_FACET
-# define BOOST_HAS_TWO_ARG_USE_FACET
-#endif
-
-
-#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
-
-
-
-
-
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/stdlib/roguewave.hpp b/src/libs/boost-1.37.0/boost/config/stdlib/roguewave.hpp
deleted file mode 100644
index ebf4c1f8..00000000
--- a/src/libs/boost-1.37.0/boost/config/stdlib/roguewave.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 2001.
-// (C) Copyright David Abrahams 2003.
-// (C) Copyright Boris Gubenko 2007.
-// 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.
-
-// Rogue Wave std lib:
-
-#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
-# include <boost/config/no_tr1/utility.hpp>
-# if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
-# error This is not the Rogue Wave standard library
-# endif
-#endif
-//
-// figure out a consistent version number:
-//
-#ifndef _RWSTD_VER
-# define BOOST_RWSTD_VER 0x010000
-#elif _RWSTD_VER < 0x010000
-# define BOOST_RWSTD_VER (_RWSTD_VER << 8)
-#else
-# define BOOST_RWSTD_VER _RWSTD_VER
-#endif
-
-#ifndef _RWSTD_VER
-# define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)"
-#elif _RWSTD_VER < 0x04010200
- # define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER)
-#else
-# ifdef _RWSTD_VER_STR
-# define BOOST_STDLIB "Apache STDCXX standard library version " _RWSTD_VER_STR
-# else
-# define BOOST_STDLIB "Apache STDCXX standard library version " BOOST_STRINGIZE(_RWSTD_VER)
-# endif
-#endif
-
-//
-// Prior to version 2.2.0 the primary template for std::numeric_limits
-// does not have compile time constants, even though specializations of that
-// template do:
-//
-#if BOOST_RWSTD_VER < 0x020200
-# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#endif
-
-// Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the
-// library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817):
-#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550))
-# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-# endif
-
-//
-// Borland version of numeric_limits lacks __int64 specialisation:
-//
-#ifdef __BORLANDC__
-# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#endif
-
-//
-// No std::iterator if it can't figure out default template args:
-//
-#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000)
-# define BOOST_NO_STD_ITERATOR
-#endif
-
-//
-// No iterator traits without partial specialization:
-//
-#if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC)
-# define BOOST_NO_STD_ITERATOR_TRAITS
-#endif
-
-//
-// Prior to version 2.0, std::auto_ptr was buggy, and there were no
-// new-style iostreams, and no conformant std::allocator:
-//
-#if (BOOST_RWSTD_VER < 0x020000)
-# define BOOST_NO_AUTO_PTR
-# define BOOST_NO_STRINGSTREAM
-# define BOOST_NO_STD_ALLOCATOR
-# define BOOST_NO_STD_LOCALE
-#endif
-
-//
-// No template iterator constructors without member template support:
-//
-#if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES)
-# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-#endif
-
-//
-// RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use
-// (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR
-// on HP aCC systems even though the allocator is in fact broken):
-//
-#if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100)
-# define BOOST_NO_STD_ALLOCATOR
-#endif
-
-//
-// If we have a std::locale, we still may not have std::use_facet:
-//
-#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE)
-# define BOOST_NO_STD_USE_FACET
-# define BOOST_HAS_TWO_ARG_USE_FACET
-#endif
-
-//
-// There's no std::distance prior to version 2, or without
-// partial specialization support:
-//
-#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
- #define BOOST_NO_STD_DISTANCE
-#endif
-
-//
-// Some versions of the rogue wave library don't have assignable
-// OutputIterators:
-//
-#if BOOST_RWSTD_VER < 0x020100
-# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
-#endif
-
-//
-// Disable BOOST_HAS_LONG_LONG when the library has no support for it.
-//
-#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG)
-# undef BOOST_HAS_LONG_LONG
-#endif
-
-//
-// check that on HP-UX, the proper RW library is used
-//
-#if defined(__HP_aCC) && !defined(_HP_NAMESPACE_STD)
-# error "Boost requires Standard RW library. Please compile and link with -AA"
-#endif
-
-//
-// Define macros specific to RW V2.2 on HP-UX
-//
-#if defined(__HP_aCC) && (BOOST_RWSTD_VER == 0x02020100)
-# ifndef __HP_TC1_MAKE_PAIR
-# define __HP_TC1_MAKE_PAIR
-# endif
-# ifndef _HP_INSTANTIATE_STD2_VL
-# define _HP_INSTANTIATE_STD2_VL
-# endif
-#endif
diff --git a/src/libs/boost-1.37.0/boost/config/stdlib/sgi.hpp b/src/libs/boost-1.37.0/boost/config/stdlib/sgi.hpp
deleted file mode 100644
index f3fa05b2..00000000
--- a/src/libs/boost-1.37.0/boost/config/stdlib/sgi.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Darin Adler 2001.
-// (C) Copyright Jens Maurer 2001 - 2003.
-// 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.
-
-// generic SGI STL:
-
-#if !defined(__STL_CONFIG_H)
-# include <boost/config/no_tr1/utility.hpp>
-# if !defined(__STL_CONFIG_H)
-# error "This is not the SGI STL!"
-# endif
-#endif
-
-//
-// No std::iterator traits without partial specialisation:
-//
-#if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION)
-# define BOOST_NO_STD_ITERATOR_TRAITS
-#endif
-
-//
-// No std::stringstream with gcc < 3
-//
-#if defined(__GNUC__) && (__GNUC__ < 3) && \
- ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \
- !defined(__STL_USE_NEW_IOSTREAMS) || \
- defined(__APPLE_CC__)
- // Note that we only set this for GNU C++ prior to 2.95 since the
- // latest patches for that release do contain a minimal <sstream>
- // If you are running a 2.95 release prior to 2.95.3 then this will need
- // setting, but there is no way to detect that automatically (other
- // than by running the configure script).
- // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't
- // have <sstream>.
-# define BOOST_NO_STRINGSTREAM
-#endif
-
-//
-// Assume no std::locale without own iostreams (this may be an
-// incorrect assumption in some cases):
-//
-#if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS)
-# define BOOST_NO_STD_LOCALE
-#endif
-
-//
-// Original native SGI streams have non-standard std::messages facet:
-//
-#if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS)
-# define BOOST_NO_STD_LOCALE
-#endif
-
-//
-// SGI's new iostreams have missing "const" in messages<>::open
-//
-#if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS)
-# define BOOST_NO_STD_MESSAGES
-#endif
-
-//
-// No template iterator constructors, or std::allocator
-// without member templates:
-//
-#if !defined(__STL_MEMBER_TEMPLATES)
-# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-# define BOOST_NO_STD_ALLOCATOR
-#endif
-
-//
-// We always have SGI style hash_set, hash_map, and slist:
-//
-#define BOOST_HAS_HASH
-#define BOOST_HAS_SLIST
-
-//
-// If this is GNU libstdc++2, then no <limits> and no std::wstring:
-//
-#if (defined(__GNUC__) && (__GNUC__ < 3))
-# include <string>
-# if defined(__BASTRING__)
-# define BOOST_NO_LIMITS
-// Note: <boost/limits.hpp> will provide compile-time constants
-# undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-# define BOOST_NO_STD_WSTRING
-# endif
-#endif
-
-//
-// There is no standard iterator unless we have namespace support:
-//
-#if !defined(__STL_USE_NAMESPACES)
-# define BOOST_NO_STD_ITERATOR
-#endif
-
-//
-// Intrinsic type_traits support.
-// The SGI STL has it's own __type_traits class, which
-// has intrinsic compiler support with SGI's compilers.
-// Whatever map SGI style type traits to boost equivalents:
-//
-#define BOOST_HAS_SGI_TYPE_TRAITS
-
-#define BOOST_STDLIB "SGI standard library"
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/stdlib/stlport.hpp b/src/libs/boost-1.37.0/boost/config/stdlib/stlport.hpp
deleted file mode 100644
index b1dabf23..00000000
--- a/src/libs/boost-1.37.0/boost/config/stdlib/stlport.hpp
+++ /dev/null
@@ -1,203 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2002.
-// (C) Copyright Darin Adler 2001.
-// (C) Copyright Jens Maurer 2001.
-// 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.
-
-// STLPort standard library config:
-
-#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
-# include <boost/config/no_tr1/utility.hpp>
-# if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
-# error "This is not STLPort!"
-# endif
-#endif
-
-//
-// __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-// for versions prior to 4.1(beta)
-//
-#if (defined(__STL_STATIC_CONST_INIT_BUG) || defined(_STLP_STATIC_CONST_INIT_BUG)) && (__SGI_STL_PORT <= 0x400)
-# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#endif
-
-//
-// If STLport thinks that there is no partial specialisation, then there is no
-// std::iterator traits:
-//
-#if !(defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || defined(__STL_CLASS_PARTIAL_SPECIALIZATION))
-# define BOOST_NO_STD_ITERATOR_TRAITS
-#endif
-
-//
-// No new style iostreams on GCC without STLport's iostreams enabled:
-//
-#if (defined(__GNUC__) && (__GNUC__ < 3)) && !(defined(__SGI_STL_OWN_IOSTREAMS) || defined(_STLP_OWN_IOSTREAMS))
-# define BOOST_NO_STRINGSTREAM
-#endif
-
-//
-// No new iostreams implies no std::locale, and no std::stringstream:
-//
-#if defined(__STL_NO_IOSTREAMS) || defined(__STL_NO_NEW_IOSTREAMS) || defined(_STLP_NO_IOSTREAMS) || defined(_STLP_NO_NEW_IOSTREAMS)
-# define BOOST_NO_STD_LOCALE
-# define BOOST_NO_STRINGSTREAM
-#endif
-
-//
-// If the streams are not native, and we have a "using ::x" compiler bug
-// then the io stream facets are not available in namespace std::
-//
-#ifdef _STLPORT_VERSION
-# if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
-# define BOOST_NO_STD_LOCALE
-# endif
-#else
-# if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
-# define BOOST_NO_STD_LOCALE
-# endif
-#endif
-
-//
-// Without member template support enabled, their are no template
-// iterate constructors, and no std::allocator:
-//
-#if !(defined(__STL_MEMBER_TEMPLATES) || defined(_STLP_MEMBER_TEMPLATES))
-# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-# define BOOST_NO_STD_ALLOCATOR
-#endif
-//
-// however we always have at least a partial allocator:
-//
-#define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-
-#if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) || defined(_STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE)
-# define BOOST_NO_STD_ALLOCATOR
-#endif
-
-#if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)
-# define BOOST_NO_STD_ALLOCATOR
-#endif
-
-//
-// If STLport thinks there is no wchar_t at all, then we have to disable
-// the support for the relevant specilazations of std:: templates.
-//
-#if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT)
-# ifndef BOOST_NO_STD_WSTRING
-# define BOOST_NO_STD_WSTRING
-# endif
-# ifndef BOOST_NO_STD_WSTREAMBUF
-# define BOOST_NO_STD_WSTREAMBUF
-# endif
-#endif
-
-//
-// We always have SGI style hash_set, hash_map, and slist:
-//
-#ifndef _STLP_NO_EXTENSIONS
-#define BOOST_HAS_HASH
-#define BOOST_HAS_SLIST
-#endif
-
-//
-// STLport does a good job of importing names into namespace std::,
-// but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our
-// workaround does not conflict with STLports:
-//
-//
-// Harold Howe says:
-// Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with
-// BCB6 does cause problems. If we detect C++ Builder, then don't define
-// BOOST_NO_STDC_NAMESPACE
-//
-#if !defined(__BORLANDC__) && !defined(__DMC__)
-//
-// If STLport is using it's own namespace, and the real names are in
-// the global namespace, then we duplicate STLport's using declarations
-// (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't
-// necessarily import all the names we need into namespace std::
-//
-# if (defined(__STL_IMPORT_VENDOR_CSTD) \
- || defined(__STL_USE_OWN_NAMESPACE) \
- || defined(_STLP_IMPORT_VENDOR_CSTD) \
- || defined(_STLP_USE_OWN_NAMESPACE)) \
- && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD))
-# define BOOST_NO_STDC_NAMESPACE
-# define BOOST_NO_EXCEPTION_STD_NAMESPACE
-# endif
-#elif defined(__BORLANDC__) && __BORLANDC__ < 0x560
-// STLport doesn't import std::abs correctly:
-#include <stdlib.h>
-namespace std { using ::abs; }
-// and strcmp/strcpy don't get imported either ('cos they are macros)
-#include <string.h>
-#ifdef strcpy
-# undef strcpy
-#endif
-#ifdef strcmp
-# undef strcmp
-#endif
-#ifdef _STLP_VENDOR_CSTD
-namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; }
-#endif
-#endif
-
-//
-// std::use_facet may be non-standard, uses a class instead:
-//
-#if defined(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) || defined(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS)
-# define BOOST_NO_STD_USE_FACET
-# define BOOST_HAS_STLP_USE_FACET
-#endif
-
-//
-// If STLport thinks there are no wide functions, <cwchar> etc. is not working; but
-// only if BOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import
-// into std:: ourselves).
-//
-#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE)
-# define BOOST_NO_CWCHAR
-# define BOOST_NO_CWCTYPE
-#endif
-
-//
-// If STLport for some reason was configured so that it thinks that wchar_t
-// is not an intrinsic type, then we have to disable the support for it as
-// well (we would be missing required specializations otherwise).
-//
-#if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT)
-# undef BOOST_NO_INTRINSIC_WCHAR_T
-# define BOOST_NO_INTRINSIC_WCHAR_T
-#endif
-
-//
-// Borland ships a version of STLport with C++ Builder 6 that lacks
-// hashtables and the like:
-//
-#if defined(__BORLANDC__) && (__BORLANDC__ == 0x560)
-# undef BOOST_HAS_HASH
-#endif
-
-//
-// gcc-2.95.3/STLPort does not like the using declarations we use to get ADL with std::min/max
-//
-#if defined(__GNUC__) && (__GNUC__ < 3)
-# include <algorithm> // for std::min and std::max
-# define BOOST_USING_STD_MIN() ((void)0)
-# define BOOST_USING_STD_MAX() ((void)0)
-namespace boost { using std::min; using std::max; }
-#endif
-
-#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
-
-
-
-
-
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/stdlib/vacpp.hpp b/src/libs/boost-1.37.0/boost/config/stdlib/vacpp.hpp
deleted file mode 100644
index 8321ee0c..00000000
--- a/src/libs/boost-1.37.0/boost/config/stdlib/vacpp.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2002.
-// 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.
-
-#if __IBMCPP__ <= 501
-# define BOOST_NO_STD_ALLOCATOR
-#endif
-
-#define BOOST_HAS_MACRO_USE_FACET
-#define BOOST_NO_STD_MESSAGES
-
-#define BOOST_STDLIB "Visual Age default standard library"
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/suffix.hpp b/src/libs/boost-1.37.0/boost/config/suffix.hpp
deleted file mode 100644
index f71c644f..00000000
--- a/src/libs/boost-1.37.0/boost/config/suffix.hpp
+++ /dev/null
@@ -1,590 +0,0 @@
-// Boost config.hpp configuration header file ------------------------------//
-
-// Copyright (c) 2001-2003 John Maddock
-// Copyright (c) 2001 Darin Adler
-// Copyright (c) 2001 Peter Dimov
-// Copyright (c) 2002 Bill Kempf
-// Copyright (c) 2002 Jens Maurer
-// Copyright (c) 2002-2003 David Abrahams
-// Copyright (c) 2003 Gennaro Prota
-// Copyright (c) 2003 Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org/ for most recent version.
-
-// Boost config.hpp policy and rationale documentation has been moved to
-// http://www.boost.org/libs/config/
-//
-// This file is intended to be stable, and relatively unchanging.
-// It should contain boilerplate code only - no compiler specific
-// code unless it is unavoidable - no changes unless unavoidable.
-
-#ifndef BOOST_CONFIG_SUFFIX_HPP
-#define BOOST_CONFIG_SUFFIX_HPP
-
-//
-// look for long long by looking for the appropriate macros in <limits.h>.
-// Note that we use limits.h rather than climits for maximal portability,
-// remember that since these just declare a bunch of macros, there should be
-// no namespace issues from this.
-//
-#if !defined(BOOST_HAS_LONG_LONG) \
- && !defined(BOOST_MSVC) && !defined(__BORLANDC__)
-# include <limits.h>
-# if (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))
-# define BOOST_HAS_LONG_LONG
-# endif
-#endif
-
-// GCC 3.x will clean up all of those nasty macro definitions that
-// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine
-// it under GCC 3.x.
-#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS)
-# undef BOOST_NO_CTYPE_FUNCTIONS
-#endif
-
-//
-// Assume any extensions are in namespace std:: unless stated otherwise:
-//
-# ifndef BOOST_STD_EXTENSION_NAMESPACE
-# define BOOST_STD_EXTENSION_NAMESPACE std
-# endif
-
-//
-// If cv-qualified specializations are not allowed, then neither are cv-void ones:
-//
-# if defined(BOOST_NO_CV_SPECIALIZATIONS) \
- && !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)
-# define BOOST_NO_CV_VOID_SPECIALIZATIONS
-# endif
-
-//
-// If there is no numeric_limits template, then it can't have any compile time
-// constants either!
-//
-# if defined(BOOST_NO_LIMITS) \
- && !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)
-# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-# endif
-
-//
-// if there is no long long then there is no specialisation
-// for numeric_limits<long long> either:
-//
-#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)
-# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-#endif
-
-//
-// if there is no __int64 then there is no specialisation
-// for numeric_limits<__int64> either:
-//
-#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)
-# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#endif
-
-//
-// if member templates are supported then so is the
-// VC6 subset of member templates:
-//
-# if !defined(BOOST_NO_MEMBER_TEMPLATES) \
- && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-# define BOOST_MSVC6_MEMBER_TEMPLATES
-# endif
-
-//
-// Without partial specialization, can't test for partial specialisation bugs:
-//
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG)
-# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-# endif
-
-//
-// Without partial specialization, we can't have array-type partial specialisations:
-//
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
-# endif
-
-//
-// Without partial specialization, std::iterator_traits can't work:
-//
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
-# define BOOST_NO_STD_ITERATOR_TRAITS
-# endif
-
-//
-// Without partial specialization, partial
-// specialization with default args won't work either:
-//
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
-# define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-# endif
-
-//
-// Without member template support, we can't have template constructors
-// in the standard library either:
-//
-# if defined(BOOST_NO_MEMBER_TEMPLATES) \
- && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \
- && !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)
-# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-# endif
-
-//
-// Without member template support, we can't have a conforming
-// std::allocator template either:
-//
-# if defined(BOOST_NO_MEMBER_TEMPLATES) \
- && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \
- && !defined(BOOST_NO_STD_ALLOCATOR)
-# define BOOST_NO_STD_ALLOCATOR
-# endif
-
-//
-// without ADL support then using declarations will break ADL as well:
-//
-#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
-# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#endif
-
-//
-// Without typeid support we have no dynamic RTTI either:
-//
-#if defined(BOOST_NO_TYPEID) && !defined(BOOST_NO_RTTI)
-# define BOOST_NO_RTTI
-#endif
-
-//
-// If we have a standard allocator, then we have a partial one as well:
-//
-#if !defined(BOOST_NO_STD_ALLOCATOR)
-# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-#endif
-
-//
-// We can't have a working std::use_facet if there is no std::locale:
-//
-# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_USE_FACET)
-# define BOOST_NO_STD_USE_FACET
-# endif
-
-//
-// We can't have a std::messages facet if there is no std::locale:
-//
-# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_MESSAGES)
-# define BOOST_NO_STD_MESSAGES
-# endif
-
-//
-// We can't have a working std::wstreambuf if there is no std::locale:
-//
-# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF)
-# define BOOST_NO_STD_WSTREAMBUF
-# endif
-
-//
-// We can't have a <cwctype> if there is no <cwchar>:
-//
-# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE)
-# define BOOST_NO_CWCTYPE
-# endif
-
-//
-// We can't have a swprintf if there is no <cwchar>:
-//
-# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_SWPRINTF)
-# define BOOST_NO_SWPRINTF
-# endif
-
-//
-// If Win32 support is turned off, then we must turn off
-// threading support also, unless there is some other
-// thread API enabled:
-//
-#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \
- && !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS)
-# define BOOST_DISABLE_THREADS
-#endif
-
-//
-// Turn on threading support if the compiler thinks that it's in
-// multithreaded mode. We put this here because there are only a
-// limited number of macros that identify this (if there's any missing
-// from here then add to the appropriate compiler section):
-//
-#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \
- || defined(_PTHREADS)) && !defined(BOOST_HAS_THREADS)
-# define BOOST_HAS_THREADS
-#endif
-
-//
-// Turn threading support off if BOOST_DISABLE_THREADS is defined:
-//
-#if defined(BOOST_DISABLE_THREADS) && defined(BOOST_HAS_THREADS)
-# undef BOOST_HAS_THREADS
-#endif
-
-//
-// Turn threading support off if we don't recognise the threading API:
-//
-#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\
- && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\
- && !defined(BOOST_HAS_MPTASKS)
-# undef BOOST_HAS_THREADS
-#endif
-
-//
-// Turn threading detail macros off if we don't (want to) use threading
-//
-#ifndef BOOST_HAS_THREADS
-# undef BOOST_HAS_PTHREADS
-# undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-# undef BOOST_HAS_PTHREAD_YIELD
-# undef BOOST_HAS_PTHREAD_DELAY_NP
-# undef BOOST_HAS_WINTHREADS
-# undef BOOST_HAS_BETHREADS
-# undef BOOST_HAS_MPTASKS
-#endif
-
-//
-// If the compiler claims to be C99 conformant, then it had better
-// have a <stdint.h>:
-//
-# if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
-# define BOOST_HAS_STDINT_H
-# ifndef BOOST_HAS_LOG1P
-# define BOOST_HAS_LOG1P
-# endif
-# ifndef BOOST_HAS_EXPM1
-# define BOOST_HAS_EXPM1
-# endif
-# endif
-
-//
-// Define BOOST_NO_SLIST and BOOST_NO_HASH if required.
-// Note that this is for backwards compatibility only.
-//
-# if !defined(BOOST_HAS_SLIST) && !defined(BOOST_NO_SLIST)
-# define BOOST_NO_SLIST
-# endif
-
-# if !defined(BOOST_HAS_HASH) && !defined(BOOST_NO_HASH)
-# define BOOST_NO_HASH
-# endif
-
-//
-// Set BOOST_SLIST_HEADER if not set already:
-//
-#if defined(BOOST_HAS_SLIST) && !defined(BOOST_SLIST_HEADER)
-# define BOOST_SLIST_HEADER <slist>
-#endif
-
-//
-// Set BOOST_HASH_SET_HEADER if not set already:
-//
-#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_SET_HEADER)
-# define BOOST_HASH_SET_HEADER <hash_set>
-#endif
-
-//
-// Set BOOST_HASH_MAP_HEADER if not set already:
-//
-#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_MAP_HEADER)
-# define BOOST_HASH_MAP_HEADER <hash_map>
-#endif
-
-// BOOST_HAS_ABI_HEADERS
-// This macro gets set if we have headers that fix the ABI,
-// and prevent ODR violations when linking to external libraries:
-#if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS)
-# define BOOST_HAS_ABI_HEADERS
-#endif
-
-#if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS)
-# undef BOOST_HAS_ABI_HEADERS
-#endif
-
-// BOOST_NO_STDC_NAMESPACE workaround --------------------------------------//
-// Because std::size_t usage is so common, even in boost headers which do not
-// otherwise use the C library, the <cstddef> workaround is included here so
-// that ugly workaround code need not appear in many other boost headers.
-// NOTE WELL: This is a workaround for non-conforming compilers; <cstddef>
-// must still be #included in the usual places so that <cstddef> inclusion
-// works as expected with standard conforming compilers. The resulting
-// double inclusion of <cstddef> is harmless.
-
-# ifdef BOOST_NO_STDC_NAMESPACE
-# include <cstddef>
- namespace std { using ::ptrdiff_t; using ::size_t; }
-# endif
-
-// Workaround for the unfortunate min/max macros defined by some platform headers
-
-#define BOOST_PREVENT_MACRO_SUBSTITUTION
-
-#ifndef BOOST_USING_STD_MIN
-# define BOOST_USING_STD_MIN() using std::min
-#endif
-
-#ifndef BOOST_USING_STD_MAX
-# define BOOST_USING_STD_MAX() using std::max
-#endif
-
-// BOOST_NO_STD_MIN_MAX workaround -----------------------------------------//
-
-# ifdef BOOST_NO_STD_MIN_MAX
-
-namespace std {
- template <class _Tp>
- inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {
- return __b < __a ? __b : __a;
- }
- template <class _Tp>
- inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {
- return __a < __b ? __b : __a;
- }
-}
-
-# endif
-
-// BOOST_STATIC_CONSTANT workaround --------------------------------------- //
-// On compilers which don't allow in-class initialization of static integral
-// constant members, we must use enums as a workaround if we want the constants
-// to be available at compile-time. This macro gives us a convenient way to
-// declare such constants.
-
-# ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-# define BOOST_STATIC_CONSTANT(type, assignment) enum { assignment }
-# else
-# define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment
-# endif
-
-// BOOST_USE_FACET / HAS_FACET workaround ----------------------------------//
-// When the standard library does not have a conforming std::use_facet there
-// are various workarounds available, but they differ from library to library.
-// The same problem occurs with has_facet.
-// These macros provide a consistent way to access a locale's facets.
-// Usage:
-// replace
-// std::use_facet<Type>(loc);
-// with
-// BOOST_USE_FACET(Type, loc);
-// Note do not add a std:: prefix to the front of BOOST_USE_FACET!
-// Use for BOOST_HAS_FACET is analogous.
-
-#if defined(BOOST_NO_STD_USE_FACET)
-# ifdef BOOST_HAS_TWO_ARG_USE_FACET
-# define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast<Type*>(0))
-# define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast<Type*>(0))
-# elif defined(BOOST_HAS_MACRO_USE_FACET)
-# define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type)
-# define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type)
-# elif defined(BOOST_HAS_STLP_USE_FACET)
-# define BOOST_USE_FACET(Type, loc) (*std::_Use_facet<Type >(loc))
-# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)
-# endif
-#else
-# define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc)
-# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)
-#endif
-
-// BOOST_NESTED_TEMPLATE workaround ------------------------------------------//
-// Member templates are supported by some compilers even though they can't use
-// the A::template member<U> syntax, as a workaround replace:
-//
-// typedef typename A::template rebind<U> binder;
-//
-// with:
-//
-// typedef typename A::BOOST_NESTED_TEMPLATE rebind<U> binder;
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-# define BOOST_NESTED_TEMPLATE template
-#else
-# define BOOST_NESTED_TEMPLATE
-#endif
-
-// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------//
-// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION
-// is defined, in which case it evaluates to return x; Use when you have a return
-// statement that can never be reached.
-
-#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION
-# define BOOST_UNREACHABLE_RETURN(x) return x;
-#else
-# define BOOST_UNREACHABLE_RETURN(x)
-#endif
-
-// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------//
-//
-// Some compilers don't support the use of `typename' for dependent
-// types in deduced contexts, e.g.
-//
-// template <class T> void f(T, typename T::type);
-// ^^^^^^^^
-// Replace these declarations with:
-//
-// template <class T> void f(T, BOOST_DEDUCED_TYPENAME T::type);
-
-#ifndef BOOST_NO_DEDUCED_TYPENAME
-# define BOOST_DEDUCED_TYPENAME typename
-#else
-# define BOOST_DEDUCED_TYPENAME
-#endif
-
-#ifndef BOOST_NO_TYPENAME_WITH_CTOR
-# define BOOST_CTOR_TYPENAME typename
-#else
-# define BOOST_CTOR_TYPENAME
-#endif
-
-// long long workaround ------------------------------------------//
-// On gcc (and maybe other compilers?) long long is alway supported
-// but it's use may generate either warnings (with -ansi), or errors
-// (with -pedantic -ansi) unless it's use is prefixed by __extension__
-//
-#if defined(BOOST_HAS_LONG_LONG)
-namespace boost{
-# ifdef __GNUC__
- __extension__ typedef long long long_long_type;
- __extension__ typedef unsigned long long ulong_long_type;
-# else
- typedef long long long_long_type;
- typedef unsigned long long ulong_long_type;
-# endif
-}
-#endif
-
-// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------//
-//
-// Some compilers have problems with function templates whose template
-// parameters don't appear in the function parameter list (basically
-// they just link one instantiation of the template in the final
-// executable). These macros provide a uniform way to cope with the
-// problem with no effects on the calling syntax.
-
-// Example:
-//
-// #include <iostream>
-// #include <ostream>
-// #include <typeinfo>
-//
-// template <int n>
-// void f() { std::cout << n << ' '; }
-//
-// template <typename T>
-// void g() { std::cout << typeid(T).name() << ' '; }
-//
-// int main() {
-// f<1>();
-// f<2>();
-//
-// g<int>();
-// g<double>();
-// }
-//
-// With VC++ 6.0 the output is:
-//
-// 2 2 double double
-//
-// To fix it, write
-//
-// template <int n>
-// void f(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... }
-//
-// template <typename T>
-// void g(BOOST_EXPLICIT_TEMPLATE_TYPE(T)) { ... }
-//
-
-
-#if defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-
-# include "boost/type.hpp"
-# include "boost/non_type.hpp"
-
-# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) boost::type<t>* = 0
-# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) boost::type<t>*
-# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) boost::non_type<t, v>* = 0
-# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) boost::non_type<t, v>*
-
-# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) \
- , BOOST_EXPLICIT_TEMPLATE_TYPE(t)
-# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) \
- , BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) \
- , BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) \
- , BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
-
-#else
-
-// no workaround needed: expand to nothing
-
-# define BOOST_EXPLICIT_TEMPLATE_TYPE(t)
-# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
-
-# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)
-# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
-
-
-#endif // defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-
-
-// ---------------------------------------------------------------------------//
-
-//
-// Helper macro BOOST_STRINGIZE:
-// Converts the parameter X to a string after macro replacement
-// on X has been performed.
-//
-#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
-#define BOOST_DO_STRINGIZE(X) #X
-
-//
-// Helper macro BOOST_JOIN:
-// The following piece of macro magic joins the two
-// arguments together, even when one of the arguments is
-// itself a macro (see 16.3.1 in C++ standard). The key
-// is that macro expansion of macro arguments does not
-// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN.
-//
-#define BOOST_JOIN( X, Y ) BOOST_DO_JOIN( X, Y )
-#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y)
-#define BOOST_DO_JOIN2( X, Y ) X##Y
-
-//
-// Set some default values for compiler/library/platform names.
-// These are for debugging config setup only:
-//
-# ifndef BOOST_COMPILER
-# define BOOST_COMPILER "Unknown ISO C++ Compiler"
-# endif
-# ifndef BOOST_STDLIB
-# define BOOST_STDLIB "Unknown ISO standard library"
-# endif
-# ifndef BOOST_PLATFORM
-# if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \
- || defined(_POSIX_SOURCE)
-# define BOOST_PLATFORM "Generic Unix"
-# else
-# define BOOST_PLATFORM "Unknown"
-# endif
-# endif
-
-#endif
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/user.hpp b/src/libs/boost-1.37.0/boost/config/user.hpp
deleted file mode 100644
index 5a4a9d47..00000000
--- a/src/libs/boost-1.37.0/boost/config/user.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-// boost/config/user.hpp ---------------------------------------------------//
-
-// (C) Copyright John Maddock 2001.
-// 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)
-
-// Do not check in modified versions of this file,
-// This file may be customized by the end user, but not by boost.
-
-//
-// Use this file to define a site and compiler specific
-// configuration policy:
-//
-
-// define this to locate a compiler config file:
-// #define BOOST_COMPILER_CONFIG <myheader>
-
-// define this to locate a stdlib config file:
-// #define BOOST_STDLIB_CONFIG <myheader>
-
-// define this to locate a platform config file:
-// #define BOOST_PLATFORM_CONFIG <myheader>
-
-// define this to disable compiler config,
-// use if your compiler config has nothing to set:
-// #define BOOST_NO_COMPILER_CONFIG
-
-// define this to disable stdlib config,
-// use if your stdlib config has nothing to set:
-// #define BOOST_NO_STDLIB_CONFIG
-
-// define this to disable platform config,
-// use if your platform config has nothing to set:
-// #define BOOST_NO_PLATFORM_CONFIG
-
-// define this to disable all config options,
-// excluding the user config. Use if your
-// setup is fully ISO compliant, and has no
-// useful extensions, or for autoconf generated
-// setups:
-// #define BOOST_NO_CONFIG
-
-// define this to make the config "optimistic"
-// about unknown compiler versions. Normally
-// unknown compiler versions are assumed to have
-// all the defects of the last known version, however
-// setting this flag, causes the config to assume
-// that unknown compiler versions are fully conformant
-// with the standard:
-// #define BOOST_STRICT_CONFIG
-
-// define this to cause the config to halt compilation
-// with an #error if it encounters anything unknown --
-// either an unknown compiler version or an unknown
-// compiler/platform/library:
-// #define BOOST_ASSERT_CONFIG
-
-
-// define if you want to disable threading support, even
-// when available:
-// #define BOOST_DISABLE_THREADS
-
-// define when you want to disable Win32 specific features
-// even when available:
-// #define BOOST_DISABLE_WIN32
-
-// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any
-// prefix/suffix headers that normally control things like struct
-// packing and alignment.
-// #define BOOST_DISABLE_ABI_HEADERS
-
-// BOOST_ABI_PREFIX: A prefix header to include in place of whatever
-// boost.config would normally select, any replacement should set up
-// struct packing and alignment options as required.
-// #define BOOST_ABI_PREFIX my-header-name
-
-// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever
-// boost.config would normally select, any replacement should undo
-// the effects of the prefix header.
-// #define BOOST_ABI_SUFFIX my-header-name
-
-// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source,
-// to be linked as dll's rather than static libraries on Microsoft Windows
-// (this macro is used to turn on __declspec(dllimport) modifiers, so that
-// the compiler knows which symbols to look for in a dll rather than in a
-// static library). Note that there may be some libraries that can only
-// be statically linked (Boost.Test for example) and others which may only
-// be dynamically linked (Boost.Threads for example), in these cases this
-// macro has no effect.
-// #define BOOST_ALL_DYN_LINK
-
-// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll
-// rather than a static library on Microsoft Windows: replace the WHATEVER
-// part of the macro name with the name of the library that you want to
-// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or
-// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport)
-// modifiers, so that the compiler knows which symbols to look for in a dll
-// rather than in a static library).
-// Note that there may be some libraries that can only be statically linked
-// (Boost.Test for example) and others which may only be dynamically linked
-// (Boost.Threads for example), in these cases this macro is unsupported.
-// #define BOOST_WHATEVER_DYN_LINK
-
-// BOOST_ALL_NO_LIB: Tells the config system not to automatically select
-// which libraries to link against.
-// Normally if a compiler supports #pragma lib, then the correct library
-// build variant will be automatically selected and linked against,
-// simply by the act of including one of that library's headers.
-// This macro turns that feature off.
-// #define BOOST_ALL_NO_LIB
-
-// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically
-// select which library to link against for library "whatever",
-// replace WHATEVER in the macro name with the name of the library;
-// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB.
-// Normally if a compiler supports #pragma lib, then the correct library
-// build variant will be automatically selected and linked against, simply
-// by the act of including one of that library's headers. This macro turns
-// that feature off.
-// #define BOOST_WHATEVER_NO_LIB
-
-
-
diff --git a/src/libs/boost-1.37.0/boost/config/warning_disable.hpp b/src/libs/boost-1.37.0/boost/config/warning_disable.hpp
deleted file mode 100644
index 26ff1323..00000000
--- a/src/libs/boost-1.37.0/boost/config/warning_disable.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright John Maddock 2008
-// Use, modification, and distribution is 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 file exists to turn off some overly-pedantic warning emitted
-// by certain compilers. You should include this header only in:
-//
-// * A test case, before any other headers, or,
-// * A library source file before any other headers.
-//
-// IT SHOULD NOT BE INCLUDED BY ANY BOOST HEADER.
-//
-// YOU SHOULD NOT INCLUDE IT IF YOU CAN REASONABLY FIX THE WARNING.
-//
-// The only warnings disabled here are those that are:
-//
-// * Quite unreasonably pedantic.
-// * Generally only emitted by a single compiler.
-// * Can't easily be fixed: for example if the vendors own std lib
-// code emits these warnings!
-//
-// Note that THIS HEADER MUST NOT INCLUDE ANY OTHER HEADERS:
-// not even std library ones! Doing so may turn the warning
-// off too late to be of any use. For example the VC++ C4996
-// warning can be omitted from <iosfwd> if that header is included
-// before or by this one :-(
-//
-
-#ifndef BOOST_CONFIG_WARNING_DISABLE_HPP
-#define BOOST_CONFIG_WARNING_DISABLE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
- // Error 'function': was declared deprecated
- // http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx
- // This error is emitted when you use some perfectly conforming
- // std lib functions in a perfectly correct way, and also by
- // some of Microsoft's own std lib code !
-# pragma warning(disable:4996)
-#endif
-#if defined(__INTEL_COMPILER) || defined(__ICL)
- // As above: gives warning when a "deprecated"
- // std library function is encountered.
-# pragma warning(disable:1786)
-#endif
-
-#endif // BOOST_CONFIG_WARNING_DISABLE_HPP
diff --git a/src/libs/boost-1.37.0/boost/current_function.hpp b/src/libs/boost-1.37.0/boost/current_function.hpp
deleted file mode 100644
index aa5756e0..00000000
--- a/src/libs/boost-1.37.0/boost/current_function.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED
-#define BOOST_CURRENT_FUNCTION_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/current_function.hpp - BOOST_CURRENT_FUNCTION
-//
-// Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// http://www.boost.org/libs/utility/current_function.html
-//
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void current_function_helper()
-{
-
-#if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600))
-
-# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
-
-#elif defined(__DMC__) && (__DMC__ >= 0x810)
-
-# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
-
-#elif defined(__FUNCSIG__)
-
-# define BOOST_CURRENT_FUNCTION __FUNCSIG__
-
-#elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500))
-
-# define BOOST_CURRENT_FUNCTION __FUNCTION__
-
-#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)
-
-# define BOOST_CURRENT_FUNCTION __FUNC__
-
-#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
-
-# define BOOST_CURRENT_FUNCTION __func__
-
-#else
-
-# define BOOST_CURRENT_FUNCTION "(unknown)"
-
-#endif
-
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/bad_weak_ptr.hpp b/src/libs/boost-1.37.0/boost/detail/bad_weak_ptr.hpp
deleted file mode 100644
index 93ecec9b..00000000
--- a/src/libs/boost-1.37.0/boost/detail/bad_weak_ptr.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef BOOST_BAD_WEAK_PTR_HPP_INCLUDED
-#define BOOST_BAD_WEAK_PTR_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/bad_weak_ptr.hpp
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <exception>
-
-#ifdef __BORLANDC__
-# pragma warn -8026 // Functions with excep. spec. are not expanded inline
-#endif
-
-namespace boost
-{
-
-// The standard library that comes with Borland C++ 5.5.1, 5.6.4
-// defines std::exception and its members as having C calling
-// convention (-pc). When the definition of bad_weak_ptr
-// is compiled with -ps, the compiler issues an error.
-// Hence, the temporary #pragma option -pc below.
-
-#if defined(__BORLANDC__) && __BORLANDC__ <= 0x564
-# pragma option push -pc
-#endif
-
-class bad_weak_ptr: public std::exception
-{
-public:
-
- virtual char const * what() const throw()
- {
- return "tr1::bad_weak_ptr";
- }
-};
-
-#if defined(__BORLANDC__) && __BORLANDC__ <= 0x564
-# pragma option pop
-#endif
-
-} // namespace boost
-
-#ifdef __BORLANDC__
-# pragma warn .8026 // Functions with excep. spec. are not expanded inline
-#endif
-
-#endif // #ifndef BOOST_BAD_WEAK_PTR_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/interlocked.hpp b/src/libs/boost-1.37.0/boost/detail/interlocked.hpp
deleted file mode 100644
index b6c8d750..00000000
--- a/src/libs/boost-1.37.0/boost/detail/interlocked.hpp
+++ /dev/null
@@ -1,130 +0,0 @@
-#ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
-#define BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/detail/interlocked.hpp
-//
-// Copyright 2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/config.hpp>
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-# include <windows.h>
-
-# define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement
-# define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange
-# define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange
-# define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER InterlockedCompareExchangePointer
-# define BOOST_INTERLOCKED_EXCHANGE_POINTER InterlockedExchangePointer
-
-#elif defined(_WIN32_WCE)
-
-// under Windows CE we still have old-style Interlocked* functions
-
-extern "C" long __cdecl InterlockedIncrement( long* );
-extern "C" long __cdecl InterlockedDecrement( long* );
-extern "C" long __cdecl InterlockedCompareExchange( long*, long, long );
-extern "C" long __cdecl InterlockedExchange( long*, long );
-extern "C" long __cdecl InterlockedExchangeAdd( long*, long );
-
-# define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement
-# define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange
-# define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange
-# define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd
-
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
- ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long*)(dest),(long)(exchange),(long)(compare)))
-# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
- ((void*)BOOST_INTERLOCKED_EXCHANGE((long*)(dest),(long)(exchange)))
-
-#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN )
-
-extern "C" long __cdecl _InterlockedIncrement( long volatile * );
-extern "C" long __cdecl _InterlockedDecrement( long volatile * );
-extern "C" long __cdecl _InterlockedCompareExchange( long volatile *, long, long );
-extern "C" long __cdecl _InterlockedExchange( long volatile *, long);
-extern "C" long __cdecl _InterlockedExchangeAdd( long volatile *, long);
-
-# pragma intrinsic( _InterlockedIncrement )
-# pragma intrinsic( _InterlockedDecrement )
-# pragma intrinsic( _InterlockedCompareExchange )
-# pragma intrinsic( _InterlockedExchange )
-# pragma intrinsic( _InterlockedExchangeAdd )
-
-# if defined(_M_IA64) || defined(_M_AMD64)
-
-extern "C" void* __cdecl _InterlockedCompareExchangePointer( void* volatile *, void*, void* );
-extern "C" void* __cdecl _InterlockedExchangePointer( void* volatile *, void* );
-
-# pragma intrinsic( _InterlockedCompareExchangePointer )
-# pragma intrinsic( _InterlockedExchangePointer )
-
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer
-# define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer
-
-# else
-
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
- ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
-# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
- ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
-
-# endif
-
-# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
-# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
-# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
-# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
-
-#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
-
-namespace boost
-{
-
-namespace detail
-{
-
-extern "C" __declspec(dllimport) long __stdcall InterlockedIncrement( long volatile * );
-extern "C" __declspec(dllimport) long __stdcall InterlockedDecrement( long volatile * );
-extern "C" __declspec(dllimport) long __stdcall InterlockedCompareExchange( long volatile *, long, long );
-extern "C" __declspec(dllimport) long __stdcall InterlockedExchange( long volatile *, long );
-extern "C" __declspec(dllimport) long __stdcall InterlockedExchangeAdd( long volatile *, long );
-
-} // namespace detail
-
-} // namespace boost
-
-# define BOOST_INTERLOCKED_INCREMENT ::boost::detail::InterlockedIncrement
-# define BOOST_INTERLOCKED_DECREMENT ::boost::detail::InterlockedDecrement
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE ::boost::detail::InterlockedCompareExchange
-# define BOOST_INTERLOCKED_EXCHANGE ::boost::detail::InterlockedExchange
-# define BOOST_INTERLOCKED_EXCHANGE_ADD ::boost::detail::InterlockedExchangeAdd
-
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
- ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
-# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
- ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
-
-#else
-
-# error "Interlocked intrinsics not available"
-
-#endif
-
-#endif // #ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/shared_count.hpp b/src/libs/boost-1.37.0/boost/detail/shared_count.hpp
deleted file mode 100644
index 8f137770..00000000
--- a/src/libs/boost-1.37.0/boost/detail/shared_count.hpp
+++ /dev/null
@@ -1,412 +0,0 @@
-#ifndef BOOST_DETAIL_SHARED_COUNT_HPP_INCLUDED
-#define BOOST_DETAIL_SHARED_COUNT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/shared_count.hpp
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifdef __BORLANDC__
-# pragma warn -8027 // Functions containing try are not expanded inline
-#endif
-
-#include <boost/config.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/detail/bad_weak_ptr.hpp>
-#include <boost/detail/sp_counted_base.hpp>
-#include <boost/detail/sp_counted_impl.hpp>
-// In order to avoid circular dependencies with Boost.TR1
-// we make sure that our include of <memory> doesn't try to
-// pull in the TR1 headers: that's why we use this header
-// rather than including <memory> directly:
-#include <boost/config/no_tr1/memory.hpp> // std::auto_ptr
-#include <functional> // std::less
-#include <new> // std::bad_alloc
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-
-int const shared_count_id = 0x2C35F101;
-int const weak_count_id = 0x298C38A4;
-
-#endif
-
-struct sp_nothrow_tag {};
-
-class weak_count;
-
-class shared_count
-{
-private:
-
- sp_counted_base * pi_;
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- int id_;
-#endif
-
- friend class weak_count;
-
-public:
-
- shared_count(): pi_(0) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
- }
-
- template<class Y> explicit shared_count( Y * p ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
-#ifndef BOOST_NO_EXCEPTIONS
-
- try
- {
- pi_ = new sp_counted_impl_p<Y>( p );
- }
- catch(...)
- {
- boost::checked_delete( p );
- throw;
- }
-
-#else
-
- pi_ = new sp_counted_impl_p<Y>( p );
-
- if( pi_ == 0 )
- {
- boost::checked_delete( p );
- boost::throw_exception( std::bad_alloc() );
- }
-
-#endif
- }
-
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1200 )
- template<class Y, class D> shared_count( Y * p, D d ): pi_(0)
-#else
- template<class P, class D> shared_count( P p, D d ): pi_(0)
-#endif
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1200 )
- typedef Y* P;
-#endif
-#ifndef BOOST_NO_EXCEPTIONS
-
- try
- {
- pi_ = new sp_counted_impl_pd<P, D>(p, d);
- }
- catch(...)
- {
- d(p); // delete p
- throw;
- }
-
-#else
-
- pi_ = new sp_counted_impl_pd<P, D>(p, d);
-
- if(pi_ == 0)
- {
- d(p); // delete p
- boost::throw_exception(std::bad_alloc());
- }
-
-#endif
- }
-
- template<class P, class D, class A> shared_count( P p, D d, A a ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
- typedef sp_counted_impl_pda<P, D, A> impl_type;
- typedef typename A::template rebind< impl_type >::other A2;
-
- A2 a2( a );
-
-#ifndef BOOST_NO_EXCEPTIONS
-
- try
- {
- pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );
- new( static_cast< void* >( pi_ ) ) impl_type( p, d, a );
- }
- catch(...)
- {
- d( p );
-
- if( pi_ != 0 )
- {
- a2.deallocate( static_cast< impl_type* >( pi_ ), 1 );
- }
-
- throw;
- }
-
-#else
-
- pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );
-
- if( pi_ != 0 )
- {
- new( static_cast< void* >( pi_ ) ) impl_type( p, d, a );
- }
- else
- {
- d( p );
- boost::throw_exception( std::bad_alloc() );
- }
-
-#endif
- }
-
-#ifndef BOOST_NO_AUTO_PTR
-
- // auto_ptr<Y> is special cased to provide the strong guarantee
-
- template<class Y>
- explicit shared_count( std::auto_ptr<Y> & r ): pi_( new sp_counted_impl_p<Y>( r.get() ) )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
-#ifdef BOOST_NO_EXCEPTIONS
-
- if( pi_ == 0 )
- {
- boost::throw_exception(std::bad_alloc());
- }
-
-#endif
-
- r.release();
- }
-
-#endif
-
- ~shared_count() // nothrow
- {
- if( pi_ != 0 ) pi_->release();
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- id_ = 0;
-#endif
- }
-
- shared_count(shared_count const & r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
- if( pi_ != 0 ) pi_->add_ref_copy();
- }
-
- explicit shared_count(weak_count const & r); // throws bad_weak_ptr when r.use_count() == 0
- shared_count( weak_count const & r, sp_nothrow_tag ); // constructs an empty *this when r.use_count() == 0
-
- shared_count & operator= (shared_count const & r) // nothrow
- {
- sp_counted_base * tmp = r.pi_;
-
- if( tmp != pi_ )
- {
- if( tmp != 0 ) tmp->add_ref_copy();
- if( pi_ != 0 ) pi_->release();
- pi_ = tmp;
- }
-
- return *this;
- }
-
- void swap(shared_count & r) // nothrow
- {
- sp_counted_base * tmp = r.pi_;
- r.pi_ = pi_;
- pi_ = tmp;
- }
-
- long use_count() const // nothrow
- {
- return pi_ != 0? pi_->use_count(): 0;
- }
-
- bool unique() const // nothrow
- {
- return use_count() == 1;
- }
-
- bool empty() const // nothrow
- {
- return pi_ == 0;
- }
-
- friend inline bool operator==(shared_count const & a, shared_count const & b)
- {
- return a.pi_ == b.pi_;
- }
-
- friend inline bool operator<(shared_count const & a, shared_count const & b)
- {
- return std::less<sp_counted_base *>()( a.pi_, b.pi_ );
- }
-
- void * get_deleter( sp_typeinfo const & ti ) const
- {
- return pi_? pi_->get_deleter( ti ): 0;
- }
-};
-
-
-class weak_count
-{
-private:
-
- sp_counted_base * pi_;
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- int id_;
-#endif
-
- friend class shared_count;
-
-public:
-
- weak_count(): pi_(0) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(weak_count_id)
-#endif
- {
- }
-
- weak_count(shared_count const & r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
- if(pi_ != 0) pi_->weak_add_ref();
- }
-
- weak_count(weak_count const & r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
- if(pi_ != 0) pi_->weak_add_ref();
- }
-
- ~weak_count() // nothrow
- {
- if(pi_ != 0) pi_->weak_release();
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- id_ = 0;
-#endif
- }
-
- weak_count & operator= (shared_count const & r) // nothrow
- {
- sp_counted_base * tmp = r.pi_;
-
- if( tmp != pi_ )
- {
- if(tmp != 0) tmp->weak_add_ref();
- if(pi_ != 0) pi_->weak_release();
- pi_ = tmp;
- }
-
- return *this;
- }
-
- weak_count & operator= (weak_count const & r) // nothrow
- {
- sp_counted_base * tmp = r.pi_;
-
- if( tmp != pi_ )
- {
- if(tmp != 0) tmp->weak_add_ref();
- if(pi_ != 0) pi_->weak_release();
- pi_ = tmp;
- }
-
- return *this;
- }
-
- void swap(weak_count & r) // nothrow
- {
- sp_counted_base * tmp = r.pi_;
- r.pi_ = pi_;
- pi_ = tmp;
- }
-
- long use_count() const // nothrow
- {
- return pi_ != 0? pi_->use_count(): 0;
- }
-
- friend inline bool operator==(weak_count const & a, weak_count const & b)
- {
- return a.pi_ == b.pi_;
- }
-
- friend inline bool operator<(weak_count const & a, weak_count const & b)
- {
- return std::less<sp_counted_base *>()(a.pi_, b.pi_);
- }
-};
-
-inline shared_count::shared_count( weak_count const & r ): pi_( r.pi_ )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
-{
- if( pi_ == 0 || !pi_->add_ref_lock() )
- {
- boost::throw_exception( boost::bad_weak_ptr() );
- }
-}
-
-inline shared_count::shared_count( weak_count const & r, sp_nothrow_tag ): pi_( r.pi_ )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
-{
- if( pi_ != 0 && !pi_->add_ref_lock() )
- {
- pi_ = 0;
- }
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#ifdef __BORLANDC__
-# pragma warn .8027 // Functions containing try are not expanded inline
-#endif
-
-#endif // #ifndef BOOST_DETAIL_SHARED_COUNT_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_convertible.hpp b/src/libs/boost-1.37.0/boost/detail/sp_convertible.hpp
deleted file mode 100644
index 2c1539bd..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_convertible.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-#ifndef BOOST_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
-#define BOOST_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// detail/sp_convertible.hpp
-//
-// Copyright 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt
-
-#include <boost/config.hpp>
-
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( BOOST_NO_SFINAE )
-# define BOOST_SP_NO_SP_CONVERTIBLE
-#endif
-
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ < 303 )
-# define BOOST_SP_NO_SP_CONVERTIBLE
-#endif
-
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( __BORLANDC__ ) && ( __BORLANDC__ <= 0x610 )
-# define BOOST_SP_NO_SP_CONVERTIBLE
-#endif
-
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
-namespace boost
-{
-
-namespace detail
-{
-
-template< class Y, class T > struct sp_convertible
-{
- typedef char (&yes) [1];
- typedef char (&no) [2];
-
- static yes f( T* );
- static no f( ... );
-
- enum _vt { value = sizeof( f( (Y*)0 ) ) == sizeof(yes) };
-};
-
-struct sp_empty
-{
-};
-
-template< bool > struct sp_enable_if_convertible_impl;
-
-template<> struct sp_enable_if_convertible_impl<true>
-{
- typedef sp_empty type;
-};
-
-template<> struct sp_enable_if_convertible_impl<false>
-{
-};
-
-template< class Y, class T > struct sp_enable_if_convertible: public sp_enable_if_convertible_impl< sp_convertible< Y, T >::value >
-{
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
-#endif // #ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_counted_base.hpp b/src/libs/boost-1.37.0/boost/detail/sp_counted_base.hpp
deleted file mode 100644
index c25a57f4..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_counted_base.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base.hpp
-//
-// Copyright 2005, 2006 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/config.hpp>
-
-#if defined( BOOST_SP_DISABLE_THREADS )
-# include <boost/detail/sp_counted_base_nt.hpp>
-
-#elif defined( BOOST_SP_USE_SPINLOCK )
-# include <boost/detail/sp_counted_base_spin.hpp>
-
-#elif defined( BOOST_SP_USE_PTHREADS )
-# include <boost/detail/sp_counted_base_pt.hpp>
-
-#elif defined( BOOST_DISABLE_THREADS ) && !defined( BOOST_SP_ENABLE_THREADS ) && !defined( BOOST_DISABLE_WIN32 )
-# include <boost/detail/sp_counted_base_nt.hpp>
-
-#elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) )
-# include <boost/detail/sp_counted_base_gcc_x86.hpp>
-
-#elif defined( __GNUC__ ) && defined( __ia64__ ) && !defined( __INTEL_COMPILER )
-# include <boost/detail/sp_counted_base_gcc_ia64.hpp>
-
-#elif defined(__HP_aCC) && defined(__ia64)
-# include <boost/detail/sp_counted_base_acc_ia64.hpp>
-
-#elif defined( __MWERKS__ ) && defined( __POWERPC__ )
-# include <boost/detail/sp_counted_base_cw_ppc.hpp>
-
-#elif defined( __GNUC__ ) && ( defined( __powerpc__ ) || defined( __ppc__ ) || defined( __ppc ) )
-# include <boost/detail/sp_counted_base_gcc_ppc.hpp>
-
-#elif defined(__GNUC__) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 ) && !defined( __arm__ ) && !defined( __hppa ) && ( !defined( __INTEL_COMPILER ) || defined( __ia64__ ) )
-# include <boost/detail/sp_counted_base_sync.hpp>
-
-#elif defined(__GNUC__) && ( defined( __sparcv9 ) || ( defined( __sparcv8 ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 402 ) ) )
-# include <boost/detail/sp_counted_base_gcc_sparc.hpp>
-
-#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ )
-# include <boost/detail/sp_counted_base_w32.hpp>
-
-#elif !defined( BOOST_HAS_THREADS )
-# include <boost/detail/sp_counted_base_nt.hpp>
-
-#else
-# include <boost/detail/sp_counted_base_spin.hpp>
-
-#endif
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_acc_ia64.hpp b/src/libs/boost-1.37.0/boost/detail/sp_counted_base_acc_ia64.hpp
deleted file mode 100644
index c956b8e0..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_acc_ia64.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
-
-//
-// detail/sp_counted_base_acc_ia64.hpp - aC++ on HP-UX IA64
-//
-// Copyright 2007 Baruch Zilber
-// Copyright 2007 Boris Gubenko
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <machine/sys/inline.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( int * pw )
-{
- // ++*pw;
-
- _Asm_fetchadd(_FASZ_W, _SEM_REL, pw, +1, _LDHINT_NONE);
-}
-
-inline int atomic_decrement( int * pw )
-{
- // return --*pw;
-
- int r = static_cast<int>(_Asm_fetchadd(_FASZ_W, _SEM_REL, pw, -1, _LDHINT_NONE));
- if (1 == r)
- {
- _Asm_mf();
- }
-
- return r - 1;
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
- // if( *pw != 0 ) ++*pw;
- // return *pw;
-
- int v = *pw;
-
- for (;;)
- {
- if (0 == v)
- {
- return 0;
- }
-
- _Asm_mov_to_ar(_AREG_CCV,
- v,
- (_UP_CALL_FENCE | _UP_SYS_FENCE | _DOWN_CALL_FENCE | _DOWN_SYS_FENCE));
- int r = static_cast<int>(_Asm_cmpxchg(_SZ_W, _SEM_ACQ, pw, v + 1, _LDHINT_NONE));
- if (r == v)
- {
- return r + 1;
- }
-
- v = r;
- }
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int use_count_; // #shared
- int weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return static_cast<int const volatile &>( use_count_ ); // TODO use ld.acq here
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_cw_ppc.hpp b/src/libs/boost-1.37.0/boost/detail/sp_counted_base_cw_ppc.hpp
deleted file mode 100644
index 3f432528..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_cw_ppc.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_cw_ppc.hpp - CodeWarrior on PowerPC
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-// Thanks to Ben Hitchings for the #weak + (#shared != 0)
-// formulation
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( register long * pw )
-{
- register int a;
-
- asm
- {
-loop:
-
- lwarx a, 0, pw
- addi a, a, 1
- stwcx. a, 0, pw
- bne- loop
- }
-}
-
-inline long atomic_decrement( register long * pw )
-{
- register int a;
-
- asm
- {
- sync
-
-loop:
-
- lwarx a, 0, pw
- addi a, a, -1
- stwcx. a, 0, pw
- bne- loop
-
- isync
- }
-
- return a;
-}
-
-inline long atomic_conditional_increment( register long * pw )
-{
- register int a;
-
- asm
- {
-loop:
-
- lwarx a, 0, pw
- cmpwi a, 0
- beq store
-
- addi a, a, 1
-
-store:
-
- stwcx. a, 0, pw
- bne- loop
- }
-
- return a;
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- long use_count_; // #shared
- long weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return static_cast<long const volatile &>( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_cw_x86.hpp b/src/libs/boost-1.37.0/boost/detail/sp_counted_base_cw_x86.hpp
deleted file mode 100644
index b2e3f9bb..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_cw_x86.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_CW_X86_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_CW_X86_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_cw_x86.hpp - CodeWarrion on 486+
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2005 Peter Dimov
-// Copyright 2005 Rene Rivera
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-// Thanks to Ben Hitchings for the #weak + (#shared != 0)
-// formulation
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline int atomic_exchange_and_add( int * pw, int dv )
-{
- // int r = *pw;
- // *pw += dv;
- // return r;
-
- asm
- {
- mov esi, [pw]
- mov eax, dv
- lock xadd dword ptr [esi], eax
- }
-}
-
-inline void atomic_increment( int * pw )
-{
- //atomic_exchange_and_add( pw, 1 );
-
- asm
- {
- mov esi, [pw]
- lock inc dword ptr [esi]
- }
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
- // int rv = *pw;
- // if( rv != 0 ) ++*pw;
- // return rv;
-
- asm
- {
- mov esi, [pw]
- mov eax, dword ptr [esi]
- L0:
- test eax, eax
- je L1
- mov ebx, eax
- inc ebx
- lock cmpxchg dword ptr [esi], ebx
- jne L0
- L1:
- }
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int use_count_; // #shared
- int weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_exchange_and_add( &use_count_, -1 ) == 1 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_exchange_and_add( &weak_count_, -1 ) == 1 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return static_cast<int const volatile &>( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_ia64.hpp b/src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_ia64.hpp
deleted file mode 100644
index 7535295d..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_ia64.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
-
-//
-// detail/sp_counted_base_gcc_ia64.hpp - g++ on IA64
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2006 Peter Dimov
-// Copyright 2005 Ben Hutchings
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( int * pw )
-{
- // ++*pw;
-
- int tmp;
-
- // No barrier is required here but fetchadd always has an acquire or
- // release barrier associated with it. We choose release as it should be
- // cheaper.
- __asm__ ("fetchadd4.rel %0=%1,1" :
- "=r"(tmp), "=m"(*pw) :
- "m"( *pw ));
-}
-
-inline int atomic_decrement( int * pw )
-{
- // return --*pw;
-
- int rv;
-
- __asm__ (" fetchadd4.rel %0=%1,-1 ;; \n"
- " cmp.eq p7,p0=1,%0 ;; \n"
- "(p7) ld4.acq %0=%1 " :
- "=&r"(rv), "=m"(*pw) :
- "m"( *pw ) :
- "p7");
-
- return rv;
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
- // if( *pw != 0 ) ++*pw;
- // return *pw;
-
- int rv, tmp, tmp2;
-
- __asm__ ("0: ld4 %0=%3 ;; \n"
- " cmp.eq p7,p0=0,%0 ;; \n"
- "(p7) br.cond.spnt 1f \n"
- " mov ar.ccv=%0 \n"
- " add %1=1,%0 ;; \n"
- " cmpxchg4.acq %2=%3,%1,ar.ccv ;; \n"
- " cmp.ne p7,p0=%0,%2 ;; \n"
- "(p7) br.cond.spnt 0b \n"
- " mov %0=%1 ;; \n"
- "1:" :
- "=&r"(rv), "=&r"(tmp), "=&r"(tmp2), "=m"(*pw) :
- "m"( *pw ) :
- "ar.ccv", "p7");
-
- return rv;
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int use_count_; // #shared
- int weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return static_cast<int const volatile &>( use_count_ ); // TODO use ld.acq here
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_ppc.hpp b/src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_ppc.hpp
deleted file mode 100644
index cea2740b..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_ppc.hpp
+++ /dev/null
@@ -1,181 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_gcc_ppc.hpp - g++ on PowerPC
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-// Thanks to Ben Hitchings for the #weak + (#shared != 0)
-// formulation
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( int * pw )
-{
- // ++*pw;
-
- int tmp;
-
- __asm__
- (
- "0:\n\t"
- "lwarx %1, 0, %2\n\t"
- "addi %1, %1, 1\n\t"
- "stwcx. %1, 0, %2\n\t"
- "bne- 0b":
-
- "=m"( *pw ), "=&b"( tmp ):
- "r"( pw ), "m"( *pw ):
- "cc"
- );
-}
-
-inline int atomic_decrement( int * pw )
-{
- // return --*pw;
-
- int rv;
-
- __asm__ __volatile__
- (
- "sync\n\t"
- "0:\n\t"
- "lwarx %1, 0, %2\n\t"
- "addi %1, %1, -1\n\t"
- "stwcx. %1, 0, %2\n\t"
- "bne- 0b\n\t"
- "isync":
-
- "=m"( *pw ), "=&b"( rv ):
- "r"( pw ), "m"( *pw ):
- "memory", "cc"
- );
-
- return rv;
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
- // if( *pw != 0 ) ++*pw;
- // return *pw;
-
- int rv;
-
- __asm__
- (
- "0:\n\t"
- "lwarx %1, 0, %2\n\t"
- "cmpwi %1, 0\n\t"
- "beq 1f\n\t"
- "addi %1, %1, 1\n\t"
- "1:\n\t"
- "stwcx. %1, 0, %2\n\t"
- "bne- 0b":
-
- "=m"( *pw ), "=&b"( rv ):
- "r"( pw ), "m"( *pw ):
- "cc"
- );
-
- return rv;
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int use_count_; // #shared
- int weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return static_cast<int const volatile &>( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_sparc.hpp b/src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_sparc.hpp
deleted file mode 100644
index 2afca168..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_sparc.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// detail/sp_counted_base_gcc_sparc.hpp - g++ on Sparc V8+
-//
-// Copyright (c) 2006 Piotr Wyderski
-// Copyright (c) 2006 Tomas Puverle
-// Copyright (c) 2006 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt
-//
-// Thanks to Michael van der Westhuizen
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <inttypes.h> // int32_t
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline int32_t compare_and_swap( int32_t * dest_, int32_t compare_, int32_t swap_ )
-{
- __asm__ __volatile__( "cas %0, %2, %1"
- : "+m" (*dest_), "+r" (swap_)
- : "r" (compare_)
- : "memory" );
-
- return swap_;
-}
-
-inline int32_t atomic_fetch_and_add( int32_t * pw, int32_t dv )
-{
- // long r = *pw;
- // *pw += dv;
- // return r;
-
- for( ;; )
- {
- int32_t r = *pw;
-
- if( __builtin_expect((compare_and_swap(pw, r, r + dv) == r), 1) )
- {
- return r;
- }
- }
-}
-
-inline void atomic_increment( int32_t * pw )
-{
- atomic_fetch_and_add( pw, 1 );
-}
-
-inline int32_t atomic_decrement( int32_t * pw )
-{
- return atomic_fetch_and_add( pw, -1 );
-}
-
-inline int32_t atomic_conditional_increment( int32_t * pw )
-{
- // long r = *pw;
- // if( r != 0 ) ++*pw;
- // return r;
-
- for( ;; )
- {
- int32_t r = *pw;
-
- if( r == 0 )
- {
- return r;
- }
-
- if( __builtin_expect( ( compare_and_swap( pw, r, r + 1 ) == r ), 1 ) )
- {
- return r;
- }
- }
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int32_t use_count_; // #shared
- int32_t weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 1 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 1 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return const_cast< int32_t const volatile & >( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_x86.hpp b/src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_x86.hpp
deleted file mode 100644
index 8bf3171f..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_gcc_x86.hpp
+++ /dev/null
@@ -1,173 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_gcc_x86.hpp - g++ on 486+ or AMD64
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-// Thanks to Ben Hitchings for the #weak + (#shared != 0)
-// formulation
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline int atomic_exchange_and_add( int * pw, int dv )
-{
- // int r = *pw;
- // *pw += dv;
- // return r;
-
- int r;
-
- __asm__ __volatile__
- (
- "lock\n\t"
- "xadd %1, %0":
- "=m"( *pw ), "=r"( r ): // outputs (%0, %1)
- "m"( *pw ), "1"( dv ): // inputs (%2, %3 == %1)
- "memory", "cc" // clobbers
- );
-
- return r;
-}
-
-inline void atomic_increment( int * pw )
-{
- //atomic_exchange_and_add( pw, 1 );
-
- __asm__
- (
- "lock\n\t"
- "incl %0":
- "=m"( *pw ): // output (%0)
- "m"( *pw ): // input (%1)
- "cc" // clobbers
- );
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
- // int rv = *pw;
- // if( rv != 0 ) ++*pw;
- // return rv;
-
- int rv, tmp;
-
- __asm__
- (
- "movl %0, %%eax\n\t"
- "0:\n\t"
- "test %%eax, %%eax\n\t"
- "je 1f\n\t"
- "movl %%eax, %2\n\t"
- "incl %2\n\t"
- "lock\n\t"
- "cmpxchgl %2, %0\n\t"
- "jne 0b\n\t"
- "1:":
- "=m"( *pw ), "=&a"( rv ), "=&r"( tmp ): // outputs (%0, %1, %2)
- "m"( *pw ): // input (%3)
- "cc" // clobbers
- );
-
- return rv;
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int use_count_; // #shared
- int weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_exchange_and_add( &use_count_, -1 ) == 1 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_exchange_and_add( &weak_count_, -1 ) == 1 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return static_cast<int const volatile &>( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_nt.hpp b/src/libs/boost-1.37.0/boost/detail/sp_counted_base_nt.hpp
deleted file mode 100644
index dc7a0423..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_nt.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_nt.hpp
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- long use_count_; // #shared
- long weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
- void add_ref_copy()
- {
- ++use_count_;
- }
-
- bool add_ref_lock() // true on success
- {
- if( use_count_ == 0 ) return false;
- ++use_count_;
- return true;
- }
-
- void release() // nothrow
- {
- if( --use_count_ == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- ++weak_count_;
- }
-
- void weak_release() // nothrow
- {
- if( --weak_count_ == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return use_count_;
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_pt.hpp b/src/libs/boost-1.37.0/boost/detail/sp_counted_base_pt.hpp
deleted file mode 100644
index cd30de95..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_pt.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_pt.hpp
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <pthread.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- long use_count_; // #shared
- long weak_count_; // #weak + (#shared != 0)
-
- mutable pthread_mutex_t m_;
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
-// HPUX 10.20 / DCE has a nonstandard pthread_mutex_init
-
-#if defined(__hpux) && defined(_DECTHREADS_)
- pthread_mutex_init( &m_, pthread_mutexattr_default );
-#else
- pthread_mutex_init( &m_, 0 );
-#endif
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- pthread_mutex_destroy( &m_ );
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
- void add_ref_copy()
- {
- pthread_mutex_lock( &m_ );
- ++use_count_;
- pthread_mutex_unlock( &m_ );
- }
-
- bool add_ref_lock() // true on success
- {
- pthread_mutex_lock( &m_ );
- bool r = use_count_ == 0? false: ( ++use_count_, true );
- pthread_mutex_unlock( &m_ );
- return r;
- }
-
- void release() // nothrow
- {
- pthread_mutex_lock( &m_ );
- long new_use_count = --use_count_;
- pthread_mutex_unlock( &m_ );
-
- if( new_use_count == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- pthread_mutex_lock( &m_ );
- ++weak_count_;
- pthread_mutex_unlock( &m_ );
- }
-
- void weak_release() // nothrow
- {
- pthread_mutex_lock( &m_ );
- long new_weak_count = --weak_count_;
- pthread_mutex_unlock( &m_ );
-
- if( new_weak_count == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- pthread_mutex_lock( &m_ );
- long r = use_count_;
- pthread_mutex_unlock( &m_ );
-
- return r;
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_solaris.hpp b/src/libs/boost-1.37.0/boost/detail/sp_counted_base_solaris.hpp
deleted file mode 100644
index a747b391..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_solaris.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_SOLARIS_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_SOLARIS_HPP_INCLUDED
-
-//
-// detail/sp_counted_base_solaris.hpp
-// based on: detail/sp_counted_base_w32.hpp
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2005 Peter Dimov
-// Copyright 2006 Michael van der Westhuizen
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-// Thanks to Ben Hitchings for the #weak + (#shared != 0)
-// formulation
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <atomic.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- uint32_t use_count_; // #shared
- uint32_t weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
- void add_ref_copy()
- {
- atomic_inc_32( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- for( ;; )
- {
- uint32_t tmp = static_cast< uint32_t const volatile& >( use_count_ );
- if( tmp == 0 ) return false;
- if( atomic_cas_32( &use_count_, tmp, tmp + 1 ) == tmp ) return true;
- }
- }
-
- void release() // nothrow
- {
- if( atomic_dec_32_nv( &use_count_ ) == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_inc_32( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_dec_32_nv( &weak_count_ ) == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return static_cast<long const volatile &>( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_SOLARIS_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_spin.hpp b/src/libs/boost-1.37.0/boost/detail/sp_counted_base_spin.hpp
deleted file mode 100644
index 610a468c..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_spin.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_spin.hpp - spinlock pool atomic emulation
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <boost/detail/spinlock_pool.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline int atomic_exchange_and_add( int * pw, int dv )
-{
- spinlock_pool<1>::scoped_lock lock( pw );
-
- int r = *pw;
- *pw += dv;
- return r;
-}
-
-inline void atomic_increment( int * pw )
-{
- spinlock_pool<1>::scoped_lock lock( pw );
- ++*pw;
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
- spinlock_pool<1>::scoped_lock lock( pw );
-
- int rv = *pw;
- if( rv != 0 ) ++*pw;
- return rv;
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int use_count_; // #shared
- int weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_exchange_and_add( &use_count_, -1 ) == 1 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_exchange_and_add( &weak_count_, -1 ) == 1 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- spinlock_pool<1>::scoped_lock lock( &use_count_ );
- return use_count_;
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_sync.hpp b/src/libs/boost-1.37.0/boost/detail/sp_counted_base_sync.hpp
deleted file mode 100644
index d72dac2b..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_sync.hpp
+++ /dev/null
@@ -1,155 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// detail/sp_counted_base_sync.hpp - g++ 4.1+ __sync intrinsics
-//
-// Copyright (c) 2007 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <limits.h>
-
-#if defined( __ia64__ ) && defined( __INTEL_COMPILER )
-# include <ia64intrin.h>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if INT_MAX >= 2147483647
-
-typedef int sp_int32_t;
-
-#else
-
-typedef long sp_int32_t;
-
-#endif
-
-inline void atomic_increment( sp_int32_t * pw )
-{
- __sync_fetch_and_add( pw, 1 );
-}
-
-inline sp_int32_t atomic_decrement( sp_int32_t * pw )
-{
- return __sync_fetch_and_add( pw, -1 );
-}
-
-inline sp_int32_t atomic_conditional_increment( sp_int32_t * pw )
-{
- // long r = *pw;
- // if( r != 0 ) ++*pw;
- // return r;
-
- sp_int32_t r = *pw;
-
- for( ;; )
- {
- if( r == 0 )
- {
- return r;
- }
-
- sp_int32_t r2 = __sync_val_compare_and_swap( pw, r, r + 1 );
-
- if( r2 == r )
- {
- return r;
- }
- else
- {
- r = r2;
- }
- }
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- sp_int32_t use_count_; // #shared
- sp_int32_t weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 1 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 1 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return const_cast< sp_int32_t const volatile & >( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_w32.hpp b/src/libs/boost-1.37.0/boost/detail/sp_counted_base_w32.hpp
deleted file mode 100644
index f9903935..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_counted_base_w32.hpp
+++ /dev/null
@@ -1,130 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_w32.hpp
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-// Thanks to Ben Hitchings for the #weak + (#shared != 0)
-// formulation
-//
-
-#include <boost/detail/interlocked.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- long use_count_; // #shared
- long weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
- void add_ref_copy()
- {
- BOOST_INTERLOCKED_INCREMENT( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- for( ;; )
- {
- long tmp = static_cast< long const volatile& >( use_count_ );
- if( tmp == 0 ) return false;
-
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, == 1200 )
-
- // work around a code generation bug
-
- long tmp2 = tmp + 1;
- if( BOOST_INTERLOCKED_COMPARE_EXCHANGE( &use_count_, tmp2, tmp ) == tmp2 - 1 ) return true;
-
-#else
-
- if( BOOST_INTERLOCKED_COMPARE_EXCHANGE( &use_count_, tmp + 1, tmp ) == tmp ) return true;
-
-#endif
- }
- }
-
- void release() // nothrow
- {
- if( BOOST_INTERLOCKED_DECREMENT( &use_count_ ) == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- BOOST_INTERLOCKED_INCREMENT( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( BOOST_INTERLOCKED_DECREMENT( &weak_count_ ) == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return static_cast<long const volatile &>( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_counted_impl.hpp b/src/libs/boost-1.37.0/boost/detail/sp_counted_impl.hpp
deleted file mode 100644
index 81f92da2..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_counted_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_impl.hpp
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_SP_USE_STD_ALLOCATOR) && defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-# error BOOST_SP_USE_STD_ALLOCATOR and BOOST_SP_USE_QUICK_ALLOCATOR are incompatible.
-#endif
-
-#include <boost/checked_delete.hpp>
-#include <boost/detail/sp_counted_base.hpp>
-
-#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-#include <boost/detail/quick_allocator.hpp>
-#endif
-
-#if defined(BOOST_SP_USE_STD_ALLOCATOR)
-#include <memory> // std::allocator
-#endif
-
-#include <cstddef> // std::size_t
-
-namespace boost
-{
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-
-void sp_scalar_constructor_hook( void * px, std::size_t size, void * pn );
-void sp_scalar_destructor_hook( void * px, std::size_t size, void * pn );
-
-#endif
-
-namespace detail
-{
-
-template<class X> class sp_counted_impl_p: public sp_counted_base
-{
-private:
-
- X * px_;
-
- sp_counted_impl_p( sp_counted_impl_p const & );
- sp_counted_impl_p & operator= ( sp_counted_impl_p const & );
-
- typedef sp_counted_impl_p<X> this_type;
-
-public:
-
- explicit sp_counted_impl_p( X * px ): px_( px )
- {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- boost::sp_scalar_constructor_hook( px, sizeof(X), this );
-#endif
- }
-
- virtual void dispose() // nothrow
- {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- boost::sp_scalar_destructor_hook( px_, sizeof(X), this );
-#endif
- boost::checked_delete( px_ );
- }
-
- virtual void * get_deleter( detail::sp_typeinfo const & )
- {
- return 0;
- }
-
-#if defined(BOOST_SP_USE_STD_ALLOCATOR)
-
- void * operator new( std::size_t )
- {
- return std::allocator<this_type>().allocate( 1, static_cast<this_type *>(0) );
- }
-
- void operator delete( void * p )
- {
- std::allocator<this_type>().deallocate( static_cast<this_type *>(p), 1 );
- }
-
-#endif
-
-#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-
- void * operator new( std::size_t )
- {
- return quick_allocator<this_type>::alloc();
- }
-
- void operator delete( void * p )
- {
- quick_allocator<this_type>::dealloc( p );
- }
-
-#endif
-};
-
-//
-// Borland's Codeguard trips up over the -Vx- option here:
-//
-#ifdef __CODEGUARD__
-# pragma option push -Vx-
-#endif
-
-template<class P, class D> class sp_counted_impl_pd: public sp_counted_base
-{
-private:
-
- P ptr; // copy constructor must not throw
- D del; // copy constructor must not throw
-
- sp_counted_impl_pd( sp_counted_impl_pd const & );
- sp_counted_impl_pd & operator= ( sp_counted_impl_pd const & );
-
- typedef sp_counted_impl_pd<P, D> this_type;
-
-public:
-
- // pre: d(p) must not throw
-
- sp_counted_impl_pd( P p, D d ): ptr(p), del(d)
- {
- }
-
- virtual void dispose() // nothrow
- {
- del( ptr );
- }
-
- virtual void * get_deleter( detail::sp_typeinfo const & ti )
- {
- return ti == BOOST_SP_TYPEID(D)? &reinterpret_cast<char&>( del ): 0;
- }
-
-#if defined(BOOST_SP_USE_STD_ALLOCATOR)
-
- void * operator new( std::size_t )
- {
- return std::allocator<this_type>().allocate( 1, static_cast<this_type *>(0) );
- }
-
- void operator delete( void * p )
- {
- std::allocator<this_type>().deallocate( static_cast<this_type *>(p), 1 );
- }
-
-#endif
-
-#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-
- void * operator new( std::size_t )
- {
- return quick_allocator<this_type>::alloc();
- }
-
- void operator delete( void * p )
- {
- quick_allocator<this_type>::dealloc( p );
- }
-
-#endif
-};
-
-template<class P, class D, class A> class sp_counted_impl_pda: public sp_counted_base
-{
-private:
-
- P p_; // copy constructor must not throw
- D d_; // copy constructor must not throw
- A a_; // copy constructor must not throw
-
- sp_counted_impl_pda( sp_counted_impl_pda const & );
- sp_counted_impl_pda & operator= ( sp_counted_impl_pda const & );
-
- typedef sp_counted_impl_pda<P, D, A> this_type;
-
-public:
-
- // pre: d( p ) must not throw
-
- sp_counted_impl_pda( P p, D d, A a ): p_( p ), d_( d ), a_( a )
- {
- }
-
- virtual void dispose() // nothrow
- {
- d_( p_ );
- }
-
- virtual void destroy() // nothrow
- {
- typedef typename A::template rebind< this_type >::other A2;
-
- A2 a2( a_ );
-
- this->~this_type();
- a2.deallocate( this, 1 );
- }
-
- virtual void * get_deleter( detail::sp_typeinfo const & ti )
- {
- return ti == BOOST_SP_TYPEID( D )? &reinterpret_cast<char&>( d_ ): 0;
- }
-};
-
-#ifdef __CODEGUARD__
-# pragma option pop
-#endif
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/sp_typeinfo.hpp b/src/libs/boost-1.37.0/boost/detail/sp_typeinfo.hpp
deleted file mode 100644
index e78c9431..00000000
--- a/src/libs/boost-1.37.0/boost/detail/sp_typeinfo.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
-#define BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// detail/sp_typeinfo.hpp
-//
-// Copyright 2007 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/config.hpp>
-
-#if defined( BOOST_NO_TYPEID )
-
-namespace boost
-{
-
-namespace detail
-{
-
-typedef void* sp_typeinfo;
-
-template<class T> struct sp_typeid_
-{
- static char v_;
-};
-
-template<class T> char sp_typeid_< T >::v_;
-
-template<class T> struct sp_typeid_< T const >: sp_typeid_< T >
-{
-};
-
-template<class T> struct sp_typeid_< T volatile >: sp_typeid_< T >
-{
-};
-
-template<class T> struct sp_typeid_< T const volatile >: sp_typeid_< T >
-{
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#define BOOST_SP_TYPEID(T) (&boost::detail::sp_typeid_<T>::v_)
-
-#else
-
-#include <typeinfo>
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if defined( BOOST_NO_STD_TYPEINFO )
-
-typedef ::type_info sp_typeinfo;
-
-#else
-
-typedef std::type_info sp_typeinfo;
-
-#endif
-
-} // namespace detail
-
-} // namespace boost
-
-#define BOOST_SP_TYPEID(T) typeid(T)
-
-#endif
-
-#endif // #ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/spinlock.hpp b/src/libs/boost-1.37.0/boost/detail/spinlock.hpp
deleted file mode 100644
index 346fb3c6..00000000
--- a/src/libs/boost-1.37.0/boost/detail/spinlock.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef BOOST_DETAIL_SPINLOCK_HPP_INCLUDED
-#define BOOST_DETAIL_SPINLOCK_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/detail/spinlock.hpp
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// struct spinlock
-// {
-// void lock();
-// bool try_lock();
-// void unlock();
-//
-// class scoped_lock;
-// };
-//
-// #define BOOST_DETAIL_SPINLOCK_INIT <unspecified>
-//
-
-#include <boost/config.hpp>
-
-#if defined(__GNUC__) && defined( __arm__ ) && !defined( __thumb__ )
-# include <boost/detail/spinlock_gcc_arm.hpp>
-#elif defined(__GNUC__) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 ) && !defined( __arm__ ) && !defined( __hppa ) && ( !defined( __INTEL_COMPILER ) || defined( __ia64__ ) )
-# include <boost/detail/spinlock_sync.hpp>
-#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-# include <boost/detail/spinlock_w32.hpp>
-#elif defined(BOOST_HAS_PTHREADS)
-# include <boost/detail/spinlock_pt.hpp>
-#elif !defined(BOOST_HAS_THREADS)
-# include <boost/detail/spinlock_nt.hpp>
-#else
-# error Unrecognized threading platform
-#endif
-
-#endif // #ifndef BOOST_DETAIL_SPINLOCK_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/spinlock_gcc_arm.hpp b/src/libs/boost-1.37.0/boost/detail/spinlock_gcc_arm.hpp
deleted file mode 100644
index c21163bd..00000000
--- a/src/libs/boost-1.37.0/boost/detail/spinlock_gcc_arm.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-#ifndef BOOST_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
-#define BOOST_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
-
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/detail/yield_k.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
- int v_;
-
-public:
-
- bool try_lock()
- {
- int r;
-
- __asm__ __volatile__(
- "swp %0, %1, [%2]":
- "=&r"( r ): // outputs
- "r"( 1 ), "r"( &v_ ): // inputs
- "memory", "cc" );
-
- return r == 0;
- }
-
- void lock()
- {
- for( unsigned k = 0; !try_lock(); ++k )
- {
- boost::detail::yield( k );
- }
- }
-
- void unlock()
- {
- __asm__ __volatile__( "" ::: "memory" );
- *const_cast< int volatile* >( &v_ ) = 0;
- }
-
-public:
-
- class scoped_lock
- {
- private:
-
- spinlock & sp_;
-
- scoped_lock( scoped_lock const & );
- scoped_lock & operator=( scoped_lock const & );
-
- public:
-
- explicit scoped_lock( spinlock & sp ): sp_( sp )
- {
- sp.lock();
- }
-
- ~scoped_lock()
- {
- sp_.unlock();
- }
- };
-};
-
-} // namespace detail
-} // namespace boost
-
-#define BOOST_DETAIL_SPINLOCK_INIT {0}
-
-#endif // #ifndef BOOST_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/spinlock_nt.hpp b/src/libs/boost-1.37.0/boost/detail/spinlock_nt.hpp
deleted file mode 100644
index f03ba08a..00000000
--- a/src/libs/boost-1.37.0/boost/detail/spinlock_nt.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-#ifndef BOOST_DETAIL_SPINLOCK_NT_HPP_INCLUDED
-#define BOOST_DETAIL_SPINLOCK_NT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/assert.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
- bool locked_;
-
-public:
-
- inline bool try_lock()
- {
- if( locked_ )
- {
- return false;
- }
- else
- {
- locked_ = true;
- return true;
- }
- }
-
- inline void lock()
- {
- BOOST_ASSERT( !locked_ );
- locked_ = true;
- }
-
- inline void unlock()
- {
- BOOST_ASSERT( locked_ );
- locked_ = false;
- }
-
-public:
-
- class scoped_lock
- {
- private:
-
- spinlock & sp_;
-
- scoped_lock( scoped_lock const & );
- scoped_lock & operator=( scoped_lock const & );
-
- public:
-
- explicit scoped_lock( spinlock & sp ): sp_( sp )
- {
- sp.lock();
- }
-
- ~scoped_lock()
- {
- sp_.unlock();
- }
- };
-};
-
-} // namespace detail
-} // namespace boost
-
-#define BOOST_DETAIL_SPINLOCK_INIT { false }
-
-#endif // #ifndef BOOST_DETAIL_SPINLOCK_NT_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/spinlock_pool.hpp b/src/libs/boost-1.37.0/boost/detail/spinlock_pool.hpp
deleted file mode 100644
index a264b1a3..00000000
--- a/src/libs/boost-1.37.0/boost/detail/spinlock_pool.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-#ifndef BOOST_DETAIL_SPINLOCK_POOL_HPP_INCLUDED
-#define BOOST_DETAIL_SPINLOCK_POOL_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/detail/spinlock_pool.hpp
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// spinlock_pool<0> is reserved for atomic<>, when/if it arrives
-// spinlock_pool<1> is reserved for shared_ptr reference counts
-// spinlock_pool<2> is reserved for shared_ptr atomic access
-//
-
-#include <boost/config.hpp>
-#include <boost/detail/spinlock.hpp>
-#include <cstddef>
-
-namespace boost
-{
-
-namespace detail
-{
-
-template< int I > class spinlock_pool
-{
-private:
-
- static spinlock pool_[ 41 ];
-
-public:
-
- static spinlock & spinlock_for( void const * pv )
- {
- std::size_t i = reinterpret_cast< std::size_t >( pv ) % 41;
- return pool_[ i ];
- }
-
- class scoped_lock
- {
- private:
-
- spinlock & sp_;
-
- scoped_lock( scoped_lock const & );
- scoped_lock & operator=( scoped_lock const & );
-
- public:
-
- explicit scoped_lock( void const * pv ): sp_( spinlock_for( pv ) )
- {
- sp_.lock();
- }
-
- ~scoped_lock()
- {
- sp_.unlock();
- }
- };
-};
-
-template< int I > spinlock spinlock_pool< I >::pool_[ 41 ] =
-{
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT
-};
-
-} // namespace detail
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SPINLOCK_POOL_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/spinlock_pt.hpp b/src/libs/boost-1.37.0/boost/detail/spinlock_pt.hpp
deleted file mode 100644
index dfb2d6f4..00000000
--- a/src/libs/boost-1.37.0/boost/detail/spinlock_pt.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef BOOST_DETAIL_SPINLOCK_PT_HPP_INCLUDED
-#define BOOST_DETAIL_SPINLOCK_PT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <pthread.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
- pthread_mutex_t v_;
-
-public:
-
- bool try_lock()
- {
- return pthread_mutex_trylock( &v_ ) == 0;
- }
-
- void lock()
- {
- pthread_mutex_lock( &v_ );
- }
-
- void unlock()
- {
- pthread_mutex_unlock( &v_ );
- }
-
-public:
-
- class scoped_lock
- {
- private:
-
- spinlock & sp_;
-
- scoped_lock( scoped_lock const & );
- scoped_lock & operator=( scoped_lock const & );
-
- public:
-
- explicit scoped_lock( spinlock & sp ): sp_( sp )
- {
- sp.lock();
- }
-
- ~scoped_lock()
- {
- sp_.unlock();
- }
- };
-};
-
-} // namespace detail
-} // namespace boost
-
-#define BOOST_DETAIL_SPINLOCK_INIT { PTHREAD_MUTEX_INITIALIZER }
-
-#endif // #ifndef BOOST_DETAIL_SPINLOCK_PT_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/spinlock_sync.hpp b/src/libs/boost-1.37.0/boost/detail/spinlock_sync.hpp
deleted file mode 100644
index a7523967..00000000
--- a/src/libs/boost-1.37.0/boost/detail/spinlock_sync.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-#ifndef BOOST_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED
-#define BOOST_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/detail/yield_k.hpp>
-
-#if defined( __ia64__ ) && defined( __INTEL_COMPILER )
-# include <ia64intrin.h>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
- int v_;
-
-public:
-
- bool try_lock()
- {
- int r = __sync_lock_test_and_set( &v_, 1 );
- return r == 0;
- }
-
- void lock()
- {
- for( unsigned k = 0; !try_lock(); ++k )
- {
- boost::detail::yield( k );
- }
- }
-
- void unlock()
- {
- __sync_lock_release( &v_ );
- }
-
-public:
-
- class scoped_lock
- {
- private:
-
- spinlock & sp_;
-
- scoped_lock( scoped_lock const & );
- scoped_lock & operator=( scoped_lock const & );
-
- public:
-
- explicit scoped_lock( spinlock & sp ): sp_( sp )
- {
- sp.lock();
- }
-
- ~scoped_lock()
- {
- sp_.unlock();
- }
- };
-};
-
-} // namespace detail
-} // namespace boost
-
-#define BOOST_DETAIL_SPINLOCK_INIT {0}
-
-#endif // #ifndef BOOST_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/spinlock_w32.hpp b/src/libs/boost-1.37.0/boost/detail/spinlock_w32.hpp
deleted file mode 100644
index aa416c34..00000000
--- a/src/libs/boost-1.37.0/boost/detail/spinlock_w32.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-#ifndef BOOST_DETAIL_SPINLOCK_W32_HPP_INCLUDED
-#define BOOST_DETAIL_SPINLOCK_W32_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/detail/interlocked.hpp>
-#include <boost/detail/yield_k.hpp>
-
-// BOOST_COMPILER_FENCE
-
-#if defined(__INTEL_COMPILER)
-
-#define BOOST_COMPILER_FENCE __memory_barrier();
-
-#elif defined( _MSC_VER ) && _MSC_VER >= 1310
-
-extern "C" void _ReadWriteBarrier();
-#pragma intrinsic( _ReadWriteBarrier )
-
-#define BOOST_COMPILER_FENCE _ReadWriteBarrier();
-
-#elif defined(__GNUC__)
-
-#define BOOST_COMPILER_FENCE __asm__ __volatile__( "" : : : "memory" );
-
-#else
-
-#define BOOST_COMPILER_FENCE
-
-#endif
-
-//
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
- long v_;
-
-public:
-
- bool try_lock()
- {
- long r = BOOST_INTERLOCKED_EXCHANGE( &v_, 1 );
-
- BOOST_COMPILER_FENCE
-
- return r == 0;
- }
-
- void lock()
- {
- for( unsigned k = 0; !try_lock(); ++k )
- {
- boost::detail::yield( k );
- }
- }
-
- void unlock()
- {
- BOOST_COMPILER_FENCE
- *const_cast< long volatile* >( &v_ ) = 0;
- }
-
-public:
-
- class scoped_lock
- {
- private:
-
- spinlock & sp_;
-
- scoped_lock( scoped_lock const & );
- scoped_lock & operator=( scoped_lock const & );
-
- public:
-
- explicit scoped_lock( spinlock & sp ): sp_( sp )
- {
- sp.lock();
- }
-
- ~scoped_lock()
- {
- sp_.unlock();
- }
- };
-};
-
-} // namespace detail
-} // namespace boost
-
-#define BOOST_DETAIL_SPINLOCK_INIT {0}
-
-#endif // #ifndef BOOST_DETAIL_SPINLOCK_W32_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/detail/workaround.hpp b/src/libs/boost-1.37.0/boost/detail/workaround.hpp
deleted file mode 100644
index 4933a531..00000000
--- a/src/libs/boost-1.37.0/boost/detail/workaround.hpp
+++ /dev/null
@@ -1,202 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef WORKAROUND_DWA2002126_HPP
-# define WORKAROUND_DWA2002126_HPP
-
-// Compiler/library version workaround macro
-//
-// Usage:
-//
-// #if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-// // workaround for eVC4 and VC6
-// ... // workaround code here
-// #endif
-//
-// When BOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the
-// first argument must be undefined or expand to a numeric
-// value. The above expands to:
-//
-// (BOOST_MSVC) != 0 && (BOOST_MSVC) < 1300
-//
-// When used for workarounds that apply to the latest known version
-// and all earlier versions of a compiler, the following convention
-// should be observed:
-//
-// #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301))
-//
-// The version number in this case corresponds to the last version in
-// which the workaround was known to have been required. When
-// BOOST_DETECT_OUTDATED_WORKAROUNDS is not the defined, the macro
-// BOOST_TESTED_AT(x) expands to "!= 0", which effectively activates
-// the workaround for any version of the compiler. When
-// BOOST_DETECT_OUTDATED_WORKAROUNDS is defined, a compiler warning or
-// error will be issued if the compiler version exceeds the argument
-// to BOOST_TESTED_AT(). This can be used to locate workarounds which
-// may be obsoleted by newer versions.
-
-# ifndef BOOST_STRICT_CONFIG
-
-#include <boost/config.hpp>
-
-#ifndef __BORLANDC__
-#define __BORLANDC___WORKAROUND_GUARD 1
-#else
-#define __BORLANDC___WORKAROUND_GUARD 0
-#endif
-#ifndef __MSC_VER
-#define __MSC_VER_WORKAROUND_GUARD 1
-#else
-#define __MSC_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef _MSC_FULL_VER
-#define _MSC_FULL_VER_WORKAROUND_GUARD 1
-#else
-#define _MSC_FULL_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_MSVC
-#define BOOST_MSVC_WORKAROUND_GUARD 1
-#else
-#define BOOST_MSVC_WORKAROUND_GUARD 0
-#endif
-#ifndef __GNUC__
-#define __GNUC___WORKAROUND_GUARD 1
-#else
-#define __GNUC___WORKAROUND_GUARD 0
-#endif
-#ifndef __GNUC_MINOR__
-#define __GNUC_MINOR___WORKAROUND_GUARD 1
-#else
-#define __GNUC_MINOR___WORKAROUND_GUARD 0
-#endif
-#ifndef __GNUC_PATCHLEVEL__
-#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 1
-#else
-#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 0
-#endif
-#ifndef __IBMCPP__
-#define __IBMCPP___WORKAROUND_GUARD 1
-#else
-#define __IBMCPP___WORKAROUND_GUARD 0
-#endif
-#ifndef __SUNPRO_CC
-#define __SUNPRO_CC_WORKAROUND_GUARD 1
-#else
-#define __SUNPRO_CC_WORKAROUND_GUARD 0
-#endif
-#ifndef __DECCXX_VER
-#define __DECCXX_VER_WORKAROUND_GUARD 1
-#else
-#define __DECCXX_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef __MWERKS__
-#define __MWERKS___WORKAROUND_GUARD 1
-#else
-#define __MWERKS___WORKAROUND_GUARD 0
-#endif
-#ifndef __EDG_VERSION__
-#define __EDG_VERSION___WORKAROUND_GUARD 1
-#else
-#define __EDG_VERSION___WORKAROUND_GUARD 0
-#endif
-#ifndef __HP_aCC
-#define __HP_aCC_WORKAROUND_GUARD 1
-#else
-#define __HP_aCC_WORKAROUND_GUARD 0
-#endif
-#ifndef _CRAYC
-#define _CRAYC_WORKAROUND_GUARD 1
-#else
-#define _CRAYC_WORKAROUND_GUARD 0
-#endif
-#ifndef __DMC__
-#define __DMC___WORKAROUND_GUARD 1
-#else
-#define __DMC___WORKAROUND_GUARD 0
-#endif
-#ifndef MPW_CPLUS
-#define MPW_CPLUS_WORKAROUND_GUARD 1
-#else
-#define MPW_CPLUS_WORKAROUND_GUARD 0
-#endif
-
-#ifndef _RWSTD_VER
-#define _RWSTD_VER_WORKAROUND_GUARD 1
-#else
-#define _RWSTD_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
-#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 1
-#else
-#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 0
-#endif
-#ifndef __SGI_STL_PORT
-#define __SGI_STL_PORT_WORKAROUND_GUARD 1
-#else
-#define __SGI_STL_PORT_WORKAROUND_GUARD 0
-#endif
-#ifndef _STLPORT_VERSION
-#define _STLPORT_VERSION_WORKAROUND_GUARD 1
-#else
-#define _STLPORT_VERSION_WORKAROUND_GUARD 0
-#endif
-
-#ifndef BOOST_INTEL_CXX_VERSION
-#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 1
-#else
-#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_INTEL_WIN
-#define BOOST_INTEL_WIN_WORKAROUND_GUARD 1
-#else
-#define BOOST_INTEL_WIN_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_DINKUMWARE_STDLIB
-#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 1
-#else
-#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_INTEL
-#define BOOST_INTEL_WORKAROUND_GUARD 1
-#else
-#define BOOST_INTEL_WORKAROUND_GUARD 0
-#endif
-// Always define to zero, if it's used it'll be defined my MPL:
-#define BOOST_MPL_CFG_GCC_WORKAROUND_GUARD 0
-
-# define BOOST_WORKAROUND(symbol, test) \
- ((symbol ## _WORKAROUND_GUARD + 0 == 0) && \
- (symbol != 0) && (1 % (( (symbol test) ) + 1)))
-// ^ ^ ^ ^
-// The extra level of parenthesis nesting above, along with the
-// BOOST_OPEN_PAREN indirection below, is required to satisfy the
-// broken preprocessor in MWCW 8.3 and earlier.
-//
-// The basic mechanism works as follows:
-// (symbol test) + 1 => if (symbol test) then 2 else 1
-// 1 % ((symbol test) + 1) => if (symbol test) then 1 else 0
-//
-// The complication with % is for cooperation with BOOST_TESTED_AT().
-// When "test" is BOOST_TESTED_AT(x) and
-// BOOST_DETECT_OUTDATED_WORKAROUNDS is #defined,
-//
-// symbol test => if (symbol <= x) then 1 else -1
-// (symbol test) + 1 => if (symbol <= x) then 2 else 0
-// 1 % ((symbol test) + 1) => if (symbol <= x) then 1 else divide-by-zero
-//
-
-# ifdef BOOST_DETECT_OUTDATED_WORKAROUNDS
-# define BOOST_OPEN_PAREN (
-# define BOOST_TESTED_AT(value) > value) ?(-1): BOOST_OPEN_PAREN 1
-# else
-# define BOOST_TESTED_AT(value) != ((value)-(value))
-# endif
-
-# else
-
-# define BOOST_WORKAROUND(symbol, test) 0
-
-# endif
-
-#endif // WORKAROUND_DWA2002126_HPP
diff --git a/src/libs/boost-1.37.0/boost/detail/yield_k.hpp b/src/libs/boost-1.37.0/boost/detail/yield_k.hpp
deleted file mode 100644
index d97542d0..00000000
--- a/src/libs/boost-1.37.0/boost/detail/yield_k.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-#ifndef BOOST_DETAIL_YIELD_K_HPP_INCLUDED
-#define BOOST_DETAIL_YIELD_K_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/detail/yield_k.hpp
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// void yield( unsigned k );
-//
-// Typical use:
-//
-// for( unsigned k = 0; !try_lock(); ++k ) yield( k );
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt
-//
-
-#include <boost/config.hpp>
-
-// BOOST_SMT_PAUSE
-
-#if defined(_MSC_VER) && _MSC_VER >= 1310 && ( defined(_M_IX86) || defined(_M_X64) )
-
-extern "C" void _mm_pause();
-#pragma intrinsic( _mm_pause )
-
-#define BOOST_SMT_PAUSE _mm_pause();
-
-#elif defined(__GNUC__) && ( defined(__i386__) || defined(__x86_64__) )
-
-#define BOOST_SMT_PAUSE __asm__ __volatile__( "rep; nop" : : : "memory" );
-
-#endif
-
-//
-
-#if defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
-
-#if defined( BOOST_USE_WINDOWS_H )
-# include <windows.h>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if !defined( BOOST_USE_WINDOWS_H )
- extern "C" void __stdcall Sleep( unsigned ms );
-#endif
-
-inline void yield( unsigned k )
-{
- if( k < 4 )
- {
- }
-#if defined( BOOST_SMT_PAUSE )
- else if( k < 16 )
- {
- BOOST_SMT_PAUSE
- }
-#endif
- else if( k < 32 )
- {
- Sleep( 0 );
- }
- else
- {
- Sleep( 1 );
- }
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#elif defined( BOOST_HAS_PTHREADS )
-
-#include <sched.h>
-#include <time.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void yield( unsigned k )
-{
- if( k < 4 )
- {
- }
-#if defined( BOOST_SMT_PAUSE )
- else if( k < 16 )
- {
- BOOST_SMT_PAUSE
- }
-#endif
- else if( k < 32 || k & 1 )
- {
- sched_yield();
- }
- else
- {
- // g++ -Wextra warns on {} or {0}
- struct timespec rqtp = { 0, 0 };
-
- // POSIX says that timespec has tv_sec and tv_nsec
- // But it doesn't guarantee order or placement
-
- rqtp.tv_sec = 0;
- rqtp.tv_nsec = 1000;
-
- nanosleep( &rqtp, 0 );
- }
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#else
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void yield( unsigned )
-{
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#endif
-
-#endif // #ifndef BOOST_DETAIL_YIELD_K_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/exception/detail/error_info_impl.hpp b/src/libs/boost-1.37.0/boost/exception/detail/error_info_impl.hpp
deleted file mode 100644
index 7a57b8bd..00000000
--- a/src/libs/boost-1.37.0/boost/exception/detail/error_info_impl.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_CE6983AC753411DDA764247956D89593
-#define UUID_CE6983AC753411DDA764247956D89593
-
-#include <string>
-
-namespace
-boost
- {
- namespace
- exception_detail
- {
- class
- error_info_base
- {
- public:
-
- virtual char const * tag_typeid_name() const = 0;
- virtual std::string value_as_string() const = 0;
-
- protected:
-
- virtual
- ~error_info_base() throw()
- {
- }
- };
- }
-
- template <class Tag,class T>
- class
- error_info:
- public exception_detail::error_info_base
- {
- public:
-
- typedef T value_type;
-
- error_info( value_type const & value );
- ~error_info() throw();
-
- value_type const &
- value() const
- {
- return value_;
- }
-
- private:
-
- char const * tag_typeid_name() const;
- std::string value_as_string() const;
-
- value_type const value_;
- };
- }
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/exception/detail/is_output_streamable.hpp b/src/libs/boost-1.37.0/boost/exception/detail/is_output_streamable.hpp
deleted file mode 100644
index 57376bf3..00000000
--- a/src/libs/boost-1.37.0/boost/exception/detail/is_output_streamable.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_898984B4076411DD973EDFA055D89593
-#define UUID_898984B4076411DD973EDFA055D89593
-
-#include <ostream>
-
-namespace
-boost
- {
- namespace
- to_string_detail
- {
- template <class T,class CharT,class Traits>
- char operator<<( std::basic_ostream<CharT,Traits> &, T const & );
-
- template <class T,class CharT,class Traits>
- struct
- is_output_streamable_impl
- {
- static std::basic_ostream<CharT,Traits> & f();
- static T const & g();
- enum e { value=1!=(sizeof(f()<<g())) };
- };
- }
-
- template <class T, class CharT=char, class Traits=std::char_traits<CharT> >
- struct
- is_output_streamable
- {
- enum e { value=to_string_detail::is_output_streamable_impl<T,CharT,Traits>::value };
- };
- }
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/exception/detail/object_hex_dump.hpp b/src/libs/boost-1.37.0/boost/exception/detail/object_hex_dump.hpp
deleted file mode 100644
index a6221b6d..00000000
--- a/src/libs/boost-1.37.0/boost/exception/detail/object_hex_dump.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_6F463AC838DF11DDA3E6909F56D89593
-#define UUID_6F463AC838DF11DDA3E6909F56D89593
-
-#include <boost/exception/detail/type_info.hpp>
-#include <iomanip>
-#include <ios>
-#include <string>
-#include <sstream>
-
-namespace
-boost
- {
- namespace
- exception_detail
- {
- template <class T>
- inline
- std::string
- object_hex_dump( T const & x, size_t max_size=16 )
- {
- std::ostringstream s;
- s << "type: " << type_name<T>() << ", size: " << sizeof(T) << ", dump: ";
- size_t n=sizeof(T)>max_size?max_size:sizeof(T);
- s.fill('0');
- s.width(2);
- unsigned char const * b=reinterpret_cast<unsigned char const *>(&x);
- s << std::setw(2) << std::hex << (unsigned int)*b;
- for( unsigned char const * e=b+n; ++b!=e; )
- s << " " << std::setw(2) << std::hex << (unsigned int)*b;
- return s.str();
- }
- }
- }
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/exception/detail/type_info.hpp b/src/libs/boost-1.37.0/boost/exception/detail/type_info.hpp
deleted file mode 100644
index 97bf7261..00000000
--- a/src/libs/boost-1.37.0/boost/exception/detail/type_info.hpp
+++ /dev/null
@@ -1,130 +0,0 @@
-//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_C3E1741C754311DDB2834CCA55D89593
-#define UUID_C3E1741C754311DDB2834CCA55D89593
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <boost/current_function.hpp>
-
-namespace
-boost
- {
- template <class T>
- inline
- char const *
- tag_type_name()
- {
-#ifdef BOOST_NO_TYPEID
- return BOOST_CURRENT_FUNCTION;
-#else
- return typeid(T*).name();
-#endif
- }
-
- template <class T>
- inline
- char const *
- type_name()
- {
-#ifdef BOOST_NO_TYPEID
- return BOOST_CURRENT_FUNCTION;
-#else
- return typeid(T).name();
-#endif
- }
-
- namespace
- exception_detail
- {
-#ifdef BOOST_NO_TYPEID
- struct
- type_info_
- {
- detail::sp_typeinfo type_;
- char const * name_;
-
- explicit
- type_info_( detail::sp_typeinfo type, char const * name ):
- type_(type),
- name_(name)
- {
- }
-
- friend
- bool
- operator==( type_info_ const & a, type_info_ const & b )
- {
- return a.type_==b.type_;
- }
-
- friend
- bool
- operator<( type_info_ const & a, type_info_ const & b )
- {
- return a.type_<b.type_;
- }
-
- char const *
- name() const
- {
- return name_;
- }
- };
-#else
- struct
- type_info_
- {
- detail::sp_typeinfo const * type_;
-
- explicit
- type_info_( detail::sp_typeinfo const & type ):
- type_(&type)
- {
- }
-
- type_info_( detail::sp_typeinfo const & type, char const * ):
- type_(&type)
- {
- }
-
- friend
- bool
- operator==( type_info_ const & a, type_info_ const & b )
- {
- return (*a.type_)==(*b.type_);
- }
-
- friend
- bool
- operator<( type_info_ const & a, type_info_ const & b )
- {
- return 0!=(a.type_->before(*b.type_));
- }
-
- char const *
- name() const
- {
- return type_->name();
- }
- };
-#endif
-
- inline
- bool
- operator!=( type_info_ const & a, type_info_ const & b )
- {
- return !(a==b);
- }
- }
- }
-
-#define BOOST_EXCEPTION_STATIC_TYPEID(T) ::boost::exception_detail::type_info_(BOOST_SP_TYPEID(T),::boost::tag_type_name<T>())
-
-#ifndef BOOST_NO_RTTI
-#define BOOST_EXCEPTION_DYNAMIC_TYPEID(x) ::boost::exception_detail::type_info_(typeid(x))
-#endif
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/exception/diagnostic_information.hpp b/src/libs/boost-1.37.0/boost/exception/diagnostic_information.hpp
deleted file mode 100644
index 99273bcf..00000000
--- a/src/libs/boost-1.37.0/boost/exception/diagnostic_information.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_0552D49838DD11DD90146B8956D89593
-#define UUID_0552D49838DD11DD90146B8956D89593
-
-#include <boost/exception/get_error_info.hpp>
-#include <exception>
-#include <sstream>
-#include <string>
-
-namespace
-boost
- {
- namespace
- exception_detail
- {
- inline
- char const *
- get_diagnostic_information( exception const & x )
- {
- if( error_info_container * c=x.data_.get() )
- try
- {
- return c->diagnostic_information();
- }
- catch(...)
- {
- }
- return 0;
- }
- }
-
- inline
- std::string
- diagnostic_information( exception const & x )
- {
- std::ostringstream tmp;
- if( boost::shared_ptr<char const * const> f=get_error_info<throw_file>(x) )
- {
- tmp << *f;
- if( boost::shared_ptr<int const> l=get_error_info<throw_line>(x) )
- tmp << '(' << *l << "): ";
- }
- tmp << "Throw in function ";
- if( boost::shared_ptr<char const * const> fn=get_error_info<throw_function>(x) )
- tmp << *fn;
- else
- tmp << "(unknown)";
-#ifndef BOOST_NO_RTTI
- tmp << "\nDynamic exception type: " << BOOST_EXCEPTION_DYNAMIC_TYPEID(x).name();
- if( std::exception const * e=dynamic_cast<std::exception const *>(&x) )
- tmp << "\nstd::exception::what: " << e->what();
-#endif
- if( char const * s=exception_detail::get_diagnostic_information(x) )
- if( *s )
- tmp << '\n' << s;
- return tmp.str();
- }
- }
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/exception/enable_current_exception.hpp b/src/libs/boost-1.37.0/boost/exception/enable_current_exception.hpp
deleted file mode 100644
index 7e6403b8..00000000
--- a/src/libs/boost-1.37.0/boost/exception/enable_current_exception.hpp
+++ /dev/null
@@ -1,6 +0,0 @@
-//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/exception/exception.hpp>
diff --git a/src/libs/boost-1.37.0/boost/exception/enable_error_info.hpp b/src/libs/boost-1.37.0/boost/exception/enable_error_info.hpp
deleted file mode 100644
index 7e6403b8..00000000
--- a/src/libs/boost-1.37.0/boost/exception/enable_error_info.hpp
+++ /dev/null
@@ -1,6 +0,0 @@
-//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/exception/exception.hpp>
diff --git a/src/libs/boost-1.37.0/boost/exception/error_info.hpp b/src/libs/boost-1.37.0/boost/exception/error_info.hpp
deleted file mode 100644
index d80bf399..00000000
--- a/src/libs/boost-1.37.0/boost/exception/error_info.hpp
+++ /dev/null
@@ -1,6 +0,0 @@
-//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-namespace boost { template <class Tag,class T> class error_info; }
diff --git a/src/libs/boost-1.37.0/boost/exception/exception.hpp b/src/libs/boost-1.37.0/boost/exception/exception.hpp
deleted file mode 100644
index 53e6ed0c..00000000
--- a/src/libs/boost-1.37.0/boost/exception/exception.hpp
+++ /dev/null
@@ -1,396 +0,0 @@
-//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_274DA366004E11DCB1DDFE2E56D89593
-#define UUID_274DA366004E11DCB1DDFE2E56D89593
-
-namespace
-boost
- {
- namespace
- exception_detail
- {
- template <class T>
- class
- refcount_ptr
- {
- public:
-
- refcount_ptr():
- px_(0)
- {
- }
-
- ~refcount_ptr()
- {
- release();
- }
-
- refcount_ptr( refcount_ptr const & x ):
- px_(x.px_)
- {
- add_ref();
- }
-
- refcount_ptr &
- operator=( refcount_ptr const & x )
- {
- adopt(x.px_);
- return *this;
- }
-
- void
- adopt( T * px )
- {
- release();
- px_=px;
- add_ref();
- }
-
- T *
- get() const
- {
- return px_;
- }
-
- private:
-
- T * px_;
-
- void
- add_ref()
- {
- if( px_ )
- px_->add_ref();
- }
-
- void
- release()
- {
- if( px_ )
- px_->release();
- }
- };
- }
-
- ////////////////////////////////////////////////////////////////////////
-
- template <class Tag,class T>
- class error_info;
-
- typedef error_info<struct tag_throw_function,char const *> throw_function;
- typedef error_info<struct tag_throw_file,char const *> throw_file;
- typedef error_info<struct tag_throw_line,int> throw_line;
-
- template <>
- class
- error_info<tag_throw_function,char const *>
- {
- public:
- typedef char const * value_type;
- value_type v_;
- explicit
- error_info( value_type v ):
- v_(v)
- {
- }
- };
-
- template <>
- class
- error_info<tag_throw_file,char const *>
- {
- public:
- typedef char const * value_type;
- value_type v_;
- explicit
- error_info( value_type v ):
- v_(v)
- {
- }
- };
-
- template <>
- class
- error_info<tag_throw_line,int>
- {
- public:
- typedef int value_type;
- value_type v_;
- explicit
- error_info( value_type v ):
- v_(v)
- {
- }
- };
-
- template <class E,class Tag,class T>
- E const & operator<<( E const &, error_info<Tag,T> const & );
-
- class exception;
-
- template <class>
- class shared_ptr;
-
- namespace
- exception_detail
- {
- class error_info_base;
- struct type_info_;
-
- struct
- error_info_container
- {
- virtual char const * diagnostic_information() const = 0;
- virtual shared_ptr<error_info_base const> get( type_info_ const & ) const = 0;
- virtual void set( shared_ptr<error_info_base const> const &, type_info_ const & ) = 0;
- virtual void add_ref() const = 0;
- virtual void release() const = 0;
-
- protected:
-
- virtual
- ~error_info_container() throw()
- {
- }
- };
-
- template <class>
- struct get_info;
-
- template <>
- struct get_info<throw_function>;
-
- template <>
- struct get_info<throw_file>;
-
- template <>
- struct get_info<throw_line>;
-
- char const * get_diagnostic_information( exception const & );
- }
-
- class
- exception
- {
- protected:
-
- exception():
- throw_function_(0),
- throw_file_(0),
- throw_line_(-1)
- {
- }
-
-#ifdef __HP_aCC
- //On HP aCC, this protected copy constructor prevents throwing boost::exception.
- //On all other platforms, the same effect is achieved by the pure virtual destructor.
- exception( exception const & x ) throw():
- data_(x.data_),
- throw_function_(x.throw_function_),
- throw_file_(x.throw_file_),
- throw_line_(x.throw_line_)
- {
- }
-#endif
-
- virtual ~exception() throw()
-#ifndef __HP_aCC
- = 0 //Workaround for HP aCC, =0 incorrectly leads to link errors.
-#endif
- ;
-
- private:
-
- template <class E>
- friend
- E const &
- operator<<( E const & x, throw_function const & y )
- {
- x.throw_function_=y.v_;
- return x;
- }
-
- template <class E>
- friend
- E const &
- operator<<( E const & x, throw_file const & y )
- {
- x.throw_file_=y.v_;
- return x;
- }
-
- template <class E>
- friend
- E const &
- operator<<( E const & x, throw_line const & y )
- {
- x.throw_line_=y.v_;
- return x;
- }
-
- friend char const * exception_detail::get_diagnostic_information( exception const & );
-
- template <class E,class Tag,class T>
- friend E const & operator<<( E const &, error_info<Tag,T> const & );
-
- template <class>
- friend struct exception_detail::get_info;
- friend struct exception_detail::get_info<throw_function>;
- friend struct exception_detail::get_info<throw_file>;
- friend struct exception_detail::get_info<throw_line>;
-
- mutable exception_detail::refcount_ptr<exception_detail::error_info_container> data_;
- mutable char const * throw_function_;
- mutable char const * throw_file_;
- mutable int throw_line_;
- };
-
- inline
- exception::
- ~exception() throw()
- {
- }
-
- ////////////////////////////////////////////////////////////////////////
-
- namespace
- exception_detail
- {
- template <class T>
- struct
- error_info_injector:
- public T,
- public exception
- {
- explicit
- error_info_injector( T const & x ):
- T(x)
- {
- }
-
- ~error_info_injector() throw()
- {
- }
- };
-
- struct large_size { char c[256]; };
- large_size dispatch( exception * );
-
- struct small_size { };
- small_size dispatch( void * );
-
- template <class,int>
- struct enable_error_info_helper;
-
- template <class T>
- struct
- enable_error_info_helper<T,sizeof(large_size)>
- {
- typedef T type;
- };
-
- template <class T>
- struct
- enable_error_info_helper<T,sizeof(small_size)>
- {
- typedef error_info_injector<T> type;
- };
-
- template <class T>
- struct
- enable_error_info_return_type
- {
- typedef typename enable_error_info_helper<T,sizeof(dispatch((T*)0))>::type type;
- };
- }
-
- template <class T>
- inline
- typename
- exception_detail::enable_error_info_return_type<T>::type
- enable_error_info( T const & x )
- {
- typedef typename exception_detail::enable_error_info_return_type<T>::type rt;
- return rt(x);
- }
-
- ////////////////////////////////////////////////////////////////////////
-
- namespace
- exception_detail
- {
- class
- clone_base
- {
- public:
-
- virtual clone_base const * clone() const = 0;
- virtual void rethrow() const = 0;
-
- virtual
- ~clone_base() throw()
- {
- }
- };
-
- inline
- void
- copy_boost_exception( exception * a, exception const * b )
- {
- *a = *b;
- }
-
- inline
- void
- copy_boost_exception( void *, void const * )
- {
- }
-
- template <class T>
- class
- clone_impl:
- public T,
- public clone_base
- {
- public:
-
- explicit
- clone_impl( T const & x ):
- T(x)
- {
- copy_boost_exception(this,&x);
- }
-
- ~clone_impl() throw()
- {
- }
-
- private:
-
- clone_base const *
- clone() const
- {
- return new clone_impl(*this);
- }
-
- void
- rethrow() const
- {
- throw*this;
- }
- };
- }
-
- template <class T>
- inline
- exception_detail::clone_impl<T>
- enable_current_exception( T const & x )
- {
- return exception_detail::clone_impl<T>(x);
- }
- }
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/exception/get_error_info.hpp b/src/libs/boost-1.37.0/boost/exception/get_error_info.hpp
deleted file mode 100644
index e45d3d6e..00000000
--- a/src/libs/boost-1.37.0/boost/exception/get_error_info.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_1A590226753311DD9E4CCF6156D89593
-#define UUID_1A590226753311DD9E4CCF6156D89593
-
-#include <boost/exception/exception.hpp>
-#include <boost/exception/detail/error_info_impl.hpp>
-#include <boost/exception/detail/type_info.hpp>
-#include <boost/shared_ptr.hpp>
-
-namespace
-boost
- {
- namespace
- exception_detail
- {
- struct
- strwrap
- {
- std::string str;
- char const * ptr;
-
- explicit
- strwrap( char const * s ):
- str(s),
- ptr(&str[0])
- {
- }
-
- private:
-
- strwrap( strwrap const & );
- strwrap & operator=( strwrap const & );
- };
-
- template <>
- struct
- get_info<throw_function>
- {
- static
- shared_ptr<char const * const>
- get( exception const & x )
- {
- if( x.throw_function_ && *x.throw_function_ )
- {
- shared_ptr<strwrap> s(new strwrap(x.throw_function_));
- return shared_ptr<char const *>(s,&s->ptr);
- }
- else
- return shared_ptr<char const * const>();
- }
- };
-
- template <>
- struct
- get_info<throw_file>
- {
- static
- shared_ptr<char const * const>
- get( exception const & x )
- {
- if( x.throw_file_ && *x.throw_file_ )
- {
- shared_ptr<strwrap> s(new strwrap(x.throw_file_));
- return shared_ptr<char const *>(s,&s->ptr);
- }
- else
- return shared_ptr<char const * const>();
- }
- };
-
- template <>
- struct
- get_info<throw_line>
- {
- static
- shared_ptr<int const>
- get( exception const & x )
- {
- if( x.throw_line_!=-1 )
- return boost::shared_ptr<int>(new int(x.throw_line_));
- else
- return shared_ptr<int const>();
- }
- };
-
- template <class ErrorInfo>
- struct
- get_info
- {
- static
- shared_ptr<typename ErrorInfo::value_type const>
- get( exception const & x )
- {
- if( exception_detail::error_info_container * c=x.data_.get() )
- if( shared_ptr<exception_detail::error_info_base const> eib = c->get(BOOST_EXCEPTION_STATIC_TYPEID(ErrorInfo)) )
- {
-#ifndef BOOST_NO_RTTI
- BOOST_ASSERT( 0!=dynamic_cast<ErrorInfo const *>(eib.get()) );
-#endif
- ErrorInfo const * w = static_cast<ErrorInfo const *>(eib.get());
- return shared_ptr<typename ErrorInfo::value_type const>(eib,&w->value());
- }
- return shared_ptr<typename ErrorInfo::value_type const>();
- }
- };
- }
-
-#ifdef BOOST_NO_RTTI
- template <class ErrorInfo>
- inline
- shared_ptr<typename ErrorInfo::value_type const>
- get_error_info( boost::exception const & x )
- {
- return exception_detail::get_info<ErrorInfo>::get(x);
- }
-#else
- template <class ErrorInfo,class E>
- inline
- shared_ptr<typename ErrorInfo::value_type const>
- get_error_info( E const & some_exception )
- {
- if( exception const * x = dynamic_cast<exception const *>(&some_exception) )
- return exception_detail::get_info<ErrorInfo>::get(*x);
- else
- return shared_ptr<typename ErrorInfo::value_type const>();
- }
-#endif
- }
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/exception/info.hpp b/src/libs/boost-1.37.0/boost/exception/info.hpp
deleted file mode 100644
index a0892c9c..00000000
--- a/src/libs/boost-1.37.0/boost/exception/info.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_8D22C4CA9CC811DCAA9133D256D89593
-#define UUID_8D22C4CA9CC811DCAA9133D256D89593
-
-#include <boost/exception/exception.hpp>
-#include <boost/exception/to_string_stub.hpp>
-#include <boost/exception/detail/error_info_impl.hpp>
-#include <boost/shared_ptr.hpp>
-#include <map>
-
-namespace
-boost
- {
- template <class Tag,class T>
- inline
- error_info<Tag,T>::
- error_info( value_type const & value ):
- value_(value)
- {
- }
-
- template <class Tag,class T>
- inline
- error_info<Tag,T>::
- ~error_info() throw()
- {
- }
-
- template <class Tag,class T>
- inline
- char const *
- error_info<Tag,T>::
- tag_typeid_name() const
- {
- return tag_type_name<Tag>();
- }
-
- template <class Tag,class T>
- inline
- std::string
- error_info<Tag,T>::
- value_as_string() const
- {
- return to_string_stub(value_);
- }
-
- namespace
- exception_detail
- {
- class
- error_info_container_impl:
- public error_info_container
- {
- public:
-
- error_info_container_impl():
- count_(0)
- {
- }
-
- ~error_info_container_impl() throw()
- {
- }
-
- void
- set( shared_ptr<error_info_base const> const & x, type_info_ const & typeid_ )
- {
- BOOST_ASSERT(x);
- info_[typeid_] = x;
- diagnostic_info_str_.clear();
- }
-
- shared_ptr<error_info_base const>
- get( type_info_ const & ti ) const
- {
- error_info_map::const_iterator i=info_.find(ti);
- if( info_.end()!=i )
- {
- shared_ptr<error_info_base const> const & p = i->second;
-#ifndef BOOST_NO_RTTI
- BOOST_ASSERT( BOOST_EXCEPTION_DYNAMIC_TYPEID(*p)==ti );
-#endif
- return p;
- }
- return shared_ptr<error_info_base const>();
- }
-
- char const *
- diagnostic_information() const
- {
- if( diagnostic_info_str_.empty() )
- {
- std::string tmp;
- for( error_info_map::const_iterator i=info_.begin(),end=info_.end(); i!=end; ++i )
- {
- shared_ptr<error_info_base const> const & x = i->second;
- tmp += '[';
- tmp += x->tag_typeid_name();
- tmp += "] = ";
- tmp += x->value_as_string();
- tmp += '\n';
- }
- diagnostic_info_str_.swap(tmp);
- }
- return diagnostic_info_str_.c_str();
- }
-
- private:
-
- friend class boost::exception;
-
- typedef std::map< type_info_, shared_ptr<error_info_base const> > error_info_map;
- error_info_map info_;
- mutable std::string diagnostic_info_str_;
- mutable int count_;
-
- void
- add_ref() const
- {
- ++count_;
- }
-
- void
- release() const
- {
- if( !--count_ )
- delete this;
- }
- };
- }
-
- template <class E,class Tag,class T>
- inline
- E const &
- operator<<( E const & x, error_info<Tag,T> const & v )
- {
- typedef error_info<Tag,T> error_info_tag_t;
- shared_ptr<error_info_tag_t> p( new error_info_tag_t(v) );
- exception_detail::error_info_container * c;
- if( !(c=x.data_.get()) )
- x.data_.adopt(c=new exception_detail::error_info_container_impl);
- c->set(p,BOOST_EXCEPTION_STATIC_TYPEID(error_info_tag_t));
- return x;
- }
- }
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/exception/info_tuple.hpp b/src/libs/boost-1.37.0/boost/exception/info_tuple.hpp
deleted file mode 100644
index 3c8197a7..00000000
--- a/src/libs/boost-1.37.0/boost/exception/info_tuple.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_63EE924290FB11DC87BB856555D89593
-#define UUID_63EE924290FB11DC87BB856555D89593
-
-#include <boost/exception/info.hpp>
-#include <boost/tuple/tuple.hpp>
-
-namespace
-boost
- {
- template <
- class E,
- class Tag1,class T1,
- class Tag2,class T2 >
- inline
- E const &
- operator<<(
- E const & x,
- tuple<
- error_info<Tag1,T1>,
- error_info<Tag2,T2> > const & v )
- {
- return x << v.template get<0>() << v.template get<1>();
- }
-
- template <
- class E,
- class Tag1,class T1,
- class Tag2,class T2,
- class Tag3,class T3 >
- inline
- E const &
- operator<<(
- E const & x,
- tuple<
- error_info<Tag1,T1>,
- error_info<Tag2,T2>,
- error_info<Tag3,T3> > const & v )
- {
- return x << v.template get<0>() << v.template get<1>() << v.template get<2>();
- }
-
- template <
- class E,
- class Tag1,class T1,
- class Tag2,class T2,
- class Tag3,class T3,
- class Tag4,class T4 >
- inline
- E const &
- operator<<(
- E const & x,
- tuple<
- error_info<Tag1,T1>,
- error_info<Tag2,T2>,
- error_info<Tag3,T3>,
- error_info<Tag4,T4> > const & v )
- {
- return x << v.template get<0>() << v.template get<1>() << v.template get<2>() << v.template get<3>();
- }
- }
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/exception/to_string.hpp b/src/libs/boost-1.37.0/boost/exception/to_string.hpp
deleted file mode 100644
index e10cbfde..00000000
--- a/src/libs/boost-1.37.0/boost/exception/to_string.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_7E48761AD92811DC9011477D56D89593
-#define UUID_7E48761AD92811DC9011477D56D89593
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/exception/detail/is_output_streamable.hpp>
-#include <sstream>
-
-namespace
-boost
- {
- namespace
- to_string_detail
- {
- template <class T>
- typename disable_if<is_output_streamable<T>,char>::type to_string( T const & );
-
- template <class,bool IsOutputStreamable>
- struct has_to_string_impl;
-
- template <class T>
- struct
- has_to_string_impl<T,true>
- {
- enum e { value=1 };
- };
-
- template <class T>
- struct
- has_to_string_impl<T,false>
- {
- static T const & f();
- enum e { value=1!=sizeof(to_string(f())) };
- };
- }
-
- template <class T>
- inline
- typename enable_if<is_output_streamable<T>,std::string>::type
- to_string( T const & x )
- {
- std::ostringstream out;
- out << x;
- return out.str();
- }
-
- template <class T>
- struct
- has_to_string
- {
- enum e { value=to_string_detail::has_to_string_impl<T,is_output_streamable<T>::value>::value };
- };
-
- template <class T,class U>
- inline
- std::string
- to_string( std::pair<T,U> const & x )
- {
- return std::string("(") + to_string(x.first) + ',' + to_string(x.second) + ')';
- }
-
- inline
- std::string
- to_string( std::exception const & x )
- {
- return x.what();
- }
- }
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/exception/to_string_stub.hpp b/src/libs/boost-1.37.0/boost/exception/to_string_stub.hpp
deleted file mode 100644
index 1cd08bbc..00000000
--- a/src/libs/boost-1.37.0/boost/exception/to_string_stub.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_E788439ED9F011DCB181F25B55D89593
-#define UUID_E788439ED9F011DCB181F25B55D89593
-
-#include <boost/exception/to_string.hpp>
-#include <boost/exception/detail/object_hex_dump.hpp>
-#include <boost/assert.hpp>
-
-namespace
-boost
- {
- namespace
- exception_detail
- {
- template <bool ToStringAvailable>
- struct
- to_string_dispatcher
- {
- template <class T,class Stub>
- static
- std::string
- convert( T const & x, Stub )
- {
- return to_string(x);
- }
- };
-
- template <>
- struct
- to_string_dispatcher<false>
- {
- template <class T,class Stub>
- static
- std::string
- convert( T const & x, Stub s )
- {
- return s(x);
- }
-
- template <class T>
- static
- std::string
- convert( T const & x, std::string s )
- {
- return s;
- }
-
- template <class T>
- static
- std::string
- convert( T const & x, char const * s )
- {
- BOOST_ASSERT(s!=0);
- return s;
- }
- };
-
- namespace
- to_string_dispatch
- {
- template <class T,class Stub>
- inline
- std::string
- dispatch( T const & x, Stub s )
- {
- return to_string_dispatcher<has_to_string<T>::value>::convert(x,s);
- }
- }
-
- template <class T>
- inline
- std::string
- string_stub_dump( T const & x )
- {
- return "[ " + exception_detail::object_hex_dump(x) + " ]";
- }
- }
-
- template <class T>
- inline
- std::string
- to_string_stub( T const & x )
- {
- return exception_detail::to_string_dispatch::dispatch(x,&exception_detail::string_stub_dump<T>);
- }
-
- template <class T,class Stub>
- inline
- std::string
- to_string_stub( T const & x, Stub s )
- {
- return exception_detail::to_string_dispatch::dispatch(x,s);
- }
- }
-
-#endif
diff --git a/src/libs/boost-1.37.0/boost/intrusive_ptr.hpp b/src/libs/boost-1.37.0/boost/intrusive_ptr.hpp
deleted file mode 100644
index 338e672f..00000000
--- a/src/libs/boost-1.37.0/boost/intrusive_ptr.hpp
+++ /dev/null
@@ -1,311 +0,0 @@
-#ifndef BOOST_INTRUSIVE_PTR_HPP_INCLUDED
-#define BOOST_INTRUSIVE_PTR_HPP_INCLUDED
-
-//
-// intrusive_ptr.hpp
-//
-// Copyright (c) 2001, 2002 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/smart_ptr/intrusive_ptr.html for documentation.
-//
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_MSVC // moved here to work around VC++ compiler crash
-# pragma warning(push)
-# pragma warning(disable:4284) // odd return type for operator->
-#endif
-
-#include <boost/assert.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/detail/sp_convertible.hpp>
-
-#include <boost/config/no_tr1/functional.hpp> // for std::less
-
-#if !defined(BOOST_NO_IOSTREAM)
-#if !defined(BOOST_NO_IOSFWD)
-#include <iosfwd> // for std::basic_ostream
-#else
-#include <ostream>
-#endif
-#endif
-
-
-namespace boost
-{
-
-//
-// intrusive_ptr
-//
-// A smart pointer that uses intrusive reference counting.
-//
-// Relies on unqualified calls to
-//
-// void intrusive_ptr_add_ref(T * p);
-// void intrusive_ptr_release(T * p);
-//
-// (p != 0)
-//
-// The object is responsible for destroying itself.
-//
-
-template<class T> class intrusive_ptr
-{
-private:
-
- typedef intrusive_ptr this_type;
-
-public:
-
- typedef T element_type;
-
- intrusive_ptr(): p_(0)
- {
- }
-
- intrusive_ptr(T * p, bool add_ref = true): p_(p)
- {
- if(p_ != 0 && add_ref) intrusive_ptr_add_ref(p_);
- }
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATES) || defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-
- template<class U>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
- intrusive_ptr( intrusive_ptr<U> const & rhs, typename detail::sp_enable_if_convertible<U,T>::type = detail::sp_empty() )
-
-#else
-
- intrusive_ptr( intrusive_ptr<U> const & rhs )
-
-#endif
- : p_( rhs.get() )
- {
- if( p_ != 0 ) intrusive_ptr_add_ref( p_ );
- }
-
-#endif
-
- intrusive_ptr(intrusive_ptr const & rhs): p_(rhs.p_)
- {
- if(p_ != 0) intrusive_ptr_add_ref(p_);
- }
-
- ~intrusive_ptr()
- {
- if(p_ != 0) intrusive_ptr_release(p_);
- }
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATES) || defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-
- template<class U> intrusive_ptr & operator=(intrusive_ptr<U> const & rhs)
- {
- this_type(rhs).swap(*this);
- return *this;
- }
-
-#endif
-
- intrusive_ptr & operator=(intrusive_ptr const & rhs)
- {
- this_type(rhs).swap(*this);
- return *this;
- }
-
- intrusive_ptr & operator=(T * rhs)
- {
- this_type(rhs).swap(*this);
- return *this;
- }
-
- void reset()
- {
- this_type().swap( *this );
- }
-
- void reset( T * rhs )
- {
- this_type( rhs ).swap( *this );
- }
-
- T * get() const
- {
- return p_;
- }
-
- T & operator*() const
- {
- BOOST_ASSERT( p_ != 0 );
- return *p_;
- }
-
- T * operator->() const
- {
- BOOST_ASSERT( p_ != 0 );
- return p_;
- }
-
-#if defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x530)
-
- operator bool () const
- {
- return p_ != 0;
- }
-
-#elif defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
- typedef T * (this_type::*unspecified_bool_type)() const;
-
- operator unspecified_bool_type() const // never throws
- {
- return p_ == 0? 0: &this_type::get;
- }
-
-#else
-
- typedef T * this_type::*unspecified_bool_type;
-
- operator unspecified_bool_type () const
- {
- return p_ == 0? 0: &this_type::p_;
- }
-
-#endif
-
- // operator! is a Borland-specific workaround
- bool operator! () const
- {
- return p_ == 0;
- }
-
- void swap(intrusive_ptr & rhs)
- {
- T * tmp = p_;
- p_ = rhs.p_;
- rhs.p_ = tmp;
- }
-
-private:
-
- T * p_;
-};
-
-template<class T, class U> inline bool operator==(intrusive_ptr<T> const & a, intrusive_ptr<U> const & b)
-{
- return a.get() == b.get();
-}
-
-template<class T, class U> inline bool operator!=(intrusive_ptr<T> const & a, intrusive_ptr<U> const & b)
-{
- return a.get() != b.get();
-}
-
-template<class T, class U> inline bool operator==(intrusive_ptr<T> const & a, U * b)
-{
- return a.get() == b;
-}
-
-template<class T, class U> inline bool operator!=(intrusive_ptr<T> const & a, U * b)
-{
- return a.get() != b;
-}
-
-template<class T, class U> inline bool operator==(T * a, intrusive_ptr<U> const & b)
-{
- return a == b.get();
-}
-
-template<class T, class U> inline bool operator!=(T * a, intrusive_ptr<U> const & b)
-{
- return a != b.get();
-}
-
-#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96
-
-// Resolve the ambiguity between our op!= and the one in rel_ops
-
-template<class T> inline bool operator!=(intrusive_ptr<T> const & a, intrusive_ptr<T> const & b)
-{
- return a.get() != b.get();
-}
-
-#endif
-
-template<class T> inline bool operator<(intrusive_ptr<T> const & a, intrusive_ptr<T> const & b)
-{
- return std::less<T *>()(a.get(), b.get());
-}
-
-template<class T> void swap(intrusive_ptr<T> & lhs, intrusive_ptr<T> & rhs)
-{
- lhs.swap(rhs);
-}
-
-// mem_fn support
-
-template<class T> T * get_pointer(intrusive_ptr<T> const & p)
-{
- return p.get();
-}
-
-template<class T, class U> intrusive_ptr<T> static_pointer_cast(intrusive_ptr<U> const & p)
-{
- return static_cast<T *>(p.get());
-}
-
-template<class T, class U> intrusive_ptr<T> const_pointer_cast(intrusive_ptr<U> const & p)
-{
- return const_cast<T *>(p.get());
-}
-
-template<class T, class U> intrusive_ptr<T> dynamic_pointer_cast(intrusive_ptr<U> const & p)
-{
- return dynamic_cast<T *>(p.get());
-}
-
-// operator<<
-
-#if !defined(BOOST_NO_IOSTREAM)
-
-#if defined(BOOST_NO_TEMPLATED_IOSTREAMS) || ( defined(__GNUC__) && (__GNUC__ < 3) )
-
-template<class Y> std::ostream & operator<< (std::ostream & os, intrusive_ptr<Y> const & p)
-{
- os << p.get();
- return os;
-}
-
-#else
-
-// in STLport's no-iostreams mode no iostream symbols can be used
-#ifndef _STLP_NO_IOSTREAMS
-
-# if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300 && __SGI_STL_PORT)
-// MSVC6 has problems finding std::basic_ostream through the using declaration in namespace _STL
-using std::basic_ostream;
-template<class E, class T, class Y> basic_ostream<E, T> & operator<< (basic_ostream<E, T> & os, intrusive_ptr<Y> const & p)
-# else
-template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, intrusive_ptr<Y> const & p)
-# endif
-{
- os << p.get();
- return os;
-}
-
-#endif // _STLP_NO_IOSTREAMS
-
-#endif // __GNUC__ < 3
-
-#endif // !defined(BOOST_NO_IOSTREAM)
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
-
-#endif // #ifndef BOOST_INTRUSIVE_PTR_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/memory_order.hpp b/src/libs/boost-1.37.0/boost/memory_order.hpp
deleted file mode 100644
index 2524e8aa..00000000
--- a/src/libs/boost-1.37.0/boost/memory_order.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED
-#define BOOST_MEMORY_ORDER_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// boost/memory_order.hpp
-//
-// Defines enum boost::memory_order per the C++0x working draft
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-
-namespace boost
-{
-
-enum memory_order
-{
- memory_order_relaxed = 0,
- memory_order_acquire = 1,
- memory_order_release = 2,
- memory_order_acq_rel = 3, // acquire | release
- memory_order_seq_cst = 7 // acq_rel | 4
-};
-
-} // namespace boost
-
-#endif // #ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/non_type.hpp b/src/libs/boost-1.37.0/boost/non_type.hpp
deleted file mode 100644
index 896aed4d..00000000
--- a/src/libs/boost-1.37.0/boost/non_type.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// -------------------------------------
-//
-// (C) Copyright Gennaro Prota 2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// ------------------------------------------------------
-
-#ifndef BOOST_NON_TYPE_HPP_GP_20030417
-#define BOOST_NON_TYPE_HPP_GP_20030417
-
-
-namespace boost {
-
- // Just a simple "envelope" for non-type template parameters. Useful
- // to work around some MSVC deficiencies.
-
- template <typename T, T n>
- struct non_type { };
-
-
-}
-
-
-#endif // include guard
diff --git a/src/libs/boost-1.37.0/boost/scoped_array.hpp b/src/libs/boost-1.37.0/boost/scoped_array.hpp
deleted file mode 100644
index fcb80f6c..00000000
--- a/src/libs/boost-1.37.0/boost/scoped_array.hpp
+++ /dev/null
@@ -1,138 +0,0 @@
-#ifndef BOOST_SCOPED_ARRAY_HPP_INCLUDED
-#define BOOST_SCOPED_ARRAY_HPP_INCLUDED
-
-// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-// Copyright (c) 2001, 2002 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// http://www.boost.org/libs/smart_ptr/scoped_array.htm
-//
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/config.hpp> // in case ptrdiff_t not in std
-
-#include <boost/detail/workaround.hpp>
-
-#include <cstddef> // for std::ptrdiff_t
-
-namespace boost
-{
-
-// Debug hooks
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-
-void sp_array_constructor_hook(void * p);
-void sp_array_destructor_hook(void * p);
-
-#endif
-
-// scoped_array extends scoped_ptr to arrays. Deletion of the array pointed to
-// is guaranteed, either on destruction of the scoped_array or via an explicit
-// reset(). Use shared_array or std::vector if your needs are more complex.
-
-template<class T> class scoped_array // noncopyable
-{
-private:
-
- T * ptr;
-
- scoped_array(scoped_array const &);
- scoped_array & operator=(scoped_array const &);
-
- typedef scoped_array<T> this_type;
-
- void operator==( scoped_array const& ) const;
- void operator!=( scoped_array const& ) const;
-
-public:
-
- typedef T element_type;
-
- explicit scoped_array(T * p = 0) : ptr(p) // never throws
- {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- boost::sp_array_constructor_hook(ptr);
-#endif
- }
-
- ~scoped_array() // never throws
- {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- boost::sp_array_destructor_hook(ptr);
-#endif
- boost::checked_array_delete(ptr);
- }
-
- void reset(T * p = 0) // never throws
- {
- BOOST_ASSERT(p == 0 || p != ptr); // catch self-reset errors
- this_type(p).swap(*this);
- }
-
- T & operator[](std::ptrdiff_t i) const // never throws
- {
- BOOST_ASSERT(ptr != 0);
- BOOST_ASSERT(i >= 0);
- return ptr[i];
- }
-
- T * get() const // never throws
- {
- return ptr;
- }
-
- // implicit conversion to "bool"
-
-#if defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x530)
-
- operator bool () const
- {
- return ptr != 0;
- }
-
-#elif defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
- typedef T * (this_type::*unspecified_bool_type)() const;
-
- operator unspecified_bool_type() const // never throws
- {
- return ptr == 0? 0: &this_type::get;
- }
-
-#else
-
- typedef T * this_type::*unspecified_bool_type;
-
- operator unspecified_bool_type() const // never throws
- {
- return ptr == 0? 0: &this_type::ptr;
- }
-
-#endif
-
- bool operator! () const // never throws
- {
- return ptr == 0;
- }
-
- void swap(scoped_array & b) // never throws
- {
- T * tmp = b.ptr;
- b.ptr = ptr;
- ptr = tmp;
- }
-
-};
-
-template<class T> inline void swap(scoped_array<T> & a, scoped_array<T> & b) // never throws
-{
- a.swap(b);
-}
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SCOPED_ARRAY_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/scoped_ptr.hpp b/src/libs/boost-1.37.0/boost/scoped_ptr.hpp
deleted file mode 100644
index 279cec3d..00000000
--- a/src/libs/boost-1.37.0/boost/scoped_ptr.hpp
+++ /dev/null
@@ -1,160 +0,0 @@
-#ifndef BOOST_SCOPED_PTR_HPP_INCLUDED
-#define BOOST_SCOPED_PTR_HPP_INCLUDED
-
-// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-// Copyright (c) 2001, 2002 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// http://www.boost.org/libs/smart_ptr/scoped_ptr.htm
-//
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/detail/workaround.hpp>
-
-#ifndef BOOST_NO_AUTO_PTR
-# include <memory> // for std::auto_ptr
-#endif
-
-namespace boost
-{
-
-// Debug hooks
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-
-void sp_scalar_constructor_hook(void * p);
-void sp_scalar_destructor_hook(void * p);
-
-#endif
-
-// scoped_ptr mimics a built-in pointer except that it guarantees deletion
-// of the object pointed to, either on destruction of the scoped_ptr or via
-// an explicit reset(). scoped_ptr is a simple solution for simple needs;
-// use shared_ptr or std::auto_ptr if your needs are more complex.
-
-template<class T> class scoped_ptr // noncopyable
-{
-private:
-
- T * ptr;
-
- scoped_ptr(scoped_ptr const &);
- scoped_ptr & operator=(scoped_ptr const &);
-
- typedef scoped_ptr<T> this_type;
-
- void operator==( scoped_ptr const& ) const;
- void operator!=( scoped_ptr const& ) const;
-
-public:
-
- typedef T element_type;
-
- explicit scoped_ptr(T * p = 0): ptr(p) // never throws
- {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- boost::sp_scalar_constructor_hook(ptr);
-#endif
- }
-
-#ifndef BOOST_NO_AUTO_PTR
-
- explicit scoped_ptr(std::auto_ptr<T> p): ptr(p.release()) // never throws
- {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- boost::sp_scalar_constructor_hook(ptr);
-#endif
- }
-
-#endif
-
- ~scoped_ptr() // never throws
- {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- boost::sp_scalar_destructor_hook(ptr);
-#endif
- boost::checked_delete(ptr);
- }
-
- void reset(T * p = 0) // never throws
- {
- BOOST_ASSERT(p == 0 || p != ptr); // catch self-reset errors
- this_type(p).swap(*this);
- }
-
- T & operator*() const // never throws
- {
- BOOST_ASSERT(ptr != 0);
- return *ptr;
- }
-
- T * operator->() const // never throws
- {
- BOOST_ASSERT(ptr != 0);
- return ptr;
- }
-
- T * get() const // never throws
- {
- return ptr;
- }
-
- // implicit conversion to "bool"
-
-#if defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x530)
-
- operator bool () const
- {
- return ptr != 0;
- }
-
-#elif defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
- typedef T * (this_type::*unspecified_bool_type)() const;
-
- operator unspecified_bool_type() const // never throws
- {
- return ptr == 0? 0: &this_type::get;
- }
-
-#else
- typedef T * this_type::*unspecified_bool_type;
-
- operator unspecified_bool_type() const // never throws
- {
- return ptr == 0? 0: &this_type::ptr;
- }
-
-#endif
-
- bool operator! () const // never throws
- {
- return ptr == 0;
- }
-
- void swap(scoped_ptr & b) // never throws
- {
- T * tmp = b.ptr;
- b.ptr = ptr;
- ptr = tmp;
- }
-};
-
-template<class T> inline void swap(scoped_ptr<T> & a, scoped_ptr<T> & b) // never throws
-{
- a.swap(b);
-}
-
-// get_pointer(p) is a generic way to say p.get()
-
-template<class T> inline T * get_pointer(scoped_ptr<T> const & p)
-{
- return p.get();
-}
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SCOPED_PTR_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/shared_array.hpp b/src/libs/boost-1.37.0/boost/shared_array.hpp
deleted file mode 100644
index 3b82f355..00000000
--- a/src/libs/boost-1.37.0/boost/shared_array.hpp
+++ /dev/null
@@ -1,193 +0,0 @@
-#ifndef BOOST_SHARED_ARRAY_HPP_INCLUDED
-#define BOOST_SHARED_ARRAY_HPP_INCLUDED
-
-//
-// shared_array.hpp
-//
-// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-// Copyright (c) 2001, 2002 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/smart_ptr/shared_array.htm for documentation.
-//
-
-#include <boost/config.hpp> // for broken compiler workarounds
-
-#if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-#include <boost/detail/shared_array_nmt.hpp>
-#else
-
-#include <memory> // TR1 cyclic inclusion fix
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-
-#include <boost/detail/shared_count.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <cstddef> // for std::ptrdiff_t
-#include <algorithm> // for std::swap
-#include <functional> // for std::less
-
-namespace boost
-{
-
-//
-// shared_array
-//
-// shared_array extends shared_ptr to arrays.
-// The array pointed to is deleted when the last shared_array pointing to it
-// is destroyed or reset.
-//
-
-template<class T> class shared_array
-{
-private:
-
- // Borland 5.5.1 specific workarounds
- typedef checked_array_deleter<T> deleter;
- typedef shared_array<T> this_type;
-
-public:
-
- typedef T element_type;
-
- explicit shared_array(T * p = 0): px(p), pn(p, deleter())
- {
- }
-
- //
- // Requirements: D's copy constructor must not throw
- //
- // shared_array will release p by calling d(p)
- //
-
- template<class D> shared_array(T * p, D d): px(p), pn(p, d)
- {
- }
-
-// generated copy constructor, assignment, destructor are fine
-
- void reset(T * p = 0)
- {
- BOOST_ASSERT(p == 0 || p != px);
- this_type(p).swap(*this);
- }
-
- template <class D> void reset(T * p, D d)
- {
- this_type(p, d).swap(*this);
- }
-
- T & operator[] (std::ptrdiff_t i) const // never throws
- {
- BOOST_ASSERT(px != 0);
- BOOST_ASSERT(i >= 0);
- return px[i];
- }
-
- T * get() const // never throws
- {
- return px;
- }
-
- // implicit conversion to "bool"
-
-#if defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x530)
-
- operator bool () const
- {
- return px != 0;
- }
-
-#elif defined( _MANAGED )
-
- static void unspecified_bool( this_type*** )
- {
- }
-
- typedef void (*unspecified_bool_type)( this_type*** );
-
- operator unspecified_bool_type() const // never throws
- {
- return px == 0? 0: unspecified_bool;
- }
-
-#elif \
- ( defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, < 0x3200) ) || \
- ( defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 304) )
-
- typedef T * (this_type::*unspecified_bool_type)() const;
-
- operator unspecified_bool_type() const // never throws
- {
- return px == 0? 0: &this_type::get;
- }
-
-#else
-
- typedef T * this_type::*unspecified_bool_type;
-
- operator unspecified_bool_type() const // never throws
- {
- return px == 0? 0: &this_type::px;
- }
-
-#endif
-
- bool operator! () const // never throws
- {
- return px == 0;
- }
-
- bool unique() const // never throws
- {
- return pn.unique();
- }
-
- long use_count() const // never throws
- {
- return pn.use_count();
- }
-
- void swap(shared_array<T> & other) // never throws
- {
- std::swap(px, other.px);
- pn.swap(other.pn);
- }
-
-private:
-
- T * px; // contained pointer
- detail::shared_count pn; // reference counter
-
-}; // shared_array
-
-template<class T> inline bool operator==(shared_array<T> const & a, shared_array<T> const & b) // never throws
-{
- return a.get() == b.get();
-}
-
-template<class T> inline bool operator!=(shared_array<T> const & a, shared_array<T> const & b) // never throws
-{
- return a.get() != b.get();
-}
-
-template<class T> inline bool operator<(shared_array<T> const & a, shared_array<T> const & b) // never throws
-{
- return std::less<T*>()(a.get(), b.get());
-}
-
-template<class T> void swap(shared_array<T> & a, shared_array<T> & b) // never throws
-{
- a.swap(b);
-}
-
-} // namespace boost
-
-#endif // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-
-#endif // #ifndef BOOST_SHARED_ARRAY_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/shared_ptr.hpp b/src/libs/boost-1.37.0/boost/shared_ptr.hpp
deleted file mode 100644
index ad2bc17b..00000000
--- a/src/libs/boost-1.37.0/boost/shared_ptr.hpp
+++ /dev/null
@@ -1,751 +0,0 @@
-#ifndef BOOST_SHARED_PTR_HPP_INCLUDED
-#define BOOST_SHARED_PTR_HPP_INCLUDED
-
-//
-// shared_ptr.hpp
-//
-// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-// Copyright (c) 2001-2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation.
-//
-
-#include <boost/config.hpp> // for broken compiler workarounds
-
-#if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-#include <boost/detail/shared_ptr_nmt.hpp>
-#else
-
-// In order to avoid circular dependencies with Boost.TR1
-// we make sure that our include of <memory> doesn't try to
-// pull in the TR1 headers: that's why we use this header
-// rather than including <memory> directly:
-#include <boost/config/no_tr1/memory.hpp> // std::auto_ptr
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/detail/shared_count.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/detail/sp_convertible.hpp>
-
-#if !defined(BOOST_SP_NO_ATOMIC_ACCESS)
-#include <boost/detail/spinlock_pool.hpp>
-#include <boost/memory_order.hpp>
-#endif
-
-#include <algorithm> // for std::swap
-#include <functional> // for std::less
-#include <typeinfo> // for std::bad_cast
-
-#if !defined(BOOST_NO_IOSTREAM)
-#if !defined(BOOST_NO_IOSFWD)
-#include <iosfwd> // for std::basic_ostream
-#else
-#include <ostream>
-#endif
-#endif
-
-#ifdef BOOST_MSVC // moved here to work around VC++ compiler crash
-# pragma warning(push)
-# pragma warning(disable:4284) // odd return type for operator->
-#endif
-
-namespace boost
-{
-
-template<class T> class weak_ptr;
-template<class T> class enable_shared_from_this;
-
-namespace detail
-{
-
-struct static_cast_tag {};
-struct const_cast_tag {};
-struct dynamic_cast_tag {};
-struct polymorphic_cast_tag {};
-
-template<class T> struct shared_ptr_traits
-{
- typedef T & reference;
-};
-
-template<> struct shared_ptr_traits<void>
-{
- typedef void reference;
-};
-
-#if !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)
-
-template<> struct shared_ptr_traits<void const>
-{
- typedef void reference;
-};
-
-template<> struct shared_ptr_traits<void volatile>
-{
- typedef void reference;
-};
-
-template<> struct shared_ptr_traits<void const volatile>
-{
- typedef void reference;
-};
-
-#endif
-
-// enable_shared_from_this support
-
-template<class T, class Y> void sp_enable_shared_from_this( shared_count const & pn, boost::enable_shared_from_this<T> const * pe, Y const * px )
-{
- if(pe != 0) pe->_internal_weak_this._internal_assign(const_cast<Y*>(px), pn);
-}
-
-#ifdef _MANAGED
-
-// Avoid C4793, ... causes native code generation
-
-struct sp_any_pointer
-{
- template<class T> sp_any_pointer( T* ) {}
-};
-
-inline void sp_enable_shared_from_this( shared_count const & /*pn*/, sp_any_pointer, sp_any_pointer )
-{
-}
-
-#else // _MANAGED
-
-#ifdef sgi
-// Turn off: the last argument of the varargs function "sp_enable_shared_from_this" is unnamed
-# pragma set woff 3506
-#endif
-
-inline void sp_enable_shared_from_this( shared_count const & /*pn*/, ... )
-{
-}
-
-#ifdef sgi
-# pragma reset woff 3506
-#endif
-
-#endif // _MANAGED
-
-#if !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( BOOST_NO_AUTO_PTR )
-
-// rvalue auto_ptr support based on a technique by Dave Abrahams
-
-template< class T, class R > struct sp_enable_if_auto_ptr
-{
-};
-
-template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
-{
- typedef R type;
-};
-
-#endif
-
-} // namespace detail
-
-
-//
-// shared_ptr
-//
-// An enhanced relative of scoped_ptr with reference counted copy semantics.
-// The object pointed to is deleted when the last shared_ptr pointing to it
-// is destroyed or reset.
-//
-
-template<class T> class shared_ptr
-{
-private:
-
- // Borland 5.5.1 specific workaround
- typedef shared_ptr<T> this_type;
-
-public:
-
- typedef T element_type;
- typedef T value_type;
- typedef T * pointer;
- typedef typename boost::detail::shared_ptr_traits<T>::reference reference;
-
- shared_ptr(): px(0), pn() // never throws in 1.30+
- {
- }
-
- template<class Y>
- explicit shared_ptr( Y * p ): px( p ), pn( p ) // Y must be complete
- {
- boost::detail::sp_enable_shared_from_this( pn, p, p );
- }
-
- //
- // Requirements: D's copy constructor must not throw
- //
- // shared_ptr will release p by calling d(p)
- //
-
- template<class Y, class D> shared_ptr(Y * p, D d): px(p), pn(p, d)
- {
- boost::detail::sp_enable_shared_from_this( pn, p, p );
- }
-
- // As above, but with allocator. A's copy constructor shall not throw.
-
- template<class Y, class D, class A> shared_ptr( Y * p, D d, A a ): px( p ), pn( p, d, a )
- {
- boost::detail::sp_enable_shared_from_this( pn, p, p );
- }
-
-// generated copy constructor, assignment, destructor are fine...
-
-// except that Borland C++ has a bug, and g++ with -Wsynth warns
-#if defined(__BORLANDC__) || defined(__GNUC__)
-
- shared_ptr & operator=(shared_ptr const & r) // never throws
- {
- px = r.px;
- pn = r.pn; // shared_count::op= doesn't throw
- return *this;
- }
-
-#endif
-
- template<class Y>
- explicit shared_ptr(weak_ptr<Y> const & r): pn(r.pn) // may throw
- {
- // it is now safe to copy r.px, as pn(r.pn) did not throw
- px = r.px;
- }
-
- template<class Y>
- shared_ptr( weak_ptr<Y> const & r, boost::detail::sp_nothrow_tag ): px( 0 ), pn( r.pn, boost::detail::sp_nothrow_tag() ) // never throws
- {
- if( !pn.empty() )
- {
- px = r.px;
- }
- }
-
- template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
- shared_ptr( shared_ptr<Y> const & r, typename detail::sp_enable_if_convertible<Y,T>::type = detail::sp_empty() )
-
-#else
-
- shared_ptr( shared_ptr<Y> const & r )
-
-#endif
- : px( r.px ), pn( r.pn ) // never throws
- {
- }
-
- // aliasing
- template< class Y >
- shared_ptr( shared_ptr<Y> const & r, T * p ): px( p ), pn( r.pn ) // never throws
- {
- }
-
- template<class Y>
- shared_ptr(shared_ptr<Y> const & r, boost::detail::static_cast_tag): px(static_cast<element_type *>(r.px)), pn(r.pn)
- {
- }
-
- template<class Y>
- shared_ptr(shared_ptr<Y> const & r, boost::detail::const_cast_tag): px(const_cast<element_type *>(r.px)), pn(r.pn)
- {
- }
-
- template<class Y>
- shared_ptr(shared_ptr<Y> const & r, boost::detail::dynamic_cast_tag): px(dynamic_cast<element_type *>(r.px)), pn(r.pn)
- {
- if(px == 0) // need to allocate new counter -- the cast failed
- {
- pn = boost::detail::shared_count();
- }
- }
-
- template<class Y>
- shared_ptr(shared_ptr<Y> const & r, boost::detail::polymorphic_cast_tag): px(dynamic_cast<element_type *>(r.px)), pn(r.pn)
- {
- if(px == 0)
- {
- boost::throw_exception(std::bad_cast());
- }
- }
-
-#ifndef BOOST_NO_AUTO_PTR
-
- template<class Y>
- explicit shared_ptr(std::auto_ptr<Y> & r): px(r.get()), pn()
- {
- Y * tmp = r.get();
- pn = boost::detail::shared_count(r);
- boost::detail::sp_enable_shared_from_this( pn, tmp, tmp );
- }
-
-#if !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
- template<class Ap>
- shared_ptr( Ap r, typename boost::detail::sp_enable_if_auto_ptr<Ap, int>::type = 0 ): px( r.get() ), pn()
- {
- typename Ap::element_type * tmp = r.get();
- pn = boost::detail::shared_count( r );
- boost::detail::sp_enable_shared_from_this( pn, tmp, tmp );
- }
-
-
-#endif // BOOST_NO_SFINAE, BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_NO_AUTO_PTR
-
-#if !defined(BOOST_MSVC) || (BOOST_MSVC >= 1300)
-
- template<class Y>
- shared_ptr & operator=(shared_ptr<Y> const & r) // never throws
- {
- px = r.px;
- pn = r.pn; // shared_count::op= doesn't throw
- return *this;
- }
-
-#endif
-
-#ifndef BOOST_NO_AUTO_PTR
-
- template<class Y>
- shared_ptr & operator=( std::auto_ptr<Y> & r )
- {
- this_type(r).swap(*this);
- return *this;
- }
-
-#if !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
- template<class Ap>
- typename boost::detail::sp_enable_if_auto_ptr< Ap, shared_ptr & >::type operator=( Ap r )
- {
- this_type( r ).swap( *this );
- return *this;
- }
-
-
-#endif // BOOST_NO_SFINAE, BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_NO_AUTO_PTR
-
-// Move support
-
-#if defined( BOOST_HAS_RVALUE_REFS )
-
- shared_ptr( shared_ptr && r ): px( r.px ), pn() // never throws
- {
- pn.swap( r.pn );
- r.px = 0;
- }
-
- template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
- shared_ptr( shared_ptr<Y> && r, typename detail::sp_enable_if_convertible<Y,T>::type = detail::sp_empty() )
-
-#else
-
- shared_ptr( shared_ptr<Y> && r )
-
-#endif
- : px( r.px ), pn() // never throws
- {
- pn.swap( r.pn );
- r.px = 0;
- }
-
- shared_ptr & operator=( shared_ptr && r ) // never throws
- {
- this_type( static_cast< shared_ptr && >( r ) ).swap( *this );
- return *this;
- }
-
- template<class Y>
- shared_ptr & operator=( shared_ptr<Y> && r ) // never throws
- {
- this_type( static_cast< shared_ptr<Y> && >( r ) ).swap( *this );
- return *this;
- }
-
-#endif
-
- void reset() // never throws in 1.30+
- {
- this_type().swap(*this);
- }
-
- template<class Y> void reset(Y * p) // Y must be complete
- {
- BOOST_ASSERT(p == 0 || p != px); // catch self-reset errors
- this_type(p).swap(*this);
- }
-
- template<class Y, class D> void reset( Y * p, D d )
- {
- this_type( p, d ).swap( *this );
- }
-
- template<class Y, class D, class A> void reset( Y * p, D d, A a )
- {
- this_type( p, d, a ).swap( *this );
- }
-
- template<class Y> void reset( shared_ptr<Y> const & r, T * p )
- {
- this_type( r, p ).swap( *this );
- }
-
- reference operator* () const // never throws
- {
- BOOST_ASSERT(px != 0);
- return *px;
- }
-
- T * operator-> () const // never throws
- {
- BOOST_ASSERT(px != 0);
- return px;
- }
-
- T * get() const // never throws
- {
- return px;
- }
-
- // implicit conversion to "bool"
-
-#if ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, < 0x570) ) || defined(__CINT__)
-
- operator bool () const
- {
- return px != 0;
- }
-
-#elif defined( _MANAGED )
-
- static void unspecified_bool( this_type*** )
- {
- }
-
- typedef void (*unspecified_bool_type)( this_type*** );
-
- operator unspecified_bool_type() const // never throws
- {
- return px == 0? 0: unspecified_bool;
- }
-
-#elif \
- ( defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, < 0x3200) ) || \
- ( defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 304) ) || \
- ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) )
-
- typedef T * (this_type::*unspecified_bool_type)() const;
-
- operator unspecified_bool_type() const // never throws
- {
- return px == 0? 0: &this_type::get;
- }
-
-#else
-
- typedef T * this_type::*unspecified_bool_type;
-
- operator unspecified_bool_type() const // never throws
- {
- return px == 0? 0: &this_type::px;
- }
-
-#endif
-
- // operator! is redundant, but some compilers need it
-
- bool operator! () const // never throws
- {
- return px == 0;
- }
-
- bool unique() const // never throws
- {
- return pn.unique();
- }
-
- long use_count() const // never throws
- {
- return pn.use_count();
- }
-
- void swap(shared_ptr<T> & other) // never throws
- {
- std::swap(px, other.px);
- pn.swap(other.pn);
- }
-
- template<class Y> bool _internal_less(shared_ptr<Y> const & rhs) const
- {
- return pn < rhs.pn;
- }
-
- void * _internal_get_deleter( detail::sp_typeinfo const & ti ) const
- {
- return pn.get_deleter( ti );
- }
-
- bool _internal_equiv( shared_ptr const & r ) const
- {
- return px == r.px && pn == r.pn;
- }
-
-// Tasteless as this may seem, making all members public allows member templates
-// to work in the absence of member template friends. (Matthew Langston)
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-
-private:
-
- template<class Y> friend class shared_ptr;
- template<class Y> friend class weak_ptr;
-
-
-#endif
-
- T * px; // contained pointer
- boost::detail::shared_count pn; // reference counter
-
-}; // shared_ptr
-
-template<class T, class U> inline bool operator==(shared_ptr<T> const & a, shared_ptr<U> const & b)
-{
- return a.get() == b.get();
-}
-
-template<class T, class U> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<U> const & b)
-{
- return a.get() != b.get();
-}
-
-#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96
-
-// Resolve the ambiguity between our op!= and the one in rel_ops
-
-template<class T> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<T> const & b)
-{
- return a.get() != b.get();
-}
-
-#endif
-
-template<class T, class U> inline bool operator<(shared_ptr<T> const & a, shared_ptr<U> const & b)
-{
- return a._internal_less(b);
-}
-
-template<class T> inline void swap(shared_ptr<T> & a, shared_ptr<T> & b)
-{
- a.swap(b);
-}
-
-template<class T, class U> shared_ptr<T> static_pointer_cast(shared_ptr<U> const & r)
-{
- return shared_ptr<T>(r, boost::detail::static_cast_tag());
-}
-
-template<class T, class U> shared_ptr<T> const_pointer_cast(shared_ptr<U> const & r)
-{
- return shared_ptr<T>(r, boost::detail::const_cast_tag());
-}
-
-template<class T, class U> shared_ptr<T> dynamic_pointer_cast(shared_ptr<U> const & r)
-{
- return shared_ptr<T>(r, boost::detail::dynamic_cast_tag());
-}
-
-// shared_*_cast names are deprecated. Use *_pointer_cast instead.
-
-template<class T, class U> shared_ptr<T> shared_static_cast(shared_ptr<U> const & r)
-{
- return shared_ptr<T>(r, boost::detail::static_cast_tag());
-}
-
-template<class T, class U> shared_ptr<T> shared_dynamic_cast(shared_ptr<U> const & r)
-{
- return shared_ptr<T>(r, boost::detail::dynamic_cast_tag());
-}
-
-template<class T, class U> shared_ptr<T> shared_polymorphic_cast(shared_ptr<U> const & r)
-{
- return shared_ptr<T>(r, boost::detail::polymorphic_cast_tag());
-}
-
-template<class T, class U> shared_ptr<T> shared_polymorphic_downcast(shared_ptr<U> const & r)
-{
- BOOST_ASSERT(dynamic_cast<T *>(r.get()) == r.get());
- return shared_static_cast<T>(r);
-}
-
-// get_pointer() enables boost::mem_fn to recognize shared_ptr
-
-template<class T> inline T * get_pointer(shared_ptr<T> const & p)
-{
- return p.get();
-}
-
-// operator<<
-
-#if !defined(BOOST_NO_IOSTREAM)
-
-#if defined(BOOST_NO_TEMPLATED_IOSTREAMS) || ( defined(__GNUC__) && (__GNUC__ < 3) )
-
-template<class Y> std::ostream & operator<< (std::ostream & os, shared_ptr<Y> const & p)
-{
- os << p.get();
- return os;
-}
-
-#else
-
-// in STLport's no-iostreams mode no iostream symbols can be used
-#ifndef _STLP_NO_IOSTREAMS
-
-# if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300 && __SGI_STL_PORT)
-// MSVC6 has problems finding std::basic_ostream through the using declaration in namespace _STL
-using std::basic_ostream;
-template<class E, class T, class Y> basic_ostream<E, T> & operator<< (basic_ostream<E, T> & os, shared_ptr<Y> const & p)
-# else
-template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, shared_ptr<Y> const & p)
-# endif
-{
- os << p.get();
- return os;
-}
-
-#endif // _STLP_NO_IOSTREAMS
-
-#endif // __GNUC__ < 3
-
-#endif // !defined(BOOST_NO_IOSTREAM)
-
-// get_deleter
-
-#if ( defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3) ) || \
- ( defined(__EDG_VERSION__) && BOOST_WORKAROUND(__EDG_VERSION__, <= 238) ) || \
- ( defined(__HP_aCC) && BOOST_WORKAROUND(__HP_aCC, <= 33500) )
-
-// g++ 2.9x doesn't allow static_cast<X const *>(void *)
-// apparently EDG 2.38 and HP aCC A.03.35 also don't accept it
-
-template<class D, class T> D * get_deleter(shared_ptr<T> const & p)
-{
- void const * q = p._internal_get_deleter(BOOST_SP_TYPEID(D));
- return const_cast<D *>(static_cast<D const *>(q));
-}
-
-#else
-
-template<class D, class T> D * get_deleter(shared_ptr<T> const & p)
-{
- return static_cast<D *>(p._internal_get_deleter(BOOST_SP_TYPEID(D)));
-}
-
-#endif
-
-// atomic access
-
-#if !defined(BOOST_SP_NO_ATOMIC_ACCESS)
-
-template<class T> inline bool atomic_is_lock_free( shared_ptr<T> const * /*p*/ )
-{
- return false;
-}
-
-template<class T> shared_ptr<T> atomic_load( shared_ptr<T> const * p )
-{
- boost::detail::spinlock_pool<2>::scoped_lock lock( p );
- return *p;
-}
-
-template<class T> inline shared_ptr<T> atomic_load_explicit( shared_ptr<T> const * p, memory_order /*mo*/ )
-{
- return atomic_load( p );
-}
-
-template<class T> void atomic_store( shared_ptr<T> * p, shared_ptr<T> r )
-{
- boost::detail::spinlock_pool<2>::scoped_lock lock( p );
- p->swap( r );
-}
-
-template<class T> inline void atomic_store_explicit( shared_ptr<T> * p, shared_ptr<T> r, memory_order /*mo*/ )
-{
- atomic_store( p, r ); // std::move( r )
-}
-
-template<class T> shared_ptr<T> atomic_exchange( shared_ptr<T> * p, shared_ptr<T> r )
-{
- boost::detail::spinlock & sp = boost::detail::spinlock_pool<2>::spinlock_for( p );
-
- sp.lock();
- p->swap( r );
- sp.unlock();
-
- return r; // return std::move( r )
-}
-
-template<class T> shared_ptr<T> atomic_exchange_explicit( shared_ptr<T> * p, shared_ptr<T> r, memory_order /*mo*/ )
-{
- return atomic_exchange( p, r ); // std::move( r )
-}
-
-template<class T> bool atomic_compare_exchange( shared_ptr<T> * p, shared_ptr<T> * v, shared_ptr<T> w )
-{
- boost::detail::spinlock & sp = boost::detail::spinlock_pool<2>::spinlock_for( p );
-
- sp.lock();
-
- if( p->_internal_equiv( *v ) )
- {
- p->swap( w );
-
- sp.unlock();
-
- return true;
- }
- else
- {
- shared_ptr<T> tmp( *p );
-
- sp.unlock();
-
- tmp.swap( *v );
- return false;
- }
-}
-
-template<class T> inline bool atomic_compare_exchange_explicit( shared_ptr<T> * p, shared_ptr<T> * v, shared_ptr<T> w, memory_order /*success*/, memory_order /*failure*/ )
-{
- return atomic_compare_exchange( p, v, w ); // std::move( w )
-}
-
-#endif
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
-
-#endif // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-
-#endif // #ifndef BOOST_SHARED_PTR_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/throw_exception.hpp b/src/libs/boost-1.37.0/boost/throw_exception.hpp
deleted file mode 100644
index 69cdad0c..00000000
--- a/src/libs/boost-1.37.0/boost/throw_exception.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED
-#define BOOST_THROW_EXCEPTION_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/throw_exception.hpp
-//
-// Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
-// Copyright (c) 2008 Emil Dotchevski and Reverge Studios, Inc.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// http://www.boost.org/libs/utility/throw_exception.html
-//
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <exception>
-
-#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x593) )
-# define BOOST_EXCEPTION_DISABLE
-#endif
-
-#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1310 )
-# define BOOST_EXCEPTION_DISABLE
-#endif
-
-#if !defined( BOOST_NO_EXCEPTIONS ) && !defined( BOOST_EXCEPTION_DISABLE )
-# include <boost/exception/exception.hpp>
-# include <boost/current_function.hpp>
-# define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(::boost::enable_error_info(x) <<\
- ::boost::throw_function(BOOST_CURRENT_FUNCTION) <<\
- ::boost::throw_file(__FILE__) <<\
- ::boost::throw_line((int)__LINE__))
-#else
-# define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x)
-#endif
-
-namespace boost
-{
-
-#ifdef BOOST_NO_EXCEPTIONS
-
-void throw_exception( std::exception const & e ); // user defined
-
-#else
-
-inline void throw_exception_assert_compatibility( std::exception const & ) { }
-
-template<class E> inline void throw_exception( E const & e )
-{
- //All boost exceptions are required to derive std::exception,
- //to ensure compatibility with BOOST_NO_EXCEPTIONS.
- throw_exception_assert_compatibility(e);
-
-#ifndef BOOST_EXCEPTION_DISABLE
- throw enable_current_exception(enable_error_info(e));
-#else
- throw e;
-#endif
-}
-
-#endif
-
-} // namespace boost
-
-#endif // #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED
diff --git a/src/libs/boost-1.37.0/boost/type.hpp b/src/libs/boost-1.37.0/boost/type.hpp
deleted file mode 100644
index ab81c916..00000000
--- a/src/libs/boost-1.37.0/boost/type.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-// (C) Copyright David Abrahams 2001.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_DWA20010120_HPP
-# define BOOST_TYPE_DWA20010120_HPP
-
-namespace boost {
-
- // Just a simple "type envelope". Useful in various contexts, mostly to work
- // around some MSVC deficiencies.
- template <class T>
- struct type {};
-
-}
-
-#endif // BOOST_TYPE_DWA20010120_HPP
diff --git a/src/libs/boost-1.37.0/boost/weak_ptr.hpp b/src/libs/boost-1.37.0/boost/weak_ptr.hpp
deleted file mode 100644
index b3008136..00000000
--- a/src/libs/boost-1.37.0/boost/weak_ptr.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-#ifndef BOOST_WEAK_PTR_HPP_INCLUDED
-#define BOOST_WEAK_PTR_HPP_INCLUDED
-
-//
-// weak_ptr.hpp
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/smart_ptr/weak_ptr.htm for documentation.
-//
-
-#include <memory> // boost.TR1 include order fix
-#include <boost/detail/shared_count.hpp>
-#include <boost/shared_ptr.hpp>
-
-#ifdef BOOST_MSVC // moved here to work around VC++ compiler crash
-# pragma warning(push)
-# pragma warning(disable:4284) // odd return type for operator->
-#endif
-
-namespace boost
-{
-
-template<class T> class weak_ptr
-{
-private:
-
- // Borland 5.5.1 specific workarounds
- typedef weak_ptr<T> this_type;
-
-public:
-
- typedef T element_type;
-
- weak_ptr(): px(0), pn() // never throws in 1.30+
- {
- }
-
-// generated copy constructor, assignment, destructor are fine
-
-
-//
-// The "obvious" converting constructor implementation:
-//
-// template<class Y>
-// weak_ptr(weak_ptr<Y> const & r): px(r.px), pn(r.pn) // never throws
-// {
-// }
-//
-// has a serious problem.
-//
-// r.px may already have been invalidated. The px(r.px)
-// conversion may require access to *r.px (virtual inheritance).
-//
-// It is not possible to avoid spurious access violations since
-// in multithreaded programs r.px may be invalidated at any point.
-//
-
- template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
- weak_ptr( weak_ptr<Y> const & r, typename detail::sp_enable_if_convertible<Y,T>::type = detail::sp_empty() )
-
-#else
-
- weak_ptr( weak_ptr<Y> const & r )
-
-#endif
- : pn(r.pn) // never throws
- {
- px = r.lock().get();
- }
-
- template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
- weak_ptr( shared_ptr<Y> const & r, typename detail::sp_enable_if_convertible<Y,T>::type = detail::sp_empty() )
-
-#else
-
- weak_ptr( shared_ptr<Y> const & r )
-
-#endif
- : px( r.px ), pn( r.pn ) // never throws
- {
- }
-
-#if !defined(BOOST_MSVC) || (BOOST_MSVC >= 1300)
-
- template<class Y>
- weak_ptr & operator=(weak_ptr<Y> const & r) // never throws
- {
- px = r.lock().get();
- pn = r.pn;
- return *this;
- }
-
- template<class Y>
- weak_ptr & operator=(shared_ptr<Y> const & r) // never throws
- {
- px = r.px;
- pn = r.pn;
- return *this;
- }
-
-#endif
-
- shared_ptr<T> lock() const // never throws
- {
- return shared_ptr<element_type>( *this, boost::detail::sp_nothrow_tag() );
- }
-
- long use_count() const // never throws
- {
- return pn.use_count();
- }
-
- bool expired() const // never throws
- {
- return pn.use_count() == 0;
- }
-
- void reset() // never throws in 1.30+
- {
- this_type().swap(*this);
- }
-
- void swap(this_type & other) // never throws
- {
- std::swap(px, other.px);
- pn.swap(other.pn);
- }
-
- void _internal_assign(T * px2, boost::detail::shared_count const & pn2)
- {
- px = px2;
- pn = pn2;
- }
-
- template<class Y> bool _internal_less(weak_ptr<Y> const & rhs) const
- {
- return pn < rhs.pn;
- }
-
-// Tasteless as this may seem, making all members public allows member templates
-// to work in the absence of member template friends. (Matthew Langston)
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-
-private:
-
- template<class Y> friend class weak_ptr;
- template<class Y> friend class shared_ptr;
-
-#endif
-
- T * px; // contained pointer
- boost::detail::weak_count pn; // reference counter
-
-}; // weak_ptr
-
-template<class T, class U> inline bool operator<(weak_ptr<T> const & a, weak_ptr<U> const & b)
-{
- return a._internal_less(b);
-}
-
-template<class T> void swap(weak_ptr<T> & a, weak_ptr<T> & b)
-{
- a.swap(b);
-}
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
-
-#endif // #ifndef BOOST_WEAK_PTR_HPP_INCLUDED
diff --git a/src/libs/kStuff/Makefile.kmk b/src/libs/kStuff/Makefile.kmk
index da9587f8..9d74ae56 100644
--- a/src/libs/kStuff/Makefile.kmk
+++ b/src/libs/kStuff/Makefile.kmk
@@ -70,6 +70,11 @@ VBox-kStuff_SOURCES = \
iprt/kHlpString-iprt.cpp \
iprt/kRdrFile-iprt.cpp
+ifdef VBOX_WITH_32_ON_64_MAIN_API # 32-bit edition.
+ LIBRARIES += VBox-kStuff-x86
+ VBox-kStuff-x86_TEMPLATE = VBoxR3Dll-x86
+ VBox-kStuff-x86_EXTENDS = VBox-kStuff
+endif
#
# The library for static linking.
diff --git a/src/libs/kStuff/iprt/kHlpAlloc-iprt.cpp b/src/libs/kStuff/iprt/kHlpAlloc-iprt.cpp
index 6684bf33..7bf8cc3c 100644
--- a/src/libs/kStuff/iprt/kHlpAlloc-iprt.cpp
+++ b/src/libs/kStuff/iprt/kHlpAlloc-iprt.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/libs/kStuff/iprt/kHlpAssert-iprt.cpp b/src/libs/kStuff/iprt/kHlpAssert-iprt.cpp
index 406bc3e8..2dc3ba7d 100644
--- a/src/libs/kStuff/iprt/kHlpAssert-iprt.cpp
+++ b/src/libs/kStuff/iprt/kHlpAssert-iprt.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/libs/kStuff/iprt/kHlpEnv-iprt.cpp b/src/libs/kStuff/iprt/kHlpEnv-iprt.cpp
index 17661ca7..105c75c9 100644
--- a/src/libs/kStuff/iprt/kHlpEnv-iprt.cpp
+++ b/src/libs/kStuff/iprt/kHlpEnv-iprt.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/libs/kStuff/iprt/kHlpPage-iprt.cpp b/src/libs/kStuff/iprt/kHlpPage-iprt.cpp
index b808d997..a9a1c69b 100644
--- a/src/libs/kStuff/iprt/kHlpPage-iprt.cpp
+++ b/src/libs/kStuff/iprt/kHlpPage-iprt.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/libs/kStuff/iprt/kHlpString-iprt.cpp b/src/libs/kStuff/iprt/kHlpString-iprt.cpp
index 0c74fa55..d7105341 100644
--- a/src/libs/kStuff/iprt/kHlpString-iprt.cpp
+++ b/src/libs/kStuff/iprt/kHlpString-iprt.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/libs/kStuff/iprt/kRdrFile-iprt.cpp b/src/libs/kStuff/iprt/kRdrFile-iprt.cpp
index 2d890733..0b95962d 100644
--- a/src/libs/kStuff/iprt/kRdrFile-iprt.cpp
+++ b/src/libs/kStuff/iprt/kRdrFile-iprt.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/libs/kStuff/kStuff/include/k/kLdr.h b/src/libs/kStuff/kStuff/include/k/kLdr.h
index c7fe7899..795b3f64 100644
--- a/src/libs/kStuff/kStuff/include/k/kLdr.h
+++ b/src/libs/kStuff/kStuff/include/k/kLdr.h
@@ -1,4 +1,4 @@
-/* $Id: kLdr.h 41 2011-08-24 14:35:57Z bird $ */
+/* $Id: kLdr.h 52 2013-07-09 17:03:37Z bird $ */
/** @file
* kLdr - The Dynamic Loader.
*/
@@ -588,6 +588,14 @@ typedef FNKLDRENUMRSRC *PFNKLDRENUMRSRC;
#define KLDR_LANG_ID_UI_CUSTOM_DEFAULT ( ~(KU32)7 )
/** @} */
+/** @name Module Open Flags
+ * @{ */
+/** Indicates that we won't be loading the module, we're just getting
+ * information (like symbols and line numbers) out of it. */
+#define KLDRMOD_OPEN_FLAGS_FOR_INFO K_BIT32(0)
+/** Mask of valid flags. */
+#define KLDRMOD_OPEN_FLAGS_VALID_MASK KU32_C(0x00000001)
+/** @} */
int kLdrModOpen(const char *pszFilename, KU32 fFlags, KCPUARCH enmCpuArch, PPKLDRMOD ppMod);
int kLdrModOpenFromRdr(PKRDR pRdr, KU32 fFlags, KCPUARCH enmCpuArch, PPKLDRMOD ppMod);
diff --git a/src/libs/kStuff/kStuff/kLdr/kLdrMod.c b/src/libs/kStuff/kStuff/kLdr/kLdrMod.c
index 740ae4b5..d3305c3d 100644
--- a/src/libs/kStuff/kStuff/kLdr/kLdrMod.c
+++ b/src/libs/kStuff/kStuff/kLdr/kLdrMod.c
@@ -1,4 +1,4 @@
-/* $Id: kLdrMod.c 41 2011-08-24 14:35:57Z bird $ */
+/* $Id: kLdrMod.c 52 2013-07-09 17:03:37Z bird $ */
/** @file
* kLdr - The Module Interpreter.
*/
@@ -300,6 +300,8 @@ int kLdrModOpenFromRdr(PKRDR pRdr, KU32 fFlags, KCPUARCH enmCpuArch, PPKLDRMOD p
KLDRFOFF offHdr = 0;
int rc;
+ kHlpAssertReturn(!(fFlags & ~KLDRMOD_OPEN_FLAGS_VALID_MASK), KERR_INVALID_PARAMETER);
+
for (;;)
{
/*
diff --git a/src/libs/kStuff/kStuff/kLdr/kLdrModMachO.c b/src/libs/kStuff/kStuff/kLdr/kLdrModMachO.c
index 4ad32e2a..6ccff89b 100644
--- a/src/libs/kStuff/kStuff/kLdr/kLdrModMachO.c
+++ b/src/libs/kStuff/kStuff/kLdr/kLdrModMachO.c
@@ -1,4 +1,4 @@
-/* $Id: kLdrModMachO.c 49 2012-08-28 23:49:20Z bird $ */
+/* $Id: kLdrModMachO.c 53 2013-07-09 17:18:44Z bird $ */
/** @file
* kLdr - The Module Interpreter for the MACH-O format.
*/
@@ -102,6 +102,8 @@ typedef struct KLDRMODMACHOSECT
*/
typedef struct KLDRMODMACHOSEG
{
+ /** The orignal segment number (in case we had to resort it). */
+ KU32 iOrgSegNo;
/** The number of sections in the segment. */
KU32 cSections;
/** Pointer to the sections belonging to this segment.
@@ -123,6 +125,8 @@ typedef struct KLDRMODMACHO
const void *pvBits;
/** Pointer to the user mapping. */
void *pvMapping;
+ /** The module open flags. */
+ KU32 fOpenFlags;
/** The offset of the image. (FAT fun.) */
KLDRFOFF offImage;
@@ -185,9 +189,10 @@ static KI32 kldrModMachONumberOfImports(PKLDRMOD pMod, const void *pvBits);
static int kldrModMachORelocateBits(PKLDRMOD pMod, void *pvBits, KLDRADDR NewBaseAddress, KLDRADDR OldBaseAddress,
PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser);
-static int kldrModMachODoCreate(PKRDR pRdr, KLDRFOFF offImage, PKLDRMODMACHO *ppMod);
+static int kldrModMachODoCreate(PKRDR pRdr, KLDRFOFF offImage, KU32 fOpenFlags, PKLDRMODMACHO *ppMod);
static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_header_32_t *pHdr, PKRDR pRdr, KLDRFOFF offImage,
- KU32 *pcSegments, KU32 *pcSections, KU32 *pcbStringPool, PKBOOL pfCanLoad);
+ KU32 fOpenFlags, KU32 *pcSegments, KU32 *pcSections, KU32 *pcbStringPool,
+ PKBOOL pfCanLoad, PKLDRADDR pLinkAddress);
static int kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStringPool, KU32 cbStringPool);
static int kldrModMachOAdjustBaseAddress(PKLDRMODMACHO pModMachO, PKLDRADDR pBaseAddress);
@@ -244,7 +249,7 @@ static int kldrModMachOCreate(PCKLDRMODOPS pOps, PKRDR pRdr, KU32 fFlags, KCPUAR
/*
* Create the instance data and do a minimal header validation.
*/
- rc = kldrModMachODoCreate(pRdr, offNewHdr == -1 ? 0 : offNewHdr, &pModMachO);
+ rc = kldrModMachODoCreate(pRdr, offNewHdr == -1 ? 0 : offNewHdr, fFlags, &pModMachO);
if (!rc)
{
@@ -274,7 +279,7 @@ static int kldrModMachOCreate(PCKLDRMODOPS pOps, PKRDR pRdr, KU32 fFlags, KCPUAR
* Separate function for reading creating the Mach-O module instance to
* simplify cleanup on failure.
*/
-static int kldrModMachODoCreate(PKRDR pRdr, KLDRFOFF offImage, PKLDRMODMACHO *ppModMachO)
+static int kldrModMachODoCreate(PKRDR pRdr, KLDRFOFF offImage, KU32 fOpenFlags, PKLDRMODMACHO *ppModMachO)
{
union
{
@@ -291,6 +296,7 @@ static int kldrModMachODoCreate(PKRDR pRdr, KLDRFOFF offImage, PKLDRMODMACHO *pp
KSIZE cb;
KBOOL fMakeGot;
KBOOL fCanLoad = K_TRUE;
+ KLDRADDR LinkAddress;
KU8 cbJmpStub;
int rc;
*ppModMachO = NULL;
@@ -350,8 +356,8 @@ static int kldrModMachODoCreate(PKRDR pRdr, KLDRFOFF offImage, PKLDRMODMACHO *pp
? sizeof(mach_header_32_t) + offImage
: sizeof(mach_header_64_t) + offImage);
if (!rc)
- rc = kldrModMachOPreParseLoadCommands(pbLoadCommands, &s.Hdr32, pRdr, offImage,
- &cSegments, &cSections, &cbStringPool, &fCanLoad);
+ rc = kldrModMachOPreParseLoadCommands(pbLoadCommands, &s.Hdr32, pRdr, offImage, fOpenFlags,
+ &cSegments, &cSections, &cbStringPool, &fCanLoad, &LinkAddress);
if (rc)
{
kHlpFree(pbLoadCommands);
@@ -451,11 +457,12 @@ static int kldrModMachODoCreate(PKRDR pRdr, KLDRFOFF offImage, PKLDRMODMACHO *pp
pModMachO->pMod = pMod;
pModMachO->pvBits = NULL;
pModMachO->pvMapping = NULL;
+ pModMachO->fOpenFlags = fOpenFlags;
pModMachO->Hdr = s.Hdr64;
if ( s.Hdr32.magic == IMAGE_MACHO32_SIGNATURE
|| s.Hdr32.magic == IMAGE_MACHO32_SIGNATURE_OE)
pModMachO->Hdr.reserved = 0;
- pModMachO->LinkAddress = 0;
+ pModMachO->LinkAddress = LinkAddress;
pModMachO->cbImage = 0;
pModMachO->fCanLoad = fCanLoad;
pModMachO->fMakeGot = fMakeGot;
@@ -503,9 +510,12 @@ static int kldrModMachODoCreate(PKRDR pRdr, KLDRFOFF offImage, PKLDRMODMACHO *pp
* @param pcSegments Where to store the section count.
* @param pcbStringPool Where to store the string pool size.
* @param pfCanLoad Where to store the can-load-image indicator.
+ * @param pLinkAddress Where to store the image link address (i.e. the
+ * lowest segment address).
*/
static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_header_32_t *pHdr, PKRDR pRdr, KLDRFOFF offImage,
- KU32 *pcSegments, KU32 *pcSections, KU32 *pcbStringPool, PKBOOL pfCanLoad)
+ KU32 fOpenFlags, KU32 *pcSegments, KU32 *pcSections, KU32 *pcbStringPool,
+ PKBOOL pfCanLoad, PKLDRADDR pLinkAddress)
{
union
{
@@ -518,6 +528,7 @@ static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
uuid_command_t *pUuid;
} u;
const KU64 cbFile = kRdrSize(pRdr) - offImage;
+ const char *pchCurSegName = NULL;
KU32 cSegments = 0;
KU32 cSections = 0;
KU32 cbStringPool = 0;
@@ -533,6 +544,7 @@ static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
*pcSections = 0;
*pcbStringPool = 0;
*pfCanLoad = K_TRUE;
+ *pLinkAddress = ~(KLDRADDR)0;
while (cLeft-- > 0)
{
@@ -586,8 +598,6 @@ static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
&& ( u.pSeg32->fileoff > cbFile
|| (KU64)u.pSeg32->fileoff + u.pSeg32->filesize > cbFile))
return KLDR_ERR_MACHO_BAD_LOAD_COMMAND;
- if (!u.pSeg32->filesize && u.pSeg32->fileoff)
- return KLDR_ERR_MACHO_BAD_LOAD_COMMAND;
if (u.pSeg32->vmsize < u.pSeg32->filesize)
return KLDR_ERR_MACHO_BAD_LOAD_COMMAND;
if ((u.pSeg32->maxprot & u.pSeg32->initprot) != u.pSeg32->initprot)
@@ -655,16 +665,24 @@ static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
if (pSect->reserved2) /* (reserved 1 is indirect symbol table index)*/
return KLDR_ERR_MACHO_BAD_SECTION;
*pfCanLoad = K_FALSE;
- fFileBits = 0;
+ fFileBits = -1; /* __DATA.__got in the 64-bit mach_kernel has bits, any things without bits? */
break;
+ case S_MOD_INIT_FUNC_POINTERS: /** @todo this requires a query API or flag... (e.g. C++ constructors) */
+ if (!(fOpenFlags & KLDRMOD_OPEN_FLAGS_FOR_INFO))
+ return KLDR_ERR_MACHO_UNSUPPORTED_INIT_SECTION;
+ case S_MOD_TERM_FUNC_POINTERS: /** @todo this requires a query API or flag... (e.g. C++ destructors) */
+ if (!(fOpenFlags & KLDRMOD_OPEN_FLAGS_FOR_INFO))
+ return KLDR_ERR_MACHO_UNSUPPORTED_TERM_SECTION;
+ if (pSect->reserved1 || pSect->reserved2)
+ return KLDR_ERR_MACHO_BAD_SECTION;
+ fFileBits = 1;
+ break; /* ignored */
+
case S_LITERAL_POINTERS:
case S_INTERPOSING:
case S_GB_ZEROFILL:
- case S_MOD_INIT_FUNC_POINTERS:
- return KLDR_ERR_MACHO_UNSUPPORTED_INIT_SECTION;
- case S_MOD_TERM_FUNC_POINTERS:
- return KLDR_ERR_MACHO_UNSUPPORTED_TERM_SECTION;
+ return KLDR_ERR_MACHO_UNSUPPORTED_SECTION;
default:
return KLDR_ERR_MACHO_UNKNOWN_SECTION;
@@ -695,7 +713,7 @@ static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
return KLDR_ERR_MACHO_BAD_SECTION;
- /* count segments and strings */
+ /* count segments and strings, calculate image link address. */
switch (pHdr->filetype)
{
case MH_OBJECT:
@@ -711,8 +729,8 @@ static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
break;
/* a new segment? */
- if ( !cSegments
- || kHlpStrNComp(pSect->segname, (pSect - 1)->segname, sizeof(pSect->segname)))
+ if ( !pchCurSegName
+ || kHlpStrNComp(pSect->segname, pchCurSegName, sizeof(pSect->segname)))
{
#if 0 /** @todo This doesn't work because of BSS. */
/* verify that the linker/assembler has ordered sections correctly. */
@@ -726,8 +744,13 @@ static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
#endif
/* ok. count it and the string. */
- cSegments++;
+ pchCurSegName = &pSect->segname[0];
cbStringPool += kHlpStrNLen(&pSect->segname[0], sizeof(pSect->segname)) + 1;
+ cSegments++;
+
+ /* Link address lower? */
+ if (*pLinkAddress > u.pSeg32->vmaddr)
+ *pLinkAddress = u.pSeg32->vmaddr;
}
break;
}
@@ -770,8 +793,6 @@ static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
&& ( u.pSeg64->fileoff > cbFile
|| u.pSeg64->fileoff + u.pSeg64->filesize > cbFile))
return KLDR_ERR_MACHO_BAD_LOAD_COMMAND;
- if (!u.pSeg64->filesize && u.pSeg64->fileoff)
- return KLDR_ERR_MACHO_BAD_LOAD_COMMAND;
if (u.pSeg64->vmsize < u.pSeg64->filesize)
return KLDR_ERR_MACHO_BAD_LOAD_COMMAND;
if ((u.pSeg64->maxprot & u.pSeg64->initprot) != u.pSeg64->initprot)
@@ -839,24 +860,24 @@ static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
if (pSect->reserved2) /* (reserved 1 is indirect symbol table index)*/
return KLDR_ERR_MACHO_BAD_SECTION;
*pfCanLoad = K_FALSE;
- fFileBits = 0;
+ fFileBits = -1; /* __DATA.__got in the 64-bit mach_kernel has bits, any things without bits? */
break;
+ case S_MOD_INIT_FUNC_POINTERS: /** @todo this requires a query API or flag... (e.g. C++ constructors) */
+ if (!(fOpenFlags & KLDRMOD_OPEN_FLAGS_FOR_INFO))
+ return KLDR_ERR_MACHO_UNSUPPORTED_INIT_SECTION;
+ case S_MOD_TERM_FUNC_POINTERS: /** @todo this requires a query API or flag... (e.g. C++ destructors) */
+ if (!(fOpenFlags & KLDRMOD_OPEN_FLAGS_FOR_INFO))
+ return KLDR_ERR_MACHO_UNSUPPORTED_TERM_SECTION;
+ if (pSect->reserved1 || pSect->reserved2)
+ return KLDR_ERR_MACHO_BAD_SECTION;
+ fFileBits = 1;
+ break; /* ignored */
+
case S_LITERAL_POINTERS:
case S_INTERPOSING:
case S_GB_ZEROFILL:
return KLDR_ERR_MACHO_UNSUPPORTED_SECTION;
-#if 1 /** @todo this requires a query API or flag... */
- case S_MOD_INIT_FUNC_POINTERS:
- return KLDR_ERR_MACHO_UNSUPPORTED_INIT_SECTION;
- case S_MOD_TERM_FUNC_POINTERS:
- return KLDR_ERR_MACHO_UNSUPPORTED_TERM_SECTION;
-#else
- case S_MOD_INIT_FUNC_POINTERS:
- case S_MOD_TERM_FUNC_POINTERS:
- fFileBits = 1;
- break; /* ignored */
-#endif
default:
return KLDR_ERR_MACHO_UNKNOWN_SECTION;
@@ -887,7 +908,7 @@ static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
return KLDR_ERR_MACHO_BAD_SECTION;
- /* count segments and strings */
+ /* count segments and strings, calculate image link address. */
switch (pHdr->filetype)
{
case MH_OBJECT:
@@ -903,8 +924,8 @@ static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
break;
/* a new segment? */
- if ( !cSegments
- || kHlpStrNComp(pSect->segname, (pSect - 1)->segname, sizeof(pSect->segname)))
+ if ( !pchCurSegName
+ || kHlpStrNComp(pSect->segname, pchCurSegName, sizeof(pSect->segname)))
{
#if 0 /** @todo This doesn't work because of BSS. */
/* verify that the linker/assembler has ordered sections correctly. */
@@ -918,8 +939,13 @@ static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_hea
#endif
/* ok. count it and the string. */
- cSegments++;
+ pchCurSegName = &pSect->segname[0];
cbStringPool += kHlpStrNLen(&pSect->segname[0], sizeof(pSect->segname)) + 1;
+ cSegments++;
+
+ /* Link address lower? */
+ if (*pLinkAddress > u.pSeg64->vmaddr)
+ *pLinkAddress = u.pSeg64->vmaddr;
}
break;
}
@@ -1091,15 +1117,15 @@ static int kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
const segment_command_64_t *pSeg64;
const symtab_command_t *pSymTab;
} u;
+ const char *pchCurSegName = NULL;
KU32 cLeft = pModMachO->Hdr.ncmds;
KU32 cbLeft = pModMachO->Hdr.sizeofcmds;
const KU8 *pb = pModMachO->pbLoadCommands;
- int fFirstSegment = 1;
PKLDRSEG pSeg = &pModMachO->pMod->aSegments[0];
PKLDRMODMACHOSEG pSegExtra = &pModMachO->aSegments[0];
PKLDRMODMACHOSECT pSectExtra = pModMachO->paSections;
const KU32 cSegments = pModMachO->pMod->cSegments;
- KU32 i;
+ KU32 i, c;
while (cLeft-- > 0)
{
@@ -1118,7 +1144,7 @@ static int kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
section_32_t *pFirstSect;
KU32 cSectionsLeft;
- pModMachO->LinkAddress = u.pSeg32->vmaddr;
+ kHlpAssert(u.pSeg32->vmaddr >= pModMachO->LinkAddress);
/*
* convert, validate and parse the sections.
@@ -1161,8 +1187,8 @@ static int kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
break;
}
- if ( fFirstSegment
- || kHlpStrNComp(pSect->segname, (pSect - 1)->segname, sizeof(pSect->segname)))
+ if ( !pchCurSegName
+ || kHlpStrNComp(pSect->segname, pchCurSegName, sizeof(pSect->segname)))
{
/* close the previous segment */
if (pSegExtra != &pModMachO->aSegments[0])
@@ -1196,12 +1222,13 @@ static int kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
pSeg->cbMapped = 0;
pSeg->MapAddress = 0;
+ pSegExtra->iOrgSegNo = pSegExtra - &pModMachO->aSegments[0];
pSegExtra->cSections = 0;
pSegExtra->paSections = pSectExtra;
pSeg++;
pSegExtra++;
- fFirstSegment = 0;
+ pchCurSegName = &pSect->segname[0];
}
else
{
@@ -1253,7 +1280,7 @@ static int kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
section_64_t *pFirstSect;
KU32 cSectionsLeft;
- pModMachO->LinkAddress = u.pSeg64->vmaddr;
+ kHlpAssert(u.pSeg64->vmaddr >= pModMachO->LinkAddress);
/*
* convert, validate and parse the sections.
@@ -1296,8 +1323,8 @@ static int kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
break;
}
- if ( fFirstSegment
- || kHlpStrNComp(pSect->segname, (pSect - 1)->segname, sizeof(pSect->segname)))
+ if ( !pchCurSegName
+ || kHlpStrNComp(pSect->segname, pchCurSegName, sizeof(pSect->segname)))
{
/* close the previous segment */
if (pSegExtra != &pModMachO->aSegments[0])
@@ -1331,12 +1358,13 @@ static int kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
pSeg->cbMapped = 0;
pSeg->MapAddress = 0;
+ pSegExtra->iOrgSegNo = pSegExtra - &pModMachO->aSegments[0];
pSegExtra->cSections = 0;
pSegExtra->paSections = pSectExtra;
pSeg++;
pSegExtra++;
- fFirstSegment = 0;
+ pchCurSegName = &pSect->segname[0];
}
else
{
@@ -1409,6 +1437,37 @@ static int kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
pSegExtra[-1].cSections = pSectExtra - pSegExtra[-1].paSections;
/*
+ * Make sure the segments are sorted, or we'll get screwed further down.
+ */
+ c = pSeg - &pModMachO->pMod->aSegments[0];
+ pSeg = &pModMachO->pMod->aSegments[0];
+ for (i = 0; i < c - 1; i++)
+ {
+ KLDRADDR LinkAddress = pSeg[i + 1].LinkAddress;
+ if (LinkAddress < pSeg[i].LinkAddress)
+ {
+ /* Gotta move the next segment, find the correct location. */
+ KLDRMODMACHOSEG TmpSegExtra;
+ KLDRSEG TmpSeg;
+ KU32 j = i;
+ KU32 cShift = 1;
+
+ while (j > 0 && LinkAddress < pSeg[j - 1].LinkAddress)
+ j--, cShift++;
+
+ TmpSegExtra = pModMachO->aSegments[i + 1];
+ kHlpMemMove(&pModMachO->aSegments[j + 1], &pModMachO->aSegments[j],
+ cShift * sizeof(pModMachO->aSegments[0]));
+ pModMachO->aSegments[j] = TmpSegExtra;
+
+ TmpSeg = pSeg[i + 1];
+ kHlpMemMove(&pSeg[j + 1], &pSeg[j], cShift * sizeof(pSeg[0]));
+ pSeg[j] = TmpSeg;
+ }
+ }
+ pSeg = &pModMachO->pMod->aSegments[c];
+
+ /*
* Make the GOT segment if necessary.
*/
if (pModMachO->fMakeGot)
@@ -1453,6 +1512,7 @@ static int kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStrin
pSeg->cbMapped = 0;
pSeg->MapAddress = 0;
+ pSegExtra->iOrgSegNo = KU32_MAX;
pSegExtra->cSections = 0;
pSegExtra->paSections = NULL;
}
diff --git a/src/libs/liblzf-3.4/Makefile.kmk b/src/libs/liblzf-3.4/Makefile.kmk
index a3627fad..c999e6b3 100644
--- a/src/libs/liblzf-3.4/Makefile.kmk
+++ b/src/libs/liblzf-3.4/Makefile.kmk
@@ -40,5 +40,12 @@ VBox-liblzf-static_DEFS.x86 = $(VBox-liblzf_DEFS.x86)
VBox-liblzf-static_DEFS.amd64 = $(VBox-liblzf_DEFS.amd64)
VBox-liblzf-static_SOURCES = $(VBox-liblzf_SOURCES)
+ifdef VBOX_WITH_32_ON_64_MAIN_API # 32-bit edition.
+ LIBRARIES += VBox-liblzf-x86
+ VBox-liblzf-x86_TEMPLATE = VBoxR3Dll-x86
+ VBox-liblzf-x86_EXTENDS = VBox-liblzf
+endif
+
+
include $(FILE_KBUILD_SUB_FOOTER)
diff --git a/src/libs/libxml2-2.6.31/Makefile.kmk b/src/libs/libxml2-2.6.31/Makefile.kmk
index 494fc4c3..7aaca6a4 100644
--- a/src/libs/libxml2-2.6.31/Makefile.kmk
+++ b/src/libs/libxml2-2.6.31/Makefile.kmk
@@ -18,7 +18,9 @@
SUB_DEPTH = ../../..
include $(KBUILD_PATH)/subheader.kmk
-LIBRARIES += VBox-libxml2
+ifndef VBOX_ONLY_TESTSUITE
+ LIBRARIES += VBox-libxml2
+endif
VBox-libxml2_TEMPLATE = VBOXR3NP
VBox-libxml2_SDKS = VBOX_ZLIB
VBox-libxml2_DEFS = _REENTRANT # the latter triggers thread support, see xmlversion-default.h and win32xmlversion.h.
@@ -45,8 +47,6 @@ VBox-libxml2_SOURCES = \
HTMLtree.c \
legacy.c \
list.c \
- nanoftp.c \
- nanohttp.c \
parser.c \
parserInternals.c \
pattern.c \
@@ -64,7 +64,6 @@ VBox-libxml2_SOURCES = \
xmlmemory.c \
xmlreader.c \
xmlregexp.c \
- xmlmodule.c \
xmlsave.c \
xmlschemas.c \
xmlschemastypes.c \
@@ -74,9 +73,21 @@ VBox-libxml2_SOURCES = \
xpointer.c \
xmlstring.c
+
# For linking:
# VBox-libxml2_LDFLAGS.win = /VERSION:$(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION)
# VBox-libxml2_SDKS.win += WINPSDK
+ifdef VBOX_WITH_32_ON_64_MAIN_API # 32-bit edition.
+ LIBRARIES += VBox-libxml2-x86
+ VBox-libxml2-x86_TEMPLATE = VBoxR3DllNonPedantic-x86
+ VBox-libxml2-x86_EXTENDS = VBox-libxml2
+endif
+
+LIBRARIES += VBox-libxml2-static
+VBox-libxml2-static_TEMPLATE = VBOXR3STATIC
+VBox-libxml2-static_EXTENDS = VBox-libxml2
+
+
include $(FILE_KBUILD_SUB_FOOTER)
diff --git a/src/libs/libxml2-2.6.31/entities.c b/src/libs/libxml2-2.6.31/entities.c
index 59a057a2..ed5af7a0 100644
--- a/src/libs/libxml2-2.6.31/entities.c
+++ b/src/libs/libxml2-2.6.31/entities.c
@@ -472,13 +472,13 @@ xmlGetDocEntity(xmlDocPtr doc, const xmlChar *name) {
* Macro used to grow the current buffer.
*/
#define growBufferReentrant() { \
- buffer_size *= 2; \
- buffer = (xmlChar *) \
- xmlRealloc(buffer, buffer_size * sizeof(xmlChar)); \
- if (buffer == NULL) { \
- xmlEntitiesErrMemory("xmlEncodeEntitiesReentrant: realloc failed");\
- return(NULL); \
- } \
+ xmlChar *tmp; \
+ size_t new_size = buffer_size * 2; \
+ if (new_size < buffer_size) goto mem_error; \
+ tmp = (xmlChar *) xmlRealloc(buffer, new_size); \
+ if (tmp == NULL) goto mem_error; \
+ buffer = tmp; \
+ buffer_size = new_size; \
}
@@ -499,7 +499,7 @@ xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
const xmlChar *cur = input;
xmlChar *buffer = NULL;
xmlChar *out = NULL;
- int buffer_size = 0;
+ size_t buffer_size = 0;
int html = 0;
if (input == NULL) return(NULL);
@@ -518,8 +518,8 @@ xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
out = buffer;
while (*cur != '\0') {
- if (out - buffer > buffer_size - 100) {
- int indx = out - buffer;
+ size_t indx = out - buffer;
+ if (indx + 100 > buffer_size) {
growBufferReentrant();
out = &buffer[indx];
@@ -636,6 +636,11 @@ xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
}
*out++ = 0;
return(buffer);
+
+mem_error:
+ xmlEntitiesErrMemory("xmlEncodeEntitiesReentrant: realloc failed");
+ xmlFree(buffer);
+ return(NULL);
}
/**
@@ -653,7 +658,7 @@ xmlEncodeSpecialChars(xmlDocPtr doc ATTRIBUTE_UNUSED, const xmlChar *input) {
const xmlChar *cur = input;
xmlChar *buffer = NULL;
xmlChar *out = NULL;
- int buffer_size = 0;
+ size_t buffer_size = 0;
if (input == NULL) return(NULL);
/*
@@ -668,8 +673,8 @@ xmlEncodeSpecialChars(xmlDocPtr doc ATTRIBUTE_UNUSED, const xmlChar *input) {
out = buffer;
while (*cur != '\0') {
- if (out - buffer > buffer_size - 10) {
- int indx = out - buffer;
+ size_t indx = out - buffer;
+ if (indx + 10 > buffer_size) {
growBufferReentrant();
out = &buffer[indx];
@@ -718,6 +723,11 @@ xmlEncodeSpecialChars(xmlDocPtr doc ATTRIBUTE_UNUSED, const xmlChar *input) {
}
*out++ = 0;
return(buffer);
+
+mem_error:
+ xmlEntitiesErrMemory("xmlEncodeSpecialChars: realloc failed");
+ xmlFree(buffer);
+ return(NULL);
}
/**
diff --git a/src/libs/libxml2-2.6.31/include/libxml/parser.h b/src/libs/libxml2-2.6.31/include/libxml/parser.h
index fa700bb7..694ec238 100644
--- a/src/libs/libxml2-2.6.31/include/libxml/parser.h
+++ b/src/libs/libxml2-2.6.31/include/libxml/parser.h
@@ -299,6 +299,7 @@ struct _xmlParserCtxt {
xmlParserMode parseMode; /* the parser mode */
unsigned long nbentities; /* number of entities references */
unsigned long sizeentities; /* size of parsed entities */
+ unsigned long sizeentcopy; /* volume of entity copy */
};
/**
diff --git a/src/libs/libxml2-2.6.31/include/libxml/parserInternals.h b/src/libs/libxml2-2.6.31/include/libxml/parserInternals.h
index 7ac0ce6e..56f3ce81 100644
--- a/src/libs/libxml2-2.6.31/include/libxml/parserInternals.h
+++ b/src/libs/libxml2-2.6.31/include/libxml/parserInternals.h
@@ -30,6 +30,15 @@ extern "C" {
*/
XMLPUBVAR unsigned int xmlParserMaxDepth;
+/**
+ * XML_MAX_TEXT_LENGTH:
+ *
+ * Maximum size allowed for a single text node when building a tree.
+ * This is not a limitation of the parser but a safety boundary feature,
+ * use XML_PARSE_HUGE option to override it.
+ */
+#define XML_MAX_TEXT_LENGTH 10000000
+
/**
* XML_MAX_NAMELEN:
*
diff --git a/src/libs/libxml2-2.6.31/include/libxml/xmlexports.h b/src/libs/libxml2-2.6.31/include/libxml/xmlexports.h
index 0fee408c..7201ff09 100644
--- a/src/libs/libxml2-2.6.31/include/libxml/xmlexports.h
+++ b/src/libs/libxml2-2.6.31/include/libxml/xmlexports.h
@@ -148,11 +148,12 @@
#endif
/* bird/VirtualBox: Visibility attributes - start */
+/* frank: changed to "hidden" */
#if defined(VBOX_HAVE_VISIBILITY_HIDDEN) && !defined(LIBXML_STATIC) && defined(IN_LIBXML)
#undef XMLPUBFUN
#undef XMLPUBVAR
- #define XMLPUBFUN __attribute__((visibility("default")))
- #define XMLPUBVAR __attribute__((visibility("default"))) extern
+ #define XMLPUBFUN __attribute__((visibility("hidden")))
+ #define XMLPUBVAR __attribute__((visibility("hidden"))) extern
#endif
/* bird/VirtualBox: Visibility attributes - end */
diff --git a/src/libs/libxml2-2.6.31/parser.c b/src/libs/libxml2-2.6.31/parser.c
index 29432c91..0c1f8e82 100644
--- a/src/libs/libxml2-2.6.31/parser.c
+++ b/src/libs/libxml2-2.6.31/parser.c
@@ -40,6 +40,7 @@
#endif
#include <stdlib.h>
+#include <limits.h>
#include <string.h>
#include <stdarg.h>
#include <libxml/xmlmemory.h>
@@ -109,16 +110,33 @@ xmlFatalErr(xmlParserCtxtPtr ctxt, xmlParserErrors error, const char *info);
* boundary feature.
*/
static int
-xmlParserEntityCheck(xmlParserCtxtPtr ctxt, unsigned long size,
- xmlEntityPtr ent)
+xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size,
+ xmlEntityPtr ent, size_t replacement)
{
- unsigned long consumed = 0;
+ size_t consumed = 0;
if (ctxt == NULL)
return (0);
if (ctxt->lastError.code == XML_ERR_ENTITY_LOOP)
return (1);
- if (size != 0) {
+ if (replacement != 0) {
+ if (replacement < XML_MAX_TEXT_LENGTH)
+ return(0);
+
+ /*
+ * If the volume of entity copy reaches 10 times the
+ * amount of parsed data and over the large text threshold
+ * then that's very likely to be an abuse.
+ */
+ if (ctxt->input != NULL) {
+ consumed = ctxt->input->consumed +
+ (ctxt->input->cur - ctxt->input->base);
+ }
+ consumed += ctxt->sizeentities;
+
+ if (replacement < XML_PARSER_NON_LINEAR * consumed)
+ return(0);
+ } else if (size != 0) {
/*
* Do the check based on the replacement size of the entity
*/
@@ -164,7 +182,6 @@ xmlParserEntityCheck(xmlParserCtxtPtr ctxt, unsigned long size,
*/
return (0);
}
-
xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
return (1);
}
@@ -2269,12 +2286,12 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
*/
#define growBuffer(buffer, n) { \
xmlChar *tmp; \
- buffer##_size *= 2; \
- buffer##_size += n; \
- tmp = (xmlChar *) \
- xmlRealloc(buffer, buffer##_size * sizeof(xmlChar)); \
+ size_t new_size = buffer##_size * 2 + n; \
+ if (new_size < buffer##_size) goto mem_error; \
+ tmp = (xmlChar *) xmlRealloc(buffer, new_size); \
if (tmp == NULL) goto mem_error; \
buffer = tmp; \
+ buffer##_size = new_size; \
}
/**
@@ -2300,13 +2317,13 @@ xmlChar *
xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
int what, xmlChar end, xmlChar end2, xmlChar end3) {
xmlChar *buffer = NULL;
- int buffer_size = 0;
+ size_t buffer_size = 0;
+ size_t nbchars = 0;
xmlChar *current = NULL;
const xmlChar *last;
xmlEntityPtr ent;
int c,l;
- int nbchars = 0;
if ((ctxt == NULL) || (str == NULL) || (len < 0))
return(NULL);
@@ -2321,7 +2338,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
* allocate a translation buffer.
*/
buffer_size = XML_PARSER_BIG_BUFFER_SIZE;
- buffer = (xmlChar *) xmlMallocAtomic(buffer_size * sizeof(xmlChar));
+ buffer = (xmlChar *) xmlMallocAtomic(buffer_size);
if (buffer == NULL) goto mem_error;
/*
@@ -2341,7 +2358,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
if (val != 0) {
COPY_BUF(0,buffer,nbchars,val);
}
- if (nbchars > buffer_size - XML_PARSER_BUFFER_SIZE) {
+ if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
}
} else if ((c == '&') && (what & XML_SUBSTITUTE_REF)) {
@@ -2358,7 +2375,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
(ent->etype == XML_INTERNAL_PREDEFINED_ENTITY)) {
if (ent->content != NULL) {
COPY_BUF(0,buffer,nbchars,ent->content[0]);
- if (nbchars > buffer_size - XML_PARSER_BUFFER_SIZE) {
+ if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
}
} else {
@@ -2376,9 +2393,8 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
current = rep;
while (*current != 0) { /* non input consuming loop */
buffer[nbchars++] = *current++;
- if (nbchars >
- buffer_size - XML_PARSER_BUFFER_SIZE) {
- if (xmlParserEntityCheck(ctxt, nbchars, ent)) {
+ if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
+ if (xmlParserEntityCheck(ctxt, nbchars, ent, 0)) {
xmlFree(rep);
goto int_error;
}
@@ -2392,7 +2408,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
const xmlChar *cur = ent->name;
buffer[nbchars++] = '&';
- if (nbchars > buffer_size - i - XML_PARSER_BUFFER_SIZE) {
+ if (nbchars + i + XML_PARSER_BUFFER_SIZE > buffer_size) {
growBuffer(buffer, i + XML_PARSER_BUFFER_SIZE);
}
for (;i > 0;i--)
@@ -2419,9 +2435,8 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
current = rep;
while (*current != 0) { /* non input consuming loop */
buffer[nbchars++] = *current++;
- if (nbchars >
- buffer_size - XML_PARSER_BUFFER_SIZE) {
- if (xmlParserEntityCheck(ctxt, nbchars, ent)) {
+ if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
+ if (xmlParserEntityCheck(ctxt, nbchars, ent, 0)) {
xmlFree(rep);
goto int_error;
}
@@ -2434,8 +2449,8 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
} else {
COPY_BUF(l,buffer,nbchars,c);
str += l;
- if (nbchars > buffer_size - XML_PARSER_BUFFER_SIZE) {
- growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
+ if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
+ growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
}
}
if (str < last)
@@ -3194,8 +3209,8 @@ static xmlChar *
xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
xmlChar limit = 0;
xmlChar *buf = NULL;
- int len = 0;
- int buf_size = 0;
+ size_t len = 0;
+ size_t buf_size = 0;
int c, l, in_space = 0;
xmlChar *current = NULL;
xmlEntityPtr ent;
@@ -3217,7 +3232,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
* allocate a translation buffer.
*/
buf_size = XML_PARSER_BUFFER_SIZE;
- buf = (xmlChar *) xmlMallocAtomic(buf_size * sizeof(xmlChar));
+ buf = (xmlChar *) xmlMallocAtomic(buf_size);
if (buf == NULL) goto mem_error;
/*
@@ -3234,7 +3249,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
if (val == '&') {
if (ctxt->replaceEntities) {
- if (len > buf_size - 10) {
+ if (len + 10 > buf_size) {
growBuffer(buf, 10);
}
buf[len++] = '&';
@@ -3243,7 +3258,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
* The reparsing will be done in xmlStringGetNodeList()
* called by the attribute() function in SAX.c
*/
- if (len > buf_size - 10) {
+ if (len + 10 > buf_size) {
growBuffer(buf, 10);
}
buf[len++] = '&';
@@ -3253,7 +3268,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
buf[len++] = ';';
}
} else {
- if (len > buf_size - 10) {
+ if (len + 10 > buf_size) {
growBuffer(buf, 10);
}
len += xmlCopyChar(0, &buf[len], val);
@@ -3265,7 +3280,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
ctxt->nbentities += ent->owner;
if ((ent != NULL) &&
(ent->etype == XML_INTERNAL_PREDEFINED_ENTITY)) {
- if (len > buf_size - 10) {
+ if (len + 10 > buf_size) {
growBuffer(buf, 10);
}
if ((ctxt->replaceEntities == 0) &&
@@ -3290,14 +3305,14 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
current = rep;
while (*current != 0) { /* non input consuming */
buf[len++] = *current++;
- if (len > buf_size - 10) {
+ if (len + 10 > buf_size) {
growBuffer(buf, 10);
}
}
xmlFree(rep);
}
} else {
- if (len > buf_size - 10) {
+ if (len + 10 > buf_size) {
growBuffer(buf, 10);
}
if (ent->content != NULL)
@@ -3324,7 +3339,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
* Just output the reference
*/
buf[len++] = '&';
- while (len > buf_size - i - 10) {
+ while (len + i + 10 > buf_size) {
growBuffer(buf, i + 10);
}
for (;i > 0;i--)
@@ -3337,7 +3352,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
if ((len != 0) || (!normalize)) {
if ((!normalize) || (!in_space)) {
COPY_BUF(l,buf,len,0x20);
- if (len > buf_size - 10) {
+ if (len + 10 > buf_size) {
growBuffer(buf, 10);
}
}
@@ -3346,7 +3361,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
} else {
in_space = 0;
COPY_BUF(l,buf,len,c);
- if (len > buf_size - 10) {
+ if (len + 10 > buf_size) {
growBuffer(buf, 10);
}
}
@@ -3356,7 +3371,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
c = CUR_CHAR(l);
}
if ((in_space) && (normalize)) {
- while (buf[len - 1] == 0x20) len--;
+ while ((len > 0) && (buf[len - 1] == 0x20)) len--;
}
buf[len] = 0;
if (RAW == '<') {
@@ -3371,7 +3386,18 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
}
} else
NEXT;
- if (attlen != NULL) *attlen = len;
+
+ /*
+ * There we potentially risk an overflow, don't allow attribute value of
+ * lenght more than INT_MAX it is a very reasonnable assumption !
+ */
+ if (len >= INT_MAX) {
+ xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
+ "AttValue lenght too long\n");
+ goto mem_error;
+ }
+
+ if (attlen != NULL) *attlen = (int) len;
return(buf);
mem_error:
@@ -6267,7 +6293,7 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
xmlFreeNodeList(list);
return;
}
- if (xmlParserEntityCheck(ctxt, 0, ent)) {
+ if (xmlParserEntityCheck(ctxt, 0, ent, 0)) {
xmlFreeNodeList(list);
return;
}
@@ -6420,6 +6446,13 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
xmlNodePtr nw = NULL, cur, firstChild = NULL;
/*
+ * We are copying here, make sure there is no abuse
+ */
+ ctxt->sizeentcopy += ent->length;
+ if (xmlParserEntityCheck(ctxt, 0, ent, ctxt->sizeentcopy))
+ return;
+
+ /*
* when operating on a reader, the entities definitions
* are always owning the entities subtree.
if (ctxt->parseMode == XML_PARSE_READER)
@@ -6459,6 +6492,14 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
} else if (list == NULL) {
xmlNodePtr nw = NULL, cur, next, last,
firstChild = NULL;
+
+ /*
+ * We are copying here, make sure there is no abuse
+ */
+ ctxt->sizeentcopy += ent->length;
+ if (xmlParserEntityCheck(ctxt, 0, ent, ctxt->sizeentcopy))
+ return;
+
/*
* Copy the entity child list and make it the new
* entity child list. The goal is to make sure any
@@ -13297,6 +13338,7 @@ xmlCtxtReset(xmlParserCtxtPtr ctxt)
ctxt->catalogs = NULL;
ctxt->nbentities = 0;
ctxt->sizeentities = 0;
+ ctxt->sizeentcopy = 0;
xmlInitNodeInfoSeq(&ctxt->node_seq);
if (ctxt->attsDefault != NULL) {
diff --git a/src/libs/libxml2-2.6.31/parserInternals.c b/src/libs/libxml2-2.6.31/parserInternals.c
index 758c6b33..8b4711a8 100644
--- a/src/libs/libxml2-2.6.31/parserInternals.c
+++ b/src/libs/libxml2-2.6.31/parserInternals.c
@@ -1671,6 +1671,8 @@ xmlInitParserCtxt(xmlParserCtxtPtr ctxt)
ctxt->charset = XML_CHAR_ENCODING_UTF8;
ctxt->catalogs = NULL;
ctxt->nbentities = 0;
+ ctxt->sizeentities = 0;
+ ctxt->sizeentcopy = 0;
xmlInitNodeInfoSeq(&ctxt->node_seq);
return(0);
}
diff --git a/src/libs/xpcom18a4/Config.kmk b/src/libs/xpcom18a4/Config.kmk
index fb9c1afe..71acf9c8 100644
--- a/src/libs/xpcom18a4/Config.kmk
+++ b/src/libs/xpcom18a4/Config.kmk
@@ -4,7 +4,7 @@
#
#
-# Copyright (C) 2006-2010 Oracle Corporation
+# Copyright (C) 2006-2013 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
@@ -25,6 +25,7 @@ endif
#
VBOX_PATH_XPCOM_SRC := $(PATH_ROOT)/src/libs/xpcom18a4
+
#
# Template for building the XPCOM libraries (shared).
#
@@ -46,7 +47,6 @@ TEMPLATE_XPCOM_CXXFLAGS.release = -O
TEMPLATE_XPCOM_CXXFLAGS.profile = -O
TEMPLATE_XPCOM_CXXFLAGS.darwin = -fpascal-strings -fshort-wchar -fno-common -fno-rtti $(VBOX_DARWIN_DEF_SDK_CXXFLAGS)
TEMPLATE_XPCOM_CXXFLAGS.freebsd = -pthread
-TEMPLATE_XPCOM_CXXFLAGS.l4 = -fno-exceptions -nostdinc
TEMPLATE_XPCOM_CXXFLAGS.linux = -pthread
TEMPLATE_XPCOM_CXXFLAGS.solaris = -fno-omit-frame-pointer # for now anyway.
TEMPLATE_XPCOM_CFLAGS = -g -pipe -Wall -Wno-unused -Wno-parentheses -Wno-uninitialized $(VBOX_GCC_fvisibility-hidden) \
@@ -56,7 +56,6 @@ TEMPLATE_XPCOM_CFLAGS.amd64 = -m64
TEMPLATE_XPCOM_CFLAGS.release = -O
TEMPLATE_XPCOM_CFLAGS.profile = -O
TEMPLATE_XPCOM_CFLAGS.freebsd = -pthread
-TEMPLATE_XPCOM_CFLAGS.l4 = -nostdinc
TEMPLATE_XPCOM_CFLAGS.linux = -pthread -ansi
TEMPLATE_XPCOM_CFLAGS.solaris = -fno-omit-frame-pointer # for now anyway.
TEMPLATE_XPCOM_DEFS = \
@@ -76,7 +75,6 @@ TEMPLATE_XPCOM_DEFS.darwin = OSTYPE=\"Darwin8.8.1\" OSARCH=\"Darwin\" XP
TEMPLATE_XPCOM_DEFS.darwin.amd64 = VBOX_MACOSX_FOLLOWS_UNIX_IO
TEMPLATE_XPCOM_DEFS.freebsd = OSTYPE=\"FreeBSD5+\" OSARCH=\"FreeBSD\" XP_UNIX=1 FREEBSD=1 HAVE_VISIBILITY_ATTRIBUTE=1
TEMPLATE_XPCOM_DEFS.linux = OSTYPE=\"Linux2.6\" OSARCH=\"Linux\" XP_UNIX=1 _GNU_SOURCE HAVE_VISIBILITY_ATTRIBUTE=1 ## @todo LINUX=1
-TEMPLATE_XPCOM_DEFS.l4 = OSTYPE=\"L4ENV\" OSARCH=\"L4\" XP_UNIX=1 L4ENV HAVE_VISIBILITY_ATTRIBUTE=1
# Don't define BSD_SELECT because bsdselect() from kLIBC <= 0.6.3 has problems on SMP
TEMPLATE_XPCOM_DEFS.os2 = OSTYPE=\"OS/2_4.5\" OSARCH=\"OS/2\" XP_OS2 XP_PC OS2=4
TEMPLATE_XPCOM_DEFS.solaris = OSTYPE=\"Solaris10\" OSARCH=\"Solaris\" XP_UNIX=1 XP_SOLARIS=1 HAVE_LIBDL=1 HAVE_SENDFILEV=1 SOLARIS=1 _REENTRANT
@@ -125,11 +123,6 @@ TEMPLATE_XPCOM_INCS = $(VBOX_PATH_XPCOM_SRC)/xpcom/build \
$(VBOX_PATH_SDK)/bindings/xpcom/include/ipcd \
.
TEMPLATE_XPCOM_INCS.darwin = $(VBOX_PATH_MACOSX_SDK)/Developer/Headers/FlatCarbon
-TEMPLATE_XPCOM_INCS.l4 = $(L4_INCDIR) $(VBOX_L4_GCC3_INCS)
-TEMPLATE_XPCOM_LDFLAGS.l4 = $(L4_DIR)/lib/x86_586/crt0.o \
- -T$(L4_DIR)/lib/x86_586/main_rel.ld -nostdlib \
- # -Wl,--whole-archive,--no-allow-shlib-undefined
-TEMPLATE_XPCOM_LIBS.l4 = $(VBOX_GCC_LIBGCC)
TEMPLATE_XPCOM_LIBS.solaris = sendfile
TEMPLATE_XPCOM_ORDERDEPS = $(foreach hdrinst, $(filter %-HEADERS, $(INSTALLS)), $($(hdrinst)_1_TARGET)) \
$(PATH_TARGET)/VBox-xpcom-idl-timestamp
@@ -167,14 +160,7 @@ TEMPLATE_XPCOMEXE_LIBS = \
$(TEMPLATE_XPCOM_LIBS)
TEMPLATE_XPCOMEXE_LIBS.freebsd = $(LIB_PTHREAD)
TEMPLATE_XPCOMEXE_LIBS.linux = dl $(LIB_PTHREAD)
-TEMPLATE_XPCOMEXE_LIBS.l4 = $(LIB_RUNTIME) $(VBOX_GCC_LIBGCC)
TEMPLATE_XPCOMEXE_LDFLAGS.darwin = -bind_at_load $(filter-out -current_version -compatibility_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD),$(TEMPLATE_XPCOM_LDFLAGS.darwin))
-TEMPLATE_XPCOMEXE_LDFLAGS.l4 = $(L4_DIR)/lib/x86_586/crt0.o \
- -T$(L4_DIR)/lib/x86_586/main_dyn.ld -nostdlib -lgcc \
- -Wl,--export-dynamic,--dynamic-linker=libld-l4.s.so \
- -Wl,--rpath-link,$(L4_LIBDIR) \
- # -Wl,--whole-archive,--no-allow-shlib-undefined
-# -Wno-format
#
@@ -184,6 +170,15 @@ TEMPLATE_XPCOMTSTEXE = XPCOM executable files (testcases)
TEMPLATE_XPCOMTSTEXE_EXTENDS = XPCOMEXE
TEMPLATE_XPCOMTSTEXE_CXXFLAGS = $(TEMPLATE_XPCOMEXE_CXXFLAGS) -Wno-format
TEMPLATE_XPCOMTSTEXE_CFLAGS = $(TEMPLATE_XPCOMEXE_CFLAGS) -Wno-format
+TEMPLATE_XPCOMTSTEXE_INST = $(INST_TESTCASE)
+ifdef VBOX_WITH_RUNPATH
+ TEMPLATE_XPCOMTSTEXE_LDFLAGS = '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)' $(TEMPLATE_XPCOMEXE_LDFLAGS)
+else ifdef VBOX_WITH_RELATIVE_RUNPATH
+ TEMPLATE_XPCOMTSTEXE_LDFLAGS = '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)/..' $(TEMPLATE_XPCOMEXE_LDFLAGS)
+endif
+if "$(KBUILD_TARGET)" == "win" && defined(VBOX_SIGNING_MODE)
+ TEMPLATE_XPCOMTSTEXE_POST_CMDS =
+endif
#
@@ -267,6 +262,28 @@ TEMPLATE_XPCOMOSX107_INCS.darwin = $(VBOX_PATH_MACOSX_SDK_10_7)/Developer
#
+# Creates a x86 target for an XPCOM target if so desired.
+# The target is specified as the first argument: $(evalcall VBOX_XPCOM_X86,target).
+#
+ifdef VBOX_WITH_32_ON_64_MAIN_API
+ define VBOX_XPCOM_X86
+ $(1)-x86_TEMPLATE := $(strip $($(1)_TEMPLATE))-x86
+ $(1)-x86_EXTENDS := $(1)
+ endef
+else
+ define VBOX_XPCOM_X86
+ endef
+endif
+
+# Corresponding 32-bit template(s).
+TEMPLATE_XPCOM-x86 = 32-bit XPCOM libraries (shared)
+TEMPLATE_XPCOM-x86_EXTENDS = XPCOM
+TEMPLATE_XPCOM-x86_BLD_TRG_ARCH = x86
+TEMPLATE_XPCOM-x86_DEFS = $(TEMPLATE_XPCOM_DEFS) VBOX_IN_32_ON_64_MAIN_API
+TEMPLATE_XPCOM-x86_LIBS = $(subst $(LIB_RUNTIME),$(VBOX_LIB_RUNTIME_X86),$(TEMPLATE_XPCOM_LIBS))
+
+
+#
# The list of XPCOM's IDL files.
# This is used by the java bindings as well as the XPCOM build.
#
diff --git a/src/libs/xpcom18a4/Makefile.kmk b/src/libs/xpcom18a4/Makefile.kmk
index ce0079fc..6b7d8fb7 100644
--- a/src/libs/xpcom18a4/Makefile.kmk
+++ b/src/libs/xpcom18a4/Makefile.kmk
@@ -4,7 +4,7 @@
#
#
-# Copyright (C) 2006-2012 Oracle Corporation
+# Copyright (C) 2006-2013 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
@@ -74,7 +74,7 @@ BLDDIRS += \
#
ifndef VBOX_ONLY_SDK
-LIBRARIES += \
+VBOX_XPCOM_LIBRARIES := \
VBox-xpcom-nspr \
VBox-xpcom-typelib \
VBox-xpcom-string \
@@ -86,26 +86,27 @@ LIBRARIES += \
VBox-xpcom-xptinfo \
VBox-xpcom-xptcall \
VBox-xpcom-proxy \
- VBoxXPCOMGlue_s \
- VBoxXPCOMGlue \
- VBox-xpcom-ipcutils \
VBox-xpcom-ipcshared \
- VBox-xpcom-ipcdlock \
- VBox-xpcom-ipctransmgr \
- VBox-xpcom-ipctmgrcom
+ VBoxXPCOMGlue_s \
+ $(if $(VBOX_WITH_XPCOM_GLUE_WHICH_IS_UNUSED),VBoxXPCOMGlue,)
+LIBRARIES += $(VBOX_XPCOM_LIBRARIES)
-DLLS += \
- VBoxXPCOM \
+VBOX_XPCOM_DLLS := \
+ VBoxXPCOM \
VBoxXPCOMIPCC
+DLLS += $(VBOX_XPCOM_DLLS)
+
+ ifdef VBOX_WITH_32_ON_64_MAIN_API
+LIBRARIES += $(addsuffix -x86,$(VBOX_XPCOM_LIBRARIES))
+DLLS += $(addsuffix -x86,$(VBOX_XPCOM_DLLS))
+ endif
+
ifdef VBOX_WITH_TESTCASES
PROGRAMS += \
- tstnsIFileEnumerator \
tstnsIFileTest \
tstTestArray \
- tstTestAtoms \
tstTestAutoLock \
- tstTestCallTemplates \
tstTestCOMPtr \
tstTestCOMPtrEq \
tstTestCRT \
@@ -114,7 +115,6 @@ PROGRAMS += \
tstTestID \
tstTestObserverService \
tstTestPipes \
- tstTestServMgr \
tstTestThreads \
tstTestXPIDLString \
tstTestDeque \
@@ -122,10 +122,14 @@ PROGRAMS += \
tstTestMinStringAPI \
tstTestStrings \
tstPrimitiveTest \
- tstSimpleTypeLib \
- tstXptDump \
- tstXptLink
-# tstTestPermanentAtoms
+# tstnsIFileEnumerator
+# tstTestAtoms
+# tstTestServMgr
+# tstTestCallTemplates
+# tstTestPermanentAtoms
+# tstSimpleTypeLib
+# tstXptDump
+# tstXptLink
endif # VBOX_WITH_TESTCASES
PROGRAMS += VBoxXPCOMIPCD
@@ -200,7 +204,6 @@ NSPRPUB-MD-HEADERS_SOURCES = \
nsprpub/pr/include/md/_iprt_atomic.h \
nsprpub/pr/include/md/_darwin.h \
nsprpub/pr/include/md/_freebsd.h \
- nsprpub/pr/include/md/_l4v2.h \
nsprpub/pr/include/md/_linux.h \
nsprpub/pr/include/md/_macos.h \
nsprpub/pr/include/md/_netbsd.h \
@@ -222,7 +225,6 @@ NSPRPUB-MD-HEADERS_SOURCES = \
nsprpub/pr/include/md/_os2.cfg \
nsprpub/pr/include/md/_solaris32.cfg \
nsprpub/pr/include/md/_solaris64.cfg \
- nsprpub/pr/include/md/_l4v2.cfg
NSPRPUB-OBS-HEADERS_INST = $(INST_SDK)bindings/xpcom/include/nsprpub/obsolete/
NSPRPUB-OBS-HEADERS_IFFLAGS = -m 644
@@ -528,15 +530,6 @@ VBox-xpcom-nspr_DEFS.linux = \
HAVE_CVAR_BUILT_ON_SEM \
_PR_PTHREADS
# _BSD_SOURCE is here to keep the Glibc header files happy and make them include the right things
-# FIXME: L4 should be defined by _linux.cfg
-VBox-xpcom-nspr_DEFS.l4 = \
- L4=1 \
- _REENTRANT=1 \
- _LARGEFILE64_SOURCE=1 \
- _POSIX_SOURCE=1 \
- _BSD_SOURCE=1 \
- HAVE_FCNTL_FILE_LOCKING=1 \
- HAVE_CVAR_BUILT_ON_SEM
VBox-xpcom-nspr_DEFS.netbsd = \
_PR_PTHREADS
VBox-xpcom-nspr_DEFS.openbsd = \
@@ -630,30 +623,6 @@ VBox-xpcom-nspr_SOURCES.darwin.x86 = nsprpub/pr/src/md/unix/os_Darwin_x86.s
VBox-xpcom-nspr_SOURCES.freebsd = nsprpub/pr/src/md/unix/freebsd.c
-VBox-xpcom-nspr_SOURCES.l4 = \
- nsprpub/pr/src/io/prfile.c /* why not for Linux? */ \
- nsprpub/pr/src/io/prio.c /* "" "" "" "" */ \
- nsprpub/pr/src/io/prsocket.c \
- nsprpub/pr/src/md/unix/unix.c \
- nsprpub/pr/src/md/unix/unix_errors.c \
- nsprpub/pr/src/md/unix/uxpoll.c \
- nsprpub/pr/src/md/unix/uxproces.c \
- nsprpub/pr/src/md/unix/uxrng.c \
- nsprpub/pr/src/md/unix/uxshm.c \
- nsprpub/pr/src/md/unix/uxwrap.c \
- nsprpub/pr/src/md/unix/l4env.c \
- nsprpub/pr/src/threads/prcthr.c \
- nsprpub/pr/src/threads/prmon.c \
- nsprpub/pr/src/threads/combined/prucpu.c \
- nsprpub/pr/src/threads/combined/prucv.c \
- nsprpub/pr/src/threads/combined/prulock.c \
- nsprpub/pr/src/threads/combined/prustack.c \
- nsprpub/pr/src/threads/combined/pruthr.c
-# nsprpub/pr/src/md/l4env/prnetdb.c \
-# nsprpub/pr/src/md/l4env/threads.c
-VBox-xpcom-nspr_SOURCES.l4.x86 = nsprpub/pr/src/md/unix/os_Linux_x86.s
-VBox-xpcom-nspr_SOURCES.l4.amd64 = nsprpub/pr/src/md/unix/os_Linux_x86_64.s
-
VBox-xpcom-nspr_SOURCES.linux = nsprpub/pr/src/md/unix/linux.c
VBox-xpcom-nspr_SOURCES.linux.x86 = nsprpub/pr/src/md/unix/os_Linux_x86.s
VBox-xpcom-nspr_SOURCES.linux.amd64 = nsprpub/pr/src/md/unix/os_Linux_x86_64.s
@@ -710,6 +679,8 @@ $$(VBox-xpcom-nspr_0_OUTDIR)/_pl_bld.h: | $$(VBox-xpcom-nspr_0_OUTDIR)/
$(call MSG_GENERATE,,$@)
$(QUIET)$(APPEND) -t $@ '#define _BUILD_STRING "$(date +%Y-%m-%d %T)"'
+$(evalcall2 VBOX_XPCOM_X86,VBox-xpcom-nspr)
+
VBox-xpcom-typelib_TEMPLATE = XPCOM
VBox-xpcom-typelib_INSTTYPE = none
@@ -717,6 +688,7 @@ VBox-xpcom-typelib_SOURCES = \
xpcom/typelib/xpt/src/xpt_arena.c \
xpcom/typelib/xpt/src/xpt_struct.c \
xpcom/typelib/xpt/src/xpt_xdr.c
+$(evalcall VBOX_XPCOM_X86,VBox-xpcom-typelib)
VBox-xpcom-string_TEMPLATE = XPCOM
VBox-xpcom-string_INSTTYPE = none
@@ -732,6 +704,7 @@ VBox-xpcom-string_SOURCES = \
xpcom/string/src/nsString.cpp \
xpcom/string/src/nsStringComparator.cpp \
xpcom/string/src/nsStringObsolete.cpp
+$(evalcall VBOX_XPCOM_X86,VBox-xpcom-string)
VBox-xpcom-base_TEMPLATE = XPCOM
VBox-xpcom-base_INSTTYPE = none
@@ -747,6 +720,7 @@ VBox-xpcom-base_SOURCES = \
xpcom/base/nsMemoryImpl.cpp \
xpcom/base/nsTraceRefcntImpl.cpp \
xpcom/base/nsStackFrameUnix.cpp
+$(evalcall VBOX_XPCOM_X86,VBox-xpcom-base)
VBox-xpcom-ds_TEMPLATE = XPCOM
VBox-xpcom-ds_INSTTYPE = none
@@ -786,11 +760,15 @@ VBox-xpcom-ds_SOURCES = \
xpcom/ds/nsArray.cpp \
xpcom/ds/nsArrayEnumerator.cpp
# xpcom/ds/nsHashPropertyBag.cpp
+$(evalcall VBOX_XPCOM_X86,VBox-xpcom-ds)
# @todo what about MOZ_USER_DIR?
VBox-xpcom-io_TEMPLATE = XPCOM
VBox-xpcom-io_INSTTYPE = none
VBox-xpcom-io_DEFS = _IMPL_NS_COM MOZ_USER_DIR=\".mozilla\"
+if defined(VBOX_WITH_HARDENING) && defined(VBOX_PATH_APP_PRIVATE_ARCH)
+ VBox-xpcom-io_DEFS += MOZ_DEFAULT_VBOX_XPCOM_HOME=\"$(VBOX_PATH_APP_PRIVATE_ARCH)\"
+endif
VBox-xpcom-io_INCS.darwin = \
xpcom/MoreFiles
VBox-xpcom-io_SOURCES = \
@@ -818,14 +796,13 @@ VBox-xpcom-io_SOURCES.darwin.x86 = \
xpcom/io/nsLocalFileOSX.cpp \
xpcom/MoreFiles/FSCopyObject.c \
xpcom/MoreFiles/MoreFilesX.c
-VBox-xpcom-io_SOURCES.l4 = \
- xpcom/io/nsLocalFileL4.cpp
if1of ($(KBUILD_TARGET) $(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), freebsd linux netbsd openbsd solaris darwin.amd64)
VBox-xpcom-io_SOURCES += \
xpcom/io/nsLocalFileUnix.cpp
endif
VBox-xpcom-io_SOURCES.os2 = \
xpcom/io/nsLocalFileOS2.cpp
+$(evalcall VBOX_XPCOM_X86,VBox-xpcom-io)
VBox-xpcom-components_TEMPLATE = XPCOM
VBox-xpcom-components_INSTTYPE = none
@@ -838,6 +815,7 @@ VBox-xpcom-components_SOURCES = \
xpcom/components/nsServiceManagerObsolete.cpp \
xpcom/components/xcDll.cpp \
xpcom/components/nsStaticComponentLoader.cpp
+$(evalcall VBOX_XPCOM_X86,VBox-xpcom-components)
VBox-xpcom-threads_TEMPLATE = XPCOM
VBox-xpcom-threads_INSTTYPE = none
@@ -852,6 +830,7 @@ VBox-xpcom-threads_SOURCES = \
xpcom/threads/nsTimerImpl.cpp \
xpcom/threads/nsProcessCommon.cpp \
xpcom/threads/TimerThread.cpp
+$(evalcall VBOX_XPCOM_X86,VBox-xpcom-threads)
VBox-xpcom-xptinfo_TEMPLATE = XPCOM
VBox-xpcom-xptinfo_INSTTYPE = none
@@ -866,13 +845,13 @@ VBox-xpcom-xptinfo_SOURCES = \
xpcom/reflect/xptinfo/src/xptiWorkingSet.cpp \
xpcom/reflect/xptinfo/src/xptiZipItem.cpp \
xpcom/reflect/xptinfo/src/xptiZipLoader.cpp
+$(evalcall VBOX_XPCOM_X86,VBox-xpcom-xptinfo)
VBox-xpcom-xptcall_TEMPLATE = XPCOM
VBox-xpcom-xptcall_INSTTYPE = none
VBox-xpcom-xptcall_DEFS = _IMPL_NS_COM _IMPL_NS_BASE EXPORT_XPTC_API
VBox-xpcom-xptcall_DEFS.darwin = KEEP_STACK_16_BYTE_ALIGNED
-VBox-xpcom-xptcall_DEFS.l4 = L4
VBox-xpcom-xptcall_DEFS.os2 = MOZ_NEED_LEADING_UNDERSCORE
VBox-xpcom-xptcall_INCS.os2 = xpcom/reflect/xptcall/src/md/unix
VBox-xpcom-xptcall_SOURCES = xpcom/reflect/xptcall/src/xptcall.cpp
@@ -901,39 +880,44 @@ else
xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_linux.cpp \
xpcom/reflect/xptcall/src/md/unix/xptcstubs_x86_64_linux.cpp
endif
-
xpcom/reflect/xptcall/src/md/unix/xptcstubs_x86_solaris.cpp_CXXFLAGS = -O0
# -O0 works fine, while -O1 doesn't. The gcc man page can't be listing all the -f*
# stuff that -O1 enables, because when using the options without -O1, it's -fomit-frame-pointer
# that triggers is, while -O1 -fno-omit-frame-pointer does not work. Anyway, it's probably a gcc/mozila
# bug and it's not worth investigating as I'm not the maintainger of the solaris gcc port. [bird, 2007-09-17]
+$(evalcall VBOX_XPCOM_X86,VBox-xpcom-xptcall)
+
VBox-xpcom-proxy_TEMPLATE = XPCOM
VBox-xpcom-proxy_INSTTYPE = none
VBox-xpcom-proxy_DEFS = _IMPL_NS_COM EXPORT_XPTC_API EXPORT_XPTI_API
-VBox-xpcom-proxy_SOURCES = xpcom/proxy/src/nsProxyEvent.cpp \
- xpcom/proxy/src/nsProxyEventClass.cpp \
- xpcom/proxy/src/nsProxyEventObject.cpp \
- xpcom/proxy/src/nsProxyObjectManager.cpp \
- xpcom/proxy/src/nsProxyRelease.cpp
+VBox-xpcom-proxy_SOURCES = \
+ xpcom/proxy/src/nsProxyEvent.cpp \
+ xpcom/proxy/src/nsProxyEventClass.cpp \
+ xpcom/proxy/src/nsProxyEventObject.cpp \
+ xpcom/proxy/src/nsProxyObjectManager.cpp \
+ xpcom/proxy/src/nsProxyRelease.cpp
+$(evalcall VBOX_XPCOM_X86,VBox-xpcom-proxy)
#
# The VBoxXPCOM Glue static libraries.
#
-# See http://developer.mozilla.org/en/docs/XPCOM_Glue for details about the
-# original XPCOM glue library purpose and usage.
-#
-# We don't really use the glue library in the described way because we don't
-# provide frozen APIs (yet), so all VBox XPCOM client applications are
-# dependent on the given version of both the VBox XPCOM runtime (binary
-# dependency) and VirtualBox component library (COM interface dependency). For
-# this reason, VBox client applications link to the VBox XPCOM shared library
-# directly (instead of linking to the standalone XPCOM glue library that would
-# dynamically search for and load the installed XPCOM runtime). For the same
-# reason, we link all parts of XPCOM into a single shared XPCOM library below
-# (as opposed to the original XPCOM where e.g. NSPR lives in a separate DLL).
+# This isn't the normal XPCOM glue (see the places in XPCOM where XPCOM_GLUE is
+# checked), VirtualBox has its own glue library and this means this isn't used
+# much (one reason is that we don't provide frozen APIs yet). All VBox XPCOM
+# client applications are dependent on the given version of both the VBox XPCOM
+# runtime (binary dependency) and VirtualBox component library (COM interface
+# dependency). For this reason, VBox client applications link to the VBox XPCOM
+# shared library directly (instead of linking to the standalone XPCOM glue
+# library that would dynamically search for and load the installed XPCOM
+# runtime). For the same reason, we link all parts of XPCOM into a single
+# shared XPCOM library below (as opposed to the original XPCOM where e.g. NSPR
+# lives in a separate DLL). Additionally there is VBox specific glue code to
+# make both the client and server side code build with both XPCOM and COM,
+# which should be made part of the SDK eventually, but this is a higher level
+# of abstraction than this XPCOM specific glue code.
#
VBoxXPCOMGlue_COMMON_SOURCES = \
xpcom/glue/nsCOMPtr.cpp \
@@ -950,18 +934,14 @@ VBoxXPCOMGlue_s_TEMPLATE = XPCOM
VBoxXPCOMGlue_s_INSTTYPE = none
VBoxXPCOMGlue_s_DEFS = _IMPL_NS_COM
VBoxXPCOMGlue_s_SOURCES = $(VBoxXPCOMGlue_COMMON_SOURCES)
+$(evalcall VBOX_XPCOM_X86,VBoxXPCOMGlue_s)
-# standalone glue library which all third-party client apps (if any) will link with
-# (currently not used anywhere (see above) but still built to make sure
-# the code inside #ifdef XPCOM_GLUE compiles)
+# standalone glue library which all third-party client apps (if any) will
+# link with (currently completely unused and nit built, to be part of the SDK)
VBoxXPCOMGlue_TEMPLATE = XPCOM
-VBoxXPCOMGlue_DEFS = XPCOM_GLUE
-VBoxXPCOMGlue_SOURCES = $(VBoxXPCOMGlue_COMMON_SOURCES) \
- xpcom/glue/standalone/nsXPCOMGlue.cpp \
- xpcom/glue/standalone/nsGREDirServiceProvider.cpp
-VBoxXPCOMGlue_SOURCES += \
- $(VBox-xpcom-string_1_TARGET)
+VBoxXPCOMGlue_SOURCES = $(VBoxXPCOMGlue_COMMON_SOURCES)
#VBoxXPCOMGlue_INST = lib/ $(INST_SDK)lib/
+$(evalcall VBOX_XPCOM_X86,VBoxXPCOMGlue)
#
@@ -1001,7 +981,7 @@ VBoxXPCOM_LIBS = \
VBoxXPCOM_LIBS.linux = \
pthread dl
-ifeq ($(filter-out freebsd l4 linux netbsd openbsd,$(KBUILD_TARGET)),) # gnu ld.
+ifeq ($(filter-out freebsd linux netbsd openbsd,$(KBUILD_TARGET)),) # gnu ld.
VBoxXPCOM_LDFLAGS = -Wl,--whole-archive \
$(VBox-xpcom-typelib_1_TARGET) \
$(VBox-xpcom-string_1_TARGET) \
@@ -1033,13 +1013,67 @@ VBoxXPCOM_LDFLAGS.solaris += -Wl,-z,allextract \
$(VBoxXPCOMGlue_s_1_TARGET) \
-Wl,-z,defaultextract
-#VBoxXPCOM_LIBS.l4 = $(L4_LIBDIR)/libxpcomstubs.a $(L4_LIBDIR)/../libuc_c++.a \
-# $(VBOX_PATH_L4_GCC3_INSTALL)/libsupc++.a $(VBOX_PATH_L4_GCC3_INSTALL)/libgcc_eh.a
# EF heap
#VBoxXPCOM_LIBS += $(LIB_RUNTIME_EF)
#VBoxXPCOM_LDFLAGS = -Wl,--whole-archive $(VBoxXPCOM_LIBS) -Wl,--no-whole-archive $(LIB_RUNTIME)
VBoxXPCOM_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxXPCOM.dylib
+#
+# The 32-bit VBoxXPCOM Shared Object, assembling all lib files.
+#
+VBoxXPCOM-x86_TEMPLATE = XPCOM-x86
+VBoxXPCOM-x86_EXTENDS = VBoxXPCOM
+VBoxXPCOM-x86_NAME = VBoxXPCOM-x86
+VBoxXPCOM-x86_LIBS = \
+ $(VBox-xpcom-typelib-x86_1_TARGET) \
+ $(VBox-xpcom-string-x86_1_TARGET) \
+ $(VBox-xpcom-base-x86_1_TARGET) \
+ $(VBox-xpcom-ds-x86_1_TARGET) \
+ $(VBox-xpcom-io-x86_1_TARGET) \
+ $(VBox-xpcom-components-x86_1_TARGET) \
+ $(VBox-xpcom-threads-x86_1_TARGET) \
+ $(VBox-xpcom-xptinfo-x86_1_TARGET) \
+ $(VBox-xpcom-xptcall-x86_1_TARGET) \
+ $(VBox-xpcom-proxy-x86_1_TARGET) \
+ $(VBox-xpcom-nspr-x86_1_TARGET) \
+ $(VBoxXPCOMGlue_s-x86_1_TARGET)
+
+ifeq ($(filter-out freebsd linux netbsd openbsd,$(KBUILD_TARGET)),) # gnu ld.
+VBoxXPCOM-x86_LDFLAGS = -Wl,--whole-archive \
+ $(VBox-xpcom-typelib-x86_1_TARGET) \
+ $(VBox-xpcom-string-x86_1_TARGET) \
+ $(VBox-xpcom-base-x86_1_TARGET) \
+ $(VBox-xpcom-ds-x86_1_TARGET) \
+ $(VBox-xpcom-io-x86_1_TARGET) \
+ $(VBox-xpcom-components-x86_1_TARGET) \
+ $(VBox-xpcom-threads-x86_1_TARGET) \
+ $(VBox-xpcom-xptinfo-x86_1_TARGET) \
+ $(VBox-xpcom-xptcall-x86_1_TARGET) \
+ $(VBox-xpcom-proxy-x86_1_TARGET) \
+ $(VBox-xpcom-nspr-x86_1_TARGET) \
+ $(VBoxXPCOMGlue_s-x86_1_TARGET) \
+ -Wl,--no-whole-archive
+endif
+
+VBoxXPCOM-x86_LDFLAGS.solaris += -Wl,-z,allextract \
+ $(VBox-xpcom-typelib-x86_1_TARGET) \
+ $(VBox-xpcom-string-x86_1_TARGET) \
+ $(VBox-xpcom-base-x86_1_TARGET) \
+ $(VBox-xpcom-ds-x86_1_TARGET) \
+ $(VBox-xpcom-io-x86_1_TARGET) \
+ $(VBox-xpcom-components-x86_1_TARGET) \
+ $(VBox-xpcom-threads-x86_1_TARGET) \
+ $(VBox-xpcom-xptinfo-x86_1_TARGET) \
+ $(VBox-xpcom-xptcall-x86_1_TARGET) \
+ $(VBox-xpcom-proxy-x86_1_TARGET) \
+ $(VBox-xpcom-nspr-x86_1_TARGET) \
+ $(VBoxXPCOMGlue_s-x86_1_TARGET) \
+ -Wl,-z,defaultextract
+
+
+#
+# IPC templates.
+#
ifdef VBOX_IPC_RELEASE_LOG
IPC_LOGGING = 1
else ifneq ($(KBUILD_TYPE),release)
@@ -1054,8 +1088,24 @@ TEMPLATE_XPCOMIPC_DEFS = \
ifdef IPC_LOGGING
TEMPLATE_XPCOMIPC_DEFS += IPC_LOGGING
endif
-
TEMPLATE_XPCOMIPC_LIBS = $(VBoxXPCOM_1_TARGET) $(TEMPLATE_XPCOM_LIBS)
+ifneq ($(KBUILD_TARGET),win)
+ ifeq ($(filter-out solaris.x86 %.amd64 %.sparc32 %.sparc64,$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)),) ## TODO: cleanup!
+ if defined(VBOX_WITH_RELATIVE_RUNPATH) && !defined(VBOX_WITH_HARDENING)
+ TEMPLATE_XPCOMIPC_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%',$(TEMPLATE_XPCOM_LDFLAGS)) '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)/..'
+ endif
+ else ifndef VBOX_WITH_HARDENING
+ ifdef VBOX_WITH_RELATIVE_RUNPATH
+ TEMPLATE_XPCOMIPC_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%',$(TEMPLATE_XPCOM_LDFLAGS)) '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)/..'
+ endif
+ endif
+endif
+
+TEMPLATE_XPCOMIPC-x86 = 32-bit XPCOM IPC libraries
+TEMPLATE_XPCOMIPC-x86_EXTENDS = XPCOMIPC
+TEMPLATE_XPCOMIPC-x86_BLD_TRG_ARCH = x86
+TEMPLATE_XPCOMIPC-x86_LIBS = $(VBoxXPCOM-x86_1_TARGET) $(TEMPLATE_XPCOM-x86_LIBS)
+
TEMPLATE_XPCOMIPCEXE = XPCOM IPC executables
TEMPLATE_XPCOMIPCEXE_EXTENDS = XPCOMEXE
@@ -1064,12 +1114,9 @@ ifdef IPC_LOGGING
TEMPLATE_XPCOMIPCEXE_DEFS += IPC_LOGGING
endif
-VBox-xpcom-ipcutils_TEMPLATE = XPCOMIPC
-VBox-xpcom-ipcutils_INSTTYPE = none
-VBox-xpcom-ipcutils_SOURCES = \
- ipc/ipcd/util/src/ipcMessageReader.cpp \
- ipc/ipcd/util/src/ipcMessageWriter.cpp
-
+#
+# Shared IPC code. Used by the IPC component as well as the executables.
+#
VBox-xpcom-ipcshared_TEMPLATE = XPCOMIPC
VBox-xpcom-ipcshared_INSTTYPE = none
VBox-xpcom-ipcshared_SOURCES = \
@@ -1080,23 +1127,7 @@ VBox-xpcom-ipcshared_SOURCES = \
ipc/ipcd/shared/src/ipcStringList.cpp \
ipc/ipcd/shared/src/ipcIDList.cpp \
ipc/ipcd/shared/src/ipcm.cpp
-
-VBox-xpcom-ipcdlock_TEMPLATE = XPCOMIPC
-VBox-xpcom-ipcdlock_INSTTYPE = none
-VBox-xpcom-ipcdlock_SOURCES = \
- ipc/ipcd/extensions/lock/src/ipcLockProtocol.cpp \
- ipc/ipcd/extensions/lock/src/ipcLockService.cpp
-
-VBox-xpcom-ipctransmgr_TEMPLATE = XPCOMIPC
-VBox-xpcom-ipctransmgr_INSTTYPE = none
-VBox-xpcom-ipctransmgr_SOURCES = \
- ipc/ipcd/extensions/transmngr/src/tmTransactionService.cpp
-
-VBox-xpcom-ipctmgrcom_TEMPLATE = XPCOMIPC
-VBox-xpcom-ipctmgrcom_INSTTYPE = none
-VBox-xpcom-ipctmgrcom_SOURCES = \
- ipc/ipcd/extensions/transmngr/common/tmTransaction.cpp \
- ipc/ipcd/extensions/transmngr/common/tmVector.cpp
+$(evalcall VBOX_XPCOM_X86,VBox-xpcom-ipcshared)
#
@@ -1110,7 +1141,19 @@ VBoxXPCOMIPCC_SOURCES = \
ipc/ipcd/client/src/ipcdclient.cpp \
ipc/ipcd/client/src/ipcService.cpp \
ipc/ipcd/client/src/ipcModuleFactory.cpp \
- ipc/ipcd/extensions/dconnect/src/ipcDConnectService.cpp
+ ipc/ipcd/extensions/dconnect/src/ipcDConnectService.cpp\
+ \
+ ipc/ipcd/util/src/ipcMessageReader.cpp \
+ ipc/ipcd/util/src/ipcMessageWriter.cpp \
+ \
+ ipc/ipcd/extensions/lock/src/ipcLockProtocol.cpp \
+ ipc/ipcd/extensions/lock/src/ipcLockService.cpp \
+ \
+ ipc/ipcd/extensions/transmngr/src/tmTransactionService.cpp \
+ \
+ ipc/ipcd/extensions/transmngr/common/tmTransaction.cpp \
+ ipc/ipcd/extensions/transmngr/common/tmVector.cpp
+
ifeq ($(KBUILD_TARGET),win)
VBoxXPCOMIPCC_SOURCES += \
ipc/ipcd/client/src/ipcConnectionWin.cpp
@@ -1120,13 +1163,12 @@ VBoxXPCOMIPCC_SOURCES += \
endif
VBoxXPCOMIPCC_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/components/VBoxXPCOMIPCC.dylib
VBoxXPCOMIPCC_LIBS = \
- $(VBox-xpcom-ipcutils_1_TARGET) \
- $(VBox-xpcom-ipcshared_1_TARGET) \
- $(VBox-xpcom-ipcdlock_1_TARGET) \
- $(VBox-xpcom-ipctransmgr_1_TARGET) \
- $(VBox-xpcom-ipctmgrcom_1_TARGET)
-# EF
-#VBoxXPCOMIPCC_LIBS += $(LIB_RUNTIME)
+ $(VBox-xpcom-ipcshared_1_TARGET)
+
+# 32-bit version of the component.
+$(evalcall VBOX_XPCOM_X86,VBoxXPCOMIPCC)
+VBoxXPCOMIPCC-x86_LIBS = \
+ $(VBox-xpcom-ipcshared-x86_1_TARGET)
#
@@ -1393,4 +1435,11 @@ $(PATH_TARGET)/xpcom-namespace-cleanup.map foo.map: $$(VBoxXPCOM_LIBS) $$(VBoxXP
-e 's/\<_init$$/&;/p' \
--append $@
$(QUIET)$(APPEND) $@ '};'
+ifeq ($(KBUILD_TARGET),solaris)
+ # Temporary gcc 4.5.2 hack on Solaris which emits unknown mangled symbols for ctors/dtors for certain objects. See @bugref{5838}.
+ if $(VBOX_GCC_VERSION_CXX) == 40502
+ $(QUIET)$(SED) -re '/^_Z.*[C-D]5E/d' $@ > $@-sedtmp
+ $(QUIET)$(MV) $@-sedtmp $@
+ endif
+endif
diff --git a/src/libs/xpcom18a4/ipc/ipcd/client/Makefile.kup b/src/libs/xpcom18a4/ipc/ipcd/client/Makefile.kup
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src/libs/xpcom18a4/ipc/ipcd/client/Makefile.kup
diff --git a/src/libs/xpcom18a4/ipc/ipcd/client/src/Makefile.kup b/src/libs/xpcom18a4/ipc/ipcd/client/src/Makefile.kup
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src/libs/xpcom18a4/ipc/ipcd/client/src/Makefile.kup
diff --git a/src/libs/xpcom18a4/ipc/ipcd/client/src/ipcdclient.cpp b/src/libs/xpcom18a4/ipc/ipcd/client/src/ipcdclient.cpp
index 3477949a..9212273b 100644
--- a/src/libs/xpcom18a4/ipc/ipcd/client/src/ipcdclient.cpp
+++ b/src/libs/xpcom18a4/ipc/ipcd/client/src/ipcdclient.cpp
@@ -58,6 +58,11 @@
#include "prproces.h"
#include "pratom.h"
+#ifdef VBOX
+# include <iprt/critsect.h>
+# define VBOX_WITH_IPCCLIENT_RW_CS
+#endif
+
/* ------------------------------------------------------------------------- */
#define IPC_REQUEST_TIMEOUT PR_SecondsToInterval(30)
@@ -146,10 +151,15 @@ public:
~ipcClientState()
{
+#ifndef VBOX_WITH_IPCCLIENT_RW_CS
if (monitor)
nsAutoMonitor::DestroyMonitor(monitor);
+#else
+ RTCritSectRwDelete(&critSect);
+#endif
}
+#ifndef VBOX_WITH_IPCCLIENT_RW_CS
//
// the monitor protects the targetMap and the connected and shutdown flags.
//
@@ -159,6 +169,9 @@ public:
// wrapper for PRLock.
//
PRMonitor *monitor;
+#else /* VBOX_WITH_IPCCLIENT_RW_CS */
+ RTCRITSECTRW critSect;
+#endif /* VBOX_WITH_IPCCLIENT_RW_CS */
ipcTargetMap targetMap;
PRBool connected;
PRBool shutdown;
@@ -171,11 +184,20 @@ public:
private:
ipcClientState()
+#ifndef VBOX_WITH_IPCCLIENT_RW_CS
: monitor(nsAutoMonitor::NewMonitor("ipcClientState"))
, connected(PR_FALSE)
+#else
+ : connected(PR_FALSE)
+#endif
, shutdown(PR_FALSE)
, selfID(0)
- {}
+ {
+#ifdef VBOX_WITH_IPCCLIENT_RW_CS
+ /* Not employing the lock validator here to keep performance up in debug builds. */
+ RTCritSectRwInitEx(&critSect, RTCRITSECT_FLAGS_NO_LOCK_VAL, NIL_RTLOCKVALCLASS, RTLOCKVAL_SUB_CLASS_NONE, NULL);
+#endif
+ }
};
ipcClientState *
@@ -185,7 +207,11 @@ ipcClientState::Create()
if (!cs)
return NULL;
+#ifndef VBOX_WITH_IPCCLIENT_RW_CS
if (!cs->monitor || !cs->targetMap.Init())
+#else
+ if (!RTCritSectRwIsInitialized(&cs->critSect) || !cs->targetMap.Init())
+#endif
{
delete cs;
return NULL;
@@ -201,22 +227,42 @@ static ipcClientState *gClientState;
static PRBool
GetTarget(const nsID &aTarget, ipcTargetData **td)
{
+#ifndef VBOX_WITH_IPCCLIENT_RW_CS
nsAutoMonitor mon(gClientState->monitor);
return gClientState->targetMap.Get(nsIDHashKey(&aTarget).GetKey(), td);
+#else
+ RTCritSectRwEnterShared(&gClientState->critSect);
+ PRBool fRc = gClientState->targetMap.Get(nsIDHashKey(&aTarget).GetKey(), td);
+ RTCritSectRwLeaveShared(&gClientState->critSect);
+ return fRc;
+#endif
}
static PRBool
PutTarget(const nsID &aTarget, ipcTargetData *td)
{
+#ifndef VBOX_WITH_IPCCLIENT_RW_CS
nsAutoMonitor mon(gClientState->monitor);
return gClientState->targetMap.Put(nsIDHashKey(&aTarget).GetKey(), td);
+#else
+ RTCritSectRwEnterExcl(&gClientState->critSect);
+ PRBool fRc = gClientState->targetMap.Put(nsIDHashKey(&aTarget).GetKey(), td);
+ RTCritSectRwLeaveExcl(&gClientState->critSect);
+ return fRc;
+#endif
}
static void
DelTarget(const nsID &aTarget)
{
+#ifndef VBOX_WITH_IPCCLIENT_RW_CS
nsAutoMonitor mon(gClientState->monitor);
gClientState->targetMap.Remove(nsIDHashKey(&aTarget).GetKey());
+#else
+ RTCritSectRwEnterExcl(&gClientState->critSect);
+ gClientState->targetMap.Remove(nsIDHashKey(&aTarget).GetKey());
+ RTCritSectRwLeaveExcl(&gClientState->critSect);
+#endif
}
/* ------------------------------------------------------------------------- */
@@ -804,9 +850,18 @@ IPC_Shutdown()
// first, set the shutdown flag and unblock any calls to WaitTarget.
// all targets but IPCM will not be able to use WaitTarget any more.
+#ifndef VBOX_WITH_IPCCLIENT_RW_CS
nsAutoMonitor mon(gClientState->monitor);
+#else
+ RTCritSectRwEnterExcl(&gClientState->critSect);
+#endif
+
gClientState->shutdown = PR_TRUE;
gClientState->targetMap.EnumerateRead(EnumerateTargetMapAndNotify, nsnull);
+
+#ifdef VBOX_WITH_IPCCLIENT_RW_CS
+ RTCritSectRwLeaveExcl(&gClientState->critSect);
+#endif
}
// inform all client observers that we're being shutdown to let interested
@@ -1289,9 +1344,18 @@ IPC_OnConnectionEnd(nsresult error)
// now, go through the target map, and tickle each monitor. that should
// unblock any calls to WaitTarget.
+#ifndef VBOX_WITH_IPCCLIENT_RW_CS
nsAutoMonitor mon(gClientState->monitor);
+#else
+ RTCritSectRwEnterExcl(&gClientState->critSect);
+#endif
+
gClientState->connected = PR_FALSE;
gClientState->targetMap.EnumerateRead(EnumerateTargetMapAndNotify, nsnull);
+
+#ifdef VBOX_WITH_IPCCLIENT_RW_CS
+ RTCritSectRwLeaveExcl(&gClientState->critSect);
+#endif
}
/* ------------------------------------------------------------------------- */
@@ -1309,6 +1373,7 @@ PlaceOnPendingQ(const nsID &target, ipcTargetData *td, ipcMessage *msg)
td->pendingQ.Append(msg);
#ifdef IPC_LOGGING
+ if (IPC_LOG_ENABLED())
{
char *targetStr = target.ToString();
LOG(("placed message on pending queue for target %s and notifying all...\n", targetStr));
@@ -1391,9 +1456,17 @@ IPC_OnMessageAvailable(ipcMessage *msg)
// pending event queue. that unblocks all WaitTarget calls (on all
// targets) giving them an opportuninty to finish wait cycle because of
// the peer client death, when appropriate.
+#ifndef VBOX_WITH_IPCCLIENT_RW_CS
nsAutoMonitor mon(gClientState->monitor);
+#else
+ RTCritSectRwEnterShared(&gClientState->critSect);
+#endif
+
gClientState->targetMap.EnumerateRead(EnumerateTargetMapAndPlaceMsg, msg);
+#ifdef VBOX_WITH_IPCCLIENT_RW_CS
+ RTCritSectRwLeaveShared(&gClientState->critSect);
+#endif
delete msg;
return;
diff --git a/src/libs/xpcom18a4/ipc/ipcd/extensions/dconnect/src/ipcDConnectService.cpp b/src/libs/xpcom18a4/ipc/ipcd/extensions/dconnect/src/ipcDConnectService.cpp
index e9a40271..b20fdd8e 100644
--- a/src/libs/xpcom18a4/ipc/ipcd/extensions/dconnect/src/ipcDConnectService.cpp
+++ b/src/libs/xpcom18a4/ipc/ipcd/extensions/dconnect/src/ipcDConnectService.cpp
@@ -1580,7 +1580,7 @@ DConnectStub::AddRefIPC()
// DConnectInstance::CreateStub
nsrefcnt count = AddRef();
- mRefCntLevels.Push((void *) count);
+ mRefCntLevels.Push((void *)(uintptr_t) count);
return count;
}
@@ -1981,7 +1981,13 @@ ipcDConnectService::SerializeException(ipcMessageWriter &writer,
if (!xcpt)
{
// write null address
+#ifdef VBOX
+ // see ipcDConnectService::DeserializeException()!
+ PtrBits bits = 0;
+ writer.PutBytes(&bits, sizeof(bits));
+#else
writer.PutBytes(&xcpt, sizeof(xcpt));
+#endif
}
else
{
@@ -2232,10 +2238,13 @@ ipcDConnectService::DeserializeException(ipcMessageReader &reader,
DConnectStub::~DConnectStub()
{
#ifdef IPC_LOGGING
- const char *name = NULL;
- mIInfo->GetNameShared(&name);
- LOG(("{%p} DConnectStub::<dtor>(): peer=%d instance=0x%Lx {%s}\n",
- this, mPeerID, mInstance, name));
+ if (IPC_LOG_ENABLED())
+ {
+ const char *name = NULL;
+ mIInfo->GetNameShared(&name);
+ LOG(("{%p} DConnectStub::<dtor>(): peer=%d instance=0x%Lx {%s}\n",
+ this, mPeerID, mInstance, name));
+ }
#endif
// release the cached nsISupports instance if it's not the same object
@@ -2273,10 +2282,13 @@ DConnectStub::Release()
#ifdef IPC_LOGGING
- const char *name;
- mIInfo->GetNameShared(&name);
- LOG(("{%p} DConnectStub::Release(): peer=%d instance=0x%Lx {%s}, new count=%d\n",
- this, mPeerID, mInstance, name, count));
+ if (IPC_LOG_ENABLED())
+ {
+ const char *name;
+ mIInfo->GetNameShared(&name);
+ LOG(("{%p} DConnectStub::Release(): peer=%d instance=0x%Lx {%s}, new count=%d\n",
+ this, mPeerID, mInstance, name, count));
+ }
#endif
// mRefCntLevels may already be empty here (due to the "stabilize" trick below)
@@ -2431,6 +2443,7 @@ DConnectStub::QueryInterface(const nsID &aIID, void **aInstancePtr)
// else, we need to query the peer object by making an IPC call
#ifdef IPC_LOGGING
+ if (IPC_LOG_ENABLED())
{
const char *name;
mIInfo->GetNameShared(&name);
@@ -2517,13 +2530,16 @@ DConnectStub::CallMethod(PRUint16 aMethodIndex,
PRUint8 i, paramCount = aInfo->GetParamCount();
#ifdef IPC_LOGGING
- const char *name;
- nsCOMPtr<nsIInterfaceInfo> iinfo;
- GetInterfaceInfo(getter_AddRefs(iinfo));
- iinfo->GetNameShared(&name);
- LOG((" instance=0x%Lx {%s}\n", mInstance, name));
- LOG((" name=%s\n", aInfo->GetName()));
- LOG((" param-count=%u\n", (PRUint32) paramCount));
+ if (IPC_LOG_ENABLED())
+ {
+ const char *name;
+ nsCOMPtr<nsIInterfaceInfo> iinfo;
+ GetInterfaceInfo(getter_AddRefs(iinfo));
+ iinfo->GetNameShared(&name);
+ LOG((" instance=0x%Lx {%s}\n", mInstance, name));
+ LOG((" name=%s\n", aInfo->GetName()));
+ LOG((" param-count=%u\n", (PRUint32) paramCount));
+ }
#endif
@@ -3006,10 +3022,13 @@ EnumerateInstanceMapAndDelete (const DConnectInstanceKey::Key &aKey,
// disregarding the reference counter
#ifdef IPC_LOGGING
- const char *name;
- aData->InterfaceInfo()->GetNameShared(&name);
- LOG(("ipcDConnectService: WARNING: deleting unreleased "
- "instance=%p iface=%p {%s}\n", aData, aData->RealInstance(), name));
+ if (IPC_LOG_ENABLED())
+ {
+ const char *name;
+ aData->InterfaceInfo()->GetNameShared(&name);
+ LOG(("ipcDConnectService: WARNING: deleting unreleased "
+ "instance=%p iface=%p {%s}\n", aData, aData->RealInstance(), name));
+ }
#endif
delete aData;
@@ -3251,10 +3270,13 @@ nsresult
ipcDConnectService::StoreInstance(DConnectInstance *wrapper)
{
#ifdef IPC_LOGGING
- const char *name;
- wrapper->InterfaceInfo()->GetNameShared(&name);
- LOG(("ipcDConnectService::StoreInstance(): instance=%p iface=%p {%s}\n",
- wrapper, wrapper->RealInstance(), name));
+ if (IPC_LOG_ENABLED())
+ {
+ const char *name;
+ wrapper->InterfaceInfo()->GetNameShared(&name);
+ LOG(("ipcDConnectService::StoreInstance(): instance=%p iface=%p {%s}\n",
+ wrapper, wrapper->RealInstance(), name));
+ }
#endif
nsresult rv = mInstanceSet.Put(wrapper);
@@ -3276,10 +3298,13 @@ ipcDConnectService::DeleteInstance(DConnectInstance *wrapper,
PR_Lock(mLock);
#ifdef IPC_LOGGING
- const char *name;
- wrapper->InterfaceInfo()->GetNameShared(&name);
- LOG(("ipcDConnectService::DeleteInstance(): instance=%p iface=%p {%s}\n",
- wrapper, wrapper->RealInstance(), name));
+ if (IPC_LOG_ENABLED())
+ {
+ const char *name;
+ wrapper->InterfaceInfo()->GetNameShared(&name);
+ LOG(("ipcDConnectService::DeleteInstance(): instance=%p iface=%p {%s}\n",
+ wrapper, wrapper->RealInstance(), name));
+ }
#endif
mInstances.Remove(wrapper->GetKey());
@@ -3318,12 +3343,15 @@ nsresult
ipcDConnectService::StoreStub(DConnectStub *stub)
{
#ifdef IPC_LOGGING
- const char *name;
- nsCOMPtr<nsIInterfaceInfo> iinfo;
- stub->GetInterfaceInfo(getter_AddRefs(iinfo));
- iinfo->GetNameShared(&name);
- LOG(("ipcDConnectService::StoreStub(): stub=%p instance=0x%Lx {%s}\n",
- stub, stub->Instance(), name));
+ if (IPC_LOG_ENABLED())
+ {
+ const char *name;
+ nsCOMPtr<nsIInterfaceInfo> iinfo;
+ stub->GetInterfaceInfo(getter_AddRefs(iinfo));
+ iinfo->GetNameShared(&name);
+ LOG(("ipcDConnectService::StoreStub(): stub=%p instance=0x%Lx {%s}\n",
+ stub, stub->Instance(), name));
+ }
#endif
return mStubs.Put(stub->GetKey(), stub)
@@ -3334,12 +3362,15 @@ void
ipcDConnectService::DeleteStub(DConnectStub *stub)
{
#ifdef IPC_LOGGING
- const char *name;
- nsCOMPtr<nsIInterfaceInfo> iinfo;
- stub->GetInterfaceInfo(getter_AddRefs(iinfo));
- iinfo->GetNameShared(&name);
- LOG(("ipcDConnectService::DeleteStub(): stub=%p instance=0x%Lx {%s}\n",
- stub, stub->Instance(), name));
+ if (IPC_LOG_ENABLED())
+ {
+ const char *name;
+ nsCOMPtr<nsIInterfaceInfo> iinfo;
+ stub->GetInterfaceInfo(getter_AddRefs(iinfo));
+ iinfo->GetNameShared(&name);
+ LOG(("ipcDConnectService::DeleteStub(): stub=%p instance=0x%Lx {%s}\n",
+ stub, stub->Instance(), name));
+ }
#endif
// this method is intended to be called only from DConnectStub::Release().
diff --git a/src/libs/xpcom18a4/ipc/ipcd/shared/src/ipcLog.cpp b/src/libs/xpcom18a4/ipc/ipcd/shared/src/ipcLog.cpp
index 00035c8e..340b211c 100644
--- a/src/libs/xpcom18a4/ipc/ipcd/shared/src/ipcLog.cpp
+++ b/src/libs/xpcom18a4/ipc/ipcd/shared/src/ipcLog.cpp
@@ -48,10 +48,10 @@
#include "plstr.h"
#ifdef VBOX
-#if defined(__OS2__) && defined(PAGE_SIZE)
-#undef PAGE_SIZE
-#endif
-#include <iprt/initterm.h> // for RTR3InitDll
+# if defined(__OS2__) && defined(PAGE_SIZE)
+# undef PAGE_SIZE
+# endif
+# include <iprt/initterm.h> // for RTR3InitDll
#else // !VBOX
PRBool ipcLogEnabled = PR_FALSE;
#endif // !VBOX
@@ -65,21 +65,6 @@ char ipcLogPrefix[10] = {0};
//-----------------------------------------------------------------------------
#if defined(XP_UNIX) || defined(XP_OS2) || defined(XP_BEOS)
- #if defined(L4ENV)
-#include <l4/sys/types.h>
-#include <l4/sys/syscalls.h>
-
-static inline PRUint32
-WritePrefix(char *buf, PRUint32 bufLen)
-{
- l4_threadid_t my_id = l4_myself();
- return PR_snprintf(buf, bufLen, "[%u.%u] %s ",
- static_cast<unsigned>(my_id.id.task),
- static_cast<unsigned>(my_id.id.lthread),
- ipcLogPrefix);
-}
-
- #else /* Not L4ENV */
#include <sys/types.h>
#include <unistd.h>
@@ -91,7 +76,6 @@ WritePrefix(char *buf, PRUint32 bufLen)
PR_GetCurrentThread(),
ipcLogPrefix);
}
- #endif /* Not L4ENV */
#endif
//-----------------------------------------------------------------------------
@@ -121,7 +105,7 @@ IPC_InitLog(const char *prefix)
{
#ifdef VBOX
// initialize VBox Runtime
- RTR3InitDll(0);
+ RTR3InitDll(RTR3INIT_FLAGS_UNOBTRUSIVE);
PL_strncpyz(ipcLogPrefix, prefix, sizeof(ipcLogPrefix));
#else
diff --git a/src/libs/xpcom18a4/ipc/ipcd/shared/src/ipcLog.h b/src/libs/xpcom18a4/ipc/ipcd/shared/src/ipcLog.h
index 8d480190..e21f6211 100644
--- a/src/libs/xpcom18a4/ipc/ipcd/shared/src/ipcLog.h
+++ b/src/libs/xpcom18a4/ipc/ipcd/shared/src/ipcLog.h
@@ -52,15 +52,15 @@
#ifdef VBOX
/* Redefine logging group to IPC */
-#ifdef LOG_GROUP
-#undef LOG_GROUP
-#endif
-#define LOG_GROUP LOG_GROUP_IPC
+# ifdef LOG_GROUP
+# undef LOG_GROUP
+# endif
+# define LOG_GROUP LOG_GROUP_IPC
/* Ensure log macros are enabled */
-#ifndef LOG_ENABLED
-#define LOG_ENABLED
-#endif
+# ifndef LOG_ENABLED
+# define LOG_ENABLED
+# endif
#include <VBox/log.h>
@@ -68,17 +68,18 @@ extern NS_HIDDEN_(void) IPC_InitLog(const char *prefix);
extern NS_HIDDEN_(void) IPC_Log(const char *fmt, ...);
extern NS_HIDDEN_(void) IPC_LogBinary(const PRUint8 *data, PRUint32 len);
-#define IPC_LOG(_args) \
- PR_BEGIN_MACRO \
- IPC_Log _args; \
+# define IPC_LOG(_args) \
+ PR_BEGIN_MACRO \
+ if (IPC_LOG_ENABLED()) \
+ IPC_Log _args; \
PR_END_MACRO
/* IPC_Log() internally uses LogFlow() so use LogIsFlowEnabled() below */
-#define IPC_LOG_ENABLED() (LogIsFlowEnabled())
+# define IPC_LOG_ENABLED() (LogIsFlowEnabled())
-#define LOG(args) IPC_LOG(args)
+# define LOG(args) IPC_LOG(args)
-#else // VBOX
+#else /* !VBOX */
extern PRBool ipcLogEnabled;
extern NS_HIDDEN_(void) IPC_InitLog(const char *prefix);
@@ -95,7 +96,7 @@ extern NS_HIDDEN_(void) IPC_LogBinary(const PRUint8 *data, PRUint32 len);
#define LOG(args) IPC_LOG(args)
-#endif // VBOX
+#endif /* !VBOX */
#else // IPC_LOGGING
diff --git a/src/libs/xpcom18a4/java/Makefile.kmk b/src/libs/xpcom18a4/java/Makefile.kmk
index 58dfd18a..51053b71 100644
--- a/src/libs/xpcom18a4/java/Makefile.kmk
+++ b/src/libs/xpcom18a4/java/Makefile.kmk
@@ -173,6 +173,7 @@ $(VBOX_JXPCOM_GEN)/jxpcomglue.list: \
$(call MSG_L1,Generating Java glue files from XIDL)
$(QUIET)$(RM) -f $(wildcard $(VBOX_JXPCOM_GEN)/java/glue/*.java)
$(QUIET)$(VBOX_XSLTPROC) \
+ --stringparam filelistonly "" \
--stringparam G_vboxApiSuffix $(VBOX_API_SUFFIX) \
--stringparam G_vboxGlueStyle xpcom \
--stringparam G_vboxDirPrefix "" \
diff --git a/src/libs/xpcom18a4/java/src/nsJavaInterfaces.cpp b/src/libs/xpcom18a4/java/src/nsJavaInterfaces.cpp
index 4b3fa5e0..5649c828 100644
--- a/src/libs/xpcom18a4/java/src/nsJavaInterfaces.cpp
+++ b/src/libs/xpcom18a4/java/src/nsJavaInterfaces.cpp
@@ -146,7 +146,7 @@ nsresult
InitXPCOMVBox_Impl(JNIEnv* env, jobject aVBoxBinDirectory)
{
#if defined(VBOX_PATH_APP_PRIVATE_ARCH) && defined(VBOX_PATH_SHARED_LIBS)
- rv = RTR3InitDll(0);
+ rv = RTR3InitDll(RTR3INIT_FLAGS_UNOBTRUSIVE);
#else
const char *pszHome = nsnull;
const char *jhome = nsnull;
@@ -174,9 +174,9 @@ InitXPCOMVBox_Impl(JNIEnv* env, jobject aVBoxBinDirectory)
char *pszExePath = (char *)alloca(cchHome + 32);
memcpy(pszExePath, pszHome, cchHome);
memcpy(pszExePath + cchHome, "/javafake", sizeof("/javafake"));
- rv = RTR3InitEx(RTR3INIT_VER_CUR, RTR3INIT_FLAGS_DLL, 0, NULL, pszExePath);
+ rv = RTR3InitEx(RTR3INIT_VER_CUR, RTR3INIT_FLAGS_DLL | RTR3INIT_FLAGS_UNOBTRUSIVE, 0, NULL, pszExePath);
} else {
- rv = RTR3InitDll(0);
+ rv = RTR3InitDll(RTR3INIT_FLAGS_UNOBTRUSIVE);
}
if (jhome)
@@ -354,13 +354,13 @@ XPCOM_NATIVE(getComponentRegistrar) (JNIEnv *env, jobject)
}
#ifdef VBOX
-# include <VBox/com/EventQueue.h>
+# include <VBox/com/NativeEventQueue.h>
# include <iprt/err.h>
extern "C" NS_EXPORT jint JNICALL
XPCOM_NATIVE2(waitForEvents) (JNIEnv *env, jobject, jlong aTimeout)
{
- com::EventQueue* aEventQ = com::EventQueue::getMainEventQueue();
+ com::NativeEventQueue* aEventQ = com::NativeEventQueue::getMainEventQueue();
NS_WARN_IF_FALSE(aEventQ != nsnull, "Null main event queue");
if (!aEventQ)
return -1;
@@ -379,7 +379,11 @@ XPCOM_NATIVE2(waitForEvents) (JNIEnv *env, jobject, jlong aTimeout)
#endif
extern "C" NS_EXPORT jobject JNICALL
+#ifdef VBOX
+XPCOM_NATIVE2(getServiceManager) (JNIEnv *env, jobject)
+#else
XPCOM_NATIVE(getServiceManager) (JNIEnv *env, jobject)
+#endif
{
// Call XPCOM method
nsCOMPtr<nsIServiceManager> sm;
diff --git a/src/libs/xpcom18a4/java/src/nsJavaWrapper.cpp b/src/libs/xpcom18a4/java/src/nsJavaWrapper.cpp
index 35b59b6d..19436f14 100644
--- a/src/libs/xpcom18a4/java/src/nsJavaWrapper.cpp
+++ b/src/libs/xpcom18a4/java/src/nsJavaWrapper.cpp
@@ -1006,7 +1006,7 @@ FinalizeParams(JNIEnv *env, const nsXPTParamInfo &aParamInfo, PRUint8 aType,
aVariant.val.u8;
if (aParamInfo.IsRetval() && !aIsArrayElement) {
*aParam = env->NewObject(shortClass, shortInitMID, value);
- } else if ((aParamInfo.IsOut() || aIsArrayElement) && aParam) {
+ } else if ((aParamInfo.IsOut() || aIsArrayElement) && *aParam) {
env->SetShortArrayRegion((jshortArray) *aParam, aIndex, 1, &value);
}
}
@@ -1495,7 +1495,7 @@ static void makeErrorMessage(nsresult r, char* msg, size_t msgSize)
if (NS_SUCCEEDED (rc))
{
nsCOMPtr <nsIException> ex;
- rc = em->GetExceptionFromProvider(r, NULL, getter_AddRefs (ex));
+ rc = em->GetCurrentException(getter_AddRefs (ex));
if (NS_SUCCEEDED (rc) && ex)
{
nsXPIDLCString emsg;
@@ -1753,8 +1753,9 @@ JAVAPROXY_NATIVE(callXPCOMMethod) (JNIEnv *env, jclass that, jobject aJavaProxy,
}
jobject* javaElement;
+ jobject element = nsnull;
if (!paramInfo.IsRetval()) {
- jobject element = env->GetObjectArrayElement(aParams, i);
+ element = env->GetObjectArrayElement(aParams, i);
javaElement = &element;
} else {
javaElement = &result;
diff --git a/src/libs/xpcom18a4/java/src/nsThreadUtils.h b/src/libs/xpcom18a4/java/src/nsThreadUtils.h
index 9c6a0efd..53f3dbdb 100644
--- a/src/libs/xpcom18a4/java/src/nsThreadUtils.h
+++ b/src/libs/xpcom18a4/java/src/nsThreadUtils.h
@@ -50,11 +50,11 @@ do_GetMainThread() {
return already_AddRefed<nsIThread>(thread);
}
-#include "VBox/com/EventQueue.h"
+#include "VBox/com/NativeEventQueue.h"
inline already_AddRefed<nsIEventQueue> do_GetMainThreadQueue()
{
- com::EventQueue* eq = com::EventQueue::getMainEventQueue();
+ com::NativeEventQueue* eq = com::NativeEventQueue::getMainEventQueue();
NS_ASSERTION(eq != nsnull, "Must be valid");
return eq->getIEventQueue();
}
diff --git a/src/libs/xpcom18a4/java/src/org/mozilla/xpcom/XPCOMException.java b/src/libs/xpcom18a4/java/src/org/mozilla/xpcom/XPCOMException.java
index 44636d54..9eca58f6 100644
--- a/src/libs/xpcom18a4/java/src/org/mozilla/xpcom/XPCOMException.java
+++ b/src/libs/xpcom18a4/java/src/org/mozilla/xpcom/XPCOMException.java
@@ -87,7 +87,7 @@ public class XPCOMException extends RuntimeException {
* @param message detailed message of exception
*/
public XPCOMException(long code, String message) {
- super(message + " (0x" + Long.toHexString(code) + ")");
+ super(message + " (0x" + Long.toHexString(code) + ")");
this.errorcode = code;
}
diff --git a/src/libs/xpcom18a4/java/tools/genjifaces.xsl b/src/libs/xpcom18a4/java/tools/genjifaces.xsl
index 9dc7901b..3910de73 100644
--- a/src/libs/xpcom18a4/java/tools/genjifaces.xsl
+++ b/src/libs/xpcom18a4/java/tools/genjifaces.xsl
@@ -7,9 +7,9 @@
<!--
genjifaces.xsl:
- XSLT stylesheet that generates Java XPCOM bridge intreface code from VirtualBox.xidl.
+ XSLT stylesheet that generates Java XPCOM bridge interface code from VirtualBox.xidl.
- Copyright (C) 2010 Oracle Corporation
+ Copyright (C) 2010-2013 Oracle Corporation
This file is part of VirtualBox Open Source Edition (OSE), as
available from http://www.virtualbox.org. This file is free software;
@@ -67,7 +67,7 @@
<xsl:template name="fileheader">
<xsl:param name="name" />
<xsl:text>/**
- * Copyright (C) 2010 Oracle Corporation
+ * Copyright (C) 2010-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -119,16 +119,14 @@ public interface nsISupports
"{00000000-0000-0000-c000-000000000046}";
public nsISupports queryInterface(String arg1);
-
}
-
]]></xsl:text>
<xsl:call-template name="endFile">
<xsl:with-param name="file" select="'nsISupports.java'" />
</xsl:call-template>
-<xsl:call-template name="startFile">
+ <xsl:call-template name="startFile">
<xsl:with-param name="file" select="'nsIComponentManager.java'" />
</xsl:call-template>
@@ -146,14 +144,13 @@ public interface nsIComponentManager extends nsISupports
public nsISupports createInstanceByContractID(String arg1, nsISupports arg2, String arg3);
}
-
]]></xsl:text>
<xsl:call-template name="endFile">
<xsl:with-param name="file" select="'nsIComponentManager.java'" />
</xsl:call-template>
-<xsl:call-template name="startFile">
+ <xsl:call-template name="startFile">
<xsl:with-param name="file" select="'nsIServiceManager.java'" />
</xsl:call-template>
@@ -171,14 +168,67 @@ public interface nsIServiceManager extends nsISupports
public boolean isServiceInstantiatedByContractID(String arg1, String arg2);
}
-
]]></xsl:text>
<xsl:call-template name="endFile">
<xsl:with-param name="file" select="'nsIServiceManager.java'" />
</xsl:call-template>
-<xsl:call-template name="startFile">
+ <xsl:call-template name="startFile">
+ <xsl:with-param name="file" select="'nsIExceptionManager.java'" />
+ </xsl:call-template>
+
+ <xsl:text><![CDATA[
+public interface nsIExceptionManager extends nsISupports
+{
+ public static final String NS_IEXCEPTIONMANAGER_IID =
+ "{efc9d00b-231c-4feb-852c-ac017266a415}";
+
+ public nsIException getCurrentException();
+}
+]]></xsl:text>
+
+ <xsl:call-template name="endFile">
+ <xsl:with-param name="file" select="'nsISupports.java'" />
+ </xsl:call-template>
+
+ <xsl:call-template name="startFile">
+ <xsl:with-param name="file" select="'nsIExceptionService.java'" />
+ </xsl:call-template>
+
+ <xsl:text><![CDATA[
+public interface nsIExceptionService extends nsIExceptionManager
+{
+ public static final String NS_IEXCEPTIONSERVICE_IID =
+ "{35a88f54-f267-4414-92a7-191f6454ab52}";
+
+ public nsIExceptionManager getCurrentExceptionManager();
+}
+]]></xsl:text>
+
+ <xsl:call-template name="endFile">
+ <xsl:with-param name="file" select="'nsISupports.java'" />
+ </xsl:call-template>
+
+ <xsl:call-template name="startFile">
+ <xsl:with-param name="file" select="'nsIException.java'" />
+ </xsl:call-template>
+
+ <xsl:text><![CDATA[
+public interface nsIException extends nsISupports
+{
+ public static final String NS_IEXCEPTION_IID =
+ "{f3a8d3b4-c424-4edc-8bf6-8974c983ba78}";
+
+ // No methods - placeholder
+}
+]]></xsl:text>
+
+ <xsl:call-template name="endFile">
+ <xsl:with-param name="file" select="'nsISupports.java'" />
+ </xsl:call-template>
+
+ <xsl:call-template name="startFile">
<xsl:with-param name="file" select="'nsIComponentRegistrar.java'" />
</xsl:call-template>
@@ -190,7 +240,6 @@ public interface nsIComponentRegistrar extends nsISupports
// No methods - placeholder
}
-
]]></xsl:text>
<xsl:call-template name="endFile">
@@ -198,7 +247,7 @@ public interface nsIComponentRegistrar extends nsISupports
</xsl:call-template>
-<xsl:call-template name="startFile">
+ <xsl:call-template name="startFile">
<xsl:with-param name="file" select="'nsIFile.java'" />
</xsl:call-template>
@@ -210,14 +259,13 @@ public interface nsIFile extends nsISupports
// No methods - placeholder
}
-
]]></xsl:text>
<xsl:call-template name="endFile">
<xsl:with-param name="file" select="'nsIFile.java'" />
</xsl:call-template>
-<xsl:call-template name="startFile">
+ <xsl:call-template name="startFile">
<xsl:with-param name="file" select="'nsILocalFile.java'" />
</xsl:call-template>
@@ -229,7 +277,6 @@ public interface nsILocalFile extends nsIFile
// No methods - placeholder
}
-
]]></xsl:text>
<xsl:call-template name="endFile">
diff --git a/src/libs/xpcom18a4/nsprpub/pr/include/md/_iprt_atomic.h b/src/libs/xpcom18a4/nsprpub/pr/include/md/_iprt_atomic.h
index 94960497..fd5ce610 100644
--- a/src/libs/xpcom18a4/nsprpub/pr/include/md/_iprt_atomic.h
+++ b/src/libs/xpcom18a4/nsprpub/pr/include/md/_iprt_atomic.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/libs/xpcom18a4/nsprpub/pr/include/md/_l4v2.cfg b/src/libs/xpcom18a4/nsprpub/pr/include/md/_l4v2.cfg
deleted file mode 100644
index 2557161d..00000000
--- a/src/libs/xpcom18a4/nsprpub/pr/include/md/_l4v2.cfg
+++ /dev/null
@@ -1,661 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#ifndef nspr_cpucfg___
-#define nspr_cpucfg___
-
-#ifndef XP_UNIX
-#define XP_UNIX
-#endif
-
-#ifndef L4ENV
-#define L4ENV
-#endif
-
-#define PR_AF_INET6 10 /* same as AF_INET6 */
-
-#ifdef __powerpc__
-
-#undef IS_LITTLE_ENDIAN
-#define IS_BIG_ENDIAN 1
-
-#define PR_BYTES_PER_BYTE 1
-#define PR_BYTES_PER_SHORT 2
-#define PR_BYTES_PER_INT 4
-#define PR_BYTES_PER_INT64 8
-#define PR_BYTES_PER_LONG 4
-#define PR_BYTES_PER_FLOAT 4
-#define PR_BYTES_PER_DOUBLE 8
-#define PR_BYTES_PER_WORD 4
-#define PR_BYTES_PER_DWORD 8
-
-#define PR_BITS_PER_BYTE 8
-#define PR_BITS_PER_SHORT 16
-#define PR_BITS_PER_INT 32
-#define PR_BITS_PER_INT64 64
-#define PR_BITS_PER_LONG 32
-#define PR_BITS_PER_FLOAT 32
-#define PR_BITS_PER_DOUBLE 64
-#define PR_BITS_PER_WORD 32
-
-#define PR_BITS_PER_BYTE_LOG2 3
-#define PR_BITS_PER_SHORT_LOG2 4
-#define PR_BITS_PER_INT_LOG2 5
-#define PR_BITS_PER_INT64_LOG2 6
-#define PR_BITS_PER_LONG_LOG2 5
-#define PR_BITS_PER_FLOAT_LOG2 5
-#define PR_BITS_PER_DOUBLE_LOG2 6
-#define PR_BITS_PER_WORD_LOG2 5
-
-#define PR_ALIGN_OF_SHORT 2
-#define PR_ALIGN_OF_INT 4
-#define PR_ALIGN_OF_LONG 4
-#define PR_ALIGN_OF_INT64 8
-#define PR_ALIGN_OF_FLOAT 4
-#define PR_ALIGN_OF_DOUBLE 8
-#define PR_ALIGN_OF_POINTER 4
-#define PR_ALIGN_OF_WORD 4
-
-#define PR_BYTES_PER_WORD_LOG2 2
-#define PR_BYTES_PER_DWORD_LOG2 3
-
-#elif defined(__alpha)
-
-#define IS_LITTLE_ENDIAN 1
-#undef IS_BIG_ENDIAN
-#define IS_64
-
-#define PR_BYTES_PER_BYTE 1
-#define PR_BYTES_PER_SHORT 2
-#define PR_BYTES_PER_INT 4
-#define PR_BYTES_PER_INT64 8
-#define PR_BYTES_PER_LONG 8
-#define PR_BYTES_PER_FLOAT 4
-#define PR_BYTES_PER_DOUBLE 8
-#define PR_BYTES_PER_WORD 8
-#define PR_BYTES_PER_DWORD 8
-
-#define PR_BITS_PER_BYTE 8
-#define PR_BITS_PER_SHORT 16
-#define PR_BITS_PER_INT 32
-#define PR_BITS_PER_INT64 64
-#define PR_BITS_PER_LONG 64
-#define PR_BITS_PER_FLOAT 32
-#define PR_BITS_PER_DOUBLE 64
-#define PR_BITS_PER_WORD 64
-
-#define PR_BITS_PER_BYTE_LOG2 3
-#define PR_BITS_PER_SHORT_LOG2 4
-#define PR_BITS_PER_INT_LOG2 5
-#define PR_BITS_PER_INT64_LOG2 6
-#define PR_BITS_PER_LONG_LOG2 6
-#define PR_BITS_PER_FLOAT_LOG2 5
-#define PR_BITS_PER_DOUBLE_LOG2 6
-#define PR_BITS_PER_WORD_LOG2 6
-
-#define PR_ALIGN_OF_SHORT 2
-#define PR_ALIGN_OF_INT 4
-#define PR_ALIGN_OF_LONG 8
-#define PR_ALIGN_OF_INT64 8
-#define PR_ALIGN_OF_FLOAT 4
-#define PR_ALIGN_OF_DOUBLE 8
-#define PR_ALIGN_OF_POINTER 8
-#define PR_ALIGN_OF_WORD 8
-
-#define PR_BYTES_PER_WORD_LOG2 3
-#define PR_BYTES_PER_DWORD_LOG2 3
-
-#elif defined(__ia64__)
-
-#define IS_LITTLE_ENDIAN 1
-#undef IS_BIG_ENDIAN
-#define IS_64
-
-#define PR_BYTES_PER_BYTE 1
-#define PR_BYTES_PER_SHORT 2
-#define PR_BYTES_PER_INT 4
-#define PR_BYTES_PER_INT64 8
-#define PR_BYTES_PER_LONG 8
-#define PR_BYTES_PER_FLOAT 4
-#define PR_BYTES_PER_DOUBLE 8
-#define PR_BYTES_PER_WORD 8
-#define PR_BYTES_PER_DWORD 8
-
-#define PR_BITS_PER_BYTE 8
-#define PR_BITS_PER_SHORT 16
-#define PR_BITS_PER_INT 32
-#define PR_BITS_PER_INT64 64
-#define PR_BITS_PER_LONG 64
-#define PR_BITS_PER_FLOAT 32
-#define PR_BITS_PER_DOUBLE 64
-#define PR_BITS_PER_WORD 64
-
-#define PR_BITS_PER_BYTE_LOG2 3
-#define PR_BITS_PER_SHORT_LOG2 4
-#define PR_BITS_PER_INT_LOG2 5
-#define PR_BITS_PER_INT64_LOG2 6
-#define PR_BITS_PER_LONG_LOG2 6
-#define PR_BITS_PER_FLOAT_LOG2 5
-#define PR_BITS_PER_DOUBLE_LOG2 6
-#define PR_BITS_PER_WORD_LOG2 6
-
-#define PR_ALIGN_OF_SHORT 2
-#define PR_ALIGN_OF_INT 4
-#define PR_ALIGN_OF_LONG 8
-#define PR_ALIGN_OF_INT64 8
-#define PR_ALIGN_OF_FLOAT 4
-#define PR_ALIGN_OF_DOUBLE 8
-#define PR_ALIGN_OF_POINTER 8
-#define PR_ALIGN_OF_WORD 8
-
-#define PR_BYTES_PER_WORD_LOG2 3
-#define PR_BYTES_PER_DWORD_LOG2 3
-
-#elif defined(__x86_64__)
-
-#define IS_LITTLE_ENDIAN 1
-#undef IS_BIG_ENDIAN
-#define IS_64
-
-#define PR_BYTES_PER_BYTE 1
-#define PR_BYTES_PER_SHORT 2
-#define PR_BYTES_PER_INT 4
-#define PR_BYTES_PER_INT64 8
-#define PR_BYTES_PER_LONG 8
-#define PR_BYTES_PER_FLOAT 4
-#define PR_BYTES_PER_DOUBLE 8
-#define PR_BYTES_PER_WORD 8
-#define PR_BYTES_PER_DWORD 8
-
-#define PR_BITS_PER_BYTE 8
-#define PR_BITS_PER_SHORT 16
-#define PR_BITS_PER_INT 32
-#define PR_BITS_PER_INT64 64
-#define PR_BITS_PER_LONG 64
-#define PR_BITS_PER_FLOAT 32
-#define PR_BITS_PER_DOUBLE 64
-#define PR_BITS_PER_WORD 64
-
-#define PR_BITS_PER_BYTE_LOG2 3
-#define PR_BITS_PER_SHORT_LOG2 4
-#define PR_BITS_PER_INT_LOG2 5
-#define PR_BITS_PER_INT64_LOG2 6
-#define PR_BITS_PER_LONG_LOG2 6
-#define PR_BITS_PER_FLOAT_LOG2 5
-#define PR_BITS_PER_DOUBLE_LOG2 6
-#define PR_BITS_PER_WORD_LOG2 6
-
-#define PR_ALIGN_OF_SHORT 2
-#define PR_ALIGN_OF_INT 4
-#define PR_ALIGN_OF_LONG 8
-#define PR_ALIGN_OF_INT64 8
-#define PR_ALIGN_OF_FLOAT 4
-#define PR_ALIGN_OF_DOUBLE 8
-#define PR_ALIGN_OF_POINTER 8
-#define PR_ALIGN_OF_WORD 8
-
-#define PR_BYTES_PER_WORD_LOG2 3
-#define PR_BYTES_PER_DWORD_LOG2 3
-
-#elif defined(__mc68000__)
-
-#undef IS_LITTLE_ENDIAN
-#define IS_BIG_ENDIAN 1
-
-#define PR_BYTES_PER_BYTE 1
-#define PR_BYTES_PER_SHORT 2
-#define PR_BYTES_PER_INT 4
-#define PR_BYTES_PER_INT64 8
-#define PR_BYTES_PER_LONG 4
-#define PR_BYTES_PER_FLOAT 4
-#define PR_BYTES_PER_DOUBLE 8
-#define PR_BYTES_PER_WORD 4
-#define PR_BYTES_PER_DWORD 8
-
-#define PR_BITS_PER_BYTE 8
-#define PR_BITS_PER_SHORT 16
-#define PR_BITS_PER_INT 32
-#define PR_BITS_PER_INT64 64
-#define PR_BITS_PER_LONG 32
-#define PR_BITS_PER_FLOAT 32
-#define PR_BITS_PER_DOUBLE 64
-#define PR_BITS_PER_WORD 32
-
-#define PR_BITS_PER_BYTE_LOG2 3
-#define PR_BITS_PER_SHORT_LOG2 4
-#define PR_BITS_PER_INT_LOG2 5
-#define PR_BITS_PER_INT64_LOG2 6
-#define PR_BITS_PER_LONG_LOG2 5
-#define PR_BITS_PER_FLOAT_LOG2 5
-#define PR_BITS_PER_DOUBLE_LOG2 6
-#define PR_BITS_PER_WORD_LOG2 5
-
-#define PR_ALIGN_OF_SHORT 2
-#define PR_ALIGN_OF_INT 2
-#define PR_ALIGN_OF_LONG 2
-#define PR_ALIGN_OF_INT64 2
-#define PR_ALIGN_OF_FLOAT 2
-#define PR_ALIGN_OF_DOUBLE 2
-#define PR_ALIGN_OF_POINTER 2
-#define PR_ALIGN_OF_WORD 2
-
-#define PR_BYTES_PER_WORD_LOG2 2
-#define PR_BYTES_PER_DWORD_LOG2 3
-
-#elif defined(__sparc__)
-
-#undef IS_LITTLE_ENDIAN
-#define IS_BIG_ENDIAN 1
-
-#define PR_BYTES_PER_BYTE 1
-#define PR_BYTES_PER_SHORT 2
-#define PR_BYTES_PER_INT 4
-#define PR_BYTES_PER_INT64 8
-#define PR_BYTES_PER_LONG 4
-#define PR_BYTES_PER_FLOAT 4
-#define PR_BYTES_PER_DOUBLE 8
-#define PR_BYTES_PER_WORD 4
-#define PR_BYTES_PER_DWORD 8
-
-#define PR_BITS_PER_BYTE 8
-#define PR_BITS_PER_SHORT 16
-#define PR_BITS_PER_INT 32
-#define PR_BITS_PER_INT64 64
-#define PR_BITS_PER_LONG 32
-#define PR_BITS_PER_FLOAT 32
-#define PR_BITS_PER_DOUBLE 64
-#define PR_BITS_PER_WORD 32
-
-#define PR_BITS_PER_BYTE_LOG2 3
-#define PR_BITS_PER_SHORT_LOG2 4
-#define PR_BITS_PER_INT_LOG2 5
-#define PR_BITS_PER_INT64_LOG2 6
-#define PR_BITS_PER_LONG_LOG2 5
-#define PR_BITS_PER_FLOAT_LOG2 5
-#define PR_BITS_PER_DOUBLE_LOG2 6
-#define PR_BITS_PER_WORD_LOG2 5
-
-#define PR_ALIGN_OF_SHORT 2
-#define PR_ALIGN_OF_INT 4
-#define PR_ALIGN_OF_LONG 4
-#define PR_ALIGN_OF_INT64 8
-#define PR_ALIGN_OF_FLOAT 4
-#define PR_ALIGN_OF_DOUBLE 8
-#define PR_ALIGN_OF_POINTER 4
-#define PR_ALIGN_OF_WORD 4
-
-#define PR_BYTES_PER_WORD_LOG2 2
-#define PR_BYTES_PER_DWORD_LOG2 3
-
-#elif defined(__i386__)
-
-#define IS_LITTLE_ENDIAN 1
-#undef IS_BIG_ENDIAN
-
-#define PR_BYTES_PER_BYTE 1
-#define PR_BYTES_PER_SHORT 2
-#define PR_BYTES_PER_INT 4
-#define PR_BYTES_PER_INT64 8
-#define PR_BYTES_PER_LONG 4
-#define PR_BYTES_PER_FLOAT 4
-#define PR_BYTES_PER_DOUBLE 8
-#define PR_BYTES_PER_WORD 4
-#define PR_BYTES_PER_DWORD 8
-
-#define PR_BITS_PER_BYTE 8
-#define PR_BITS_PER_SHORT 16
-#define PR_BITS_PER_INT 32
-#define PR_BITS_PER_INT64 64
-#define PR_BITS_PER_LONG 32
-#define PR_BITS_PER_FLOAT 32
-#define PR_BITS_PER_DOUBLE 64
-#define PR_BITS_PER_WORD 32
-
-#define PR_BITS_PER_BYTE_LOG2 3
-#define PR_BITS_PER_SHORT_LOG2 4
-#define PR_BITS_PER_INT_LOG2 5
-#define PR_BITS_PER_INT64_LOG2 6
-#define PR_BITS_PER_LONG_LOG2 5
-#define PR_BITS_PER_FLOAT_LOG2 5
-#define PR_BITS_PER_DOUBLE_LOG2 6
-#define PR_BITS_PER_WORD_LOG2 5
-
-#define PR_ALIGN_OF_SHORT 2
-#define PR_ALIGN_OF_INT 4
-#define PR_ALIGN_OF_LONG 4
-#define PR_ALIGN_OF_INT64 4
-#define PR_ALIGN_OF_FLOAT 4
-#define PR_ALIGN_OF_DOUBLE 4
-#define PR_ALIGN_OF_POINTER 4
-#define PR_ALIGN_OF_WORD 4
-
-#define PR_BYTES_PER_WORD_LOG2 2
-#define PR_BYTES_PER_DWORD_LOG2 3
-
-#elif defined(__mips__)
-
-#ifdef __MIPSEB__
-#define IS_BIG_ENDIAN 1
-#undef IS_LITTLE_ENDIAN
-#elif defined(__MIPSEL__)
-#define IS_LITTLE_ENDIAN 1
-#undef IS_BIG_ENDIAN
-#else
-#error "Unknown MIPS endianness."
-#endif
-
-#define PR_BYTES_PER_BYTE 1
-#define PR_BYTES_PER_SHORT 2
-#define PR_BYTES_PER_INT 4
-#define PR_BYTES_PER_INT64 8
-#define PR_BYTES_PER_LONG 4
-#define PR_BYTES_PER_FLOAT 4
-#define PR_BYTES_PER_DOUBLE 8
-#define PR_BYTES_PER_WORD 4
-#define PR_BYTES_PER_DWORD 8
-
-#define PR_BITS_PER_BYTE 8
-#define PR_BITS_PER_SHORT 16
-#define PR_BITS_PER_INT 32
-#define PR_BITS_PER_INT64 64
-#define PR_BITS_PER_LONG 32
-#define PR_BITS_PER_FLOAT 32
-#define PR_BITS_PER_DOUBLE 64
-#define PR_BITS_PER_WORD 32
-
-#define PR_BITS_PER_BYTE_LOG2 3
-#define PR_BITS_PER_SHORT_LOG2 4
-#define PR_BITS_PER_INT_LOG2 5
-#define PR_BITS_PER_INT64_LOG2 6
-#define PR_BITS_PER_LONG_LOG2 5
-#define PR_BITS_PER_FLOAT_LOG2 5
-#define PR_BITS_PER_DOUBLE_LOG2 6
-#define PR_BITS_PER_WORD_LOG2 5
-
-#define PR_ALIGN_OF_SHORT 2
-#define PR_ALIGN_OF_INT 4
-#define PR_ALIGN_OF_LONG 4
-#define PR_ALIGN_OF_INT64 8
-#define PR_ALIGN_OF_FLOAT 4
-#define PR_ALIGN_OF_DOUBLE 8
-#define PR_ALIGN_OF_POINTER 4
-#define PR_ALIGN_OF_WORD 4
-
-#define PR_BYTES_PER_WORD_LOG2 2
-#define PR_BYTES_PER_DWORD_LOG2 3
-
-#elif defined(__arm__)
-
-#define IS_LITTLE_ENDIAN 1
-#undef IS_BIG_ENDIAN
-
-#define PR_BYTES_PER_BYTE 1
-#define PR_BYTES_PER_SHORT 2
-#define PR_BYTES_PER_INT 4
-#define PR_BYTES_PER_INT64 8
-#define PR_BYTES_PER_LONG 4
-#define PR_BYTES_PER_FLOAT 4
-#define PR_BYTES_PER_DOUBLE 8
-#define PR_BYTES_PER_WORD 4
-#define PR_BYTES_PER_DWORD 8
-
-#define PR_BITS_PER_BYTE 8
-#define PR_BITS_PER_SHORT 16
-#define PR_BITS_PER_INT 32
-#define PR_BITS_PER_INT64 64
-#define PR_BITS_PER_LONG 32
-#define PR_BITS_PER_FLOAT 32
-#define PR_BITS_PER_DOUBLE 64
-#define PR_BITS_PER_WORD 32
-
-#define PR_BITS_PER_BYTE_LOG2 3
-#define PR_BITS_PER_SHORT_LOG2 4
-#define PR_BITS_PER_INT_LOG2 5
-#define PR_BITS_PER_INT64_LOG2 6
-#define PR_BITS_PER_LONG_LOG2 5
-#define PR_BITS_PER_FLOAT_LOG2 5
-#define PR_BITS_PER_DOUBLE_LOG2 6
-#define PR_BITS_PER_WORD_LOG2 5
-
-#define PR_ALIGN_OF_SHORT 2
-#define PR_ALIGN_OF_INT 4
-#define PR_ALIGN_OF_LONG 4
-#define PR_ALIGN_OF_INT64 4
-#define PR_ALIGN_OF_FLOAT 4
-#define PR_ALIGN_OF_DOUBLE 4
-#define PR_ALIGN_OF_POINTER 4
-#define PR_ALIGN_OF_WORD 4
-
-#define PR_BYTES_PER_WORD_LOG2 2
-#define PR_BYTES_PER_DWORD_LOG2 3
-
-#elif defined(__hppa__)
-
-#undef IS_LITTLE_ENDIAN
-#define IS_BIG_ENDIAN 1
-
-#define PR_BYTES_PER_BYTE 1
-#define PR_BYTES_PER_SHORT 2
-#define PR_BYTES_PER_INT 4
-#define PR_BYTES_PER_INT64 8
-#define PR_BYTES_PER_LONG 4
-#define PR_BYTES_PER_FLOAT 4
-#define PR_BYTES_PER_DOUBLE 8
-#define PR_BYTES_PER_WORD 4
-#define PR_BYTES_PER_DWORD 8
-
-#define PR_BITS_PER_BYTE 8
-#define PR_BITS_PER_SHORT 16
-#define PR_BITS_PER_INT 32
-#define PR_BITS_PER_INT64 64
-#define PR_BITS_PER_LONG 32
-#define PR_BITS_PER_FLOAT 32
-#define PR_BITS_PER_DOUBLE 64
-#define PR_BITS_PER_WORD 32
-
-#define PR_BITS_PER_BYTE_LOG2 3
-#define PR_BITS_PER_SHORT_LOG2 4
-#define PR_BITS_PER_INT_LOG2 5
-#define PR_BITS_PER_INT64_LOG2 6
-#define PR_BITS_PER_LONG_LOG2 5
-#define PR_BITS_PER_FLOAT_LOG2 5
-#define PR_BITS_PER_DOUBLE_LOG2 6
-#define PR_BITS_PER_WORD_LOG2 5
-
-#define PR_ALIGN_OF_SHORT 2
-#define PR_ALIGN_OF_INT 4
-#define PR_ALIGN_OF_LONG 4
-#define PR_ALIGN_OF_INT64 8
-#define PR_ALIGN_OF_FLOAT 4
-#define PR_ALIGN_OF_DOUBLE 8
-#define PR_ALIGN_OF_POINTER 4
-#define PR_ALIGN_OF_WORD 4
-
-#define PR_BYTES_PER_WORD_LOG2 2
-#define PR_BYTES_PER_DWORD_LOG2 3
-
-#elif defined(__s390__)
-
-#define IS_BIG_ENDIAN 1
-#undef IS_LITTLE_ENDIAN
-
-#define PR_BYTES_PER_BYTE 1
-#define PR_BYTES_PER_SHORT 2
-#define PR_BYTES_PER_INT 4
-#define PR_BYTES_PER_INT64 8
-#define PR_BYTES_PER_LONG 4
-#define PR_BYTES_PER_FLOAT 4
-#define PR_BYTES_PER_DOUBLE 8
-#define PR_BYTES_PER_WORD 4
-#define PR_BYTES_PER_DWORD 8
-
-#define PR_BITS_PER_BYTE 8
-#define PR_BITS_PER_SHORT 16
-#define PR_BITS_PER_INT 32
-#define PR_BITS_PER_INT64 64
-#define PR_BITS_PER_LONG 32
-#define PR_BITS_PER_FLOAT 32
-#define PR_BITS_PER_DOUBLE 64
-#define PR_BITS_PER_WORD 32
-
-#define PR_BITS_PER_BYTE_LOG2 3
-#define PR_BITS_PER_SHORT_LOG2 4
-#define PR_BITS_PER_INT_LOG2 5
-#define PR_BITS_PER_INT64_LOG2 6
-#define PR_BITS_PER_LONG_LOG2 5
-#define PR_BITS_PER_FLOAT_LOG2 5
-#define PR_BITS_PER_DOUBLE_LOG2 6
-#define PR_BITS_PER_WORD_LOG2 5
-
-#define PR_ALIGN_OF_SHORT 2
-#define PR_ALIGN_OF_INT 4
-#define PR_ALIGN_OF_LONG 4
-#define PR_ALIGN_OF_INT64 4
-#define PR_ALIGN_OF_FLOAT 4
-#define PR_ALIGN_OF_DOUBLE 4
-#define PR_ALIGN_OF_POINTER 4
-#define PR_ALIGN_OF_WORD 4
-
-#define PR_BYTES_PER_WORD_LOG2 2
-#define PR_BYTES_PER_DWORD_LOG2 3
-
-#elif defined(__s390x__)
-
-#define IS_BIG_ENDIAN 1
-#undef IS_LITTLE_ENDIAN
-#define IS_64
-
-#define PR_BYTES_PER_BYTE 1
-#define PR_BYTES_PER_SHORT 2
-#define PR_BYTES_PER_INT 4
-#define PR_BYTES_PER_INT64 8
-#define PR_BYTES_PER_LONG 8
-#define PR_BYTES_PER_FLOAT 4
-#define PR_BYTES_PER_DOUBLE 8
-#define PR_BYTES_PER_WORD 8
-#define PR_BYTES_PER_DWORD 8
-
-#define PR_BITS_PER_BYTE 8
-#define PR_BITS_PER_SHORT 16
-#define PR_BITS_PER_INT 32
-#define PR_BITS_PER_INT64 64
-#define PR_BITS_PER_LONG 64
-#define PR_BITS_PER_FLOAT 32
-#define PR_BITS_PER_DOUBLE 64
-#define PR_BITS_PER_WORD 64
-
-#define PR_BITS_PER_BYTE_LOG2 3
-#define PR_BITS_PER_SHORT_LOG2 4
-#define PR_BITS_PER_INT_LOG2 5
-#define PR_BITS_PER_INT64_LOG2 6
-#define PR_BITS_PER_LONG_LOG2 6
-#define PR_BITS_PER_FLOAT_LOG2 5
-#define PR_BITS_PER_DOUBLE_LOG2 6
-#define PR_BITS_PER_WORD_LOG2 6
-
-#define PR_ALIGN_OF_SHORT 2
-#define PR_ALIGN_OF_INT 4
-#define PR_ALIGN_OF_LONG 8
-#define PR_ALIGN_OF_INT64 8
-#define PR_ALIGN_OF_FLOAT 4
-#define PR_ALIGN_OF_DOUBLE 8
-#define PR_ALIGN_OF_POINTER 8
-#define PR_ALIGN_OF_WORD 8
-
-#define PR_BYTES_PER_WORD_LOG2 3
-#define PR_BYTES_PER_DWORD_LOG2 3
-
-#else
-
-#error "Unknown CPU architecture"
-
-#endif
-
-#define HAVE_LONG_LONG
-#if PR_ALIGN_OF_DOUBLE == 8
-#define HAVE_ALIGNED_DOUBLES
-#endif
-#if PR_ALIGN_OF_INT64 == 8
-#define HAVE_ALIGNED_LONGLONGS
-#endif
-
-#ifndef NO_NSPR_10_SUPPORT
-
-#define BYTES_PER_BYTE PR_BYTES_PER_BYTE
-#define BYTES_PER_SHORT PR_BYTES_PER_SHORT
-#define BYTES_PER_INT PR_BYTES_PER_INT
-#define BYTES_PER_INT64 PR_BYTES_PER_INT64
-#define BYTES_PER_LONG PR_BYTES_PER_LONG
-#define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT
-#define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE
-#define BYTES_PER_WORD PR_BYTES_PER_WORD
-#define BYTES_PER_DWORD PR_BYTES_PER_DWORD
-
-#define BITS_PER_BYTE PR_BITS_PER_BYTE
-#define BITS_PER_SHORT PR_BITS_PER_SHORT
-#define BITS_PER_INT PR_BITS_PER_INT
-#define BITS_PER_INT64 PR_BITS_PER_INT64
-#define BITS_PER_LONG PR_BITS_PER_LONG
-#define BITS_PER_FLOAT PR_BITS_PER_FLOAT
-#define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE
-#define BITS_PER_WORD PR_BITS_PER_WORD
-
-#define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2
-#define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2
-#define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2
-#define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2
-#define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2
-#define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2
-#define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2
-#define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2
-
-#define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT
-#define ALIGN_OF_INT PR_ALIGN_OF_INT
-#define ALIGN_OF_LONG PR_ALIGN_OF_LONG
-#define ALIGN_OF_INT64 PR_ALIGN_OF_INT64
-#define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT
-#define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE
-#define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER
-#define ALIGN_OF_WORD PR_ALIGN_OF_WORD
-
-#define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2
-#define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2
-#define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2
-
-#endif /* NO_NSPR_10_SUPPORT */
-
-#endif /* nspr_cpucfg___ */
diff --git a/src/libs/xpcom18a4/nsprpub/pr/include/md/_l4v2.h b/src/libs/xpcom18a4/nsprpub/pr/include/md/_l4v2.h
deleted file mode 100644
index b05a844d..00000000
--- a/src/libs/xpcom18a4/nsprpub/pr/include/md/_l4v2.h
+++ /dev/null
@@ -1,838 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#ifndef nspr_l4v2_defs_h___
-#define nspr_l4v2_defs_h___
-
-/**
- * I have "#if 0"ed a lot of this out, and plan to add most of it manually as the
- * compiler complains about it in order to get a better idea of what is here and
- * what it does. Not to mention which bits are needed by the runtime itself, and
- * which only by the unix port.
- */
-
-#include "prthread.h"
-
-/*
- * Internal configuration macros
- */
-
-#define PR_LINKER_ARCH "l4v2"
-#define _PR_SI_SYSNAME "L4ENV"
-#define _PR_SI_ARCHITECTURE "x86"
-#define PR_DLL_SUFFIX ".s.so"
-
-#define _PR_VMBASE 0x30000000 /* not used */
-#define _PR_STACK_VMBASE 0x50000000 /* only used in an unused fn */
-#define _MD_DEFAULT_STACK_SIZE 65536L
-#define _MD_MMAP_FLAGS MAP_PRIVATE
-
-#undef HAVE_STACK_GROWING_UP
-
-/*
- * L4env supports dl* functions
- */
-#define HAVE_DLL
-#define USE_DLFCN
-
-#define USE_SETJMP
-#undef _PR_USE_POLL
-#define _PR_STAT_HAS_ONLY_ST_ATIME
-#define _PR_HAVE_OFF64_T
-
-#include <setjmp.h>
-
-#define PR_CONTEXT_TYPE jmp_buf
-
-#define CONTEXT(_th) ((_th)->md.context)
-
-/* Now come the things specifically added for the l4v2 target */
-
-/* Don't know quite what this means yet, except that we don't have "it" */
-/* #define TCP_NODELAY _PR_NO_SUCH_SOCKOPT */
-
-/* And what is this? Something to do with memory... Used in
- xpcom18a4/nsprpub/pr/src/memory/prseg.c */
-/**
- * definitions and macros for l4env/memory.c
- */
-
-struct _MDSegment {
- PRInt8 notused;
-};
-
-
-extern void
-_MD_InitSegs(void);
-#define _MD_INIT_SEGS _MD_InitSegs
-
-extern PRStatus
-_MD_AllocSegment(PRSegment *seg, PRUint32 size, void *vaddr);
-#define _MD_ALLOC_SEGMENT _MD_AllocSegment
-
-extern void
-_MD_FreeSegment(PRSegment *seg);
-#define _MD_FREE_SEGMENT _MD_FreeSegment
-
-/**
- * definitions and macros for l4env/clock.c
- */
-extern void
-_MD_IntervalInit(void);
-#define _MD_INTERVAL_INIT()
-
-/**
- * definitions and macros for l4env/l4env.c
- */
-
-/* See xpcom18a4/nsprpub/pr/src/misc/prinit.c regarding the following function */
-extern void
-_MD_EarlyInit(void);
-#define _MD_EARLY_INIT() _MD_EarlyInit()
-
-extern void
-_MD_StartInterrupts(void);
-
-extern void
-_MD_StopInterrupts(void);
-
-extern void
-_MD_DisableClockInterrupts(void);
-
-extern void
-_MD_EnableClockInterrupts(void);
-
-extern void
-_MD_BlockClockInterrupts(void);
-
-extern void
-_MD_UnblockClockInterrupts(void);
-
-#define __USE_SVID /* for now, to get putenv */
-#include <stdlib.h>
-
-/**
- * definitions and macros for l4env/atomic.c
- */
-#if defined(__i386__)
-#define _PR_HAVE_ATOMIC_OPS
-#define _MD_INIT_ATOMIC()
-
-extern PRInt32
-_PR_x86_AtomicIncrement(PRInt32 *val);
-#define _MD_ATOMIC_INCREMENT _PR_x86_AtomicIncrement
-
-extern PRInt32
-_PR_x86_AtomicDecrement(PRInt32 *val);
-#define _MD_ATOMIC_DECREMENT _PR_x86_AtomicDecrement
-
-extern PRInt32
-_PR_x86_AtomicAdd(PRInt32 *ptr, PRInt32 val);
-
-#define _MD_ATOMIC_ADD _PR_x86_AtomicAdd
-extern PRInt32
-_PR_x86_AtomicSet(PRInt32 *val, PRInt32 newval);
-#define _MD_ATOMIC_SET _PR_x86_AtomicSet
-#endif
-
-/**
- * definitions and macros for l4env/threads.c
- */
-#define _PR_LOCAL_THREADS_ONLY
-#if 0
-struct _MDThread {
- PRInt8 notused;
-};
-
-struct _MDThreadStack {
- PRInt8 notused;
-};
-#endif /* 0 */
-
-#ifndef _PR_LOCAL_THREADS_ONLY
-extern PR_IMPLEMENT(PRThread*)
-PR_GetCurrentThread(void);
-#define _MD_CURRENT_THREAD() PR_GetCurrentThread()
-#endif /* _PR_LOCAL_THREADS_ONLY */
-
-#define _MD_EXIT_THREAD(thread)
-
-#ifndef _PR_LOCAL_THREADS_ONLY
-extern PR_IMPLEMENT(struct _PRCPU *)
-PR_GetCurrentCPU(void);
-#define _MD_CURRENT_CPU() PR_GetCurrentCPU()
-#endif /* _PR_LOCAL_THREADS_ONLY */
-
-#if 0
-#define _L4_GET_NUMBER_OF_CPUS() 1
-#define _MD_SET_INTSOFF(_val)
-#define _MD_GET_INTSOFF() 1
-#endif /* 0 */
-
-#if 0 /* these are the Win32 versions of the above macros - all other versions are defined
- as here. */
-#define _MD_GET_INTSOFF() \
- (_pr_use_static_tls ? _pr_ints_off \
- : (PRUintn) TlsGetValue(_pr_intsOffIndex))
-
-#define _MD_SET_INTSOFF(_val) \
- PR_BEGIN_MACRO \
- if (_pr_use_static_tls) { \
- _pr_ints_off = (_val); \
- } else { \
- TlsSetValue(_pr_intsOffIndex, (LPVOID) (_val)); \
- } \
- PR_END_MACRO
-#endif /* 0 */
-
-/**
- * definitions and macros for file l4env/mmap.c
- */
-
-/* Memory-mapped files */
-
-extern PRStatus
-_MD_CreateFileMap(struct PRFileMap *fmap, PRInt64 size);
-#define _MD_CREATE_FILE_MAP _MD_CreateFileMap
-
-extern PRStatus
-_MD_CloseFileMap(struct PRFileMap *fmap);
-#define _MD_CLOSE_FILE_MAP _MD_CloseFileMap
-
-#define _MD_GET_MEM_MAP_ALIGNMENT() PR_GetPageSize()
-
-extern void *
-_MD_MemMap(struct PRFileMap *fmap, PRInt64 offset,
- PRUint32 len);
-#define _MD_MEM_MAP _MD_MemMap
-
-extern PRStatus
-_MD_MemUnmap(void *addr, PRUint32 size);
-#define _MD_MEM_UNMAP _MD_MemUnmap
-
-/**
- * definitions and macros for file l4env/fileio.c
- */
-#define PR_DIRECTORY_SEPARATOR '/'
-#define PR_DIRECTORY_SEPARATOR_STR "/"
-#define PR_PATH_SEPARATOR ':'
-#define PR_PATH_SEPARATOR_STR ":"
-#define GCPTR
-
-#if 0
-typedef int (*FARPROC)(); /* Where is this used? */
-#endif
-
-extern PRInt32
-_MD_write(PRFileDesc *fd, const void *buf, PRInt32 amount);
-#define _MD_WRITE(fd,buf,amount) _MD_write(fd,buf,amount)
-
-extern void
-_MD_query_fd_inheritable(PRFileDesc *fd);
-#define _MD_QUERY_FD_INHERITABLE _MD_query_fd_inheritable
-
-/**
- * definitions and macros for file l4env/sockets.c
- */
-extern PRStatus
-_MD_getsockopt(PRFileDesc *fd, PRInt32 level,
- PRInt32 optname, char* optval, PRInt32* optlen);
-#define _MD_GETSOCKOPT _MD_getsockopt
-extern PRStatus
-_MD_setsockopt(PRFileDesc *fd, PRInt32 level,
- PRInt32 optname, const char* optval, PRInt32 optlen);
-#define _MD_SETSOCKOPT _MD_setsockopt
-
-extern PRStatus
-_MD_gethostname(char *name, PRUint32 namelen);
-#define _MD_GETHOSTNAME _MD_gethostname
-
-/**
- * definitions and macros for file l4env/locks.c
- */
-struct _MDSemaphore {
- PRInt8 notused;
-};
-
-struct _MDCVar {
- PRInt8 notused;
-};
-
-struct _MDLock {
- int unused;
-};
-
-
-/* Intel based Linux, err sorry, L4 */
-#define _MD_GET_SP(_t) CONTEXT(_t)[0].__jmpbuf[JB_SP]
-#define _MD_SET_FP(_t, val) (CONTEXT(_t)[0].__jmpbuf[JB_BP] = val)
-#define _MD_GET_SP_PTR(_t) &(_MD_GET_SP(_t))
-#define _MD_GET_FP_PTR(_t) &(CONTEXT(_t)[0].__jmpbuf[JB_BP])
-#define _MD_SP_TYPE __ptr_t
-#define PR_NUM_GCREGS 6
-
-/*
-** Initialize a thread context to run "_main()" when started
-*/
-#define _MD_INIT_CONTEXT(_thread, _sp, _main, status) \
-{ \
- *status = PR_TRUE; \
- if (sigsetjmp(CONTEXT(_thread), 1)) { \
- _main(); \
- } \
- _MD_GET_SP(_thread) = (_MD_SP_TYPE) ((_sp) - 64); \
- _thread->md.sp = _MD_GET_SP_PTR(_thread); \
- _thread->md.fp = _MD_GET_FP_PTR(_thread); \
- _MD_SET_FP(_thread, 0); \
-}
-
-#define _MD_SWITCH_CONTEXT(_thread) \
- if (!sigsetjmp(CONTEXT(_thread), 1)) { \
- (_thread)->md.errcode = errno; \
- _PR_Schedule(); \
- }
-
-/*
-** Restore a thread context, saved by _MD_SWITCH_CONTEXT
-*/
-#define _MD_RESTORE_CONTEXT(_thread) \
-{ \
- errno = (_thread)->md.errcode; \
- _MD_SET_CURRENT_THREAD(_thread); \
- siglongjmp(CONTEXT(_thread), 1); \
-}
-
-/* Machine-dependent (MD) data structures */
-
-struct _MDThread {
- PR_CONTEXT_TYPE context;
-/* The next two are purely for debugging purposes */
- int sp;
- int fp;
- int id;
- int errcode;
-};
-
-struct _MDThreadStack {
- PRInt8 notused;
-};
-
-
-/*
- * md-specific cpu structure field
- */
-
-#include <sys/time.h> /* for FD_SETSIZE */
-#define _PR_MD_MAX_OSFD FD_SETSIZE
-
-struct _MDCPU_Unix {
- PRCList ioQ;
- PRUint32 ioq_timeout;
- PRInt32 ioq_max_osfd;
- PRInt32 ioq_osfd_cnt;
-#ifndef _PR_USE_POLL
- fd_set fd_read_set, fd_write_set, fd_exception_set;
- PRInt16 fd_read_cnt[_PR_MD_MAX_OSFD],fd_write_cnt[_PR_MD_MAX_OSFD],
- fd_exception_cnt[_PR_MD_MAX_OSFD];
-#else
- struct pollfd *ioq_pollfds;
- int ioq_pollfds_size;
-#endif /* _PR_USE_POLL */
-};
-
-#define _PR_IOQ(_cpu) ((_cpu)->md.md_unix.ioQ)
-#define _PR_ADD_TO_IOQ(_pq, _cpu) PR_APPEND_LINK(&_pq.links, &_PR_IOQ(_cpu))
-#define _PR_FD_READ_SET(_cpu) ((_cpu)->md.md_unix.fd_read_set)
-#define _PR_FD_READ_CNT(_cpu) ((_cpu)->md.md_unix.fd_read_cnt)
-#define _PR_FD_WRITE_SET(_cpu) ((_cpu)->md.md_unix.fd_write_set)
-#define _PR_FD_WRITE_CNT(_cpu) ((_cpu)->md.md_unix.fd_write_cnt)
-#define _PR_FD_EXCEPTION_SET(_cpu) ((_cpu)->md.md_unix.fd_exception_set)
-#define _PR_FD_EXCEPTION_CNT(_cpu) ((_cpu)->md.md_unix.fd_exception_cnt)
-#define _PR_IOQ_TIMEOUT(_cpu) ((_cpu)->md.md_unix.ioq_timeout)
-#define _PR_IOQ_MAX_OSFD(_cpu) ((_cpu)->md.md_unix.ioq_max_osfd)
-#define _PR_IOQ_OSFD_CNT(_cpu) ((_cpu)->md.md_unix.ioq_osfd_cnt)
-#define _PR_IOQ_POLLFDS(_cpu) ((_cpu)->md.md_unix.ioq_pollfds)
-#define _PR_IOQ_POLLFDS_SIZE(_cpu) ((_cpu)->md.md_unix.ioq_pollfds_size)
-
-#define _PR_IOQ_MIN_POLLFDS_SIZE(_cpu) 32
-
-struct _MDCPU {
- struct _MDCPU_Unix md_unix;
-};
-
-#define _MD_INIT_LOCKS()
-#define _MD_NEW_LOCK(lock) PR_SUCCESS
-#define _MD_FREE_LOCK(lock)
-#define _MD_LOCK(lock)
-#define _MD_UNLOCK(lock)
-#define _MD_INIT_IO()
-#define _MD_IOQ_LOCK()
-#define _MD_IOQ_UNLOCK()
-
-#if 0
-extern PRStatus _MD_InitializeThread(PRThread *thread);
-#endif /* 0 */
-
-#define _MD_INIT_RUNNING_CPU(cpu) _MD_unix_init_running_cpu(cpu)
-
-#define _MD_INIT_THREAD _MD_InitializeThread
-
-#if 0
-#define _MD_EXIT_THREAD(thread)
-#define _MD_SUSPEND_THREAD(thread) _MD_suspend_thread
-#define _MD_RESUME_THREAD(thread) _MD_resume_thread
-#endif /* 0 */
-
-#define _MD_CLEAN_THREAD(_thread)
-
-#if 0
-extern PRStatus _MD_CREATE_THREAD(
- PRThread *thread,
- void (*start) (void *),
- PRThreadPriority priority,
- PRThreadScope scope,
- PRThreadState state,
- PRUint32 stackSize);
-extern void _MD_SET_PRIORITY(struct _MDThread *thread, PRUintn newPri);
-#endif /* 0 */
-
-extern PRStatus _MD_WAIT(PRThread *, PRIntervalTime timeout);
-extern PRStatus _MD_WAKEUP_WAITER(PRThread *);
-
-#if 0
-extern void _MD_YIELD(void);
-
-extern void _MD_EarlyInit(void);
-#endif /* 0 */
-
-extern PRIntervalTime _PR_UNIX_GetInterval(void);
-extern PRIntervalTime _PR_UNIX_TicksPerSecond(void);
-
-#if 0
-#define _MD_EARLY_INIT _MD_EarlyInit
-#endif /* 0 */
-#define _MD_FINAL_INIT _PR_UnixInit
-#define _MD_GET_INTERVAL _PR_UNIX_GetInterval
-#define _MD_INTERVAL_PER_SEC _PR_UNIX_TicksPerSecond
-
-/*
- * We wrapped the select() call. _MD_SELECT refers to the built-in,
- * unwrapped version.
- */
-#if 0
-#define _MD_SELECT __select
-#else
-#define _MD_SELECT select
-#endif
-
-#ifdef _PR_POLL_AVAILABLE
-#include <sys/poll.h>
-extern int __syscall_poll(struct pollfd *ufds, unsigned long int nfds,
- int timeout);
-#define _MD_POLL __syscall_poll
-#endif
-
-#if 0
-/* For writev() */
-#include <sys/uio.h>
-
-extern void _MD_l4_map_sendfile_error(int err);
-
-#include <sys/types.h>
-#include <dirent.h>
-
-#include "prio.h"
-#include "prmem.h"
-#include "prclist.h"
-#endif /* 0 */
-
-#if 0
-/*
- * intervals at which GLOBAL threads wakeup to check for pending interrupt
- */
-#define _PR_INTERRUPT_CHECK_INTERVAL_SECS 5
-extern PRIntervalTime intr_timeout_ticks;
-
-#define _PR_POLLQUEUE_PTR(_qp) \
- ((PRPollQueue*) ((char*) (_qp) - offsetof(PRPollQueue,links)))
-
-extern void _PR_Unblock_IO_Wait(struct PRThread *thr);
-
-#endif /* 0 */
-
-#if 0
-
-struct _MDDir {
- DIR *d;
-};
-
-struct _PRCPU;
-#endif /* 0 */
-
-/*
-** Make a redzone at both ends of the stack segment. Disallow access
-** to those pages of memory. It's ok if the mprotect call's don't
-** work - it just means that we don't really have a functional
-** redzone.
-*/
-#if 0
-#include <sys/mman.h>
-#ifndef PROT_NONE
-#define PROT_NONE 0x0
-#endif
-
-#define _MD_INIT_STACK(ts,REDZONE)
-#define _MD_CLEAR_STACK(ts)
-
-#define PR_SET_INTSOFF(newval)
-#endif
-
-#if 0
-
-struct PRProcess;
-struct PRProcessAttr;
-
-/* Create a new process (fork() + exec()) */
-#define _MD_CREATE_PROCESS _MD_l4CreateProcess
- /* When the compiler complains about this, we will do something about it. */
-
-#define _MD_DETACH_PROCESS _MD_l4DetachProcess
-
-/* Wait for a child process to terminate */
-#define _MD_WAIT_PROCESS _MD_l4WaitProcess
-
-#define _MD_KILL_PROCESS _MD_l4KillProcess
-#endif
-
-/************************************************************************/
-
-#if 0
-extern void _MD_EnableClockInterrupts(void);
-extern void _MD_DisableClockInterrupts(void);
-
-#define _MD_START_INTERRUPTS _MD_StartInterrupts
-#define _MD_STOP_INTERRUPTS _MD_StopInterrupts
-#define _MD_DISABLE_CLOCK_INTERRUPTS _MD_DisableClockInterrupts
-#define _MD_ENABLE_CLOCK_INTERRUPTS _MD_EnableClockInterrupts
-#define _MD_BLOCK_CLOCK_INTERRUPTS _MD_BlockClockInterrupts
-#define _MD_UNBLOCK_CLOCK_INTERRUPTS _MD_UnblockClockInterrupts
-#endif
-
-/************************************************************************/
-
-#if 0
-extern void _MD_InitCPUS(void);
-#define _MD_INIT_CPUS _MD_InitCPUS
-
-extern void _MD_Wakeup_CPUs(void);
-#define _MD_WAKEUP_CPUS _MD_Wakeup_CPUs
-
-#define _MD_PAUSE_CPU _MD_PauseCPU
-
-#if defined(_PR_LOCAL_THREADS_ONLY) || defined(_PR_GLOBAL_THREADS_ONLY)
-#define _MD_CLEANUP_BEFORE_EXIT()
-#endif
-
-#define _MD_EXIT(status) _exit(status)
-#endif
-
-/************************************************************************/
-
-#if 0
-#define _MD_GET_ENV getenv
-#define _MD_PUT_ENV putenv
-#endif /* 0 */
-
-/************************************************************************/
-
-#if 0
-#define _MD_INIT_FILEDESC(fd)
-
-extern void _MD_MakeNonblock(PRFileDesc *fd);
-#define _MD_MAKE_NONBLOCK _MD_MakeNonblock
-#endif
-
-/************************************************************************/
-
-#if 0
-#if !defined(_PR_PTHREADS)
-
-extern void _MD_InitSegs(void);
-extern PRStatus _MD_AllocSegment(PRSegment *seg, PRUint32 size,
- void *vaddr);
-extern void _MD_FreeSegment(PRSegment *seg);
-
-#define _MD_INIT_SEGS _MD_InitSegs
-#define _MD_ALLOC_SEGMENT _MD_AllocSegment
-#define _MD_FREE_SEGMENT _MD_FreeSegment
-
-#endif /* !defined(_PR_PTHREADS) */
-#endif /* 0 */
-
-/************************************************************************/
-
-#if 0
-#define _MD_INTERVAL_INIT()
-#define _MD_INTERVAL_PER_MILLISEC() (_PR_MD_INTERVAL_PER_SEC() / 1000)
-#define _MD_INTERVAL_PER_MICROSEC() (_PR_MD_INTERVAL_PER_SEC() / 1000000)
-#endif
-
-/************************************************************************/
-
-#if 0
-#define _MD_ERRNO() (errno)
-#define _MD_GET_SOCKET_ERROR() (errno)
-#endif
-
-/************************************************************************/
-
-#if 0
-extern PRInt32 _MD_AvailableSocket(PRInt32 osfd);
-
-extern void _MD_StartInterrupts(void);
-extern void _MD_StopInterrupts(void);
-extern void _MD_DisableClockInterrupts(void);
-extern void _MD_BlockClockInterrupts(void);
-extern void _MD_UnblockClockInterrupts(void);
-extern void _MD_PauseCPU(PRIntervalTime timeout);
-#endif /* 0 */
-
-#if 0
-extern PRStatus _MD_open_dir(struct _MDDir *, const char *);
-extern PRInt32 _MD_close_dir(struct _MDDir *);
-extern char * _MD_read_dir(struct _MDDir *, PRIntn);
-extern PRInt32 _MD_open(const char *name, PRIntn osflags, PRIntn mode);
-extern PRInt32 _MD_delete(const char *name);
-extern PRInt32 _MD_getfileinfo(const char *fn, PRFileInfo *info);
-extern PRInt32 _MD_getfileinfo64(const char *fn, PRFileInfo64 *info);
-extern PRInt32 _MD_getopenfileinfo(const PRFileDesc *fd, PRFileInfo *info);
-extern PRInt32 _MD_getopenfileinfo64(const PRFileDesc *fd, PRFileInfo64 *info);
-extern PRInt32 _MD_rename(const char *from, const char *to);
-extern PRInt32 _MD_access(const char *name, PRAccessHow how);
-extern PRInt32 _MD_mkdir(const char *name, PRIntn mode);
-extern PRInt32 _MD_rmdir(const char *name);
-extern PRInt32 _MD_accept_read(PRInt32 sock, PRInt32 *newSock,
- PRNetAddr **raddr, void *buf, PRInt32 amount);
-extern PRInt32 _PR_UnixSendFile(PRFileDesc *sd, PRSendFileData *sfd,
- PRTransmitFileFlags flags, PRIntervalTime timeout);
-
-extern PRStatus _MD_LockFile(PRInt32 osfd);
-extern PRStatus _MD_TLockFile(PRInt32 osfd);
-extern PRStatus _MD_UnlockFile(PRInt32 osfd);
-
-#define _MD_OPEN_DIR(dir, name) _MD_open_dir(dir, name)
-#define _MD_CLOSE_DIR(dir) _MD_close_dir(dir)
-#define _MD_READ_DIR(dir, flags) _MD_read_dir(dir, flags)
-#define _MD_OPEN(name, osflags, mode) _MD_open(name, osflags, mode)
-#define _MD_OPEN_FILE(name, osflags, mode) _MD_open(name, osflags, mode)
-extern PRInt32 _MD_read(PRFileDesc *fd, void *buf, PRInt32 amount);
-#define _MD_READ(fd,buf,amount) _MD_read(fd,buf,amount)
-extern PRInt32 _MD_write(PRFileDesc *fd, const void *buf, PRInt32 amount);
-#define _MD_WRITE(fd,buf,amount) _MD_write(fd,buf,amount)
-#define _MD_DELETE(name) _MD_delete(name)
-#define _MD_GETFILEINFO(fn, info) _MD_getfileinfo(fn, info)
-#define _MD_GETFILEINFO64(fn, info) _MD_getfileinfo64(fn, info)
-#define _MD_GETOPENFILEINFO(fd, info) _MD_getopenfileinfo(fd, info)
-#define _MD_GETOPENFILEINFO64(fd, info) _MD_getopenfileinfo64(fd, info)
-#define _MD_RENAME(from, to) _MD_rename(from, to)
-#define _MD_ACCESS(name, how) _MD_access(name, how)
-#define _MD_MKDIR(name, mode) _MD_mkdir(name, mode)
-#define _MD_MAKE_DIR(name, mode) _MD_mkdir(name, mode)
-#define _MD_RMDIR(name) _MD_rmdir(name)
-#define _MD_ACCEPT_READ(sock, newSock, raddr, buf, amount) _MD_accept_read(sock, newSock, raddr, buf, amount)
-
-#define _MD_LOCKFILE _MD_LockFile
-#define _MD_TLOCKFILE _MD_TLockFile
-#define _MD_UNLOCKFILE _MD_UnlockFile
-#endif /* 0 */
-
-#if 0
-extern PRInt32 _MD_socket(int af, int type, int flags);
-#define _MD_SOCKET _MD_socket
-extern PRInt32 _MD_connect(PRFileDesc *fd, const PRNetAddr *addr,
- PRUint32 addrlen, PRIntervalTime timeout);
-#define _MD_CONNECT _MD_connect
-extern PRInt32 _MD_accept(PRFileDesc *fd, PRNetAddr *addr, PRUint32 *addrlen,
- PRIntervalTime timeout);
-#define _MD_ACCEPT _MD_accept
-extern PRInt32 _MD_bind(PRFileDesc *fd, const PRNetAddr *addr, PRUint32 addrlen);
-#define _MD_BIND _MD_bind
-extern PRInt32 _MD_listen(PRFileDesc *fd, PRIntn backlog);
-#define _MD_LISTEN _MD_listen
-extern PRInt32 _MD_shutdown(PRFileDesc *fd, PRIntn how);
-#define _MD_SHUTDOWN _MD_shutdown
-
-extern PRInt32 _MD_recv(PRFileDesc *fd, void *buf, PRInt32 amount,
- PRIntn flags, PRIntervalTime timeout);
-#define _MD_RECV _MD_recv
-extern PRInt32 _MD_send(PRFileDesc *fd, const void *buf, PRInt32 amount,
- PRIntn flags, PRIntervalTime timeout);
-#define _MD_SEND _MD_send
-extern PRInt32 _MD_recvfrom(PRFileDesc *fd, void *buf, PRInt32 amount,
- PRIntn flags, PRNetAddr *addr, PRUint32 *addrlen,
- PRIntervalTime timeout);
-#define _MD_RECVFROM _MD_recvfrom
-extern PRInt32 _MD_sendto(PRFileDesc *fd, const void *buf, PRInt32 amount,
- PRIntn flags, const PRNetAddr *addr, PRUint32 addrlen,
- PRIntervalTime timeout);
-#define _MD_SENDTO _MD_sendto
-extern PRInt32 _MD_writev(PRFileDesc *fd, const struct PRIOVec *iov,
- PRInt32 iov_size, PRIntervalTime timeout);
-#define _MD_WRITEV _MD_writev
-
-extern PRInt32 _MD_socketavailable(PRFileDesc *fd);
-#define _MD_SOCKETAVAILABLE _MD_socketavailable
-extern PRInt64 _MD_socketavailable64(PRFileDesc *fd);
-#define _MD_SOCKETAVAILABLE64 _MD_socketavailable64
-
-#define _MD_PIPEAVAILABLE _MD_socketavailable
-
-extern PRInt32 _MD_pr_poll(PRPollDesc *pds, PRIntn npds,
- PRIntervalTime timeout);
-#define _MD_PR_POLL _MD_pr_poll
-#endif /* 0 */
-
-#if 0
-extern PRInt32 _MD_close(PRInt32 osfd);
-#define _MD_CLOSE_FILE _MD_close
-extern PRInt32 _MD_lseek(PRFileDesc*, PRInt32, PRSeekWhence);
-#define _MD_LSEEK _MD_lseek
-extern PRInt64 _MD_lseek64(PRFileDesc*, PRInt64, PRSeekWhence);
-#define _MD_LSEEK64 _MD_lseek64
-extern PRInt32 _MD_fsync(PRFileDesc *fd);
-#define _MD_FSYNC _MD_fsync
-#endif /* 0 */
-
-#if 0
-extern PRInt32 _MD_socketpair(int af, int type, int flags, PRInt32 *osfd);
-#define _MD_SOCKETPAIR _MD_socketpair
-
-#define _MD_CLOSE_SOCKET _MD_close
-
-#ifndef NO_NSPR_10_SUPPORT
-#define _MD_STAT stat
-#endif
-
-extern PRStatus _MD_getpeername(PRFileDesc *fd, PRNetAddr *addr,
- PRUint32 *addrlen);
-#define _MD_GETPEERNAME _MD_getpeername
-extern PRStatus _MD_getsockname(PRFileDesc *fd, PRNetAddr *addr,
- PRUint32 *addrlen);
-#define _MD_GETSOCKNAME _MD_getsockname
-
-extern PRStatus _MD_getsockopt(PRFileDesc *fd, PRInt32 level,
- PRInt32 optname, char* optval, PRInt32* optlen);
-#define _MD_GETSOCKOPT _MD_getsockopt
-extern PRStatus _MD_setsockopt(PRFileDesc *fd, PRInt32 level,
- PRInt32 optname, const char* optval, PRInt32 optlen);
-#define _MD_SETSOCKOPT _MD_setsockopt
-
-extern PRStatus _MD_set_fd_inheritable(PRFileDesc *fd, PRBool inheritable);
-#define _MD_SET_FD_INHERITABLE _MD_set_fd_inheritable
-
-extern void _MD_init_fd_inheritable(PRFileDesc *fd, PRBool imported);
-#define _MD_INIT_FD_INHERITABLE _MD_init_fd_inheritable
-
-extern void _MD_query_fd_inheritable(PRFileDesc *fd);
-#define _MD_QUERY_FD_INHERITABLE _MD_query_fd_inheritable
-
-extern PRStatus _MD_gethostname(char *name, PRUint32 namelen);
-#define _MD_GETHOSTNAME _MD_gethostname
-
-extern PRStatus _MD_getsysinfo(PRSysInfo cmd, char *name, PRUint32 namelen);
-#define _MD_GETSYSINFO _MD_getsysinfo
-#endif /* 0 */
-
-#if 0
-struct _MDFileMap {
- PRIntn prot;
- PRIntn flags;
- PRBool isAnonFM; /* when true, PR_CloseFileMap() must close the related fd */
-};
-
-extern PRStatus _MD_CreateFileMap(struct PRFileMap *fmap, PRInt64 size);
-#define _MD_CREATE_FILE_MAP _MD_CreateFileMap
-
-#define _MD_GET_MEM_MAP_ALIGNMENT() PR_GetPageSize()
-
-extern void * _MD_MemMap(struct PRFileMap *fmap, PRInt64 offset,
- PRUint32 len);
-#define _MD_MEM_MAP _MD_MemMap
-
-extern PRStatus _MD_MemUnmap(void *addr, PRUint32 size);
-#define _MD_MEM_UNMAP _MD_MemUnmap
-
-extern PRStatus _MD_CloseFileMap(struct PRFileMap *fmap);
-#define _MD_CLOSE_FILE_MAP _MD_CloseFileMap
-#endif /* 0 */
-
-#if 0
-#define GETTIMEOFDAY(tp) gettimeofday((tp), NULL)
-
-#if defined(_PR_PTHREADS) && !defined(_PR_POLL_AVAILABLE)
-#define _PR_NEED_FAKE_POLL
-#endif
-
-/*
-** A vector of the UNIX I/O calls we use. These are here to smooth over
-** the rough edges needed for large files. All of NSPR's implmentaions
-** go through this vector using syntax of the form
-** result = _md_iovector.xxx64(args);
-*/
-
-typedef struct stat _MDStat64;
-typedef off_t _MDOff64_t;
-
-typedef PRIntn (*_MD_Fstat64)(PRIntn osfd, _MDStat64 *buf);
-typedef PRIntn (*_MD_Open64)(const char *path, int oflag, ...);
-typedef PRIntn (*_MD_Stat64)(const char *path, _MDStat64 *buf);
-typedef _MDOff64_t (*_MD_Lseek64)(PRIntn osfd, _MDOff64_t, PRIntn whence);
-typedef void* (*_MD_Mmap64)(
- void *addr, PRSize len, PRIntn prot, PRIntn flags,
- PRIntn fildes, _MDOff64_t offset);
-struct _MD_IOVector
-{
- _MD_Open64 _open64;
- _MD_Mmap64 _mmap64;
- _MD_Stat64 _stat64;
- _MD_Fstat64 _fstat64;
- _MD_Lseek64 _lseek64;
-};
-extern struct _MD_IOVector _md_iovector;
-#endif /* 0 */
-
-#endif /* nspr_l4v2_defs_h___ */
diff --git a/src/libs/xpcom18a4/nsprpub/pr/include/md/_unixos.h b/src/libs/xpcom18a4/nsprpub/pr/include/md/_unixos.h
index 1f30e884..60793de1 100644
--- a/src/libs/xpcom18a4/nsprpub/pr/include/md/_unixos.h
+++ b/src/libs/xpcom18a4/nsprpub/pr/include/md/_unixos.h
@@ -46,7 +46,7 @@
* Linux: FD_SETSIZE is defined in /usr/include/sys/select.h and should
* not be redefined.
*/
-#if !defined(LINUX) && !defined(DARWIN) && !defined(NEXTSTEP) && !defined(L4ENV)
+#if !defined(LINUX) && !defined(DARWIN) && !defined(NEXTSTEP)
#ifndef FD_SETSIZE
#define FD_SETSIZE 4096
#endif
diff --git a/src/libs/xpcom18a4/nsprpub/pr/include/md/prosdep.h b/src/libs/xpcom18a4/nsprpub/pr/include/md/prosdep.h
index b747edb3..93496520 100644
--- a/src/libs/xpcom18a4/nsprpub/pr/include/md/prosdep.h
+++ b/src/libs/xpcom18a4/nsprpub/pr/include/md/prosdep.h
@@ -138,9 +138,6 @@ PR_BEGIN_EXTERN_C
#elif defined(NTO)
#include "md/_nto.h"
-#elif defined(L4ENV)
-#include "md/_l4v2.h"
-
#else
#error unknown Unix flavor
diff --git a/src/libs/xpcom18a4/nsprpub/pr/src/io/prlog.c b/src/libs/xpcom18a4/nsprpub/pr/src/io/prlog.c
index 1c9142c2..7eb4ef69 100644
--- a/src/libs/xpcom18a4/nsprpub/pr/src/io/prlog.c
+++ b/src/libs/xpcom18a4/nsprpub/pr/src/io/prlog.c
@@ -423,7 +423,7 @@ PR_IMPLEMENT(PRBool) PR_SetLogFile(const char *file)
#if defined(VBOX) && defined(DEBUG)
if (strcmp(file, "IPRT") == 0) {
/* initialize VBox Runtime */
- RTR3InitDll(0);
+ RTR3InitDll(RTR3INIT_FLAGS_UNOBTRUSIVE);
newLogFile = IPRT_DEBUG_FILE;
}
else
@@ -464,7 +464,7 @@ PR_IMPLEMENT(PRBool) PR_SetLogFile(const char *file)
#if defined(VBOX) && defined(DEBUG)
if (strcmp(file, "IPRT") == 0) {
/* initialize VBox Runtime */
- RTR3InitDll(0);
+ RTR3InitDll(RTR3INIT_FLAGS_UNOBTRUSIVE);
logFile = IPRT_DEBUG_FILE;
return PR_TRUE;
}
diff --git a/src/libs/xpcom18a4/nsprpub/pr/src/md/l4env/locks.c b/src/libs/xpcom18a4/nsprpub/pr/src/md/l4env/locks.c
deleted file mode 100644
index 281e34e7..00000000
--- a/src/libs/xpcom18a4/nsprpub/pr/src/md/l4env/locks.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/*
-** File: l4env/locks.c
-** Descritpion: Implemenation for locks using l4env
-** Exports: none, that I am aware of
-*/
-
-/**
- * @note The Windows implementation uses critical sections to implement locks.
- * Solaris uses mutexes.
- */
-
-#include "prlog.h"
-#include "primpl.h"
-
-PR_IMPLEMENT(void)
-_MD_init_locks(void) { } /* PR_InitLocks */
-
-PR_IMPLEMENT(PRStatus)
-_MD_new_lock(
- struct _MDLock *md_lock)
-{
- PR_ASSERT("_MD_new_lock called!");
- return 0;
-} /* _MD_new_lock */
-
-PR_IMPLEMENT(void)
-_MD_free_lock(
- struct _MDLock *md_lock)
-{
- PR_ASSERT("_MD_free_lock called!");
-} /* _MD_free_lock */
-
-PR_IMPLEMENT(void)
-_MD_lock(
- struct _MDLock *md_lock)
-{
- PR_ASSERT("_MD_lock called!");
-} /* _MD_lock */
-
-PR_IMPLEMENT(void)
-_MD_unlock(
- struct _MDLock *md_lock)
-{
- PR_ASSERT("_MD_unlock called!");
-} /* _MD_unlock */
-
-/* locks.c */
diff --git a/src/libs/xpcom18a4/nsprpub/pr/src/md/l4env/prnetdb.c b/src/libs/xpcom18a4/nsprpub/pr/src/md/l4env/prnetdb.c
deleted file mode 100644
index cab79a51..00000000
--- a/src/libs/xpcom18a4/nsprpub/pr/src/md/l4env/prnetdb.c
+++ /dev/null
@@ -1,217 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#include "primpl.h"
-
-#include <string.h>
-
-void _PR_InitNet(void)
-{
- PR_ASSERT("_PR_InitNet called!");
-} /* _PR_InitNet */
-
-void _PR_CleanupNet(void)
-{
- PR_ASSERT("_PR_CleanupNet called!");
-} /* _PR_CleanupNet */
-
-PR_IMPLEMENT(PRStatus) PR_GetHostByName(
- const char *name, char *buf, PRIntn bufsize, PRHostEnt *hp)
-{
- PR_ASSERT("PR_GetHostByName called!");
- return 0;
-} /* PR_GetHostByName */
-
-PR_IMPLEMENT(PRStatus) PR_GetIPNodeByName(
- const char *name, PRUint16 af, PRIntn flags,
- char *buf, PRIntn bufsize, PRHostEnt *hp)
-{
- PR_ASSERT("PR_GetIPNodeByName called!");
- return 0;
-} /* PR_GetIPNodeByName */
-
-PR_IMPLEMENT(PRStatus) PR_GetHostByAddr(
- const PRNetAddr *hostaddr, char *buf, PRIntn bufsize, PRHostEnt *hostentry)
-{
- PR_ASSERT("PR_GetHostByAddr called!");
- return 0;
-} /* PR_GetHostByAddr */
-
-PR_IMPLEMENT(PRStatus) PR_GetProtoByName(
- const char* name, char* buffer, PRInt32 buflen, PRProtoEnt* result)
-{
- PR_ASSERT("PR_GetProtoByName called!");
- return 0;
-} /* PR_GetProtoByName */
-
-PR_IMPLEMENT(PRStatus) PR_GetProtoByNumber(
- PRInt32 number, char* buffer, PRInt32 buflen, PRProtoEnt* result)
-{
- PR_ASSERT("PR_GetProtoByNumber called!");
- return 0;
-} /* PR_GetProtoByNumber */
-
-PRUintn _PR_NetAddrSize(const PRNetAddr* addr)
-{
- PR_ASSERT("_PR_NetAddrSize called!");
- return 0;
-} /* _PR_NetAddrSize */
-
-PR_IMPLEMENT(PRIntn) PR_EnumerateHostEnt(
- PRIntn enumIndex, const PRHostEnt *hostEnt, PRUint16 port, PRNetAddr *address)
-{
- PR_ASSERT("PR_EnumerateHostEnt called!");
- return 0;
-} /* PR_EnumerateHostEnt */
-
-PR_IMPLEMENT(PRStatus) PR_InitializeNetAddr(
- PRNetAddrValue val, PRUint16 port, PRNetAddr *addr)
-{
- PR_ASSERT("PR_InitializeNetAddr called!");
- return 0;
-} /* PR_InitializeNetAddr */
-
-PR_IMPLEMENT(PRStatus) PR_SetNetAddr(
- PRNetAddrValue val, PRUint16 af, PRUint16 port, PRNetAddr *addr)
-{
- PR_ASSERT("PR_SetNetAddr called!");
- return 0;
-} /* PR_SetNetAddr */
-
-PR_IMPLEMENT(PRBool)
-PR_IsNetAddrType(const PRNetAddr *addr, PRNetAddrValue val)
-{
- PR_ASSERT("PR_IsNetAddrType called!");
- return PR_FALSE;
-} /* PR_IsNetAddrType */
-
-PR_IMPLEMENT(PRStatus) PR_StringToNetAddr(const char *string, PRNetAddr *addr)
-{
- PR_ASSERT("PR_StringToNetAddr called!");
- return 0;
-} /* PR_StringToNetAddr */
-
-PR_IMPLEMENT(PRStatus) PR_NetAddrToString(
- const PRNetAddr *addr, char *string, PRUint32 size)
-{
- PR_ASSERT("PR_NetAddrToString called!");
- return 0;
-} /* PR_NetAddrToString */
-
-/*
- * Convert an IPv4 addr to an (IPv4-mapped) IPv6 addr
- */
-PR_IMPLEMENT(void) PR_ConvertIPv4AddrToIPv6(PRUint32 v4addr, PRIPv6Addr *v6addr)
-{
- PRUint8 *dstp;
- dstp = v6addr->pr_s6_addr;
- memset(dstp, 0, 10);
- memset(dstp + 10, 0xff, 2);
- memcpy(dstp + 12,(char *) &v4addr, 4);
-}
-
-PR_IMPLEMENT(PRUint16) PR_ntohs(PRUint16 n) { return ntohs(n); }
-PR_IMPLEMENT(PRUint32) PR_ntohl(PRUint32 n) { return ntohl(n); }
-PR_IMPLEMENT(PRUint16) PR_htons(PRUint16 n) { return htons(n); }
-PR_IMPLEMENT(PRUint32) PR_htonl(PRUint32 n) { return htonl(n); }
-PR_IMPLEMENT(PRUint64) PR_ntohll(PRUint64 n)
-{
-#ifdef IS_BIG_ENDIAN
- return n;
-#else
- PRUint64 tmp;
- PRUint32 hi, lo;
- LL_L2UI(lo, n);
- LL_SHR(tmp, n, 32);
- LL_L2UI(hi, tmp);
- hi = PR_ntohl(hi);
- lo = PR_ntohl(lo);
- LL_UI2L(n, lo);
- LL_SHL(n, n, 32);
- LL_UI2L(tmp, hi);
- LL_ADD(n, n, tmp);
- return n;
-#endif
-} /* ntohll */
-
-PR_IMPLEMENT(PRUint64) PR_htonll(PRUint64 n)
-{
-#ifdef IS_BIG_ENDIAN
- return n;
-#else
- PRUint64 tmp;
- PRUint32 hi, lo;
- LL_L2UI(lo, n);
- LL_SHR(tmp, n, 32);
- LL_L2UI(hi, tmp);
- hi = htonl(hi);
- lo = htonl(lo);
- LL_UI2L(n, lo);
- LL_SHL(n, n, 32);
- LL_UI2L(tmp, hi);
- LL_ADD(n, n, tmp);
- return n;
-#endif
-} /* htonll */
-
-PR_IMPLEMENT(PRAddrInfo *) PR_GetAddrInfoByName(const char *hostname,
- PRUint16 af,
- PRIntn flags)
-{
- PR_ASSERT("PR_AddrInfoByName called!");
- return NULL;
-} /* PR_AddrInfoByName */
-
-PR_IMPLEMENT(void) PR_FreeAddrInfo(PRAddrInfo *ai)
-{
- PR_ASSERT("PR_FreeAddrInfo called!");
-} /* PR_FreeAddrInfo */
-
-PR_IMPLEMENT(void *) PR_EnumerateAddrInfo(void *iterPtr,
- const PRAddrInfo *base,
- PRUint16 port,
- PRNetAddr *result)
-{
- PR_ASSERT("PR_EnumerateAddrInfo called!");
- return NULL;
-} /* PR_EnumerateAddrInfo */
-
-PR_IMPLEMENT(const char *) PR_GetCanonNameFromAddrInfo(const PRAddrInfo *ai)
-{
- PR_ASSERT("PR_GetCanonNameFromAddrInfo called!");
- return NULL;
-} /* PR_GetCanonNameFromAddrInfo */
diff --git a/src/libs/xpcom18a4/nsprpub/pr/src/md/l4env/threads.c b/src/libs/xpcom18a4/nsprpub/pr/src/md/l4env/threads.c
deleted file mode 100644
index b23f1a57..00000000
--- a/src/libs/xpcom18a4/nsprpub/pr/src/md/l4env/threads.c
+++ /dev/null
@@ -1,267 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/*
-** File: l4env/threads.c
-** Descritpion: Implemenation for L4 threads using l4env
-** Exports: ptthread.h
-*/
-
-#include "prlog.h"
-#include "primpl.h"
-#include "prpdce.h"
-
-PR_IMPLEMENT(PRThread*) PR_CreateThread(
- PRThreadType type, void (*start)(void *arg), void *arg,
- PRThreadPriority priority, PRThreadScope scope,
- PRThreadState state, PRUint32 stackSize)
-{
- PR_ASSERT("PR_CreateThread called!");
- return NULL;
-} /* PR_CreateThread */
-
-PR_IMPLEMENT(PRThread*) PR_CreateThreadGCAble(
- PRThreadType type, void (*start)(void *arg), void *arg,
- PRThreadPriority priority, PRThreadScope scope,
- PRThreadState state, PRUint32 stackSize)
-{
- PR_ASSERT("PR_CreateThreadGCAble called!");
- return NULL;
-} /* PR_CreateThreadGCAble */
-
-PR_IMPLEMENT(void*) GetExecutionEnvironment(PRThread *thred)
-{
- PR_ASSERT("GetExecutionEnvironment called!");
- return NULL;
-} /* GetExecutionEnvironment */
-
-PR_IMPLEMENT(void) SetExecutionEnvironment(PRThread *thred, void *env)
-{
- PR_ASSERT("SetExecutionEnvironment called!");
-} /* SetExecutionEnvironment */
-
-PR_IMPLEMENT(PRThread*) PR_AttachThread(
- PRThreadType type, PRThreadPriority priority, PRThreadStack *stack)
-{
- PR_ASSERT("PR_AttachThread called!");
- return NULL;
-} /* PR_AttachThread */
-
-
-PR_IMPLEMENT(PRStatus) PR_JoinThread(PRThread *thred)
-{
- PR_ASSERT("PR_JoinThread called!");
- return 0;
-} /* PR_JoinThread */
-
-PR_IMPLEMENT(void) PR_DetachThread(void)
-{
- PR_ASSERT("PR_DetachThread called!");
-} /* PR_DetachThread */
-
-PR_IMPLEMENT(PRThread*) PR_GetCurrentThread(void)
-{
- PR_ASSERT("PR_GetCurrentThread called!");
- return NULL;
-} /* PR_GetCurrentThread */
-
-PR_IMPLEMENT(PRThreadScope) PR_GetThreadScope(const PRThread *thred)
-{
- PR_ASSERT("PR_GetThreadScope called!");
- return 0;
-} /* PR_GetThreadScope() */
-
-PR_IMPLEMENT(PRThreadType) PR_GetThreadType(const PRThread *thred)
-{
- PR_ASSERT("PR_GetThreadType called!");
- return 0;
-}
-
-PR_IMPLEMENT(PRThreadState) PR_GetThreadState(const PRThread *thred)
-{
- PR_ASSERT("PR_GetThreadState called!");
- return 0;
-} /* PR_GetThreadState */
-
-PR_IMPLEMENT(PRThreadPriority) PR_GetThreadPriority(const PRThread *thred)
-{
- PR_ASSERT("PR_GetThreadPriority called!");
- return 0;
-} /* PR_GetThreadPriority */
-
-PR_IMPLEMENT(void) PR_SetThreadPriority(PRThread *thred, PRThreadPriority newPri)
-{
- PR_ASSERT("PR_SetThreadPriority called!");
-} /* PR_SetThreadPriority */
-
-PR_IMPLEMENT(PRStatus) PR_Interrupt(PRThread *thred)
-{
- PR_ASSERT("PR_Interrupt called!");
- return 0;
-} /* PR_Interrupt */
-
-PR_IMPLEMENT(void) PR_ClearInterrupt(void)
-{
- PR_ASSERT("PR_ClearInterrupt called!");
-} /* PR_ClearInterrupt */
-
-PR_IMPLEMENT(void) PR_BlockInterrupt(void)
-{
- PR_ASSERT("PR_BlockInterrupt called!");
-} /* PR_BlockInterrupt */
-
-PR_IMPLEMENT(void) PR_UnblockInterrupt(void)
-{
- PR_ASSERT("PR_UnblockInterrupt called!");
-} /* PR_UnblockInterrupt */
-
-PR_IMPLEMENT(PRStatus) PR_Yield(void)
-{
- PR_ASSERT("PR_Yield called!");
- return 0;
-}
-
-PR_IMPLEMENT(PRStatus) PR_Sleep(PRIntervalTime ticks)
-{
- PR_ASSERT("PR_Sleep called!");
- return 0;
-} /* PR_Sleep */
-
-/* The next two functions are defined in the pthreads code, but also in prinit.c if
- _PR_PTHREADS and _PR_BTHREADS are not defined */
-#if 0
-PR_IMPLEMENT(PRStatus) PR_Cleanup(void)
-{
- PR_ASSERT("PR_Cleanup called!");
- return 0;
-} /* PR_Cleanup */
-#endif /* 0 */
-
-#if 0
-PR_IMPLEMENT(void) PR_ProcessExit(PRIntn status)
-{
- exit(status);
-}
-#endif
-
-PR_IMPLEMENT(PRUint32) PR_GetThreadID(PRThread *thred)
-{
- PR_ASSERT("PR_GetThreadID called!");
- return 0;
-}
-
-/*
- * $$$
- * The following two thread-to-processor affinity functions are not
- * yet implemented for pthreads. By the way, these functions should return
- * PRStatus rather than PRInt32 to indicate the success/failure status.
- * $$$
- */
-
-PR_IMPLEMENT(PRInt32) PR_GetThreadAffinityMask(PRThread *thread, PRUint32 *mask)
-{
- return 0; /* not implemented */
-}
-
-PR_IMPLEMENT(PRInt32) PR_SetThreadAffinityMask(PRThread *thread, PRUint32 mask )
-{
- return 0; /* not implemented */
-}
-
-PR_IMPLEMENT(struct _PRCPU *)
-PR_GetCurrentCPU(void)
-{
- PR_ASSERT("PR_GetCurrentCPU called!");
- return NULL;
-} /* PR_GetCurrentCPU */
-
-PR_IMPLEMENT(void)
-PR_SetThreadDumpProc(PRThread* thread, PRThreadDumpProc dump, void *arg)
-{
- PR_ASSERT("PR_SetThreadDumpProc called!");
-}
-
-/*
- * Garbage collection support follows.
- */
-
-PR_IMPLEMENT(void) PR_SetThreadGCAble(void)
-{
- PR_ASSERT("PR_SetThreadGCAble called!");
-} /* PR_SetThreadGCAble */
-
-PR_IMPLEMENT(void) PR_ClearThreadGCAble(void)
-{
- PR_ASSERT("PR_ClearThreadGCAble called!");
-} /* PR_ClearThreadGCAble */
-
-PR_IMPLEMENT(PRStatus) PR_EnumerateThreads(PREnumerator func, void *arg)
-{
- PR_ASSERT("PR_SetThreadGCAble called!");
- return 0;
-} /* PR_EnumerateThreads */
-
-/*
- * PR_SuspendAll and PR_ResumeAll are called during garbage collection. The strategy
- * we use is to send a SIGUSR2 signal to every gc able thread that we intend to suspend.
- * The signal handler will record the stack pointer and will block until resumed by
- * the resume call. Since the signal handler is the last routine called for the
- * suspended thread, the stack pointer will also serve as a place where all the
- * registers have been saved on the stack for the previously executing routines.
- *
- * Through global variables, we also make sure that PR_Suspend and PR_Resume does not
- * proceed until the thread is suspended or resumed.
- */
-
-PR_IMPLEMENT(void) PR_SuspendAll(void)
-{
- PR_ASSERT("PR_SuspendAll called!");
-} /* PR_SuspendAll */
-
-PR_IMPLEMENT(void) PR_ResumeAll(void)
-{
- PR_ASSERT("PR_ResumeAll called!");
-} /* PR_ResumeAll */
-
-/* Return the stack pointer for the given thread- used by the GC */
-PR_IMPLEMENT(void *)PR_GetSP(PRThread *thred)
-{
- PR_ASSERT("PR_SetSP called!");
- return NULL;
-} /* PR_GetSP */
-
-/* ptthread.c */
diff --git a/src/libs/xpcom18a4/nsprpub/pr/src/md/unix/l4env.c b/src/libs/xpcom18a4/nsprpub/pr/src/md/unix/l4env.c
deleted file mode 100644
index b9cf5e20..00000000
--- a/src/libs/xpcom18a4/nsprpub/pr/src/md/unix/l4env.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#include "primpl.h"
-
-void _MD_EarlyInit(void)
-{
-}
-
-PRWord *_MD_HomeGCRegisters(PRThread *t, int isCurrent, int *np)
-{
-#ifndef _PR_PTHREADS
- if (isCurrent) {
- (void) setjmp(CONTEXT(t));
- }
- *np = sizeof(CONTEXT(t)) / sizeof(PRWord);
- return (PRWord *) CONTEXT(t);
-#else
- *np = 0;
- return NULL;
-#endif
-}
-
-#ifdef _PR_PTHREADS
-
-extern void _MD_unix_terminate_waitpid_daemon(void);
-
-void _MD_CleanupBeforeExit(void)
-{
- _MD_unix_terminate_waitpid_daemon();
-}
-
-#else /* ! _PR_PTHREADS */
-
-void
-_MD_SET_PRIORITY(_MDThread *thread, PRUintn newPri)
-{
- return;
-}
-
-PRStatus
-_MD_InitializeThread(PRThread *thread)
-{
- /*
- * set the pointers to the stack-pointer and frame-pointer words in the
- * context structure; this is for debugging use.
- */
- thread->md.sp = _MD_GET_SP_PTR(thread);
- thread->md.fp = _MD_GET_FP_PTR(thread);
- return PR_SUCCESS;
-}
-
-PRStatus
-_MD_WAIT(PRThread *thread, PRIntervalTime ticks)
-{
- PR_ASSERT(!(thread->flags & _PR_GLOBAL_SCOPE));
- _PR_MD_SWITCH_CONTEXT(thread);
- return PR_SUCCESS;
-}
-
-PRStatus
-_MD_WAKEUP_WAITER(PRThread *thread)
-{
- if (thread) {
- PR_ASSERT(!(thread->flags & _PR_GLOBAL_SCOPE));
- }
- return PR_SUCCESS;
-}
-
-/* These functions should not be called for Linux */
-void
-_MD_YIELD(void)
-{
- PR_NOT_REACHED("_MD_YIELD has not yet been implemented on L4.");
-}
-
-PRStatus
-_MD_CREATE_THREAD(
- PRThread *thread,
- void (*start) (void *),
- PRThreadPriority priority,
- PRThreadScope scope,
- PRThreadState state,
- PRUint32 stackSize)
-{
- PR_NOT_REACHED("_MD_CREATE_THREAD has not yet been implemented on L4.");
- return PR_FAILURE;
-}
-#endif /* ! _PR_PTHREADS */
diff --git a/src/libs/xpcom18a4/nsprpub/pr/src/md/unix/unix.c b/src/libs/xpcom18a4/nsprpub/pr/src/md/unix/unix.c
index 12834a70..c69a233a 100644
--- a/src/libs/xpcom18a4/nsprpub/pr/src/md/unix/unix.c
+++ b/src/libs/xpcom18a4/nsprpub/pr/src/md/unix/unix.c
@@ -65,8 +65,7 @@
* PRInt32* pointer to a _PRSockLen_t* pointer.
*/
#if defined(HAVE_SOCKLEN_T) \
- || (defined(LINUX) && defined(__GLIBC__) && __GLIBC__ >= 2) \
- || defined(L4ENV)
+ || (defined(LINUX) && defined(__GLIBC__) && __GLIBC__ >= 2)
#define _PRSockLen_t socklen_t
#elif defined(IRIX) || defined(HPUX) || defined(OSF1) || defined(SOLARIS) \
|| defined(AIX4_1) || defined(LINUX) || defined(SONY) \
diff --git a/src/libs/xpcom18a4/nsprpub/pr/src/md/unix/uxrng.c b/src/libs/xpcom18a4/nsprpub/pr/src/md/unix/uxrng.c
index b5f30781..9099c5ff 100644
--- a/src/libs/xpcom18a4/nsprpub/pr/src/md/unix/uxrng.c
+++ b/src/libs/xpcom18a4/nsprpub/pr/src/md/unix/uxrng.c
@@ -298,7 +298,7 @@ GetHighResClock(void *buf, size_t maxbytes)
return 0;
}
#elif defined(SCO) || defined(UNIXWARE) || defined(BSDI) || defined(NTO) \
- || defined(QNX) || defined(DARWIN) || defined(L4ENV)
+ || defined(QNX) || defined(DARWIN)
#include <sys/times.h>
static size_t
diff --git a/src/libs/xpcom18a4/nsprpub/pr/src/misc/prinit.c b/src/libs/xpcom18a4/nsprpub/pr/src/misc/prinit.c
index 6dea7ddc..eef45968 100644
--- a/src/libs/xpcom18a4/nsprpub/pr/src/misc/prinit.c
+++ b/src/libs/xpcom18a4/nsprpub/pr/src/misc/prinit.c
@@ -176,7 +176,7 @@ static void _PR_InitStuff(void)
if (_pr_initialized) return;
_pr_initialized = PR_TRUE;
#ifdef VBOX_USE_IPRT_IN_NSPR
- RTR3InitDll(0);
+ RTR3InitDll(RTR3INIT_FLAGS_UNOBTRUSIVE);
#endif
#ifdef _PR_ZONE_ALLOCATOR
_PR_InitZones();
diff --git a/src/libs/xpcom18a4/nsprpub/pr/src/misc/prnetdb.c b/src/libs/xpcom18a4/nsprpub/pr/src/misc/prnetdb.c
index f3ed2857..c3b7cdd5 100644
--- a/src/libs/xpcom18a4/nsprpub/pr/src/misc/prnetdb.c
+++ b/src/libs/xpcom18a4/nsprpub/pr/src/misc/prnetdb.c
@@ -108,7 +108,7 @@ PRLock *_pr_dnsLock = NULL;
#define _PR_HAVE_GETPROTO_R_INT
#endif
-#if (defined(LINUX) && defined(__GLIBC__) && __GLIBC__ >= 2) || defined(L4ENV)
+#if (defined(LINUX) && defined(__GLIBC__) && __GLIBC__ >= 2)
#define _PR_HAVE_GETPROTO_R
#define _PR_HAVE_5_ARG_GETPROTO_R
#endif
diff --git a/src/libs/xpcom18a4/python/Makefile.kmk b/src/libs/xpcom18a4/python/Makefile.kmk
index ea62ae26..50cc5e2d 100644
--- a/src/libs/xpcom18a4/python/Makefile.kmk
+++ b/src/libs/xpcom18a4/python/Makefile.kmk
@@ -26,24 +26,27 @@ endif
#
# List of supported Python versions, defining a number of
-# VBOX_PYTHON[25|26|27|28|DEF]_[INC|LIB] variables which get picked up below.
+# VBOX_PYTHON[25|26|27|DEF]_[INC|LIB] variables which get picked up below.
#
ifeq ($(KBUILD_TARGET),darwin) # Relatively predictable, don't script.
ifeq ($(KBUILD_TARGET_ARCH),x86)
VBOX_PYTHON25_INC = $(VBOX_PATH_MACOSX_SDK)/usr/include/python2.5
VBOX_PYTHON25_LIB = $(VBOX_PATH_MACOSX_SDK)/usr/lib/libpython2.5.dylib
+ VBOX_PYTHON25_LIB_X86 = $(VBOX_PYTHON25_LIB)
endif
if !defined(VBOX_WITHOUT_VBOXPYTHON_FOR_OSX_10_6) \
&& ( !defined(VBOX_OSE) \
|| "$(wildcard $(VBOX_PATH_MACOSX_SDK_10_6)/usr/lib/libpython2.6.dylib)" != "")
VBOX_PYTHON26_INC = $(VBOX_PATH_MACOSX_SDK_10_6)/usr/include/python2.6
VBOX_PYTHON26_LIB = $(VBOX_PATH_MACOSX_SDK_10_6)/usr/lib/libpython2.6.dylib
+ VBOX_PYTHON26_LIB_X86 = $(VBOX_PYTHON26_LIB)
endif
if !defined(VBOX_WITHOUT_VBOXPYTHON_FOR_OSX_10_7) \
&& ( defined(VBOX_NOT_OSE_LATER_SOMETIME) \
|| "$(wildcard $(VBOX_PATH_MACOSX_SDK_10_7)/usr/lib/libpython2.7.dylib)" != "")
VBOX_PYTHON27_INC = $(VBOX_PATH_MACOSX_SDK_10_7)/usr/include/python2.7
VBOX_PYTHON27_LIB = $(VBOX_PATH_MACOSX_SDK_10_7)/usr/lib/libpython2.7.dylib
+ VBOX_PYTHON27_LIB_X86 = $(VBOX_PYTHON27_LIB)
endif
else
@@ -102,6 +105,14 @@ VBoxPythonBase_LIBS = \
$(PATH_STAGE_LIB)/VBoxCOM$(VBOX_SUFF_LIB) \
$(PATH_STAGE_BIN)/VBoxXPCOM$(VBOX_SUFF_DLL)
+# 32-bit base.
+VBoxPythonBase_x86_TEMPLATE = XPCOM-x86
+VBoxPythonBase_x86_EXTENDS = VBoxPythonBase
+VBoxPythonBase_x86_DEFS = MODULE_NAME_SUFFIX=_x86 $(VBoxPythonBase_DEFS)
+VBoxPythonBase_x86_LIBS = \
+ $(PATH_STAGE_LIB)/VBoxCOM-x86$(VBOX_SUFF_LIB) \
+ $(PATH_STAGE_BIN)/VBoxXPCOM-x86$(VBOX_SUFF_DLL)
+
ifdef VBOX_PYTHON23_INC
#
@@ -113,6 +124,15 @@ VBoxPython2_3_EXTENDS_BY = appending
VBoxPython2_3_TEMPLATE = XPCOM$(if-expr "$(KBUILD_TARGET)" == "darwin",OSX104,)
VBoxPython2_3_INCS = $(VBOX_PYTHON23_INC)
VBoxPython2_3_LIBS = $(VBOX_PYTHON23_LIB)
+
+ ifdef VBOX_WITH_32_ON_64_MAIN_API
+DLLS += VBoxPython2_3_x86
+VBoxPython2_3_x86_EXTENDS = VBoxPythonBase_x86
+VBoxPython2_3_x86_EXTENDS_BY = appending
+VBoxPython2_3_x86_TEMPLATE = XPCOM$(if-expr "$(KBUILD_TARGET)" == "darwin",OSX104,-x86)
+VBoxPython2_3_x86_INCS = $(VBOX_PYTHON23_INC)
+VBoxPython2_3_x86_LIBS = $(VBOX_PYTHON23_LIB_X86)
+ endif
endif
ifdef VBOX_PYTHON24_INC
@@ -124,6 +144,14 @@ VBoxPython2_4_EXTENDS = VBoxPythonBase
VBoxPython2_4_EXTENDS_BY = appending
VBoxPython2_4_INCS = $(VBOX_PYTHON24_INC)
VBoxPython2_4_LIBS = $(VBOX_PYTHON24_LIB)
+
+ ifdef VBOX_WITH_32_ON_64_MAIN_API
+DLLS += VBoxPython2_4_x86
+VBoxPython2_4_x86_EXTENDS = VBoxPythonBase_x86
+VBoxPython2_4_x86_EXTENDS_BY = appending
+VBoxPython2_4_x86_INCS = $(VBOX_PYTHON24_INC)
+VBoxPython2_4_x86_LIBS = $(VBOX_PYTHON24_LIB_X86)
+ endif
endif
ifdef VBOX_PYTHON25_INC
@@ -133,9 +161,16 @@ ifdef VBOX_PYTHON25_INC
DLLS += VBoxPython2_5
VBoxPython2_5_EXTENDS = VBoxPythonBase
VBoxPython2_5_EXTENDS_BY = appending
-VBoxPython2_5_TEMPLATE = XPCOM
VBoxPython2_5_INCS = $(VBOX_PYTHON25_INC)
VBoxPython2_5_LIBS = $(VBOX_PYTHON25_LIB)
+
+ ifdef VBOX_WITH_32_ON_64_MAIN_API
+DLLS += VBoxPython2_5_x86
+VBoxPython2_5_x86_EXTENDS = VBoxPythonBase_x86
+VBoxPython2_5_x86_EXTENDS_BY = appending
+VBoxPython2_5_x86_INCS = $(VBOX_PYTHON25_INC)
+VBoxPython2_5_x86_LIBS = $(VBOX_PYTHON25_LIB_X86)
+ endif
endif
ifdef VBOX_PYTHON26_INC
@@ -148,6 +183,15 @@ VBoxPython2_6_EXTENDS_BY = appending
VBoxPython2_6_TEMPLATE = XPCOM$(if-expr "$(KBUILD_TARGET)" == "darwin",OSX106,)
VBoxPython2_6_INCS = $(VBOX_PYTHON26_INC)
VBoxPython2_6_LIBS = $(VBOX_PYTHON26_LIB)
+
+ ifdef VBOX_WITH_32_ON_64_MAIN_API
+DLLS += VBoxPython2_6_x86
+VBoxPython2_6_x86_EXTENDS = VBoxPythonBase_x86
+VBoxPython2_6_x86_EXTENDS_BY = appending
+VBoxPython2_6_x86_TEMPLATE = XPCOM$(if-expr "$(KBUILD_TARGET)" == "darwin",OSX106,-x86)
+VBoxPython2_6_x86_INCS = $(VBOX_PYTHON26_INC)
+VBoxPython2_6_x86_LIBS = $(VBOX_PYTHON26_LIB_X86)
+ endif
endif
ifdef VBOX_PYTHON27_INC
@@ -160,17 +204,15 @@ VBoxPython2_7_EXTENDS_BY = appending
VBoxPython2_7_TEMPLATE = XPCOM$(if-expr "$(KBUILD_TARGET)" == "darwin",OSX107,)
VBoxPython2_7_INCS = $(VBOX_PYTHON27_INC)
VBoxPython2_7_LIBS = $(VBOX_PYTHON27_LIB)
-endif
-ifdef VBOX_PYTHON28_INC
-#
-# Python 2.8 version
-#
-DLLS += VBoxPython2_8
-VBoxPython2_8_EXTENDS = VBoxPythonBase
-VBoxPython2_8_EXTENDS_BY = appending
-VBoxPython2_8_INCS = $(VBOX_PYTHON28_INC)
-VBoxPython2_8_LIBS = $(VBOX_PYTHON28_LIB)
+ ifdef VBOX_WITH_32_ON_64_MAIN_API
+DLLS += VBoxPython2_7_x86
+VBoxPython2_7_x86_EXTENDS = VBoxPythonBase_x86
+VBoxPython2_7_x86_EXTENDS_BY = appending
+VBoxPython2_7_x86_TEMPLATE = XPCOM$(if-expr "$(KBUILD_TARGET)" == "darwin",OSX107,-x86)
+VBoxPython2_7_x86_INCS = $(VBOX_PYTHON27_INC)
+VBoxPython2_7_x86_LIBS = $(VBOX_PYTHON27_LIB_X86)
+ endif
endif
ifdef VBOX_PYTHONDEF_INC
@@ -186,6 +228,17 @@ if "$(KBUILD_TARGET)" == "linux"
else
VBoxPython_LIBS = $(VBoxPythonBase_LIBS) $(VBOX_PYTHONDEF_LIB)
endif
+
+ ifdef VBOX_WITH_32_ON_64_MAIN_API
+VBoxPython_x86_EXTENDS = VBoxPythonBase_x86
+VBoxPython_x86_DEFS = $(filter-out VBOX_PYXPCOM_VERSIONED,$(VBoxPythonBase_x86_DEFS))
+VBoxPython_x86_INCS = $(VBoxPythonBase_x86_INCS) $(VBOX_PYTHONDEF_INC)
+if "$(KBUILD_TARGET)" == "linux"
+ VBoxPython_x86_LIBS = $(VBoxPythonBase_x86_LIBS)
+else
+ VBoxPython_x86_LIBS = $(VBoxPythonBase_x86_LIBS) $(VBOX_PYTHONDEF_LIB_X86)
+endif
+ endif
endif
endif # VBOX_ONLY_SDK
diff --git a/src/libs/xpcom18a4/python/gen_python_deps.py b/src/libs/xpcom18a4/python/gen_python_deps.py
index bcca1da0..1cf39b3b 100755
--- a/src/libs/xpcom18a4/python/gen_python_deps.py
+++ b/src/libs/xpcom18a4/python/gen_python_deps.py
@@ -1,7 +1,7 @@
#!/usr/bin/python
"""
-Copyright (C) 2009-2012 Oracle Corporation
+Copyright (C) 2009-2013 Oracle Corporation
This file is part of VirtualBox Open Source Edition (OSE), as
available from http://www.virtualbox.org. This file is free software;
@@ -14,7 +14,7 @@ hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
import os,sys
-versions = ["2.3", "2.4", "2.5", "2.6", "2.7", "2.8"]
+versions = ["2.3", "2.4", "2.5", "2.6", "2.7",]
prefixes = ["/usr", "/usr/local", "/opt", "/opt/local"]
known = {}
@@ -23,26 +23,29 @@ def checkPair(p, v,dllpre,dllsuff, bitness_magic):
if not os.path.isfile(file):
return None
- lib = os.path.join(p, "lib", dllpre+"python"+v+dllsuff)
+ lib = os.path.join(p, "lib/i386-linux-gnu", dllpre+"python"+v+dllsuff)
+ if not os.path.isfile(lib):
+ lib = os.path.join(p, "lib", dllpre+"python"+v+dllsuff)
if bitness_magic == 1:
lib64 = os.path.join(p, "lib", "64", dllpre+"python"+v+dllsuff)
elif bitness_magic == 2:
- lib64 = os.path.join(p, "lib64", dllpre+"python"+v+dllsuff)
+ lib64 = os.path.join(p, "lib/x86_64-linux-gnu", dllpre+"python"+v+dllsuff)
if not os.path.isfile(lib64):
- lib64 = lib
+ lib64 = os.path.join(p, "lib64", dllpre+"python"+v+dllsuff)
+ if not os.path.isfile(lib64):
+ lib64 = lib
else:
lib64 = None
- return [os.path.join(p, "include", "python"+v),
- lib,
- lib64]
+ return [os.path.join(p, "include", "python"+v), lib, lib64]
def print_vars(vers, known, sep, bitness_magic):
print "VBOX_PYTHON%s_INC=%s%s" %(vers, known[0], sep)
if bitness_magic > 0:
- print "VBOX_PYTHON%s_LIB=%s%s" %(vers, known[2], sep)
+ print "VBOX_PYTHON%s_LIB=%s%s" %(vers, known[2], sep)
+ print "VBOX_PYTHON%s_LIB_X86=%s%s" %(vers, known[1], sep)
else:
- print "VBOX_PYTHON%s_LIB=%s%s" %(vers, known[1], sep)
+ print "VBOX_PYTHON%s_LIB=%s%s" %(vers, known[1], sep)
def main(argv):
diff --git a/src/libs/xpcom18a4/python/server/loader.py b/src/libs/xpcom18a4/python/server/loader.py
index b5875546..e59155a5 100644
--- a/src/libs/xpcom18a4/python/server/loader.py
+++ b/src/libs/xpcom18a4/python/server/loader.py
@@ -57,11 +57,15 @@ def FindCOMComponents(py_module):
# For now, just run over all classes looking for likely candidates.
comps = []
for name, object in py_module.__dict__.items():
- if type(object)==types.ClassType and \
- _has_good_attr(object, "_com_interfaces_") and \
- _has_good_attr(object, "_reg_clsid_") and \
- _has_good_attr(object, "_reg_contractid_"):
- comps.append(object)
+ try:
+ if (type(object) == types.ClassType or issubclass(object, object)) and \
+ _has_good_attr(object, "_com_interfaces_") and \
+ _has_good_attr(object, "_reg_clsid_") and \
+ _has_good_attr(object, "_reg_contractid_"):
+ comps.append(object)
+ except TypeError:
+ # The issubclass call raises TypeError when the obj is not a class.
+ pass;
return comps
def register_self(klass, compMgr, location, registryLocation, componentType):
diff --git a/src/libs/xpcom18a4/python/src/PyGBase.cpp b/src/libs/xpcom18a4/python/src/PyGBase.cpp
index 93fe03f9..0a935017 100644
--- a/src/libs/xpcom18a4/python/src/PyGBase.cpp
+++ b/src/libs/xpcom18a4/python/src/PyGBase.cpp
@@ -195,7 +195,8 @@ void *PyG_Base::ThisAsIID( const nsIID &iid )
PyG_Base::AutoWrapPythonInstance(PyObject *ob, const nsIID &iid, nsISupports **ppret)
{
NS_PRECONDITION(ppret!=NULL, "null pointer when wrapping a Python instance!");
- NS_PRECONDITION(ob && PyInstance_Check(ob), "AutoWrapPythonInstance is expecting an non-NULL instance!");
+ NS_PRECONDITION(ob && PyObject_HasAttrString(ob, "__class__"),
+ "AutoWrapPythonInstance is expecting an non-NULL instance!");
PRBool ok = PR_FALSE;
// XXX - todo - this static object leaks! (but Python on Windows leaks 2000+ objects as it is ;-)
static PyObject *func = NULL; // fetch this once and remember!
diff --git a/src/libs/xpcom18a4/python/src/PyIID.cpp b/src/libs/xpcom18a4/python/src/PyIID.cpp
index 2cdcf5c0..783c9c61 100644
--- a/src/libs/xpcom18a4/python/src/PyIID.cpp
+++ b/src/libs/xpcom18a4/python/src/PyIID.cpp
@@ -114,7 +114,7 @@ Py_nsIID::IIDFromPyObject(PyObject *ob, nsIID *pRet) {
}
} else if (ob->ob_type == &type) {
iid = ((Py_nsIID *)ob)->m_iid;
- } else if (PyInstance_Check(ob)) {
+ } else if (PyObject_HasAttrString(ob, "__class__")) {
// Get the _iidobj_ attribute
PyObject *use_ob = PyObject_GetAttrString(ob, "_iidobj_");
if (use_ob==NULL) {
diff --git a/src/libs/xpcom18a4/python/src/PyISupports.cpp b/src/libs/xpcom18a4/python/src/PyISupports.cpp
index 508eeeae..0802eeed 100644
--- a/src/libs/xpcom18a4/python/src/PyISupports.cpp
+++ b/src/libs/xpcom18a4/python/src/PyISupports.cpp
@@ -321,7 +321,7 @@ Py_nsISupports::InterfaceFromPyObject(PyObject *ob,
// support nsIVariant
if (iid.Equals(NS_GET_IID(nsIVariant)) || iid.Equals(NS_GET_IID(nsIWritableVariant))) {
// Check it is not already nsIVariant
- if (PyInstance_Check(ob)) {
+ if (PyObject_HasAttrString(ob, "__class__")) {
PyObject *sub_ob = PyObject_GetAttrString(ob, "_comobj_");
if (sub_ob==NULL) {
PyErr_Clear();
@@ -344,7 +344,7 @@ Py_nsISupports::InterfaceFromPyObject(PyObject *ob,
}
// end of variant support.
- if (PyInstance_Check(ob)) {
+ if (PyObject_HasAttrString(ob, "__class__")) {
// Get the _comobj_ attribute
PyObject *use_ob = PyObject_GetAttrString(ob, "_comobj_");
if (use_ob==NULL) {
diff --git a/src/libs/xpcom18a4/python/src/VariantUtils.cpp b/src/libs/xpcom18a4/python/src/VariantUtils.cpp
index 0c864ec4..cc050b5f 100644
--- a/src/libs/xpcom18a4/python/src/VariantUtils.cpp
+++ b/src/libs/xpcom18a4/python/src/VariantUtils.cpp
@@ -1116,7 +1116,7 @@ PRBool PyXPCOM_InterfaceVariantHelper::Init(PyObject *obParams)
if (PySequence_Length(m_pyparams) != total_params_needed) {
#ifdef VBOX
PyErr_Format(PyExc_ValueError, "The type descriptions indicate %d args are needed, but %ld were provided",
- total_params_needed, PySequence_Length(m_pyparams));
+ total_params_needed, (long)PySequence_Length(m_pyparams));
#else
PyErr_Format(PyExc_ValueError, "The type descriptions indicate %d args are needed, but %d were provided",
total_params_needed, PySequence_Length(m_pyparams));
diff --git a/src/libs/xpcom18a4/python/src/module/_xpcom.cpp b/src/libs/xpcom18a4/python/src/module/_xpcom.cpp
index f5465131..be6b1888 100644
--- a/src/libs/xpcom18a4/python/src/module/_xpcom.cpp
+++ b/src/libs/xpcom18a4/python/src/module/_xpcom.cpp
@@ -74,24 +74,44 @@ extern PYXPCOM_EXPORT void PyXPCOM_InterpreterState_Ensure();
#endif
#ifdef VBOX_PYXPCOM
+# include <iprt/cdefs.h>
+# ifndef MODULE_NAME_SUFFIX
+# define MANGLE_MODULE_NAME(a_szName) a_szName
+# define MANGLE_MODULE_INIT(a_Name) a_Name
+# else
+# define MANGLE_MODULE_NAME(a_szName) a_szName RT_XSTR(MODULE_NAME_SUFFIX)
+# define MANGLE_MODULE_INIT(a_Name) RT_CONCAT(a_Name, MODULE_NAME_SUFFIX)
+# endif
# ifdef VBOX_PYXPCOM_VERSIONED
# if PY_VERSION_HEX >= 0x02080000
-# define MODULE_NAME "VBoxPython2_8"
+# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython2_8")
+# define initVBoxPython MANGLE_MODULE_INIT(initVBoxPython2_8)
+
# elif PY_VERSION_HEX >= 0x02070000
-# define MODULE_NAME "VBoxPython2_7"
+# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython2_7")
+# define initVBoxPython MANGLE_MODULE_INIT(initVBoxPython2_7)
+
# elif PY_VERSION_HEX >= 0x02060000
-# define MODULE_NAME "VBoxPython2_6"
+# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython2_6")
+# define initVBoxPython MANGLE_MODULE_INIT(initVBoxPython2_6)
+
# elif PY_VERSION_HEX >= 0x02050000
-# define MODULE_NAME "VBoxPython2_5"
+# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython2_5")
+# define initVBoxPython MANGLE_MODULE_INIT(initVBoxPython2_5)
+
# elif PY_VERSION_HEX >= 0x02040000
-# define MODULE_NAME "VBoxPython2_4"
+# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython2_4")
+# define initVBoxPython MANGLE_MODULE_INIT(initVBoxPython2_4)
+
# elif PY_VERSION_HEX >= 0x02030000
-# define MODULE_NAME "VBoxPython2_3"
+# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython2_3")
+# define initVBoxPython MANGLE_MODULE_INIT(initVBoxPython2_3)
# else
# error "Fix module versioning."
# endif
# else
-# define MODULE_NAME "VBoxPython"
+# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython")
+# define initVBoxPython MANGLE_MODULE_INIT(initVBoxPython)
# endif
#else
#define MODULE_NAME "_xpcom"
@@ -510,7 +530,7 @@ PyObject *LogConsoleMessage(PyObject *self, PyObject *args)
#ifdef VBOX
-# include <VBox/com/EventQueue.h>
+# include <VBox/com/NativeEventQueue.h>
# include <iprt/err.h>
static PyObject *
@@ -521,7 +541,7 @@ PyXPCOMMethod_WaitForEvents(PyObject *self, PyObject *args)
return NULL;
int rc;
- com::EventQueue* aEventQ = com::EventQueue::getMainEventQueue();
+ com::NativeEventQueue* aEventQ = com::NativeEventQueue::getMainEventQueue();
NS_WARN_IF_FALSE(aEventQ != nsnull, "Null main event queue");
if (!aEventQ)
{
@@ -556,7 +576,7 @@ PyXPCOMMethod_WaitForEvents(PyObject *self, PyObject *args)
static PyObject*
PyXPCOMMethod_InterruptWait(PyObject *self, PyObject *args)
{
- com::EventQueue* aEventQ = com::EventQueue::getMainEventQueue();
+ com::NativeEventQueue* aEventQ = com::NativeEventQueue::getMainEventQueue();
NS_WARN_IF_FALSE(aEventQ != nsnull, "Null main event queue");
if (!aEventQ)
return NULL;
@@ -776,31 +796,13 @@ using namespace com;
extern "C" NS_EXPORT
void
-# ifdef VBOX_PYXPCOM_VERSIONED
-# if PY_VERSION_HEX >= 0x02080000
-initVBoxPython2_8() {
-# elif PY_VERSION_HEX >= 0x02070000
-initVBoxPython2_7() {
-# elif PY_VERSION_HEX >= 0x02060000
-initVBoxPython2_6() {
-# elif PY_VERSION_HEX >= 0x02050000
-initVBoxPython2_5() {
-# elif PY_VERSION_HEX >= 0x02040000
-initVBoxPython2_4() {
-# elif PY_VERSION_HEX >= 0x02030000
-initVBoxPython2_3() {
-# else
-# error "Fix module versioning."
-# endif
-# else
-initVBoxPython() {
-# endif
+initVBoxPython() { /* NOTE! This name is redefined at the top of the file! */
static bool s_vboxInited = false;
if (!s_vboxInited) {
int rc = 0;
#if defined(VBOX_PATH_APP_PRIVATE_ARCH) && defined(VBOX_PATH_SHARED_LIBS)
- rc = RTR3InitDll(0);
+ rc = RTR3InitDll(RTR3INIT_FLAGS_UNOBTRUSIVE);
#else
const char *home = getenv("VBOX_PROGRAM_PATH");
if (home) {
@@ -808,9 +810,9 @@ initVBoxPython() {
char *exepath = (char *)alloca(len + 32);
memcpy(exepath, home, len);
memcpy(exepath + len, "/pythonfake", sizeof("/pythonfake"));
- rc = RTR3InitEx(RTR3INIT_VER_CUR, RTR3INIT_FLAGS_DLL, 0, NULL, exepath);
+ rc = RTR3InitEx(RTR3INIT_VER_CUR, RTR3INIT_FLAGS_DLL | RTR3INIT_FLAGS_UNOBTRUSIVE, 0, NULL, exepath);
} else {
- rc = RTR3InitDll(0);
+ rc = RTR3InitDll(RTR3INIT_FLAGS_UNOBTRUSIVE);
}
#endif
diff --git a/src/libs/xpcom18a4/python/vboxxpcom.py b/src/libs/xpcom18a4/python/vboxxpcom.py
index 47b11d0f..fa1f597a 100755
--- a/src/libs/xpcom18a4/python/vboxxpcom.py
+++ b/src/libs/xpcom18a4/python/vboxxpcom.py
@@ -1,5 +1,5 @@
"""
-Copyright (C) 2008 Oracle Corporation
+Copyright (C) 2008-2012 Oracle Corporation
This file is part of VirtualBox Open Source Edition (OSE), as
available from http://www.virtualbox.org. This file is free software;
@@ -14,38 +14,49 @@ import xpcom
import sys
import platform
-# this code overcomes somewhat unlucky feature of Python, where it searches
+#
+# This code overcomes somewhat unlucky feature of Python, where it searches
# for binaries in the same place as platfom independent modules, while
# rest of Python bindings expect _xpcom to be inside xpcom module
-
-candidates = ['VBoxPython' + str(sys.version_info[0]) + '_' + str(sys.version_info[1]),
- 'VBoxPython' + str(sys.version_info[0]),
- 'VBoxPython']
+#
+
+_asVBoxPythons = [
+ 'VBoxPython' + str(sys.version_info[0]) + '_' + str(sys.version_info[1]),
+ 'VBoxPython' + str(sys.version_info[0]),
+ 'VBoxPython'
+];
+
+# On platforms where we ship both 32-bit and 64-bit API bindings, we have to
+# look for the right set if we're a 32-bit process.
+if platform.system() in [ 'SunOS', ] and sys.maxsize <= 2**32:
+ _asNew = [ sCandidate + '_x86' for sCandidate in _asVBoxPythons ];
+ _asNew.extend(_asVBoxPythons);
+ _asVBoxPythons = _asNew;
+ del _asNew;
+
+# On Darwin (aka Mac OS X) we know exactly where things are in a normal
+# VirtualBox installation.
+## @todo Edit this at build time to the actual VBox location set in the make files.
+## @todo We know the location for most hardened builds, not just darwin!
if platform.system() == 'Darwin':
- # On Darwin (aka Mac OS X) we know exactly where things are in a normal
- # VirtualBox installation. Also, there are two versions of python there
- # (2.3.x and 2.5.x) depending on whether the os is striped or spotty, so
- # we have to choose the right module to load.
- #
- # XXX: This needs to be adjusted for OSE builds. A more general solution would
- # be to to sed the file during install and inject the VBOX_PATH_APP_PRIVATE_ARCH
- # and VBOX_PATH_SHARED_LIBS when these are set.
sys.path.append('/Applications/VirtualBox.app/Contents/MacOS')
-cglue = None
-for m in candidates:
- try:
- cglue = __import__(m)
- break
- except:
- pass
+_oVBoxPythonMod = None
+for m in _asVBoxPythons:
+ try:
+ _oVBoxPythonMod = __import__(m)
+ break
+ except Exception, x:
+ print 'm=%s x=%s' % (m, x);
+ #except:
+ # pass
if platform.system() == 'Darwin':
sys.path.remove('/Applications/VirtualBox.app/Contents/MacOS')
-if cglue == None:
- raise Exception, "Cannot find VBoxPython module"
+if _oVBoxPythonMod == None:
+ raise Exception('Cannot find VBoxPython module (tried: %s)' % (', '.join(_asVBoxPythons),));
-sys.modules['xpcom._xpcom'] = cglue
-xpcom._xpcom = cglue
+sys.modules['xpcom._xpcom'] = _oVBoxPythonMod;
+xpcom._xpcom = _oVBoxPythonMod;
diff --git a/src/libs/xpcom18a4/xpcom-namespace-cleanup.map b/src/libs/xpcom18a4/xpcom-namespace-cleanup.map
index 3ad053fc..40867352 100644
--- a/src/libs/xpcom18a4/xpcom-namespace-cleanup.map
+++ b/src/libs/xpcom18a4/xpcom-namespace-cleanup.map
@@ -4,7 +4,7 @@
# the Mozilla project. VirtualBox shouldn't pollute the namespace.
#
-# Copyright (C) 2008 Oracle Corporation
+# Copyright (C) 2008-2010 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/libs/xpcom18a4/xpcom-private.h b/src/libs/xpcom18a4/xpcom-private.h
index f30e7ce4..e0721fae 100644
--- a/src/libs/xpcom18a4/xpcom-private.h
+++ b/src/libs/xpcom18a4/xpcom-private.h
@@ -11,17 +11,13 @@
#define HAVE_GETPAGESIZE 1
/* Define if iconv() is available */
-#ifndef L4ENV
#define HAVE_ICONV 1
-#endif
/* Define if iconv() supports const input */
/* #undef HAVE_ICONV_WITH_CONST_INPUT */
/* Define if mbrtowc() is available */
-#ifndef L4ENV
#define HAVE_MBRTOWC 1
-#endif
/* Define if <sys/mount.h> is present */
#define HAVE_SYS_MOUNT_H 1
@@ -30,9 +26,7 @@
#define HAVE_SYS_VFS_H 1
/* Define if wcrtomb() is available */
-#ifndef L4ENV
#define HAVE_WCRTOMB 1
-#endif
#endif /* _XPCOM_PRIVATE_H_ */
diff --git a/src/libs/xpcom18a4/xpcom/components/nsComponentManager.cpp b/src/libs/xpcom18a4/xpcom/components/nsComponentManager.cpp
index 681030a0..ec3cb3f5 100644
--- a/src/libs/xpcom18a4/xpcom/components/nsComponentManager.cpp
+++ b/src/libs/xpcom18a4/xpcom/components/nsComponentManager.cpp
@@ -2375,7 +2375,7 @@ nsComponentManagerImpl::GetServiceByContractID(const char* aContractID,
mon.Enter();
-#ifdef XPCOM_CHECK_PENDING_CIDS
+#ifdef XPCOM_CHECK_PENDING_CIDS
if (entry)
RemovePendingCID(entry->mCid);
#endif
@@ -3722,8 +3722,21 @@ NS_GetServiceManager(nsIServiceManager* *result)
if (nsComponentManagerImpl::gComponentManager == nsnull)
{
+#ifdef VBOX
+ // While XPCOM might need initialization, we're not in a position
+ // to pass the right values to this call. This is actually triggered
+ // on object destruction, so there is no point in re-initializing,
+ // and actually the attempt would lead to nested calls to
+ // xptiInterfaceInfoManager::BuildFileSearchPath, which it detects
+ // as unsafe in debug builds. Just fail, no real problem.
+#ifdef DEBUG
+ printf("NS_GetServiceManager: no current instance, suppressed XPCOM initialization!\n");
+#endif
+ rv = NS_ERROR_SERVICE_NOT_AVAILABLE;
+#else /* !VBOX */
// XPCOM needs initialization.
rv = NS_InitXPCOM2(nsnull, nsnull, nsnull);
+#endif /* !VBOX */
}
if (NS_FAILED(rv))
diff --git a/src/libs/xpcom18a4/xpcom/components/nsNativeComponentLoader.cpp b/src/libs/xpcom18a4/xpcom/components/nsNativeComponentLoader.cpp
index 1ccd862c..a3fd5df8 100644
--- a/src/libs/xpcom18a4/xpcom/components/nsNativeComponentLoader.cpp
+++ b/src/libs/xpcom18a4/xpcom/components/nsNativeComponentLoader.cpp
@@ -674,6 +674,7 @@ nsNativeComponentLoader::AutoRegisterComponent(PRInt32 when,
*registered = PR_FALSE;
+#ifndef VBOX
/* this should be a pref or registry entry, or something */
static const char *ValidDllExtensions[] = {
".dll", /* Windows */
@@ -749,6 +750,53 @@ nsNativeComponentLoader::AutoRegisterComponent(PRInt32 when,
// Skip invalid extensions
return NS_OK;
+#else /* VBOX */
+ /* VBox: Only one valid suffix exist, so dispense with the the list. */
+# ifdef RT_OS_DARWIN
+# ifdef VBOX_IN_32_ON_64_MAIN_API
+ static const char s_szSuff[] = "-x86.dylib";
+# else
+ static const char s_szSuff[] = ".dylib";
+ static const char s_szSuffInvalid[] = "-x86.dylib";
+# endif
+# elif defined(RT_OS_OS2) || defined(RT_OS_WINDOWS)
+# ifdef VBOX_IN_32_ON_64_MAIN_API
+ static const char s_szSuff[] = "-x86.dll";
+#else
+ static const char s_szSuff[] = ".dll";
+ static const char s_szSuffInvalid[] = "-x86.dll";
+# endif
+# else
+# ifdef VBOX_IN_32_ON_64_MAIN_API
+ static const char s_szSuff[] = "-x86.so";
+#else
+ static const char s_szSuff[] = ".so";
+ static const char s_szSuffInvalid[] = "-x86.so";
+# endif
+# endif
+
+ nsCAutoString strLeafName;
+ rv = component->GetNativeLeafName(strLeafName);
+ if (NS_FAILED(rv))
+ return rv;
+ size_t cchLeafName = strLeafName.Length();
+ if ( cchLeafName <= sizeof(s_szSuff)
+ || PL_strcasecmp(strLeafName.get() + cchLeafName - sizeof(s_szSuff) + 1, s_szSuff))
+ {
+ PR_LOG(nsComponentManagerLog, PR_LOG_DEBUG, ("Skipping '%s'...", strLeafName.get()));
+ return NS_OK; /* skip */
+ }
+# ifndef VBOX_IN_32_ON_64_MAIN_API
+ if ( cchLeafName >= sizeof(s_szSuffInvalid)
+ && !PL_strcasecmp(strLeafName.get() + cchLeafName - sizeof(s_szSuffInvalid) + 1, s_szSuffInvalid))
+ {
+ PR_LOG(nsComponentManagerLog, PR_LOG_DEBUG, ("Skipping '%s' (#2)...", strLeafName.get()));
+ return NS_OK; /* skip */
+ }
+# endif
+ PR_LOG(nsComponentManagerLog, PR_LOG_DEBUG, ("... '%s'", strLeafName.get()));
+#endif /* VBOX */
+
nsXPIDLCString persistentDescriptor;
// what I want to do here is QI for a Component Registration Manager. Since this
// has not been invented yet, QI to the obsolete manager. Kids, don't do this at home.
diff --git a/src/libs/xpcom18a4/xpcom/io/nsAppFileLocationProvider.cpp b/src/libs/xpcom18a4/xpcom/io/nsAppFileLocationProvider.cpp
index c67b182f..eb144c55 100644
--- a/src/libs/xpcom18a4/xpcom/io/nsAppFileLocationProvider.cpp
+++ b/src/libs/xpcom18a4/xpcom/io/nsAppFileLocationProvider.cpp
@@ -378,10 +378,6 @@ NS_METHOD nsAppFileLocationProvider::GetProductDirectory(nsILocalFile **aLocalFi
rv = directoryService->Get(NS_WIN_WINDOWS_DIR, NS_GET_IID(nsILocalFile), getter_AddRefs(localDir));
}
if (NS_FAILED(rv)) return rv;
-#elif defined(L4ENV)
- /* Major hack attack, should sort out the environment stuff!!! */
- rv = NS_NewNativeLocalFile(nsDependentCString("."), PR_TRUE, getter_AddRefs(localDir));
- if (NS_FAILED(rv)) return rv;
#elif defined(XP_UNIX)
rv = NS_NewNativeLocalFile(nsDependentCString(PR_GetEnv("HOME")), PR_TRUE, getter_AddRefs(localDir));
if (NS_FAILED(rv)) return rv;
diff --git a/src/libs/xpcom18a4/xpcom/io/nsDirectoryService.cpp b/src/libs/xpcom18a4/xpcom/io/nsDirectoryService.cpp
index e5cc844c..4e650721 100644
--- a/src/libs/xpcom18a4/xpcom/io/nsDirectoryService.cpp
+++ b/src/libs/xpcom18a4/xpcom/io/nsDirectoryService.cpp
@@ -92,7 +92,7 @@
#else
#define COMPONENT_REGISTRY_NAME NS_LITERAL_CSTRING("compreg.dat")
#define COMPONENT_DIRECTORY NS_LITERAL_CSTRING("components")
-#endif
+#endif
#define XPTI_REGISTRY_NAME NS_LITERAL_CSTRING("xpti.dat")
@@ -111,22 +111,22 @@
#endif
//----------------------------------------------------------------------------------------
-nsresult
+nsresult
nsDirectoryService::GetCurrentProcessDirectory(nsILocalFile** aFile)
//----------------------------------------------------------------------------------------
{
NS_ENSURE_ARG_POINTER(aFile);
*aFile = nsnull;
-
+
// Set the component registry location:
if (!mService)
return NS_ERROR_FAILURE;
- nsresult rv;
-
+ nsresult rv;
+
nsCOMPtr<nsIProperties> dirService;
- rv = nsDirectoryService::Create(nsnull,
- NS_GET_IID(nsIProperties),
+ rv = nsDirectoryService::Create(nsnull,
+ NS_GET_IID(nsIProperties),
getter_AddRefs(dirService)); // needs to be around for life of product
if (dirService)
@@ -156,7 +156,7 @@ nsDirectoryService::GetCurrentProcessDirectory(nsILocalFile** aFile)
char* lastSlash = PL_strrchr(buf, '\\');
if (lastSlash)
*(lastSlash + 1) = '\0';
-
+
localFile->InitWithNativePath(nsDependentCString(buf));
*aFile = localFile;
return NS_OK;
@@ -182,9 +182,9 @@ nsDirectoryService::GetCurrentProcessDirectory(nsILocalFile** aFile)
// create an FSSpec from the volume and dirid of the app.
FSSpec appFSSpec;
::FSMakeFSSpec(pInfo.processAppSpec->vRefNum, pInfo.processAppSpec->parID, 0, &appFSSpec);
-
+
nsCOMPtr<nsILocalFileMac> localFileMac = do_QueryInterface((nsIFile*)localFile);
- if (localFileMac)
+ if (localFileMac)
{
localFileMac->InitWithFSSpec(&appFSSpec);
*aFile = localFile;
@@ -192,6 +192,11 @@ nsDirectoryService::GetCurrentProcessDirectory(nsILocalFile** aFile)
}
}
#elif defined(XP_MACOSX)
+# ifdef MOZ_DEFAULT_VBOX_XPCOM_HOME
+ rv = localFile->InitWithNativePath(nsDependentCString(MOZ_DEFAULT_VBOX_XPCOM_HOME));
+ if (NS_SUCCEEDED(rv))
+ *aFile = localFile;
+# else
// Works even if we're not bundled.
CFBundleRef appBundle = CFBundleGetMainBundle();
if (appBundle != nsnull)
@@ -220,8 +225,9 @@ nsDirectoryService::GetCurrentProcessDirectory(nsILocalFile** aFile)
CFRelease(bundleURL);
}
}
-
- NS_ASSERTION(*aFile, "nsDirectoryService - Could not determine CurrentProcessDir.\n");
+#endif
+
+ NS_ASSERTION(*aFile, "nsDirectoryService - Could not determine CurrentProcessDir.\n");
if (*aFile)
return NS_OK;
@@ -242,7 +248,7 @@ nsDirectoryService::GetCurrentProcessDirectory(nsILocalFile** aFile)
char buf2[MAXPATHLEN + 3];
buf2[0] = '\0';
- /*
+ /*
* Env.var. VBOX_XPCOM_HOME first.
*/
char *psz = PR_GetEnv("VBOX_XPCOM_HOME");
@@ -250,7 +256,7 @@ nsDirectoryService::GetCurrentProcessDirectory(nsILocalFile** aFile)
{
if (strlen(psz) < MAXPATHLEN)
{
- if (!realpath(psz, buf2))
+ if (!realpath(psz, buf2))
strcpy(buf2, psz);
strcat(buf2, "/x"); /* for the filename stripping */
}
@@ -277,7 +283,7 @@ nsDirectoryService::GetCurrentProcessDirectory(nsILocalFile** aFile)
{
char buf[MAXPATHLEN];
int cchLink = readlink("/proc/self/exe", buf, sizeof(buf) - 1);
- if (cchLink > 0 || cchLink != sizeof(buf) - 1)
+ if (cchLink > 0 || cchLink != sizeof(buf) - 1)
{
buf[cchLink] = '\0';
if (!realpath(buf, buf2))
@@ -296,7 +302,7 @@ nsDirectoryService::GetCurrentProcessDirectory(nsILocalFile** aFile)
p[p == buf2] = '\0';
#ifdef DEBUG
printf("debug: (1) VBOX_XPCOM_HOME=%s\n", buf2);
- #endif
+ #endif
strcpy(szPath, buf2);
fPathSet = true;
}
@@ -312,12 +318,12 @@ nsDirectoryService::GetCurrentProcessDirectory(nsILocalFile** aFile)
#endif
- // The MOZ_DEFAULT_VBOX_XPCOMHOME variable can be set at configure time with
+ // The MOZ_DEFAULT_VBOX_XPCOM_HOME variable can be set at configure time with
// a --with-default-mozilla-five-home=foo autoconf flag.
- //
+ //
// The idea here is to allow for builds that have a default VBOX_XPCOM_HOME
// regardless of the environment. This makes it easier to write apps that
- // embed mozilla without having to worry about setting up the environment
+ // embed mozilla without having to worry about setting up the environment
//
// We do this py putenv()ing the default value into the environment. Note that
// we only do this if it is not already set.
@@ -398,7 +404,7 @@ nsDirectoryService::GetCurrentProcessDirectory(nsILocalFile** aFile)
}
#endif
-
+
NS_RELEASE(localFile);
NS_ERROR("unable to get current process directory");
@@ -448,7 +454,7 @@ nsIAtom* nsDirectoryService::sPictureDocumentsDirectory = nsnull;
nsIAtom* nsDirectoryService::sMovieDocumentsDirectory = nsnull;
nsIAtom* nsDirectoryService::sMusicDocumentsDirectory = nsnull;
nsIAtom* nsDirectoryService::sInternetSitesDirectory = nsnull;
-#elif defined (XP_WIN)
+#elif defined (XP_WIN)
nsIAtom* nsDirectoryService::sSystemDirectory = nsnull;
nsIAtom* nsDirectoryService::sWindowsDirectory = nsnull;
nsIAtom* nsDirectoryService::sHomeDirectory = nsnull;
@@ -557,7 +563,7 @@ static const nsStaticAtom directory_atoms[] = {
{ NS_OSX_MOVIE_DOCUMENTS_DIR, &nsDirectoryService::sMovieDocumentsDirectory },
{ NS_OSX_MUSIC_DOCUMENTS_DIR, &nsDirectoryService::sMusicDocumentsDirectory },
{ NS_OSX_INTERNET_SITES_DIR, &nsDirectoryService::sInternetSitesDirectory },
-#elif defined (XP_WIN)
+#elif defined (XP_WIN)
{ NS_OS_SYSTEM_DIR, &nsDirectoryService::sSystemDirectory },
{ NS_WIN_WINDOWS_DIR, &nsDirectoryService::sWindowsDirectory },
{ NS_WIN_HOME_DIR, &nsDirectoryService::sHomeDirectory },
@@ -600,18 +606,18 @@ static const nsStaticAtom directory_atoms[] = {
{ NS_BEOS_HOME_DIR, &nsDirectoryService::sHomeDirectory },
{ NS_BEOS_DESKTOP_DIR, &nsDirectoryService::sDesktopDirectory },
#endif
-};
+};
nsresult
nsDirectoryService::Init()
{
nsresult rv;
-
+
rv = NS_NewISupportsArray(getter_AddRefs(mProviders));
if (NS_FAILED(rv)) return rv;
NS_RegisterStaticAtoms(directory_atoms, NS_ARRAY_LENGTH(directory_atoms));
-
+
// Let the list hold the only reference to the provider.
nsAppFileLocationProvider *defaultProvider = new nsAppFileLocationProvider;
if (!defaultProvider)
@@ -665,7 +671,7 @@ struct FileData
data(nsnull),
persistent(PR_TRUE),
uuid(aUUID) {}
-
+
const char* property;
nsISupports* data;
PRBool persistent;
@@ -706,9 +712,9 @@ NS_IMETHODIMP
nsDirectoryService::Get(const char* prop, const nsIID & uuid, void* *result)
{
nsCStringKey key(prop);
-
+
nsCOMPtr<nsISupports> value = dont_AddRef(mHashtable.Get(&key));
-
+
if (value)
{
nsCOMPtr<nsIFile> cloneFile;
@@ -767,7 +773,7 @@ nsDirectoryService::Set(const char* prop, nsISupports* value)
return NS_OK;
}
- return NS_ERROR_FAILURE;
+ return NS_ERROR_FAILURE;
}
NS_IMETHODIMP
@@ -776,14 +782,14 @@ nsDirectoryService::Has(const char *prop, PRBool *_retval)
*_retval = PR_FALSE;
nsCOMPtr<nsIFile> value;
nsresult rv = Get(prop, NS_GET_IID(nsIFile), getter_AddRefs(value));
- if (NS_FAILED(rv))
+ if (NS_FAILED(rv))
return rv;
-
+
if (value)
{
*_retval = PR_TRUE;
}
-
+
return rv;
}
@@ -822,7 +828,7 @@ nsDirectoryService::UnregisterProvider(nsIDirectoryServiceProvider *prov)
// DO NOT ADD ANY LOCATIONS TO THIS FUNCTION UNTIL YOU TALK TO: dougt@netscape.com.
// This is meant to be a place of xpcom or system specific file locations, not
// application specific locations. If you need the later, register a callback for
-// your application.
+// your application.
NS_IMETHODIMP
nsDirectoryService::GetFile(const char *prop, PRBool *persistent, nsIFile **_retval)
@@ -836,8 +842,8 @@ nsDirectoryService::GetFile(const char *prop, PRBool *persistent, nsIFile **_ret
nsIAtom* inAtom = NS_NewAtom(prop);
// check to see if it is one of our defaults
-
- if (inAtom == nsDirectoryService::sCurrentProcess ||
+
+ if (inAtom == nsDirectoryService::sCurrentProcess ||
inAtom == nsDirectoryService::sOS_CurrentProcessDirectory )
{
rv = GetCurrentProcessDirectory(getter_AddRefs(localFile));
@@ -848,8 +854,8 @@ nsDirectoryService::GetFile(const char *prop, PRBool *persistent, nsIFile **_ret
if (!localFile)
return NS_ERROR_FAILURE;
- localFile->AppendNative(COMPONENT_DIRECTORY);
- localFile->AppendNative(COMPONENT_REGISTRY_NAME);
+ localFile->AppendNative(COMPONENT_DIRECTORY);
+ localFile->AppendNative(COMPONENT_REGISTRY_NAME);
}
else if (inAtom == nsDirectoryService::sXPTIRegistry)
{
@@ -857,10 +863,10 @@ nsDirectoryService::GetFile(const char *prop, PRBool *persistent, nsIFile **_ret
if (!localFile)
return NS_ERROR_FAILURE;
- localFile->AppendNative(COMPONENT_DIRECTORY);
- localFile->AppendNative(XPTI_REGISTRY_NAME);
+ localFile->AppendNative(COMPONENT_DIRECTORY);
+ localFile->AppendNative(XPTI_REGISTRY_NAME);
}
-
+
// Unless otherwise set, the core pieces of the GRE exist
// in the current process directory.
else if (inAtom == nsDirectoryService::sGRE_Directory)
@@ -880,7 +886,7 @@ nsDirectoryService::GetFile(const char *prop, PRBool *persistent, nsIFile **_ret
{
rv = GetCurrentProcessDirectory(getter_AddRefs(localFile));
if (localFile)
- localFile->AppendNative(COMPONENT_DIRECTORY);
+ localFile->AppendNative(COMPONENT_DIRECTORY);
}
else if (inAtom == nsDirectoryService::sOS_DriveDirectory)
{
@@ -892,13 +898,13 @@ nsDirectoryService::GetFile(const char *prop, PRBool *persistent, nsIFile **_ret
}
else if (inAtom == nsDirectoryService::sOS_CurrentProcessDirectory)
{
- rv = GetSpecialSystemDirectory(OS_CurrentProcessDirectory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(OS_CurrentProcessDirectory, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sOS_CurrentWorkingDirectory)
{
- rv = GetSpecialSystemDirectory(OS_CurrentWorkingDirectory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(OS_CurrentWorkingDirectory, getter_AddRefs(localFile));
}
-
+
#if defined(XP_MACOSX)
else if (inAtom == nsDirectoryService::sDirectory)
{
@@ -947,7 +953,7 @@ nsDirectoryService::GetFile(const char *prop, PRBool *persistent, nsIFile **_ret
else if (inAtom == nsDirectoryService::sInternetSearchDirectory)
{
rv = GetOSXFolderType(kClassicDomain, kInternetSearchSitesFolderType, getter_AddRefs(localFile));
- }
+ }
else if (inAtom == nsDirectoryService::sUserLibDirectory)
{
rv = GetOSXFolderType(kUserDomain, kDomainLibraryFolderType, getter_AddRefs(localFile));
@@ -979,14 +985,14 @@ nsDirectoryService::GetFile(const char *prop, PRBool *persistent, nsIFile **_ret
}
::ICStop(icInstance);
}
-
+
if NS_FAILED(rv)
- {
+ {
// We got an error getting the DL folder from IC so try finding the user's Desktop folder
rv = GetOSXFolderType(kUserDomain, kDesktopFolderType, getter_AddRefs(localFile));
}
}
-
+
// Don't cache the DL directory as the user may change it while we're running.
// Negligible perf hit as this directory is only requested for downloads
*persistent = PR_FALSE;
@@ -1058,39 +1064,39 @@ nsDirectoryService::GetFile(const char *prop, PRBool *persistent, nsIFile **_ret
#elif defined (XP_WIN)
else if (inAtom == nsDirectoryService::sSystemDirectory)
{
- rv = GetSpecialSystemDirectory(Win_SystemDirectory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_SystemDirectory, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sWindowsDirectory)
{
- rv = GetSpecialSystemDirectory(Win_WindowsDirectory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_WindowsDirectory, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sHomeDirectory)
{
- rv = GetSpecialSystemDirectory(Win_HomeDirectory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_HomeDirectory, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sDesktop)
{
- rv = GetSpecialSystemDirectory(Win_Desktop, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Desktop, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sPrograms)
{
- rv = GetSpecialSystemDirectory(Win_Programs, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Programs, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sControls)
{
- rv = GetSpecialSystemDirectory(Win_Controls, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Controls, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sPrinters)
{
- rv = GetSpecialSystemDirectory(Win_Printers, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Printers, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sPersonal)
{
- rv = GetSpecialSystemDirectory(Win_Personal, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Personal, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sFavorites)
{
- rv = GetSpecialSystemDirectory(Win_Favorites, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Favorites, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sStartup)
{
@@ -1098,23 +1104,23 @@ nsDirectoryService::GetFile(const char *prop, PRBool *persistent, nsIFile **_ret
}
else if (inAtom == nsDirectoryService::sRecent)
{
- rv = GetSpecialSystemDirectory(Win_Recent, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Recent, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sSendto)
{
- rv = GetSpecialSystemDirectory(Win_Sendto, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Sendto, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sBitbucket)
{
- rv = GetSpecialSystemDirectory(Win_Bitbucket, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Bitbucket, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sStartmenu)
{
- rv = GetSpecialSystemDirectory(Win_Startmenu, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Startmenu, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sDesktopdirectory)
{
- rv = GetSpecialSystemDirectory(Win_Desktopdirectory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Desktopdirectory, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sDrives)
{
@@ -1122,11 +1128,11 @@ nsDirectoryService::GetFile(const char *prop, PRBool *persistent, nsIFile **_ret
}
else if (inAtom == nsDirectoryService::sNetwork)
{
- rv = GetSpecialSystemDirectory(Win_Network, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Network, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sNethood)
{
- rv = GetSpecialSystemDirectory(Win_Nethood, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Nethood, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sFonts)
{
@@ -1134,41 +1140,41 @@ nsDirectoryService::GetFile(const char *prop, PRBool *persistent, nsIFile **_ret
}
else if (inAtom == nsDirectoryService::sTemplates)
{
- rv = GetSpecialSystemDirectory(Win_Templates, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Templates, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sCommon_Startmenu)
{
- rv = GetSpecialSystemDirectory(Win_Common_Startmenu, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Common_Startmenu, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sCommon_Programs)
{
- rv = GetSpecialSystemDirectory(Win_Common_Programs, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Common_Programs, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sCommon_Startup)
{
- rv = GetSpecialSystemDirectory(Win_Common_Startup, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Common_Startup, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sCommon_Desktopdirectory)
{
- rv = GetSpecialSystemDirectory(Win_Common_Desktopdirectory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Common_Desktopdirectory, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sAppdata)
{
- rv = GetSpecialSystemDirectory(Win_Appdata, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Appdata, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sPrinthood)
{
- rv = GetSpecialSystemDirectory(Win_Printhood, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Printhood, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sWinCookiesDirectory)
{
- rv = GetSpecialSystemDirectory(Win_Cookies, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Win_Cookies, getter_AddRefs(localFile));
}
#elif defined (XP_UNIX)
else if (inAtom == nsDirectoryService::sLocalDirectory)
{
- rv = GetSpecialSystemDirectory(Unix_LocalDirectory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Unix_LocalDirectory, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sLibDirectory)
{
@@ -1176,29 +1182,29 @@ nsDirectoryService::GetFile(const char *prop, PRBool *persistent, nsIFile **_ret
}
else if (inAtom == nsDirectoryService::sHomeDirectory)
{
- rv = GetSpecialSystemDirectory(Unix_HomeDirectory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(Unix_HomeDirectory, getter_AddRefs(localFile));
}
#elif defined (XP_OS2)
else if (inAtom == nsDirectoryService::sSystemDirectory)
{
- rv = GetSpecialSystemDirectory(OS2_SystemDirectory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(OS2_SystemDirectory, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sOS2Directory)
{
- rv = GetSpecialSystemDirectory(OS2_OS2Directory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(OS2_OS2Directory, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sHomeDirectory)
{
- rv = GetSpecialSystemDirectory(OS2_HomeDirectory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(OS2_HomeDirectory, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sDesktopDirectory)
{
- rv = GetSpecialSystemDirectory(OS2_DesktopDirectory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(OS2_DesktopDirectory, getter_AddRefs(localFile));
}
#elif defined (XP_BEOS)
else if (inAtom == nsDirectoryService::sSettingsDirectory)
{
- rv = GetSpecialSystemDirectory(BeOS_SettingsDirectory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(BeOS_SettingsDirectory, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sHomeDirectory)
{
@@ -1206,11 +1212,11 @@ nsDirectoryService::GetFile(const char *prop, PRBool *persistent, nsIFile **_ret
}
else if (inAtom == nsDirectoryService::sDesktopDirectory)
{
- rv = GetSpecialSystemDirectory(BeOS_DesktopDirectory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(BeOS_DesktopDirectory, getter_AddRefs(localFile));
}
else if (inAtom == nsDirectoryService::sSystemDirectory)
{
- rv = GetSpecialSystemDirectory(BeOS_SystemDirectory, getter_AddRefs(localFile));
+ rv = GetSpecialSystemDirectory(BeOS_SystemDirectory, getter_AddRefs(localFile));
}
#endif
@@ -1230,6 +1236,6 @@ nsDirectoryService::GetFiles(const char *prop, nsISimpleEnumerator **_retval)
{
NS_ENSURE_ARG_POINTER(_retval);
*_retval = nsnull;
-
+
return NS_ERROR_FAILURE;
}
diff --git a/src/libs/xpcom18a4/xpcom/io/nsLocalFile.h b/src/libs/xpcom18a4/xpcom/io/nsLocalFile.h
index 4ab859aa..8201affb 100644
--- a/src/libs/xpcom18a4/xpcom/io/nsLocalFile.h
+++ b/src/libs/xpcom18a4/xpcom/io/nsLocalFile.h
@@ -74,9 +74,6 @@
#include "nsLocalFileOSX.h"
#elif defined(XP_MAC)
#include "nsLocalFileMac.h"
-#elif defined(L4ENV)
- /* Major hack attack!!! */
-#include "nsLocalFileL4.h"
#elif defined(XP_UNIX) || defined(XP_BEOS)
#include "nsLocalFileUnix.h"
#elif defined(XP_OS2)
diff --git a/src/libs/xpcom18a4/xpcom/io/nsLocalFileL4.cpp b/src/libs/xpcom18a4/xpcom/io/nsLocalFileL4.cpp
deleted file mode 100644
index 1a3c974f..00000000
--- a/src/libs/xpcom18a4/xpcom/io/nsLocalFileL4.cpp
+++ /dev/null
@@ -1,549 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released
- * March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-1999
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Mike Shaver <shaver@mozilla.org>
- * Christopher Blizzard <blizzard@mozilla.org>
- * Jason Eager <jce2@po.cwru.edu>
- * Stuart Parmenter <pavlov@netscape.com>
- * Brendan Eich <brendan@mozilla.org>
- * Pete Collins <petejc@mozdev.org>
- * Paul Ashford <arougthopher@lizardland.net>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of the GNU General Public License Version 2 or later (the "GPL"),
- * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/**
- * Implementation of nsIFile for L4 systems.
- *
- * Notes to all those who have something to do with this file again: I have told almost
- * all functions to return NS_ERROR_FAILURE. A good starting point if you need to
- * implement any of it would be to search/replace those with standard assertions.
- */
-
-#include "nsDirectoryServiceDefs.h"
-#include "nsCRT.h"
-#include "nsCOMPtr.h"
-#include "nsMemory.h"
-#include "nsIFile.h"
-#include "nsString.h"
-#include "nsReadableUtils.h"
-#include "nsLocalFile.h"
-#include "nsIComponentManager.h"
-#include "nsXPIDLString.h"
-#include "prproces.h"
-#include "nsISimpleEnumerator.h"
-#include "nsITimelineService.h"
-
-#include "nsNativeCharsetUtils.h"
-
-#if 0
-/* directory enumerator */
-class NS_COM
-nsDirEnumeratorL4 : public nsISimpleEnumerator
-{
- public:
- nsDirEnumeratorL4();
-
- // nsISupports interface
- NS_DECL_ISUPPORTS
-
- // nsISimpleEnumerator interface
- NS_DECL_NSISIMPLEENUMERATOR
-
- NS_IMETHOD Init(nsLocalFile *parent, PRBool ignored);
-
- private:
- ~nsDirEnumeratorL4();
-
- protected:
- NS_IMETHOD GetNextEntry();
-
-};
-
-nsDirEnumeratorL4::nsDirEnumeratorL4() :
- mDir(nsnull),
- mEntry(nsnull)
-{
- NS_ASSERTION(0, "nsDirEnumeratorL4 created!");
-}
-
-nsDirEnumeratorL4::~nsDirEnumeratorL4()
-{
-}
-
-NS_IMPL_ISUPPORTS1(nsDirEnumeratorL4, nsISimpleEnumerator)
-
-NS_IMETHODIMP
-nsDirEnumeratorL4::Init(nsLocalFile *parent, PRBool resolveSymlinks /*ignored*/)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsDirEnumeratorL4::HasMoreElements(PRBool *result)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsDirEnumeratorL4::GetNext(nsISupports **_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsDirEnumeratorL4::GetNextEntry()
-{
- return NS_ERROR_FAILURE;
-}
-#endif /* 0 */
-
-nsLocalFile::nsLocalFile()
-{
- NS_ASSERTION(0, "nsLocalFile created!");
-}
-
-nsLocalFile::nsLocalFile(const nsLocalFile& other)
-{
- NS_ASSERTION(0, "nsLocalFile created!");
-}
-
-NS_IMPL_THREADSAFE_ISUPPORTS2(nsLocalFile,
- nsIFile,
- nsILocalFile)
-
-nsresult
-nsLocalFile::nsLocalFileConstructor(nsISupports *outer,
- const nsIID &aIID,
- void **aInstancePtr)
-{
- NS_ASSERTION(0, "nsLocalFile::nsLocalFileConstructor called!");
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::Clone(nsIFile **file)
-{
- // Just copy-construct ourselves
- *file = new nsLocalFile(*this);
- if (!*file)
- return NS_ERROR_OUT_OF_MEMORY;
-
- NS_ADDREF(*file);
-
- return NS_OK;
-}
-
-NS_IMETHODIMP
-nsLocalFile::InitWithNativePath(const nsACString &filePath)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::OpenNSPRFileDesc(PRInt32 flags, PRInt32 mode, PRFileDesc **_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::OpenANSIFileDesc(const char *mode, FILE **_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::Create(PRUint32 type, PRUint32 permissions)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::AppendNative(const nsACString &fragment)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::AppendRelativeNativePath(const nsACString &fragment)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::Normalize()
-{
- return NS_ERROR_FAILURE;
-}
-
-void
-nsLocalFile::LocateNativeLeafName(nsACString::const_iterator &begin,
- nsACString::const_iterator &end)
-{
-}
-
-NS_IMETHODIMP
-nsLocalFile::GetNativeLeafName(nsACString &aLeafName)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::SetNativeLeafName(const nsACString &aLeafName)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::GetNativePath(nsACString &_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-nsresult
-nsLocalFile::GetNativeTargetPathName(nsIFile *newParent,
- const nsACString &newName,
- nsACString &_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-nsresult
-nsLocalFile::CopyDirectoryTo(nsIFile *newParent)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::CopyToNative(nsIFile *newParent, const nsACString &newName)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::CopyToFollowingLinksNative(nsIFile *newParent, const nsACString &newName)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::MoveToNative(nsIFile *newParent, const nsACString &newName)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::Remove(PRBool recursive)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::GetLastModifiedTime(PRInt64 *aLastModTime)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::SetLastModifiedTime(PRInt64 aLastModTime)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::GetLastModifiedTimeOfLink(PRInt64 *aLastModTimeOfLink)
-{
- return NS_ERROR_FAILURE;
-}
-
-/*
- * utime(2) may or may not dereference symlinks, joy.
- */
-NS_IMETHODIMP
-nsLocalFile::SetLastModifiedTimeOfLink(PRInt64 aLastModTimeOfLink)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::GetPermissions(PRUint32 *aPermissions)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::GetPermissionsOfLink(PRUint32 *aPermissionsOfLink)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::SetPermissions(PRUint32 aPermissions)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::SetPermissionsOfLink(PRUint32 aPermissions)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::GetFileSize(PRInt64 *aFileSize)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::SetFileSize(PRInt64 aFileSize)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::GetFileSizeOfLink(PRInt64 *aFileSize)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::GetDiskSpaceAvailable(PRInt64 *aDiskSpaceAvailable)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::GetParent(nsIFile **aParent)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::Exists(PRBool *_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::IsWritable(PRBool *_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::IsReadable(PRBool *_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::IsExecutable(PRBool *_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::IsDirectory(PRBool *_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::IsFile(PRBool *_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::IsHidden(PRBool *_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::IsSymlink(PRBool *_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::IsSpecial(PRBool *_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::Equals(nsIFile *inFile, PRBool *_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::Contains(nsIFile *inFile, PRBool recur, PRBool *_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::GetNativeTarget(nsACString &_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-/* attribute PRBool followLinks; */
-NS_IMETHODIMP
-nsLocalFile::GetFollowLinks(PRBool *aFollowLinks)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::SetFollowLinks(PRBool aFollowLinks)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::GetDirectoryEntries(nsISimpleEnumerator **entries)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::Load(PRLibrary **_retval)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::GetPersistentDescriptor(nsACString &aPersistentDescriptor)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::SetPersistentDescriptor(const nsACString &aPersistentDescriptor)
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::Reveal()
-{
- return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsLocalFile::Launch()
-{
- return NS_ERROR_FAILURE;
-}
-
-nsresult
-NS_NewNativeLocalFile(const nsACString &path, PRBool followSymlinks, nsILocalFile **result)
-{
- return NS_ERROR_FAILURE;
-}
-
-// Unicode interface Wrapper
-nsresult
-nsLocalFile::InitWithPath(const nsAString &filePath)
-{
- return NS_ERROR_FAILURE;
-}
-nsresult
-nsLocalFile::Append(const nsAString &node)
-{
- return NS_ERROR_FAILURE;
-}
-nsresult
-nsLocalFile::AppendRelativePath(const nsAString &node)
-{
- return NS_ERROR_FAILURE;
-}
-nsresult
-nsLocalFile::GetLeafName(nsAString &aLeafName)
-{
- return NS_ERROR_FAILURE;
-}
-nsresult
-nsLocalFile::SetLeafName(const nsAString &aLeafName)
-{
- return NS_ERROR_FAILURE;
-}
-nsresult
-nsLocalFile::GetPath(nsAString &_retval)
-{
- return NS_ERROR_FAILURE;
-}
-nsresult
-nsLocalFile::CopyTo(nsIFile *newParentDir, const nsAString &newName)
-{
- return NS_ERROR_FAILURE;
-}
-nsresult
-nsLocalFile::CopyToFollowingLinks(nsIFile *newParentDir, const nsAString &newName)
-{
- return NS_ERROR_FAILURE;
-}
-nsresult
-nsLocalFile::MoveTo(nsIFile *newParentDir, const nsAString &newName)
-{
- return NS_ERROR_FAILURE;
-}
-nsresult
-nsLocalFile::GetTarget(nsAString &_retval)
-{
- return NS_ERROR_FAILURE;
-}
-nsresult
-NS_NewLocalFile(const nsAString &path, PRBool followLinks, nsILocalFile* *result)
-{
- return NS_ERROR_FAILURE;
-}
-
-//-----------------------------------------------------------------------------
-// global init/shutdown
-//-----------------------------------------------------------------------------
-
-void
-nsLocalFile::GlobalInit()
-{
-}
-
-void
-nsLocalFile::GlobalShutdown()
-{
-}
diff --git a/src/libs/xpcom18a4/xpcom/io/nsLocalFileL4.h b/src/libs/xpcom18a4/xpcom/io/nsLocalFileL4.h
deleted file mode 100644
index 80af548c..00000000
--- a/src/libs/xpcom18a4/xpcom/io/nsLocalFileL4.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released
- * March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-1999
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Mike Shaver <shaver@mozilla.org>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of the GNU General Public License Version 2 or later (the "GPL"),
- * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/*
- * Implementation of nsIFile for L4 systems.
- */
-
-#ifndef _nsLocalFileL4_H_
-#define _nsLocalFileL4_H_
-
-#include "nscore.h"
-#include "nsString.h"
-#include "nsReadableUtils.h"
-
-class NS_COM nsLocalFile : public nsILocalFile
-{
-public:
- NS_DEFINE_STATIC_CID_ACCESSOR(NS_LOCAL_FILE_CID)
-
- nsLocalFile();
-
- static NS_METHOD nsLocalFileConstructor(nsISupports* outer, const nsIID& aIID, void* *aInstancePtr);
-
- // nsISupports
- NS_DECL_ISUPPORTS
-
- // nsIFile
- NS_DECL_NSIFILE
-
- // nsILocalFile
- NS_DECL_NSILOCALFILE
-
-public:
- static void GlobalInit();
- static void GlobalShutdown();
-
-private:
- nsLocalFile(const nsLocalFile& other);
- ~nsLocalFile() {}
-
-protected:
- void LocateNativeLeafName(nsACString::const_iterator &,
- nsACString::const_iterator &);
-
- nsresult CopyDirectoryTo(nsIFile *newParent);
- nsresult CreateAllAncestors(PRUint32 permissions);
- nsresult GetNativeTargetPathName(nsIFile *newParent,
- const nsACString &newName,
- nsACString &_retval);
-
- void InvalidateCache() { }
- nsresult FillStatCache();
-
- nsresult CreateAndKeepOpen(PRUint32 type, PRIntn flags,
- PRUint32 permissions, PRFileDesc **_retval);
-};
-
-#endif /* _nsLocalFileL4_H_ */
diff --git a/src/libs/xpcom18a4/xpcom/io/nsNativeCharsetUtils.cpp b/src/libs/xpcom18a4/xpcom/io/nsNativeCharsetUtils.cpp
index a9cc2101..55b5c63c 100644
--- a/src/libs/xpcom18a4/xpcom/io/nsNativeCharsetUtils.cpp
+++ b/src/libs/xpcom18a4/xpcom/io/nsNativeCharsetUtils.cpp
@@ -642,13 +642,9 @@ nsNativeCharsetConverter::GlobalInit()
char a = 'a';
unsigned int w = 0;
-#ifndef L4ENV
int res = mbtowc((wchar_t *) &w, &a, 1);
gWCharIsUnicode = (res != -1 && w == 'a');
-#else
- gWCharIsUnicode = 0;
-#endif
#ifdef DEBUG
if (!gWCharIsUnicode)
@@ -663,8 +659,6 @@ nsNativeCharsetConverter::NativeToUnicode(const char **input,
PRUint32 *outputLeft)
{
if (gWCharIsUnicode) {
-#ifndef L4ENV
- /* We don't have any wchar support built into uclibc just now */
int incr;
// cannot use wchar_t here since it may have been redefined (e.g.,
@@ -689,7 +683,6 @@ nsNativeCharsetConverter::NativeToUnicode(const char **input,
(*output)++;
(*outputLeft)--;
}
-#endif /* not defined L4ENV */
}
else {
// wchar_t isn't unicode, so the best we can do is treat the
@@ -707,8 +700,6 @@ nsNativeCharsetConverter::UnicodeToNative(const PRUnichar **input,
PRUint32 *outputLeft)
{
if (gWCharIsUnicode) {
-#ifndef L4ENV
- /* We don't have any wchar support built into uclibc just now */
int incr;
while (*inputLeft && *outputLeft >= MB_CUR_MAX) {
@@ -730,7 +721,6 @@ nsNativeCharsetConverter::UnicodeToNative(const PRUnichar **input,
(*input)++;
(*inputLeft)--;
}
-#endif /* not defined L4ENV */
}
else {
// wchar_t isn't unicode, so the best we can do is treat the
diff --git a/src/libs/xpcom18a4/xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h b/src/libs/xpcom18a4/xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h
index 688533de..23eb23ee 100644
--- a/src/libs/xpcom18a4/xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h
+++ b/src/libs/xpcom18a4/xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h
@@ -67,8 +67,7 @@
*
*/
-#if defined(LINUX) || defined(L4)
-/* I am assuming that since we are using the Linux compiler for L4, the same will hold true... */
+#if defined(LINUX)
#if (__GNUC__ == 2) && (__GNUC_MINOR__ <= 7)
/* Old gcc 2.7.x.x. What does gcc 2.8.x do?? */
diff --git a/src/libs/zlib-1.2.6/Makefile.kmk b/src/libs/zlib-1.2.6/Makefile.kmk
index 5f86f2fb..ac1278ad 100644
--- a/src/libs/zlib-1.2.6/Makefile.kmk
+++ b/src/libs/zlib-1.2.6/Makefile.kmk
@@ -46,5 +46,11 @@ VBox-zlib-static_TEMPLATE = VBOXR3STATIC
VBox-zlib-static_DEFS = $(VBox-zlib_DEFS)
VBox-zlib-static_SOURCES = $(VBox-zlib_SOURCES)
+ifdef VBOX_WITH_32_ON_64_MAIN_API # 32-bit edition.
+ LIBRARIES += VBox-zlib-x86
+ VBox-zlib-x86_TEMPLATE = VBoxR3Dll-x86
+ VBox-zlib-x86_EXTENDS = VBox-zlib
+endif
+
include $(FILE_KBUILD_SUB_FOOTER)
diff --git a/src/libs/zlib-1.2.6/gzguts.h b/src/libs/zlib-1.2.6/gzguts.h
index 3107c363..1c41c5a1 100644
--- a/src/libs/zlib-1.2.6/gzguts.h
+++ b/src/libs/zlib-1.2.6/gzguts.h
@@ -31,6 +31,12 @@
# include <io.h>
#endif
+#ifdef VBOX /* Solves missing seek, read, open, close, write functions. */
+# ifdef _MSC_VER
+# include <io.h>
+# endif
+#endif
+
#ifdef NO_DEFLATE /* for compatibility with old definition */
# define NO_GZCOMPRESS
#endif