diff --git a/terraingen/oldtgen/CMakeLists.txt b/terraingen/oldtgen/CMakeLists.txt
deleted file mode 100644
index 380b9e9e..00000000
--- a/terraingen/oldtgen/CMakeLists.txt
+++ /dev/null
@@ -1,68 +0,0 @@
-cmake_minimum_required(VERSION 2.8.8)
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-# project
-
-project(Terraingen)
-
-set(ROOT_DIR "${PROJECT_SOURCE_DIR}")
-set(LIB_DIR "${ROOT_DIR}/../lib")
-set(SRC_DIR "${ROOT_DIR}/src")
-set(GEN_DIR "${ROOT_DIR}/gensrc")
-
-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIB_DIR})
-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIB_DIR})
-
-# sources
-
-include(gensrc/Routines.cmake)
-
-set(SRCS
- ${SRC_DIR}/run.cpp
- ${SRC_DIR}/memory.cpp
- ${SRC_DIR}/cpu.cpp
- ${SRC_DIR}/sqlite3.c
- ${GEN_DIR}/stubs.cpp
- ${GEN_SRCS}
-)
-
-# dependencies
-
-if(MSVC)
- # silence some stupid warnings
- add_definitions("/wd4102")
- set_source_files_properties(${GEN_BIG_SRCS} PROPERTIES COMPILE_FLAGS -Od)
-else()
- # GCC-like
- set_source_files_properties(${GEN_BIG_SRCS} PROPERTIES COMPILE_FLAGS
- "-O0 -g0")
-endif()
-
-set(CMAKE_LIBRARY_PATH "${ROOT_DIR}/lib" ${CMAKE_LIBRARY_PATH})
-set(CMAKE_INCLUDE_PATH ${SRC_DIR} "${ROOT_DIR}/include"
- ${CMAKE_INCLUDE_PATH})
-
-if(MSVC)
- set(CMAKE_INCLUDE_PATH "${PROJECT_SOURCE_DIR}/include/win32"
- ${CMAKE_INCLUDE_PATH})
- add_definitions(/arch:SSE2)
- add_definitions(/MP)
-endif()
-
-if(UNIX)
- find_package(Threads REQUIRED)
- set(GEN_LIBS ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT})
-endif()
-
-# build
-
-include_directories(
- ${CMAKE_INCLUDE_PATH}
-)
-
-# build
-add_library(tgen ${SRCS})
-target_link_libraries(tgen ${GEN_LIBS})
-
-add_executable(tgen_example ${SRC_DIR}/example.cpp)
-target_link_libraries(tgen_example tgen)
diff --git a/terraingen/oldtgen/__init__.py b/terraingen/oldtgen/__init__.py
deleted file mode 100644
index 2bca67c1..00000000
--- a/terraingen/oldtgen/__init__.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) Mathias Kaerlev 2013-2017.
-#
-# This file is part of cuwo.
-#
-# cuwo is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# cuwo is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with cuwo. If not, see .
diff --git a/terraingen/oldtgen/config.py b/terraingen/oldtgen/config.py
deleted file mode 100644
index 3b7c02a7..00000000
--- a/terraingen/oldtgen/config.py
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright (c) Mathias Kaerlev 2013-2017.
-#
-# This file is part of cuwo.
-#
-# cuwo is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# cuwo is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with cuwo. If not, see .
-
-"""
-Contains configuration specific to this version of Server.exe
-Addresses are with the default image base (i.e. 0x400000)
-"""
-
-# XXX actually use this
-image_base = 0x400000
-
-entry_point = 0x549AD0
-static_start = 0x558414
-static_end = 0x558548
-static_ignore = {
- 0x5566C0,
- 0x5566D0,
- 0x5566E0
-}
-sqlite_table = 0x16A290 + image_base
-
-dynamic_addresses = [
- 5119008,
- 4391216,
- 4269152,
- 5544464,
- 0x5183D0, # generator_func,
- 4271456,
- 5540240,
-]
-
-function_alias = {
- 0x4C8580: 'initialize_manager',
- 0x4D7FA0: 'initialize_seed',
- 0x5183D0: 'generator_func',
- 0x431880 : 'setup_func'
-}
-
-
-
-import_alias = {
- '??2@YAPAXI@Z': 'new_func',
- ('ws2_32', 115): 'WSAStartup',
- '??3@YAXPAX@Z': 'delete_func',
- '??0exception@std@@QAE@ABQBDH@Z': 'exception_ctor_noalloc',
- '??0exception@std@@QAE@ABQBD@Z': 'exception_ctor',
- '??0bad_cast@std@@QAE@PBD@Z': 'bad_cast_ctor_charptr',
- '??_V@YAXPAX@Z': 'delete_arr_func',
- ('??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf'
- '@DU?$char_traits@D@std@@@1@_N@Z'):
- 'basic_istream_char_ctor',
- '??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ':
- 'basic_streambuf_char_ctor',
- '?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ':
- 'basic_streambuf_char__Init_empty',
- '?_Fiopen@std@@YAPAU_iobuf@@PBDHH@Z': '_Fiopen',
- '?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z':
- 'basic_ios_char_setstate_reraise',
- '??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ':
- 'basic_streambuf_char_dtor',
- '??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ':
- 'basic_istream_char_dtor',
- '??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ':
- 'basic_ios_char_dtor',
- '??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAH@Z':
- 'basic_istream_char_read_int',
- '??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ':
- 'basic_ios_char_ctor',
- ('??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$'
- 'basic_streambuf@DU?$char_traits@D@std@@@1@@Z'):
- 'basic_iostream_char_ctor',
- '??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z':
- 'basic_ostream_char_print_int',
- '?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE_JPBD_J@Z':
- 'basic_streambuf_char_sputn',
- '?uncaught_exception@std@@YA_NXZ': '__uncaught_exception',
- '?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ':
- 'basic_ostream_char__Osfx',
- '?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z':
- 'basic_streambuf_char_setg',
- '??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UAE@XZ':
- 'basic_iostream_char_dtor',
- '?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z': 'ios_base_Ios_base_dtor'
-}
-
-function_enders = {
- '_Xlength_errorstdYAXPBDZ_imp'
-}
\ No newline at end of file
diff --git a/terraingen/oldtgen/converter.py b/terraingen/oldtgen/converter.py
deleted file mode 100644
index 1f00d48a..00000000
--- a/terraingen/oldtgen/converter.py
+++ /dev/null
@@ -1,2365 +0,0 @@
-# Copyright (c) Mathias Kaerlev 2013-2017.
-#
-# This file is part of cuwo.
-#
-# cuwo is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# cuwo is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with cuwo. If not, see .
-
-from . import pefile
-from . import pydasm
-from io import StringIO
-import collections
-import struct
-import itertools
-import os
-import math
-from . import config
-from .config import function_alias, import_alias, function_enders
-from ctypes import c_int32
-
-LICENSE_TEXT = '''\
-/*
- Copyright (c) Mathias Kaerlev 2013-2017.
-
- This file is part of cuwo.
-
- cuwo is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- cuwo is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with cuwo. If not, see .
-*/
-'''
-
-
-class StringWrapper(object):
- def __init__(self, value):
- self.value = value
-
- def __str__(self):
- return self.value
-
- def __repr__(self):
- new = ''
- for c in self.value:
- if c == '\\':
- new += '\\\\'
- elif c == '"':
- new += '\\"'
- elif c == '\r':
- new += '\\r'
- elif c == '\n':
- new += '\\n'
- elif ord(c) > 128:
- new += '\\' + oct(ord(c))[1:]
- else:
- new += c
- return '"%s"' % new
-
-
-def to_c(format_spec, *args):
- new_args = []
- for arg in args:
- if isinstance(arg, str):
- arg = StringWrapper(arg)
- elif isinstance(arg, bool):
- if arg:
- arg = 'true'
- else:
- arg = 'false'
- new_args.append(arg)
- return format_spec % tuple(new_args)
-
-
-class CodeWriter(object):
- indentation = 0
- comment = None
- line_count = 0
-
- def __init__(self, filename, license=True):
- self.fp = StringIO()
- self.filename = filename
- if license:
- self.putln(LICENSE_TEXT)
-
- def format_line(self, line):
- return self.get_spaces() + line
-
- def putln(self, *lines):
- for line in lines:
- line = self.format_line(line)
- if self.comment:
- line = '%s // %s' % (line, self.comment)
- self.fp.write(line + '\n')
- self.line_count += 1
-
- def putlnc(self, line, *arg):
- line = to_c(line, *arg)
- self.putln(line)
-
- def get_data(self):
- fp = self.fp
- pos = fp.tell()
- fp.seek(0)
- data = fp.read()
- fp.seek(pos)
- return data
-
- def start_brace(self):
- self.putln('{')
- self.indent()
-
- def end_brace(self, semicolon=False):
- self.dedent()
- text = '}'
- if semicolon:
- text += ';'
- self.putln(text)
-
- def putmeth(self, name, *arg, **kw):
- fullarg = list(arg)
- self.putln('%s(%s)' % (name, ', '.join(fullarg)))
- self.start_brace()
-
- def put_label(self, name):
- self.putln('%s: ;' % name)
-
- def start_guard(self, name):
- self.putln('#ifndef %s' % name)
- self.putln('#define %s' % name)
- self.putln('')
-
- def close_guard(self, name):
- self.putln('')
- self.putln('#endif // %s' % name)
- self.putln('')
-
- def indent(self):
- self.indentation += 1
-
- def dedent(self):
- self.indentation -= 1
- if self.indentation < 0:
- raise ValueError('indentation cannot be lower than 0')
-
- def get_spaces(self, extra=0):
- return (self.indentation + extra) * ' '
-
- def close(self):
- data = self.get_data()
- self.fp.close()
- if self.filename is None:
- return
- try:
- fp = open(self.filename, 'rb')
- original_data = fp.read()
- fp.close()
- if original_data == data:
- return
- except IOError:
- pass
- fp = open(self.filename, 'wb')
- fp.write(data.encode('utf-8'))
- fp.close()
-
-MODE_32 = pydasm.MODE_32
-MODE_16 = pydasm.MODE_16
-
-REG_GEN = pydasm.REGISTER_TYPE_GEN
-REG_SEGMENT = pydasm.REGISTER_TYPE_SEGMENT
-REG_XMM = pydasm.REGISTER_TYPE_XMM
-REG_MMX = pydasm.REGISTER_TYPE_MMX
-REG_FPU = pydasm.REGISTER_TYPE_FPU
-
-REG_GEN_DWORD = 'dword'
-REG_GEN_WORD = 'word'
-REG_GEN_BYTE = 'byte'
-
-reg_table = {
- REG_GEN_DWORD: ["EAX", "ECX", "EDX", "EBX", "ESP", "EBP", "ESI", "EDI"],
- REG_GEN_WORD: ["AX", "CX", "DX", "BX", "SP", "BP", "SI", "DI"],
- REG_GEN_BYTE: ["AL", "CL", "DL", "BL", "AH", "CH", "DH", "BH"],
- REG_SEGMENT: ["ES", "CS", "SS", "DS", "FS", "GS"],
- REG_XMM: ["XMM0", "XMM1", "XMM2", "XMM3", "XMM4", "XMM5", "XMM6", "XMM7"],
- REG_MMX: ["MM0", "MM1", "MM2", "MM3", "MM4", "MM5", "MM6", "MM7"],
- REG_FPU: ["ST0", "ST1", "ST2", "ST3", "ST4", "ST5", "ST6", "ST7"],
-}
-
-reg_ref_table = {
- REG_GEN_DWORD: 'cpu.reg[%s]',
- REG_GEN_WORD: 'cpu.get_reg16(%s)',
- REG_GEN_BYTE: 'cpu.get_reg8(%s)',
- REG_SEGMENT: 'mem.segment_table[%s]',
- REG_XMM: 'cpu.xmm[%s]',
- REG_FPU: 'cpu.get_fpu(%s)'
-}
-
-OT_a = 0x01000000
-OT_b = 0x02000000 # always 1 byte
-OT_c = 0x03000000 # byte or word, depending on operand
-OT_d = 0x04000000 # double-word
-OT_q = 0x05000000 # quad-word
-OT_dq = 0x06000000 # double quad-word
-OT_v = 0x07000000 # word or double-word, depending on operand
-OT_w = 0x08000000 # always word
-OT_p = 0x09000000 # 32-bit or 48-bit pointer
-OT_pi = 0x0a000000 # quadword MMX register
-OT_pd = 0x0b000000 # 128-bit double-precision float
-OT_ps = 0x0c000000 # 128-bit single-precision float
-OT_s = 0x0d000000 # 6-byte pseudo descriptor
-OT_sd = 0x0e000000 # Scalar of 128-bit double-precision float
-OT_ss = 0x0f000000 # Scalar of 128-bit single-precision float
-OT_si = 0x10000000 # Doubleword integer register
-OT_t = 0x11000000 # 80-bit packed FP data
-
-operand_sizes = {
- 0: (4, 2),
- OT_a: (4, 2),
- OT_b: (1, 1),
- OT_c: (2, 1),
- OT_d: (4, 4),
- OT_q: (8, 8),
- OT_dq: (16, 16),
- OT_v: (4, 2),
- OT_w: (2, 2),
- OT_p: (6, 4),
- OT_ps: (16, 16),
- OT_ss: (16, 16),
- OT_sd: (16, 16),
- OT_pd: (16, 16),
- OT_t: (8, 8)
-}
-
-REG_EAX = REG_AX = REG_AL = REG_ES = REG_ST0 = pydasm.REGISTER_EAX
-REG_ECX = REG_CX = REG_CL = REG_CS = REG_ST1 = pydasm.REGISTER_ECX
-REG_EDX = REG_DX = REG_DL = REG_SS = REG_ST2 = pydasm.REGISTER_EDX
-REG_EBX = REG_BX = REG_BL = REG_DS = REG_ST3 = pydasm.REGISTER_EBX
-REG_ESP = REG_SP = REG_AH = REG_FS = REG_ST4 = pydasm.REGISTER_ESP
-REG_EBP = REG_BP = REG_CH = REG_GS = REG_ST5 = pydasm.REGISTER_EBP
-REG_ESI = REG_SI = REG_DH = REG_ST6 = pydasm.REGISTER_ESI
-REG_EDI = REG_DI = REG_BH = REG_ST7 = pydasm.REGISTER_EDI
-REG_NOP = pydasm.REGISTER_NOP
-
-AM_A = 0x00010000 # Direct address with segment prefix
-AM_I = 0x00060000 # Immediate data follows
-AM_J = 0x00070000 # Immediate value is relative to EIP
-AM_I1 = 0x00200000 # Immediate byte 1 encoded in instruction
-
-
-def get_mask_ot(x):
- return x & 0xff000000
-
-
-def get_mask_am(x):
- return x & 0x00ff0000
-
-
-def get_register(reg, reg_type):
- reg_name = reg_table[reg_type][reg]
- return reg_ref_table[reg_type] % reg_name
-
-
-def get_gen_register(reg, size):
- if size == 1:
- reg_type = REG_GEN_BYTE
- elif size == 2:
- reg_type = REG_GEN_WORD
- else:
- reg_type = REG_GEN_DWORD
- return get_register(reg, reg_type)
-
-
-def uint32_to_int32(v):
- return c_int32(v).value
-
-
-class Operand(object):
- __slots__ = ['is_memory', 'is_register', 'is_immediate', 'is_reloc',
- 'has_import_alias', 'index_reg', 'scale', 'base_reg',
- 'displacement', 'reg_type', 'reloc_value', 'type', 'size',
- 'value', 'reloc_displacement']
-
- def __init__(self, inst, op, offset):
- # default init
- self.is_memory = False
- self.is_register = False
- self.is_immediate = False
- self.is_reloc = False
- self.has_import_alias = False
- self.index_reg = None
- self.scale = None
- self.base_reg = None
- self.displacement = None
- self.reg_type = None
-
- self.type = op.type
-
- mode = inst.get_operand_mode()
- mask_ot = get_mask_ot(op.flags)
- self.size = operand_sizes[mask_ot][mode]
-
- if self.type == pydasm.OPERAND_TYPE_REGISTER:
- self.is_register = True
- self.reg_type = pydasm.get_register_type(op)
-
- if self.reg_type == REG_GEN:
- if mask_ot == OT_b:
- self.reg_type = REG_GEN_BYTE
- elif mask_ot == OT_v:
- if mode == MODE_32:
- self.reg_type = REG_GEN_DWORD
- else:
- self.reg_type = REG_GEN_WORD
- elif mask_ot == OT_w:
- self.reg_type = REG_GEN_WORD
- elif mask_ot == OT_d:
- self.reg_type = REG_GEN_DWORD
- elif mask_ot == OT_dq:
- self.reg_type = REG_GEN_DWORD
- else:
- raise NotImplementedError()
-
- self.value = get_register(op.reg, self.reg_type)
- elif self.type == pydasm.OPERAND_TYPE_MEMORY:
- self.is_memory = True
- sum_list = []
- mode = inst.get_address_mode()
- group2 = inst.group2()
- if group2:
- sum_list.append(get_register(group2-1, REG_SEGMENT))
-
- # Base register
- if op.basereg != REG_NOP:
- if mode == MODE_32:
- reg_type = REG_GEN_DWORD
- else:
- reg_type = REG_GEN_WORD
- self.base_reg = get_register(op.basereg, reg_type)
- sum_list.append(self.base_reg)
-
- # Index register
- if op.indexreg != REG_NOP:
- if mode == MODE_32:
- reg_type = REG_GEN_DWORD
- else:
- reg_type = REG_GEN_WORD
- index = self.index_reg = get_register(op.indexreg, reg_type)
- if op.scale in (2, 4, 8):
- self.scale = op.scale
- index += '*%s' % self.scale
- sum_list.append(index)
- # INTEL displacement
- if inst.dispbytes:
- addr = op.displacement
- if inst.has_reloc and addr in inst.converter.reloc_values:
- self.reloc_displacement = inst.converter.get_reloc(addr)
- self.is_reloc = True
- if op.displacement & (1 << (op.dispbytes*8-1)):
- tmp = op.displacement
- if op.dispbytes == 1:
- tmp = ~tmp & 0xff
- elif op.dispbytes == 2:
- tmp = ~tmp & 0xffff
- elif op.dispbytes == 4:
- tmp = ~tmp & 0xffffffff
- else:
- raise NotImplementedError()
- self.displacement = '(-0x%x)' % (tmp + 1)
- # Positive displacement
- else:
- self.displacement = '0x%x' % op.displacement
- sum_list.append(self.displacement)
-
- if len(sum_list) == 1 and inst.dispbytes:
- addr = op.displacement
-
- if (addr in inst.converter.imports and
- addr not in inst.converter.import_addresses.values()):
- self.displacement = str(addr)
- self.is_memory = False
- self.is_immediate = True
- self.is_reloc = False
- self.value = self.get_import_alias(addr, inst)
- return
-
- self.value = '+'.join(sum_list)
- if self.is_reloc:
- self.reloc_value = '+'.join(sum_list[:-1]
- + [self.reloc_displacement])
-
- elif self.type == pydasm.OPERAND_TYPE_IMMEDIATE:
- self.is_immediate = True
- mask = get_mask_am(op.flags)
- if mask == AM_J:
- value = uint32_to_int32(op.immediate) + inst.length + offset
- elif mask in (AM_I1, AM_I):
- value = op.immediate & 0xFFFFFFFF
- # 32-bit or 48-bit address
- elif mask == AM_A:
- raise NotImplementedError()
- # string += '0x%x:0x%x' % (op.section, op.displacement)
-
- if inst.has_reloc and value in inst.converter.reloc_values:
- self.reloc_value = inst.converter.get_reloc(value)
- self.is_reloc = True
-
- self.value = value
-
- def get_import_alias(self, addr, inst):
- name = inst.converter.imports[addr][0].name
- try:
- dll_addr = inst.converter.import_addresses[name]
- except KeyError:
- return addr
- try:
- section = inst.converter.get_section(dll_addr)
- except NotImplementedError:
- return addr
- if section.section_name == 'text':
- # function alias
- return addr
- # data alias
- return dll_addr
-
- def get(self, as_reloc=True):
- as_reloc = self.is_reloc and as_reloc
- if as_reloc:
- value = self.reloc_value
- else:
- value = self.value
- if self.is_memory:
- return get_memory(value, self.size)
- if self.is_immediate and not as_reloc:
- return '%sU' % value
- return value
-
-
-def get_memory(addr, size):
- func = 'mem.read_%s' % size_names[size]
- return '%s(%s)' % (func, addr)
-
-
-class Instruction(object):
- __slots__ = ['converter', 'address', 'has_reloc', 'length', 'type', 'mode',
- 'opcode', 'modrm', 'sib', 'extindex', 'fpuindex', 'dispbytes',
- 'immbytes', 'sectionbytes', 'flags', 'op1', 'op2', 'op3',
- 'prefix', 'eflags_affected', 'eflags_used',
- 'eflags_dependency', 'disasm', 'mnemonic',
- 'condition_value']
-
- def __init__(self, i, offset, converter):
- self.converter = converter
- self.address = offset
-
- self.has_reloc = False
- self.condition_value = None
-
- for pos in range(offset, offset+i.length):
- if pos in converter.reloc_addresses:
- self.has_reloc = True
- break
-
- self.length = i.length
- self.type = i.type
- self.mode = i.mode
- self.opcode = i.opcode
- self.modrm = i.modrm
- self.sib = i.sib
- self.extindex = i.extindex
- self.fpuindex = i.fpuindex
- self.dispbytes = i.dispbytes
- self.immbytes = i.immbytes
- self.sectionbytes = i.sectionbytes
- self.flags = i.flags
-
- if i.op1.type:
- self.op1 = Operand(self, i.op1, offset)
- else:
- self.op1 = None
- if i.op2.type:
- self.op2 = Operand(self, i.op2, offset)
- else:
- self.op2 = None
- if i.op3.type:
- self.op3 = Operand(self, i.op3, offset)
- else:
- self.op3 = None
-
- mnemonic = pydasm.get_mnemonic_string(i, pydasm.FORMAT_INTEL)
- mnemonic = mnemonic.strip()
- if mnemonic == 'rep retn':
- mnemonic = 'retn'
- elif mnemonic == 'rep ret':
- mnemonic = 'ret'
- mnemonic = mnemonic.split()
-
- if mnemonic[0] in ["rep", "repe", "repne", "lock"]:
- self.prefix = mnemonic[0]
- mnemonic = mnemonic[1:]
- else:
- self.prefix = None
-
- if len(mnemonic) > 2:
- if mnemonic != ['bts', 'dword']:
- print(mnemonic)
- raise NotImplementedError()
-
- self.mnemonic = mnemonic[0]
-
- affected = eflags_affected.get(self.mnemonic, i.eflags_affected)
- used = eflags_used.get(self.mnemonic, i.eflags_used)
- self.eflags_affected = get_eflags(affected)
- self.eflags_used = get_eflags(used)
- self.eflags_dependency = collections.defaultdict(list)
-
- self.disasm = pydasm.get_instruction_string(i, pydasm.FORMAT_INTEL,
- 0).rstrip(" ")
-
- def is_end(self):
- if self.mnemonic != 'call':
- return False
- op = self.op1
- if not op.is_immediate:
- return False
- name = self.converter.get_function_name(op.value)
- return name in function_enders
-
- def get_disasm(self):
- return self.disasm
-
- def group2(self):
- return (self.flags & 0x00ff0000) >> 16
-
- def operand_so(self):
- return bool(self.flags & 0x00000100)
-
- def get_operand_mode(self):
- if self.operand_so():
- return MODE_16
- else:
- return MODE_32
-
- def address_so(self):
- return bool(self.flags & 0x00001000)
-
- def get_address_mode(self):
- if self.flags & 0x00001000:
- return MODE_16
- else:
- return MODE_32
-
- def address_size(self):
- if self.address_so():
- return 2
- else:
- return 4
-
- def get_condition(self):
- if self.mnemonic in ('sbb', 'adc', 'rcr'):
- return 'c'
- elif self.mnemonic.startswith('j'):
- return self.mnemonic[1:]
- elif self.mnemonic.startswith('cmov'):
- return self.mnemonic[4:]
- elif self.mnemonic.startswith('set'):
- return self.mnemonic[3:]
- return None
-
- def get_dependees(self):
- dependees = set()
- for value in list(self.eflags_dependency.values()):
- dependees.update(value)
- return dependees
-
- def get_condition_value(self):
- if self.condition_value is None:
- raise NotImplementedError()
- return self.condition_value
-
-
-def get_label_name(address):
- return 'loc_%X' % address
-
-label_makers = {
- 'jc', # 0x72,
- 'jz', # 0x74,
- 'jnz',
- 'jl',
- 'jnl',
- 'jna',
- 'jns',
- 'js',
- 'jng',
- 'jnc',
- 'ja',
- 'jb',
- 'jg',
- ('jmp', 0xEB),
- ('jmp', 0xE9)
-}
-
-
-class Subroutine(object):
- __slots__ = ['start', 'instructions', 'instruction_list', 'labels',
- 'end', 'jumps', 'child_sub', 'enders', 'name']
-
- def __init__(self, converter, address):
- self.child_sub = None
- if converter is None:
- return
- self.name = None
- self.start = address
- self.instructions = {}
- self.instruction_list = []
- self.labels = set()
- self.jumps = {}
- self.enders = set()
-
- label_eflags = {}
- eflags_cache = collections.defaultdict(list)
-
- i = 0
- while True:
- try:
- data = converter.get_memory(address, 16)
- except NotImplementedError as e:
- print('Could not get memory for address %X' % address)
- raise e
- raw_instruction = pydasm.get_instruction(data, pydasm.MODE_32)
- if not raw_instruction:
- print('Invalid instruction at %X' % address)
- break
- instruction = Instruction(raw_instruction, address, converter)
- add_eflags = label_eflags.get(address, None)
- if add_eflags:
- for k, v in add_eflags.items():
- eflags_cache[k] += v
- for flag in instruction.eflags_used:
- for inst_dep in eflags_cache[flag]:
- dependency = inst_dep.eflags_dependency
- dependency[flag].append(instruction)
- for flag in instruction.eflags_affected:
- eflags_cache[flag] = [instruction]
-
- opcode = instruction.opcode
- self.instructions[address] = instruction
- self.instruction_list.append(instruction)
- address += instruction.length
-
- mnemonic = instruction.mnemonic
- keys = {(mnemonic, opcode), mnemonic}
-
- if mnemonic in ('jmp', 'call'):
- eflags_cache.clear()
-
- if self.is_end(instruction, i):
- self.enders.add(instruction.address)
- if self.labels:
- if max(self.labels) < address:
- # do we still have labels to process?
- break
- else:
- break
- elif not keys.isdisjoint(label_makers):
- self.add_jump(instruction.address, instruction.op1.value)
- eflags_copy = {}
- for k, v in eflags_cache.items():
- eflags_copy[k] = v[:]
- label_eflags[instruction.op1.value] = eflags_copy
-
- i += 1
-
- self.end = address
-
- # do a second pass, checking for instructions that are never used
- # i = 0
- # check_label = False
- # new_list = []
- # for instruction in self.instruction_list:
- # if check_label and instruction.address not in self.labels:
- # del self.instructions[instruction.address]
- # continue
- # check_label = False
- # if self.is_end(instruction, i):
- # check_label = True
- # new_list.append(instruction)
- # i += 1
- # self.instruction_list = new_list
-
- def can_split_direct(self):
- return len(self.enders) == 1
-
- def can_split(self, address):
- """
- Can only be called after initial decode
- """
- for src, dst in self.jumps.items():
- minimum = min(src, dst)
- maximum = max(src, dst)
- if address >= minimum and address < maximum:
- return False
- return True
-
- def set_instruction_list(self, items, jumps, enders):
- self.instructions = {}
- self.instruction_list = items
- for instruction in items:
- self.instructions[instruction.address] = instruction
- self.start = items[0].address
- self.end = items[-1].address + items[-1].length
- self.jumps = {}
- for src, dst in jumps.items():
- if src not in self.instructions:
- continue
- self.jumps[src] = dst
- self.labels = set(self.jumps.values())
- self.enders = set()
- for ender in enders:
- if ender not in self.instructions:
- continue
- self.enders.add(ender)
-
- def split(self, address):
- other_sub = Subroutine(None, None)
- instruction = self.instructions[address]
- index = self.instruction_list.index(instruction)
- items = self.instruction_list[:index]
- other_items = self.instruction_list[index:]
- jumps = self.jumps
- enders = self.enders
- self.set_instruction_list(items, jumps, enders)
- other_sub.set_instruction_list(other_items, jumps, enders)
- self.child_sub = other_sub
- return other_sub
-
- def add_jump(self, src, dst):
- self.jumps[src] = dst
- self.labels.add(dst)
-
- def is_end(self, inst, index):
- mnemonic = inst.mnemonic
- opcode = inst.opcode
- if mnemonic in ('retn', 'ret', 'int3'):
- return True
- if mnemonic == 'jmp' and opcode in (0xFF,):
- # far jumps
- return True
- if mnemonic == "jmp" and index == 0:
- # wrapper functions
- return True
- if inst.is_end():
- # special 'call's, checks config.py for function enders
- return True
- return False
-
-
-size_names = {
- 16: 'dqword',
- 8: 'qword',
- 4: 'dword',
- 2: 'word',
- 1: 'byte'
-}
-
-size_types = {
- 8: 'uint64_t',
- 4: 'uint32_t',
- 2: 'uint16_t',
- 1: 'uint8_t'
-}
-
-signed_types = {
- 8: 'int64_t',
- 4: 'int32_t',
- 2: 'int16_t',
- 1: 'int8_t'
-}
-
-float_types = {
- 16: 'pd',
- 8: 'sd',
- 4: 'ss'
-}
-
-
-def prettify_value(value):
- if isinstance(value, int):
- value = '%#x' % value
- return value
-
-
-def get_flag(value):
- if value == 'DF':
- return 'false'
- return 'cpu.get_%s()' % value.lower()
-
-
-def get_fpu():
- return get_register(REG_ST0, REG_FPU)
-
-
-EFL_CF = 1 << 0
-EFL_ZF = 1 << 6
-EFL_SF = 1 << 7
-EFL_OF = 1 << 11
-
-
-def get_eflags(value):
- l = set()
- if value & EFL_CF:
- l.add('CF')
- if value & EFL_ZF:
- l.add('ZF')
- if value & EFL_SF:
- l.add('SF')
- if value & EFL_OF:
- l.add('OF')
- return l
-
-
-def format_cond(v):
- for flag in ('OF', 'ZF', 'SF', 'CF'):
- v = v.replace(flag, get_flag(flag))
- return v
-
-COND_NZ = COND_NE = format_cond('!ZF')
-COND_L = format_cond('SF != OF')
-COND_NLE = format_cond('!ZF && SF == OF')
-COND_NBE = format_cond('!CF && !ZF')
-COND_BE = COND_NA = format_cond('CF || ZF')
-COND_O = format_cond('OF')
-COND_Z = COND_E = format_cond('ZF')
-COND_AE = COND_NC = format_cond('!CF')
-COND_A = format_cond('!CF && !ZF')
-COND_B = COND_C = format_cond('CF')
-COND_G = format_cond('!ZF && SF == OF')
-COND_GE = COND_NL = format_cond('SF == OF')
-COND_LE = COND_NG = format_cond('ZF || SF != OF')
-COND_S = format_cond('SF')
-COND_NS = format_cond('!SF')
-
-
-NAME_TO_EFL = {
- 'OF': EFL_OF,
- 'CF': EFL_CF,
- 'ZF': EFL_ZF,
- 'SF': EFL_SF
-}
-
-
-def get_cond_eflags(v):
- flags = 0
- for flag in ('OF', 'ZF', 'SF', 'CF'):
- if get_flag(flag) not in v:
- continue
- flags |= NAME_TO_EFL[flag]
- return flags
-
-
-eflags_affected = {
- 'comiss': EFL_CF | EFL_ZF | EFL_SF | EFL_OF,
- 'comisd': EFL_CF | EFL_ZF | EFL_SF | EFL_OF
-}
-
-
-eflags_used = {
- 'adc': EFL_CF,
- 'sbb': EFL_CF,
- 'rcr': EFL_CF,
- 'cmovae': get_cond_eflags(COND_AE),
- 'cmova': get_cond_eflags(COND_A),
- 'cmovbe': get_cond_eflags(COND_BE),
- 'cmovb': get_cond_eflags(COND_B),
- 'cmovg': get_cond_eflags(COND_G),
- 'cmovge': get_cond_eflags(COND_GE),
- 'cmovl': get_cond_eflags(COND_L),
- 'cmovle': get_cond_eflags(COND_LE),
- 'cmove': get_cond_eflags(COND_E),
- 'cmovne': get_cond_eflags(COND_NE),
- 'cmovs': get_cond_eflags(COND_S)
-}
-
-
-class CPU(object):
- eip = None
- sub = None
-
- def __init__(self, converter):
- self.converter = converter
- self.log = converter.log
- self.get_function_name = converter.get_function_name
- self.eflags_id = itertools.count()
- self.result_id = itertools.count()
- self.mnemonic_stats = collections.Counter()
-
- def set_sub(self, sub):
- self.index = 0
- self.sub = sub
- self.eip = sub.start
- self.remaining_labels = sub.labels.copy()
- self.unimplemented = None
- self.writer = self.converter.writer
-
- def find_instruction(self, mnemonic, steps):
- keys = sorted(self.sub.instructions.keys())
- index = keys.index(self.eip)
- direction = int(math.copysign(1, steps))
- while steps != 0:
- index += direction
- steps -= direction
- address = keys[index]
- instruction = self.sub.instructions[address]
- if instruction.mnemonic == mnemonic:
- return instruction
- return None
-
- def on_fail(self, message, i):
- self.writer.comment = None
- if self.unimplemented is None:
- self.unimplemented = True
- print('Conversion skipped %X:' % (self.sub.start))
- print("%s: [%#x][%x] %s" % (message, self.eip, i.opcode,
- i.get_disasm()))
-
- def handle_next(self):
- instruction = self.sub.instruction_list[self.index]
- self.eip = instruction.address
-
- if self.eip in self.sub.labels:
- self.writer.put_label(get_label_name(self.eip))
- self.remaining_labels.discard(self.eip)
-
- name = 'on_%s' % instruction.mnemonic
- self.mnemonic_stats[instruction.mnemonic] += 1
- handler = getattr(self, name, None)
-
- if handler is None:
- self.on_fail('Not implemented', instruction)
- return False
-
- rep_reg = None
- if instruction.prefix == 'rep':
- if instruction.get_address_mode() != MODE_32:
- raise NotImplementedError()
- rep_reg = get_register(REG_ECX, REG_GEN_DWORD)
- elif instruction.prefix is not None:
- raise NotImplementedError()
-
- if rep_reg:
- self.writer.putln('while (%s > 0) {' % rep_reg)
- self.writer.indent()
-
- self.writer.comment = '[%X] %s' % (self.eip, instruction.get_disasm())
-
- if handler(instruction) is False:
- self.on_fail('Handler skipped', instruction)
- if rep_reg:
- self.writer.end_brace()
- return False
-
- self.writer.comment = None
-
- if rep_reg:
- self.writer.putln('%s -= 1;' % rep_reg)
- self.writer.end_brace()
-
- self.index += 1
-
- if self.index == len(self.sub.instruction_list):
- self.remaining_labels = set()
- return False
-
- return True
-
- def set_memory(self, dest, src, size):
- func = 'mem.write_%s' % size_names[size]
- self.writer.putlnc('%s(%s, %s);', func, dest, src)
-
- def set_register(self, dest, src):
- self.writer.putlnc('%s = %s;', dest, src)
-
- def push_dword(self, value):
- value = prettify_value(value)
- self.writer.putlnc('cpu.push_dword(%s);' % value)
-
- def pop_dword(self, value):
- value = prettify_value(value)
- self.writer.putlnc('cpu.pop_dword(&%s);' % value)
-
- def set_op(self, op, value):
- if op.is_memory:
- if op.is_reloc:
- self.set_memory(op.reloc_value, value, op.size)
- else:
- self.set_memory(op.value, value, op.size)
- else:
- self.set_register(op.get(), value)
-
- def set_op_eflags(self, i, op, value, *args):
- if not i.eflags_dependency:
- if args:
- value %= args
- self.set_op(op, value)
- return None
- size_type = size_types[op.size]
- if args:
- names = []
- for arg in args:
- name = 'temp_%s' % next(self.result_id)
- self.writer.putlnc('%s %s;', size_type, name)
- self.writer.putlnc('%s = %s;', name, arg)
- names.append(name)
- value %= tuple(names)
- name = 'temp_%s' % next(self.result_id)
- self.writer.putlnc('%s %s;', size_type, name)
- self.writer.putlnc('%s = %s;', name, value)
- self.set_op(op, name)
- if args:
- names.insert(0, name)
- return names
- return name
-
- def goto(self, test, address):
- if address < self.sub.start or address >= self.sub.end:
- is_call = True
- call = '%s()' % self.get_function_name(address)
- else:
- is_call = False
- call = 'goto %s' % get_label_name(address)
- self.writer.putlnc('if (%s) {', test)
- self.writer.indent()
- self.writer.putlnc('%s;' % call)
- if is_call:
- self.writer.putln('return;')
- self.writer.end_brace()
-
- def call_dynamic(self, value):
- self.writer.putln('cpu.call_dynamic(%s);' % value)
-
- def on_push(self, i):
- self.push_dword(i.op1.get())
-
- def on_pop(self, i):
- if not i.op1.is_register:
- return False
- self.pop_dword(i.op1.value)
-
- def on_mov(self, i):
- i.op2.size = i.op1.size
- self.set_op(i.op1, i.op2.get())
-
- def on_movsx(self, i):
- signed1 = signed_types[i.op1.size]
- unsigned1 = size_types[i.op1.size]
- signed2 = signed_types[i.op2.size]
- self.set_op(i.op1, '(%s)((%s)((%s)(%s)))' % (unsigned1, signed1,
- signed2, i.op2.get()))
-
- def on_movd(self, i):
- i.op1.size = i.op2.size = 4
- self.set_op(i.op1, i.op2.get())
-
- def on_mulsd(self, i):
- i.op1.size = i.op2.size = 8
- value = 'to_sd(%s) * to_sd(%s)' % (i.op1.get(), i.op2.get())
- self.set_op(i.op1, value)
-
- def on_mulss(self, i):
- i.op1.size = i.op2.size = 4
- value = 'to_ss(%s) * to_ss(%s)' % (i.op1.get(), i.op2.get())
- self.set_op(i.op1, value)
-
- def on_addss(self, i):
- i.op1.size = i.op2.size = 4
- value = 'to_ss(%s) + to_ss(%s)' % (i.op1.get(), i.op2.get())
- self.set_op(i.op1, value)
-
- def on_subss(self, i):
- i.op1.size = i.op2.size = 4
- value = 'to_ss(%s) - to_ss(%s)' % (i.op1.get(), i.op2.get())
- self.set_op(i.op1, value)
-
- def on_divss(self, i):
- i.op1.size = i.op2.size = 4
- value = 'to_ss(%s) / to_ss(%s)' % (i.op1.get(), i.op2.get())
- self.set_op(i.op1, value)
-
- def on_addsd(self, i):
- i.op1.size = i.op2.size = 8
- value = 'to_sd(%s) + to_sd(%s)' % (i.op1.get(), i.op2.get())
- self.set_op(i.op1, value)
-
- def on_divsd(self, i):
- i.op1.size = i.op2.size = 8
- value = 'to_sd(%s) / to_sd(%s)' % (i.op1.get(), i.op2.get())
- self.set_op(i.op1, value)
-
- def on_subsd(self, i):
- i.op1.size = i.op2.size = 8
- value = 'to_sd(%s) - to_sd(%s)' % (i.op1.get(), i.op2.get())
- self.set_op(i.op1, value)
-
- def on_andpd(self, i):
- self.writer.putlnc('and_pd(%s, %s);', i.op1.get(), i.op2.get())
-
- def on_cvttsd2si(self, i):
- i.op1.size = 4
- i.op2.size = 8
- self.set_op(i.op1, 'sd_to_si(to_sd(%s))' % i.op2.get())
-
- def on_cvtsd2sd(self, i):
- # actually cvtss2sd, probably libdasm messing up
- i.op1.size = 8
- i.op2.size = 4
- self.set_op(i.op1, 'ss_to_sd(to_ss(%s))' % i.op2.get())
-
- def on_cvtsd2ss(self, i):
- i.op1.size = 4
- i.op2.size = 8
- self.set_op(i.op1, 'sd_to_ss(to_sd(%s))' % i.op2.get())
-
- def on_cvttss2si(self, i):
- i.op1.size = i.op2.size = 4
- self.set_op(i.op1, 'ss_to_si(to_ss(%s))' % i.op2.get())
-
- def on_cvtdq2pd(self, i):
- self.writer.putlnc('dq_to_pd(%s, %s);', i.op1.get(), i.op2.get())
-
- def on_cvtps2pd(self, i):
- self.writer.putlnc('ps_to_pd(%s, %s);', i.op1.get(), i.op2.get())
-
- def on_cvtpd2ps(self, i):
- self.writer.putlnc('pd_to_ps(%s, %s);', i.op1.get(), i.op2.get())
-
- def on_cvtdq2ps(self, i):
- self.writer.putlnc('dq_to_ps(%s, %s);', i.op1.get(), i.op2.get())
-
- def on_fst(self, i):
- if i.op1.reg_type == REG_FPU:
- return False
- st0 = get_register(REG_ST0, REG_FPU)
- self.set_op(i.op1, 'to_dword(float(%s))' % st0)
-
- def on_fistp(self, i):
- if i.fpuindex != 7:
- return False
- i.op1.size = 8
- self.set_op(i.op1, 'int64_t(%s)' % get_fpu())
- self.pop_float()
-
- def push_float(self, value):
- self.writer.putlnc('cpu.push_fpu(%s);', value)
-
- def pop_float(self):
- self.writer.putln('cpu.pop_fpu();')
-
- def on_fsubp(self, i):
- if not i.op2:
- return False
- self.set_op(i.op1, '%s - %s' % (i.op1.get(), i.op2.get()))
- self.pop_float()
-
- def on_fld1(self, i):
- self.push_float('1.0')
-
- def on_fldz(self, i):
- self.push_float('0.0')
-
- def on_fld(self, i):
- self.push_float(i.op1.get())
-
- def on_fldl(self, i):
- size_type = size_types[i.op1.size]
- self.push_float('to_ld(%s(%s))' % (size_type, i.op1.get()))
-
- def on_fild(self, i):
- if i.fpuindex != 7:
- return False
- self.push_float('si_to_ld(%s)' % (i.op1.get()))
-
- def on_flds(self, i):
- size_type = size_types[i.op1.size]
- self.push_float('to_ld(%s(%s))' % (size_type, i.op1.get()))
-
- def on_fstp(self, i):
- if i.op1.reg_type == REG_FPU:
- value = get_fpu()
- else:
- func = 'ld_to_%s' % size_names[i.op1.size]
- value = '%s(%s)' % (func, get_fpu())
- self.set_op(i.op1, value)
- self.pop_float()
-
- def on_fstpl(self, i):
- if i.op1.reg_type == REG_FPU:
- import code
- code.interact(local=locals())
- func = 'ld_to_%s' % size_names[i.op1.size]
- self.set_op(i.op1, '%s(%s)' % (func, get_fpu()))
- self.pop_float()
-
- def on_comiss(self, i):
- i.op1.size = i.op2.size = 4
- a = 'to_ss(%s)' % i.op1.get()
- b = 'to_ss(%s)' % i.op2.get()
- self.set_eflags(i, a=a, b=b, res=(None, i.op1.size))
-
- def on_comisd(self, i):
- i.op1.size = i.op2.size = 8
- a = 'to_sd(%s)' % i.op1.get()
- b = 'to_sd(%s)' % i.op2.get()
- self.set_eflags(i, a=a, b=b, res=(None, i.op1.size))
-
- def on_movapd(self, i):
- i.op1.size = i.op2.size = 16
- self.set_op(i.op1, i.op2.get())
-
- def on_movaps(self, i):
- i.op1.size = i.op2.size = 16
- self.set_op(i.op1, i.op2.get())
-
- def on_movlpd(self, i):
- i.op1.size = i.op2.size = 8
- self.set_op(i.op1, i.op2.get())
-
- def on_movq(self, i):
- i.op1.size = i.op2.size = 8
- self.set_op(i.op1, i.op2.get())
-
- def on_movss(self, i):
- i.op1.size = i.op2.size = 4
- self.set_op(i.op1, i.op2.get())
-
- def on_movsd_sse(self, i):
- i.op1.size = i.op2.size = 8
- self.set_op(i.op1, i.op2.get())
-
- def on_movsd(self, i):
- if i.opcode in (16, 17):
- return self.on_movsd_sse(i)
- mode = i.get_address_mode()
- if mode == MODE_32:
- reg_type = REG_GEN_DWORD
- size = 4
- else:
- reg_type = REG_GEN_WORD
- size = 2
- ds = get_register(REG_DS, REG_SEGMENT)
- esi = get_register(REG_ESI, reg_type)
- es = get_register(REG_DS, REG_SEGMENT)
- edi = get_register(REG_EDI, reg_type)
- self.set_memory('%s+%s' % (es, edi),
- get_memory('%s+%s' % (ds, esi), size), size)
- df = '(int(!%s)*2-1)*%s' % (get_flag('DF'), size)
- self.set_register(esi, '%s + %s' % (esi, df))
- self.set_register(edi, '%s + %s' % (edi, df))
-
- def on_stosd(self, i):
- mode = i.get_address_mode()
- if mode == MODE_32:
- reg_type = REG_GEN_DWORD
- size = 4
- else:
- reg_type = REG_GEN_WORD
- size = 2
- eax = get_register(REG_EAX, reg_type)
- es = get_register(REG_ES, REG_SEGMENT)
- edi = get_register(REG_EDI, reg_type)
- self.set_memory('%s+%s' % (es, edi), eax, size)
- df = '(int(!%s)*2-1)*%s' % (get_flag('DF'), size)
- self.set_register(edi, '%s + %s' % (edi, df))
-
- def on_sbb(self, i):
- a = i.op1.get()
- b = i.op2.get()
- v = '%%s - %%s - int(%s)' % i.get_condition_value()
- ret = self.set_op_eflags(i, i.op1, v, a, b)
- if not ret:
- return
- res, a, b = ret
- self.set_eflags(i, a=a, b=b, res=(res, i.op1.size))
-
- def on_sub(self, i):
- a = i.op1.get()
- b = i.op2.get()
- ret = self.set_op_eflags(i, i.op1, '%s - %s', a, b)
- if not ret:
- return
- res, a, b = ret
- self.set_eflags(i, a=a, b=b, res=(res, i.op1.size))
-
- def on_adc(self, i):
- a = i.op1.get()
- b = i.op2.get()
- v = '%%s + %%s + int(%s)' % i.get_condition_value()
- ret = self.set_op_eflags(i, i.op1, v, a, b)
- if not ret:
- return
- res, a, b = ret
- self.set_eflags(i, a=a, b=b, res=(res, i.op1.size))
-
- def set_eflags(self, i, a=None, b=None, res=None):
- name = i.mnemonic
- dependees = i.get_dependees()
- res, size = res
- signed_type = signed_types[size]
- signed_res = '(%s)%s' % (signed_type, res)
-
- for instruction in dependees:
- create_bool = False
- if instruction.condition_value:
- cond_name = instruction.condition_value
- else:
- cond_name = 'cond_%s' % next(self.eflags_id)
- instruction.condition_value = cond_name
- create_bool = True
- c = instruction.get_condition()
- if c is None:
- print(instruction.mnemonic)
- raise NotImplementedError()
- if c in ('nz', 'ne') and name == 'cmp':
- value = '%s != %s' % (a, b)
- elif c in ('nz', 'ne'):
- value = '%s != 0' % res
- elif c in ('z', 'e') and name == 'cmp':
- value = '%s == %s' % (a, b)
- elif c in ('z', 'e'):
- value = '%s == 0' % res
- elif c == 's':
- value = '%s < 0' % signed_res
- elif c == 'ns':
- value = '%s >= 0' % signed_res
- elif c in ('g', 'nle') and name in ('and', 'or', 'xor', 'test'):
- value = '%s > 0' % signed_res
- elif c in ('g', 'nle') and name == 'cmp':
- value = '(%s)%s > (%s)%s' % (signed_type, a, signed_type, b)
- elif c == 'l' and name in ('and', 'or', 'xor', 'test'):
- value = '%s < 0' % signed_res
- elif c in ('ng', 'le') and name == 'inc':
- value = '%s <= -1' % signed_res
- elif c in ('ng', 'le') and name == 'dec':
- value = '%s <= 1' % signed_res
- elif c in ('ng', 'le') and name in ('and', 'or', 'xor', 'test'):
- value = '%s <= 0' % signed_res
- elif c in ('ng', 'le') and name == 'cmp':
- value = '(%s)%s <= (%s)%s' % (signed_type, a, signed_type, b)
- elif c in ('ge', 'nl') and name in ('and', 'or', 'xor', 'test'):
- value = '%s >= 0' % signed_res
- elif c in ('ge', 'nl') and name == 'cmp':
- value = '(%s)%s >= (%s)%s' % (signed_type, a, signed_type, b)
- elif c in ('c', 'b') and name == 'xor':
- value = 'false'
- elif c in ('c', 'b') and name == 'shr':
- value = '(%s >> (%s - 1)) & 1' % (a, b)
- elif c in ('c', 'b') and name == 'add':
- value = '%s < %s' % (res, a)
- elif c in ('c', 'b') and name in ('neg', 'sub', 'cmp', 'comiss',
- 'comisd'):
- value = '%s < %s' % (a, b)
- elif c in ('c', 'b') and name == 'adc':
- value = '%s ? %s <= %s : %s < %s' % (i.get_condition_value(),
- res, a, res, a)
- elif c in ('c', 'b') and name == 'sbb':
- value = '%s ? %s <= %s : %s < %s' % (i.get_condition_value(),
- a, b, a, b)
- elif c in ('nc', 'ae') and name == 'add':
- value = '%s >= %s' % (res, a)
- elif c in ('nc', 'ae') and name in ('neg', 'sub', 'cmp', 'comiss',
- 'comisd'):
- value = '%s >= %s' % (a, b)
- elif c in ('nc', 'ae') and name in ('and', 'or', 'xor', 'test'):
- value = 'true'
- elif c == 'o' and name == 'mul':
- value = '%s != 0' % res
- elif c in ('na', 'be') and name in ('neg', 'sub'):
- value = '%s == 0 || %s < %s' % (res, a, b)
- elif c in ('na', 'be') and name in ('cmp', 'comiss', 'comisd'):
- value = '%s <= %s' % (a, b)
- elif c in ('a', 'nbe') and name in ('neg', 'sub'):
- value = '%s != 0 && %s >= %s' % (res, a, b)
- elif c in ('a', 'nbe') and name in ('cmp', 'comiss', 'comisd'):
- value = '%s > %s' % (a, b)
- elif c == 'l' and name == 'cmp':
- value = '(%s)%s < (%s)%s' % (signed_type, a, signed_type, b)
- elif c == 'nl' and name == 'cmp':
- value = '(%s)%s >= (%s)%s' % (signed_type, a, signed_type, b)
- else:
- print(name, c)
- raise NotImplementedError()
- if create_bool:
- self.writer.putlnc('bool %s;', cond_name)
- self.writer.putlnc('%s = %s;', cond_name, value)
-
- def on_dec(self, i):
- res = self.set_op_eflags(i, i.op1, '%s - 1' % i.op1.get())
- if not res:
- return
- self.set_eflags(i, res=(res, i.op1.size))
-
- def on_inc(self, i):
- res = self.set_op_eflags(i, i.op1, '%s + 1' % i.op1.get())
- if not res:
- return
- self.set_eflags(i, res=(res, i.op1.size))
-
- def on_and(self, i):
- res = self.set_op_eflags(i, i.op1,
- '%s & %s' % (i.op1.get(), i.op2.get()))
- if not res:
- return
- self.set_eflags(i, res=(res, i.op1.size))
-
- def on_or(self, i):
- res = self.set_op_eflags(i, i.op1,
- '%s | %s' % (i.op1.get(), i.op2.get()))
- if not res:
- return
- self.set_eflags(i, res=(res, i.op1.size))
-
- def on_xor(self, i):
- res = self.set_op_eflags(i, i.op1,
- '%s ^ %s' % (i.op1.get(), i.op2.get()))
- if not res:
- return
- self.set_eflags(i, res=(res, i.op1.size))
-
- def on_not(self, i):
- # eflags not affected
- size_type = size_types[i.op1.size]
- self.set_op(i.op1, '%s(~%s)' % (size_type, i.op1.get()))
-
- def on_xorps(self, i):
- # eflags not affected
- self.set_op(i.op1, '%s ^ %s' % (i.op1.get(), i.op2.get()))
-
- def on_lea(self, i):
- if i.get_operand_mode() != MODE_32 or i.get_address_mode() != MODE_32:
- import code
- code.interact(local=locals())
- self.set_op(i.op1, i.op2.value)
-
- def call_memory(self, op):
- try:
- addr = eval(op.value)
- except NameError:
- self.call_dynamic(op.get())
- return
-
- value = self.converter.get_memory(addr, 4)
- value, = struct.unpack('= self.sub.start
- and op.value < self.sub.end):
- # jump short
- self.writer.putln('goto %s;' % get_label_name(op.value))
- return
-
- if op.is_immediate:
- self.converter.add_function(op.value)
- self.writer.putln('%s();' % self.get_function_name(op.value))
- self.writer.putln('return;')
- else:
- # detect jumptable
- reg = op.index_reg
-
- if op.scale:
- comp = self.find_instruction('cmp', -4)
- indirect = self.find_instruction('movzx', -2)
- if comp is None:
- print(i.get_disasm())
- raise NotImplementedError()
- table_size = comp.op2.value+1
- if indirect:
- if indirect.op1.value != reg:
- raise NotImplementedError()
- ind_op = indirect.op2
- ind_addr = eval(ind_op.displacement)
- ind_reg = op.index_reg
- if ind_op.size != 1:
- raise NotImplementedError()
- indexes = collections.defaultdict(list)
- # find the max value
- for ii in range(table_size):
- data = self.converter.get_memory(ind_addr + ii, 1)
- index, = struct.unpack(' self.sub.end or addr < self.sub.start:
- raise NotImplementedError()
- loc = get_label_name(addr)
- self.writer.putln('case %s: goto %s;' % (ii, loc))
- self.sub.add_jump(i.address, addr)
- self.remaining_labels.add(addr)
- self.writer.end_brace()
- return
- self.call_memory(op)
- self.writer.putln('return;')
-
- def on_jcc(self, i):
- self.goto(i.get_condition_value(), i.op1.value)
-
- on_jz = on_jcc
- on_jc = on_jcc
- on_js = on_jcc
- on_jns = on_jcc
- on_jnl = on_jcc
- on_jl = on_jcc
- on_jng = on_jcc
- on_jnc = on_jcc
- on_ja = on_jcc
- on_jg = on_jcc
- on_jna = on_jcc
- on_jnz = on_jcc
-
- def on_shl(self, i):
- if i.eflags_dependency:
- raise NotImplementedError()
- self.set_op(i.op1, '%s << %s' % (i.op1.get(), i.op2.get()))
-
- def on_shld(self, i):
- if i.eflags_dependency:
- raise NotImplementedError()
- func = 'cpu.shld_%s' % size_names[i.op1.size]
- self.set_op(i.op1, '%s(%s, %s, %s)' % (func, i.op1.get(),
- i.op2.get(), i.op3.get()))
-
- def on_shr(self, i):
- a = i.op1.get()
- b = i.op2.get()
- ret = self.set_op_eflags(i, i.op1, '%s >> %s', a, b)
- if not ret:
- return
- res, a, b = ret
- self.set_eflags(i, a=a, b=b, res=(res, i.op1.size))
-
- def on_rcr(self, i):
- if i.eflags_dependency:
- raise NotImplementedError()
- func = 'cpu.rcr_%s' % size_names[i.op1.size]
- self.set_op(i.op1, '%s(%s, %s, %s)' % (func, i.op1.get(), i.op2.get(),
- i.get_condition_value()))
-
- def on_rol(self, i):
- if i.eflags_dependency:
- raise NotImplementedError()
- func = 'cpu.rol_%s' % size_names[i.op1.size]
- self.set_op(i.op1, '%s(%s, %s)' % (func, i.op1.get(), i.op2.get()))
-
- def on_sar(self, i):
- if i.eflags_dependency:
- raise NotImplementedError()
- signed_type = signed_types[i.op1.size]
- op1 = i.op1.get()
- op2 = i.op2.get()
- self.set_op(i.op1, '((%s)%s) >> %s' % (signed_type, op1, op2))
-
- def on_add(self, i):
- a = i.op1.get()
- b = i.op2.get()
- ret = self.set_op_eflags(i, i.op1, '%s + %s', a, b)
- if not ret:
- return
- res, a, b = ret
- self.set_eflags(i, a=a, b=b, res=(res, i.op1.size))
-
- def on_xadd(self, i):
- if i.eflags_dependency:
- raise NotImplementedError()
- func = 'cpu.xadd_%s' % size_names[i.op1.size]
- self.set_op(i.op1, '%s(%s, %s)' % (func, i.op1.get(), i.op2.get()))
-
- def on_neg(self, i):
- signed_type = signed_types[i.op1.size]
- b = i.op1.get()
- ret = self.set_op_eflags(i, i.op1,
- '-(%s)(%%s)' % (signed_type), b)
- if not ret:
- return
- res, b = ret
- self.set_eflags(i, a=0, b=b, res=(res, i.op1.size))
-
- def on_test(self, i):
- op1 = i.op1.get()
- op2 = i.op2.get()
- if op1 == op2:
- res = op1
- else:
- res = '(%s & %s)' % (i.op1.get(), i.op2.get())
- self.set_eflags(i, res=(res, i.op1.size))
-
- def on_cwd(self, i):
- if i.get_operand_mode() != MODE_32:
- import code
- code.interact(local=locals())
- eax = get_register(REG_EAX, REG_GEN_DWORD)
- edx = get_register(REG_EDX, REG_GEN_DWORD)
- self.set_register(edx, 'cdq_x86(%s)' % eax)
-
- def on_div(self, i):
- if i.op2 or i.op3:
- return False
- func = 'cpu.div_%s' % size_names[i.op1.size]
- self.writer.putlnc('%s(%s);', func, i.op1.get())
-
- def on_idiv(self, i):
- if i.op2 or i.op3:
- return False
- func = 'cpu.idiv_%s' % size_names[i.op1.size]
- self.writer.putlnc('%s(%s);', func, i.op1.get())
-
- def on_imul(self, i):
- if i.eflags_dependency:
- raise NotImplementedError()
- if i.op3:
- func = 'cpu.imul_%s' % size_names[i.op1.size]
- call = '%s(%s, %s)' % (func, i.op2.get(), i.op3.get())
- self.set_op(i.op1, call)
- elif i.op2:
- func = 'cpu.imul_%s' % size_names[i.op1.size]
- call = '%s(%s, %s)' % (func, i.op1.get(), i.op2.get())
- self.set_op(i.op1, call)
- else:
- func = 'cpu.imul_%s' % size_names[i.op1.size]
- self.writer.putlnc('%s(%s);', func, i.op1.get())
-
- def on_mul(self, i):
- func = 'cpu.mul_%s' % size_names[i.op1.size]
- self.writer.putlnc('%s(%s);', func, i.op1.get())
- if not i.eflags_dependency:
- return
- eax = get_register(REG_EAX, REG_GEN_DWORD)
- edx = get_register(REG_EDX, REG_GEN_DWORD)
- self.set_eflags(i, a=eax, res=(edx, i.op1.size))
-
- def on_retn(self, i):
- value = i.op1.value
- reg = get_register(REG_ESP, REG_GEN_DWORD)
- self.set_register(reg, '%s+%s' % (reg, value+4))
- self.writer.putln('return;')
-
- def on_ret(self, i):
- reg = get_register(REG_ESP, REG_GEN_DWORD)
- self.set_register(reg, '%s+4' % reg)
- self.writer.putln('return;')
-
- def on_leave(self, i):
- esp = get_register(REG_ESP, REG_GEN_DWORD)
- ebp = get_register(REG_EBP, REG_GEN_DWORD)
- self.set_register(esp, ebp)
- self.set_register(ebp, 'cpu.pop_dword();')
-
- def on_cmp(self, i):
- a = i.op1.get()
- b = i.op2.get()
- self.set_eflags(i, a=a, b=b, res=(None, i.op1.size))
-
-
-class DWORD(object):
- def __init__(self, value):
- self.data = struct.pack(' self.PointerToRawData + self.SizeOfRawData:
- end = self.PointerToRawData + self.SizeOfRawData
- return self.data[offset:end]
-
-
-class Converter(object):
- def __init__(self, data):
- # setup
- self.base_dir = os.path.dirname(__file__)
- self.gen_dir = os.path.join(self.base_dir, 'gensrc')
-
- self.custom_code = ''
- import_dir = os.path.join(self.base_dir, 'src', 'import')
- for f in os.listdir(import_dir):
- code_path = os.path.join(import_dir, f)
- self.custom_code += open(code_path, 'rb').read().decode('utf-8')
-
- self.mem_writes = {}
- self.sections = []
- self.imports = {}
- self.used_imports = set()
- self.custom_subs = set()
- self.cached_names = {}
- self.subs = set()
- self.cpu = CPU(self)
- self.load_sections = []
- self.load_images = []
- self.sources = []
- self.big_sources = set()
- pe = pefile.PE(data=data)
-
- optional = pe.OPTIONAL_HEADER
-
- self.image_base = optional.ImageBase
- self.entry_point = optional.ImageBase + optional.AddressOfEntryPoint
-
- print("Image base: %X" % self.image_base)
-
- makedirs(self.gen_dir)
- writer = self.open_code('out.cpp')
- writer.putln('#include "main.h"')
- writer.putln('#include "memory.h"')
- writer.putln('#include "functions.h"')
-
- for index, section in enumerate(pe.sections):
- section = Section(pe, section)
- self.sections.append(section)
- section.image_base = self.image_base
- name = section.Name.decode('utf-8').strip('\x00')[1:]
- section.section_name = name
- if name in ('rsrc', 'text', 'reloc'):
- continue
- self.load_sections.append(section)
-
- self.import_addresses = {}
- for entry in pe.DIRECTORY_ENTRY_IMPORT:
- for imp in entry.imports:
- self.imports[imp.address] = (imp, entry)
-
- for section in self.load_sections:
- name = section.section_name
- writer.putln('#include "%s_section.h"' % name)
-
- writer.putln('')
-
- # writer.putmeth('void init_emu')
-
- sections_header = self.open_code('sections.h')
- sections_header.start_guard('TERRAINGEN_SECTIONS_H')
-
- for section in self.load_sections:
- name = section.section_name
- data = section.get_data()
- extra = section.Misc_VirtualSize - len(data)
- data += b'\x00' * extra
- name = '%s_section' % name
- self.write_data_header(data, name, '%s.h' % name)
- sections_header.putlnc('extern char %s[%s];', name, len(data))
-
- sections_header.close_guard('TERRAINGEN_SECTIONS_H')
- sections_header.close()
-
- # ensure custom sqlite3 is used
- sqlite_table = config.sqlite_table
- for _ in range(712 // 4):
- value = self.get_dword(sqlite_table)
- if value != 0:
- func = self.get_function_name(value)
- # XXX hack
- self.custom_code += func
- # print '%s -> %X' % (func, self.get_ida_address(sqlite_table))
- sqlite_table += 4
-
- # get current dynamic addresses
- self.dynamic_addresses = config.dynamic_addresses
-
- # write functions, starting from entry point
- # start at main()
- self.entry_point = config.entry_point
- self.function_stack = [self.entry_point]
- for address in self.dynamic_addresses:
- if (address in self.imports and
- address not in self.import_addresses.values()):
- self.used_imports.add(address)
- else:
- self.function_stack.insert(0, address)
-
- # add initterm initializers to function stack
- writer.putmeth('void init_static')
- for addr in range(config.static_start, config.static_end, 4):
- value = self.get_dword(addr)
- if value in config.static_ignore:
- continue
- self.add_function(value)
- writer.putln('add_ret();')
- writer.putlnc('%s();', self.get_function_name(value))
- writer.end_brace()
-
- # get reloc ready
- self.reloc_addresses = set()
- self.reloc_values = set()
-
- writer.putmeth('void rebase_data')
- # iterate reloc section
- for data in pe.DIRECTORY_ENTRY_BASERELOC:
- for entry in data.entries:
- t = entry.type
- if t == 0:
- continue
- if t != 3:
- print('has unsupported reloctype', t)
- continue
- addr = entry.rva + self.image_base
- dword = self.get_dword(addr)
- is_text = False
- if self.get_section(addr).section_name == 'text':
- is_text = True
- if dword in (self.image_base,
- self.image_base+0x3c,
- self.image_base+0x18,
- self.image_base+0x74,
- self.image_base+0xe8):
- # dos headers
- continue
- if self.get_section(dword).section_name == 'text':
- continue
- self.reloc_values.add(dword)
- self.reloc_addresses.add(addr)
- if is_text:
- continue
- src = self.get_reloc(dword, True)
- dst = self.get_reloc(addr, False)
- writer.putlnc('mem.write_dword(%s, %s);', dst, src)
- writer.end_brace()
-
- del pe # garbage collect
-
- # iterate function stack
-
- while self.function_stack:
- address = self.function_stack.pop()
- subs = self.get_subs(address)
- self.subs.add(subs[0].start)
- for sub in subs:
- self.iterate_tree(sub)
-
- addresses = set()
- addresses.update(self.subs)
- addresses.update(self.used_imports)
- addresses.update(self.custom_subs)
-
- writer.putmeth('void init_function_map')
- for address in addresses:
- name = self.get_function_name(address)
- writer.putln('cpu.add_function(0x%X, %s);' % (address, name))
- writer.end_brace()
-
- writer.close()
-
- writer = self.open_code('functions.h')
- writer.start_guard('TERRAINGEN_FUNCTIONS_H')
- for address in addresses:
- name = self.get_function_name(address)
- writer.putln('extern void %s();' % name)
- writer.close_guard('TERRAINGEN_FUNCTIONS_H')
- writer.close()
-
- writer = self.open_code('stubs.cpp')
- writer.putln('#include ')
- writer.putln('')
- stubs = self.used_imports
- stubs -= set(self.import_addresses.values())
- stubs -= self.subs
- stub_names = set()
- for imp in stubs:
- name = self.get_function_name(imp)
- if self.is_custom(name) or name in stub_names:
- continue
- stub_names.add(name)
- writer.putmeth('void %s' % name)
- import_name = self.get_import_name(imp)
- writer.putln('std::cout << "Stub: %s" << std::endl;' % import_name)
- writer.end_brace()
- writer.putln('')
- writer.close()
-
- writer = self.open_code('Routines.cmake', license=False)
- writer.putln('set(GEN_SRCS')
- writer.indent()
- for f in self.sources:
- name = os.path.basename(f)
- name = '${GEN_DIR}/%s' % name
- writer.putln(name)
- writer.dedent()
- writer.putln(')')
- writer.putln('')
-
- writer.putln('set(GEN_BIG_SRCS')
- writer.indent()
- for f in self.big_sources:
- name = os.path.basename(f)
- name = '${GEN_DIR}/%s' % name
- writer.putln(name)
- writer.dedent()
- writer.putln(')')
- writer.close()
-
- print('Instruction stats:', self.cpu.mnemonic_stats.most_common(10))
-
- def write_data_header(self, data, name, filename):
- if os.path.isfile(self.get_path(filename)):
- print('Not writing data header for', filename)
- return
- section_writer = self.open_code(filename)
- section_writer.putlnc('char %s[%s] = {', name, len(data))
- section_writer.indent()
-
- i = 0
- data_len = len(data)
- while i < data_len:
- items = []
- for ii in range(i, min(i+10, len(data))):
- v = struct.unpack('b', data[ii:ii+1])[0]
- if v < 0:
- v = '-0x%02X,' % -v
- else:
- v = ' 0x%02X,' % v
- items.append(v)
- items = ' '.join(items)
- i += 10
- if i >= data_len:
- items = items[:-1]
- section_writer.putln(items)
-
- section_writer.end_brace(True)
- section_writer.putln('')
- section_writer.close()
-
- def get_reloc(self, addr, as_guest=True):
- section = self.get_section(addr)
- if section.section_name == 'text':
- raise NotImplementedError()
- data_name = '%s_section' % section.section_name
- offset = addr - (section.image_base + section.VirtualAddress)
- ret = '%s+%s' % (data_name, offset)
- if as_guest:
- ret = 'mem.translate(%s)' % ret
- return ret
-
- def is_custom(self, name):
- data = self.custom_code.replace('%s();' % name, '')
- return name in data
-
- def get_ida_address(self, address):
- ida_image_base = 0x200000
- ida_address = address - self.image_base + ida_image_base
- return ida_address
-
- def add_function(self, address):
- if address in self.subs or address in self.function_stack:
- return
- if (address in self.imports and
- address not in self.import_addresses.values() and
- address not in self.dynamic_addresses):
- return
- if address in self.custom_subs:
- return
- name = self.get_function_name(address)
- if self.is_custom(name):
- self.custom_subs.add(address)
- return
- self.function_stack.append(address)
-
- def get_import_name(self, address):
- try:
- imp = self.imports[address]
- except KeyError:
- return None
- imp, entry = imp
- key = imp.name
- if imp.name is None:
- name = entry.dll.split('.')[0].lower()
- key = (name, imp.ordinal)
- default = '%s_%s' % key
- else:
- default = key
- return import_alias.get(key, default)
-
- def get_function_name(self, address):
- try:
- self.cached_names[address]
- except KeyError:
- pass
- imp = self.get_import_name(address)
- if imp is not None:
- self.used_imports.add(address)
- return filter_import_name(imp) + '_imp'
- elif address == self.entry_point:
- func_name = 'entry_point'
- else:
- func_name = function_alias.get(address, 'sub_%X' % address)
- self.cached_names[address] = func_name
- return func_name
-
- def get_subs(self, address):
- """
- Since some routines can get massive, we need to split some of them
- so MSVC/GCC won't choke on them.
- """
- sub = Subroutine(self, address)
- size = len(sub.instruction_list)
- # init func is 51048
- if size <= 50000 or not sub.can_split_direct():
- return [sub]
-
- name = self.get_function_name(sub.start)
- start_sub = sub
- subs = [start_sub]
- split_dist = 4000
-
- next_offset = split_dist
-
- split_points = sorted(sub.instructions.keys())
- for pos in split_points:
- offset = pos - start_sub.start
- if offset < next_offset:
- continue
- if not sub.can_split(pos):
- continue
- sub = sub.split(pos)
- subs.append(sub)
- next_offset += split_dist
-
- for index, sub in enumerate(subs):
- sub.name = '%s_%s' % (name, index+1)
-
- # generate wrapper code
- source_name = '%s.cpp' % name
- self.sources.append(source_name)
- writer = self.open_code(source_name)
- for sub in subs:
- writer.putln('extern void %s();' % sub.name)
- writer.putln('')
- writer.putmeth('void %s' % name)
- for sub in subs:
- writer.putln('%s();' % sub.name)
- writer.end_brace()
- writer.close()
- return subs
-
- def iterate_tree(self, sub):
- if sub.name:
- name = sub.name
- else:
- name = self.get_function_name(sub.start)
- source_name = '%s.cpp' % name
- self.sources.append(source_name)
- writer = self.writer = self.open_code(source_name)
- writer.putln('#include "main.h"')
- writer.putln('#include "functions.h"')
- writer.putln('#include "sections.h"')
- writer.putln('#include ')
- writer.putln('')
- self.cpu.set_sub(sub)
-
- writer.putmeth('void %s' % name)
- while True:
- if not self.cpu.handle_next():
- break
- if sub.child_sub:
- writer.putln('return;')
- for label in self.cpu.remaining_labels:
- writer.put_label(get_label_name(label))
- if self.cpu.unimplemented:
- self.log('Not implemented, stack may be corrupted (%X)' % (
- sub.start))
- writer.end_brace()
- writer.close()
-
- def get_section(self, address):
- for section in self.sections:
- section_base = section.image_base + section.VirtualAddress
- section_end = section_base + section.Misc_VirtualSize
- if address < section_base or address >= section_end:
- continue
- return section
- raise NotImplementedError()
-
- def get_memory(self, address, size):
- try:
- return self.mem_writes[(address, size)].data
- except KeyError:
- pass
- section = self.get_section(address)
- if section is None:
- raise NotImplementedError()
- address -= section.image_base
- return section.get_data(address, size)
-
- def get_dword(self, addr):
- value = self.get_memory(addr, 4)
- value, = struct.unpack(' // for std::size_t
-
-#include "boost/config.hpp"
-#include "boost/detail/workaround.hpp"
-#include "boost/type_traits/alignment_of.hpp"
-#include "boost/type_traits/type_with_alignment.hpp"
-#include "boost/type_traits/is_pod.hpp"
-
-#include "boost/mpl/eval_if.hpp"
-#include "boost/mpl/identity.hpp"
-
-#include "boost/type_traits/detail/bool_trait_def.hpp"
-
-namespace boost {
-
-namespace detail { namespace aligned_storage {
-
-BOOST_STATIC_CONSTANT(
- std::size_t
- , alignment_of_max_align = ::boost::alignment_of::value
- );
-
-//
-// To be TR1 conforming this must be a POD type:
-//
-template <
- std::size_t size_
- , std::size_t alignment_
->
-struct aligned_storage_imp
-{
- union data_t
- {
- char buf[size_];
-
- typename mpl::eval_if_c<
- alignment_ == std::size_t(-1)
- , mpl::identity
- , type_with_alignment
- >::type align_;
- } data_;
- void* address() const { return const_cast(this); }
-};
-
-template< std::size_t alignment_ >
-struct aligned_storage_imp<0u,alignment_>
-{
- /* intentionally empty */
- void* address() const { return 0; }
-};
-
-}} // namespace detail::aligned_storage
-
-template <
- std::size_t size_
- , std::size_t alignment_ = std::size_t(-1)
->
-class aligned_storage :
-#ifndef __BORLANDC__
- private
-#else
- public
-#endif
- detail::aligned_storage::aligned_storage_imp
-{
-
-public: // constants
-
- typedef detail::aligned_storage::aligned_storage_imp type;
-
- BOOST_STATIC_CONSTANT(
- std::size_t
- , size = size_
- );
- BOOST_STATIC_CONSTANT(
- std::size_t
- , alignment = (
- alignment_ == std::size_t(-1)
- ? ::boost::detail::aligned_storage::alignment_of_max_align
- : alignment_
- )
- );
-
-#if defined(__GNUC__) &&\
- (__GNUC__ > 3) ||\
- (__GNUC__ == 3 && (__GNUC_MINOR__ > 2 ||\
- (__GNUC_MINOR__ == 2 && __GNUC_PATCHLEVEL__ >=3)))
-
-private: // noncopyable
-
- aligned_storage(const aligned_storage&);
- aligned_storage& operator=(const aligned_storage&);
-
-#else // gcc less than 3.2.3
-
-public: // _should_ be noncopyable, but GCC compiler emits error
-
- aligned_storage(const aligned_storage&);
- aligned_storage& operator=(const aligned_storage&);
-
-#endif // gcc < 3.2.3 workaround
-
-public: // structors
-
- aligned_storage()
- {
- }
-
- ~aligned_storage()
- {
- }
-
-public: // accessors
-
- void* address()
- {
- return static_cast(this)->address();
- }
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
- const void* address() const
- {
- return static_cast(this)->address();
- }
-
-#else // MSVC6
-
- const void* address() const;
-
-#endif // MSVC6 workaround
-
-};
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-// MSVC6 seems not to like inline functions with const void* returns, so we
-// declare the following here:
-
-template
-const void* aligned_storage::address() const
-{
- return const_cast< aligned_storage* >(this)->address();
-}
-
-#endif // MSVC6 workaround
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-//
-// Make sure that is_pod recognises aligned_storage<>::type
-// as a POD (Note that aligned_storage<> itself is not a POD):
-//
-template
-struct is_pod >
- BOOST_TT_AUX_BOOL_C_BASE(true)
-{
- BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(true)
-};
-#endif
-
-
-} // namespace boost
-
-#include "boost/type_traits/detail/bool_trait_undef.hpp"
-
-#endif // BOOST_ALIGNED_STORAGE_HPP
diff --git a/terraingen/oldtgen/include/boost/assert.hpp b/terraingen/oldtgen/include/boost/assert.hpp
deleted file mode 100644
index a2335058..00000000
--- a/terraingen/oldtgen/include/boost/assert.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-//
-// boost/assert.hpp - BOOST_ASSERT(expr)
-// BOOST_ASSERT_MSG(expr, msg)
-// BOOST_VERIFY(expr)
-//
-// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
-// Copyright (c) 2007 Peter Dimov
-// Copyright (c) Beman Dawes 2011
-//
-// 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.
-//
-
-//
-// Stop inspect complaining about use of 'assert':
-//
-// boostinspect:naassert_macro
-//
-
-//--------------------------------------------------------------------------------------//
-// BOOST_ASSERT //
-//--------------------------------------------------------------------------------------//
-
-#undef BOOST_ASSERT
-
-#if defined(BOOST_DISABLE_ASSERTS)
-
-# define BOOST_ASSERT(expr) ((void)0)
-
-#elif defined(BOOST_ENABLE_ASSERT_HANDLER)
-
-#include
-
-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 // .h to support old libraries w/o - effect is the same
-# define BOOST_ASSERT(expr) assert(expr)
-#endif
-
-//--------------------------------------------------------------------------------------//
-// BOOST_ASSERT_MSG //
-//--------------------------------------------------------------------------------------//
-
-# undef BOOST_ASSERT_MSG
-
-#if defined(BOOST_DISABLE_ASSERTS) || defined(NDEBUG)
-
- #define BOOST_ASSERT_MSG(expr, msg) ((void)0)
-
-#elif defined(BOOST_ENABLE_ASSERT_HANDLER)
-
- #include
-
- namespace boost
- {
- void assertion_failed_msg(char const * expr, char const * msg,
- char const * function, char const * file, long line); // user defined
- } // namespace boost
-
- #define BOOST_ASSERT_MSG(expr, msg) ((expr) \
- ? ((void)0) \
- : ::boost::assertion_failed_msg(#expr, msg, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
-
-#else
- #ifndef BOOST_ASSERT_HPP
- #define BOOST_ASSERT_HPP
- #include
- #include
- #include
-
- // IDE's like Visual Studio perform better if output goes to std::cout or
- // some other stream, so allow user to configure output stream:
- #ifndef BOOST_ASSERT_MSG_OSTREAM
- # define BOOST_ASSERT_MSG_OSTREAM std::cerr
- #endif
-
- namespace boost
- {
- namespace assertion
- {
- namespace detail
- {
- inline void assertion_failed_msg(char const * expr, char const * msg, char const * function,
- char const * file, long line)
- {
- BOOST_ASSERT_MSG_OSTREAM
- << "***** Internal Program Error - assertion (" << expr << ") failed in "
- << function << ":\n"
- << file << '(' << line << "): " << msg << std::endl;
- #ifdef UNDER_CE
- // The Windows CE CRT library does not have abort() so use exit(-1) instead.
- std::exit(-1);
- #else
- std::abort();
- #endif
- }
- } // detail
- } // assertion
- } // detail
- #endif
-
- #define BOOST_ASSERT_MSG(expr, msg) ((expr) \
- ? ((void)0) \
- : ::boost::assertion::detail::assertion_failed_msg(#expr, msg, \
- BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
-#endif
-
-//--------------------------------------------------------------------------------------//
-// BOOST_VERIFY //
-//--------------------------------------------------------------------------------------//
-
-#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/terraingen/oldtgen/include/boost/config.hpp b/terraingen/oldtgen/include/boost/config.hpp
deleted file mode 100644
index f37585eb..00000000
--- a/terraingen/oldtgen/include/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
-#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
-#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) && defined(__cplusplus)
-# include
-#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
-#endif
-// if we have a platform config, include it now:
-#ifdef BOOST_PLATFORM_CONFIG
-# include BOOST_PLATFORM_CONFIG
-#endif
-
-// get config suffix code:
-#include
-
-#endif // BOOST_CONFIG_HPP
-
-
-
-
-
-
-
-
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/abi/borland_prefix.hpp b/terraingen/oldtgen/include/boost/config/abi/borland_prefix.hpp
deleted file mode 100644
index 3a0e5ae2..00000000
--- a/terraingen/oldtgen/include/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 -a8 -Vx- -Ve- -b- -pc -Vmv -VC- -Vl- -w-8027 -w-8026
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/abi/borland_suffix.hpp b/terraingen/oldtgen/include/boost/config/abi/borland_suffix.hpp
deleted file mode 100644
index 940535f3..00000000
--- a/terraingen/oldtgen/include/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/terraingen/oldtgen/include/boost/config/abi/msvc_prefix.hpp b/terraingen/oldtgen/include/boost/config/abi/msvc_prefix.hpp
deleted file mode 100644
index 97f06cdc..00000000
--- a/terraingen/oldtgen/include/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/terraingen/oldtgen/include/boost/config/abi/msvc_suffix.hpp b/terraingen/oldtgen/include/boost/config/abi/msvc_suffix.hpp
deleted file mode 100644
index a64d783e..00000000
--- a/terraingen/oldtgen/include/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/terraingen/oldtgen/include/boost/config/abi_prefix.hpp b/terraingen/oldtgen/include/boost/config/abi_prefix.hpp
deleted file mode 100644
index 3b134749..00000000
--- a/terraingen/oldtgen/include/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
-
-// 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/terraingen/oldtgen/include/boost/config/abi_suffix.hpp b/terraingen/oldtgen/include/boost/config/abi_suffix.hpp
deleted file mode 100644
index 93916166..00000000
--- a/terraingen/oldtgen/include/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
-// .
-
-#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/terraingen/oldtgen/include/boost/config/auto_link.hpp b/terraingen/oldtgen/include/boost/config/auto_link.hpp
deleted file mode 100644
index e36d06a0..00000000
--- a/terraingen/oldtgen/include/boost/config/auto_link.hpp
+++ /dev/null
@@ -1,423 +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
- * 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.
-BOOST_AUTO_LINK_TAGGED: Specifies that we link to libraries built with the --layout=tagged option.
- This is essentially the same as the default name-mangled version, but without
- the compiler name and version, or the Boost version. Just the build options.
-
-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 hyphen:
-
- s static runtime (dynamic if not present).
- g debug/diagnostic runtime (release if not present).
- y Python debug/diagnostic runtime (release if not present).
- d debug build (release if not present).
- p STLport build.
- n STLport build without its IOStreams.
-
-BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
-
-
-***************************************************************************/
-
-#ifdef __cplusplus
-# ifndef BOOST_CONFIG_HPP
-# include
-# 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
-#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
-# if defined(BOOST_MSVC) && (BOOST_MSVC < 1200)
- // Note: no compilers before 1200 are supported
-# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-
-# ifdef UNDER_CE
- // eVC4:
-# define BOOST_LIB_TOOLSET "evc4"
-# else
- // vc6:
-# define BOOST_LIB_TOOLSET "vc6"
-# endif
-
-# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1310)
-
- // vc7:
-# define BOOST_LIB_TOOLSET "vc7"
-
-# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1400)
-
- // vc71:
-# define BOOST_LIB_TOOLSET "vc71"
-
-# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1500)
-
- // vc80:
-# define BOOST_LIB_TOOLSET "vc80"
-
-# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1600)
-
- // vc90:
-# define BOOST_LIB_TOOLSET "vc90"
-
-# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1700)
-
- // vc10:
-# define BOOST_LIB_TOOLSET "vc100"
-
-# elif defined(BOOST_MSVC)
-
- // vc11:
-# define BOOST_LIB_TOOLSET "vc110"
-
-# 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))\
- && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-# define BOOST_LIB_RT_OPT "-gydp"
-# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-# define BOOST_LIB_RT_OPT "-gdp"
-# elif defined(_DEBUG)\
- && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-# define BOOST_LIB_RT_OPT "-gydp"
-# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
-# error "Build options aren't compatible with pre-built libraries"
-# 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))\
- && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-# define BOOST_LIB_RT_OPT "-gydpn"
-# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-# define BOOST_LIB_RT_OPT "-gdpn"
-# elif defined(_DEBUG)\
- && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-# define BOOST_LIB_RT_OPT "-gydpn"
-# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
-# error "Build options aren't compatible with pre-built libraries"
-# 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) && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-# define BOOST_LIB_RT_OPT "-gyd"
-# elif 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))\
- && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-# define BOOST_LIB_RT_OPT "-sgydp"
-# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-# define BOOST_LIB_RT_OPT "-sgdp"
-# elif defined(_DEBUG)\
- && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-# define BOOST_LIB_RT_OPT "-sgydp"
-# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
-# error "Build options aren't compatible with pre-built libraries"
-# 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))\
- && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-# define BOOST_LIB_RT_OPT "-sgydpn"
-# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-# define BOOST_LIB_RT_OPT "-sgdpn"
-# elif defined(_DEBUG)\
- && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-# define BOOST_LIB_RT_OPT "-sgydpn"
-# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
-# error "Build options aren't compatible with pre-built libraries"
-# 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)\
- && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-# define BOOST_LIB_RT_OPT "-sgyd"
-# elif 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
-
-# if defined(BOOST_BORLAND_DEBUG)\
- && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-# define BOOST_LIB_RT_OPT "-yd"
-# elif defined(BOOST_BORLAND_DEBUG)
-# define BOOST_LIB_RT_OPT "-d"
-# elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-# define BOOST_LIB_RT_OPT -y
-# else
-# define BOOST_LIB_RT_OPT
-# endif
-
-# else
-
-# if defined(BOOST_BORLAND_DEBUG)\
- && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-# define BOOST_LIB_RT_OPT "-syd"
-# elif defined(BOOST_BORLAND_DEBUG)
-# define BOOST_LIB_RT_OPT "-sd"
-# elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-# define BOOST_LIB_RT_OPT "-sy"
-# 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)
-
-#ifdef BOOST_AUTO_LINK_TAGGED
-# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib")
-# ifdef BOOST_LIB_DIAGNOSTIC
-# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib")
-# endif
-#elif defined(BOOST_AUTO_LINK_NOMANGLE)
-# 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
-#else
-# 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
-#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
-
diff --git a/terraingen/oldtgen/include/boost/config/compiler/borland.hpp b/terraingen/oldtgen/include/boost/config/compiler/borland.hpp
deleted file mode 100644
index 38ac4a9a..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/borland.hpp
+++ /dev/null
@@ -1,288 +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 compiler version:
-#if (__BORLANDC__ > 0x613)
-//# 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
-// Variadic macros do not exist for C++ Builder versions 5 and below
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-# 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:
-#ifdef __cplusplus
-#include
-#include
-#else
-#include
-#include
-#endif // __cplusplus
-#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)
-
-# if defined(NDEBUG) && defined(__cplusplus)
- // fix broken so that Boost.test works:
-# include
-# undef strcmp
-# endif
- // fix broken errno declaration:
-# include
-# 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
-
-#if (__BORLANDC__ <= 0x613) // Beman has asked Alisdair for more info
- // 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
-# define BOOST_NO_USING_TEMPLATE
-# define BOOST_SP_NO_SP_CONVERTIBLE
-
-// Temporary workaround
-#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif
-
-// Borland C++ Builder 2008 and below:
-# define BOOST_NO_INTEGRAL_INT64_T
-# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-# define BOOST_NO_NESTED_FRIENDSHIP
-# define BOOST_NO_TYPENAME_WITH_CTOR
-#if (__BORLANDC__ < 0x600)
-# define BOOST_ILLEGAL_CV_REFERENCES
-#endif
-
-//
-// Positive Feature detection
-//
-// Borland C++ Builder 2008 and below:
-#if (__BORLANDC__ >= 0x599)
-# pragma defineonoption BOOST_CODEGEAR_0X_SUPPORT -Ax
-#endif
-//
-// C++0x Macros:
-//
-#if !defined( BOOST_CODEGEAR_0X_SUPPORT ) || (__BORLANDC__ < 0x610)
-# define BOOST_NO_CXX11_CHAR16_T
-# define BOOST_NO_CXX11_CHAR32_T
-# define BOOST_NO_CXX11_DECLTYPE
-# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-# define BOOST_NO_CXX11_EXTERN_TEMPLATE
-# define BOOST_NO_CXX11_RVALUE_REFERENCES
-# define BOOST_NO_CXX11_SCOPED_ENUMS
-# define BOOST_NO_CXX11_STATIC_ASSERT
-#else
-# define BOOST_HAS_ALIGNOF
-# define BOOST_HAS_CHAR16_T
-# define BOOST_HAS_CHAR32_T
-# define BOOST_HAS_DECLTYPE
-# define BOOST_HAS_EXPLICIT_CONVERSION_OPS
-# define BOOST_HAS_REF_QUALIFIER
-# define BOOST_HAS_RVALUE_REFS
-# define BOOST_HAS_STATIC_ASSERT
-#endif
-
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS // UTF-8 still not supported
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-
-#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
-# else
-# define BOOST_NO_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 )
-// 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
-#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) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-#endif
-//
-// all versions have a :
-//
-#ifndef __STRICT_ANSI__
-# define BOOST_HAS_DIRENT_H
-#endif
-//
-// all versions support __declspec:
-//
-#if defined(__STRICT_ANSI__)
-// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
-# define BOOST_SYMBOL_EXPORT
-#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
-
-// Borland did not implement value-initialization completely, as I reported
-// in 2007, Borland Report 51854, "Value-initialization: POD struct should be
-// zero-initialized", http://qc.embarcadero.com/wc/qcmain.aspx?d=51854
-// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
-// (Niels Dekker, LKEB, April 2010)
-#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-
-#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__)
-
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/compiler/clang.hpp b/terraingen/oldtgen/include/boost/config/compiler/clang.hpp
deleted file mode 100644
index 8e38821b..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/clang.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-// (C) Copyright Douglas Gregor 2010
-//
-// 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.
-
-// Clang compiler setup.
-
-#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-#endif
-
-#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI)
-# define BOOST_NO_RTTI
-#endif
-
-#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID)
-# define BOOST_NO_TYPEID
-#endif
-
-#if defined(__int64) && !defined(__GNUC__)
-# define BOOST_HAS_MS_INT64
-#endif
-
-#define BOOST_HAS_NRVO
-
-// Clang supports "long long" in all compilation modes.
-#define BOOST_HAS_LONG_LONG
-
-//
-// Dynamic shared object (DSO) and dynamic-link library (DLL) support
-//
-#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
-# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
-# define BOOST_SYMBOL_IMPORT
-# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
-#endif
-
-//
-// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
-// between switch labels.
-//
-#if __cplusplus >= 201103L && defined(__has_warning)
-# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough")
-# define BOOST_FALLTHROUGH [[clang::fallthrough]]
-# endif
-#endif
-
-#if !__has_feature(cxx_auto_type)
-# define BOOST_NO_CXX11_AUTO_DECLARATIONS
-# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#endif
-
-#if !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)
-# define BOOST_NO_CXX11_CHAR16_T
-# define BOOST_NO_CXX11_CHAR32_T
-#endif
-
-#if !__has_feature(cxx_constexpr)
-# define BOOST_NO_CXX11_CONSTEXPR
-#endif
-
-#if !__has_feature(cxx_decltype)
-# define BOOST_NO_CXX11_DECLTYPE
-#endif
-
-#if !__has_feature(cxx_decltype_incomplete_return_types)
-# define BOOST_NO_CXX11_DECLTYPE_N3276
-#endif
-
-#if !__has_feature(cxx_defaulted_functions)
-# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#endif
-
-#if !__has_feature(cxx_deleted_functions)
-# define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#endif
-
-#if !__has_feature(cxx_explicit_conversions)
-# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#endif
-
-#if !__has_feature(cxx_default_function_template_args)
-# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#endif
-
-#if !__has_feature(cxx_generalized_initializers)
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#endif
-
-#if !__has_feature(cxx_lambdas)
-# define BOOST_NO_CXX11_LAMBDAS
-#endif
-
-#if !__has_feature(cxx_local_type_template_args)
-# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#endif
-
-#if !__has_feature(cxx_noexcept)
-# define BOOST_NO_CXX11_NOEXCEPT
-#endif
-
-#if !__has_feature(cxx_nullptr)
-# define BOOST_NO_CXX11_NULLPTR
-#endif
-
-#if !__has_feature(cxx_range_for)
-# define BOOST_NO_CXX11_RANGE_BASED_FOR
-#endif
-
-#if !__has_feature(cxx_raw_string_literals)
-# define BOOST_NO_CXX11_RAW_LITERALS
-#endif
-
-#if !__has_feature(cxx_generalized_initializers)
-# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#endif
-
-#if !__has_feature(cxx_rvalue_references)
-# define BOOST_NO_CXX11_RVALUE_REFERENCES
-#endif
-
-#if !__has_feature(cxx_strong_enums)
-# define BOOST_NO_CXX11_SCOPED_ENUMS
-#endif
-
-#if !__has_feature(cxx_static_assert)
-# define BOOST_NO_CXX11_STATIC_ASSERT
-#endif
-
-#if !__has_feature(cxx_alias_templates)
-# define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#endif
-
-#if !__has_feature(cxx_unicode_literals)
-# define BOOST_NO_CXX11_UNICODE_LITERALS
-#endif
-
-#if !__has_feature(cxx_variadic_templates)
-# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#endif
-
-#if !__has_feature(cxx_user_literals)
-# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#endif
-
-// Clang always supports variadic macros
-// Clang always supports extern templates
-
-#ifndef BOOST_COMPILER
-# define BOOST_COMPILER "Clang version " __clang_version__
-#endif
-
-// Macro used to identify the Clang compiler.
-#define BOOST_CLANG 1
-
diff --git a/terraingen/oldtgen/include/boost/config/compiler/codegear.hpp b/terraingen/oldtgen/include/boost/config/compiler/codegear.hpp
deleted file mode 100644
index 9dd97bc0..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/codegear.hpp
+++ /dev/null
@@ -1,180 +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 0x621
-#if (__CODEGEARC__ > 0x621)
-# 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__ <= 0x613)
-# define BOOST_NO_INTEGRAL_INT64_T
-# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-# define BOOST_NO_PRIVATE_IN_AGGREGATE
-# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
- // 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_SP_NO_SP_CONVERTIBLE
-#endif
-
-// CodeGear C++ Builder 2010
-#if (__CODEGEARC__ <= 0x621)
-# define BOOST_NO_TYPENAME_WITH_CTOR // Cannot use typename keyword when making temporaries of a dependant type
-# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_NO_NESTED_FRIENDSHIP // TC1 gives nested classes access rights as any other member
-# define BOOST_NO_USING_TEMPLATE
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-// Temporary hack, until specific MPL preprocessed headers are generated
-# define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-// CodeGear has not yet completely implemented value-initialization, for
-// example for array types, as I reported in 2010: Embarcadero Report 83751,
-// "Value-initialization: arrays should have each element value-initialized",
-// http://qc.embarcadero.com/wc/qcmain.aspx?d=83751
-// Last checked version: Embarcadero C++ 6.21
-// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
-// (Niels Dekker, LKEB, April 2010)
-# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-
-# if defined(NDEBUG) && defined(__cplusplus)
- // fix broken so that Boost.test works:
-# include
-# undef strcmp
-# endif
- // fix broken errno declaration:
-# include
-# ifndef errno
-# define errno errno
-# endif
-
-#endif
-//
-// C++0x macros:
-//
-#if (__CODEGEARC__ <= 0x620)
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#else
-#define BOOST_HAS_STATIC_ASSERT
-#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_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-
-//
-// TR1 macros:
-//
-#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
-
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-
-// 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) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-#endif
-//
-// all versions have a :
-//
-#if !defined(__STRICT_ANSI__)
-# define BOOST_HAS_DIRENT_H
-#endif
-//
-// all versions support __declspec:
-//
-#if defined(__STRICT_ANSI__)
-// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
-# define BOOST_SYMBOL_EXPORT
-#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/terraingen/oldtgen/include/boost/config/compiler/comeau.hpp b/terraingen/oldtgen/include/boost/config/compiler/comeau.hpp
deleted file mode 100644
index 278222dc..00000000
--- a/terraingen/oldtgen/include/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/terraingen/oldtgen/include/boost/config/compiler/common_edg.hpp b/terraingen/oldtgen/include/boost/config/compiler/common_edg.hpp
deleted file mode 100644
index 4b5d2d26..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/common_edg.hpp
+++ /dev/null
@@ -1,104 +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) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-# endif
-
-# if !defined(__NO_LONG_LONG)
-# define BOOST_HAS_LONG_LONG
-# else
-# define BOOST_NO_LONG_LONG
-# endif
-
-//
-// C++0x features
-//
-// See above for BOOST_NO_LONG_LONG
-//
-#if (__EDG_VERSION__ < 310)
-# define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#endif
-#if (__EDG_VERSION__ <= 310)
-// No support for initializer lists
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#endif
-#if (__EDG_VERSION__ < 400)
-# define BOOST_NO_CXX11_VARIADIC_MACROS
-#endif
-
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-
-#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/terraingen/oldtgen/include/boost/config/compiler/compaq_cxx.hpp b/terraingen/oldtgen/include/boost/config/compiler/compaq_cxx.hpp
deleted file mode 100644
index b44486c6..00000000
--- a/terraingen/oldtgen/include/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/terraingen/oldtgen/include/boost/config/compiler/cray.hpp b/terraingen/oldtgen/include/boost/config/compiler/cray.hpp
deleted file mode 100644
index 4455c5c4..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/cray.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-// (C) Copyright John Maddock 2011.
-// 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 "Cray C version " BOOST_STRINGIZE(_RELEASE)
-
-#if _RELEASE < 7
-# error "Boost is not configured for Cray compilers prior to version 7, please try the configure script."
-#endif
-
-//
-// Check this is a recent EDG based compiler, otherwise we don't support it here:
-//
-#ifndef __EDG_VERSION__
-# error "Unsupported Cray compiler, please try running the configure script."
-#endif
-
-#include "boost/config/compiler/common_edg.hpp"
-
-//
-// Cray peculiarities, probably version 7 specific:
-//
-#undef BOOST_NO_CXX11_AUTO_DECLARATIONS
-#undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_HAS_NRVO
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_HAS_NRVO
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CHAR16_T
-//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-#define BOOST_MATH_DISABLE_STD_FPCLASSIFY
-//#define BOOST_HAS_FPCLASSIFY
-
-#define BOOST_SP_USE_PTHREADS
-#define BOOST_AC_USE_PTHREADS
-
diff --git a/terraingen/oldtgen/include/boost/config/compiler/digitalmars.hpp b/terraingen/oldtgen/include/boost/config/compiler/digitalmars.hpp
deleted file mode 100644
index 0206dc38..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/digitalmars.hpp
+++ /dev/null
@@ -1,104 +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?
-//
-#ifdef __cplusplus
-#include
-#endif
-#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD)
-# define BOOST_NO_STDC_NAMESPACE
-#endif
-
-
-// check for exception handling support:
-#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-#endif
-
-//
-// C++0x features
-//
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-
-#if (__DMC__ < 0x812)
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-#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/terraingen/oldtgen/include/boost/config/compiler/gcc.hpp b/terraingen/oldtgen/include/boost/config/compiler/gcc.hpp
deleted file mode 100644
index b3d12ec6..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/gcc.hpp
+++ /dev/null
@@ -1,280 +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.
-
-//
-// Define BOOST_GCC so we know this is "real" GCC and not some pretender:
-//
-#if !defined(__CUDACC__)
-#define BOOST_GCC (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
-#endif
-
-#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
-# define BOOST_NO_CXX11_EXTERN_TEMPLATE
-// Variadic macros do not exist for gcc versions before 3.0
-# define BOOST_NO_CXX11_VARIADIC_MACROS
-#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
-# define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#endif
-#if __GNUC__ < 4
-//
-// All problems to gcc-3.x and earlier here:
-//
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-# ifdef __OPEN64__
-# define BOOST_NO_IS_ABSTRACT
-# endif
-#endif
-
-#if __GNUC__ < 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 4 )
-// Previous versions of GCC did not completely implement value-initialization:
-// GCC Bug 30111, "Value-initialization of POD base class doesn't initialize
-// members", reported by Jonathan Wakely in 2006,
-// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111 (fixed for GCC 4.4)
-// GCC Bug 33916, "Default constructor fails to initialize array members",
-// reported by Michael Elizabeth Chastain in 2007,
-// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916 (fixed for GCC 4.2.4)
-// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
-#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#endif
-
-#if !defined(__EXCEPTIONS) && !defined(BOOST_NO_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
-
-//
-// Dynamic shared object (DSO) and dynamic-link library (DLL) support
-//
-#if __GNUC__ >= 4
-# if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && !defined(__CYGWIN__)
- // All Win32 development environments, including 64-bit Windows and MinGW, define
- // _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment,
- // so does not define _WIN32 or its variants.
-# define BOOST_HAS_DECLSPEC
-# define BOOST_SYMBOL_EXPORT __attribute__((dllexport))
-# define BOOST_SYMBOL_IMPORT __attribute__((dllimport))
-# else
-# define BOOST_SYMBOL_EXPORT __attribute__((visibility("default")))
-# define BOOST_SYMBOL_IMPORT
-# endif
-# define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
-#else
-// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
-# define BOOST_SYMBOL_EXPORT
-#endif
-
-//
-// RTTI and typeinfo detection is possible post gcc-4.3:
-//
-#if __GNUC__ * 100 + __GNUC_MINOR__ >= 403
-# ifndef __GXX_RTTI
-# ifndef BOOST_NO_TYPEID
-# define BOOST_NO_TYPEID
-# endif
-# ifndef BOOST_NO_RTTI
-# define BOOST_NO_RTTI
-# endif
-# endif
-#endif
-
-//
-// Recent GCC versions have __int128 when in 64-bit mode.
-//
-// We disable this if the compiler is really nvcc as it
-// doesn't actually support __int128 as of CUDA_VERSION=5000
-// even though it defines __SIZEOF_INT128__.
-// See https://svn.boost.org/trac/boost/ticket/8048
-// Only re-enable this for nvcc if you're absolutely sure
-// of the circumstances under which it's supported:
-//
-#if defined(__SIZEOF_INT128__) && !defined(__CUDACC__)
-# define BOOST_HAS_INT128
-#endif
-
-// C++0x features in 4.3.n and later
-//
-#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__)
-// 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__.
-# define BOOST_HAS_DECLTYPE
-# define BOOST_HAS_RVALUE_REFS
-# define BOOST_HAS_STATIC_ASSERT
-# define BOOST_HAS_VARIADIC_TMPL
-#else
-# define BOOST_NO_CXX11_DECLTYPE
-# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-# define BOOST_NO_CXX11_RVALUE_REFERENCES
-# define BOOST_NO_CXX11_STATIC_ASSERT
-
-// Variadic templates compiler:
-// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
-# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
-# define BOOST_HAS_VARIADIC_TMPL
-# else
-# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-# endif
-#endif
-
-// C++0x features in 4.4.n and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-# define BOOST_NO_CXX11_AUTO_DECLARATIONS
-# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-# define BOOST_NO_CXX11_CHAR16_T
-# define BOOST_NO_CXX11_CHAR32_T
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-# define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#endif
-
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
-# define BOOST_NO_SFINAE_EXPR
-#endif
-
-// C++0x features in 4.5.0 and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-# define BOOST_NO_CXX11_LAMBDAS
-# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-# define BOOST_NO_CXX11_RAW_LITERALS
-# define BOOST_NO_CXX11_UNICODE_LITERALS
-#endif
-
-// C++0x features in 4.5.1 and later
-//
-#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40501) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_CXX11_SCOPED_ENUMS before 4.5.1
-// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
-# define BOOST_NO_CXX11_SCOPED_ENUMS
-#endif
-
-// C++0x features in 4.6.n and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#endif
-
-// C++0x features in 4.7.n and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-# define BOOST_NO_CXX11_TEMPLATE_ALIASES
-# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#endif
-
-// C++0x features in 4.8.1 and later
-//
-#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40801) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-# define BOOST_NO_CXX11_DECLTYPE_N3276
-#endif
-
-#ifndef BOOST_COMPILER
-# define BOOST_COMPILER "GNU C++ version " __VERSION__
-#endif
-
-// ConceptGCC compiler:
-// http://www.generic-programming.org/software/ConceptGCC/
-#ifdef __GXX_CONCEPTS__
-# define BOOST_HAS_CONCEPTS
-# define BOOST_COMPILER "ConceptGCC 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.6 (Pre-release):
-#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6))
-# 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/terraingen/oldtgen/include/boost/config/compiler/gcc_xml.hpp b/terraingen/oldtgen/include/boost/config/compiler/gcc_xml.hpp
deleted file mode 100644
index 1af2fc1a..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/gcc_xml.hpp
+++ /dev/null
@@ -1,61 +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
-
-// C++0x features:
-//
-# define BOOST_NO_CXX11_CONSTEXPR
-# define BOOST_NO_CXX11_NULLPTR
-# define BOOST_NO_CXX11_TEMPLATE_ALIASES
-# define BOOST_NO_CXX11_DECLTYPE
-# define BOOST_NO_CXX11_DECLTYPE_N3276
-# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-# define BOOST_NO_CXX11_RVALUE_REFERENCES
-# define BOOST_NO_CXX11_STATIC_ASSERT
-# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-# define BOOST_NO_CXX11_VARIADIC_MACROS
-# define BOOST_NO_CXX11_AUTO_DECLARATIONS
-# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-# define BOOST_NO_CXX11_CHAR16_T
-# define BOOST_NO_CXX11_CHAR32_T
-# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-# define BOOST_NO_CXX11_DELETED_FUNCTIONS
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# define BOOST_NO_CXX11_SCOPED_ENUMS
-# define BOOST_NO_SFINAE_EXPR
-# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-# define BOOST_NO_CXX11_LAMBDAS
-# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-# define BOOST_NO_CXX11_RANGE_BASED_FOR
-# define BOOST_NO_CXX11_RAW_LITERALS
-# define BOOST_NO_CXX11_UNICODE_LITERALS
-# define BOOST_NO_CXX11_NOEXCEPT
-# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-
-#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__
-
-
diff --git a/terraingen/oldtgen/include/boost/config/compiler/greenhills.hpp b/terraingen/oldtgen/include/boost/config/compiler/greenhills.hpp
deleted file mode 100644
index 038b6b2b..00000000
--- a/terraingen/oldtgen/include/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/terraingen/oldtgen/include/boost/config/compiler/hp_acc.hpp b/terraingen/oldtgen/include/boost/config/compiler/hp_acc.hpp
deleted file mode 100644
index 12c791b3..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/hp_acc.hpp
+++ /dev/null
@@ -1,141 +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
-
-//
-// C++0x features
-//
-// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
-//
-#if !defined(__EDG__)
-
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-
-/*
- See https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443331 and
- https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443436
-*/
-
-#if (__HP_aCC < 62500) || !defined(HP_CXX0x_SOURCE)
- #define BOOST_NO_CXX11_VARIADIC_MACROS
-#endif
-
-#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/terraingen/oldtgen/include/boost/config/compiler/intel.hpp b/terraingen/oldtgen/include/boost/config/compiler/intel.hpp
deleted file mode 100644
index e94540a5..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/intel.hpp
+++ /dev/null
@@ -1,272 +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
-
-// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x'
-#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__)
-# define BOOST_INTEL_STDCXX0X
-#endif
-#if defined(_MSC_VER) && (_MSC_VER >= 1600)
-# define BOOST_INTEL_STDCXX0X
-#endif
-
-#ifdef BOOST_INTEL_STDCXX0X
-#define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
-#else
-#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
-#endif
-#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) || (BOOST_INTEL_CXX_VERSION <= 1200)
-// 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:
-//
-#ifdef __cplusplus
-#if defined(BOOST_NO_INTRINSIC_WCHAR_T)
-#include
-template< typename T > struct assert_no_intrinsic_wchar_t;
-template<> struct assert_no_intrinsic_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::type assert_no_intrinsic_wchar_t_;
-#else
-template< typename T > struct assert_intrinsic_wchar_t;
-template<> struct assert_intrinsic_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 {};
-#endif
-#endif
-
-#if defined(_MSC_VER) && (_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
-
-//
-// An attempt to value-initialize a pointer-to-member may trigger an
-// internal error on Intel <= 11.1 (last checked version), as was
-// reported by John Maddock, Intel support issue 589832, May 2010.
-// Moreover, according to test results from Huang-Vista-x86_32_intel,
-// intel-vc9-win-11.1 may leave a non-POD array uninitialized, in some
-// cases when it should be value-initialized.
-// (Niels Dekker, LKEB, May 2010)
-// Apparently Intel 12.1 (compiler version number 9999 !!) has the same issue (compiler regression).
-#if defined(__INTEL_COMPILER)
-# if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1500))
-# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-# endif
-#endif
-
-//
-// Dynamic shared object (DSO) and dynamic-link library (DLL) support
-//
-#if defined(__GNUC__) && (__GNUC__ >= 4)
-# define BOOST_SYMBOL_EXPORT __attribute__((visibility("default")))
-# define BOOST_SYMBOL_IMPORT
-# define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
-#endif
-//
-// C++0x features
-// - ICC added static_assert in 11.0 (first version with C++0x support)
-//
-#if defined(BOOST_INTEL_STDCXX0X)
-# undef BOOST_NO_CXX11_STATIC_ASSERT
-//
-// These pass our test cases, but aren't officially supported according to:
-// http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
-//
-//# undef BOOST_NO_CXX11_LAMBDAS
-//# undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-//# undef BOOST_NO_CXX11_DECLTYPE
-//# undef BOOST_NO_CXX11_AUTO_DECLARATIONS
-//# undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#endif
-
-#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1200)
-//# undef BOOST_NO_CXX11_RVALUE_REFERENCES // Enabling this breaks Filesystem and Exception libraries
-//# undef BOOST_NO_CXX11_SCOPED_ENUMS // doesn't really work!!
-# undef BOOST_NO_CXX11_DELETED_FUNCTIONS
-# undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-# undef BOOST_NO_CXX11_LAMBDAS
-# undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-# undef BOOST_NO_CXX11_DECLTYPE
-# undef BOOST_NO_CXX11_AUTO_DECLARATIONS
-# undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#endif
-
-// icl Version 12.1.0.233 Build 20110811 and possibly some other builds
-// had an incorrect __INTEL_COMPILER value of 9999. Intel say this has been fixed.
-#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION > 1200)
-# undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-# undef BOOST_NO_CXX11_NULLPTR
-# undef BOOST_NO_CXX11_RVALUE_REFERENCES
-# undef BOOST_NO_SFINAE_EXPR
-# undef BOOST_NO_CXX11_TEMPLATE_ALIASES
-# undef BOOST_NO_CXX11_VARIADIC_TEMPLATES
-
-// http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
-// continues to list scoped enum support as "Partial"
-//# undef BOOST_NO_CXX11_SCOPED_ENUMS
-#endif
-
-#if defined(_MSC_VER) && (_MSC_VER <= 1700)
-//
-// Although the Intel compiler is capable of supporting these, it appears not to in MSVC compatibility mode:
-//
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-# define BOOST_NO_CXX11_DELETED_FUNCTIONS
-# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-# define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#endif
-
-#if (BOOST_INTEL_CXX_VERSION < 1200)
-//
-// fenv.h appears not to work with Intel prior to 12.0:
-//
-# define BOOST_NO_FENV_H
-#endif
-
-//
-// last known and checked version:
-#if (BOOST_INTEL_CXX_VERSION > 1200)
-# 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/terraingen/oldtgen/include/boost/config/compiler/kai.hpp b/terraingen/oldtgen/include/boost/config/compiler/kai.hpp
deleted file mode 100644
index 2337e6a8..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/kai.hpp
+++ /dev/null
@@ -1,33 +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 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) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-# endif
-
-//
-// 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/terraingen/oldtgen/include/boost/config/compiler/metrowerks.hpp b/terraingen/oldtgen/include/boost/config/compiler/metrowerks.hpp
deleted file mode 100644
index 4ca8af8a..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/metrowerks.hpp
+++ /dev/null
@@ -1,145 +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__ <= 0x3207) || !defined(BOOST_STRICT_CONFIG) // 9.6
-# 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) && !defined(BOOST_NO_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
-# elif __MWERKS__ == 0x3207
-# define BOOST_COMPILER_VERSION 9.6
-# else
-# define BOOST_COMPILER_VERSION __MWERKS__
-# endif
-#else
-# define BOOST_COMPILER_VERSION __MWERKS__
-#endif
-
-//
-// C++0x features
-//
-// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
-//
-#if __MWERKS__ > 0x3206 && __option(rvalue_refs)
-# define BOOST_HAS_RVALUE_REFS
-#else
-# define BOOST_NO_CXX11_RVALUE_REFERENCES
-#endif
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-
-#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/terraingen/oldtgen/include/boost/config/compiler/mpw.hpp b/terraingen/oldtgen/include/boost/config/compiler/mpw.hpp
deleted file mode 100644
index 7ef38efa..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/mpw.hpp
+++ /dev/null
@@ -1,87 +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
-
-//
-// C++0x features
-//
-// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
-//
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-
-//
-// 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/terraingen/oldtgen/include/boost/config/compiler/nvcc.hpp b/terraingen/oldtgen/include/boost/config/compiler/nvcc.hpp
deleted file mode 100644
index 03203fb5..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/nvcc.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright Eric Jourdanneau, Joel Falcou 2010
-// 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.
-
-// NVIDIA CUDA C++ compiler setup
-
-#ifndef BOOST_COMPILER
-# define BOOST_COMPILER "NVIDIA CUDA C++ Compiler"
-#endif
-
-// NVIDIA Specific support
-// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device
-#define BOOST_GPU_ENABLED __host__ __device__
-
-// Boost support macro for NVCC
-// NVCC Basically behaves like some flavor of MSVC6 + some specific quirks
-#ifdef __GNUC__
-
-#include
-
-#elif defined(_MSC_VER)
-
-#include
-
-#endif
diff --git a/terraingen/oldtgen/include/boost/config/compiler/pathscale.hpp b/terraingen/oldtgen/include/boost/config/compiler/pathscale.hpp
deleted file mode 100644
index 07d14609..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/pathscale.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-// (C) Copyright Bryce Lelbach 2011
-
-// 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.
-
-// PathScale EKOPath C++ Compiler
-
-#ifndef BOOST_COMPILER
-# define BOOST_COMPILER "PathScale EKOPath C++ Compiler version " __PATHSCALE__
-#endif
-
-#if __PATHCC__ >= 4
-# define BOOST_MSVC6_MEMBER_TEMPLATES
-# define BOOST_HAS_UNISTD_H
-# define BOOST_HAS_STDINT_H
-# define BOOST_HAS_SIGACTION
-# define BOOST_HAS_SCHED_YIELD
-# define BOOST_HAS_THREADS
-# define BOOST_HAS_PTHREADS
-# define BOOST_HAS_PTHREAD_YIELD
-# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-# define BOOST_HAS_NRVO
-# define BOOST_HAS_NL_TYPES_H
-# define BOOST_HAS_NANOSLEEP
-# define BOOST_HAS_LONG_LONG
-# define BOOST_HAS_LOG1P
-# define BOOST_HAS_GETTIMEOFDAY
-# define BOOST_HAS_EXPM1
-# define BOOST_HAS_DIRENT_H
-# define BOOST_HAS_CLOCK_GETTIME
-# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-# define BOOST_NO_CXX11_UNICODE_LITERALS
-# define BOOST_NO_CXX11_TEMPLATE_ALIASES
-# define BOOST_NO_CXX11_STATIC_ASSERT
-# define BOOST_NO_SFINAE_EXPR
-# define BOOST_NO_CXX11_SCOPED_ENUMS
-# define BOOST_NO_CXX11_RVALUE_REFERENCES
-# define BOOST_NO_CXX11_RANGE_BASED_FOR
-# define BOOST_NO_CXX11_RAW_LITERALS
-# define BOOST_NO_CXX11_NULLPTR
-# define BOOST_NO_CXX11_NUMERIC_LIMITS
-# define BOOST_NO_CXX11_NOEXCEPT
-# define BOOST_NO_CXX11_LAMBDAS
-# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-# define BOOST_NO_CXX11_DELETED_FUNCTIONS
-# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-# define BOOST_NO_CXX11_DECLTYPE
-# define BOOST_NO_CXX11_DECLTYPE_N3276
-# define BOOST_NO_CXX11_CONSTEXPR
-# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-# define BOOST_NO_CXX11_CHAR32_T
-# define BOOST_NO_CXX11_CHAR16_T
-# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-# define BOOST_NO_CXX11_AUTO_DECLARATIONS
-# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-# define BOOST_NO_CXX11_HDR_UNORDERED_SET
-# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-# define BOOST_NO_CXX11_HDR_TYPEINDEX
-# define BOOST_NO_CXX11_HDR_TUPLE
-# define BOOST_NO_CXX11_HDR_THREAD
-# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-# define BOOST_NO_CXX11_HDR_REGEX
-# define BOOST_NO_CXX11_HDR_RATIO
-# define BOOST_NO_CXX11_HDR_RANDOM
-# define BOOST_NO_CXX11_HDR_MUTEX
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# define BOOST_NO_CXX11_HDR_FUTURE
-# define BOOST_NO_CXX11_HDR_FORWARD_LIST
-# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-# define BOOST_NO_CXX11_HDR_CODECVT
-# define BOOST_NO_CXX11_HDR_CHRONO
-# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#endif
-
diff --git a/terraingen/oldtgen/include/boost/config/compiler/pgi.hpp b/terraingen/oldtgen/include/boost/config/compiler/pgi.hpp
deleted file mode 100644
index 64c0d753..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/pgi.hpp
+++ /dev/null
@@ -1,119 +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(BOOST_COMPILER_VERSION)
-
-//
-// Threading support:
-// Turn this on unconditionally here, it will get turned off again later
-// if no threading API is detected.
-//
-
-#if __PGIC__ >= 11
-
-// options requested by configure --enable-test
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_THREADS
-#define BOOST_HAS_PTHREAD_YIELD
-#define BOOST_HAS_NRVO
-#define BOOST_HAS_LONG_LONG
-
-// options --enable-test wants undefined
-#undef BOOST_NO_STDC_NAMESPACE
-#undef BOOST_NO_EXCEPTION_STD_NAMESPACE
-#undef BOOST_DEDUCED_TYPENAME
-
-#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-
-#elif __PGIC__ >= 10
-
-// options requested by configure --enable-test
-#define BOOST_HAS_THREADS
-#define BOOST_HAS_NRVO
-#define BOOST_HAS_LONG_LONG
-
-// options --enable-test wants undefined
-#undef BOOST_NO_STDC_NAMESPACE
-#undef BOOST_NO_EXCEPTION_STD_NAMESPACE
-#undef BOOST_DEDUCED_TYPENAME
-
-#elif __PGIC__ >= 7
-
-#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_SWPRINTF
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-
-#else
-
-# error "Pgi compiler not configured - please reconfigure"
-
-#endif
-//
-// C++0x features
-//
-// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
-//
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_NUMERIC_LIMITS
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_SWPRINTF
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-
-#define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#define BOOST_NO_CXX11_HDR_TYPEINDEX
-#define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#define BOOST_NO_CXX11_HDR_TUPLE
-#define BOOST_NO_CXX11_HDR_THREAD
-#define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#define BOOST_NO_CXX11_HDR_REGEX
-#define BOOST_NO_CXX11_HDR_RATIO
-#define BOOST_NO_CXX11_HDR_RANDOM
-#define BOOST_NO_CXX11_HDR_MUTEX
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_HDR_FUTURE
-#define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#define BOOST_NO_CXX11_HDR_CODECVT
-#define BOOST_NO_CXX11_HDR_CHRONO
-#define BOOST_NO_CXX11_HDR_ARRAY
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-
-//
-// version check:
-// probably nothing to do here?
-
diff --git a/terraingen/oldtgen/include/boost/config/compiler/sgi_mipspro.hpp b/terraingen/oldtgen/include/boost/config/compiler/sgi_mipspro.hpp
deleted file mode 100644
index 90688314..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/sgi_mipspro.hpp
+++ /dev/null
@@ -1,29 +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/terraingen/oldtgen/include/boost/config/compiler/sunpro_cc.hpp b/terraingen/oldtgen/include/boost/config/compiler/sunpro_cc.hpp
deleted file mode 100644
index 88421ee4..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/sunpro_cc.hpp
+++ /dev/null
@@ -1,150 +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 >
- // (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
-
-# if (__SUNPRO_CC <= 0x5100)
- // Sun 5.10 may not correctly value-initialize objects of
- // some user defined types, as was reported in April 2010
- // (CR 6947016), and confirmed by Steve Clamage.
- // (Niels Dekker, LKEB, May 2010).
-# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-# endif
-
-//
-// Dynamic shared object (DSO) and dynamic-link library (DLL) support
-//
-#if __SUNPRO_CC > 0x500
-# define BOOST_SYMBOL_EXPORT __global
-# define BOOST_SYMBOL_IMPORT __global
-# define BOOST_SYMBOL_VISIBLE __global
-#endif
-
-
-
-//
-// Issues that effect all known versions:
-//
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_ADL_BARRIER
-
-//
-// C++0x features
-//
-# define BOOST_HAS_LONG_LONG
-
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-
-//
-// Version
-//
-
-#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/terraingen/oldtgen/include/boost/config/compiler/vacpp.hpp b/terraingen/oldtgen/include/boost/config/compiler/vacpp.hpp
deleted file mode 100644
index 47b99031..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/vacpp.hpp
+++ /dev/null
@@ -1,131 +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
-
-#if (__IBMCPP__ <= 1110)
-// XL C++ V11.1 and earlier versions may not always value-initialize
-// a temporary object T(), when T is a non-POD aggregate class type.
-// Michael Wong (IBM Canada Ltd) has confirmed this issue and gave it
-// high priority. -- Niels Dekker (LKEB), May 2010.
-# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#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 1210:
-#if (__IBMCPP__ > 1210)
-# 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
-#if __IBMCPP__ <= 1010
-#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-#endif
-
-//
-// C++0x features
-//
-// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
-//
-#if ! __IBMCPP_AUTO_TYPEDEDUCTION
-# define BOOST_NO_CXX11_AUTO_DECLARATIONS
-# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#endif
-#if ! __IBMCPP_UTF_LITERAL__
-# define BOOST_NO_CXX11_CHAR16_T
-# define BOOST_NO_CXX11_CHAR32_T
-#endif
-#if ! __IBMCPP_CONSTEXPR
-# define BOOST_NO_CXX11_CONSTEXPR
-#endif
-#if ! __IBMCPP_DECLTYPE
-# define BOOST_NO_CXX11_DECLTYPE
-#else
-# define BOOST_HAS_DECLTYPE
-#endif
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#if ! __IBMCPP_EXPLICIT_CONVERSION_OPERATORS
-# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#endif
-#if ! __IBMCPP_EXTERN_TEMPLATE
-# define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#endif
-#if ! __IBMCPP_VARIADIC_TEMPLATES
-// not enabled separately at this time
-# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#endif
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#if ! __IBMCPP_RVALUE_REFERENCES
-# define BOOST_NO_CXX11_RVALUE_REFERENCES
-#endif
-#if ! __IBMCPP_SCOPED_ENUM
-# define BOOST_NO_CXX11_SCOPED_ENUMS
-#endif
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#if ! __IBMCPP_STATIC_ASSERT
-# define BOOST_NO_CXX11_STATIC_ASSERT
-#endif
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#if ! __IBMCPP_VARIADIC_TEMPLATES
-# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#endif
-#if ! __C99_MACRO_WITH_VA_ARGS
-# define BOOST_NO_CXX11_VARIADIC_MACROS
-#endif
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/compiler/visualc.hpp b/terraingen/oldtgen/include/boost/config/compiler/visualc.hpp
deleted file mode 100644
index 83e8e3d7..00000000
--- a/terraingen/oldtgen/include/boost/config/compiler/visualc.hpp
+++ /dev/null
@@ -1,324 +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:
-//
-// We need to be careful with the checks in this file, as contrary
-// to popular belief there are versions with _MSC_VER with the final
-// digit non-zero (mainly the MIPS cross compiler).
-//
-// So we either test _MSC_VER >= XXXX or else _MSC_VER < XXXX.
-// No other comparisons (==, >, or <=) are safe.
-//
-
-#define BOOST_MSVC _MSC_VER
-
-//
-// Helper macro BOOST_MSVC_FULL_VER for use in Boost code:
-//
-#if _MSC_FULL_VER > 100000000
-# define BOOST_MSVC_FULL_VER _MSC_FULL_VER
-#else
-# define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10)
-#endif
-
-// Attempt to suppress VC6 warnings about the length of decorated names (obsolete):
-#pragma warning( disable : 4503 ) // warning: decorated name length exceeded
-
-//
-// 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
-
-#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
-
-# if _MSC_VER == 1202
-# define BOOST_NO_STD_TYPEINFO
-# endif
-
-#endif
-
-/// Visual Studio has no fenv.h
-#define BOOST_NO_FENV_H
-
-#if (_MSC_VER < 1310) // 130X == 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 >= 1300)
-# 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
-// Our extern template tests also fail for this compiler:
-# define BOOST_NO_CXX11_EXTERN_TEMPLATE
-// Variadic macros do not exist for VC7.1 and lower
-# define BOOST_NO_CXX11_VARIADIC_MACROS
-#endif
-
-#if defined(UNDER_CE)
-// Windows CE does not have a conforming signature for swprintf
-# define BOOST_NO_SWPRINTF
-#endif
-
-#if _MSC_VER < 1500 // 140X == VC++ 8.0
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#endif
-
-#if _MSC_VER < 1600 // 150X == VC++ 9.0
- // A bug in VC9:
-# define BOOST_NO_ADL_BARRIER
-#endif
-
-
-// MSVC (including the latest checked version) has not yet completely
-// implemented value-initialization, as is reported:
-// "VC++ does not value-initialize members of derived classes without
-// user-declared constructor", reported in 2009 by Sylvester Hesp:
-// https://connect.microsoft.com/VisualStudio/feedback/details/484295
-// "Presence of copy constructor breaks member class initialization",
-// reported in 2009 by Alex Vakulenko:
-// https://connect.microsoft.com/VisualStudio/feedback/details/499606
-// "Value-initialization in new-expression", reported in 2005 by
-// Pavel Kuznetsov (MetaCommunications Engineering):
-// https://connect.microsoft.com/VisualStudio/feedback/details/100744
-// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
-// (Niels Dekker, LKEB, May 2010)
-# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-
-#ifndef _NATIVE_WCHAR_T_DEFINED
-# define BOOST_NO_INTRINSIC_WCHAR_T
-#endif
-
-#if defined(_WIN32_WCE) || defined(UNDER_CE)
-# define BOOST_NO_SWPRINTF
-#endif
-
-// we have ThreadEx or GetSystemTimeAsFileTime unless we're running WindowsCE
-#if !defined(_WIN32_WCE) && !defined(UNDER_CE)
-# define BOOST_HAS_THREADEX
-# define BOOST_HAS_GETSYSTEMTIMEASFILETIME
-#endif
-
-//
-// check for exception handling support:
-#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-#endif
-
-//
-// __int64 support:
-//
-#if (_MSC_VER >= 1200)
-# define BOOST_HAS_MS_INT64
-#endif
-#if (_MSC_VER >= 1310) && (defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400))
-# define BOOST_HAS_LONG_LONG
-#else
-# define BOOST_NO_LONG_LONG
-#endif
-#if (_MSC_VER >= 1400) && !defined(_DEBUG)
-# define BOOST_HAS_NRVO
-#endif
-//
-// disable Win32 API's if compiler extentions are
-// turned off:
-//
-#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_DISABLE_WIN32)
-# define BOOST_DISABLE_WIN32
-#endif
-#if !defined(_CPPRTTI) && !defined(BOOST_NO_RTTI)
-# define BOOST_NO_RTTI
-#endif
-
-//
-// TR1 features:
-//
-#if _MSC_VER >= 1700
-// # define BOOST_HAS_TR1_HASH // don't know if this is true yet.
-// # define BOOST_HAS_TR1_TYPE_TRAITS // don't know if this is true yet.
-# define BOOST_HAS_TR1_UNORDERED_MAP
-# define BOOST_HAS_TR1_UNORDERED_SET
-#endif
-
-//
-// C++0x features
-//
-// See above for BOOST_NO_LONG_LONG
-
-// C++ features supported by VC++ 10 (aka 2010)
-//
-#if _MSC_VER < 1600
-# define BOOST_NO_CXX11_AUTO_DECLARATIONS
-# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-# define BOOST_NO_CXX11_LAMBDAS
-# define BOOST_NO_CXX11_RVALUE_REFERENCES
-# define BOOST_NO_CXX11_STATIC_ASSERT
-# define BOOST_NO_CXX11_NULLPTR
-# define BOOST_NO_CXX11_DECLTYPE
-#endif // _MSC_VER < 1600
-
-#if _MSC_VER >= 1600
-# define BOOST_HAS_STDINT_H
-#endif
-
-// C++ features supported by VC++ 11 (aka 2012)
-//
-#if _MSC_VER < 1700
-# define BOOST_NO_CXX11_RANGE_BASED_FOR
-# define BOOST_NO_CXX11_SCOPED_ENUMS
-#endif // _MSC_VER < 1700
-
-// C++11 features supported by VC++ 11 (aka 2012) November 2012 CTP
-// Because the CTP is unsupported, unrelease, and only alpha quality,
-// it is only supported if BOOST_MSVC_ENABLE_2012_NOV_CTP is defined.
-//
-#if _MSC_FULL_VER < 170051025 || !defined(BOOST_MSVC_ENABLE_2012_NOV_CTP)
-# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-# define BOOST_NO_CXX11_RAW_LITERALS
-# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#endif
-
-// C++11 features not supported by any versions
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-
-//
-// 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
-
-#ifndef BOOST_COMPILER
-// 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
- // Note: I'm not aware of any CE compiler with version 13xx
-# 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
-# elif _MSC_VER < 1500
-# define BOOST_COMPILER_VERSION evc8
-# elif _MSC_VER < 1600
-# define BOOST_COMPILER_VERSION evc9
-# elif _MSC_VER < 1700
-# define BOOST_COMPILER_VERSION evc10
-# elif _MSC_VER < 1800
-# define BOOST_COMPILER_VERSION evc11
-# 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 < 1310
-# define BOOST_COMPILER_VERSION 7.0
-# elif _MSC_VER < 1400
-# define BOOST_COMPILER_VERSION 7.1
-# elif _MSC_VER < 1500
-# define BOOST_COMPILER_VERSION 8.0
-# elif _MSC_VER < 1600
-# define BOOST_COMPILER_VERSION 9.0
-# elif _MSC_VER < 1700
-# define BOOST_COMPILER_VERSION 10.0
-# elif _MSC_VER < 1800
-# define BOOST_COMPILER_VERSION 11.0
-# else
-# define BOOST_COMPILER_VERSION _MSC_VER
-# endif
-# endif
-
-# define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
-#endif
-
-//
-// last known and checked version is 1700 (VC11, aka 2011):
-#if (_MSC_VER > 1700)
-# 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/terraingen/oldtgen/include/boost/config/no_tr1/cmath.hpp b/terraingen/oldtgen/include/boost/config/no_tr1/cmath.hpp
deleted file mode 100644
index d8268d84..00000000
--- a/terraingen/oldtgen/include/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 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
-
-# ifdef BOOST_CONFIG_NO_CMATH_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# undef BOOST_CONFIG_NO_CMATH_RECURSION
-# endif
-
-#endif
diff --git a/terraingen/oldtgen/include/boost/config/no_tr1/complex.hpp b/terraingen/oldtgen/include/boost/config/no_tr1/complex.hpp
deleted file mode 100644
index ca200922..00000000
--- a/terraingen/oldtgen/include/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 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
-
-# ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# undef BOOST_CONFIG_NO_COMPLEX_RECURSION
-# endif
-
-#endif
diff --git a/terraingen/oldtgen/include/boost/config/no_tr1/functional.hpp b/terraingen/oldtgen/include/boost/config/no_tr1/functional.hpp
deleted file mode 100644
index e395efc1..00000000
--- a/terraingen/oldtgen/include/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 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
-
-# ifdef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# undef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
-# endif
-
-#endif
diff --git a/terraingen/oldtgen/include/boost/config/no_tr1/memory.hpp b/terraingen/oldtgen/include/boost/config/no_tr1/memory.hpp
deleted file mode 100644
index 2b5d2080..00000000
--- a/terraingen/oldtgen/include/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 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
-
-# ifdef BOOST_CONFIG_NO_MEMORY_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# undef BOOST_CONFIG_NO_MEMORY_RECURSION
-# endif
-
-#endif
diff --git a/terraingen/oldtgen/include/boost/config/no_tr1/utility.hpp b/terraingen/oldtgen/include/boost/config/no_tr1/utility.hpp
deleted file mode 100644
index dea8f115..00000000
--- a/terraingen/oldtgen/include/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 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
-
-# ifdef BOOST_CONFIG_NO_UTILITY_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# undef BOOST_CONFIG_NO_UTILITY_RECURSION
-# endif
-
-#endif
diff --git a/terraingen/oldtgen/include/boost/config/platform/aix.hpp b/terraingen/oldtgen/include/boost/config/platform/aix.hpp
deleted file mode 100644
index 894ef42c..00000000
--- a/terraingen/oldtgen/include/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 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
-
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/platform/amigaos.hpp b/terraingen/oldtgen/include/boost/config/platform/amigaos.hpp
deleted file mode 100644
index 34bcf412..00000000
--- a/terraingen/oldtgen/include/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/terraingen/oldtgen/include/boost/config/platform/beos.hpp b/terraingen/oldtgen/include/boost/config/platform/beos.hpp
deleted file mode 100644
index 48c3d8dc..00000000
--- a/terraingen/oldtgen/include/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
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/platform/bsd.hpp b/terraingen/oldtgen/include/boost/config/platform/bsd.hpp
deleted file mode 100644
index a0142978..00000000
--- a/terraingen/oldtgen/include/boost/config/platform/bsd.hpp
+++ /dev/null
@@ -1,86 +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 but does not
-// advertise the fact in :
-//
-#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
-// and not in
-//
-#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3))\
- || defined(__OpenBSD__) || defined(__DragonFly__)
-# 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)) \
- || (defined(__NetBSD_GCC__) && (__NetBSD_GCC__ >= 2095003)) || defined(__DragonFly__))
-# define BOOST_NO_CWCHAR
-#endif
-//
-// The BSD has macros only, no functions:
-//
-#if !defined(__OpenBSD__) || defined(__DragonFly__)
-# 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
-
-
-
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/platform/cray.hpp b/terraingen/oldtgen/include/boost/config/platform/cray.hpp
deleted file mode 100644
index 5c476e41..00000000
--- a/terraingen/oldtgen/include/boost/config/platform/cray.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-// (C) Copyright John Maddock 2011.
-// 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 "Cray"
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/platform/cygwin.hpp b/terraingen/oldtgen/include/boost/config/platform/cygwin.hpp
deleted file mode 100644
index b7ef572f..00000000
--- a/terraingen/oldtgen/include/boost/config/platform/cygwin.hpp
+++ /dev/null
@@ -1,58 +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_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
-#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
-#ifdef _STDINT_H
-#define BOOST_HAS_STDINT_H
-#endif
-
-/// Cygwin has no fenv.h
-#define BOOST_NO_FENV_H
-
-// boilerplate code:
-#include
-
-//
-// Cygwin lies about XSI conformance, there is no nl_types.h:
-//
-#ifdef BOOST_HAS_NL_TYPES_H
-# undef BOOST_HAS_NL_TYPES_H
-#endif
-
-
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/platform/hpux.hpp b/terraingen/oldtgen/include/boost/config/platform/hpux.hpp
deleted file mode 100644
index 19ce68e5..00000000
--- a/terraingen/oldtgen/include/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 under the name
-// 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
-
-// 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/terraingen/oldtgen/include/boost/config/platform/irix.hpp b/terraingen/oldtgen/include/boost/config/platform/irix.hpp
deleted file mode 100644
index aeae49c8..00000000
--- a/terraingen/oldtgen/include/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
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/platform/linux.hpp b/terraingen/oldtgen/include/boost/config/platform/linux.hpp
deleted file mode 100644
index a02aff78..00000000
--- a/terraingen/oldtgen/include/boost/config/platform/linux.hpp
+++ /dev/null
@@ -1,103 +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
-#ifdef __cplusplus
-#include
-#else
-#include
-#endif
-
-//
-// added to glibc 2.1.1
-// We can only test for 2.1 though:
-//
-#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)))
- // defines int64_t unconditionally, but defines
- // int64_t only if __GNUC__. Thus, assume a fully usable
- // 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
-#define BOOST_HAS_PTHREAD_YIELD
-
-#ifndef __GNUC__
-//
-// if the compiler is not gcc we still need to be able to parse
-// the GNU system headers, some of which (mainly )
-// 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/terraingen/oldtgen/include/boost/config/platform/macos.hpp b/terraingen/oldtgen/include/boost/config/platform/macos.hpp
deleted file mode 100644
index 6d876b12..00000000
--- a/terraingen/oldtgen/include/boost/config/platform/macos.hpp
+++ /dev/null
@@ -1,87 +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
-// to replace the platform-native BSD one. G++ users
-// should also always be able to do this on MaxOS X.
-//
-# include
-# 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 , 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)
-// MPTasks support is deprecated/removed from Boost:
-//# 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
-
-#ifdef BOOST_HAS_PTHREADS
-# define BOOST_HAS_THREADS
-#endif
-
-// The remote call manager depends on this.
-# define BOOST_BIND_ENABLE_PASCAL
-
-# endif
-
-#endif
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/platform/qnxnto.hpp b/terraingen/oldtgen/include/boost/config/platform/qnxnto.hpp
deleted file mode 100644
index b1377c8d..00000000
--- a/terraingen/oldtgen/include/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
-
-// 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/terraingen/oldtgen/include/boost/config/platform/solaris.hpp b/terraingen/oldtgen/include/boost/config/platform/solaris.hpp
deleted file mode 100644
index 9f925666..00000000
--- a/terraingen/oldtgen/include/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
-
-//
-// 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/terraingen/oldtgen/include/boost/config/platform/symbian.hpp b/terraingen/oldtgen/include/boost/config/platform/symbian.hpp
deleted file mode 100644
index e02a7782..00000000
--- a/terraingen/oldtgen/include/boost/config/platform/symbian.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// (C) Copyright Yuriy Krasnoschek 2009.
-// (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.
-
-// symbian specific config options:
-
-
-#define BOOST_PLATFORM "Symbian"
-#define BOOST_SYMBIAN 1
-
-
-#if defined(__S60_3X__)
-// Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL
-# define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK
-// make sure we have __GLIBC_PREREQ if available at all
-#ifdef __cplusplus
-#include
-#else
-#include
-#endif// boilerplate code:
-# define BOOST_HAS_UNISTD_H
-# include
-// S60 SDK defines _POSIX_VERSION as POSIX.1
-# ifndef BOOST_HAS_STDINT_H
-# define BOOST_HAS_STDINT_H
-# endif
-# ifndef BOOST_HAS_GETTIMEOFDAY
-# define BOOST_HAS_GETTIMEOFDAY
-# endif
-# ifndef BOOST_HAS_DIRENT_H
-# define BOOST_HAS_DIRENT_H
-# endif
-# ifndef BOOST_HAS_SIGACTION
-# define BOOST_HAS_SIGACTION
-# endif
-# ifndef BOOST_HAS_PTHREADS
-# define BOOST_HAS_PTHREADS
-# endif
-# ifndef BOOST_HAS_NANOSLEEP
-# define BOOST_HAS_NANOSLEEP
-# 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_LOG1P
-# define BOOST_HAS_LOG1P
-# endif
-# ifndef BOOST_HAS_EXPM1
-# define BOOST_HAS_EXPM1
-# endif
-# ifndef BOOST_POSIX_API
-# define BOOST_POSIX_API
-# endif
-// endianess support
-# include
-// Symbian SDK provides _BYTE_ORDER instead of __BYTE_ORDER
-# ifndef __LITTLE_ENDIAN
-# ifdef _LITTLE_ENDIAN
-# define __LITTLE_ENDIAN _LITTLE_ENDIAN
-# else
-# define __LITTLE_ENDIAN 1234
-# endif
-# endif
-# ifndef __BIG_ENDIAN
-# ifdef _BIG_ENDIAN
-# define __BIG_ENDIAN _BIG_ENDIAN
-# else
-# define __BIG_ENDIAN 4321
-# endif
-# endif
-# ifndef __BYTE_ORDER
-# define __BYTE_ORDER __LITTLE_ENDIAN // Symbian is LE
-# endif
-// Known limitations
-# define BOOST_ASIO_DISABLE_SERIAL_PORT
-# define BOOST_DATE_TIME_NO_LOCALE
-# define BOOST_NO_STD_WSTRING
-# define BOOST_EXCEPTION_DISABLE
-# define BOOST_NO_EXCEPTIONS
-
-#else // TODO: More platform support e.g. UIQ
-# error "Unsuppoted Symbian SDK"
-#endif
-
-#if defined(__WINSCW__) && !defined(BOOST_DISABLE_WIN32)
-# define BOOST_DISABLE_WIN32 // winscw defines WIN32 macro
-#endif
-
-
diff --git a/terraingen/oldtgen/include/boost/config/platform/vms.hpp b/terraingen/oldtgen/include/boost/config/platform/vms.hpp
deleted file mode 100644
index f70efcfb..00000000
--- a/terraingen/oldtgen/include/boost/config/platform/vms.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// (C) Copyright Artyom Beilis 2010.
-// 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_PLATFORM_VMS_HPP
-#define BOOST_CONFIG_PLATFORM_VMS_HPP
-
-#define BOOST_PLATFORM "OpenVMS"
-
-#undef BOOST_HAS_STDINT_H
-#define BOOST_HAS_UNISTD_H
-#define BOOST_HAS_NL_TYPES_H
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_CLOCK_GETTIME
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#define BOOST_HAS_LOG1P
-#define BOOST_HAS_EXPM1
-#define BOOST_HAS_THREADS
-#undef BOOST_HAS_SCHED_YIELD
-
-#endif
diff --git a/terraingen/oldtgen/include/boost/config/platform/vxworks.hpp b/terraingen/oldtgen/include/boost/config/platform/vxworks.hpp
deleted file mode 100644
index cdda0158..00000000
--- a/terraingen/oldtgen/include/boost/config/platform/vxworks.hpp
+++ /dev/null
@@ -1,369 +0,0 @@
-// (C) Copyright Dustin Spicuzza 2009.
-// Adapted to vxWorks 6.9 by Peter Brockamp 2012.
-// 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.
-
-// Since WRS does not yet properly support boost under vxWorks
-// and this file was badly outdated, but I was keen on using it,
-// I patched boost myself to make things work. This has been tested
-// and adapted by me for vxWorks 6.9 *only*, as I'm lacking access
-// to earlier 6.X versions! The only thing I know for sure is that
-// very old versions of vxWorks (namely everything below 6.x) are
-// absolutely unable to use boost. This is mainly due to the completely
-// outdated libraries and ancient compiler (GCC 2.96 or worse). Do
-// not even think of getting this to work, a miserable failure will
-// be guaranteed!
-// Equally, this file has been tested for RTPs (Real Time Processes)
-// only, not for DKMs (Downloadable Kernel Modules). These two types
-// of executables differ largely in the available functionality of
-// the C-library, STL, and so on. A DKM uses a library similar to those
-// of vxWorks 5.X - with all its limitations and incompatibilities
-// with respect to ANSI C++ and STL. So probably there might be problems
-// with the usage of boost from DKMs. WRS or any voluteers are free to
-// prove the opposite!
-
-// ====================================================================
-//
-// Some important information regarding the usage of POSIX semaphores:
-// -------------------------------------------------------------------
-//
-// VxWorks as a real time operating system handles threads somewhat
-// different from what "normal" OSes do, regarding their scheduling!
-// This could lead to a scenario called "priority inversion" when using
-// semaphores, see http://en.wikipedia.org/wiki/Priority_inversion.
-//
-// Now, VxWorks POSIX-semaphores for DKM's default to the usage of
-// priority inverting semaphores, which is fine. On the other hand,
-// for RTP's it defaults to using non priority inverting semaphores,
-// which could easily pose a serious problem for a real time process,
-// i.e. deadlocks! To overcome this two possibilities do exist:
-//
-// a) Patch every piece of boost that uses semaphores to instanciate
-// the proper type of semaphores. This is non-intrusive with respect
-// to the OS and could relatively easy been done by giving all
-// semaphores attributes deviating from the default (for in-depth
-// information see the POSIX functions pthread_mutexattr_init()
-// and pthread_mutexattr_setprotocol()). However this breaks all
-// too easily, as with every new version some boost library could
-// all in a sudden start using semaphores, resurrecting the very
-// same, hard to locate problem over and over again!
-//
-// b) We could change the default properties for POSIX-semaphores
-// that VxWorks uses for RTP's and this is being suggested here,
-// as it will more or less seamlessly integrate with boost. I got
-// the following information from WRS how to do this, compare
-// Wind River TSR# 1209768:
-//
-// Instructions for changing the default properties of POSIX-
-// semaphores for RTP's in VxWorks 6.9:
-// - Edit the file /vxworks-6.9/target/usr/src/posix/pthreadLib.c
-// in the root of your Workbench-installation.
-// - Around line 917 there should be the definition of the default
-// mutex attributes:
-//
-// LOCAL pthread_mutexattr_t defaultMutexAttr =
-// {
-// PTHREAD_INITIALIZED_OBJ, PTHREAD_PRIO_NONE, 0,
-// PTHREAD_MUTEX_DEFAULT
-// };
-//
-// Here, replace PTHREAD_PRIO_NONE by PTHREAD_PRIO_INHERIT.
-// - Around line 1236 there should be a definition for the function
-// pthread_mutexattr_init(). A couple of lines below you should
-// find a block of code like this:
-//
-// pAttr->mutexAttrStatus = PTHREAD_INITIALIZED_OBJ;
-// pAttr->mutexAttrProtocol = PTHREAD_PRIO_NONE;
-// pAttr->mutexAttrPrioceiling = 0;
-// pAttr->mutexAttrType = PTHREAD_MUTEX_DEFAULT;
-//
-// Here again, replace PTHREAD_PRIO_NONE by PTHREAD_PRIO_INHERIT.
-// - Finally, rebuild your VSB. This will create a new VxWorks kernel
-// with the changed properties. That's it! Now, using boost should
-// no longer cause any problems with task deadlocks!
-//
-// And here's another useful piece of information concerning VxWorks'
-// POSIX-functionality in general:
-// VxWorks is not a genuine POSIX-OS in itself, rather it is using a
-// kind of compatibility layer (sort of a wrapper) to emulate the
-// POSIX-functionality by using its own resources and functions.
-// At the time a task (thread) calls it's first POSIX-function during
-// runtime it is being transformed by the OS into a POSIX-thread.
-// This transformation does include a call to malloc() to allocate the
-// memory required for the housekeeping of POSIX-threads. In a high
-// priority RTP this malloc() call may be highly undesirable, as its
-// timing is more or less unpredictable (depending on what your actual
-// heap looks like). You can circumvent this problem by calling the
-// function thread_self() at a well defined point in the code of the
-// task, e.g. shortly after the task spawns up. Thereby you are able
-// to define the time when the task-transformation will take place and
-// you could shift it to an uncritical point where a malloc() call is
-// tolerable. So, if this could pose a problem for your code, remember
-// to call thread_self() from the affected task at an early stage.
-//
-// ====================================================================
-
-// Block out all versions before vxWorks 6.x, as these don't work:
-// Include header with the vxWorks version information and query them
-#include
-#if !defined(_WRS_VXWORKS_MAJOR) || (_WRS_VXWORKS_MAJOR < 6)
-# error "The vxWorks version you're using is so badly outdated,\
- it doesn't work at all with boost, sorry, no chance!"
-#endif
-
-// Handle versions above 5.X but below 6.9
-#if (_WRS_VXWORKS_MAJOR == 6) && (_WRS_VXWORKS_MINOR < 9)
-// TODO: Starting from what version does vxWorks work with boost?
-// We can't reasonably insert a #warning "" as a user hint here,
-// as this will show up with every file including some boost header,
-// badly bugging the user... So for the time being we just leave it.
-#endif
-
-// vxWorks specific config options:
-// --------------------------------
-#define BOOST_PLATFORM "vxWorks"
-
-// Special behaviour for DKMs:
-#ifdef _WRS_KERNEL
- // DKMs do not have the -header,
- // but apparently they do have an intrinsic wchar_t meanwhile!
-# define BOOST_NO_CWCHAR
-
- // Lots of wide-functions and -headers are unavailable for DKMs as well:
-# define BOOST_NO_CWCTYPE
-# define BOOST_NO_SWPRINTF
-# define BOOST_NO_STD_WSTRING
-# define BOOST_NO_STD_WSTREAMBUF
-#endif
-
-// Generally available headers:
-#define BOOST_HAS_UNISTD_H
-#define BOOST_HAS_STDINT_H
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_SLIST
-
-// vxWorks does not have installed an iconv-library by default,
-// so unfortunately no Unicode support from scratch is available!
-// Thus, instead it is suggested to switch to ICU, as this seems
-// to be the most complete and portable option...
-#define BOOST_LOCALE_WITH_ICU
-
-// Generally available functionality:
-#define BOOST_HAS_THREADS
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_CLOCK_GETTIME
-#define BOOST_HAS_MACRO_USE_FACET
-
-// Generally unavailable functionality, delivered by boost's test function:
-//#define BOOST_NO_DEDUCED_TYPENAME // Commented this out, boost's test gives an errorneous result!
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-
-// Generally available threading API's:
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_SCHED_YIELD
-#define BOOST_HAS_SIGACTION
-
-// Functionality available for RTPs only:
-#ifdef __RTP__
-# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-# define BOOST_HAS_LOG1P
-# define BOOST_HAS_EXPM1
-#endif
-
-// Functionality available for DKMs only:
-#ifdef _WRS_KERNEL
- // Luckily, at the moment there seems to be none!
-#endif
-
-// These #defines allow posix_features to work, since vxWorks doesn't
-// #define them itself for DKMs (for RTPs on the contrary it does):
-#ifdef _WRS_KERNEL
-# ifndef _POSIX_TIMERS
-# define _POSIX_TIMERS 1
-# endif
-# ifndef _POSIX_THREADS
-# define _POSIX_THREADS 1
-# endif
-#endif
-
-// vxWorks doesn't work with asio serial ports:
-#define BOOST_ASIO_DISABLE_SERIAL_PORT
-// TODO: The problem here seems to bee that vxWorks uses its own, very specific
-// ways to handle serial ports, incompatible with POSIX or anything...
-// Maybe a specific implementation would be possible, but until the
-// straight need arises... This implementation would presumably consist
-// of some vxWorks specific ioctl-calls, etc. Any voluteers?
-
-// vxWorks-around: #defines CLOCKS_PER_SEC as sysClkRateGet() but
-// miserably fails to #include the required to make
-// sysClkRateGet() available! So we manually include it here.
-#ifdef __RTP__
-# include
-# include
-#endif
-
-// vxWorks-around: In the macros INT32_C(), UINT32_C(), INT64_C() and
-// UINT64_C() are defined errorneously, yielding not a signed/
-// unsigned long/long long type, but a signed/unsigned int/long
-// type. Eventually this leads to compile errors in ratio_fwd.hpp,
-// when trying to define several constants which do not fit into a
-// long type! We correct them here by redefining.
-#include
-
-// Some macro-magic to do the job
-#define VX_JOIN(X, Y) VX_DO_JOIN(X, Y)
-#define VX_DO_JOIN(X, Y) VX_DO_JOIN2(X, Y)
-#define VX_DO_JOIN2(X, Y) X##Y
-
-// Correctly setup the macros
-#undef INT32_C
-#undef UINT32_C
-#undef INT64_C
-#undef UINT64_C
-#define INT32_C(x) VX_JOIN(x, L)
-#define UINT32_C(x) VX_JOIN(x, UL)
-#define INT64_C(x) VX_JOIN(x, LL)
-#define UINT64_C(x) VX_JOIN(x, ULL)
-
-// #include Libraries required for the following function adaption
-#include
-#include
-#include
-
-// Use C-linkage for the following helper functions
-extern "C" {
-
-// vxWorks-around: The required functions getrlimit() and getrlimit() are missing.
-// But we have the similar functions getprlimit() and setprlimit(),
-// which may serve the purpose.
-// Problem: The vxWorks-documentation regarding these functions
-// doesn't deserve its name! It isn't documented what the first two
-// parameters idtype and id mean, so we must fall back to an educated
-// guess - null, argh... :-/
-
-// TODO: getprlimit() and setprlimit() do exist for RTPs only, for whatever reason.
-// Thus for DKMs there would have to be another implementation.
-#ifdef __RTP__
- inline int getrlimit(int resource, struct rlimit *rlp){
- return getprlimit(0, 0, resource, rlp);
- }
-
- inline int setrlimit(int resource, const struct rlimit *rlp){
- return setprlimit(0, 0, resource, const_cast(rlp));
- }
-#endif
-
-// vxWorks has ftruncate() only, so we do simulate truncate():
-inline int truncate(const char *p, off_t l){
- int fd = open(p, O_WRONLY);
- if (fd == -1){
- errno = EACCES;
- return -1;
- }
- if (ftruncate(fd, l) == -1){
- close(fd);
- errno = EACCES;
- return -1;
- }
- return close(fd);
-}
-
-// Fake symlink handling by dummy functions:
-inline int symlink(const char*, const char*){
- // vxWorks has no symlinks -> always return an error!
- errno = EACCES;
- return -1;
-}
-
-inline ssize_t readlink(const char*, char*, size_t){
- // vxWorks has no symlinks -> always return an error!
- errno = EACCES;
- return -1;
-}
-
-// vxWorks claims to implement gettimeofday in sys/time.h
-// but nevertheless does not provide it! See
-// https://support.windriver.com/olsPortal/faces/maintenance/techtipDetail_noHeader.jspx?docId=16442&contentId=WR_TECHTIP_006256
-// We implement a surrogate version here via clock_gettime:
-inline int gettimeofday(struct timeval *tv, void * /*tzv*/) {
- struct timespec ts;
- clock_gettime(CLOCK_MONOTONIC, &ts);
- tv->tv_sec = ts.tv_sec;
- tv->tv_usec = ts.tv_nsec / 1000;
- return 0;
-}
-
-// vxWorks does provide neither struct tms nor function times()!
-// We implement an empty dummy-function, simply setting the user
-// and system time to the half of thew actual system ticks-value
-// and the child user and system time to 0.
-// Rather ugly but at least it suppresses compiler errors...
-// Unfortunately, this of course *does* have an severe impact on
-// dependant libraries, actually this is chrono only! Here it will
-// not be possible to correctly use user and system times! But
-// as vxWorks is lacking the ability to calculate user and system
-// process times there seems to be no other possible solution.
-struct tms{
- clock_t tms_utime; // User CPU time
- clock_t tms_stime; // System CPU time
- clock_t tms_cutime; // User CPU time of terminated child processes
- clock_t tms_cstime; // System CPU time of terminated child processes
-};
-
-inline clock_t times(struct tms *t){
- struct timespec ts;
- clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts);
- clock_t ticks(static_cast(static_cast(ts.tv_sec) * CLOCKS_PER_SEC +
- static_cast(ts.tv_nsec) * CLOCKS_PER_SEC / 1000000.0));
- t->tms_utime = ticks/2U;
- t->tms_stime = ticks/2U;
- t->tms_cutime = 0; // vxWorks is lacking the concept of a child process!
- t->tms_cstime = 0; // -> Set the wait times for childs to 0
- return ticks;
-}
-
-} // extern "C"
-
-// Put the selfmade functions into the std-namespace, just in case
-namespace std {
-# ifdef __RTP__
- using ::getrlimit;
- using ::setrlimit;
-# endif
- using ::truncate;
- using ::symlink;
- using ::readlink;
- using ::times;
- using ::gettimeofday;
-}
-
-// Some more macro-magic:
-// vxWorks-around: Some functions are not present or broken in vxWorks
-// but may be patched to life via helper macros...
-
-// Include signal.h which might contain a typo to be corrected here
-#include
-
-#define getpagesize() sysconf(_SC_PAGESIZE) // getpagesize is deprecated anyway!
-#ifndef S_ISSOCK
-# define S_ISSOCK(mode) ((mode & S_IFMT) == S_IFSOCK) // Is file a socket?
-#endif
-#define lstat(p, b) stat(p, b) // lstat() == stat(), as vxWorks has no symlinks!
-#ifndef FPE_FLTINV
-# define FPE_FLTINV (FPE_FLTSUB+1) // vxWorks has no FPE_FLTINV, so define one as a dummy
-#endif
-#if !defined(BUS_ADRALN) && defined(BUS_ADRALNR)
-# define BUS_ADRALN BUS_ADRALNR // Correct a supposed typo in vxWorks'
-#endif
-//typedef int locale_t; // locale_t is a POSIX-extension, currently unpresent in vxWorks!
-
-// #include boilerplate code:
-#include
-
-// vxWorks lies about XSI conformance, there is no nl_types.h:
-#undef BOOST_HAS_NL_TYPES_H
diff --git a/terraingen/oldtgen/include/boost/config/platform/win32.hpp b/terraingen/oldtgen/include/boost/config/platform/win32.hpp
deleted file mode 100644
index 6ab59f4e..00000000
--- a/terraingen/oldtgen/include/boost/config/platform/win32.hpp
+++ /dev/null
@@ -1,73 +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
-
-// Default defines for BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT
-// If a compiler doesn't support __declspec(dllexport)/__declspec(dllimport),
-// its boost/config/compiler/ file must define BOOST_SYMBOL_EXPORT and
-// BOOST_SYMBOL_IMPORT
-#ifndef BOOST_SYMBOL_EXPORT
-# define BOOST_HAS_DECLSPEC
-# define BOOST_SYMBOL_EXPORT __declspec(dllexport)
-# define BOOST_SYMBOL_IMPORT __declspec(dllimport)
-#endif
-
-#if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0)))
-# define BOOST_HAS_STDINT_H
-# ifndef __STDC_LIMIT_MACROS
-# define __STDC_LIMIT_MACROS
-# endif
-# define BOOST_HAS_DIRENT_H
-# define BOOST_HAS_UNISTD_H
-#endif
-
-#if defined(__MINGW32__) && (__GNUC__ >= 4)
-# define BOOST_HAS_EXPM1
-# define BOOST_HAS_LOG1P
-# define BOOST_HAS_GETTIMEOFDAY
-#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
-#else
-# define BOOST_HAS_GETSYSTEMTIMEASFILETIME
-#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/terraingen/oldtgen/include/boost/config/posix_features.hpp b/terraingen/oldtgen/include/boost/config/posix_features.hpp
deleted file mode 100644
index d1295479..00000000
--- a/terraingen/oldtgen/include/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
-
- // XOpen has , 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
-# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100)
-# define BOOST_HAS_STDINT_H
-# endif
-
- // POSIX version 2 requires
-# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L)
-# define BOOST_HAS_DIRENT_H
-# endif
-
- // POSIX version 3 requires 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 , 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/terraingen/oldtgen/include/boost/config/requires_threads.hpp b/terraingen/oldtgen/include/boost/config/requires_threads.hpp
deleted file mode 100644
index cfaff230..00000000
--- a/terraingen/oldtgen/include/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
-#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/terraingen/oldtgen/include/boost/config/select_compiler_config.hpp b/terraingen/oldtgen/include/boost/config/select_compiler_config.hpp
deleted file mode 100644
index 8683d658..00000000
--- a/terraingen/oldtgen/include/boost/config/select_compiler_config.hpp
+++ /dev/null
@@ -1,112 +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.
-
-// 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(_CRAYC)
-// EDG based Cray compiler:
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/cray.hpp"
-
-#elif defined __CUDACC__
-// NVIDIA CUDA C++ compiler for GPU
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/nvcc.hpp"
-
-#elif defined __COMO__
-// Comeau C++
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"
-
-#elif defined(__PATHSCALE__) && (__PATHCC__ >= 4)
-// PathScale EKOPath compiler (has to come before clang and gcc)
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/pathscale.hpp"
-
-#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
-// Intel
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
-
-#elif defined __clang__
-// Clang C++ emulates GCC, so it has to appear early.
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp"
-
-#elif defined __DMC__
-// Digital Mars C++
-# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.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/terraingen/oldtgen/include/boost/config/select_platform_config.hpp b/terraingen/oldtgen/include/boost/config/select_platform_config.hpp
deleted file mode 100644
index 2af61d2d..00000000
--- a/terraingen/oldtgen/include/boost/config/select_platform_config.hpp
+++ /dev/null
@@ -1,105 +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
-// 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__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)
-// linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though?
-# 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"
-
-#elif defined(__VXWORKS__)
-// vxWorks:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp"
-
-#elif defined(__SYMBIAN32__)
-// Symbian:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp"
-
-#elif defined(_CRAYC)
-// Cray:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/cray.hpp"
-
-#elif defined(__VMS)
-// VMS:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.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
-
-# 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/terraingen/oldtgen/include/boost/config/select_stdlib_config.hpp b/terraingen/oldtgen/include/boost/config/select_stdlib_config.hpp
deleted file mode 100644
index 96ede002..00000000
--- a/terraingen/oldtgen/include/boost/config/select_stdlib_config.hpp
+++ /dev/null
@@ -1,85 +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:
-
-// First include to determine if some version of STLport is in use as the std lib
-// (do not rely on this header being included since users can short-circuit this header
-// if they know whose std lib they are using.)
-#ifdef __cplusplus
-# include
-#else
-# include
-#endif
-
-#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"
-
-#else
-
-// If our std lib was not some version of STLport, then include as it is about
-// the smallest of the std lib headers that includes real C++ stuff. (Some std libs do not
-// include their C++-related macros in so this additional include makes sure
-// we get those definitions)
-// (again do not rely on this header being included since users can short-circuit this
-// header if they know whose std lib they are using.)
-#include
-
-#if 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(_LIBCPP_VERSION)
-// libc++
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcpp.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
-
-#endif
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/stdlib/dinkumware.hpp b/terraingen/oldtgen/include/boost/config/stdlib/dinkumware.hpp
deleted file mode 100644
index cef6ff24..00000000
--- a/terraingen/oldtgen/include/boost/config/stdlib/dinkumware.hpp
+++ /dev/null
@@ -1,155 +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
-#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
-# define BOOST_NO_EXCEPTION_STD_NAMESPACE
-# endif
-// There's no numeric_limits 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) & ,
-// and no 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, as does MTA version.
-# ifndef __MTA__
-# define BOOST_NO_STD_MIN_MAX
-# endif
-# 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
-// this may be an overly restrictive define, but regex fails without it:
-# define BOOST_NO_STD_LOCALE
-#endif
-
-#include
-#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__)
-# define BOOST_NO_STD_TYPEINFO
-#endif
-
-// C++0x headers implemented in 520 (as shipped by Microsoft)
-//
-#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 520
-# define BOOST_NO_CXX11_HDR_ARRAY
-# define BOOST_NO_CXX11_HDR_CODECVT
-# define BOOST_NO_CXX11_HDR_FORWARD_LIST
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# define BOOST_NO_CXX11_HDR_RANDOM
-# define BOOST_NO_CXX11_HDR_REGEX
-# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-# define BOOST_NO_CXX11_HDR_UNORDERED_SET
-# define BOOST_NO_CXX11_HDR_TUPLE
-# define BOOST_NO_CXX11_HDR_TYPEINDEX
-# define BOOST_NO_CXX11_HDR_FUNCTIONAL
-# define BOOST_NO_CXX11_NUMERIC_LIMITS
-# define BOOST_NO_CXX11_SMART_PTR
-#endif
-
-#if (!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(BOOST_NO_CXX11_HDR_TUPLE)
-# define BOOST_NO_CXX11_HDR_TUPLE
-#endif
-
-// C++0x headers implemented in 540 (as shipped by Microsoft)
-//
-#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 540
-# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-# define BOOST_NO_CXX11_HDR_CHRONO
-# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-# define BOOST_NO_CXX11_HDR_FUTURE
-# define BOOST_NO_CXX11_HDR_MUTEX
-# define BOOST_NO_CXX11_HDR_RATIO
-# define BOOST_NO_CXX11_HDR_THREAD
-# define BOOST_NO_CXX11_ALLOCATOR
-# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#endif
-
-//
-// C++0x headers not yet (fully) implemented:
-//
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-
-#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/terraingen/oldtgen/include/boost/config/stdlib/libcomo.hpp b/terraingen/oldtgen/include/boost/config/stdlib/libcomo.hpp
deleted file mode 100644
index 29490f1b..00000000
--- a/terraingen/oldtgen/include/boost/config/stdlib/libcomo.hpp
+++ /dev/null
@@ -1,72 +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
-# if !defined(__LIBCOMO__)
-# error "This is not the Comeau STL!"
-# endif
-#endif
-
-//
-// std::streambuf 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
-
-// C++0x headers not yet implemented
-//
-# define BOOST_NO_CXX11_HDR_ARRAY
-# define BOOST_NO_CXX11_HDR_CHRONO
-# define BOOST_NO_CXX11_HDR_CODECVT
-# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-# define BOOST_NO_CXX11_HDR_FORWARD_LIST
-# define BOOST_NO_CXX11_HDR_FUTURE
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# define BOOST_NO_CXX11_HDR_MUTEX
-# define BOOST_NO_CXX11_HDR_RANDOM
-# define BOOST_NO_CXX11_HDR_RATIO
-# define BOOST_NO_CXX11_HDR_REGEX
-# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-# define BOOST_NO_CXX11_HDR_THREAD
-# define BOOST_NO_CXX11_HDR_TUPLE
-# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-# define BOOST_NO_CXX11_HDR_TYPEINDEX
-# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-# define BOOST_NO_CXX11_HDR_UNORDERED_SET
-# define BOOST_NO_CXX11_NUMERIC_LIMITS
-# define BOOST_NO_CXX11_ALLOCATOR
-# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-# define BOOST_NO_CXX11_SMART_PTR
-# define BOOST_NO_CXX11_HDR_FUNCTIONAL
-
-//
-// 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/terraingen/oldtgen/include/boost/config/stdlib/libcpp.hpp b/terraingen/oldtgen/include/boost/config/stdlib/libcpp.hpp
deleted file mode 100644
index 3d574407..00000000
--- a/terraingen/oldtgen/include/boost/config/stdlib/libcpp.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// (C) Copyright Christopher Jefferson 2011.
-// 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 libc++
-// Might need more in here later.
-
-#if !defined(_LIBCPP_VERSION)
-# include
-# if !defined(_LIBCPP_VERSION)
-# error "This is not libc++!"
-# endif
-#endif
-
-#define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION)
-
-#define BOOST_HAS_THREADS
-
-#ifdef _LIBCPP_HAS_NO_VARIADICS
-# define BOOST_NO_CXX11_HDR_TUPLE
-#endif
-
-//
-// These appear to be unusable/incomplete so far:
-//
-# define BOOST_NO_CXX11_HDR_CHRONO
-# define BOOST_NO_CXX11_HDR_FUTURE
-# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-
-// libc++ uses a non-standard messages_base
-#define BOOST_NO_STD_MESSAGES
-
-// --- end ---
diff --git a/terraingen/oldtgen/include/boost/config/stdlib/libstdcpp3.hpp b/terraingen/oldtgen/include/boost/config/stdlib/libstdcpp3.hpp
deleted file mode 100644
index 976ab76b..00000000
--- a/terraingen/oldtgen/include/boost/config/stdlib/libstdcpp3.hpp
+++ /dev/null
@@ -1,166 +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:
-
-#define BOOST_GNU_STDLIB 1
-
-#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) \
- || defined(_GLIBCXX_HAS_GTHREADS) \
- || defined(_WIN32) \
- || defined(_AIX)
- //
- // 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
-
-// Apple doesn't seem to reliably defined a *unix* macro
-#if !defined(CYGWIN) && ( defined(__unix__) \
- || defined(__unix) \
- || defined(unix) \
- || defined(__APPLE__) \
- || defined(__APPLE) \
- || defined(APPLE))
-# include
-#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
-# if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
-# define BOOST_HASH_SET_HEADER
-# define BOOST_HASH_MAP_HEADER
-# else
-# define BOOST_HASH_SET_HEADER
-# define BOOST_HASH_MAP_HEADER
-# endif
-#endif
-
-// stdlibc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly
-// __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the stdlibc++
-// developers. He also commented:
-//
-// "I'm not sure how useful __GLIBCXX__ is for your purposes, for instance in
-// GCC 4.2.4 it is set to 20080519 but in GCC 4.3.0 it is set to 20080305.
-// Although 4.3.0 was released earlier than 4.2.4, it has better C++0x support
-// than any release in the 4.2 series."
-//
-// Another resource for understanding stdlibc++ features is:
-// http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#manual.intro.status.standard.200x
-
-// C++0x headers in GCC 4.3.0 and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-# define BOOST_NO_CXX11_HDR_ARRAY
-# define BOOST_NO_CXX11_HDR_REGEX
-# define BOOST_NO_CXX11_HDR_TUPLE
-# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-# define BOOST_NO_CXX11_HDR_UNORDERED_SET
-# define BOOST_NO_CXX11_HDR_FUNCTIONAL
-#endif
-
-// C++0x headers in GCC 4.4.0 and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-# define BOOST_NO_CXX11_HDR_FORWARD_LIST
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# define BOOST_NO_CXX11_HDR_MUTEX
-# define BOOST_NO_CXX11_HDR_RATIO
-# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-# define BOOST_NO_CXX11_SMART_PTR
-#else
-# define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
-# define BOOST_HAS_TR1_COMPLEX_OVERLOADS
-#endif
-
-#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1)) && (!defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE) || !defined(BOOST_NO_CXX11_HDR_MUTEX))
-# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-# define BOOST_NO_CXX11_HDR_MUTEX
-#endif
-
-// C++0x features in GCC 4.5.0 and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-# define BOOST_NO_CXX11_NUMERIC_LIMITS
-# define BOOST_NO_CXX11_HDR_FUTURE
-# define BOOST_NO_CXX11_HDR_RANDOM
-#endif
-
-// C++0x features in GCC 4.6.0 and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-# define BOOST_NO_CXX11_HDR_TYPEINDEX
-#endif
-
-// C++0x features in GCC 4.7.0 and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-// Note that although existed prior to 4.7, "stead_clock" is spelled "monotonic_clock"
-// so 4.7.0 is the first truely conforming one.
-# define BOOST_NO_CXX11_HDR_CHRONO
-# define BOOST_NO_CXX11_ALLOCATOR
-#endif
-// C++0x headers not yet (fully!) implemented
-//
-# define BOOST_NO_CXX11_HDR_THREAD
-# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-# define BOOST_NO_CXX11_HDR_CODECVT
-# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-
-// --- end ---
diff --git a/terraingen/oldtgen/include/boost/config/stdlib/modena.hpp b/terraingen/oldtgen/include/boost/config/stdlib/modena.hpp
deleted file mode 100644
index b483b6e0..00000000
--- a/terraingen/oldtgen/include/boost/config/stdlib/modena.hpp
+++ /dev/null
@@ -1,56 +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
-# 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
-
-// C++0x headers not yet implemented
-//
-# define BOOST_NO_CXX11_HDR_ARRAY
-# define BOOST_NO_CXX11_HDR_CHRONO
-# define BOOST_NO_CXX11_HDR_CODECVT
-# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-# define BOOST_NO_CXX11_HDR_FORWARD_LIST
-# define BOOST_NO_CXX11_HDR_FUTURE
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# define BOOST_NO_CXX11_HDR_MUTEX
-# define BOOST_NO_CXX11_HDR_RANDOM
-# define BOOST_NO_CXX11_HDR_RATIO
-# define BOOST_NO_CXX11_HDR_REGEX
-# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-# define BOOST_NO_CXX11_HDR_THREAD
-# define BOOST_NO_CXX11_HDR_TUPLE
-# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-# define BOOST_NO_CXX11_HDR_TYPEINDEX
-# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-# define BOOST_NO_CXX11_HDR_UNORDERED_SET
-# define BOOST_NO_CXX11_NUMERIC_LIMITS
-# define BOOST_NO_CXX11_ALLOCATOR
-# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-# define BOOST_NO_CXX11_SMART_PTR
-# define BOOST_NO_CXX11_HDR_FUNCTIONAL
-
-#define BOOST_STDLIB "Modena C++ standard library"
-
-
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/stdlib/msl.hpp b/terraingen/oldtgen/include/boost/config/stdlib/msl.hpp
deleted file mode 100644
index 4f9a2da6..00000000
--- a/terraingen/oldtgen/include/boost/config/stdlib/msl.hpp
+++ /dev/null
@@ -1,84 +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
-# 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
-#include
-
-#if defined(__MSL__) && (__MSL__ >= 0x5000)
-# define BOOST_HAS_STDINT_H
-# if !defined(__PALMOS_TRAPS__)
-# define BOOST_HAS_UNISTD_H
-# endif
- // boilerplate code:
-# include
-#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
-
-// C++0x headers not yet implemented
-//
-# define BOOST_NO_CXX11_HDR_ARRAY
-# define BOOST_NO_CXX11_HDR_CHRONO
-# define BOOST_NO_CXX11_HDR_CODECVT
-# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-# define BOOST_NO_CXX11_HDR_FORWARD_LIST
-# define BOOST_NO_CXX11_HDR_FUTURE
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# define BOOST_NO_CXX11_HDR_MUTEX
-# define BOOST_NO_CXX11_HDR_RANDOM
-# define BOOST_NO_CXX11_HDR_RATIO
-# define BOOST_NO_CXX11_HDR_REGEX
-# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-# define BOOST_NO_CXX11_HDR_THREAD
-# define BOOST_NO_CXX11_HDR_TUPLE
-# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-# define BOOST_NO_CXX11_HDR_TYPEINDEX
-# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-# define BOOST_NO_CXX11_HDR_UNORDERED_SET
-# define BOOST_NO_CXX11_NUMERIC_LIMITS
-# define BOOST_NO_CXX11_ALLOCATOR
-# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-# define BOOST_NO_CXX11_SMART_PTR
-# define BOOST_NO_CXX11_HDR_FUNCTIONAL
-
-#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
-
-
-
-
-
-
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/stdlib/roguewave.hpp b/terraingen/oldtgen/include/boost/config/stdlib/roguewave.hpp
deleted file mode 100644
index cb80f570..00000000
--- a/terraingen/oldtgen/include/boost/config/stdlib/roguewave.hpp
+++ /dev/null
@@ -1,186 +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:
-
-#define BOOST_RW_STDLIB 1
-
-#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
-# include
-# 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
-
-#if _RWSTD_VER < 0x05000000
-# define BOOST_NO_CXX11_HDR_ARRAY
-#endif
-// type_traits header is incomplete:
-# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-//
-// C++0x headers not yet implemented
-//
-# define BOOST_NO_CXX11_HDR_CHRONO
-# define BOOST_NO_CXX11_HDR_CODECVT
-# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-# define BOOST_NO_CXX11_HDR_FORWARD_LIST
-# define BOOST_NO_CXX11_HDR_FUTURE
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# define BOOST_NO_CXX11_HDR_MUTEX
-# define BOOST_NO_CXX11_HDR_RANDOM
-# define BOOST_NO_CXX11_HDR_RATIO
-# define BOOST_NO_CXX11_HDR_REGEX
-# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-# define BOOST_NO_CXX11_HDR_THREAD
-# define BOOST_NO_CXX11_HDR_TUPLE
-# define BOOST_NO_CXX11_HDR_TYPEINDEX
-# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-# define BOOST_NO_CXX11_HDR_UNORDERED_SET
-# define BOOST_NO_CXX11_NUMERIC_LIMITS
-# define BOOST_NO_CXX11_ALLOCATOR
-# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-# define BOOST_NO_CXX11_SMART_PTR
-# define BOOST_NO_CXX11_HDR_FUNCTIONAL
-
diff --git a/terraingen/oldtgen/include/boost/config/stdlib/sgi.hpp b/terraingen/oldtgen/include/boost/config/stdlib/sgi.hpp
deleted file mode 100644
index ae9b6ad9..00000000
--- a/terraingen/oldtgen/include/boost/config/stdlib/sgi.hpp
+++ /dev/null
@@ -1,148 +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
-# 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
- // 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 .
-# define BOOST_NO_STRINGSTREAM
-#endif
-
-// Apple doesn't seem to reliably defined a *unix* macro
-#if !defined(CYGWIN) && ( defined(__unix__) \
- || defined(__unix) \
- || defined(unix) \
- || defined(__APPLE__) \
- || defined(__APPLE) \
- || defined(APPLE))
-# include
-#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 and no std::wstring:
-//
-#if (defined(__GNUC__) && (__GNUC__ < 3))
-# include
-# if defined(__BASTRING__)
-# define BOOST_NO_LIMITS
-// Note: 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
-
-// C++0x headers not yet implemented
-//
-# define BOOST_NO_CXX11_HDR_ARRAY
-# define BOOST_NO_CXX11_HDR_CHRONO
-# define BOOST_NO_CXX11_HDR_CODECVT
-# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-# define BOOST_NO_CXX11_HDR_FORWARD_LIST
-# define BOOST_NO_CXX11_HDR_FUTURE
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# define BOOST_NO_CXX11_HDR_MUTEX
-# define BOOST_NO_CXX11_HDR_RANDOM
-# define BOOST_NO_CXX11_HDR_RATIO
-# define BOOST_NO_CXX11_HDR_REGEX
-# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-# define BOOST_NO_CXX11_HDR_THREAD
-# define BOOST_NO_CXX11_HDR_TUPLE
-# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-# define BOOST_NO_CXX11_HDR_TYPEINDEX
-# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-# define BOOST_NO_CXX11_HDR_UNORDERED_SET
-# define BOOST_NO_CXX11_NUMERIC_LIMITS
-# define BOOST_NO_CXX11_ALLOCATOR
-# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-# define BOOST_NO_CXX11_SMART_PTR
-# define BOOST_NO_CXX11_HDR_FUNCTIONAL
-
-#define BOOST_STDLIB "SGI standard library"
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/stdlib/stlport.hpp b/terraingen/oldtgen/include/boost/config/stdlib/stlport.hpp
deleted file mode 100644
index bcc30b99..00000000
--- a/terraingen/oldtgen/include/boost/config/stdlib/stlport.hpp
+++ /dev/null
@@ -1,243 +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
-# if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
-# error "This is not STLPort!"
-# endif
-#endif
-
-// Apple doesn't seem to reliably defined a *unix* macro
-#if !defined(CYGWIN) && ( defined(__unix__) \
- || defined(__unix) \
- || defined(unix) \
- || defined(__APPLE__) \
- || defined(__APPLE) \
- || defined(APPLE))
-# include
-#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
-
-#if defined(_STLPORT_VERSION) && (_STLPORT_VERSION >= 0x520)
-# define BOOST_HAS_TR1_UNORDERED_SET
-# define BOOST_HAS_TR1_UNORDERED_MAP
-#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
-namespace std { using ::abs; }
-// and strcmp/strcpy don't get imported either ('cos they are macros)
-#include
-#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, 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 // 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
-
-// C++0x headers not yet implemented
-//
-# define BOOST_NO_CXX11_HDR_ARRAY
-# define BOOST_NO_CXX11_HDR_CHRONO
-# define BOOST_NO_CXX11_HDR_CODECVT
-# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-# define BOOST_NO_CXX11_HDR_FORWARD_LIST
-# define BOOST_NO_CXX11_HDR_FUTURE
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# define BOOST_NO_CXX11_HDR_MUTEX
-# define BOOST_NO_CXX11_HDR_RANDOM
-# define BOOST_NO_CXX11_HDR_RATIO
-# define BOOST_NO_CXX11_HDR_REGEX
-# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-# define BOOST_NO_CXX11_HDR_THREAD
-# define BOOST_NO_CXX11_HDR_TUPLE
-# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-# define BOOST_NO_CXX11_HDR_TYPEINDEX
-# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-# define BOOST_NO_CXX11_HDR_UNORDERED_SET
-# define BOOST_NO_CXX11_NUMERIC_LIMITS
-# define BOOST_NO_CXX11_ALLOCATOR
-# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-# define BOOST_NO_CXX11_SMART_PTR
-# define BOOST_NO_CXX11_HDR_FUNCTIONAL
-
-#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
-
-
-
-
-
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/stdlib/vacpp.hpp b/terraingen/oldtgen/include/boost/config/stdlib/vacpp.hpp
deleted file mode 100644
index 9d169465..00000000
--- a/terraingen/oldtgen/include/boost/config/stdlib/vacpp.hpp
+++ /dev/null
@@ -1,54 +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
-
-// Apple doesn't seem to reliably defined a *unix* macro
-#if !defined(CYGWIN) && ( defined(__unix__) \
- || defined(__unix) \
- || defined(unix) \
- || defined(__APPLE__) \
- || defined(__APPLE) \
- || defined(APPLE))
-# include
-#endif
-
-// C++0x headers not yet implemented
-//
-# define BOOST_NO_CXX11_HDR_ARRAY
-# define BOOST_NO_CXX11_HDR_CHRONO
-# define BOOST_NO_CXX11_HDR_CODECVT
-# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-# define BOOST_NO_CXX11_HDR_FORWARD_LIST
-# define BOOST_NO_CXX11_HDR_FUTURE
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# define BOOST_NO_CXX11_HDR_MUTEX
-# define BOOST_NO_CXX11_HDR_RANDOM
-# define BOOST_NO_CXX11_HDR_RATIO
-# define BOOST_NO_CXX11_HDR_REGEX
-# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-# define BOOST_NO_CXX11_HDR_THREAD
-# define BOOST_NO_CXX11_HDR_TUPLE
-# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-# define BOOST_NO_CXX11_HDR_TYPEINDEX
-# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-# define BOOST_NO_CXX11_HDR_UNORDERED_SET
-# define BOOST_NO_CXX11_NUMERIC_LIMITS
-# define BOOST_NO_CXX11_ALLOCATOR
-# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-# define BOOST_NO_CXX11_SMART_PTR
-# define BOOST_NO_CXX11_HDR_FUNCTIONAL
-
-#define BOOST_STDLIB "Visual Age default standard library"
-
-
-
diff --git a/terraingen/oldtgen/include/boost/config/suffix.hpp b/terraingen/oldtgen/include/boost/config/suffix.hpp
deleted file mode 100644
index 21591c9e..00000000
--- a/terraingen/oldtgen/include/boost/config/suffix.hpp
+++ /dev/null
@@ -1,933 +0,0 @@
-// Boost config.hpp configuration header file ------------------------------//
-// boostinspect:ndprecated_macros -- tell the inspect tool to ignore this 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
-// Copyright (c) 2010 Eric Jourdanneau, Joel Falcou
-// 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
-
-#if defined(__GNUC__) && (__GNUC__ >= 4)
-//
-// Some GCC-4.x versions issue warnings even when __extension__ is used,
-// so use this as a workaround:
-//
-#pragma GCC system_header
-#endif
-
-//
-// ensure that visibility macros are always defined, thus symplifying use
-//
-#ifndef BOOST_SYMBOL_EXPORT
-# define BOOST_SYMBOL_EXPORT
-#endif
-#ifndef BOOST_SYMBOL_IMPORT
-# define BOOST_SYMBOL_IMPORT
-#endif
-#ifndef BOOST_SYMBOL_VISIBLE
-# define BOOST_SYMBOL_VISIBLE
-#endif
-
-//
-// look for long long by looking for the appropriate macros in .
-// 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_NO_LONG_LONG) \
- && !defined(BOOST_MSVC) && !defined(__BORLANDC__)
-# include
-# if (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))
-# define BOOST_HAS_LONG_LONG
-# else
-# define BOOST_NO_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 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 if there is no :
-//
-# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE)
-# define BOOST_NO_CWCTYPE
-# endif
-
-//
-// We can't have a swprintf if there is no :
-//
-# 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(__APPLE__) || defined(__DragonFly__)) \
- && !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 :
-//
-# 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
-#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
-#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
-#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 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;
-// must still be #included in the usual places so that inclusion
-// works as expected with standard conforming compilers. The resulting
-// double inclusion of is harmless.
-
-# if defined(BOOST_NO_STDC_NAMESPACE) && defined(__cplusplus)
-# include
- 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 -----------------------------------------//
-
-# if defined(BOOST_NO_STD_MIN_MAX) && defined(__cplusplus)
-
-namespace std {
- template
- inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {
- return __b < __a ? __b : __a;
- }
- template
- 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(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(0))
-# define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast(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(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 syntax, as a workaround replace:
-//
-// typedef typename A::template rebind binder;
-//
-// with:
-//
-// typedef typename A::BOOST_NESTED_TEMPLATE rebind 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 void f(T, typename T::type);
-// ^^^^^^^^
-// Replace these declarations with:
-//
-// template 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) && defined(__cplusplus)
-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
-// same again for __int128:
-#if defined(BOOST_HAS_INT128) && defined(__cplusplus)
-namespace boost{
-# ifdef __GNUC__
- __extension__ typedef __int128 int128_type;
- __extension__ typedef unsigned __int128 uint128_type;
-# else
- typedef __int128 int128_type;
- typedef unsigned __int128 uint128_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
-// #include
-// #include
-//
-// template
-// void f() { std::cout << n << ' '; }
-//
-// template
-// void g() { std::cout << typeid(T).name() << ' '; }
-//
-// int main() {
-// f<1>();
-// f<2>();
-//
-// g();
-// g();
-// }
-//
-// With VC++ 6.0 the output is:
-//
-// 2 2 double double
-//
-// To fix it, write
-//
-// template
-// void f(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... }
-//
-// template
-// void g(BOOST_EXPLICIT_TEMPLATE_TYPE(T)) { ... }
-//
-
-
-#if defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) && defined(__cplusplus)
-
-# include "boost/type.hpp"
-# include "boost/non_type.hpp"
-
-# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) boost::type* = 0
-# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) boost::type*
-# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) boost::non_type* = 0
-# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) boost::non_type*
-
-# 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
-
-// When BOOST_NO_STD_TYPEINFO is defined, we can just import
-// the global definition into std namespace:
-#if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus)
-#include
-namespace std{ using ::type_info; }
-#endif
-
-// ---------------------------------------------------------------------------//
-
-//
-// 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
-
-//
-// Set some default values GPU support
-//
-# ifndef BOOST_GPU_ENABLED
-# define BOOST_GPU_ENABLED
-# endif
-
-// BOOST_FORCEINLINE ---------------------------------------------//
-// Macro to use in place of 'inline' to force a function to be inline
-#if !defined(BOOST_FORCEINLINE)
-# if defined(_MSC_VER)
-# define BOOST_FORCEINLINE __forceinline
-# elif defined(__GNUC__) && __GNUC__ > 3
- // Clang also defines __GNUC__ (as 4)
-# define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__))
-# else
-# define BOOST_FORCEINLINE inline
-# endif
-#endif
-
-//
-// Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined
-//
-#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276)
-#define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE
-#endif
-
-// -------------------- Deprecated macros for 1.50 ---------------------------
-// These will go away in a future release
-
-// Use BOOST_NO_CXX11_HDR_UNORDERED_SET or BOOST_NO_CXX11_HDR_UNORDERED_MAP
-// instead of BOOST_NO_STD_UNORDERED
-#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) || defined (BOOST_NO_CXX11_HDR_UNORDERED_SET)
-# ifndef BOOST_NO_CXX11_STD_UNORDERED
-# define BOOST_NO_CXX11_STD_UNORDERED
-# endif
-#endif
-
-// Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST instead of BOOST_NO_INITIALIZER_LISTS
-#if defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS)
-# define BOOST_NO_INITIALIZER_LISTS
-#endif
-
-// Use BOOST_NO_CXX11_HDR_ARRAY instead of BOOST_NO_0X_HDR_ARRAY
-#if defined(BOOST_NO_CXX11_HDR_ARRAY) && !defined(BOOST_NO_0X_HDR_ARRAY)
-# define BOOST_NO_0X_HDR_ARRAY
-#endif
-// Use BOOST_NO_CXX11_HDR_CHRONO instead of BOOST_NO_0X_HDR_CHRONO
-#if defined(BOOST_NO_CXX11_HDR_CHRONO) && !defined(BOOST_NO_0X_HDR_CHRONO)
-# define BOOST_NO_0X_HDR_CHRONO
-#endif
-// Use BOOST_NO_CXX11_HDR_CODECVT instead of BOOST_NO_0X_HDR_CODECVT
-#if defined(BOOST_NO_CXX11_HDR_CODECVT) && !defined(BOOST_NO_0X_HDR_CODECVT)
-# define BOOST_NO_0X_HDR_CODECVT
-#endif
-// Use BOOST_NO_CXX11_HDR_CONDITION_VARIABLE instead of BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#if defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE) && !defined(BOOST_NO_0X_HDR_CONDITION_VARIABLE)
-# define BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#endif
-// Use BOOST_NO_CXX11_HDR_FORWARD_LIST instead of BOOST_NO_0X_HDR_FORWARD_LIST
-#if defined(BOOST_NO_CXX11_HDR_FORWARD_LIST) && !defined(BOOST_NO_0X_HDR_FORWARD_LIST)
-# define BOOST_NO_0X_HDR_FORWARD_LIST
-#endif
-// Use BOOST_NO_CXX11_HDR_FUTURE instead of BOOST_NO_0X_HDR_FUTURE
-#if defined(BOOST_NO_CXX11_HDR_FUTURE) && !defined(BOOST_NO_0X_HDR_FUTURE)
-# define BOOST_NO_0X_HDR_FUTURE
-#endif
-
-// Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-// instead of BOOST_NO_0X_HDR_INITIALIZER_LIST or BOOST_NO_INITIALIZER_LISTS
-#ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# ifndef BOOST_NO_0X_HDR_INITIALIZER_LIST
-# define BOOST_NO_0X_HDR_INITIALIZER_LIST
-# endif
-# ifndef BOOST_NO_INITIALIZER_LISTS
-# define BOOST_NO_INITIALIZER_LISTS
-# endif
-#endif
-
-// Use BOOST_NO_CXX11_HDR_MUTEX instead of BOOST_NO_0X_HDR_MUTEX
-#if defined(BOOST_NO_CXX11_HDR_MUTEX) && !defined(BOOST_NO_0X_HDR_MUTEX)
-# define BOOST_NO_0X_HDR_MUTEX
-#endif
-// Use BOOST_NO_CXX11_HDR_RANDOM instead of BOOST_NO_0X_HDR_RANDOM
-#if defined(BOOST_NO_CXX11_HDR_RANDOM) && !defined(BOOST_NO_0X_HDR_RANDOM)
-# define BOOST_NO_0X_HDR_RANDOM
-#endif
-// Use BOOST_NO_CXX11_HDR_RATIO instead of BOOST_NO_0X_HDR_RATIO
-#if defined(BOOST_NO_CXX11_HDR_RATIO) && !defined(BOOST_NO_0X_HDR_RATIO)
-# define BOOST_NO_0X_HDR_RATIO
-#endif
-// Use BOOST_NO_CXX11_HDR_REGEX instead of BOOST_NO_0X_HDR_REGEX
-#if defined(BOOST_NO_CXX11_HDR_REGEX) && !defined(BOOST_NO_0X_HDR_REGEX)
-# define BOOST_NO_0X_HDR_REGEX
-#endif
-// Use BOOST_NO_CXX11_HDR_SYSTEM_ERROR instead of BOOST_NO_0X_HDR_SYSTEM_ERROR
-#if defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) && !defined(BOOST_NO_0X_HDR_SYSTEM_ERROR)
-# define BOOST_NO_0X_HDR_SYSTEM_ERROR
-#endif
-// Use BOOST_NO_CXX11_HDR_THREAD instead of BOOST_NO_0X_HDR_THREAD
-#if defined(BOOST_NO_CXX11_HDR_THREAD) && !defined(BOOST_NO_0X_HDR_THREAD)
-# define BOOST_NO_0X_HDR_THREAD
-#endif
-// Use BOOST_NO_CXX11_HDR_TUPLE instead of BOOST_NO_0X_HDR_TUPLE
-#if defined(BOOST_NO_CXX11_HDR_TUPLE) && !defined(BOOST_NO_0X_HDR_TUPLE)
-# define BOOST_NO_0X_HDR_TUPLE
-#endif
-// Use BOOST_NO_CXX11_HDR_TYPE_TRAITS instead of BOOST_NO_0X_HDR_TYPE_TRAITS
-#if defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) && !defined(BOOST_NO_0X_HDR_TYPE_TRAITS)
-# define BOOST_NO_0X_HDR_TYPE_TRAITS
-#endif
-// Use BOOST_NO_CXX11_HDR_TYPEINDEX instead of BOOST_NO_0X_HDR_TYPEINDEX
-#if defined(BOOST_NO_CXX11_HDR_TYPEINDEX) && !defined(BOOST_NO_0X_HDR_TYPEINDEX)
-# define BOOST_NO_0X_HDR_TYPEINDEX
-#endif
-// Use BOOST_NO_CXX11_HDR_UNORDERED_MAP instead of BOOST_NO_0X_HDR_UNORDERED_MAP
-#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) && !defined(BOOST_NO_0X_HDR_UNORDERED_MAP)
-# define BOOST_NO_0X_HDR_UNORDERED_MAP
-#endif
-// Use BOOST_NO_CXX11_HDR_UNORDERED_SET instead of BOOST_NO_0X_HDR_UNORDERED_SET
-#if defined(BOOST_NO_CXX11_HDR_UNORDERED_SET) && !defined(BOOST_NO_0X_HDR_UNORDERED_SET)
-# define BOOST_NO_0X_HDR_UNORDERED_SET
-#endif
-
-// ------------------ End of deprecated macros for 1.50 ---------------------------
-
-// -------------------- Deprecated macros for 1.51 ---------------------------
-// These will go away in a future release
-
-// Use BOOST_NO_CXX11_AUTO_DECLARATIONS instead of BOOST_NO_AUTO_DECLARATIONS
-#if defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) && !defined(BOOST_NO_AUTO_DECLARATIONS)
-# define BOOST_NO_AUTO_DECLARATIONS
-#endif
-// Use BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS instead of BOOST_NO_AUTO_MULTIDECLARATIONS
-#if defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS) && !defined(BOOST_NO_AUTO_MULTIDECLARATIONS)
-# define BOOST_NO_AUTO_MULTIDECLARATIONS
-#endif
-// Use BOOST_NO_CXX11_CHAR16_T instead of BOOST_NO_CHAR16_T
-#if defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CHAR16_T)
-# define BOOST_NO_CHAR16_T
-#endif
-// Use BOOST_NO_CXX11_CHAR32_T instead of BOOST_NO_CHAR32_T
-#if defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CHAR32_T)
-# define BOOST_NO_CHAR32_T
-#endif
-// Use BOOST_NO_CXX11_TEMPLATE_ALIASES instead of BOOST_NO_TEMPLATE_ALIASES
-#if defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_NO_TEMPLATE_ALIASES)
-# define BOOST_NO_TEMPLATE_ALIASES
-#endif
-// Use BOOST_NO_CXX11_CONSTEXPR instead of BOOST_NO_CONSTEXPR
-#if defined(BOOST_NO_CXX11_CONSTEXPR) && !defined(BOOST_NO_CONSTEXPR)
-# define BOOST_NO_CONSTEXPR
-#endif
-// Use BOOST_NO_CXX11_DECLTYPE_N3276 instead of BOOST_NO_DECLTYPE_N3276
-#if defined(BOOST_NO_CXX11_DECLTYPE_N3276) && !defined(BOOST_NO_DECLTYPE_N3276)
-# define BOOST_NO_DECLTYPE_N3276
-#endif
-// Use BOOST_NO_CXX11_DECLTYPE instead of BOOST_NO_DECLTYPE
-#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_DECLTYPE)
-# define BOOST_NO_DECLTYPE
-#endif
-// Use BOOST_NO_CXX11_DEFAULTED_FUNCTIONS instead of BOOST_NO_DEFAULTED_FUNCTIONS
-#if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_DEFAULTED_FUNCTIONS)
-# define BOOST_NO_DEFAULTED_FUNCTIONS
-#endif
-// Use BOOST_NO_CXX11_DELETED_FUNCTIONS instead of BOOST_NO_DELETED_FUNCTIONS
-#if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_DELETED_FUNCTIONS)
-# define BOOST_NO_DELETED_FUNCTIONS
-#endif
-// Use BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS instead of BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#if defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) && !defined(BOOST_NO_EXPLICIT_CONVERSION_OPERATORS)
-# define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#endif
-// Use BOOST_NO_CXX11_EXTERN_TEMPLATE instead of BOOST_NO_EXTERN_TEMPLATE
-#if defined(BOOST_NO_CXX11_EXTERN_TEMPLATE) && !defined(BOOST_NO_EXTERN_TEMPLATE)
-# define BOOST_NO_EXTERN_TEMPLATE
-#endif
-// Use BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS instead of BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#if defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && !defined(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS)
-# define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#endif
-// Use BOOST_NO_CXX11_LAMBDAS instead of BOOST_NO_LAMBDAS
-#if defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_LAMBDAS)
-# define BOOST_NO_LAMBDAS
-#endif
-// Use BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS instead of BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#if defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS) && !defined(BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS)
-# define BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#endif
-// Use BOOST_NO_CXX11_NOEXCEPT instead of BOOST_NO_NOEXCEPT
-#if defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_NOEXCEPT)
-# define BOOST_NO_NOEXCEPT
-#endif
-// Use BOOST_NO_CXX11_NULLPTR instead of BOOST_NO_NULLPTR
-#if defined(BOOST_NO_CXX11_NULLPTR) && !defined(BOOST_NO_NULLPTR)
-# define BOOST_NO_NULLPTR
-#endif
-// Use BOOST_NO_CXX11_RAW_LITERALS instead of BOOST_NO_RAW_LITERALS
-#if defined(BOOST_NO_CXX11_RAW_LITERALS) && !defined(BOOST_NO_RAW_LITERALS)
-# define BOOST_NO_RAW_LITERALS
-#endif
-// Use BOOST_NO_CXX11_RVALUE_REFERENCES instead of BOOST_NO_RVALUE_REFERENCES
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_RVALUE_REFERENCES)
-# define BOOST_NO_RVALUE_REFERENCES
-#endif
-// Use BOOST_NO_CXX11_SCOPED_ENUMS instead of BOOST_NO_SCOPED_ENUMS
-#if defined(BOOST_NO_CXX11_SCOPED_ENUMS) && !defined(BOOST_NO_SCOPED_ENUMS)
-# define BOOST_NO_SCOPED_ENUMS
-#endif
-// Use BOOST_NO_CXX11_STATIC_ASSERT instead of BOOST_NO_STATIC_ASSERT
-#if defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_NO_STATIC_ASSERT)
-# define BOOST_NO_STATIC_ASSERT
-#endif
-// Use BOOST_NO_CXX11_STD_UNORDERED instead of BOOST_NO_STD_UNORDERED
-#if defined(BOOST_NO_CXX11_STD_UNORDERED) && !defined(BOOST_NO_STD_UNORDERED)
-# define BOOST_NO_STD_UNORDERED
-#endif
-// Use BOOST_NO_CXX11_UNICODE_LITERALS instead of BOOST_NO_UNICODE_LITERALS
-#if defined(BOOST_NO_CXX11_UNICODE_LITERALS) && !defined(BOOST_NO_UNICODE_LITERALS)
-# define BOOST_NO_UNICODE_LITERALS
-#endif
-// Use BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX instead of BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-#if defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && !defined(BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX)
-# define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-#endif
-// Use BOOST_NO_CXX11_VARIADIC_TEMPLATES instead of BOOST_NO_VARIADIC_TEMPLATES
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_VARIADIC_TEMPLATES)
-# define BOOST_NO_VARIADIC_TEMPLATES
-#endif
-// Use BOOST_NO_CXX11_VARIADIC_MACROS instead of BOOST_NO_VARIADIC_MACROS
-#if defined(BOOST_NO_CXX11_VARIADIC_MACROS) && !defined(BOOST_NO_VARIADIC_MACROS)
-# define BOOST_NO_VARIADIC_MACROS
-#endif
-// Use BOOST_NO_CXX11_NUMERIC_LIMITS instead of BOOST_NO_NUMERIC_LIMITS_LOWEST
-#if defined(BOOST_NO_CXX11_NUMERIC_LIMITS) && !defined(BOOST_NO_NUMERIC_LIMITS_LOWEST)
-# define BOOST_NO_NUMERIC_LIMITS_LOWEST
-#endif
-// ------------------ End of deprecated macros for 1.51 ---------------------------
-
-
-
-//
-// Helper macros BOOST_NOEXCEPT, BOOST_NOEXCEPT_IF, BOOST_NOEXCEPT_EXPR
-// These aid the transition to C++11 while still supporting C++03 compilers
-//
-#ifdef BOOST_NO_CXX11_NOEXCEPT
-# define BOOST_NOEXCEPT
-# define BOOST_NOEXCEPT_OR_NOTHROW throw()
-# define BOOST_NOEXCEPT_IF(Predicate)
-# define BOOST_NOEXCEPT_EXPR(Expression) false
-#else
-# define BOOST_NOEXCEPT noexcept
-# define BOOST_NOEXCEPT_OR_NOTHROW noexcept
-# define BOOST_NOEXCEPT_IF(Predicate) noexcept((Predicate))
-# define BOOST_NOEXCEPT_EXPR(Expression) noexcept((Expression))
-#endif
-//
-// Helper macro BOOST_FALLTHROUGH
-// Fallback definition of BOOST_FALLTHROUGH macro used to mark intended
-// fall-through between case labels in a switch statement. We use a definition
-// that requires a semicolon after it to avoid at least one type of misuse even
-// on unsupported compilers.
-//
-#ifndef BOOST_FALLTHROUGH
-# define BOOST_FALLTHROUGH ((void)0)
-#endif
-
-//
-// constexpr workarounds
-//
-#if defined(BOOST_NO_CXX11_CONSTEXPR)
-#define BOOST_CONSTEXPR
-#define BOOST_CONSTEXPR_OR_CONST const
-#else
-#define BOOST_CONSTEXPR constexpr
-#define BOOST_CONSTEXPR_OR_CONST constexpr
-#endif
-
-#define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST
-
-//
-// Set BOOST_HAS_STATIC_ASSERT when BOOST_NO_CXX11_STATIC_ASSERT is not defined
-//
-#if !defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_HAS_STATIC_ASSERT)
-# define BOOST_HAS_STATIC_ASSERT
-#endif
-
-//
-// Set BOOST_HAS_RVALUE_REFS when BOOST_NO_CXX11_RVALUE_REFERENCES is not defined
-//
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_HAS_RVALUE_REFS)
-#define BOOST_HAS_RVALUE_REFS
-#endif
-
-//
-// Set BOOST_HAS_VARIADIC_TMPL when BOOST_NO_CXX11_VARIADIC_TEMPLATES is not defined
-//
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL)
-#define BOOST_HAS_VARIADIC_TMPL
-#endif
-
-
-#endif
diff --git a/terraingen/oldtgen/include/boost/config/user.hpp b/terraingen/oldtgen/include/boost/config/user.hpp
deleted file mode 100644
index 2926f730..00000000
--- a/terraingen/oldtgen/include/boost/config/user.hpp
+++ /dev/null
@@ -1,126 +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
-
-// define this to locate a stdlib config file:
-// #define BOOST_STDLIB_CONFIG
-
-// define this to locate a platform config file:
-// #define BOOST_PLATFORM_CONFIG
-
-// 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
-
-// pretty sure this is the case on all the platforms
-#ifndef _WIN32
-#define BOOST_HAS_STDINT_H
-#endif
diff --git a/terraingen/oldtgen/include/boost/config/warning_disable.hpp b/terraingen/oldtgen/include/boost/config/warning_disable.hpp
deleted file mode 100644
index fea8e829..00000000
--- a/terraingen/oldtgen/include/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 emitted from 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/terraingen/oldtgen/include/boost/container/allocator_traits.hpp b/terraingen/oldtgen/include/boost/container/allocator_traits.hpp
deleted file mode 100644
index 64e4352d..00000000
--- a/terraingen/oldtgen/include/boost/container/allocator_traits.hpp
+++ /dev/null
@@ -1,400 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Pablo Halpern 2009. 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)
-//
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2011-2012. 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/container for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_CONTAINER_ALLOCATOR_ALLOCATOR_TRAITS_HPP
-#define BOOST_CONTAINER_ALLOCATOR_ALLOCATOR_TRAITS_HPP
-
-#if (defined _MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include //numeric_limits<>::max()
-#include //placement new
-#include //std::allocator
-
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-#include
-#endif
-
-///@cond
-
-namespace boost {
-namespace container {
-namespace container_detail {
-
-//workaround needed for C++03 compilers with no construct()
-//supporting rvalue references
-template
-struct is_std_allocator
-{ static const bool value = false; };
-
-template
-struct is_std_allocator< std::allocator >
-{ static const bool value = true; };
-
-} //namespace container_detail {
-
-///@endcond
-
-//! The class template allocator_traits supplies a uniform interface to all allocator types.
-//! This class is a C++03-compatible implementation of std::allocator_traits
-template
-struct allocator_traits
-{
- //allocator_type
- typedef Alloc allocator_type;
- //value_type
- typedef typename Alloc::value_type value_type;
-
- #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
- //! Alloc::pointer if such a type exists; otherwise, value_type*
- //!
- typedef unspecified pointer;
- //! Alloc::const_pointer if such a type exists ; otherwise, pointer_traits::rebind::rebind.
- //!
- typedef see_documentation void_pointer;
- //! Alloc::const_void_pointer if such a type exists ; otherwis e, pointer_traits::rebind::difference_type.
- //!
- typedef see_documentation difference_type;
- //! Alloc::size_type if such a type exists ; otherwise, make_unsigned::type
- //!
- typedef see_documentation size_type;
- //! Alloc::propagate_on_container_copy_assignment if such a type exists, otherwise an integral_constant
- //! type with internal constant static member `value` == false.
- typedef see_documentation propagate_on_container_copy_assignment;
- //! Alloc::propagate_on_container_move_assignment if such a type exists, otherwise an integral_constant
- //! type with internal constant static member `value` == false.
- typedef see_documentation propagate_on_container_move_assignment;
- //! Alloc::propagate_on_container_swap if such a type exists, otherwise an integral_constant
- //! type with internal constant static member `value` == false.
- typedef see_documentation propagate_on_container_swap;
- //! Defines an allocator: Alloc::rebind::other if such a type exists; otherwise, Alloc
- //! if Alloc is a class template instantiation of the form Alloc, where Args is zero or
- //! more type arguments ; otherwise, the instantiation of rebind_alloc is ill-formed.
- //!
- //! In C++03 compilers `rebind_alloc` is a struct derived from an allocator
- //! deduced by previously detailed rules.
- template using rebind_alloc = see_documentation;
-
- //! In C++03 compilers `rebind_traits` is a struct derived from
- //! `allocator_traits`, where `OtherAlloc` is
- //! the allocator deduced by rules explained in `rebind_alloc`.
- template using rebind_traits = allocator_traits >;
-
- //! Non-standard extension: Portable allocator rebind for C++03 and C++11 compilers.
- //! `type` is an allocator related to Alloc deduced deduced by rules explained in `rebind_alloc`.
- template
- struct portable_rebind_alloc
- { typedef see_documentation type; };
- #else
- //pointer
- typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc,
- pointer, value_type*)
- pointer;
- //const_pointer
- typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT(boost::container::container_detail::, Alloc,
- const_pointer, typename boost::intrusive::pointer_traits::template
- rebind_pointer)
- const_pointer;
- //reference
- typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc,
- reference, typename container_detail::unvoid::type&)
- reference;
- //const_reference
- typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc,
- const_reference, const typename container_detail::unvoid::type&)
- const_reference;
- //void_pointer
- typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT(boost::container::container_detail::, Alloc,
- void_pointer, typename boost::intrusive::pointer_traits::template
- rebind_pointer