removed various old cRIO stuff
diff --git a/aos/aos_stdint.h b/aos/aos_stdint.h
deleted file mode 100644
index accb5ce..0000000
--- a/aos/aos_stdint.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef AOS_AOS_STDINT_H_
-#define AOS_AOS_STDINT_H_
-
-#include <stdint.h>
-
-#ifdef __VXWORKS__
-typedef int64_t intmax_t;
-typedef uint64_t uintmax_t;
-#endif
-
-#endif
-
diff --git a/aos/build/jdk_tools_common b/aos/build/jdk_tools_common
deleted file mode 100644
index 3ebfc2f..0000000
--- a/aos/build/jdk_tools_common
+++ /dev/null
@@ -1,13 +0,0 @@
-# This file gets sourced by all the shell scripts that use the JDK tools.
-# gyp likes quoting some of the input arguments, but nothing else tolerates it,
-#   so " are removed from various inputs.
-
-set -e # stop on error
-#set -x # echo everything
-
-TMPDIR=$2
-# ${CLASSPATH} is used by the jdk tools
-EXTRA_CLASSPATH=`echo $3 | tr -d '"' | sed 's/ /:/g'`
-EXTRA_JARS=`echo $3 | tr -d '"'`
-
-mkdir -p ${TMPDIR}
diff --git a/aos/build/queues/compiler.rb b/aos/build/queues/compiler.rb
index 58b2bf1..90c88a7 100644
--- a/aos/build/queues/compiler.rb
+++ b/aos/build/queues/compiler.rb
@@ -85,7 +85,7 @@
 	cc_file_path = $cpp_base + "/" + rel_path + ".cc"
 	cpp_tree.add_cc_include((rel_path + ".h").inspect)
 	cpp_tree.add_cc_include("aos/common/byteorder.h".inspect)
-	cpp_tree.add_cc_include("aos/common/inttypes.h".inspect)
+	cpp_tree.add_cc_include("<inttypes.h>")
 	cpp_tree.add_cc_include("aos/common/queue_types.h".inspect)
   cpp_tree.add_cc_include("aos/common/once.h".inspect)
   cpp_tree.add_cc_include("aos/common/logging/logging_printf_formats.h".inspect)
diff --git a/aos/common/die.cc b/aos/common/die.cc
index 0ea7007..4c579cd 100644
--- a/aos/common/die.cc
+++ b/aos/common/die.cc
@@ -7,11 +7,10 @@
 #include <unistd.h>
 #include <string.h>
 #include <signal.h>
+#include <stdint.h>
 
 #include <string>
 
-#include "aos/aos_stdint.h"
-
 namespace aos {
 
 void Die(const char *format, ...) {
diff --git a/aos/common/inttypes.h b/aos/common/inttypes.h
deleted file mode 100644
index a96130f..0000000
--- a/aos/common/inttypes.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef AOS_COMMON_INTTYPES_H_
-#define AOS_COMMON_INTTYPES_H_
-
-// This file is here because the vxworks headers do not have an inttypes.h file
-// and being able to print out fixed size types is very useful. Any fixed size
-// formats that we need on the cRIO should get added here.
-
-#ifndef __VXWORKS__
-#include <inttypes.h>
-#else
-#define PRId64 "lld"
-#define PRIu64 "llu"
-
-// It warns about just "d", but not this, which is kind of weird because
-// sizeof(int) == sizeof(long) == sizeof(int32_t) == 4, but oh well.
-#define PRId32 "ld"
-#define PRIx32 "lx"
-#define PRIu32 "lu"
-
-#define PRIu16 "hu"
-#endif
-
-#endif  // AOS_COMMON_INTTYPES_H_
diff --git a/aos/common/libstdc++/README b/aos/common/libstdc++/README
deleted file mode 100644
index df8269e..0000000
--- a/aos/common/libstdc++/README
+++ /dev/null
@@ -1,3 +0,0 @@
-This directory contains replacement include files for ones that the libstdc++ we're using on the cRIO either don't implement completely or doesn't have at all.
-The ones in aos/crio/libstdc++ are copied from the libstdc++ that came with the compiler and tweaked so that they work.
-When used for compiles not for vxworks, they just #include the usual standard library header.
diff --git a/aos/common/libstdc++/memory b/aos/common/libstdc++/memory
deleted file mode 100644
index 31ab6e9..0000000
--- a/aos/common/libstdc++/memory
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <memory>
-#ifdef __VXWORKS__
-#include "aos/crio/libstdc++/unique_ptr.h"
-#endif
diff --git a/aos/common/libstdc++/type_traits b/aos/common/libstdc++/type_traits
deleted file mode 100644
index ada2002..0000000
--- a/aos/common/libstdc++/type_traits
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifdef __VXWORKS__
-#include "aos/crio/libstdc++/type_traits"
-#else
-#include <type_traits>
-#endif
diff --git a/aos/common/libstdc++/utility b/aos/common/libstdc++/utility
deleted file mode 100644
index 50b8aa3..0000000
--- a/aos/common/libstdc++/utility
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <utility>
-#ifdef __VXWORKS__
-#include "aos/crio/libstdc++/move.h"
-#endif
diff --git a/aos/common/logging/logging_impl.cc b/aos/common/logging/logging_impl.cc
index e7b0a5e..5c5dfc4 100644
--- a/aos/common/logging/logging_impl.cc
+++ b/aos/common/logging/logging_impl.cc
@@ -4,7 +4,7 @@
 #include <stdarg.h>
 
 #include "aos/common/time.h"
-#include "aos/common/inttypes.h"
+#include <inttypes.h>
 #include "aos/common/once.h"
 #include "aos/common/queue_types.h"
 #include "aos/common/logging/logging_printf_formats.h"
diff --git a/aos/common/logging/logging_impl_test.cc b/aos/common/logging/logging_impl_test.cc
index 58b7b00..dea1815 100644
--- a/aos/common/logging/logging_impl_test.cc
+++ b/aos/common/logging/logging_impl_test.cc
@@ -5,7 +5,7 @@
 #include "aos/common/logging/logging_impl.h"
 #include "aos/common/time.h"
 #include "aos/common/die.h"
-#include "aos/common/inttypes.h"
+#include <inttypes.h>
 
 using ::testing::AssertionResult;
 using ::testing::AssertionSuccess;
diff --git a/aos/common/network_port.h b/aos/common/network_port.h
index c19c2ce..b523674 100644
--- a/aos/common/network_port.h
+++ b/aos/common/network_port.h
@@ -1,7 +1,7 @@
 #ifndef AOS_COMMON_NETWORK_PORT_H_
 #define AOS_COMMON_NETWORK_PORT_H_
 
-#include "aos/aos_stdint.h"
+#include <stdint.h>
 
 namespace aos {
 
diff --git a/aos/common/queue.cc b/aos/common/queue.cc
index b3a4799..893e62b 100644
--- a/aos/common/queue.cc
+++ b/aos/common/queue.cc
@@ -1,7 +1,7 @@
 #include "aos/common/queue.h"
 
 #include "aos/common/byteorder.h"
-#include "aos/common/inttypes.h"
+#include <inttypes.h>
 
 namespace aos {
 
diff --git a/aos/common/time.cc b/aos/common/time.cc
index ced0c4d..8a44010 100644
--- a/aos/common/time.cc
+++ b/aos/common/time.cc
@@ -7,7 +7,7 @@
 #include <string.h>
 
 #include "aos/common/logging/logging.h"
-#include "aos/common/inttypes.h"
+#include <inttypes.h>
 #include "aos/common/mutex.h"
 
 namespace aos {
diff --git a/aos/common/time.h b/aos/common/time.h
index ca1d207..1dc1def 100644
--- a/aos/common/time.h
+++ b/aos/common/time.h
@@ -3,17 +3,12 @@
 
 #include <stdint.h>
 #include <time.h>
-
-#ifndef __VXWORKS__
-#include <type_traits>
 #include <sys/time.h>
-#else
-#include <sysLib.h>
-#include <sys/times.h>
-#endif
+#include <stdint.h>
+
+#include <type_traits>
 #include <ostream>
 
-#include "aos/aos_stdint.h"
 #include "aos/common/type_traits.h"
 
 namespace aos {
diff --git a/aos/common/type_traits.h b/aos/common/type_traits.h
index 4ce6af4..45222e7 100644
--- a/aos/common/type_traits.h
+++ b/aos/common/type_traits.h
@@ -1,7 +1,7 @@
 #ifndef AOS_COMMON_TYPE_TRAITS_
 #define AOS_COMMON_TYPE_TRAITS_
 
-#include "aos/common/libstdc++/type_traits"
+#include <type_traits>
 
 namespace aos {
 
diff --git a/aos/crio/README.txt b/aos/crio/README.txt
index 8bdd209..82f1b09 100644
--- a/aos/crio/README.txt
+++ b/aos/crio/README.txt
@@ -1,9 +1,8 @@
 see ../README.txt for stuff affecting crio and linux code
-There isn't much cRIO code left any more... The general policy is to not break
-things in aos/common/ that are #ifdeffed etc to with on the cRIO for no reason,
-but if there's a major rewrite on anything the vxworks-specific code should
-probably just be deleted. Also, any new stuff in aos/common/ may not work under
-vxworks at all.
+There isn't much cRIO code left any more... At this point, we're basically
+removing all of the #ifdeffed etc stuff in aos/common/ because the code is
+nowhere close to compiling for the cRIO by now and it makes it harder to see
+everything else.
 
 [NOTES]
 The assumption that sizeof(pointers) == sizeof(int) == sizeof(UINT32) == sizeof(uint32_t) == 4 is all over the crio code. The vxworks apis use UINT32 to pass user-defined arguments, and just passing pointers through those makes the code a lot simpler.
diff --git a/aos/crio/ip.h b/aos/crio/ip.h
index c1bc457..f9cf430 100644
--- a/aos/crio/ip.h
+++ b/aos/crio/ip.h
@@ -2,8 +2,7 @@
 #define AOS_CRIO_IP_H_
 
 #include <inetLib.h>
-
-#include "aos/aos_stdint.h"
+#include <stdint.h>
 
 namespace aos {
 namespace util {
diff --git a/aos/crio/libstdc++/move.h b/aos/crio/libstdc++/move.h
deleted file mode 100644
index 425fcb6..0000000
--- a/aos/crio/libstdc++/move.h
+++ /dev/null
@@ -1,117 +0,0 @@
-// Move, forward and identity for C++0x + swap -*- C++ -*-
-
-// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
-// any later version.
-
-// This library 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.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-// <http://www.gnu.org/licenses/>.
-
-/** @file move.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
- */
-
-#ifndef _MOVE_H
-#define _MOVE_H 1
-
-#include "aos/crio/type_traits/type_traits"
-
-namespace std {
-
-  /// identity
-  template<typename _Tp>
-    struct identity
-    {
-      typedef _Tp type;
-    };
-
-  /// forward (as per N2835)
-  /// Forward lvalues as rvalues.
-  template<typename _Tp>
-    inline typename enable_if<!is_lvalue_reference<_Tp>::value, _Tp&&>::type
-    forward(typename std::identity<_Tp>::type& __t)
-    { return static_cast<_Tp&&>(__t); }
-
-  /// Forward rvalues as rvalues.
-  template<typename _Tp>
-    inline typename enable_if<!is_lvalue_reference<_Tp>::value, _Tp&&>::type
-    forward(typename std::identity<_Tp>::type&& __t)
-    { return static_cast<_Tp&&>(__t); }
-
-  // Forward lvalues as lvalues.
-  template<typename _Tp>
-    inline typename enable_if<is_lvalue_reference<_Tp>::value, _Tp>::type
-    forward(typename std::identity<_Tp>::type __t)
-    { return __t; }
-
-  // Prevent forwarding rvalues as const lvalues.
-  template<typename _Tp>
-    inline typename enable_if<is_lvalue_reference<_Tp>::value, _Tp>::type
-    forward(typename std::remove_reference<_Tp>::type&& __t) = delete;
-
-  /**
-   *  @brief Move a value.
-   *  @ingroup mutating_algorithms
-   *  @param  __t  A thing of arbitrary type.
-   *  @return Same, moved.
-  */
-  template<typename _Tp>
-    inline typename std::remove_reference<_Tp>::type&&
-    move(_Tp&& __t)
-    { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
-
-  /// declval, from type_traits.
-
-#define _GLIBCXX_MOVE(_Tp) std::move(_Tp)
-#define _GLIBCXX_FORWARD(_Tp, __val) std::forward<_Tp>(__val)
-
-#if 0
-  /**
-   *  @brief Swaps two values.
-   *  @ingroup mutating_algorithms
-   *  @param  __a  A thing of arbitrary type.
-   *  @param  __b  Another thing of arbitrary type.
-   *  @return   Nothing.
-  */
-  template<typename _Tp>
-    inline void
-    swap(_Tp& __a, _Tp& __b)
-    {
-      // concept requirements
-      __glibcxx_function_requires(_SGIAssignableConcept<_Tp>)
-
-      _Tp __tmp = _GLIBCXX_MOVE(__a);
-      __a = _GLIBCXX_MOVE(__b);
-      __b = _GLIBCXX_MOVE(__tmp);
-    }
-
-  // _GLIBCXX_RESOLVE_LIB_DEFECTS
-  // DR 809. std::swap should be overloaded for array types.
-  template<typename _Tp, size_t _Nm>
-    inline void
-    swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
-    {
-      for (size_t __n = 0; __n < _Nm; ++__n)
-	swap(__a[__n], __b[__n]);
-    }
-#endif
-
-}  // namespace std
-
-#endif /* _MOVE_H */
diff --git a/aos/crio/libstdc++/tr1_impl/type_traits b/aos/crio/libstdc++/tr1_impl/type_traits
deleted file mode 100644
index 47f5e8f..0000000
--- a/aos/crio/libstdc++/tr1_impl/type_traits
+++ /dev/null
@@ -1,502 +0,0 @@
-// TR1 type_traits -*- C++ -*-
-
-// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
-// any later version.
-
-// This library 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.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-// <http://www.gnu.org/licenses/>.
-
-/** @file tr1_impl/type_traits
-*  This is an internal header file, included by other library headers.
-*  You should not attempt to use it directly.
-*/
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE_TR1
-
-  /**
-   * @defgroup metaprogramming Type Traits
-   * @ingroup utilities
-   *
-   * Compile time type transformation and information.
-   * @{
-   */
-
-  // For use in __is_convertible_simple.
-  struct __sfinae_types
-  {
-    typedef char __one;
-    typedef struct { char __arr[2]; } __two;
-  };
-
-#define _DEFINE_SPEC_0_HELPER                          \
-  template<>
-
-#define _DEFINE_SPEC_1_HELPER                          \
-  template<typename _Tp>
-
-#define _DEFINE_SPEC_2_HELPER                          \
-  template<typename _Tp, typename _Cp>
-
-#define _DEFINE_SPEC(_Order, _Trait, _Type, _Value)    \
-  _DEFINE_SPEC_##_Order##_HELPER                       \
-    struct _Trait<_Type>                               \
-    : public integral_constant<bool, _Value> { };
-
-  // helper classes [4.3].
-
-  /// integral_constant
-  template<typename _Tp, _Tp __v>
-    struct integral_constant
-    {
-      static const _Tp                      value = __v;
-      typedef _Tp                           value_type;
-      typedef integral_constant<_Tp, __v>   type;
-    };
-  
-  /// typedef for true_type
-  typedef integral_constant<bool, true>     true_type;
-
-  /// typedef for false_type
-  typedef integral_constant<bool, false>    false_type;
-
-  template<typename _Tp, _Tp __v>
-    const _Tp integral_constant<_Tp, __v>::value;
-
-  /// remove_cv
-  template<typename>
-    struct remove_cv;
-
-  template<typename>
-    struct __is_void_helper
-    : public false_type { };
-  _DEFINE_SPEC(0, __is_void_helper, void, true)
-
-  // primary type categories [4.5.1].
-
-  /// is_void
-  template<typename _Tp>
-    struct is_void
-    : public integral_constant<bool, (__is_void_helper<typename
-				      remove_cv<_Tp>::type>::value)>
-    { };
-
-  template<typename>
-    struct __is_integral_helper
-    : public false_type { };
-  _DEFINE_SPEC(0, __is_integral_helper, bool, true)
-  _DEFINE_SPEC(0, __is_integral_helper, char, true)
-  _DEFINE_SPEC(0, __is_integral_helper, signed char, true)
-  _DEFINE_SPEC(0, __is_integral_helper, unsigned char, true)
-#ifdef _GLIBCXX_USE_WCHAR_T
-  _DEFINE_SPEC(0, __is_integral_helper, wchar_t, true)
-#endif
-#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
-  _DEFINE_SPEC(0, __is_integral_helper, char16_t, true)
-  _DEFINE_SPEC(0, __is_integral_helper, char32_t, true)
-#endif
-  _DEFINE_SPEC(0, __is_integral_helper, short, true)
-  _DEFINE_SPEC(0, __is_integral_helper, unsigned short, true)
-  _DEFINE_SPEC(0, __is_integral_helper, int, true)
-  _DEFINE_SPEC(0, __is_integral_helper, unsigned int, true)
-  _DEFINE_SPEC(0, __is_integral_helper, long, true)
-  _DEFINE_SPEC(0, __is_integral_helper, unsigned long, true)
-  _DEFINE_SPEC(0, __is_integral_helper, long long, true)
-  _DEFINE_SPEC(0, __is_integral_helper, unsigned long long, true)
-
-  /// is_integral
-  template<typename _Tp>
-    struct is_integral
-    : public integral_constant<bool, (__is_integral_helper<typename
-				      remove_cv<_Tp>::type>::value)>
-    { };
-
-  template<typename>
-    struct __is_floating_point_helper
-    : public false_type { };
-  _DEFINE_SPEC(0, __is_floating_point_helper, float, true)
-  _DEFINE_SPEC(0, __is_floating_point_helper, double, true)
-  _DEFINE_SPEC(0, __is_floating_point_helper, long double, true)
-
-  /// is_floating_point
-  template<typename _Tp>
-    struct is_floating_point
-    : public integral_constant<bool, (__is_floating_point_helper<typename
-				      remove_cv<_Tp>::type>::value)>
-    { };
-
-  /// is_array
-  template<typename>
-    struct is_array
-    : public false_type { };
-
-  template<typename _Tp, std::size_t _Size>
-    struct is_array<_Tp[_Size]>
-    : public true_type { };
-
-  template<typename _Tp>
-    struct is_array<_Tp[]>
-    : public true_type { };
-
-  template<typename>
-    struct __is_pointer_helper
-    : public false_type { };
-  _DEFINE_SPEC(1, __is_pointer_helper, _Tp*, true)
-
-  /// is_pointer
-  template<typename _Tp>
-    struct is_pointer
-    : public integral_constant<bool, (__is_pointer_helper<typename
-				      remove_cv<_Tp>::type>::value)>
-    { };
-
-  /// is_reference
-  template<typename _Tp>
-    struct is_reference;
-
-  /// is_function
-  template<typename _Tp>
-    struct is_function;
-
-  template<typename>
-    struct __is_member_object_pointer_helper
-    : public false_type { };
-  _DEFINE_SPEC(2, __is_member_object_pointer_helper, _Tp _Cp::*,
-	       !is_function<_Tp>::value)
-
-  /// is_member_object_pointer
-  template<typename _Tp>
-    struct is_member_object_pointer
-    : public integral_constant<bool, (__is_member_object_pointer_helper<
-				      typename remove_cv<_Tp>::type>::value)>
-    { };
-
-  template<typename>
-    struct __is_member_function_pointer_helper
-    : public false_type { };
-  _DEFINE_SPEC(2, __is_member_function_pointer_helper, _Tp _Cp::*,
-	       is_function<_Tp>::value)
-
-  /// is_member_function_pointer
-  template<typename _Tp>
-    struct is_member_function_pointer
-    : public integral_constant<bool, (__is_member_function_pointer_helper<
-				      typename remove_cv<_Tp>::type>::value)>
-    { };
-
-  /// is_enum
-  template<typename _Tp>
-    struct is_enum
-    : public integral_constant<bool, __is_enum(_Tp)>
-    { };
-
-  /// is_union
-  template<typename _Tp>
-    struct is_union
-    : public integral_constant<bool, __is_union(_Tp)>
-    { };
-
-  /// is_class
-  template<typename _Tp>
-    struct is_class
-    : public integral_constant<bool, __is_class(_Tp)>
-    { };
-
-  /// is_function
-  template<typename>
-    struct is_function
-    : public false_type { };
-  template<typename _Res, typename... _ArgTypes>
-    struct is_function<_Res(_ArgTypes...)>
-    : public true_type { };
-  template<typename _Res, typename... _ArgTypes>
-    struct is_function<_Res(_ArgTypes......)>
-    : public true_type { };
-  template<typename _Res, typename... _ArgTypes>
-    struct is_function<_Res(_ArgTypes...) const>
-    : public true_type { };
-  template<typename _Res, typename... _ArgTypes>
-    struct is_function<_Res(_ArgTypes......) const>
-    : public true_type { };
-  template<typename _Res, typename... _ArgTypes>
-    struct is_function<_Res(_ArgTypes...) volatile>
-    : public true_type { };
-  template<typename _Res, typename... _ArgTypes>
-    struct is_function<_Res(_ArgTypes......) volatile>
-    : public true_type { };
-  template<typename _Res, typename... _ArgTypes>
-    struct is_function<_Res(_ArgTypes...) const volatile>
-    : public true_type { };
-  template<typename _Res, typename... _ArgTypes>
-    struct is_function<_Res(_ArgTypes......) const volatile>
-    : public true_type { };
-
-  // composite type traits [4.5.2].
-  
-  /// is_arithmetic
-  template<typename _Tp>
-    struct is_arithmetic
-    : public integral_constant<bool, (is_integral<_Tp>::value
-				      || is_floating_point<_Tp>::value)>
-    { };
-
-  /// is_fundamental
-  template<typename _Tp>
-    struct is_fundamental
-    : public integral_constant<bool, (is_arithmetic<_Tp>::value
-				      || is_void<_Tp>::value)>
-    { };
-
-  /// is_object
-  template<typename _Tp>
-    struct is_object
-    : public integral_constant<bool, !(is_function<_Tp>::value
-				       || is_reference<_Tp>::value
-				       || is_void<_Tp>::value)>
-    { };
-
-  /// is_member_pointer
-  template<typename _Tp>
-    struct is_member_pointer;
-
-  /// is_scalar
-  template<typename _Tp>
-    struct is_scalar
-    : public integral_constant<bool, (is_arithmetic<_Tp>::value
-				      || is_enum<_Tp>::value
-				      || is_pointer<_Tp>::value
-				      || is_member_pointer<_Tp>::value)>
-    { };
-
-  /// is_compound
-  template<typename _Tp>
-    struct is_compound
-    : public integral_constant<bool, !is_fundamental<_Tp>::value> { };
-
-  /// is_member_pointer
-  template<typename _Tp>
-    struct __is_member_pointer_helper
-    : public false_type { };
-  _DEFINE_SPEC(2, __is_member_pointer_helper, _Tp _Cp::*, true)
-
-  template<typename _Tp>
-  struct is_member_pointer
-    : public integral_constant<bool, (__is_member_pointer_helper<
-				      typename remove_cv<_Tp>::type>::value)>
-    { };
-
-  // type properties [4.5.3].
-  /// is_const
-  template<typename>
-    struct is_const
-    : public false_type { };
-
-  template<typename _Tp>
-    struct is_const<_Tp const>
-    : public true_type { };
-  
-  /// is_volatile
-  template<typename>
-    struct is_volatile
-    : public false_type { };
-
-  template<typename _Tp>
-    struct is_volatile<_Tp volatile>
-    : public true_type { };
-
-  /// is_empty
-  template<typename _Tp>
-    struct is_empty
-    : public integral_constant<bool, __is_empty(_Tp)>
-    { };
-
-  /// is_polymorphic
-  template<typename _Tp>
-    struct is_polymorphic
-    : public integral_constant<bool, __is_polymorphic(_Tp)>
-    { };
-
-  /// is_abstract
-  template<typename _Tp>
-    struct is_abstract
-    : public integral_constant<bool, __is_abstract(_Tp)>
-    { };
-
-  /// has_virtual_destructor
-  template<typename _Tp>
-    struct has_virtual_destructor
-    : public integral_constant<bool, __has_virtual_destructor(_Tp)>
-    { };
-
-  /// alignment_of
-  template<typename _Tp>
-    struct alignment_of
-    : public integral_constant<std::size_t, __alignof__(_Tp)> { };
-  
-  /// rank
-  template<typename>
-    struct rank
-    : public integral_constant<std::size_t, 0> { };
-   
-  template<typename _Tp, std::size_t _Size>
-    struct rank<_Tp[_Size]>
-    : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
-
-  template<typename _Tp>
-    struct rank<_Tp[]>
-    : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
-
-  /// extent
-  template<typename, unsigned _Uint = 0>
-    struct extent
-    : public integral_constant<std::size_t, 0> { };
-  
-  template<typename _Tp, unsigned _Uint, std::size_t _Size>
-    struct extent<_Tp[_Size], _Uint>
-    : public integral_constant<std::size_t,
-			       _Uint == 0 ? _Size : extent<_Tp,
-							   _Uint - 1>::value>
-    { };
-
-  template<typename _Tp, unsigned _Uint>
-    struct extent<_Tp[], _Uint>
-    : public integral_constant<std::size_t,
-			       _Uint == 0 ? 0 : extent<_Tp,
-						       _Uint - 1>::value>
-    { };
-
-  // relationships between types [4.6].
-
-  /// is_same
-  template<typename, typename>
-    struct is_same
-    : public false_type { };
-
-  template<typename _Tp>
-    struct is_same<_Tp, _Tp>
-    : public true_type { };
-
-  // const-volatile modifications [4.7.1].
-
-  /// remove_const
-  template<typename _Tp>
-    struct remove_const
-    { typedef _Tp     type; };
-
-  template<typename _Tp>
-    struct remove_const<_Tp const>
-    { typedef _Tp     type; };
-  
-  /// remove_volatile
-  template<typename _Tp>
-    struct remove_volatile
-    { typedef _Tp     type; };
-
-  template<typename _Tp>
-    struct remove_volatile<_Tp volatile>
-    { typedef _Tp     type; };
-  
-  /// remove_cv
-  template<typename _Tp>
-    struct remove_cv
-    {
-      typedef typename
-      remove_const<typename remove_volatile<_Tp>::type>::type     type;
-    };
-  
-  /// add_const
-  template<typename _Tp>
-    struct add_const
-    { typedef _Tp const     type; };
-   
-  /// add_volatile
-  template<typename _Tp>
-    struct add_volatile
-    { typedef _Tp volatile     type; };
-  
-  /// add_cv
-  template<typename _Tp>
-    struct add_cv
-    {
-      typedef typename
-      add_const<typename add_volatile<_Tp>::type>::type     type;
-    };
-
-  // array modifications [4.7.3].
-
-  /// remove_extent
-  template<typename _Tp>
-    struct remove_extent
-    { typedef _Tp     type; };
-
-  template<typename _Tp, std::size_t _Size>
-    struct remove_extent<_Tp[_Size]>
-    { typedef _Tp     type; };
-
-  template<typename _Tp>
-    struct remove_extent<_Tp[]>
-    { typedef _Tp     type; };
-
-  /// remove_all_extents
-  template<typename _Tp>
-    struct remove_all_extents
-    { typedef _Tp     type; };
-
-  template<typename _Tp, std::size_t _Size>
-    struct remove_all_extents<_Tp[_Size]>
-    { typedef typename remove_all_extents<_Tp>::type     type; };
-
-  template<typename _Tp>
-    struct remove_all_extents<_Tp[]>
-    { typedef typename remove_all_extents<_Tp>::type     type; };
-
-  // pointer modifications [4.7.4].
-
-  template<typename _Tp, typename>
-    struct __remove_pointer_helper
-    { typedef _Tp     type; };
-
-  template<typename _Tp, typename _Up>
-    struct __remove_pointer_helper<_Tp, _Up*>
-    { typedef _Up     type; };
-
-  /// remove_pointer
-  template<typename _Tp>
-    struct remove_pointer
-    : public __remove_pointer_helper<_Tp, typename remove_cv<_Tp>::type>
-    { };
-
-  template<typename>
-    struct remove_reference;
-
-  /// add_pointer
-  template<typename _Tp>
-    struct add_pointer
-    { typedef typename remove_reference<_Tp>::type*     type; };
-
-#undef _DEFINE_SPEC_0_HELPER
-#undef _DEFINE_SPEC_1_HELPER
-#undef _DEFINE_SPEC_2_HELPER
-#undef _DEFINE_SPEC
-
-  // @} group metaprogramming
-
-_GLIBCXX_END_NAMESPACE_TR1
-}
diff --git a/aos/crio/libstdc++/type_traits b/aos/crio/libstdc++/type_traits
deleted file mode 100644
index 186cab4..0000000
--- a/aos/crio/libstdc++/type_traits
+++ /dev/null
@@ -1,634 +0,0 @@
-// C++0x type_traits -*- C++ -*-
-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
-// any later version.
-
-// This library 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.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-// <http://www.gnu.org/licenses/>.
-
-/** @file include/type_traits
- *  This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_TYPE_TRAITS
-#define _GLIBCXX_TYPE_TRAITS 1
-
-#pragma GCC system_header
-
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
-# include <bits/c++0x_warning.h>
-#else
-
-#if defined(_GLIBCXX_INCLUDE_AS_TR1)
-#  error C++0x header cannot be included from TR1 header
-#endif
-
-#include <cstddef>
-
-#if defined(_GLIBCXX_INCLUDE_AS_CXX0X)
-#  include "aos/crio/libstdc++/tr1_impl/type_traits"
-#else
-#  define _GLIBCXX_INCLUDE_AS_CXX0X
-#  define _GLIBCXX_BEGIN_NAMESPACE_TR1
-#  define _GLIBCXX_END_NAMESPACE_TR1
-#  define _GLIBCXX_TR1
-#  include "aos/crio/libstdc++/tr1_impl/type_traits"
-#  undef _GLIBCXX_TR1
-#  undef _GLIBCXX_END_NAMESPACE_TR1
-#  undef _GLIBCXX_BEGIN_NAMESPACE_TR1
-#  undef _GLIBCXX_INCLUDE_AS_CXX0X
-#endif
-
-namespace std
-{
-  /**
-   * @addtogroup metaprogramming
-   * @{
-   */
-
-  // Primary classification traits.
-
-  /// is_lvalue_reference
-  template<typename>
-    struct is_lvalue_reference
-    : public false_type { };
-
-  template<typename _Tp>
-    struct is_lvalue_reference<_Tp&>
-    : public true_type { };
-
-  /// is_rvalue_reference
-  template<typename>
-    struct is_rvalue_reference
-    : public false_type { };
-
-  template<typename _Tp>
-    struct is_rvalue_reference<_Tp&&>
-    : public true_type { };
-
-  // Secondary classification traits.
-
-  /// is_reference
-  template<typename _Tp>
-    struct is_reference
-    : public integral_constant<bool, (is_lvalue_reference<_Tp>::value
-				      || is_rvalue_reference<_Tp>::value)>
-    { };
-
-  // Reference transformations.
-
-  /// remove_reference
-  template<typename _Tp>
-    struct remove_reference
-    { typedef _Tp   type; };
-
-  template<typename _Tp>
-    struct remove_reference<_Tp&>
-    { typedef _Tp   type; };
-
-  template<typename _Tp>
-    struct remove_reference<_Tp&&>
-    { typedef _Tp   type; };
-
-  template<typename _Tp,
-	   bool = !is_reference<_Tp>::value && !is_void<_Tp>::value,
-	   bool = is_rvalue_reference<_Tp>::value>
-    struct __add_lvalue_reference_helper
-    { typedef _Tp   type; };
-
-  template<typename _Tp>
-    struct __add_lvalue_reference_helper<_Tp, true, false>
-    { typedef _Tp&   type; };
-
-  template<typename _Tp>
-    struct __add_lvalue_reference_helper<_Tp, false, true>
-    { typedef typename remove_reference<_Tp>::type&   type; };
-
-  /// add_lvalue_reference
-  template<typename _Tp>
-    struct add_lvalue_reference
-    : public __add_lvalue_reference_helper<_Tp>
-    { };
-
-  template<typename _Tp,
-	   bool = !is_reference<_Tp>::value && !is_void<_Tp>::value>
-    struct __add_rvalue_reference_helper
-    { typedef _Tp   type; };
-
-  template<typename _Tp>
-    struct __add_rvalue_reference_helper<_Tp, true>
-    { typedef _Tp&&   type; };
-
-  /// add_rvalue_reference
-  template<typename _Tp>
-    struct add_rvalue_reference
-    : public __add_rvalue_reference_helper<_Tp>
-    { };
-
-  // Scalar properties and transformations.
-
-  template<typename _Tp,
-	   bool = is_integral<_Tp>::value,
-	   bool = is_floating_point<_Tp>::value>
-    struct __is_signed_helper
-    : public false_type { };
-
-  template<typename _Tp>
-    struct __is_signed_helper<_Tp, false, true>
-    : public true_type { };
-
-  template<typename _Tp>
-    struct __is_signed_helper<_Tp, true, false>
-    : public integral_constant<bool, static_cast<bool>(_Tp(-1) < _Tp(0))>
-    { };
-
-  /// is_signed
-  template<typename _Tp>
-    struct is_signed
-    : public integral_constant<bool, __is_signed_helper<_Tp>::value>
-    { };
-
-  /// is_unsigned
-  template<typename _Tp>
-    struct is_unsigned
-    : public integral_constant<bool, (is_arithmetic<_Tp>::value
-				      && !is_signed<_Tp>::value)>
-    { };
-
-  // Member introspection.
-
-  /// is_trivial
-  template<typename _Tp>
-    struct is_trivial
-    : public integral_constant<bool, __is_trivial(_Tp)>
-    { };
-
-  /// is_standard_layout
-  template<typename _Tp>
-    struct is_standard_layout
-    : public integral_constant<bool, __is_standard_layout(_Tp)>
-    { };
-
-  /// is_pod
-  // Could use is_standard_layout && is_trivial instead of the builtin.
-  template<typename _Tp>
-    struct is_pod
-    : public integral_constant<bool, __is_pod(_Tp)>
-    { };
-
-  template<typename _Tp>
-    typename add_rvalue_reference<_Tp>::type declval();
-
-  template<typename _Tp, typename... _Args>
-    class __is_constructible_helper
-    : public __sfinae_types
-    {
-      template<typename _Tp1, typename... _Args1>
-        static decltype(_Tp1(declval<_Args1>()...), __one()) __test(int);
-
-      template<typename, typename...>
-        static __two __test(...);
-
-    public:
-      static const bool __value = sizeof(__test<_Tp, _Args...>(0)) == 1;
-    };
-
-  template<typename _Tp, typename _Arg>
-    class __is_constructible_helper<_Tp, _Arg>
-    : public __sfinae_types
-    {
-      template<typename _Tp1, typename _Arg1>
-        static decltype(static_cast<_Tp1>(declval<_Arg1>()), __one())
-	__test(int);
-
-      template<typename, typename>
-        static __two __test(...);
-
-    public:
-      static const bool __value = sizeof(__test<_Tp, _Arg>(0)) == 1;
-    };
-
-  /// is_constructible
-  // XXX FIXME
-  // The C++0x specifications require front-end support, see N2255.
-  template<typename _Tp, typename... _Args>
-    struct is_constructible
-    : public integral_constant<bool,
-			       __is_constructible_helper<_Tp,
-							 _Args...>::__value>
-    { };
-
-  /// has_trivial_default_constructor
-  template<typename _Tp>
-    struct has_trivial_default_constructor
-    : public integral_constant<bool, __has_trivial_constructor(_Tp)>
-    { };
-
-  /// has_trivial_copy_constructor
-  template<typename _Tp>
-    struct has_trivial_copy_constructor
-    : public integral_constant<bool, __has_trivial_copy(_Tp)>
-    { };
-
-  /// has_trivial_assign
-  template<typename _Tp>
-    struct has_trivial_assign
-    : public integral_constant<bool, __has_trivial_assign(_Tp)>
-    { };
-
-  /// has_trivial_destructor
-  template<typename _Tp>
-    struct has_trivial_destructor
-    : public integral_constant<bool, __has_trivial_destructor(_Tp)>
-    { };
-
-  /// has_nothrow_default_constructor
-  template<typename _Tp>
-    struct has_nothrow_default_constructor
-    : public integral_constant<bool, __has_nothrow_constructor(_Tp)>
-    { };
-
-  /// has_nothrow_copy_constructor
-  template<typename _Tp>
-    struct has_nothrow_copy_constructor
-    : public integral_constant<bool, __has_nothrow_copy(_Tp)>
-    { };
-
-  /// has_nothrow_assign
-  template<typename _Tp>
-    struct has_nothrow_assign
-    : public integral_constant<bool, __has_nothrow_assign(_Tp)>
-    { };
-
-  // Relationships between types.
-
-  /// is_base_of
-  template<typename _Base, typename _Derived>
-    struct is_base_of
-    : public integral_constant<bool, __is_base_of(_Base, _Derived)>
-    { };
-
-  template<typename _From, typename _To,
-	   bool = (is_void<_From>::value || is_void<_To>::value
-		   || is_function<_To>::value || is_array<_To>::value)>
-    struct __is_convertible_helper
-    { static const bool __value = (is_void<_From>::value
-				   && is_void<_To>::value); };
-
-  template<typename _From, typename _To>
-    class __is_convertible_helper<_From, _To, false>
-    : public __sfinae_types
-    {
-      static __one __test(_To);
-      static __two __test(...);
-
-    public:
-      static const bool __value = sizeof(__test(declval<_From>())) == 1;
-    };
-
-  /// is_convertible
-  // XXX FIXME
-  // The C++0x specifications require front-end support, see N2255.
-  template<typename _From, typename _To>
-    struct is_convertible
-    : public integral_constant<bool,
-			       __is_convertible_helper<_From, _To>::__value>
-    { };
-
-  /// is_explicitly_convertible
-  template<typename _From, typename _To>
-    struct is_explicitly_convertible
-    : public is_constructible<_To, _From>
-    { };
-
-  template<std::size_t _Len>
-    struct __aligned_storage_msa
-    { 
-      union __type
-      {
-	unsigned char __data[_Len];
-	struct __attribute__((__aligned__)) { } __align; 
-      };
-    };
-
-  /**
-   *  @brief Alignment type.
-   *
-   *  The value of _Align is a default-alignment which shall be the
-   *  most stringent alignment requirement for any C++ object type
-   *  whose size is no greater than _Len (3.9). The member typedef
-   *  type shall be a POD type suitable for use as uninitialized
-   *  storage for any object whose size is at most _Len and whose
-   *  alignment is a divisor of _Align.
-  */
-  template<std::size_t _Len, std::size_t _Align =
-	   __alignof__(typename __aligned_storage_msa<_Len>::__type)>
-    struct aligned_storage
-    { 
-      union type
-      {
-	unsigned char __data[_Len];
-	struct __attribute__((__aligned__((_Align)))) { } __align; 
-      };
-    };
-
-
-  // Define a nested type if some predicate holds.
-  // Primary template.
-  /// enable_if
-  template<bool, typename _Tp = void>
-    struct enable_if 
-    { };
-
-  // Partial specialization for true.
-  template<typename _Tp>
-    struct enable_if<true, _Tp>
-    { typedef _Tp type; };
-
-
-  // A conditional expression, but for types. If true, first, if false, second.
-  // Primary template.
-  /// conditional
-  template<bool _Cond, typename _Iftrue, typename _Iffalse>
-    struct conditional
-    { typedef _Iftrue type; };
-
-  // Partial specialization for false.
-  template<typename _Iftrue, typename _Iffalse>
-    struct conditional<false, _Iftrue, _Iffalse>
-    { typedef _Iffalse type; };
-
-
-  // Decay trait for arrays and functions, used for perfect forwarding
-  // in make_pair, make_tuple, etc.
-  template<typename _Up, 
-	   bool _IsArray = is_array<_Up>::value,
-	   bool _IsFunction = is_function<_Up>::value> 
-    struct __decay_selector;
-
-  // NB: DR 705.
-  template<typename _Up> 
-    struct __decay_selector<_Up, false, false>
-    { typedef typename remove_cv<_Up>::type __type; };
-
-  template<typename _Up> 
-    struct __decay_selector<_Up, true, false>
-    { typedef typename remove_extent<_Up>::type* __type; };
-
-  template<typename _Up> 
-    struct __decay_selector<_Up, false, true>
-    { typedef typename add_pointer<_Up>::type __type; };
-
-  /// decay
-  template<typename _Tp> 
-    class decay 
-    { 
-      typedef typename remove_reference<_Tp>::type __remove_type;
-
-    public:
-      typedef typename __decay_selector<__remove_type>::__type type;
-    };
-
-
-  // Utility for constructing identically cv-qualified types.
-  template<typename _Unqualified, bool _IsConst, bool _IsVol>
-    struct __cv_selector;
-
-  template<typename _Unqualified>
-    struct __cv_selector<_Unqualified, false, false>
-    { typedef _Unqualified __type; };
-
-  template<typename _Unqualified>
-    struct __cv_selector<_Unqualified, false, true>
-    { typedef volatile _Unqualified __type; };
-
-  template<typename _Unqualified>
-    struct __cv_selector<_Unqualified, true, false>
-    { typedef const _Unqualified __type; };
-
-  template<typename _Unqualified>
-    struct __cv_selector<_Unqualified, true, true>
-    { typedef const volatile _Unqualified __type; };
-
-  template<typename _Qualified, typename _Unqualified,
-	   bool _IsConst = is_const<_Qualified>::value,
-	   bool _IsVol = is_volatile<_Qualified>::value>
-    class __match_cv_qualifiers
-    {
-      typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match;
-
-    public:
-      typedef typename __match::__type __type; 
-    };
-
-
-  // Utility for finding the unsigned versions of signed integral types.
-  template<typename _Tp>
-    struct __make_unsigned
-    { typedef _Tp __type; };
-
-  template<>
-    struct __make_unsigned<char>
-    { typedef unsigned char __type; };
-
-  template<>
-    struct __make_unsigned<signed char>
-    { typedef unsigned char __type; };
-
-  template<>
-    struct __make_unsigned<short>
-    { typedef unsigned short __type; };
-
-  template<>
-    struct __make_unsigned<int>
-    { typedef unsigned int __type; };
-
-  template<>
-    struct __make_unsigned<long>
-    { typedef unsigned long __type; };
-
-  template<>
-    struct __make_unsigned<long long>
-    { typedef unsigned long long __type; };
-
-
-  // Select between integral and enum: not possible to be both.
-  template<typename _Tp, 
-	   bool _IsInt = is_integral<_Tp>::value,
-	   bool _IsEnum = is_enum<_Tp>::value>
-    class __make_unsigned_selector;
-
-  template<typename _Tp>
-    class __make_unsigned_selector<_Tp, true, false>
-    {
-      typedef __make_unsigned<typename remove_cv<_Tp>::type> __unsignedt;
-      typedef typename __unsignedt::__type __unsigned_type;
-      typedef __match_cv_qualifiers<_Tp, __unsigned_type> __cv_unsigned;
-
-    public:
-      typedef typename __cv_unsigned::__type __type;
-    };
-
-  template<typename _Tp>
-    class __make_unsigned_selector<_Tp, false, true>
-    {
-      // With -fshort-enums, an enum may be as small as a char.
-      typedef unsigned char __smallest;
-      static const bool __b0 = sizeof(_Tp) <= sizeof(__smallest);
-      static const bool __b1 = sizeof(_Tp) <= sizeof(unsigned short);
-      static const bool __b2 = sizeof(_Tp) <= sizeof(unsigned int);
-      typedef conditional<__b2, unsigned int, unsigned long> __cond2;
-      typedef typename __cond2::type __cond2_type;
-      typedef conditional<__b1, unsigned short, __cond2_type> __cond1;
-      typedef typename __cond1::type __cond1_type;
-
-    public:
-      typedef typename conditional<__b0, __smallest, __cond1_type>::type __type;
-    };
-
-  // Given an integral/enum type, return the corresponding unsigned
-  // integer type.
-  // Primary template.
-  /// make_unsigned
-  template<typename _Tp>
-    struct make_unsigned 
-    { typedef typename __make_unsigned_selector<_Tp>::__type type; };
-
-  // Integral, but don't define.
-  template<>
-    struct make_unsigned<bool>;
-
-
-  // Utility for finding the signed versions of unsigned integral types.
-  template<typename _Tp>
-    struct __make_signed
-    { typedef _Tp __type; };
-
-  template<>
-    struct __make_signed<char>
-    { typedef signed char __type; };
-
-  template<>
-    struct __make_signed<unsigned char>
-    { typedef signed char __type; };
-
-  template<>
-    struct __make_signed<unsigned short>
-    { typedef signed short __type; };
-
-  template<>
-    struct __make_signed<unsigned int>
-    { typedef signed int __type; };
-
-  template<>
-    struct __make_signed<unsigned long>
-    { typedef signed long __type; };
-
-  template<>
-    struct __make_signed<unsigned long long>
-    { typedef signed long long __type; };
-
-
-  // Select between integral and enum: not possible to be both.
-  template<typename _Tp, 
-	   bool _IsInt = is_integral<_Tp>::value,
-	   bool _IsEnum = is_enum<_Tp>::value>
-    class __make_signed_selector;
-
-  template<typename _Tp>
-    class __make_signed_selector<_Tp, true, false>
-    {
-      typedef __make_signed<typename remove_cv<_Tp>::type> __signedt;
-      typedef typename __signedt::__type __signed_type;
-      typedef __match_cv_qualifiers<_Tp, __signed_type> __cv_signed;
-
-    public:
-      typedef typename __cv_signed::__type __type;
-    };
-
-  template<typename _Tp>
-    class __make_signed_selector<_Tp, false, true>
-    {
-      // With -fshort-enums, an enum may be as small as a char.
-      typedef signed char __smallest;
-      static const bool __b0 = sizeof(_Tp) <= sizeof(__smallest);
-      static const bool __b1 = sizeof(_Tp) <= sizeof(signed short);
-      static const bool __b2 = sizeof(_Tp) <= sizeof(signed int);
-      typedef conditional<__b2, signed int, signed long> __cond2;
-      typedef typename __cond2::type __cond2_type;
-      typedef conditional<__b1, signed short, __cond2_type> __cond1;
-      typedef typename __cond1::type __cond1_type;
-
-    public:
-      typedef typename conditional<__b0, __smallest, __cond1_type>::type __type;
-    };
-
-  // Given an integral/enum type, return the corresponding signed
-  // integer type.
-  // Primary template.
-  /// make_signed
-  template<typename _Tp>
-    struct make_signed 
-    { typedef typename __make_signed_selector<_Tp>::__type type; };
-
-  // Integral, but don't define.
-  template<>
-    struct make_signed<bool>;
-
-  /// common_type
-  template<typename... _Tp>
-    struct common_type;
-
-  template<typename _Tp>
-    struct common_type<_Tp>
-    { typedef _Tp type; };
-
-  template<typename _Tp, typename _Up>
-    struct common_type<_Tp, _Up>
-    { typedef decltype(true ? declval<_Tp>() : declval<_Up>()) type; };
-
-  template<typename _Tp, typename _Up, typename... _Vp>
-    struct common_type<_Tp, _Up, _Vp...>
-    {
-      typedef typename
-        common_type<typename common_type<_Tp, _Up>::type, _Vp...>::type type;
-    };
-  // @} group metaprogramming
-
-  /// declval
-  template<typename _Tp>
-    struct __declval_protector
-    {
-      static const bool __stop = false;
-      static typename add_rvalue_reference<_Tp>::type __delegate();
-    };
-
-  template<typename _Tp>
-    inline typename add_rvalue_reference<_Tp>::type
-    declval()
-    {
-      static_assert(__declval_protector<_Tp>::__stop,
-		    "declval() must not be used!");
-      return __declval_protector<_Tp>::__delegate();
-    }
-}
-
-#endif  // __GXX_EXPERIMENTAL_CXX0X__
-
-#endif  // _GLIBCXX_TYPE_TRAITS
diff --git a/aos/crio/libstdc++/unique_ptr.h b/aos/crio/libstdc++/unique_ptr.h
deleted file mode 100644
index f6bda76d..0000000
--- a/aos/crio/libstdc++/unique_ptr.h
+++ /dev/null
@@ -1,419 +0,0 @@
-// unique_ptr implementation -*- C++ -*-
-
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
-// any later version.
-
-// This library 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.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-// <http://www.gnu.org/licenses/>.
-
-/** @file unique_ptr.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
- */
-
-#ifndef _UNIQUE_PTR_H
-#define _UNIQUE_PTR_H 1
-
-#include "aos/crio/type_traits/type_traits"
-#include "aos/common/libstdc++/utility"
-#include <assert.h>
-
-namespace std {
-
-  /**
-   * @addtogroup pointer_abstractions
-   * @{
-   */
-
-  /// Primary template, default_delete.
-  template<typename _Tp> 
-    struct default_delete
-      {
-	default_delete() { }
-
-	template<typename _Up>
-	  default_delete(const default_delete<_Up>&) { }
-
-	void
-	operator()(_Tp* __ptr) const
-	{
-	  static_assert(sizeof(_Tp)>0,
-			"can't delete pointer to incomplete type");
-	  delete __ptr;
-	}
-    };
-
-  // _GLIBCXX_RESOLVE_LIB_DEFECTS
-  // DR 740 - omit specialization for array objects with a compile time length
-  /// Specialization, default_delete.
-  template<typename _Tp> 
-    struct default_delete<_Tp[]>
-    {
-      void
-      operator()(_Tp* __ptr) const
-      {
-	static_assert(sizeof(_Tp)>0,
-		      "can't delete pointer to incomplete type");
-	delete [] __ptr;
-      }
-    };
-
-  /// 20.7.12.2 unique_ptr for single objects.
-  template <typename _Tp, typename _Tp_Deleter = default_delete<_Tp> > 
-    class unique_ptr
-    {
-      typedef _Tp* unique_ptr::*             __unspecified_pointer_type;
-
-    public:
-      typedef _Tp*               pointer;
-      typedef _Tp                element_type;      
-      typedef _Tp_Deleter        deleter_type;
-
-      // Constructors.
-      unique_ptr()
-      : _t(pointer()), _deleter(deleter_type())
-      { static_assert(!std::is_pointer<deleter_type>::value,
-		      "constructed with null function pointer deleter"); }
-
-      explicit
-      unique_ptr(pointer __p)
-      : _t(__p), _deleter(deleter_type())
-      { static_assert(!std::is_pointer<deleter_type>::value,
-		     "constructed with null function pointer deleter"); }
-
-      unique_ptr(pointer __p,
-          typename std::conditional<std::is_reference<deleter_type>::value, 
-            deleter_type, const deleter_type&>::type __d)
-      : _t(__p), _deleter(__d) { }
-
-      unique_ptr(pointer __p,
-          typename std::remove_reference<deleter_type>::type&& __d)
-      : _t(std::move(__p)), _deleter(std::move(__d))
-      { static_assert(!std::is_reference<deleter_type>::value, 
-		      "rvalue deleter bound to reference"); }
-
-      // Move constructors.
-      unique_ptr(unique_ptr&& __u) 
-      : _t(__u.release()), _deleter(std::forward<deleter_type>(__u.get_deleter())) { }
-
-      template<typename _Up, typename _Up_Deleter> 
-        unique_ptr(unique_ptr<_Up, _Up_Deleter>&& __u) 
-        : _t(__u.release()), _deleter(std::forward<deleter_type>(__u.get_deleter()))
-	{ }
-
-      // Destructor.
-      ~unique_ptr() { reset(); }
-    
-      // Assignment.
-      unique_ptr&
-      operator=(unique_ptr&& __u)
-      { 
-        reset(__u.release()); 
-        get_deleter() = std::move(__u.get_deleter()); 
-        return *this;
-      }
-
-      template<typename _Up, typename _Up_Deleter> 
-        unique_ptr&
-        operator=(unique_ptr<_Up, _Up_Deleter>&& __u)
-	{
-          reset(__u.release()); 
-          get_deleter() = std::move(__u.get_deleter()); 
-          return *this;
-        }
-
-      unique_ptr&
-      operator=(__unspecified_pointer_type) 
-      {
-	reset();
-	return *this;
-      }
-
-      // Observers.
-      typename std::add_lvalue_reference<element_type>::type
-      operator*() const
-      {
-	assert(get() != pointer());
-	return *get();
-      }
-
-      pointer
-      operator->() const
-      {
-	assert(get() != pointer());
-	return get();
-      }
-
-      pointer
-      get() const
-      { return _t; }
-
-      deleter_type&
-      get_deleter()
-      { return _deleter; }
-
-      const deleter_type&
-      get_deleter() const
-      { return _deleter; }
-
-      explicit operator bool() const
-      { return get() == pointer() ? false : true; }
-
-      // Modifiers.
-      pointer
-      release() 
-      {
-	pointer __p = get();
-	_t = pointer();
-	return __p;
-      }
-
-      void
-      reset(pointer __p = pointer())
-      {
-	using std::swap;
-	swap(_t, __p);
-	if (__p != pointer())
-	  get_deleter()(__p);
-      }
-
-      void
-      swap(unique_ptr& __u)
-      {
-	using std::swap;
-	swap(_t, __u._t);
-	swap(_deleter, __u._deleter);
-      }
-
-      // Disable copy from lvalue.
-      unique_ptr(const unique_ptr&) = delete;
-      unique_ptr& operator=(const unique_ptr&) = delete;
-
-    private:
-			_Tp *_t;
-			_Tp_Deleter _deleter;
-  };
- 
-  /// 20.7.12.3 unique_ptr for array objects with a runtime length
-  // [unique.ptr.runtime]
-  // _GLIBCXX_RESOLVE_LIB_DEFECTS
-  // DR 740 - omit specialization for array objects with a compile time length
-  template<typename _Tp, typename _Tp_Deleter> 
-    class unique_ptr<_Tp[], _Tp_Deleter>
-    {
-      typedef _Tp* unique_ptr::*             __unspecified_pointer_type;
-
-    public:
-      typedef _Tp*               pointer;
-      typedef _Tp                element_type;      
-      typedef _Tp_Deleter        deleter_type;
-
-      // Constructors.
-      unique_ptr()
-      : _t(pointer()), _deleter(deleter_type())
-      { static_assert(!std::is_pointer<deleter_type>::value,
-		      "constructed with null function pointer deleter"); }
-
-      explicit
-      unique_ptr(pointer __p)
-      : _t(__p), _deleter(deleter_type())
-      { static_assert(!std::is_pointer<deleter_type>::value,
-		      "constructed with null function pointer deleter"); }
-
-      unique_ptr(pointer __p,
-          typename std::conditional<std::is_reference<deleter_type>::value, 
-              deleter_type, const deleter_type&>::type __d) 
-      : _t(__p), _deleter(__d) { }
-
-      unique_ptr(pointer __p,
-		 typename std::remove_reference<deleter_type>::type && __d)
-      : _t(std::move(__p)), _deleter(std::move(__d))
-      { static_assert(!std::is_reference<deleter_type>::value, 
-		      "rvalue deleter bound to reference"); }
-
-      // Move constructors.
-      unique_ptr(unique_ptr&& __u) 
-      : _t(__u.release()), _deleter(std::forward<deleter_type>(__u.get_deleter())) { }
-
-      template<typename _Up, typename _Up_Deleter> 
-        unique_ptr(unique_ptr<_Up, _Up_Deleter>&& __u) 
-	: _t(__u.release()), _deleter(std::forward<deleter_type>(__u.get_deleter()))
-	{ }
-
-      // Destructor.
-      ~unique_ptr() { reset(); }
-
-      // Assignment.
-      unique_ptr&
-      operator=(unique_ptr&& __u)
-      {
-	reset(__u.release());
-	get_deleter() = std::move(__u.get_deleter()); 
-	return *this; 
-      }
-
-      template<typename _Up, typename _Up_Deleter> 
-        unique_ptr&
-        operator=(unique_ptr<_Up, _Up_Deleter>&& __u)
-	{
-          reset(__u.release());
-          get_deleter() = std::move(__u.get_deleter()); 
-          return *this;
-        }
-
-      unique_ptr&
-      operator=(__unspecified_pointer_type)
-      {
-	reset();
-	return *this;
-      }
-
-      // Observers.
-      typename std::add_lvalue_reference<element_type>::type 
-      operator[](size_t __i) const 
-      {
-	assert(get() != pointer());
-	return get()[__i];
-      }
-
-      pointer
-      get() const
-      { return _t; }
-
-      deleter_type& 
-      get_deleter()
-      { return _deleter; }
-
-      const deleter_type&
-      get_deleter() const
-      { return _deleter; }    
-
-      explicit operator bool() const 
-      { return get() == pointer() ? false : true; }
-    
-      // Modifiers.
-      pointer
-      release() 
-      {
-	pointer __p = get();
-	_t = pointer();
-	return __p;
-      }
-
-      void
-      reset(pointer __p = pointer()) 
-      {
-	using std::swap;
-	swap(_t, __p);
-	if (__p != pointer())
-	  get_deleter()(__p);
-      }
-
-      // DR 821.
-      template<typename _Up>
-        void reset(_Up) = delete;
-
-      void
-      swap(unique_ptr& __u)
-      {
-	swap(_t, __u._t);
-	swap(_deleter, __u._deleter);
-      }
-
-      // Disable copy from lvalue.
-      unique_ptr(const unique_ptr&) = delete;
-      unique_ptr& operator=(const unique_ptr&) = delete;
-
-      // Disable construction from convertible pointer types.
-      // (N2315 - 20.6.5.3.1)
-      template<typename _Up>
-        unique_ptr(_Up*, typename
-		   std::conditional<std::is_reference<deleter_type>::value,
-		   deleter_type, const deleter_type&>::type,
-		   typename std::enable_if<std::is_convertible<_Up*, 
-		   pointer>::value>::type* = 0) = delete;
-
-      template<typename _Up>
-        unique_ptr(_Up*, typename std::remove_reference<deleter_type>::type&&,
-		   typename std::enable_if<std::is_convertible<_Up*, 
-		   pointer>::value>::type* = 0) = delete;
-
-      template<typename _Up>
-        explicit
-        unique_ptr(_Up*, typename std::enable_if<std::is_convertible<_Up*, 
-		   pointer>::value>::type* = 0) = delete;
-
-    private:
-			_Tp *_t;
-			_Tp_Deleter _deleter;
-  };
-  
-  template<typename _Tp, typename _Tp_Deleter> 
-    inline void
-    swap(unique_ptr<_Tp, _Tp_Deleter>& __x,
-	 unique_ptr<_Tp, _Tp_Deleter>& __y)
-    { __x.swap(__y); }
-
-  template<typename _Tp, typename _Tp_Deleter,
-	   typename _Up, typename _Up_Deleter>
-    inline bool
-    operator==(const unique_ptr<_Tp, _Tp_Deleter>& __x,
-	       const unique_ptr<_Up, _Up_Deleter>& __y)
-    { return __x.get() == __y.get(); }
-
-  template<typename _Tp, typename _Tp_Deleter,
-	   typename _Up, typename _Up_Deleter>
-    inline bool
-    operator!=(const unique_ptr<_Tp, _Tp_Deleter>& __x,
-	       const unique_ptr<_Up, _Up_Deleter>& __y)
-    { return !(__x.get() == __y.get()); }
-
-  template<typename _Tp, typename _Tp_Deleter,
-	   typename _Up, typename _Up_Deleter>
-    inline bool
-    operator<(const unique_ptr<_Tp, _Tp_Deleter>& __x,
-	      const unique_ptr<_Up, _Up_Deleter>& __y)
-    { return __x.get() < __y.get(); }
-
-  template<typename _Tp, typename _Tp_Deleter,
-	   typename _Up, typename _Up_Deleter>
-    inline bool
-    operator<=(const unique_ptr<_Tp, _Tp_Deleter>& __x,
-	       const unique_ptr<_Up, _Up_Deleter>& __y)
-    { return !(__y.get() < __x.get()); }
-
-  template<typename _Tp, typename _Tp_Deleter,
-	   typename _Up, typename _Up_Deleter>
-    inline bool
-    operator>(const unique_ptr<_Tp, _Tp_Deleter>& __x,
-	      const unique_ptr<_Up, _Up_Deleter>& __y)
-    { return __y.get() < __x.get(); }
-
-  template<typename _Tp, typename _Tp_Deleter,
-	   typename _Up, typename _Up_Deleter>
-    inline bool
-    operator>=(const unique_ptr<_Tp, _Tp_Deleter>& __x,
-	       const unique_ptr<_Up, _Up_Deleter>& __y)
-    { return !(__x.get() < __y.get()); }
-
-  // @} group pointer_abstractions
-
-}  // namespace std
-
-#endif /* _UNIQUE_PTR_H */
diff --git a/aos/externals/v4l-utils.patch b/aos/externals/v4l-utils.patch
deleted file mode 100644
index 3f296bf..0000000
--- a/aos/externals/v4l-utils.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- utils/v4l2-ctl/Makefile	2012-07-22 14:29:00.182803000 -0700
-+++ utils/v4l2-ctl/Makefile	2012-07-22 14:29:13.046885458 -0700
-@@ -13,7 +13,7 @@
- 	$(CC) $(LDFLAGS) -o $@ $^ -lm
- 
- v4l2-ctl: v4l2-ctl.o
--	$(CXX) $(LDFLAGS) -o $@ $^ -lv4l2 -lv4lconvert -lrt
-+	$(CXX) $(LDFLAGS) -o $@ $^ -lv4l2 -lv4lconvert -lrt -ljpeg
- 
- install: $(TARGETS)
- 	mkdir -p $(DESTDIR)$(PREFIX)/bin
---- utils/v4l2-compliance/Makefile	2012-07-22 14:28:01.850429221 -0700
-+++ utils/v4l2-compliance/Makefile	2012-07-22 14:28:16.434522654 -0700
-@@ -6,7 +6,7 @@
- 
- v4l2-compliance: v4l2-compliance.o v4l2-test-debug.o v4l2-test-input-output.o \
- 	v4l2-test-controls.o v4l2-test-io-config.o v4l2-test-formats.o
--	$(CXX) $(LDFLAGS) -o $@ $^ -lv4l2 -lv4lconvert -lrt
-+	$(CXX) $(LDFLAGS) -o $@ $^ -lv4l2 -lv4lconvert -lrt -ljpeg
- 
- install: $(TARGETS)
- 	mkdir -p $(DESTDIR)$(PREFIX)/bin