You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ka...@apache.org on 2016/05/11 22:24:31 UTC

[09/50] [abbrv] mesos git commit: Moved 3rdparty packages from libprocess/3rdparty/ to 3rdparty/.

Moved 3rdparty packages from libprocess/3rdparty/ to 3rdparty/.

Review: https://reviews.apache.org/r/46525


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/9c2f44ad
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/9c2f44ad
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/9c2f44ad

Branch: refs/heads/master
Commit: 9c2f44adb7f7fd1fffdb7c37dfbb0d841ae1a396
Parents: 66ad7f9
Author: Kapil Arya <ka...@mesosphere.io>
Authored: Tue Apr 19 16:58:13 2016 -0400
Committer: Kapil Arya <ka...@mesosphere.io>
Committed: Wed May 11 17:30:58 2016 -0400

----------------------------------------------------------------------
 3rdparty/Makefile.am                            | 173 ++++++++++++++--
 3rdparty/boost-1.53.0.tar.gz                    | Bin 0 -> 1083820 bytes
 3rdparty/glog-0.3.3.patch                       | 202 +++++++++++++++++++
 3rdparty/glog-0.3.3.tar.gz                      | Bin 0 -> 509676 bytes
 3rdparty/gmock-1.7.0.tar.gz                     | Bin 0 -> 1907242 bytes
 3rdparty/gmock_sources.cc.in                    |  19 ++
 3rdparty/gperftools-2.5.tar.gz                  | Bin 0 -> 5216569 bytes
 3rdparty/http-parser-2.6.2.patch                |  13 ++
 3rdparty/http-parser-2.6.2.tar.gz               | Bin 0 -> 48292 bytes
 3rdparty/http-parser/CMakeLists.txt.template    |  35 ++++
 3rdparty/libev-4.22.patch                       |  12 ++
 3rdparty/libev-4.22.tar.gz                      | Bin 0 -> 531533 bytes
 3rdparty/libprocess/3rdparty/Makefile.am        | 180 ++---------------
 .../libprocess/3rdparty/boost-1.53.0.tar.gz     | Bin 1083820 -> 0 bytes
 3rdparty/libprocess/3rdparty/glog-0.3.3.patch   | 202 -------------------
 3rdparty/libprocess/3rdparty/glog-0.3.3.tar.gz  | Bin 509676 -> 0 bytes
 3rdparty/libprocess/3rdparty/gmock-1.7.0.tar.gz | Bin 1907242 -> 0 bytes
 .../libprocess/3rdparty/gmock_sources.cc.in     |  19 --
 .../libprocess/3rdparty/gperftools-2.5.tar.gz   | Bin 5216569 -> 0 bytes
 .../libprocess/3rdparty/http-parser-2.6.2.patch |  13 --
 .../3rdparty/http-parser-2.6.2.tar.gz           | Bin 48292 -> 0 bytes
 .../http-parser/CMakeLists.txt.template         |  35 ----
 3rdparty/libprocess/3rdparty/libev-4.22.patch   |  12 --
 3rdparty/libprocess/3rdparty/libev-4.22.tar.gz  | Bin 531533 -> 0 bytes
 .../libprocess/3rdparty/picojson-1.3.0.tar.gz   | Bin 14695 -> 0 bytes
 .../libprocess/3rdparty/protobuf-2.6.1.patch    |  22 --
 .../libprocess/3rdparty/protobuf-2.6.1.tar.gz   | Bin 2641426 -> 0 bytes
 3rdparty/libprocess/3rdparty/versions.am        |  12 --
 3rdparty/libprocess/Makefile.am                 |  24 +--
 3rdparty/libprocess/configure.ac                |   1 -
 3rdparty/picojson-1.3.0.tar.gz                  | Bin 0 -> 14695 bytes
 3rdparty/protobuf-2.6.1.patch                   |  22 ++
 3rdparty/protobuf-2.6.1.tar.gz                  | Bin 0 -> 2641426 bytes
 3rdparty/versions.am                            |   8 +
 configure.ac                                    |   1 +
 src/Makefile.am                                 |  19 +-
 36 files changed, 501 insertions(+), 523 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/Makefile.am b/3rdparty/Makefile.am
index c9b3a25..f60de04 100644
--- a/3rdparty/Makefile.am
+++ b/3rdparty/Makefile.am
@@ -24,7 +24,7 @@
 
 BUILT_SOURCES = # Initialized to enable using +=.
 
-SUBDIRS = libprocess
+SUBDIRS = . libprocess
 
 # We need to add '--srcdir=.' needed because 'make distcheck' adds
 #  '--srcdir=...' when configuring.
@@ -32,32 +32,74 @@ CONFIGURE_ARGS = @CONFIGURE_ARGS@ --enable-shared=no --with-pic --srcdir=.
 
 include versions.am
 
+BOOST = boost-$(BOOST_VERSION)
+GLOG = glog-$(GLOG_VERSION)
+GMOCK = gmock-$(GMOCK_VERSION)
+GPERFTOOLS = gperftools-$(GPERFTOOLS_VERSION)
+GTEST = $(GMOCK)/gtest
+HTTP_PARSER = http-parser-$(HTTP_PARSER_VERSION)
 LEVELDB = leveldb-$(LEVELDB_VERSION)
+LIBEV = libev-$(LIBEV_VERSION)
 PIP = pip-$(PIP_VERSION)
+PROTOBUF = protobuf-$(PROTOBUF_VERSION)
+PICOJSON = picojson-$(PICOJSON_VERSION)
 SETUPTOOLS = setuptools-$(SETUPTOOLS_VERSION)
 WHEEL = wheel-$(WHEEL_VERSION)
 ZOOKEEPER = zookeeper-$(ZOOKEEPER_VERSION)
 
-
 EXTRA_DIST =		\
+  $(BOOST).tar.gz	\
+  $(GLOG).tar.gz	\
+  $(GMOCK).tar.gz	\
+  $(GPERFTOOLS).tar.gz	\
+  $(HTTP_PARSER).tar.gz	\
   $(LEVELDB).tar.gz	\
+  $(LIBEV).tar.gz	\
   $(PIP).tar.gz		\
+  $(PROTOBUF).tar.gz	\
+  $(PICOJSON).tar.gz	\
   $(SETUPTOOLS).tar.gz	\
   $(WHEEL).tar.gz	\
   $(ZOOKEEPER).tar.gz
 
+# We need to patch glog in order to deal with a compilation issue when
+# compiling with clang (and C++11); see MESOS-860, MESOS-966.
+EXTRA_DIST +=		\
+  $(GLOG).patch
+
+# We patch http-parser to avoid a name collision with our `flags` namespace.
+EXTRA_DIST +=		\
+  $(HTTP_PARSER).patch
+
 # We need to patch leveldb to prevent it from linking to snappy and
 # tcmalloc; see MESOS-1054, MESOS-1624.
 EXTRA_DIST +=		\
   $(LEVELDB).patch
 
+# We patch libev to keep it from reaping child processes.
+EXTRA_DIST +=		\
+  $(LIBEV).patch
+
+# We include an upstream patch for protobuf in order to avoid
+# signed/unsigned comparisons.
+EXTRA_DIST +=		\
+  $(PROTOBUF).patch
+
 # We need to patch ZooKeeper in order to get 3.4.8 to compile on PPC LE.
 EXTRA_DIST +=		\
   $(ZOOKEEPER).patch
 
 CLEAN_EXTRACTED =	\
+  $(BOOST)		\
+  $(GLOG)		\
+  $(GMOCK)		\
+  $(GPERFTOOLS)		\
+  $(HTTP_PARSER)	\
   $(LEVELDB)		\
+  $(LIBEV)		\
   $(PIP)		\
+  $(PICOJSON)		\
+  $(PROTOBUF)		\
   $(SETUPTOOLS)		\
   $(WHEEL)		\
   $(ZOOKEEPER)
@@ -74,41 +116,134 @@ CLEAN_EXTRACTED =	\
 ALL_LOCAL = # Initialize ALL_LOCAL so we can add to it.
 
 if HAS_PYTHON
-if WITH_BUNDLED_SETUPTOOLS
-  ALL_LOCAL += $(SETUPTOOLS)-stamp
-endif
-
 if WITH_BUNDLED_PIP
   ALL_LOCAL += $(PIP)-stamp
 endif
 
+if WITH_BUNDLED_SETUPTOOLS
+  ALL_LOCAL += $(SETUPTOOLS)-stamp
+endif
+
 if WITH_BUNDLED_WHEEL
   ALL_LOCAL += $(WHEEL)-stamp
 endif
 endif
 
-if WITH_BUNDLED_LEVELDB
+if WITH_BUNDLED_BOOST
+  ALL_LOCAL += $(BOOST)-stamp
+endif
+
+if WITH_BUNDLED_GLOG
+LIB_GLOG = $(GLOG)/libglog.la
+GLOG_LDFLAGS = # Initialize to empty
+if OS_FREEBSD
+  GLOG_LDFLAGS += "LDFLAGS='-L/usr/local/lib -lexecinfo'"
+endif
 
-  # TODO(charles): Figure out PIC options in our configure.ac or create
-  # a configure.ac for leveldb.
-  $(LEVELDB)/libleveldb.a: $(LEVELDB)-stamp
+# NOTE: We explicitly set GTEST_CONFIG=no so that we don't attempt to
+# build glog against a system installed gtest (there's no reason to
+# "test" glog and it's highly likely it will cause a compilation bug
+# when building with clang).
+$(LIB_GLOG): $(GLOG)-stamp
+	cd $(GLOG) && ./configure GTEST_CONFIG=no $(CONFIGURE_ARGS) && \
+          $(MAKE) $(AM_MAKEFLAGS) $(GLOG_LDFLAGS)
+
+ALL_LOCAL += $(LIB_GLOG)
+endif
+
+if HAS_GPERFTOOLS
+LIB_GPERFTOOLS = $(GPERFTOOLS)/libprofiler.la
+
+$(LIB_GPERFTOOLS): $(GPERFTOOLS)-build-stamp
+
+$(GPERFTOOLS)-build-stamp: $(GPERFTOOLS)-stamp
+	cd $(GPERFTOOLS) && ./configure  $(CONFIGURE_ARGS) && \
+	  $(MAKE) $(AM_MAKEFLAGS)
+	touch $@
+
+ALL_LOCAL += $(LIB_GPERFTOOLS)
+endif
+
+
+if WITH_BUNDLED_HTTP_PARSER
+# Convenience library for nodejs/http-parser.
+noinst_LTLIBRARIES = libry_http_parser.la
+nodist_libry_http_parser_la_SOURCES = $(HTTP_PARSER)/http_parser.c
+libry_http_parser_la_CPPFLAGS = -I$(HTTP_PARSER) -DHTTP_PARSER_STRICT=0
+
+BUILT_SOURCES += $(nodist_libry_http_parser_la_SOURCES)
+
+$(HTTP_PARSER)/http_parser.c: $(HTTP_PARSER)-stamp
+endif
+
+if WITH_BUNDLED_LIBEV
+$(LIBEV)/libev.la: $(LIBEV)-stamp
+	cd $(LIBEV) && ./configure $(CONFIGURE_ARGS) && \
+          $(MAKE) $(AM_MAKEFLAGS)
+ALL_LOCAL += $(LIBEV)/libev.la
+endif
+
+if WITH_BUNDLED_PICOJSON
+# Stout depends on <picojson.h>. Install picojson.h into $PREFIX/include
+# but don't add it to the source tarball.
+nodist_include_HEADERS = $(PICOJSON)/picojson.h
+$(PICOJSON)/picojson.h: $(PICOJSON)-stamp
+ALL_LOCAL += $(PICOJSON)-stamp
+endif
+
+
+if WITH_BUNDLED_PROTOBUF
+$(PROTOBUF)/src/protoc $(PROTOBUF)/src/libprotobuf.la: $(PROTOBUF)-build-stamp
+
+$(PROTOBUF)-build-stamp: $(PROTOBUF)-stamp
+	cd $(PROTOBUF) && ./configure $(CONFIGURE_ARGS) && \
+        $(MAKE) $(AM_MAKEFLAGS)
+	touch $@
+ALL_LOCAL += $(PROTOBUF)/src/libprotobuf.la
+ALL_LOCAL += $(PROTOBUF)/src/protoc
+endif
+
+# Convenience library for gmock/gtest.
+check_LTLIBRARIES = libgmock.la
+nodist_libgmock_la_SOURCES = gmock_sources.cc
+
+if WITH_BUNDLED_GMOCK
+libgmock_la_CPPFLAGS =			\
+  -I$(GTEST)/include -I$(GTEST) -I$(GTEST)/src	\
+  -I$(GMOCK)/include -I$(GMOCK) -I$(GMOCK)/src
+
+  gmock_sources.cc: $(GMOCK)-stamp
+endif
+
+if LINKGTEST
+libgmock_la_LIBADD = -lgtest
+endif
+
+
+# We list the sources in BUILT_SOURCES to make sure that the package
+# gets unarchived first.
+BUILT_SOURCES += $(nodist_libgmock_la_SOURCES)
+
+if WITH_BUNDLED_LEVELDB
+# TODO(charles): Figure out PIC options in our configure.ac or create
+# a configure.ac for leveldb.
+$(LEVELDB)/libleveldb.a: $(LEVELDB)-stamp
 	cd $(LEVELDB) && \
-          $(MAKE) $(AM_MAKEFLAGS) CC="$(CC)" CXX="$(CXX)" OPT="$(CXXFLAGS) -fPIC"
+	  $(MAKE) $(AM_MAKEFLAGS) CC="$(CC)" CXX="$(CXX)" OPT="$(CXXFLAGS) -fPIC"
 
-  ALL_LOCAL += $(LEVELDB)/libleveldb.a
+ALL_LOCAL += $(LEVELDB)/libleveldb.a
 endif
 
 if WITH_BUNDLED_ZOOKEEPER
-
-  $(ZOOKEEPER)/src/c/libzookeeper_mt.la: $(ZOOKEEPER)-stamp
+$(ZOOKEEPER)/src/c/libzookeeper_mt.la: $(ZOOKEEPER)-stamp
 	cd $(ZOOKEEPER)/src/c && ./configure $(CONFIGURE_ARGS) && \
 	  $(MAKE) $(AM_MAKEFLAGS)
 
-  ALL_LOCAL += $(ZOOKEEPER)/src/c/libzookeeper_mt.la
+ALL_LOCAL += $(ZOOKEEPER)/src/c/libzookeeper_mt.la
 else
-  # No matter what, we need to extract ZooKeeper so that we can run
-  # 'make check' (some of our tests need the ZooKeeper JAR).
-  ALL_LOCAL += $(ZOOKEEPER)-stamp
+# No matter what, we need to extract ZooKeeper so that we can run
+# 'make check' (some of our tests need the ZooKeeper JAR).
+ALL_LOCAL += $(ZOOKEEPER)-stamp
 endif
 
 all-local: $(ALL_LOCAL)
@@ -117,5 +252,5 @@ clean-local:
 	rm -r -f $(CLEAN_EXTRACTED)
 	rm -f *-stamp
 
-tests: all
+tests: all $(check_LTLIBRARIES)
 	@cd libprocess && $(MAKE) $(AM_MAKEFLAGS) tests

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/boost-1.53.0.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/boost-1.53.0.tar.gz b/3rdparty/boost-1.53.0.tar.gz
new file mode 100644
index 0000000..175f373
Binary files /dev/null and b/3rdparty/boost-1.53.0.tar.gz differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/glog-0.3.3.patch
----------------------------------------------------------------------
diff --git a/3rdparty/glog-0.3.3.patch b/3rdparty/glog-0.3.3.patch
new file mode 100644
index 0000000..f1ed584
--- /dev/null
+++ b/3rdparty/glog-0.3.3.patch
@@ -0,0 +1,202 @@
+diff --git a/src/symbolize.cc b/src/symbolize.cc
+index 30836de..3e90573 100644
+--- a/src/symbolize.cc
++++ b/src/symbolize.cc
+@@ -232,7 +232,7 @@
+     }
+     char header_name[kMaxSectionNameLen];
+     if (sizeof(header_name) < name_len) {
+-      RAW_LOG(WARNING, "Section name '%s' is too long (%"PRIuS"); "
++      RAW_LOG(WARNING, "Section name '%s' is too long (%" PRIuS "); "
+               "section will not be found (even if present).", name, name_len);
+       // No point in even trying.
+       return false;
+diff --git a/src/glog/stl_logging.h.in b/src/glog/stl_logging.h.in
+index 30836de..3e90573 100644
+--- a/src/glog/stl_logging.h.in
++++ b/src/glog/stl_logging.h.in
+@@ -50,10 +50,13 @@
+ #include <utility>
+ #include <vector>
+ 
+-#ifdef __GNUC__
++#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
+ # include <ext/hash_set>
+ # include <ext/hash_map>
+ # include <ext/slist>
++#elif defined(_LIBCPP_VERSION)
++# include <unordered_map>
++# include <unordered_set>
+ #endif
+ 
+ // Forward declare these two, and define them after all the container streams
+@@ -80,7 +83,7 @@ inline std::ostream& operator<<(std::ostream& out, \
+ OUTPUT_TWO_ARG_CONTAINER(std::vector)
+ OUTPUT_TWO_ARG_CONTAINER(std::deque)
+ OUTPUT_TWO_ARG_CONTAINER(std::list)
+-#ifdef __GNUC__
++#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
+ OUTPUT_TWO_ARG_CONTAINER(__gnu_cxx::slist)
+ #endif
+ 
+@@ -109,9 +112,12 @@ inline std::ostream& operator<<(std::ostream& out, \
+ 
+ OUTPUT_FOUR_ARG_CONTAINER(std::map)
+ OUTPUT_FOUR_ARG_CONTAINER(std::multimap)
+-#ifdef __GNUC__
++#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
+ OUTPUT_FOUR_ARG_CONTAINER(__gnu_cxx::hash_set)
+ OUTPUT_FOUR_ARG_CONTAINER(__gnu_cxx::hash_multiset)
++#elif defined(_LIBCPP_VERSION)
++OUTPUT_FOUR_ARG_CONTAINER(std::unordered_set)
++OUTPUT_FOUR_ARG_CONTAINER(std::unordered_multiset)
+ #endif
+ 
+ #undef OUTPUT_FOUR_ARG_CONTAINER
+@@ -124,9 +130,12 @@ inline std::ostream& operator<<(std::ostream& out, \
+   return out; \
+ }
+ 
+-#ifdef __GNUC__
++#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
+ OUTPUT_FIVE_ARG_CONTAINER(__gnu_cxx::hash_map)
+ OUTPUT_FIVE_ARG_CONTAINER(__gnu_cxx::hash_multimap)
++#elif defined(_LIBCPP_VERSION)
++OUTPUT_FIVE_ARG_CONTAINER(std::unordered_map)
++OUTPUT_FIVE_ARG_CONTAINER(std::unordered_multimap)
+ #endif
+ 
+ #undef OUTPUT_FIVE_ARG_CONTAINER
+diff --git a/src/stl_logging_unittest.cc b/src/stl_logging_unittest.cc
+index 5dcbc44..ee344ca 100644
+--- a/src/stl_logging_unittest.cc
++++ b/src/stl_logging_unittest.cc
+@@ -39,7 +39,7 @@
+ #include <string>
+ #include <vector>
+ 
+-#ifdef __GNUC__
++#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
+ # include <ext/hash_map>
+ # include <ext/hash_set>
+ #endif
+@@ -48,7 +48,7 @@
+ #include "googletest.h"
+ 
+ using namespace std;
+-#ifdef __GNUC__
++#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
+ using namespace __gnu_cxx;
+ #endif
+ 
+@@ -83,7 +83,7 @@ void TestSTLLogging() {
+     CHECK_EQ(m, copied_m);  // This must compile.
+   }
+ 
+-#ifdef __GNUC__
++#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
+   {
+     // Test a hashed simple associative container.
+     hash_set<int> hs;
+@@ -98,7 +98,7 @@ void TestSTLLogging() {
+   }
+ #endif
+ 
+-#ifdef __GNUC__
++#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
+   {
+     // Test a hashed pair associative container.
+     hash_map<int, string> hm;
+@@ -145,7 +145,7 @@ void TestSTLLogging() {
+     CHECK_EQ(m, copied_m);  // This must compile.
+   }
+ 
+-#ifdef __GNUC__
++#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
+   {
+     // Test a hashed simple associative container.
+     // Use a user defined hash function.
+diff --git a/src/demangle.cc b/src/demangle.cc
+index 0daf308..1136e0d 100644
+--- a/src/demangle.cc
++++ b/src/demangle.cc
+@@ -167,7 +167,7 @@ static size_t StrLen(const char *str) {
+ // Returns true if "str" has at least "n" characters remaining.
+ static bool AtLeastNumCharsRemaining(const char *str, int n) {
+   for (int i = 0; i < n; ++i) {
+-    if (str == '\0') {
++    if (str[i] == '\0') {
+       return false;
+     }
+   }
+@@ -223,7 +223,7 @@ static bool ParseTwoCharToken(State *state, const char *two_char_token) {
+ // Returns true and advances "mangled_cur" if we find any character in
+ // "char_class" at "mangled_cur" position.
+ static bool ParseCharClass(State *state, const char *char_class) {
+-  if (state->mangled_cur == '\0') {
++  if (state->mangled_cur[0] == '\0') {
+     return false;
+   }
+   const char *p = char_class;
+diff --git a/src/stacktrace_powerpc-inl.h b/src/stacktrace_powerpc-inl.h
+index 1090dde..03b9108 100644
+--- a/src/stacktrace_powerpc-inl.h
++++ b/src/stacktrace_powerpc-inl.h
+@@ -111,7 +111,7 @@ int GetStackTrace(void** result, int max_depth, int skip_count) {
+       result[n++] = *(sp+2);
+ #elif defined(_CALL_SYSV)
+       result[n++] = *(sp+1);
+-#elif defined(__APPLE__) || (defined(__linux) && defined(__PPC64__))
++#elif defined(__APPLE__) || ((defined(__linux) || defined(__linux__)) && defined(__PPC64__))
+       // This check is in case the compiler doesn't define _CALL_AIX/etc.
+       result[n++] = *(sp+2);
+ #elif defined(__linux)
+diff --git a/config.guess b/config.guess
+index 278f9e9..f048baa 100755
+--- a/config.guess
++++ b/config.guess
+@@ -911,6 +911,9 @@ EOF
+     ppc64:Linux:*:*)
+ 	echo powerpc64-unknown-linux-gnu
+ 	exit ;;
++    ppc64le:Linux:*:*)
++	echo powerpc64le-unknown-linux-gnu
++	exit ;;
+     alpha:Linux:*:*)
+ 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ 	  EV5)   UNAME_MACHINE=alphaev5 ;;
+diff --git a/configure.ac b/configure.ac
+index 7b4d21e..88aa0af 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -127,27 +127,9 @@ if test x"$acx_pthread_ok" = x"yes"; then
+   AC_CHECK_LIB(pthread, pthread_self)
+ fi
+ 
+-# Check if there is google-gflags library installed.
+-SAVE_CFLAGS="$CFLAGS"
+-SAVE_LIBS="$LIBS"
+-AC_ARG_WITH(gflags, AS_HELP_STRING[--with-gflags=GFLAGS_DIR],
+-  GFLAGS_CFLAGS="-I${with_gflags}/include"
+-  GFLAGS_LIBS="-L${with_gflags}/lib -lgflags"
+-  CFLAGS="$CFLAGS $GFLAGS_CFLAGS"
+-  LIBS="$LIBS $GFLAGS_LIBS"
+-)
+-AC_CHECK_LIB(gflags, main, ac_cv_have_libgflags=1, ac_cv_have_libgflags=0)
+-if test x"$ac_cv_have_libgflags" = x"1"; then
+-  AC_DEFINE(HAVE_LIB_GFLAGS, 1, [define if you have google gflags library])
+-  if test x"$GFLAGS_LIBS" = x""; then
+-    GFLAGS_LIBS="-lgflags"
+-  fi
+-else
+-  GFLAGS_CFLAGS=
+-  GFLAGS_LIBS=
+-fi
+-CFLAGS="$SAVE_CFLAGS"
+-LIBS="$SAVE_LIBS"
++GFLAGS_CFLAGS=
++GFLAGS_LIBS=
++ac_cv_have_libgflags=0
+ 
+ # TODO(hamaji): Use official m4 macros provided by testing libraries
+ #               once the m4 macro of Google Mocking becomes ready.

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/glog-0.3.3.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/glog-0.3.3.tar.gz b/3rdparty/glog-0.3.3.tar.gz
new file mode 100644
index 0000000..92fa52d
Binary files /dev/null and b/3rdparty/glog-0.3.3.tar.gz differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/gmock-1.7.0.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/gmock-1.7.0.tar.gz b/3rdparty/gmock-1.7.0.tar.gz
new file mode 100644
index 0000000..09f5ea3
Binary files /dev/null and b/3rdparty/gmock-1.7.0.tar.gz differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/gmock_sources.cc.in
----------------------------------------------------------------------
diff --git a/3rdparty/gmock_sources.cc.in b/3rdparty/gmock_sources.cc.in
new file mode 100644
index 0000000..ba31407
--- /dev/null
+++ b/3rdparty/gmock_sources.cc.in
@@ -0,0 +1,19 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Due to limitation in variable substitution in Automake
+// _SOURCES, target is munged here instead of in the Makefile.am.
+
+#include "@GTESTSRC@"
+#include "@GMOCKSRC@"

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/gperftools-2.5.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/gperftools-2.5.tar.gz b/3rdparty/gperftools-2.5.tar.gz
new file mode 100644
index 0000000..0002c83
Binary files /dev/null and b/3rdparty/gperftools-2.5.tar.gz differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/http-parser-2.6.2.patch
----------------------------------------------------------------------
diff --git a/3rdparty/http-parser-2.6.2.patch b/3rdparty/http-parser-2.6.2.patch
new file mode 100644
index 0000000..2877597
--- /dev/null
+++ b/3rdparty/http-parser-2.6.2.patch
@@ -0,0 +1,13 @@
+diff --git a/http_parser.h b/http_parser.h
+index e33c062..a816545 100644
+--- a/http_parser.h
++++ b/http_parser.h
+@@ -140,7 +140,7 @@ enum http_parser_type { HTTP_REQUEST, HTTP_RESPONSE, HTTP_BOTH };
+
+
+ /* Flag values for http_parser.flags field */
+-enum flags
++enum flags_enum
+   { F_CHUNKED               = 1 << 0
+   , F_CONNECTION_KEEP_ALIVE = 1 << 1
+   , F_CONNECTION_CLOSE      = 1 << 2

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/http-parser-2.6.2.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/http-parser-2.6.2.tar.gz b/3rdparty/http-parser-2.6.2.tar.gz
new file mode 100644
index 0000000..f42342a
Binary files /dev/null and b/3rdparty/http-parser-2.6.2.tar.gz differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/http-parser/CMakeLists.txt.template
----------------------------------------------------------------------
diff --git a/3rdparty/http-parser/CMakeLists.txt.template b/3rdparty/http-parser/CMakeLists.txt.template
new file mode 100644
index 0000000..7f7105f
--- /dev/null
+++ b/3rdparty/http-parser/CMakeLists.txt.template
@@ -0,0 +1,35 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Builds nodejs/http-parser project.
+#########################################
+# NOTE: at build time, this file will be copied into the directory of the
+# http-parser project. This will allow any CMake-based build system consuming
+# the process library to trivially build this dependency and link to it.
+cmake_minimum_required(VERSION 2.8)
+
+project(http-parser)
+
+include_directories(.)
+
+set(HTTP_PARSER_SRC
+  ${HTTP_PARSER_SRC}
+  http_parser.c
+  http_parser.h
+  )
+
+add_definitions(-D HTTP_PARSER_STRICT=0)
+add_library(http_parser STATIC ${HTTP_PARSER_SRC})

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libev-4.22.patch
----------------------------------------------------------------------
diff --git a/3rdparty/libev-4.22.patch b/3rdparty/libev-4.22.patch
new file mode 100644
index 0000000..2d21f9f
--- /dev/null
+++ b/3rdparty/libev-4.22.patch
@@ -0,0 +1,12 @@
+diff --git a/ev.h b/ev.h
+index 38f62d8..0055cfd 100644
+--- a/ev.h
++++ b/ev.h
+@@ -125,7 +125,7 @@ EV_CPP(extern "C" {)
+ # ifdef _WIN32
+ #  define EV_CHILD_ENABLE 0
+ # else
+-#  define EV_CHILD_ENABLE EV_FEATURE_WATCHERS
++#  define EV_CHILD_ENABLE 0
+ #endif
+ #endif

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libev-4.22.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/libev-4.22.tar.gz b/3rdparty/libev-4.22.tar.gz
new file mode 100644
index 0000000..8edfd3f
Binary files /dev/null and b/3rdparty/libev-4.22.tar.gz differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/Makefile.am b/3rdparty/libprocess/3rdparty/Makefile.am
index d20e17c..37b5a7f 100644
--- a/3rdparty/libprocess/3rdparty/Makefile.am
+++ b/3rdparty/libprocess/3rdparty/Makefile.am
@@ -26,67 +26,18 @@ BUILT_SOURCES = # Initialized to enable using +=.
 #  '--srcdir=...' when configuring.
 CONFIGURE_ARGS = @CONFIGURE_ARGS@ --enable-shared=no --with-pic --srcdir=.
 
-include versions.am
+include ../../versions.am
 
 STOUT = stout
-BOOST = boost-$(BOOST_VERSION)
-GLOG = glog-$(GLOG_VERSION)
-GMOCK = gmock-$(GMOCK_VERSION)
-GPERFTOOLS = gperftools-$(GPERFTOOLS_VERSION)
+BOOST = ../../boost-$(BOOST_VERSION)
+GLOG = ../../glog-$(GLOG_VERSION)
+GMOCK = ../../gmock-$(GMOCK_VERSION)
 GTEST = $(GMOCK)/gtest
-HTTP_PARSER = http-parser-$(HTTP_PARSER_VERSION)
-LIBEV = libev-$(LIBEV_VERSION)
-PROTOBUF = protobuf-$(PROTOBUF_VERSION)
-PICOJSON = picojson-$(PICOJSON_VERSION)
-
-EXTRA_DIST =			\
-  $(BOOST).tar.gz		\
-  $(GLOG).tar.gz		\
-  $(GMOCK).tar.gz		\
-  $(GPERFTOOLS).tar.gz		\
-  $(LIBEV).tar.gz		\
-  $(PROTOBUF).tar.gz		\
-  $(HTTP_PARSER).tar.gz		\
-  $(PICOJSON).tar.gz
-
-# We need to patch glog in order to deal with a compilation issue when
-# compiling with clang (and C++11); see MESOS-860, MESOS-966.
-EXTRA_DIST +=			\
-  $(GLOG).patch
-
-# We patch libev to keep it from reaping child processes.
-EXTRA_DIST +=			\
-  $(LIBEV).patch
-
-# We patch http-parser to avoid a name collision with our `flags` namespace.
-EXTRA_DIST +=			\
-  $(HTTP_PARSER).patch
-
-# We include an upstream patch for protobuf in order to avoid
-# signed/unsigned comparisons.
-EXTRA_DIST +=			\
-  $(PROTOBUF).patch
-
-CLEAN_EXTRACTED =	\
-  $(BOOST)		\
-  $(GLOG)		\
-  $(GMOCK)		\
-  $(GPERFTOOLS)		\
-  $(LIBEV)		\
-  $(PROTOBUF)		\
-  $(HTTP_PARSER)	\
-  $(PICOJSON)
+PROTOBUF = ../../protobuf-$(PROTOBUF_VERSION)
+PICOJSON = ../../picojson-$(PICOJSON_VERSION)
 
 ALL_LOCAL = # Initialize ALL_LOCAL so we can add to it.
 
-# This is where the magic happens: we use stamp files as dependencies
-# which cause the packages to get extracted as necessary. We also
-# apply any patches as appropriate.
-%-stamp: %.tar.gz
-	gzip -d -c $^ | tar xf -
-	test ! -e $(srcdir)/$*.patch || patch -d $* -p1 <$(srcdir)/$*.patch
-	touch $@
-
 # We use "-isystem" instead of "-I" to add Boost to the include search
 # path. This disables compiler warnings inside Boost headers since we
 # can't easily fix them. See MESOS-3799.
@@ -97,14 +48,6 @@ endif
 if WITH_BUNDLED_GLOG
 GLOG_INCLUDE_FLAGS = -I$(GLOG)/src
 LIB_GLOG = $(GLOG)/libglog.la
-
-# NOTE: We explicitly set GTEST_CONFIG=no so that we don't attempt to
-# build glog against a system installed gtest (there's no reason to
-# "test" glog and it's highly likely it will cause a compilation bug
-# when building with clang).
-$(LIB_GLOG): $(GLOG)-stamp
-	cd $(GLOG) && ./configure GTEST_CONFIG=no $(CONFIGURE_ARGS) && \
-	  $(MAKE) $(AM_MAKEFLAGS) $(GLOG_LDFLAGS)
 else
 LIB_GLOG = -lglog
 endif
@@ -113,37 +56,7 @@ endif
 if WITH_BUNDLED_GMOCK
 GMOCK_INCLUDE_FLAGS = -I$(GMOCK)/include
 GTEST_INCLUDE_FLAGS = -I$(GTEST)/include
-LIB_GMOCK = libgmock.la
-endif
-
-if HAS_GPERFTOOLS
-GPERFTOOLS_INCLUDE_FLAGS = -I$(GPERFTOOLS)/src
-LIB_GPERFTOOLS = $(GPERFTOOLS)/libprofiler.la
-
-$(LIB_GPERFTOOLS): $(GPERFTOOLS)-build-stamp
-
-$(GPERFTOOLS)-build-stamp: $(GPERFTOOLS)-stamp
-	cd $(GPERFTOOLS) && ./configure  $(CONFIGURE_ARGS) && \
-	  $(MAKE) $(AM_MAKEFLAGS)
-	touch $@
-endif
-
-
-if WITH_BUNDLED_HTTP_PARSER
-  # Convenience library for nodejs/http-parser.
-  noinst_LTLIBRARIES = libry_http_parser.la
-  nodist_libry_http_parser_la_SOURCES = $(HTTP_PARSER)/http_parser.c
-  libry_http_parser_la_CPPFLAGS = -I$(HTTP_PARSER) -DHTTP_PARSER_STRICT=0
-
-  BUILT_SOURCES += $(nodist_libry_http_parser_la_SOURCES)
-
-  $(HTTP_PARSER)/http_parser.c: $(HTTP_PARSER)-stamp
-endif
-
-if WITH_BUNDLED_LIBEV
-$(LIBEV)/libev.la: $(LIBEV)-stamp
-	cd $(LIBEV) && ./configure $(CONFIGURE_ARGS) && \
-	  $(MAKE) $(AM_MAKEFLAGS)
+LIB_GMOCK = ../../libgmock.la
 endif
 
 # Enable the INT64 support for PicoJSON.
@@ -153,53 +66,13 @@ PICOJSON_INCLUDE_FLAGS =	\
 
 if WITH_BUNDLED_PICOJSON
 PICOJSON_INCLUDE_FLAGS += -I$(PICOJSON)
-
-# Stout depends on <picojson.h>. Install picojson.h into $PREFIX/include
-# but don't add it to the source tarball.
-nodist_include_HEADERS = $(PICOJSON)/picojson.h
-$(PICOJSON)/picojson.h: $(PICOJSON)-stamp
 endif
 
 if WITH_BUNDLED_PROTOBUF
-  PROTOBUF_INCLUDE_FLAGS = -I$(PROTOBUF)/src
-
-  $(PROTOBUF)/src/protoc $(PROTOBUF)/src/libprotobuf.la: $(PROTOBUF)-build-stamp
-
-  $(PROTOBUF)-build-stamp: $(PROTOBUF)-stamp
-	cd $(PROTOBUF) && ./configure $(CONFIGURE_ARGS) && \
-	  $(MAKE) $(AM_MAKEFLAGS)
-	touch $@
-
-  LIBPROTOBUF = $(PROTOBUF)/src/libprotobuf.la
-
+PROTOBUF_INCLUDE_FLAGS = -I$(PROTOBUF)/src
+LIB_PROTOBUF = $(PROTOBUF)/src/libprotobuf.la
 else
-  LIBPROTOBUF = -lprotobuf
-endif
-
-# Convenience library for gmock/gtest.
-check_LTLIBRARIES = $(LIB_GMOCK)
-nodist_libgmock_la_SOURCES = gmock_sources.cc
-
-if WITH_BUNDLED_GMOCK
-  libgmock_la_CPPFLAGS =			\
-  -I$(GTEST)/include -I$(GTEST) -I$(GTEST)/src	\
-  -I$(GMOCK)/include -I$(GMOCK) -I$(GMOCK)/src
-
-  gmock_sources.cc: $(GMOCK)-stamp
-endif
-
-if LINKGTEST
-  libgmock_la_LIBADD = -lgtest
-endif
-
-
-# We list the sources in BUILT_SOURCES to make sure that the package
-# gets unarchived first.
-BUILT_SOURCES += $(nodist_libgmock_la_SOURCES)
-
-GLOG_LDFLAGS = # Initialize to empty
-if OS_FREEBSD
-  GLOG_LDFLAGS += "LDFLAGS='-L/usr/local/lib -lexecinfo'"
+LIB_PROTOBUF = -lprotobuf
 endif
 
 if WITH_BUNDLED_STOUT
@@ -292,6 +165,10 @@ endif
 
 endif # if WITH_BUNDLED_STOUT
 
+# Both libprocess-tests and benchmarks have a dependency on libgmock.la.
+$(LIB_GMOCK):
+	@cd ../.. && $(MAKE) $(AM_MAKEFLAGS) libgmock.la
+
 # We use a check-local target for now to avoid the parallel test
 # runner that ships with newer versions of autotools.
 # See the following discussion for the workaround:
@@ -311,33 +188,4 @@ if WITH_BUNDLED_STOUT
 ALL_LOCAL += $(STOUT)/Makefile
 endif
 
-if WITH_BUNDLED_PROTOBUF
-  ALL_LOCAL += $(PROTOBUF)/src/libprotobuf.la
-  ALL_LOCAL += $(PROTOBUF)/src/protoc
-endif
-
-if WITH_BUNDLED_LIBEV
-  ALL_LOCAL += $(LIBEV)/libev.la
-endif
-
-if WITH_BUNDLED_BOOST
-  ALL_LOCAL += $(BOOST)-stamp
-endif
-
-if WITH_BUNDLED_PICOJSON
-  ALL_LOCAL += $(PICOJSON)-stamp
-endif
-
-if WITH_BUNDLED_GLOG
-  ALL_LOCAL += $(LIB_GLOG)
-endif
-
-if HAS_GPERFTOOLS
- ALL_LOCAL += $(LIB_GPERFTOOLS)
-endif
-
 all-local: $(ALL_LOCAL)
-
-clean-local:
-	rm -r -f $(CLEAN_EXTRACTED)
-	rm -f *-stamp

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/boost-1.53.0.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/boost-1.53.0.tar.gz b/3rdparty/libprocess/3rdparty/boost-1.53.0.tar.gz
deleted file mode 100644
index 175f373..0000000
Binary files a/3rdparty/libprocess/3rdparty/boost-1.53.0.tar.gz and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/glog-0.3.3.patch
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/glog-0.3.3.patch b/3rdparty/libprocess/3rdparty/glog-0.3.3.patch
deleted file mode 100644
index f1ed584..0000000
--- a/3rdparty/libprocess/3rdparty/glog-0.3.3.patch
+++ /dev/null
@@ -1,202 +0,0 @@
-diff --git a/src/symbolize.cc b/src/symbolize.cc
-index 30836de..3e90573 100644
---- a/src/symbolize.cc
-+++ b/src/symbolize.cc
-@@ -232,7 +232,7 @@
-     }
-     char header_name[kMaxSectionNameLen];
-     if (sizeof(header_name) < name_len) {
--      RAW_LOG(WARNING, "Section name '%s' is too long (%"PRIuS"); "
-+      RAW_LOG(WARNING, "Section name '%s' is too long (%" PRIuS "); "
-               "section will not be found (even if present).", name, name_len);
-       // No point in even trying.
-       return false;
-diff --git a/src/glog/stl_logging.h.in b/src/glog/stl_logging.h.in
-index 30836de..3e90573 100644
---- a/src/glog/stl_logging.h.in
-+++ b/src/glog/stl_logging.h.in
-@@ -50,10 +50,13 @@
- #include <utility>
- #include <vector>
- 
--#ifdef __GNUC__
-+#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
- # include <ext/hash_set>
- # include <ext/hash_map>
- # include <ext/slist>
-+#elif defined(_LIBCPP_VERSION)
-+# include <unordered_map>
-+# include <unordered_set>
- #endif
- 
- // Forward declare these two, and define them after all the container streams
-@@ -80,7 +83,7 @@ inline std::ostream& operator<<(std::ostream& out, \
- OUTPUT_TWO_ARG_CONTAINER(std::vector)
- OUTPUT_TWO_ARG_CONTAINER(std::deque)
- OUTPUT_TWO_ARG_CONTAINER(std::list)
--#ifdef __GNUC__
-+#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
- OUTPUT_TWO_ARG_CONTAINER(__gnu_cxx::slist)
- #endif
- 
-@@ -109,9 +112,12 @@ inline std::ostream& operator<<(std::ostream& out, \
- 
- OUTPUT_FOUR_ARG_CONTAINER(std::map)
- OUTPUT_FOUR_ARG_CONTAINER(std::multimap)
--#ifdef __GNUC__
-+#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
- OUTPUT_FOUR_ARG_CONTAINER(__gnu_cxx::hash_set)
- OUTPUT_FOUR_ARG_CONTAINER(__gnu_cxx::hash_multiset)
-+#elif defined(_LIBCPP_VERSION)
-+OUTPUT_FOUR_ARG_CONTAINER(std::unordered_set)
-+OUTPUT_FOUR_ARG_CONTAINER(std::unordered_multiset)
- #endif
- 
- #undef OUTPUT_FOUR_ARG_CONTAINER
-@@ -124,9 +130,12 @@ inline std::ostream& operator<<(std::ostream& out, \
-   return out; \
- }
- 
--#ifdef __GNUC__
-+#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
- OUTPUT_FIVE_ARG_CONTAINER(__gnu_cxx::hash_map)
- OUTPUT_FIVE_ARG_CONTAINER(__gnu_cxx::hash_multimap)
-+#elif defined(_LIBCPP_VERSION)
-+OUTPUT_FIVE_ARG_CONTAINER(std::unordered_map)
-+OUTPUT_FIVE_ARG_CONTAINER(std::unordered_multimap)
- #endif
- 
- #undef OUTPUT_FIVE_ARG_CONTAINER
-diff --git a/src/stl_logging_unittest.cc b/src/stl_logging_unittest.cc
-index 5dcbc44..ee344ca 100644
---- a/src/stl_logging_unittest.cc
-+++ b/src/stl_logging_unittest.cc
-@@ -39,7 +39,7 @@
- #include <string>
- #include <vector>
- 
--#ifdef __GNUC__
-+#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
- # include <ext/hash_map>
- # include <ext/hash_set>
- #endif
-@@ -48,7 +48,7 @@
- #include "googletest.h"
- 
- using namespace std;
--#ifdef __GNUC__
-+#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
- using namespace __gnu_cxx;
- #endif
- 
-@@ -83,7 +83,7 @@ void TestSTLLogging() {
-     CHECK_EQ(m, copied_m);  // This must compile.
-   }
- 
--#ifdef __GNUC__
-+#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
-   {
-     // Test a hashed simple associative container.
-     hash_set<int> hs;
-@@ -98,7 +98,7 @@ void TestSTLLogging() {
-   }
- #endif
- 
--#ifdef __GNUC__
-+#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
-   {
-     // Test a hashed pair associative container.
-     hash_map<int, string> hm;
-@@ -145,7 +145,7 @@ void TestSTLLogging() {
-     CHECK_EQ(m, copied_m);  // This must compile.
-   }
- 
--#ifdef __GNUC__
-+#if defined (__GNUC__) && !defined(_LIBCPP_VERSION)
-   {
-     // Test a hashed simple associative container.
-     // Use a user defined hash function.
-diff --git a/src/demangle.cc b/src/demangle.cc
-index 0daf308..1136e0d 100644
---- a/src/demangle.cc
-+++ b/src/demangle.cc
-@@ -167,7 +167,7 @@ static size_t StrLen(const char *str) {
- // Returns true if "str" has at least "n" characters remaining.
- static bool AtLeastNumCharsRemaining(const char *str, int n) {
-   for (int i = 0; i < n; ++i) {
--    if (str == '\0') {
-+    if (str[i] == '\0') {
-       return false;
-     }
-   }
-@@ -223,7 +223,7 @@ static bool ParseTwoCharToken(State *state, const char *two_char_token) {
- // Returns true and advances "mangled_cur" if we find any character in
- // "char_class" at "mangled_cur" position.
- static bool ParseCharClass(State *state, const char *char_class) {
--  if (state->mangled_cur == '\0') {
-+  if (state->mangled_cur[0] == '\0') {
-     return false;
-   }
-   const char *p = char_class;
-diff --git a/src/stacktrace_powerpc-inl.h b/src/stacktrace_powerpc-inl.h
-index 1090dde..03b9108 100644
---- a/src/stacktrace_powerpc-inl.h
-+++ b/src/stacktrace_powerpc-inl.h
-@@ -111,7 +111,7 @@ int GetStackTrace(void** result, int max_depth, int skip_count) {
-       result[n++] = *(sp+2);
- #elif defined(_CALL_SYSV)
-       result[n++] = *(sp+1);
--#elif defined(__APPLE__) || (defined(__linux) && defined(__PPC64__))
-+#elif defined(__APPLE__) || ((defined(__linux) || defined(__linux__)) && defined(__PPC64__))
-       // This check is in case the compiler doesn't define _CALL_AIX/etc.
-       result[n++] = *(sp+2);
- #elif defined(__linux)
-diff --git a/config.guess b/config.guess
-index 278f9e9..f048baa 100755
---- a/config.guess
-+++ b/config.guess
-@@ -911,6 +911,9 @@ EOF
-     ppc64:Linux:*:*)
- 	echo powerpc64-unknown-linux-gnu
- 	exit ;;
-+    ppc64le:Linux:*:*)
-+	echo powerpc64le-unknown-linux-gnu
-+	exit ;;
-     alpha:Linux:*:*)
- 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- 	  EV5)   UNAME_MACHINE=alphaev5 ;;
-diff --git a/configure.ac b/configure.ac
-index 7b4d21e..88aa0af 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -127,27 +127,9 @@ if test x"$acx_pthread_ok" = x"yes"; then
-   AC_CHECK_LIB(pthread, pthread_self)
- fi
- 
--# Check if there is google-gflags library installed.
--SAVE_CFLAGS="$CFLAGS"
--SAVE_LIBS="$LIBS"
--AC_ARG_WITH(gflags, AS_HELP_STRING[--with-gflags=GFLAGS_DIR],
--  GFLAGS_CFLAGS="-I${with_gflags}/include"
--  GFLAGS_LIBS="-L${with_gflags}/lib -lgflags"
--  CFLAGS="$CFLAGS $GFLAGS_CFLAGS"
--  LIBS="$LIBS $GFLAGS_LIBS"
--)
--AC_CHECK_LIB(gflags, main, ac_cv_have_libgflags=1, ac_cv_have_libgflags=0)
--if test x"$ac_cv_have_libgflags" = x"1"; then
--  AC_DEFINE(HAVE_LIB_GFLAGS, 1, [define if you have google gflags library])
--  if test x"$GFLAGS_LIBS" = x""; then
--    GFLAGS_LIBS="-lgflags"
--  fi
--else
--  GFLAGS_CFLAGS=
--  GFLAGS_LIBS=
--fi
--CFLAGS="$SAVE_CFLAGS"
--LIBS="$SAVE_LIBS"
-+GFLAGS_CFLAGS=
-+GFLAGS_LIBS=
-+ac_cv_have_libgflags=0
- 
- # TODO(hamaji): Use official m4 macros provided by testing libraries
- #               once the m4 macro of Google Mocking becomes ready.

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/glog-0.3.3.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/glog-0.3.3.tar.gz b/3rdparty/libprocess/3rdparty/glog-0.3.3.tar.gz
deleted file mode 100644
index 92fa52d..0000000
Binary files a/3rdparty/libprocess/3rdparty/glog-0.3.3.tar.gz and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/gmock-1.7.0.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/gmock-1.7.0.tar.gz b/3rdparty/libprocess/3rdparty/gmock-1.7.0.tar.gz
deleted file mode 100644
index 09f5ea3..0000000
Binary files a/3rdparty/libprocess/3rdparty/gmock-1.7.0.tar.gz and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/gmock_sources.cc.in
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/gmock_sources.cc.in b/3rdparty/libprocess/3rdparty/gmock_sources.cc.in
deleted file mode 100644
index ba31407..0000000
--- a/3rdparty/libprocess/3rdparty/gmock_sources.cc.in
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Due to limitation in variable substitution in Automake
-// _SOURCES, target is munged here instead of in the Makefile.am.
-
-#include "@GTESTSRC@"
-#include "@GMOCKSRC@"

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/gperftools-2.5.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/gperftools-2.5.tar.gz b/3rdparty/libprocess/3rdparty/gperftools-2.5.tar.gz
deleted file mode 100644
index 0002c83..0000000
Binary files a/3rdparty/libprocess/3rdparty/gperftools-2.5.tar.gz and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/http-parser-2.6.2.patch
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/http-parser-2.6.2.patch b/3rdparty/libprocess/3rdparty/http-parser-2.6.2.patch
deleted file mode 100644
index 2877597..0000000
--- a/3rdparty/libprocess/3rdparty/http-parser-2.6.2.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/http_parser.h b/http_parser.h
-index e33c062..a816545 100644
---- a/http_parser.h
-+++ b/http_parser.h
-@@ -140,7 +140,7 @@ enum http_parser_type { HTTP_REQUEST, HTTP_RESPONSE, HTTP_BOTH };
-
-
- /* Flag values for http_parser.flags field */
--enum flags
-+enum flags_enum
-   { F_CHUNKED               = 1 << 0
-   , F_CONNECTION_KEEP_ALIVE = 1 << 1
-   , F_CONNECTION_CLOSE      = 1 << 2

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/http-parser-2.6.2.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/http-parser-2.6.2.tar.gz b/3rdparty/libprocess/3rdparty/http-parser-2.6.2.tar.gz
deleted file mode 100644
index f42342a..0000000
Binary files a/3rdparty/libprocess/3rdparty/http-parser-2.6.2.tar.gz and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/http-parser/CMakeLists.txt.template
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/http-parser/CMakeLists.txt.template b/3rdparty/libprocess/3rdparty/http-parser/CMakeLists.txt.template
deleted file mode 100644
index 7f7105f..0000000
--- a/3rdparty/libprocess/3rdparty/http-parser/CMakeLists.txt.template
+++ /dev/null
@@ -1,35 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Builds nodejs/http-parser project.
-#########################################
-# NOTE: at build time, this file will be copied into the directory of the
-# http-parser project. This will allow any CMake-based build system consuming
-# the process library to trivially build this dependency and link to it.
-cmake_minimum_required(VERSION 2.8)
-
-project(http-parser)
-
-include_directories(.)
-
-set(HTTP_PARSER_SRC
-  ${HTTP_PARSER_SRC}
-  http_parser.c
-  http_parser.h
-  )
-
-add_definitions(-D HTTP_PARSER_STRICT=0)
-add_library(http_parser STATIC ${HTTP_PARSER_SRC})

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/libev-4.22.patch
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/libev-4.22.patch b/3rdparty/libprocess/3rdparty/libev-4.22.patch
deleted file mode 100644
index 2d21f9f..0000000
--- a/3rdparty/libprocess/3rdparty/libev-4.22.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/ev.h b/ev.h
-index 38f62d8..0055cfd 100644
---- a/ev.h
-+++ b/ev.h
-@@ -125,7 +125,7 @@ EV_CPP(extern "C" {)
- # ifdef _WIN32
- #  define EV_CHILD_ENABLE 0
- # else
--#  define EV_CHILD_ENABLE EV_FEATURE_WATCHERS
-+#  define EV_CHILD_ENABLE 0
- #endif
- #endif

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/libev-4.22.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/libev-4.22.tar.gz b/3rdparty/libprocess/3rdparty/libev-4.22.tar.gz
deleted file mode 100644
index 8edfd3f..0000000
Binary files a/3rdparty/libprocess/3rdparty/libev-4.22.tar.gz and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/picojson-1.3.0.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/picojson-1.3.0.tar.gz b/3rdparty/libprocess/3rdparty/picojson-1.3.0.tar.gz
deleted file mode 100644
index 0ade1be..0000000
Binary files a/3rdparty/libprocess/3rdparty/picojson-1.3.0.tar.gz and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/protobuf-2.6.1.patch
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/protobuf-2.6.1.patch b/3rdparty/libprocess/3rdparty/protobuf-2.6.1.patch
deleted file mode 100644
index bfd3bb2..0000000
--- a/3rdparty/libprocess/3rdparty/protobuf-2.6.1.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 717f80749996ba97d050dd980a8e2ed97873d49e Mon Sep 17 00:00:00 2001
-From: abyss7 <ab...@gmail.com>
-Date: Mon, 3 Nov 2014 10:20:08 +0300
-Subject: [PATCH] Silence -Wsign-compare warning on Mac
-
----
- src/google/protobuf/wire_format_lite_inl.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/google/protobuf/wire_format_lite_inl.h b/src/google/protobuf/wire_format_lite_inl.h
-index 4e8ac9b..feb2254 100644
---- a/src/google/protobuf/wire_format_lite_inl.h
-+++ b/src/google/protobuf/wire_format_lite_inl.h
-@@ -380,7 +380,7 @@ inline bool WireFormatLite::ReadPackedFixedSizePrimitive(
- #else
-     values->Reserve(old_entries + new_entries);
-     CType value;
--    for (int i = 0; i < new_entries; ++i) {
-+    for (uint32 i = 0; i < new_entries; ++i) {
-       if (!ReadPrimitive<CType, DeclaredType>(input, &value)) return false;
-       values->AddAlreadyReserved(value);
-     }

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/protobuf-2.6.1.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/protobuf-2.6.1.tar.gz b/3rdparty/libprocess/3rdparty/protobuf-2.6.1.tar.gz
deleted file mode 100644
index e1c2d54..0000000
Binary files a/3rdparty/libprocess/3rdparty/protobuf-2.6.1.tar.gz and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/3rdparty/versions.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/versions.am b/3rdparty/libprocess/3rdparty/versions.am
deleted file mode 100644
index 4699543..0000000
--- a/3rdparty/libprocess/3rdparty/versions.am
+++ /dev/null
@@ -1,12 +0,0 @@
-# This automake utility file is included from 3rdparty/Makefile.am
-# and src/Makefile.am, so we can update the version numbers of
-# third party packages in exactly one place.
-
-BOOST_VERSION = 1.53.0
-GLOG_VERSION = 0.3.3
-GMOCK_VERSION = 1.7.0
-GPERFTOOLS_VERSION = 2.5
-LIBEV_VERSION = 4.22
-PROTOBUF_VERSION = 2.6.1
-HTTP_PARSER_VERSION = 2.6.2
-PICOJSON_VERSION = 1.3.0

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/Makefile.am b/3rdparty/libprocess/Makefile.am
index 81e2b9a..a9646a3 100644
--- a/3rdparty/libprocess/Makefile.am
+++ b/3rdparty/libprocess/Makefile.am
@@ -23,16 +23,16 @@ LIBPROCESS_BUILD_DIR=@abs_top_builddir@
 # the header files during installation.
 SUBDIRS = 3rdparty . include
 
-include 3rdparty/versions.am
+include ../versions.am
 
 STOUT = 3rdparty/stout
-BOOST = 3rdparty/boost-$(BOOST_VERSION)
-GLOG = 3rdparty/glog-$(GLOG_VERSION)
-GMOCK = 3rdparty/gmock-$(GMOCK_VERSION)
-GPERFTOOLS = 3rdparty/gperftools-$(GPERFTOOLS_VERSION)
+BOOST = ../boost-$(BOOST_VERSION)
+GLOG = ../glog-$(GLOG_VERSION)
+GMOCK = ../gmock-$(GMOCK_VERSION)
+GPERFTOOLS = ../gperftools-$(GPERFTOOLS_VERSION)
 GTEST = $(GMOCK)/gtest
-LIBEV = 3rdparty/libev-$(LIBEV_VERSION)
-PICOJSON = 3rdparty/picojson-$(PICOJSON_VERSION)
+LIBEV = ../libev-$(LIBEV_VERSION)
+PICOJSON = ../picojson-$(PICOJSON_VERSION)
 
 
 if WITH_BUNDLED_BOOST
@@ -46,11 +46,10 @@ else
 LIB_GLOG = -lglog
 endif
 
-# TODO(kapil): Handle unbundled GMOCK.
 if WITH_BUNDLED_GMOCK
 GMOCK_INCLUDE_FLAGS = -I$(GMOCK)/include
 GTEST_INCLUDE_FLAGS = -I$(GTEST)/include
-LIB_GMOCK = 3rdparty/libgmock.la
+LIB_GMOCK = ../libgmock.la
 endif
 
 if HAS_GPERFTOOLS
@@ -59,9 +58,9 @@ LIB_GPERFTOOLS = $(GPERFTOOLS)/libprofiler.la
 endif
 
 if WITH_BUNDLED_HTTP_PARSER
-HTTP_PARSER = 3rdparty/http-parser-$(HTTP_PARSER_VERSION)
+HTTP_PARSER = ../http-parser-$(HTTP_PARSER_VERSION)
 HTTP_PARSER_INCLUDE_FLAGS = -I$(HTTP_PARSER)
-LIB_HTTP_PARSER = 3rdparty/libry_http_parser.la
+LIB_HTTP_PARSER = ../libry_http_parser.la
 else
 LIB_HTTP_PARSER = -lhttp_parser
 endif
@@ -240,9 +239,10 @@ check-local: tests
 
 # Both libprocess-tests and benchmarks have a dependency on libgmock.la.
 $(LIB_GMOCK):
-	@cd 3rdparty && $(MAKE) $(AM_MAKEFLAGS) tests
+	@cd .. && $(MAKE) $(AM_MAKEFLAGS) libgmock.la
 
 tests: all libprocess-tests benchmarks
+	@cd 3rdparty && $(MAKE) $(AM_MAKEFLAGS) tests
 
 # TODO(benh): Fix shared builds (tests need libglog, libev, etc).
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/libprocess/configure.ac
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/configure.ac b/3rdparty/libprocess/configure.ac
index e67baa5..671c12f 100644
--- a/3rdparty/libprocess/configure.ac
+++ b/3rdparty/libprocess/configure.ac
@@ -62,7 +62,6 @@ AC_CONFIG_SUBDIRS([3rdparty/stout])
 AC_CONFIG_FILES([Makefile])
 AC_CONFIG_FILES([include/Makefile])
 AC_CONFIG_FILES([3rdparty/Makefile])
-AC_CONFIG_FILES([3rdparty/gmock_sources.cc])
 
 ###############################################################################
 # Optional features.

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/picojson-1.3.0.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/picojson-1.3.0.tar.gz b/3rdparty/picojson-1.3.0.tar.gz
new file mode 100644
index 0000000..0ade1be
Binary files /dev/null and b/3rdparty/picojson-1.3.0.tar.gz differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/protobuf-2.6.1.patch
----------------------------------------------------------------------
diff --git a/3rdparty/protobuf-2.6.1.patch b/3rdparty/protobuf-2.6.1.patch
new file mode 100644
index 0000000..bfd3bb2
--- /dev/null
+++ b/3rdparty/protobuf-2.6.1.patch
@@ -0,0 +1,22 @@
+From 717f80749996ba97d050dd980a8e2ed97873d49e Mon Sep 17 00:00:00 2001
+From: abyss7 <ab...@gmail.com>
+Date: Mon, 3 Nov 2014 10:20:08 +0300
+Subject: [PATCH] Silence -Wsign-compare warning on Mac
+
+---
+ src/google/protobuf/wire_format_lite_inl.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/google/protobuf/wire_format_lite_inl.h b/src/google/protobuf/wire_format_lite_inl.h
+index 4e8ac9b..feb2254 100644
+--- a/src/google/protobuf/wire_format_lite_inl.h
++++ b/src/google/protobuf/wire_format_lite_inl.h
+@@ -380,7 +380,7 @@ inline bool WireFormatLite::ReadPackedFixedSizePrimitive(
+ #else
+     values->Reserve(old_entries + new_entries);
+     CType value;
+-    for (int i = 0; i < new_entries; ++i) {
++    for (uint32 i = 0; i < new_entries; ++i) {
+       if (!ReadPrimitive<CType, DeclaredType>(input, &value)) return false;
+       values->AddAlreadyReserved(value);
+     }

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/protobuf-2.6.1.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/protobuf-2.6.1.tar.gz b/3rdparty/protobuf-2.6.1.tar.gz
new file mode 100644
index 0000000..e1c2d54
Binary files /dev/null and b/3rdparty/protobuf-2.6.1.tar.gz differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/3rdparty/versions.am
----------------------------------------------------------------------
diff --git a/3rdparty/versions.am b/3rdparty/versions.am
index a00c3b0..7dcd6bf 100644
--- a/3rdparty/versions.am
+++ b/3rdparty/versions.am
@@ -19,8 +19,16 @@
 # third-party packages in exactly one place. For now, however, we
 # still need to update version numbers in src/python/setup.py.in too!
 
+BOOST_VERSION = 1.53.0
+GLOG_VERSION = 0.3.3
+GMOCK_VERSION = 1.7.0
+GPERFTOOLS_VERSION = 2.5
+HTTP_PARSER_VERSION = 2.6.2
 LEVELDB_VERSION = 1.4
+LIBEV_VERSION = 4.22
+PICOJSON_VERSION = 1.3.0
 PIP_VERSION = 7.1.2
+PROTOBUF_VERSION = 2.6.1
 SETUPTOOLS_VERSION = 20.9.0
 WHEEL_VERSION = 0.24.0
 ZOOKEEPER_VERSION = 3.4.8

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/configure.ac
----------------------------------------------------------------------
diff --git a/configure.ac b/configure.ac
index 15bcd19..3dc82c5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -84,6 +84,7 @@ AC_CONFIG_SUBDIRS([3rdparty/libprocess])
 AC_CONFIG_FILES([Makefile mesos.pc])
 AC_CONFIG_FILES([src/Makefile])
 AC_CONFIG_FILES([3rdparty/Makefile])
+AC_CONFIG_FILES([3rdparty/gmock_sources.cc])
 
 AC_CONFIG_FILES([bin/mesos.sh], [chmod +x bin/mesos.sh])
 AC_CONFIG_FILES([bin/mesos-agent.sh], [chmod +x bin/mesos-agent.sh])

http://git-wip-us.apache.org/repos/asf/mesos/blob/9c2f44ad/src/Makefile.am
----------------------------------------------------------------------
diff --git a/src/Makefile.am b/src/Makefile.am
index 90c2ea4..b384287 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -21,7 +21,6 @@ AUTOMAKE_OPTIONS = subdir-objects
 MESOS_BUILD_DIR=@abs_top_builddir@
 
 include ../3rdparty/versions.am
-include ../3rdparty/libprocess/3rdparty/versions.am
 
 # TODO(charles): Move these into an included automakefile and have
 # them include $(top_builddir) as appropriate.
@@ -33,12 +32,12 @@ ZOOKEEPER = 3rdparty/zookeeper-$(ZOOKEEPER_VERSION)/src/c
 ZOOKEEPER_JAR = 3rdparty/zookeeper-$(ZOOKEEPER_VERSION)/zookeeper-$(ZOOKEEPER_VERSION).jar
 LIBPROCESS = 3rdparty/libprocess
 STOUT = $(LIBPROCESS)/3rdparty/stout
-BOOST = $(LIBPROCESS)/3rdparty/boost-$(BOOST_VERSION)
-GLOG = $(LIBPROCESS)/3rdparty/glog-$(GLOG_VERSION)
-GMOCK = $(LIBPROCESS)/3rdparty/gmock-$(GMOCK_VERSION)
+BOOST = 3rdparty/boost-$(BOOST_VERSION)
+GLOG = 3rdparty/glog-$(GLOG_VERSION)
+GMOCK = 3rdparty/gmock-$(GMOCK_VERSION)
 GTEST = $(GMOCK)/gtest
-PROTOBUF = $(LIBPROCESS)/3rdparty/protobuf-$(PROTOBUF_VERSION)
-PICOJSON = $(LIBPROCESS)/3rdparty/picojson-$(PICOJSON_VERSION)
+PROTOBUF = 3rdparty/protobuf-$(PROTOBUF_VERSION)
+PICOJSON = 3rdparty/picojson-$(PICOJSON_VERSION)
 
 
 # Unfortunatley, 'pkglibexecdir' and 'pkgsysconfdir' are not set
@@ -2036,14 +2035,14 @@ mesos_tests_CPPFLAGS += -I../$(GMOCK)/include
 mesos_tests_CPPFLAGS += -DTESTLIBEXECDIR=\"$(testlibexecdir)\"
 mesos_tests_CPPFLAGS += -DSBINDIR=\"$(sbindir)\"
 
-mesos_tests_LDADD = ../$(LIBPROCESS)/3rdparty/libgmock.la libmesos.la $(LDADD)
+mesos_tests_LDADD = ../3rdparty/libgmock.la libmesos.la $(LDADD)
 
 if !OS_FREEBSD
   mesos_tests_LDADD += -ldl # FreeBSD includes dynamic lib utils in libc.
 endif
 
 mesos_tests_DEPENDENCIES =					\
-  ../$(LIBPROCESS)/3rdparty/libgmock.la				\
+  ../3rdparty/libgmock.la					\
   libmesos.la							\
   $(MESOS_TEST_MODULES)
 
@@ -2131,8 +2130,8 @@ dist_check_SCRIPTS +=						\
   tests/python_framework_test.sh				\
   tests/test_framework_test.sh
 
-../$(LIBPROCESS)/3rdparty/libgmock.la:
-	@cd ../$(LIBPROCESS)/3rdparty && $(MAKE) $(AM_MAKEFLAGS) libgmock.la
+../3rdparty/libgmock.la:
+	@cd ../3rdparty && $(MAKE) $(AM_MAKEFLAGS) libgmock.la
 
 if INSTALL_TESTS
 testlibexec_PROGRAMS = $(check_PROGRAMS)