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/07/05 19:00:21 UTC

[01/12] mesos git commit: Added build-stamp files for gmock/glog/http-parse/libev.

Repository: mesos
Updated Branches:
  refs/heads/master d01ee9409 -> ada24cb6b


Added build-stamp files for gmock/glog/http-parse/libev.

This would make it easier for libprocess to declare/build these
dependencies.

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


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

Branch: refs/heads/master
Commit: da298d0a68a2fabd7d7b3a26deb1a29f2f90e5c5
Parents: d01ee94
Author: Till Toenshoff <to...@me.com>
Authored: Tue Jul 5 14:12:18 2016 +0200
Committer: Kapil Arya <ka...@mesosphere.io>
Committed: Tue Jul 5 14:10:33 2016 -0400

----------------------------------------------------------------------
 3rdparty/Makefile.am | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/da298d0a/3rdparty/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/Makefile.am b/3rdparty/Makefile.am
index d287a41..662146f 100644
--- a/3rdparty/Makefile.am
+++ b/3rdparty/Makefile.am
@@ -196,13 +196,16 @@ if OS_FREEBSD
   GLOG_LDFLAGS += "LDFLAGS='-L/usr/local/lib -lexecinfo'"
 endif
 
+$(LIB_GLOG): $(GLOG)-build-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
+$(GLOG)-build-stamp: $(GLOG)-stamp
 	cd $(GLOG) && ./configure GTEST_CONFIG=no $(CONFIGURE_ARGS) && \
           $(MAKE) $(AM_MAKEFLAGS) $(GLOG_LDFLAGS)
+	touch $@
 
 ALL_LOCAL += $(LIB_GLOG)
 endif
@@ -230,13 +233,17 @@ 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
+$(HTTP_PARSER)-build-stamp: libry_http_parser.la
+	touch $@
 endif
 
 if WITH_BUNDLED_LIBEV
-$(LIBEV)/libev.la: $(LIBEV)-stamp
+$(LIBEV)/libev.la: $(LIBEV)-build-stamp
+$(LIBEV)-build-stamp: $(LIBEV)-stamp
 	cd $(LIBEV) && ./configure $(CONFIGURE_ARGS) && \
-          $(MAKE) $(AM_MAKEFLAGS)
-ALL_LOCAL += $(LIBEV)/libev.la
+           $(MAKE) $(AM_MAKEFLAGS)
+	touch $@
+ALL_LOCAL += $(LIBEV)-build-stamp
 endif
 
 if WITH_BUNDLED_NVML
@@ -274,6 +281,10 @@ libgmock_la_CPPFLAGS =			\
   -I$(GMOCK)/include -I$(GMOCK) -I$(GMOCK)/src
 
   gmock_sources.cc: $(GMOCK)-stamp
+
+$(GMOCK)-build-stamp: libgmock.la
+	touch $@
+ALL_LOCAL += $(GMOCK)-build-stamp
 endif
 
 if LINKGTEST


[05/12] mesos git commit: Stout: `make tests` now automatically builds dependencies.

Posted by ka...@apache.org.
Stout: `make tests` now automatically builds dependencies.

Earlier, doing `make tests` within stout failed if bundled
dependencies were not already built.

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


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

Branch: refs/heads/master
Commit: f79660b6f757f85441bc58303ed1b505a2b4b740
Parents: e722645
Author: Kapil Arya <ka...@mesosphere.io>
Authored: Tue Jul 5 16:23:11 2016 +0200
Committer: Kapil Arya <ka...@mesosphere.io>
Committed: Tue Jul 5 14:23:41 2016 -0400

----------------------------------------------------------------------
 3rdparty/stout/Makefile.am | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/f79660b6/3rdparty/stout/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/stout/Makefile.am b/3rdparty/stout/Makefile.am
index 7688d5d..58547c5 100644
--- a/3rdparty/stout/Makefile.am
+++ b/3rdparty/stout/Makefile.am
@@ -183,7 +183,8 @@ BUILT_SOURCES = $(BUNDLED_DEPS)
 check-local: tests
 	./stout-tests
 
-tests: stout-tests
+tests: $(BUNDLED_DEPS)
+	$(MAKE) $(AM_MAKEFLAGS) stout-tests
 
 all-local: Makefile
 


[04/12] mesos git commit: Libprocess: `make tests` now automatically builds dependencies.

Posted by ka...@apache.org.
Libprocess: `make tests` now automatically builds dependencies.

Earlier, doing `make tests` within libprocess failed if bundled
dependencies were not already built.

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


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

Branch: refs/heads/master
Commit: e7226450e40cf588791fe1b02e36249ce9cf1a46
Parents: bf7afce
Author: Kapil Arya <ka...@mesosphere.io>
Authored: Tue Jul 5 16:22:24 2016 +0200
Committer: Kapil Arya <ka...@mesosphere.io>
Committed: Tue Jul 5 14:23:33 2016 -0400

----------------------------------------------------------------------
 3rdparty/libprocess/Makefile.am | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/e7226450/3rdparty/libprocess/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/Makefile.am b/3rdparty/libprocess/Makefile.am
index 6efb1ee..e5838a1 100644
--- a/3rdparty/libprocess/Makefile.am
+++ b/3rdparty/libprocess/Makefile.am
@@ -297,7 +297,8 @@ BUILT_SOURCES = $(BUNDLED_DEPS)
 check-local: tests
 	./libprocess-tests
 
-tests: all libprocess-tests benchmarks
+tests: all $(BUNDLED_DEPS)
+	$(MAKE) $(AM_MAKEFLAGS) libprocess-tests benchmarks
 
 # TODO(benh): Fix shared builds (tests need libglog, libev, etc).
 


[10/12] mesos git commit: Libprocess: made standalone build work again.

Posted by ka...@apache.org.
Libprocess: made standalone build work again.

Fixed incorrect header as commented in the RR (tillt).

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


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

Branch: refs/heads/master
Commit: 55331bc6262f62bdab70a93544072929b30aefe0
Parents: 722713a
Author: Kapil Arya <ka...@mesosphere.io>
Authored: Tue Jul 5 16:31:15 2016 +0200
Committer: Kapil Arya <ka...@mesosphere.io>
Committed: Tue Jul 5 14:25:08 2016 -0400

----------------------------------------------------------------------
 3rdparty/libprocess/3rdparty/Makefile.am        | 200 +++++++++++++++++++
 .../libprocess/3rdparty/gmock_sources.cc.in     |  19 ++
 3rdparty/libprocess/Makefile.am                 |  12 +-
 3rdparty/libprocess/configure.ac                |   2 +
 4 files changed, 230 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/55331bc6/3rdparty/libprocess/3rdparty/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/Makefile.am b/3rdparty/libprocess/3rdparty/Makefile.am
new file mode 100644
index 0000000..9dc5fb5
--- /dev/null
+++ b/3rdparty/libprocess/3rdparty/Makefile.am
@@ -0,0 +1,200 @@
+# 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
+
+# This Makefile is for building third-party packages from
+# tarballs. For autotools-based packages, we configure each of the
+# packages to build static PIC binaries which we can safely link into
+# a shared libmesos, and build it in-place without installing it (even
+# if one runs 'make install' in this directory). Non-autotools based
+# packages may be special cases; this Makefile is responsible for
+# passing any special make or configure flags that might be required.
+
+BUILT_SOURCES = # Initialized to enable using +=.
+
+# We need to add '--srcdir=.' needed because 'make distcheck' adds
+#  '--srcdir=...' when configuring.
+CONFIGURE_ARGS = @CONFIGURE_ARGS@ --enable-shared=no --with-pic --srcdir=.
+
+# Directory which holds bundled dependencies
+BUNDLED_DIR = $(top_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)
+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	\
+  $(HTTP_PARSER).tar.gz	\
+  $(LIBEV).tar.gz	\
+  $(PROTOBUF).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 http-parser to avoid a name collision with our `flags` namespace.
+EXTRA_DIST +=		\
+  $(HTTP_PARSER).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
+
+CLEAN_EXTRACTED =	\
+  $(BOOST)		\
+  $(GLOG)		\
+  $(GMOCK)		\
+  $(GPERFTOOLS)		\
+  $(HTTP_PARSER)	\
+  $(LIBEV)		\
+  $(PICOJSON)		\
+  $(PROTOBUF)
+
+# 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: $(BUNDLED_DIR)/%.tar.gz
+	gzip -d -c $^ | tar xf -
+	test ! -e $(top_srcdir)/../$*.patch || patch -d $* -p1 <$(top_srcdir)/../$*.patch
+	touch $@
+
+# Dependencies for all-local.
+ALL_LOCAL = # Initialize ALL_LOCAL so we can add to it.
+
+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
+
+$(LIB_GLOG): $(GLOG)-build-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).
+$(GLOG)-build-stamp: $(GLOG)-stamp
+	cd $(GLOG) && ./configure GTEST_CONFIG=no $(CONFIGURE_ARGS) && \
+          $(MAKE) $(AM_MAKEFLAGS) $(GLOG_LDFLAGS)
+	touch $@
+
+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
+$(HTTP_PARSER)-build-stamp: libry_http_parser.la
+	touch $@
+
+ALL_LOCAL += $(HTTP_PARSER)-build-stamp
+endif
+
+
+if WITH_BUNDLED_LIBEV
+$(LIBEV)/libev.la: $(LIBEV)-build-stamp
+$(LIBEV)-build-stamp: $(LIBEV)-stamp
+	cd $(LIBEV) && ./configure $(CONFIGURE_ARGS) && \
+          $(MAKE) $(AM_MAKEFLAGS)
+	touch $@
+ALL_LOCAL += $(LIBEV)-build-stamp
+endif
+
+if WITH_BUNDLED_PICOJSON
+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
+
+$(GMOCK)-build-stamp: libgmock.la
+	touch $@
+ALL_LOCAL += $(GMOCK)-build-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)
+
+all-local: $(ALL_LOCAL)
+
+clean-local:
+	rm -r -f $(CLEAN_EXTRACTED)
+	rm -f *-stamp

http://git-wip-us.apache.org/repos/asf/mesos/blob/55331bc6/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
new file mode 100644
index 0000000..ba31407
--- /dev/null
+++ b/3rdparty/libprocess/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/55331bc6/3rdparty/libprocess/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/Makefile.am b/3rdparty/libprocess/Makefile.am
index 20130c4..41b7778 100644
--- a/3rdparty/libprocess/Makefile.am
+++ b/3rdparty/libprocess/Makefile.am
@@ -18,12 +18,18 @@ ACLOCAL_AMFLAGS = -I m4
 AUTOMAKE_OPTIONS = foreign
 LIBPROCESS_BUILD_DIR=@abs_builddir@
 
+if STANDALONE_LIBPROCESS
+MAYBE_3RDPARTY = 3rdparty
+BUNDLED_DIR = 3rdparty
+else
+MAYBE_3RDPARTY =
+BUNDLED_DIR = ..
+endif
+
 # NOTE: The libprocess headers were moved to the Makefile in "include"
 # subdirectory to make it easy to preserve the directory structure of
 # the header files during installation.
-SUBDIRS = . include
-
-BUNDLED_DIR = ..
+SUBDIRS = $(MAYBE_3RDPARTY) . include
 
 include ../versions.am
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/55331bc6/3rdparty/libprocess/configure.ac
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/configure.ac b/3rdparty/libprocess/configure.ac
index f5ed6c8..bc0e6ab 100644
--- a/3rdparty/libprocess/configure.ac
+++ b/3rdparty/libprocess/configure.ac
@@ -57,6 +57,8 @@ LT_OUTPUT
 CONFIGURE_ARGS="$ac_configure_args"
 AC_SUBST(CONFIGURE_ARGS)
 
+AM_CONDITIONAL([STANDALONE_LIBPROCESS], [true])
+
 AC_CONFIG_FILES([Makefile])
 AC_CONFIG_FILES([include/Makefile])
 AC_CONFIG_FILES([3rdparty/Makefile])


[07/12] mesos git commit: Added AM_CONDITIONALS: STANDALONG_{LIBPROCES, STOUT}.

Posted by ka...@apache.org.
Added AM_CONDITIONALS: STANDALONG_{LIBPROCES,STOUT}.

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


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

Branch: refs/heads/master
Commit: 0fecd96b1d389acfbf2edd0b351b06fc015d7e92
Parents: afb5628
Author: Kapil Arya <ka...@mesosphere.io>
Authored: Tue Jul 5 16:24:14 2016 +0200
Committer: Kapil Arya <ka...@mesosphere.io>
Committed: Tue Jul 5 14:23:54 2016 -0400

----------------------------------------------------------------------
 configure.ac | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/0fecd96b/configure.ac
----------------------------------------------------------------------
diff --git a/configure.ac b/configure.ac
index ecc2758..b02a62a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -64,6 +64,9 @@ LT_OUTPUT
 CONFIGURE_ARGS="$ac_configure_args"
 AC_SUBST(CONFIGURE_ARGS)
 
+AM_CONDITIONAL([STANDALONE_LIBPROCESS], [false])
+AM_CONDITIONAL([STANDALONE_STOUT], [false])
+
 AC_CONFIG_FILES([Makefile mesos.pc])
 AC_CONFIG_FILES([src/Makefile])
 AC_CONFIG_FILES([3rdparty/Makefile])


[02/12] mesos git commit: Enabled building libprocess without building 3rdparty first.

Posted by ka...@apache.org.
Enabled building libprocess without building 3rdparty first.

Doing a `make` inside libprocess would now automatically build bundled
dependencies.

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


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

Branch: refs/heads/master
Commit: 78deb535c0ebc6d89b4d0e11f76ed0395e5e6e68
Parents: da298d0
Author: Till Toenshoff <to...@me.com>
Authored: Tue Jul 5 14:21:20 2016 +0200
Committer: Kapil Arya <ka...@mesosphere.io>
Committed: Tue Jul 5 14:22:29 2016 -0400

----------------------------------------------------------------------
 3rdparty/libprocess/Makefile.am | 32 ++++++++++++++++++++++++++++----
 1 file changed, 28 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/78deb535/3rdparty/libprocess/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/Makefile.am b/3rdparty/libprocess/Makefile.am
index 05499a8..6efb1ee 100644
--- a/3rdparty/libprocess/Makefile.am
+++ b/3rdparty/libprocess/Makefile.am
@@ -34,19 +34,31 @@ GPERFTOOLS = ../gperftools-$(GPERFTOOLS_VERSION)
 GTEST = $(GMOCK)/gtest
 LIBEV = ../libev-$(LIBEV_VERSION)
 PICOJSON = ../picojson-$(PICOJSON_VERSION)
+PROTOBUF = ../protobuf-$(PROTOBUF_VERSION)
 
+# Dependencies for all-local.
+BUNDLED_DEPS = # Initialize BUNDLED_DEPENDENCIES so we can add to it.
+
+
+# Ensure bundled software is build properly.
+%-stamp:
+	@cd .. && $(MAKE) $(AM_MAKEFLAGS) $(@F)
 
 if WITH_BUNDLED_BOOST
 BOOST_INCLUDE_FLAGS = -isystem $(BOOST)
+BUNDLED_DEPS += $(BOOST)-stamp
 endif
 
 if WITH_BUNDLED_ELFIO
 ELFIO_INCLUDE_FLAGS = -I$(ELFIO)
+BUNDLED_DEPS += $(ELFIO)-stamp
 endif
 
 if WITH_BUNDLED_GLOG
 GLOG_INCLUDE_FLAGS = -I$(GLOG)/src
 LIB_GLOG = $(GLOG)/libglog.la
+$(LIB_GLOG): $(GLOG)-build-stamp
+BUNDLED_DEPS += $(GLOG)-build-stamp
 else
 LIB_GLOG = -lglog
 endif
@@ -55,17 +67,23 @@ if WITH_BUNDLED_GMOCK
 GMOCK_INCLUDE_FLAGS = -I$(GMOCK)/include
 GTEST_INCLUDE_FLAGS = -I$(GTEST)/include
 LIB_GMOCK = ../libgmock.la
+$(LIB_GMOCK): $(GMOCK)-build-stamp
+BUNDLED_DEPS += $(GMOCK)-build-stamp
 endif
 
 if HAS_GPERFTOOLS
 GPERFTOOLS_INCLUDE_FLAGS = -I$(GPERFTOOLS)/src
 LIB_GPERFTOOLS = $(GPERFTOOLS)/libprofiler.la
+$(LIB_GPERFTOOLS): $(GPERFTOOLS)-build-stamp
+BUNDLED_DEPS += $(GPERFTOOLS)-build-stamp
 endif
 
 if WITH_BUNDLED_HTTP_PARSER
 HTTP_PARSER = ../http-parser-$(HTTP_PARSER_VERSION)
 HTTP_PARSER_INCLUDE_FLAGS = -I$(HTTP_PARSER)
 LIB_HTTP_PARSER = ../libry_http_parser.la
+$(LIB_HTTP_PARSER): $(HTTP_PARSER)-build-stamp
+BUNDLED_DEPS += $(HTTP_PARSER)-build-stamp
 else
 LIB_HTTP_PARSER = -lhttp_parser
 endif
@@ -74,6 +92,8 @@ if !ENABLE_LIBEVENT
 if WITH_BUNDLED_LIBEV
 LIB_EV_INCLUDE_FLAGS = -I$(LIBEV)
 LIB_EV = $(LIBEV)/libev.la
+$(LIBEV): $(LIBEV)-build-stamp
+BUNDLED_DEPS += $(LIBEV)-build-stamp
 else
 LIB_EV = -lev
 endif
@@ -84,12 +104,18 @@ PICOJSON_INCLUDE_FLAGS =	\
   -D__STDC_FORMAT_MACROS
 if WITH_BUNDLED_PICOJSON
 PICOJSON_INCLUDE_FLAGS += -I$(PICOJSON)
+BUNDLED_DEPS += $(PICOJSON)-stamp
+endif
+
+if WITH_BUNDLED_PROTOBUF
+BUNDLED_DEPS += $(PROTOBUF)-build-stamp
 endif
 
 if WITH_BUNDLED_STOUT
 STOUT_INCLUDE_FLAGS = -I$(srcdir)/$(STOUT)/include
 endif
 
+
 # Library. It is not installable presently because most people link
 # the libprocess statically into their resulting library or binary and
 # don't want any parts of libprocess to get installed (which happens
@@ -262,6 +288,8 @@ libprocess_tests_LDADD +=		\
   $(LIB_EV)
 endif
 
+BUILT_SOURCES = $(BUNDLED_DEPS)
+
 # 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:
@@ -269,10 +297,6 @@ endif
 check-local: tests
 	./libprocess-tests
 
-# Both libprocess-tests and benchmarks have a dependency on libgmock.la.
-$(LIB_GMOCK):
-	@cd .. && $(MAKE) $(AM_MAKEFLAGS) libgmock.la
-
 tests: all libprocess-tests benchmarks
 
 # TODO(benh): Fix shared builds (tests need libglog, libev, etc).


[08/12] mesos git commit: Libprocess: Fixed a typo in Makefile.am.

Posted by ka...@apache.org.
Libprocess: Fixed a typo in Makefile.am.

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


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

Branch: refs/heads/master
Commit: 07e46b6096d0167910d7c50ddd796b5ac248d97a
Parents: 0fecd96
Author: Kapil Arya <ka...@mesosphere.io>
Authored: Tue Jul 5 16:24:42 2016 +0200
Committer: Kapil Arya <ka...@mesosphere.io>
Committed: Tue Jul 5 14:23:58 2016 -0400

----------------------------------------------------------------------
 3rdparty/libprocess/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/07e46b60/3rdparty/libprocess/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/Makefile.am b/3rdparty/libprocess/Makefile.am
index e5838a1..1af1c40 100644
--- a/3rdparty/libprocess/Makefile.am
+++ b/3rdparty/libprocess/Makefile.am
@@ -32,6 +32,7 @@ GLOG = ../glog-$(GLOG_VERSION)
 GMOCK = ../gmock-$(GMOCK_VERSION)
 GPERFTOOLS = ../gperftools-$(GPERFTOOLS_VERSION)
 GTEST = $(GMOCK)/gtest
+HTTP_PARSER = ../http-parser-$(HTTP_PARSER_VERSION)
 LIBEV = ../libev-$(LIBEV_VERSION)
 PICOJSON = ../picojson-$(PICOJSON_VERSION)
 PROTOBUF = ../protobuf-$(PROTOBUF_VERSION)
@@ -79,7 +80,6 @@ BUNDLED_DEPS += $(GPERFTOOLS)-build-stamp
 endif
 
 if WITH_BUNDLED_HTTP_PARSER
-HTTP_PARSER = ../http-parser-$(HTTP_PARSER_VERSION)
 HTTP_PARSER_INCLUDE_FLAGS = -I$(HTTP_PARSER)
 LIB_HTTP_PARSER = ../libry_http_parser.la
 $(LIB_HTTP_PARSER): $(HTTP_PARSER)-build-stamp


[06/12] mesos git commit: Removed unneeded #includes from type_utils.hpp.

Posted by ka...@apache.org.
Removed unneeded #includes from type_utils.hpp.

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


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

Branch: refs/heads/master
Commit: afb56285482405ae4464ccc00ab1ea81a4f33d15
Parents: f79660b
Author: Kapil Arya <ka...@mesosphere.io>
Authored: Tue Jul 5 16:23:35 2016 +0200
Committer: Kapil Arya <ka...@mesosphere.io>
Committed: Tue Jul 5 14:23:45 2016 -0400

----------------------------------------------------------------------
 include/mesos/type_utils.hpp | 4 ----
 1 file changed, 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/afb56285/include/mesos/type_utils.hpp
----------------------------------------------------------------------
diff --git a/include/mesos/type_utils.hpp b/include/mesos/type_utils.hpp
index 0d4dd2f..d0d2356 100644
--- a/include/mesos/type_utils.hpp
+++ b/include/mesos/type_utils.hpp
@@ -27,10 +27,6 @@
 
 #include <mesos/mesos.hpp>
 
-#include <mesos/module/module.hpp>
-
-#include <mesos/scheduler/scheduler.hpp>
-
 #include <stout/hashmap.hpp>
 #include <stout/stringify.hpp>
 #include <stout/strings.hpp>


[09/12] mesos git commit: Libprocess: Prepare for standalone compilation.

Posted by ka...@apache.org.
Libprocess: Prepare for standalone compilation.

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


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

Branch: refs/heads/master
Commit: 722713ad6890bdf0714047a4f2927d32d6ed88d0
Parents: 07e46b6
Author: Till Toenshoff <to...@me.com>
Authored: Tue Jul 5 16:30:02 2016 +0200
Committer: Kapil Arya <ka...@mesosphere.io>
Committed: Tue Jul 5 14:24:23 2016 -0400

----------------------------------------------------------------------
 3rdparty/libprocess/Makefile.am | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/722713ad/3rdparty/libprocess/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/Makefile.am b/3rdparty/libprocess/Makefile.am
index 1af1c40..20130c4 100644
--- a/3rdparty/libprocess/Makefile.am
+++ b/3rdparty/libprocess/Makefile.am
@@ -23,19 +23,22 @@ LIBPROCESS_BUILD_DIR=@abs_builddir@
 # the header files during installation.
 SUBDIRS = . include
 
+BUNDLED_DIR = ..
+
 include ../versions.am
 
 STOUT = ../stout
-BOOST = ../boost-$(BOOST_VERSION)
-ELFIO = ../elfio-$(ELFIO_VERSION)
-GLOG = ../glog-$(GLOG_VERSION)
-GMOCK = ../gmock-$(GMOCK_VERSION)
-GPERFTOOLS = ../gperftools-$(GPERFTOOLS_VERSION)
+
+BOOST = $(BUNDLED_DIR)/boost-$(BOOST_VERSION)
+ELFIO = $(BUNDLED_DIR)/elfio-$(ELFIO_VERSION)
+GLOG = $(BUNDLED_DIR)/glog-$(GLOG_VERSION)
+GMOCK = $(BUNDLED_DIR)/gmock-$(GMOCK_VERSION)
+GPERFTOOLS = $(BUNDLED_DIR)/gperftools-$(GPERFTOOLS_VERSION)
 GTEST = $(GMOCK)/gtest
-HTTP_PARSER = ../http-parser-$(HTTP_PARSER_VERSION)
-LIBEV = ../libev-$(LIBEV_VERSION)
-PICOJSON = ../picojson-$(PICOJSON_VERSION)
-PROTOBUF = ../protobuf-$(PROTOBUF_VERSION)
+HTTP_PARSER = $(BUNDLED_DIR)/http-parser-$(HTTP_PARSER_VERSION)
+LIBEV = $(BUNDLED_DIR)/libev-$(LIBEV_VERSION)
+PICOJSON = $(BUNDLED_DIR)/picojson-$(PICOJSON_VERSION)
+PROTOBUF = $(BUNDLED_DIR)/protobuf-$(PROTOBUF_VERSION)
 
 # Dependencies for all-local.
 BUNDLED_DEPS = # Initialize BUNDLED_DEPENDENCIES so we can add to it.
@@ -43,7 +46,7 @@ BUNDLED_DEPS = # Initialize BUNDLED_DEPENDENCIES so we can add to it.
 
 # Ensure bundled software is build properly.
 %-stamp:
-	@cd .. && $(MAKE) $(AM_MAKEFLAGS) $(@F)
+	@cd $(BUNDLED_DIR) && $(MAKE) $(AM_MAKEFLAGS) $(@F)
 
 if WITH_BUNDLED_BOOST
 BOOST_INCLUDE_FLAGS = -isystem $(BOOST)
@@ -67,7 +70,7 @@ endif
 if WITH_BUNDLED_GMOCK
 GMOCK_INCLUDE_FLAGS = -I$(GMOCK)/include
 GTEST_INCLUDE_FLAGS = -I$(GTEST)/include
-LIB_GMOCK = ../libgmock.la
+LIB_GMOCK = $(BUNDLED_DIR)/libgmock.la
 $(LIB_GMOCK): $(GMOCK)-build-stamp
 BUNDLED_DEPS += $(GMOCK)-build-stamp
 endif
@@ -81,7 +84,7 @@ endif
 
 if WITH_BUNDLED_HTTP_PARSER
 HTTP_PARSER_INCLUDE_FLAGS = -I$(HTTP_PARSER)
-LIB_HTTP_PARSER = ../libry_http_parser.la
+LIB_HTTP_PARSER = $(BUNDLED_DIR)/libry_http_parser.la
 $(LIB_HTTP_PARSER): $(HTTP_PARSER)-build-stamp
 BUNDLED_DEPS += $(HTTP_PARSER)-build-stamp
 else


[12/12] mesos git commit: Stout: made standalone build work again.

Posted by ka...@apache.org.
Stout: made standalone build work again.

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


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

Branch: refs/heads/master
Commit: ada24cb6b29cc74e30ce31550459a6b14d409c96
Parents: 60372d9
Author: Till Toenshoff <to...@me.com>
Authored: Tue Jul 5 17:52:08 2016 +0200
Committer: Kapil Arya <ka...@mesosphere.io>
Committed: Tue Jul 5 14:25:10 2016 -0400

----------------------------------------------------------------------
 3rdparty/stout/3rdparty/Makefile.am         | 143 +++++++++++++++++++++++
 3rdparty/stout/3rdparty/gmock_sources.cc.in |  19 +++
 3rdparty/stout/Makefile.am                  |  14 ++-
 3rdparty/stout/configure.ac                 |  13 +++
 4 files changed, 185 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/ada24cb6/3rdparty/stout/3rdparty/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/stout/3rdparty/Makefile.am b/3rdparty/stout/3rdparty/Makefile.am
new file mode 100644
index 0000000..73f6e05
--- /dev/null
+++ b/3rdparty/stout/3rdparty/Makefile.am
@@ -0,0 +1,143 @@
+# 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
+
+# This Makefile is for building third-party packages from
+# tarballs. For autotools-based packages, we configure each of the
+# packages to build static PIC binaries which we can safely link into
+# a shared libmesos, and build it in-place without installing it (even
+# if one runs 'make install' in this directory). Non-autotools based
+# packages may be special cases; this Makefile is responsible for
+# passing any special make or configure flags that might be required.
+
+BUILT_SOURCES = # Initialized to enable using +=.
+
+# We need to add '--srcdir=.' needed because 'make distcheck' adds
+#  '--srcdir=...' when configuring.
+CONFIGURE_ARGS = @CONFIGURE_ARGS@ --enable-shared=no --with-pic --srcdir=.
+
+# Directory which holds bundled dependencies
+BUNDLED_DIR = $(top_srcdir)/..
+
+include ../../versions.am
+
+BOOST = boost-$(BOOST_VERSION)
+GLOG = glog-$(GLOG_VERSION)
+GMOCK = gmock-$(GMOCK_VERSION)
+GTEST = $(GMOCK)/gtest
+PROTOBUF = protobuf-$(PROTOBUF_VERSION)
+PICOJSON = picojson-$(PICOJSON_VERSION)
+
+EXTRA_DIST =		\
+  $(BOOST).tar.gz	\
+  $(GLOG).tar.gz	\
+  $(GMOCK).tar.gz	\
+  $(PROTOBUF).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 include an upstream patch for protobuf in order to avoid
+# signed/unsigned comparisons.
+EXTRA_DIST +=		\
+  $(PROTOBUF).patch
+
+CLEAN_EXTRACTED =	\
+  $(BOOST)		\
+  $(GLOG)		\
+  $(GMOCK)		\
+  $(PICOJSON)		\
+  $(PROTOBUF)
+
+# 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: $(BUNDLED_DIR)/%.tar.gz
+	gzip -d -c $^ | tar xf -
+	test ! -e $(top_srcdir)/../$*.patch || patch -d $* -p1 <$(top_srcdir)/../$*.patch
+	touch $@
+
+# Dependencies for all-local.
+ALL_LOCAL = # Initialize ALL_LOCAL so we can add to it.
+
+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
+
+$(LIB_GLOG): $(GLOG)-build-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).
+$(GLOG)-build-stamp: $(GLOG)-stamp
+	cd $(GLOG) && ./configure GTEST_CONFIG=no $(CONFIGURE_ARGS) && \
+          $(MAKE) $(AM_MAKEFLAGS) $(GLOG_LDFLAGS)
+	touch $@
+
+ALL_LOCAL += $(LIB_GLOG)
+endif
+
+if WITH_BUNDLED_PICOJSON
+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
+
+$(GMOCK)-build-stamp: libgmock.la
+	touch $@
+ALL_LOCAL += $(GMOCK)-build-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)
+
+all-local: $(ALL_LOCAL)
+
+clean-local:
+	rm -r -f $(CLEAN_EXTRACTED)
+	rm -f *-stamp

http://git-wip-us.apache.org/repos/asf/mesos/blob/ada24cb6/3rdparty/stout/3rdparty/gmock_sources.cc.in
----------------------------------------------------------------------
diff --git a/3rdparty/stout/3rdparty/gmock_sources.cc.in b/3rdparty/stout/3rdparty/gmock_sources.cc.in
new file mode 100644
index 0000000..ba31407
--- /dev/null
+++ b/3rdparty/stout/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/ada24cb6/3rdparty/stout/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/stout/Makefile.am b/3rdparty/stout/Makefile.am
index 3d9375a..44ce5c4 100644
--- a/3rdparty/stout/Makefile.am
+++ b/3rdparty/stout/Makefile.am
@@ -14,14 +14,20 @@
 
 AUTOMAKE_OPTIONS = foreign
 
+if STANDALONE_STOUT
+MAYBE_3RDPARTY = 3rdparty
+BUNDLED_DIR = 3rdparty
+else
+MAYBE_3RDPARTY =
+BUNDLED_DIR = ..
+endif
+
 # NOTE: The stout headers were moved to the Makefile in "include"
 # subdirectory to make it easy to preserve the directory structure of
 # the header files during installation.
-SUBDIRS = . include
-
-BUNDLED_DIR = ..
+SUBDIRS = $(MAYBE_3RDPARTY) . include
 
-include $(BUNDLED_DIR)/versions.am
+include ../versions.am
 
 BOOST = $(BUNDLED_DIR)/boost-$(BOOST_VERSION)
 ELFIO = $(BUNDLED_DIR)/elfio-$(ELFIO_VERSION)

http://git-wip-us.apache.org/repos/asf/mesos/blob/ada24cb6/3rdparty/stout/configure.ac
----------------------------------------------------------------------
diff --git a/3rdparty/stout/configure.ac b/3rdparty/stout/configure.ac
index dab005b..2236a2d 100644
--- a/3rdparty/stout/configure.ac
+++ b/3rdparty/stout/configure.ac
@@ -49,8 +49,20 @@ LT_INIT
 LT_LANG([C++])
 LT_OUTPUT
 
+# Save the configure arguments so we can pass them to any third-party
+# libraries that we might run configure on (see
+# 3rdparty/Makefile.am). One downside of our strategy for shipping
+# and building third-party libraries is that we can't expose options
+# from nested third-party configure scripts.
+CONFIGURE_ARGS="$ac_configure_args"
+AC_SUBST(CONFIGURE_ARGS)
+
+AM_CONDITIONAL([STANDALONE_STOUT], [true])
+
 AC_CONFIG_FILES([Makefile])
 AC_CONFIG_FILES([include/Makefile])
+AC_CONFIG_FILES([3rdparty/Makefile])
+AC_CONFIG_FILES([3rdparty/gmock_sources.cc])
 
 ###############################################################################
 # Optional features.
@@ -413,6 +425,7 @@ else
 fi
 
 AM_CONDITIONAL([WITH_BUNDLED_GMOCK], [test "x$with_bundled_gmock" = "xyes"])
+AM_CONDITIONAL([LINKGTEST], [test "check_gtest" = "xyes"])
 AC_SUBST([GMOCKSRC])
 AC_SUBST([GTESTSRC])
 


[11/12] mesos git commit: Stout: Prepare for standalone compilation.

Posted by ka...@apache.org.
Stout: Prepare for standalone compilation.

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


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

Branch: refs/heads/master
Commit: 60372d9bf9c2e50570a809cf474cddef6ef59b5a
Parents: 55331bc
Author: Till Toenshoff <to...@me.com>
Authored: Tue Jul 5 17:28:29 2016 +0200
Committer: Kapil Arya <ka...@mesosphere.io>
Committed: Tue Jul 5 14:25:09 2016 -0400

----------------------------------------------------------------------
 3rdparty/stout/Makefile.am | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/60372d9b/3rdparty/stout/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/stout/Makefile.am b/3rdparty/stout/Makefile.am
index 58547c5..3d9375a 100644
--- a/3rdparty/stout/Makefile.am
+++ b/3rdparty/stout/Makefile.am
@@ -19,15 +19,17 @@ AUTOMAKE_OPTIONS = foreign
 # the header files during installation.
 SUBDIRS = . include
 
-include ../versions.am
+BUNDLED_DIR = ..
 
-BOOST = ../boost-$(BOOST_VERSION)
-ELFIO = ../elfio-$(ELFIO_VERSION)
-GLOG = ../glog-$(GLOG_VERSION)
-GMOCK = ../gmock-$(GMOCK_VERSION)
+include $(BUNDLED_DIR)/versions.am
+
+BOOST = $(BUNDLED_DIR)/boost-$(BOOST_VERSION)
+ELFIO = $(BUNDLED_DIR)/elfio-$(ELFIO_VERSION)
+GLOG = $(BUNDLED_DIR)/glog-$(GLOG_VERSION)
+GMOCK = $(BUNDLED_DIR)/gmock-$(GMOCK_VERSION)
 GTEST = $(GMOCK)/gtest
-PROTOBUF = ../protobuf-$(PROTOBUF_VERSION)
-PICOJSON = ../picojson-$(PICOJSON_VERSION)
+PROTOBUF = $(BUNDLED_DIR)/protobuf-$(PROTOBUF_VERSION)
+PICOJSON = $(BUNDLED_DIR)/picojson-$(PICOJSON_VERSION)
 
 # Dependencies for all-local.
 BUNDLED_DEPS = # Initialize BUNDLED_DEPS so we can add to it.
@@ -35,7 +37,7 @@ BUNDLED_DEPS = # Initialize BUNDLED_DEPS so we can add to it.
 
 # Ensure bundled software is build properly.
 %-stamp:
-	@cd .. && $(MAKE) $(AM_MAKEFLAGS) $(@F)
+	@cd $(BUNDLED_DIR) && $(MAKE) $(AM_MAKEFLAGS) $(@F)
 
 # We use "-isystem" instead of "-I" to add Boost to the include search
 # path. This disables compiler warnings inside Boost headers since we
@@ -63,7 +65,7 @@ endif
 if WITH_BUNDLED_GMOCK
 GMOCK_INCLUDE_FLAGS = -I$(GMOCK)/include
 GTEST_INCLUDE_FLAGS = -I$(GTEST)/include
-LIB_GMOCK = ../libgmock.la
+LIB_GMOCK = $(BUNDLED_DIR)/libgmock.la
 $(LIB_GMOCK): $(GMOCK)-build-stamp
 BUNDLED_DEPS += $(GMOCK)-build-stamp
 endif


[03/12] mesos git commit: Enabled building stout tests without building 3rdparty first.

Posted by ka...@apache.org.
Enabled building stout tests without building 3rdparty first.

Doing a `make` inside stout now automatically build bundled
dependencies.

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


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

Branch: refs/heads/master
Commit: bf7afcecc6196d39e2931ead603bb395322522d8
Parents: 78deb53
Author: Till Toenshoff <to...@me.com>
Authored: Tue Jul 5 16:13:37 2016 +0200
Committer: Kapil Arya <ka...@mesosphere.io>
Committed: Tue Jul 5 14:23:31 2016 -0400

----------------------------------------------------------------------
 3rdparty/stout/Makefile.am | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/bf7afcec/3rdparty/stout/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/stout/Makefile.am b/3rdparty/stout/Makefile.am
index 6769130..7688d5d 100644
--- a/3rdparty/stout/Makefile.am
+++ b/3rdparty/stout/Makefile.am
@@ -29,20 +29,32 @@ GTEST = $(GMOCK)/gtest
 PROTOBUF = ../protobuf-$(PROTOBUF_VERSION)
 PICOJSON = ../picojson-$(PICOJSON_VERSION)
 
+# Dependencies for all-local.
+BUNDLED_DEPS = # Initialize BUNDLED_DEPS so we can add to it.
+
+
+# Ensure bundled software is build properly.
+%-stamp:
+	@cd .. && $(MAKE) $(AM_MAKEFLAGS) $(@F)
+
 # 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.
 if WITH_BUNDLED_BOOST
 BOOST_INCLUDE_FLAGS = -isystem $(BOOST)
+BUNDLED_DEPS += $(BOOST)-stamp
 endif
 
 if WITH_BUNDLED_ELFIO
 ELFIO_INCLUDE_FLAGS = -I$(ELFIO)
+BUNDLED_DEPS += $(ELFIO)-stamp
 endif
 
 if WITH_BUNDLED_GLOG
 GLOG_INCLUDE_FLAGS = -I$(GLOG)/src
 LIB_GLOG = $(GLOG)/libglog.la
+$(LIB_GLOG): $(GLOG)-build-stamp
+BUNDLED_DEPS += $(GLOG)-build-stamp
 else
 LIB_GLOG = -lglog
 endif
@@ -52,6 +64,8 @@ if WITH_BUNDLED_GMOCK
 GMOCK_INCLUDE_FLAGS = -I$(GMOCK)/include
 GTEST_INCLUDE_FLAGS = -I$(GTEST)/include
 LIB_GMOCK = ../libgmock.la
+$(LIB_GMOCK): $(GMOCK)-build-stamp
+BUNDLED_DEPS += $(GMOCK)-build-stamp
 endif
 
 # Enable the INT64 support for PicoJSON.
@@ -61,11 +75,14 @@ PICOJSON_INCLUDE_FLAGS =	\
 
 if WITH_BUNDLED_PICOJSON
 PICOJSON_INCLUDE_FLAGS += -I$(PICOJSON)
+BUNDLED_DEPS += $(PICOJSON)-stamp
 endif
 
 if WITH_BUNDLED_PROTOBUF
 PROTOBUF_INCLUDE_FLAGS = -I$(PROTOBUF)/src
 LIB_PROTOBUF = $(PROTOBUF)/src/libprotobuf.la
+$(LIB_PROTOBUF): $(PROTOBUF)-build-stamp
+BUNDLED_DEPS += $(PROTOBUF)-build-stamp
 else
 LIB_PROTOBUF = -lprotobuf
 endif
@@ -157,9 +174,7 @@ if !OS_FREEBSD
   stout_tests_LDADD += -ldl
 endif
 
-# Both libprocess-tests and benchmarks have a dependency on libgmock.la.
-$(LIB_GMOCK):
-	@cd .. && $(MAKE) $(AM_MAKEFLAGS) libgmock.la
+BUILT_SOURCES = $(BUNDLED_DEPS)
 
 # We use a check-local target for now to avoid the parallel test
 # runner that ships with newer versions of autotools.