Added libcdd.
diff --git a/aos/build/download_externals.sh b/aos/build/download_externals.sh
index f671ac3..13c8eff 100755
--- a/aos/build/download_externals.sh
+++ b/aos/build/download_externals.sh
@@ -121,3 +121,18 @@
   CFLAGS='-m32' CXXFLAGS='-m32' LDFLAGS='-m32' \
   bash -c "cd ${LIBEVENT_DIR} && ./configure \
   --prefix=`readlink -f ${LIBEVENT_PREFIX}` && make && make install"
+
+# get and build libcdd
+LIBCDD_VERSION=094g
+LIBCDD_DIR=${EXTERNALS}/libcdd-${LIBCDD_VERSION}
+LIBCDD_PREFIX=${LIBCDD_DIR}-prefix
+LIBCDD_LIB=${LIBCDD_PREFIX}/lib/libcdd.a
+LIBCDD_URL=ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cddlib-${LIBCDD_VERSION}.tar.gz
+[ -f ${LIBCDD_DIR}.tar.gz ] || \
+        wget ${LIBCDD_URL} -O ${LIBCDD_DIR}.tar.gz
+[ -d ${LIBCDD_DIR} ] || ( mkdir ${LIBCDD_DIR} && tar \
+        --strip-components=1 -C ${LIBCDD_DIR} -xf ${LIBCDD_DIR}.tar.gz )
+[ -f ${LIBCDD_LIB} ] || env -i PATH="${PATH}" \
+        CFLAGS='-m32' CXXFLAGS='-m32' LDFLAGS='-m32' \
+        bash -c "cd ${LIBCDD_DIR} && ./configure --disable-shared \
+        --prefix=`readlink -f ${LIBCDD_PREFIX}` && make && make install"
diff --git a/aos/build/externals.gyp b/aos/build/externals.gyp
index 2bfee69..99b26cf 100644
--- a/aos/build/externals.gyp
+++ b/aos/build/externals.gyp
@@ -15,6 +15,7 @@
     'libusb_apiversion': '1.0',
     'compiler_rt_version': 'RELEASE_32_final',
     'libevent_version': '2.0.21',
+    'libcdd_version': '094g',
   },
   'targets': [
     {
@@ -207,6 +208,16 @@
         'include_dirs': ['<(externals)/libusb-<(libusb_version)-prefix/include'],
       },
     },
+    {
+      'target_name': 'libcdd',
+      'type': 'none',
+      'link_settings': {
+        'libraries': ['<(externals_abs)/libcdd-<(libcdd_version)-prefix/lib/libcdd.a'],
+      },
+      'direct_dependent_settings': {
+        'include_dirs': ['<(externals_abs)/libcdd-<(libcdd_version)-prefix/include'],
+      },
+    },
   ],
   'includes': [
     'libgcc-additions/libgcc-additions.gypi',