Project import
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..4a180d4
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,183 @@
+#
+# Copyright (c) 2010-2012 Nest Labs, Inc.
+# All rights reserved.
+#
+# This document is the property of Nest. It is considered
+# confidential and proprietary information.
+#
+# This document may not be reproduced or transmitted in any form,
+# in whole or in part, without the express written permission of
+# Nest.
+#
+# Description:
+# This file is the makefile for Boost, a collection of open
+# source libraries that extend the functionality of the C++ standard
+# library.
+#
+
+BuildConfigSpecialized := No
+BuildProductSpecialized := Yes
+
+include pre.mak
+
+# There's some dependency issues creating the tools and tools paths.
+# Since boost uses it's only build system (bjam) anyway, not much
+# to gain using parallel builds just for setting up bjam.
+.NOTPARALLEL:
+
+PackageName := boost
+
+PackageExtension := tar.bz2
+PackageSeparator := _
+
+PackagePatchArgs := -p1
+
+PackageArchive := $(PackageName).$(PackageExtension)
+PackageSourceDir := $(call GenerateBuildPaths,$(PackageName)$(PackageSeparator)$(PackageVersion))
+
+CleanPaths += $(PackageLicenseFile)
+
+ICUSearchPath := $(ICUPath)/usr
+
+# For the short-term, we are always building with GCC even though the
+# actual tool chain may be some repackaged version of GCC. So, just
+# specify that.
+
+#BoostToolset := clang
+
+# We do not want versioned headers and libraries, so specify the
+# 'system' layout. Also, we do not want all the various combinations
+# of shared/static, release/debug, stripped/unstripped and
+# non-threaded/threaded libraries, so just specify 'minimal'.
+
+BoostToolProduct-darwin := clang
+BoostToolProduct-linux := gcc
+# TODO COMSIM check if adding line below creates any issues
+BoostToolProduct-freertos := gcc
+
+BoostToolProduct = $(BoostToolProduct-$(TargetOS))
+
+BoostJamConfig += --layout=system \
+ --build-type=minimal \
+ -sICU_PATH=$(ICUSearchPath) \
+ toolset=$(BoostToolProduct) \
+ link=static \
+
+
+ifneq ($(CONFIG_OSM_HOST),1)
+BoostLibraries = \
+ date_time \
+ filesystem \
+ regex \
+ system \
+ test \
+ thread \
+ python \
+
+else
+BoostLibraries = filesystem system
+endif
+
+BoostLibrariesList = $(subst $(Space),$(Comma),$(strip $(BoostLibraries)))
+
+BoostConfigure = $(call GenerateBuildPaths,bootstrap.sh)
+BoostProjectConfig = $(call GenerateBuildPaths,project-config.jam)
+
+BoostBjamFiles = \
+ bjam \
+ boost-build.jam
+
+BoostBjamFilesSourcePath = $(BuildDirectory)
+BoostBjamFilesResultPaths = $(call GenerateResultPaths,,$(BoostBjamFiles))
+
+BoostBjamToolsSourcePath = $(call GenerateBuildPaths,tools)
+BoostBjamToolsResultPath = $(call GenerateResultPaths,,tools)
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(PackageSourceDir)/LICENSE_1_0.txt: source
+
+$(PackageLicenseFile): $(PackageSourceDir)/LICENSE_1_0.txt
+ $(copy-result)
+
+# Extract the source from the archive and apply patches, if any.
+
+$(PackageSourceDir): $(PackageArchive) $(PackagePatchPaths) | $(BuildDirectory)
+ $(call expand-archive,$(PackageArchive),$(BuildDirectory))
+ $(call patch-directory,$(@),$(PackagePatchArgs),$(PackagePatchPaths))
+ $(Verbose)touch $(@)
+
+# Prepare the sources.
+
+.PHONY: source
+source: | $(PackageSourceDir)
+
+# Patch the sources, if necessary.
+
+.PHONY: patch
+patch: source
+
+# Generate the package build makefile.
+
+$(BoostConfigure): | $(PackageSourceDir) $(BuildDirectory)
+ $(call create-links,$(CURDIR)/$(PackageSourceDir),$(BuildDirectory))
+
+# Generate the build-specific makefile and user configuration. We have
+# to post-process the generated user configuration since Boost's
+# adominable build system has no other way to override the actual C++
+# compiler executable used (see http://goodliffe.blogspot.com/2008/05/
+# cross-compiling-boost.html and boost/docs/html/bbv2/
+# tasks.html#bbv2.tasks.crosscompile).
+
+$(BoostProjectConfig): $(BoostConfigure)
+ $(Verbose)cd $(BuildDirectory) && \
+ ./bootstrap.sh \
+ --prefix=$(ResultDirectory) \
+ --with-toolset=$(BoostToolset) \
+ --with-icu=$(ICUSearchPath) \
+ --with-libraries=$(BoostLibrariesList) \
+ --with-python-root=$(PythonPath)
+ $(Verbose)$(SED) -e "s#^\([[:space:]]*using\)[[:space:]]\{1,\}\($(BoostToolset)\)[[:space:]]\{1,\};#\1 \2 : $(TargetProcArch) : $(CXX) $(CPPOPTFLAGS) ;#g" \
+ < $(@) > $(@).N || $(RM) -f $(@)
+ $(Verbose)mv -f $(@) $(@).O
+ $(Verbose)mv -f $(@).N $(@)
+
+# Configure the source for building.
+
+.PHONY: configure
+configure: source $(BoostProjectConfig)
+
+# Build the source.
+
+.PHONY: build
+build: configure
+ $(Verbose)cd $(BuildDirectory) && \
+ ./bjam $(BoostJamConfig)
+
+# Stage the build to a temporary installation area.
+
+.PHONY: stage
+stage: stage-boost stage-bjam
+
+stage-boost: build | $(ResultDirectory)
+ $(Verbose)cd $(BuildDirectory) && \
+ ./bjam $(BoostJamConfig) \
+ install --prefix=$(ResultDirectory)
+
+.PHONY: stage-bjam
+stage-bjam: $(BoostBjamFilesResultPaths) $(BoostBjamToolsResultPath)
+
+$(BoostBjamToolsResultPath): $(BoostBjamToolsSourcePath)
+ cp -rf $(BoostBjamToolsSourcePath) $(BoostBjamToolsResultPath)
+
+$(BoostBjamFilesResultPaths): $(call GenerateResultPaths,,%): $(call Slashify,$(BoostBjamFilesSourcePath))%
+ $(install-result)
+
+clean:
+ $(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir)
+ $(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)/*
+ $(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)/*
+
+include post.mak
diff --git a/boost.tar.bz2 b/boost.tar.bz2
new file mode 100644
index 0000000..43e4665
--- /dev/null
+++ b/boost.tar.bz2
Binary files differ
diff --git a/boost.url b/boost.url
new file mode 100644
index 0000000..75502b2
--- /dev/null
+++ b/boost.url
@@ -0,0 +1 @@
+http://download.sourceforge.net/boost/boost_1_45_0.tar.bz2
diff --git a/boost.version b/boost.version
new file mode 100644
index 0000000..1fda758
--- /dev/null
+++ b/boost.version
@@ -0,0 +1 @@
+1_58_0