Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id C8D122009E8 for ; Mon, 16 May 2016 04:09:57 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id C74F21609AD; Mon, 16 May 2016 02:09:57 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 75788160968 for ; Mon, 16 May 2016 04:09:56 +0200 (CEST) Received: (qmail 44863 invoked by uid 500); 16 May 2016 02:09:55 -0000 Mailing-List: contact commits-help@hawq.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hawq.incubator.apache.org Delivered-To: mailing list commits@hawq.incubator.apache.org Received: (qmail 44854 invoked by uid 99); 16 May 2016 02:09:55 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 May 2016 02:09:55 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 17AEF180227 for ; Mon, 16 May 2016 02:09:55 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -3.221 X-Spam-Level: X-Spam-Status: No, score=-3.221 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001] autolearn=disabled Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id Rbc7YCUYVWQ4 for ; Mon, 16 May 2016 02:09:51 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with SMTP id 8CEAC5F1B3 for ; Mon, 16 May 2016 02:09:50 +0000 (UTC) Received: (qmail 44836 invoked by uid 99); 16 May 2016 02:09:49 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 May 2016 02:09:49 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 9B0F1DFFF9; Mon, 16 May 2016 02:09:49 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: huor@apache.org To: commits@hawq.incubator.apache.org Message-Id: <20b470f7468e48e7a1af2cc6f42d8d04@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: incubator-hawq git commit: HAWQ-711. Bugfix for libyarn/libhdfs3 building dependency, tweak googleTest code Date: Mon, 16 May 2016 02:09:49 +0000 (UTC) archived-at: Mon, 16 May 2016 02:09:58 -0000 Repository: incubator-hawq Updated Branches: refs/heads/master fb14dbd98 -> 1f794e2b3 HAWQ-711. Bugfix for libyarn/libhdfs3 building dependency, tweak googleTest code Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/1f794e2b Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/1f794e2b Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/1f794e2b Branch: refs/heads/master Commit: 1f794e2b343549c7c0fe58431d027b3389f4eb1e Parents: fb14dbd Author: xunzhang Authored: Mon May 16 10:01:13 2016 +0800 Committer: xunzhang Committed: Mon May 16 10:01:13 2016 +0800 ---------------------------------------------------------------------- .travis.yml | 21 +---- GNUmakefile.in | 26 ++++--- configure | 80 ++++++++++---------- configure.in | 73 +++++++++--------- depends/libhdfs3/CMake/FindGoogleTest.cmake | 15 +++- depends/libhdfs3/Makefile | 25 ++++-- depends/libhdfs3/Makefile.global.in | 1 + depends/libyarn/CMake/FindGoogleTest.cmake | 15 +++- depends/libyarn/Makefile | 25 ++++-- depends/libyarn/Makefile.global.in | 1 + depends/thirdparty/googletest/.gitignore | 2 + depends/thirdparty/googletest/Makefile | 24 ++++++ .../thirdparty/googletest/Makefile.global.in | 14 ++++ src/Makefile | 6 +- src/Makefile.global.in | 5 +- src/test/Makefile | 2 +- src/test/feature/Makefile | 9 ++- src/test/feature/lib/Makefile | 8 +- 18 files changed, 225 insertions(+), 127 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/.travis.yml ---------------------------------------------------------------------- diff --git a/.travis.yml b/.travis.yml index 2e6b838..68563d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,29 +38,14 @@ install: - brew uninstall postgresql before_script: - - cd $TRAVIS_BUILD_DIR/depends/thirdparty/googletest - - mkdir build - - cd build - - cmake .. - - make -j2 - - sudo make install - - cd $TRAVIS_BUILD_DIR/depends/libhdfs3 - - mkdir build - - cd build - - ../bootstrap --prefix=/usr/local/ - - make -j2 - - sudo make install - - cd $TRAVIS_BUILD_DIR/depends/libyarn - - mkdir build - - cd build - - ../bootstrap --prefix=/usr/local - - make -j2 - - sudo make install - cd $TRAVIS_BUILD_DIR - ./configure script: - make -j2 +# waiting higher version of gcc ready +#- make feature-test +#- make feature-test-clean branches: except: http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/GNUmakefile.in ---------------------------------------------------------------------- diff --git a/GNUmakefile.in b/GNUmakefile.in index d38273c..e457ddd 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -10,6 +10,8 @@ include $(top_builddir)/src/Makefile.global all: # $(MAKE) -C doc all +# waiting for higher version of gcc ready +#$(MAKE) -C depends/thirdparty/googletest all $(MAKE) -C depends/libhdfs3 all $(MAKE) -C depends/libyarn all $(MAKE) -C src all @@ -24,6 +26,8 @@ all: install: # $(MAKE) -C doc $@ +# waiting for higher version of gcc ready +#$(MAKE) -C depends/thirdparty/googletest install $(MAKE) -C depends/libhdfs3 $@ $(MAKE) -C depends/libyarn $@ $(MAKE) -C src $@ @@ -52,19 +56,21 @@ distprep: $(MAKE) -C config $@ $(MAKE) -C contrib $@ -feature_test: - $(MAKE) -C src feature_test +feature-test: + $(MAKE) -C src feature-test -feature_test_clean: - $(MAKE) -C src feature_test_clean +feature-test-clean: + $(MAKE) -C src feature-test-clean # clean, distclean, etc should apply to contrib too, even though # it's not built by default clean: # $(MAKE) -C doc $@ $(MAKE) -C contrib $@ - $(MAKE) -C depends/libhdfs3 $@ - $(MAKE) -C depends/libyarn $@ +# waiting for higher version of gcc ready +#-$(MAKE) -C depends/thirdparty/googletest $@ + -$(MAKE) -C depends/libhdfs3 $@ + -$(MAKE) -C depends/libyarn $@ $(MAKE) -C src $@ $(MAKE) -C config $@ $(MAKE) -C contrib/formatter_fixedwidth $@ @@ -73,7 +79,7 @@ clean: $(MAKE) -C contrib/gp_cancel_query $@ $(MAKE) -C contrib/hawq-hadoop $@ $(MAKE) -C tools $@ - $(MAKE) -C src feature_test clean + -$(MAKE) -C src feature-test-clean # Garbage from autoconf: @rm -rf autom4te.cache/ @@ -82,11 +88,13 @@ clean: distclean maintainer-clean: # -$(MAKE) -C doc $@ -$(MAKE) -C contrib $@ +# waiting for higher version of gcc ready +#-$(MAKE) -C depends/thirdparty/googletest $@ -$(MAKE) -C depends/libhdfs3 $@ -$(MAKE) -C depends/libyarn $@ -$(MAKE) -C config $@ -$(MAKE) -C tools $@ - -$(MAKE) -C src feature_test clean + -$(MAKE) -C src feature-test-clean -$(MAKE) -C src $@ -rm -f config.cache config.log config.status GNUmakefile # Garbage from autoconf: @@ -183,4 +191,4 @@ coverage-reset: .PHONY: dist distdir distcheck -unexport split-dist +#unexport split-dist http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/configure ---------------------------------------------------------------------- diff --git a/configure b/configure index ae9564e..2131eb6 100755 --- a/configure +++ b/configure @@ -710,6 +710,7 @@ with_gnu_ld LD LDFLAGS_SL LDFLAGS_EX +INCLUDES ELF_SYS EGREP GREP @@ -732,7 +733,6 @@ with_python with_perl with_tcl enable_thread_safety -INCLUDES ORCA_DEPENDS_OBJDIR_DEFAULT ORCA_DEPENDS_DIR_INTER enable_orca @@ -5508,40 +5508,6 @@ fi # -# Include directories -# -ac_save_IFS=$IFS -IFS="${IFS}${PATH_SEPARATOR}" -# SRCH_INC comes from the template file -for dir in $with_includes $SRCH_INC; do - if test -d "$dir"; then - INCLUDES="$INCLUDES -I$dir" - else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Include directory $dir does not exist." >&5 -$as_echo "$as_me: WARNING: *** Include directory $dir does not exist." >&2;} - fi -done -IFS=$ac_save_IFS - - - -# -# Library directories -# -ac_save_IFS=$IFS -IFS="${IFS}${PATH_SEPARATOR}" -# LIBRARY_DIRS comes from command line, SRCH_LIB from template file. -for dir in $LIBRARY_DIRS $SRCH_LIB; do - if test -d "$dir"; then - LIBDIRS="$LIBDIRS -L$dir" - else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Library directory $dir does not exist." >&5 -$as_echo "$as_me: WARNING: *** Library directory $dir does not exist." >&2;} - fi -done -IFS=$ac_save_IFS - -# # Enable thread-safe client libraries # { $as_echo "$as_me:${as_lineno-$LINENO}: checking allow thread-safe client libraries" >&5 @@ -6456,6 +6422,45 @@ rm -f conftest* # +# Include directories +# +#INCLUDES="$INCLUDES -I$ac_pwd/depends/thirdparty/googletest/googletest/include -I$ac_pwd/depends/thirdparty/googletest/googlemock/include" + +ac_save_IFS=$IFS +IFS="${IFS}${PATH_SEPARATOR}" +# SRCH_INC comes from the template file +for dir in $with_includes $SRCH_INC; do + if test -d "$dir"; then + INCLUDES="$INCLUDES -I$dir" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Include directory $dir does not exist." >&5 +$as_echo "$as_me: WARNING: *** Include directory $dir does not exist." >&2;} + fi +done +IFS=$ac_save_IFS + + + +# +# Library directories +# +#LIBDIRS="$LIBDIRS -L$ac_pwd/depends/thirdparty/googletest/build/googlemock/gtest -L$ac_pwd/depends/thirdparty/googletest/build/googlemock" + +ac_save_IFS=$IFS +IFS="${IFS}${PATH_SEPARATOR}" +# LIBRARY_DIRS comes from command line, SRCH_LIB from template file. +for dir in $LIBRARY_DIRS $SRCH_LIB; do + if test -d "$dir"; then + LIBDIRS="$LIBDIRS -L$dir" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Library directory $dir does not exist." >&5 +$as_echo "$as_me: WARNING: *** Library directory $dir does not exist." >&2;} + fi +done +IFS=$ac_save_IFS + + +# # Assignments # @@ -16419,8 +16424,7 @@ $as_echo "done" >&6; } fi - -ac_config_files="$ac_config_files GNUmakefile src/VERSIONS.mk depends/libhdfs3/Makefile.global depends/libyarn/Makefile.global src/Makefile.global src/pl/pljava/src/java/Makefile.global" +ac_config_files="$ac_config_files GNUmakefile src/VERSIONS.mk depends/thirdparty/googletest/Makefile.global depends/libhdfs3/Makefile.global depends/libyarn/Makefile.global src/Makefile.global src/pl/pljava/src/java/Makefile.global" ac_config_links="$ac_config_links src/backend/port/dynloader.c:src/backend/port/dynloader/${template}.c src/backend/port/pg_sema.c:${SEMA_IMPLEMENTATION} src/backend/port/pg_shmem.c:${SHMEM_IMPLEMENTATION} src/include/dynloader.h:src/backend/port/dynloader/${template}.h src/include/pg_config_os.h:src/include/port/${template}.h src/Makefile.port:src/makefiles/Makefile.${template}" @@ -17140,6 +17144,7 @@ do "src/backend/port/tas.s") CONFIG_LINKS="$CONFIG_LINKS src/backend/port/tas.s:src/backend/port/tas/${tas_file}" ;; "GNUmakefile") CONFIG_FILES="$CONFIG_FILES GNUmakefile" ;; "src/VERSIONS.mk") CONFIG_FILES="$CONFIG_FILES src/VERSIONS.mk" ;; + "depends/thirdparty/googletest/Makefile.global") CONFIG_FILES="$CONFIG_FILES depends/thirdparty/googletest/Makefile.global" ;; "depends/libhdfs3/Makefile.global") CONFIG_FILES="$CONFIG_FILES depends/libhdfs3/Makefile.global" ;; "depends/libyarn/Makefile.global") CONFIG_FILES="$CONFIG_FILES depends/libyarn/Makefile.global" ;; "src/Makefile.global") CONFIG_FILES="$CONFIG_FILES src/Makefile.global" ;; @@ -17806,4 +17811,3 @@ for pgac_var in `set | sed 's/=.*//' | $EGREP 'with_|enable_'`; do { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: option ignored: --$pgac_txt" >&5 $as_echo "$as_me: WARNING: option ignored: --$pgac_txt" >&2;} done - http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/configure.in ---------------------------------------------------------------------- diff --git a/configure.in b/configure.in index 391e17e..34d77fe 100644 --- a/configure.in +++ b/configure.in @@ -652,38 +652,6 @@ AC_SUBST(ORCA_DEPENDS_DIR_INTER) AC_SUBST(ORCA_DEPENDS_OBJDIR_DEFAULT) # -# Include directories -# -ac_save_IFS=$IFS -IFS="${IFS}${PATH_SEPARATOR}" -# SRCH_INC comes from the template file -for dir in $with_includes $SRCH_INC; do - if test -d "$dir"; then - INCLUDES="$INCLUDES -I$dir" - else - AC_MSG_WARN([*** Include directory $dir does not exist.]) - fi -done -IFS=$ac_save_IFS -AC_SUBST(INCLUDES) - - -# -# Library directories -# -ac_save_IFS=$IFS -IFS="${IFS}${PATH_SEPARATOR}" -# LIBRARY_DIRS comes from command line, SRCH_LIB from template file. -for dir in $LIBRARY_DIRS $SRCH_LIB; do - if test -d "$dir"; then - LIBDIRS="$LIBDIRS -L$dir" - else - AC_MSG_WARN([*** Library directory $dir does not exist.]) - fi -done -IFS=$ac_save_IFS - -# # Enable thread-safe client libraries # AC_MSG_CHECKING([allow thread-safe client libraries]) @@ -918,6 +886,43 @@ fi]) AC_SUBST(ELF_SYS) # +# Include directories +# +#INCLUDES="$INCLUDES -I$ac_pwd/depends/thirdparty/googletest/googletest/include -I$ac_pwd/depends/thirdparty/googletest/googlemock/include" + +ac_save_IFS=$IFS +IFS="${IFS}${PATH_SEPARATOR}" +# SRCH_INC comes from the template file +for dir in $with_includes $SRCH_INC; do + if test -d "$dir"; then + INCLUDES="$INCLUDES -I$dir" + else + AC_MSG_WARN([*** Include directory $dir does not exist.]) + fi +done +IFS=$ac_save_IFS +AC_SUBST(INCLUDES) + + +# +# Library directories +# +#LIBDIRS="$LIBDIRS -L$ac_pwd/depends/thirdparty/googletest/build/googlemock/gtest -L$ac_pwd/depends/thirdparty/googletest/build/googlemock" + +ac_save_IFS=$IFS +IFS="${IFS}${PATH_SEPARATOR}" +# LIBRARY_DIRS comes from command line, SRCH_LIB from template file. +for dir in $LIBRARY_DIRS $SRCH_LIB; do + if test -d "$dir"; then + LIBDIRS="$LIBDIRS -L$dir" + else + AC_MSG_WARN([*** Library directory $dir does not exist.]) + fi +done +IFS=$ac_save_IFS + + +# # Assignments # @@ -2057,8 +2062,7 @@ else fi AC_SUBST(vpath_build) - -AC_CONFIG_FILES([GNUmakefile src/VERSIONS.mk src/Makefile.global depends/libhdfs3/Makefile.global depends/libyarn/Makefile.global src/Makefile.global src/pl/pljava/src/java/Makefile.global]) +AC_CONFIG_FILES([GNUmakefile src/VERSIONS.mk depends/thirdparty/googletest/Makefile.global depends/libhdfs3/Makefile.global depends/libyarn/Makefile.global src/Makefile.global src/pl/pljava/src/java/Makefile.global]) AC_CONFIG_LINKS([ src/backend/port/dynloader.c:src/backend/port/dynloader/${template}.c @@ -2094,4 +2098,3 @@ AC_OUTPUT # Warn about unknown options PGAC_ARG_CHECK - http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/depends/libhdfs3/CMake/FindGoogleTest.cmake ---------------------------------------------------------------------- diff --git a/depends/libhdfs3/CMake/FindGoogleTest.cmake b/depends/libhdfs3/CMake/FindGoogleTest.cmake index 94c84f7..75053fd 100644 --- a/depends/libhdfs3/CMake/FindGoogleTest.cmake +++ b/depends/libhdfs3/CMake/FindGoogleTest.cmake @@ -3,27 +3,38 @@ include(CheckCXXSourceRuns) find_path(GoogleTest_INCLUDE_DIR gtest/gtest.h NO_DEFAULT_PATH PATHS + "${PROJECT_SOURCE_DIR}/../thirdparty/googletest/googletest/include" + "/usr/local/include" + "/usr/include") + +find_path(GoogleMock_INCLUDE_DIR gmock/gmock.h + NO_DEFAULT_PATH + PATHS + "${PROJECT_SOURCE_DIR}/../thirdparty/googletest/googlemock/include" "/usr/local/include" "/usr/include") find_library(Gtest_LIBRARY NAMES libgtest.a HINTS + "${PROJECT_SOURCE_DIR}/../thirdparty/googletest/build/googlemock/gtest" "/usr/local/lib" "/usr/lib") find_library(Gmock_LIBRARY NAMES libgmock.a HINTS + "${PROJECT_SOURCE_DIR}/../thirdparty/googletest/build/googlemock" "/usr/local/lib" "/usr/lib") message(STATUS "Find GoogleTest include path: ${GoogleTest_INCLUDE_DIR}") +message(STATUS "Find GoogleMock include path: ${GoogleMock_INCLUDE_DIR}") message(STATUS "Find Gtest library path: ${Gtest_LIBRARY}") message(STATUS "Find Gmock library path: ${Gmock_LIBRARY}") -set(CMAKE_REQUIRED_INCLUDES ${GoogleTest_INCLUDE_DIR}) -set(CMAKE_REQUIRED_LIBRARIES ${Gtest_LIBRARY} ${Gmock_LIBRARY}) +set(CMAKE_REQUIRED_INCLUDES ${GoogleTest_INCLUDE_DIR} ${GoogleMock_INCLUDE_DIR}) +set(CMAKE_REQUIRED_LIBRARIES ${Gtest_LIBRARY} ${Gmock_LIBRARY} -lpthread) set(CMAKE_REQUIRED_FLAGS) check_cxx_source_runs(" #include http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/depends/libhdfs3/Makefile ---------------------------------------------------------------------- diff --git a/depends/libhdfs3/Makefile b/depends/libhdfs3/Makefile index c5702ae..3f26baa 100644 --- a/depends/libhdfs3/Makefile +++ b/depends/libhdfs3/Makefile @@ -6,7 +6,7 @@ subdir = depends/libhdfs3 top_builddir = ../../ include Makefile.global -PRE_CFG_ARG = +PRE_CFG_ARG = # get argument for running ../boostrap ifeq ($(enable_debug), yes) PRE_CFG_ARG += --enable-debug @@ -18,14 +18,16 @@ endif # enable_coverage ########################################################################## # -.PHONY: all install distclean maintainer-clean clean pre-config +.PHONY: build all install distclean maintainer-clean clean pre-config ifeq ($(with_libhdfs3), yes) -all: pre-config - cd $(top_srcdir)/$(subdir)/build && $(MAKE) +# Hack: For the target "all", we will install them temporarily under build/install to compile hawq +all: build + cd $(top_srcdir)/$(subdir)/build; mkdir -p install; \ + $(MAKE) DESTDIR=$(abs_top_builddir)/$(subdir)/build/install install -install: all +install: build cd $(top_srcdir)/$(subdir)/build && $(MAKE) install distclean: @@ -35,11 +37,20 @@ maintainer-clean: distclean clean: if [ -d $(top_srcdir)/$(subdir)/build ]; then \ - cd $(top_srcdir)/$(subdir)/build && $(MAKE) clean; \ + cd $(top_srcdir)/$(subdir)/build && $(MAKE) clean && rm -f build.timestamp; \ fi +build: pre-config + cd $(top_srcdir)/$(subdir)/build && $(MAKE) + +# trigger bootstrap only once. pre-config: - cd $(top_srcdir)/$(subdir)/ && mkdir -p build && cd build && ../bootstrap --prefix=$(prefix) $(PRE_CFG_ARG) + cd $(top_srcdir)/$(subdir)/; \ + mkdir -p build; \ + cd build; \ + if [ ! -f build.timestamp ]; then \ + $(abs_top_srcdir)/$(subdir)/bootstrap --prefix=$(prefix) $(PRE_CFG_ARG) && touch build.timestamp; \ + fi else http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/depends/libhdfs3/Makefile.global.in ---------------------------------------------------------------------- diff --git a/depends/libhdfs3/Makefile.global.in b/depends/libhdfs3/Makefile.global.in index 745de2b..b1ee80f 100644 --- a/depends/libhdfs3/Makefile.global.in +++ b/depends/libhdfs3/Makefile.global.in @@ -11,6 +11,7 @@ with_libhdfs3 = @with_libhdfs3@ # Support for VPATH builds vpath_build = @vpath_build@ abs_top_srcdir = @abs_top_srcdir@ +abs_top_builddir = @abs_top_builddir@ ifneq ($(vpath_build),yes) top_srcdir = $(top_builddir) http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/depends/libyarn/CMake/FindGoogleTest.cmake ---------------------------------------------------------------------- diff --git a/depends/libyarn/CMake/FindGoogleTest.cmake b/depends/libyarn/CMake/FindGoogleTest.cmake index 94c84f7..75053fd 100644 --- a/depends/libyarn/CMake/FindGoogleTest.cmake +++ b/depends/libyarn/CMake/FindGoogleTest.cmake @@ -3,27 +3,38 @@ include(CheckCXXSourceRuns) find_path(GoogleTest_INCLUDE_DIR gtest/gtest.h NO_DEFAULT_PATH PATHS + "${PROJECT_SOURCE_DIR}/../thirdparty/googletest/googletest/include" + "/usr/local/include" + "/usr/include") + +find_path(GoogleMock_INCLUDE_DIR gmock/gmock.h + NO_DEFAULT_PATH + PATHS + "${PROJECT_SOURCE_DIR}/../thirdparty/googletest/googlemock/include" "/usr/local/include" "/usr/include") find_library(Gtest_LIBRARY NAMES libgtest.a HINTS + "${PROJECT_SOURCE_DIR}/../thirdparty/googletest/build/googlemock/gtest" "/usr/local/lib" "/usr/lib") find_library(Gmock_LIBRARY NAMES libgmock.a HINTS + "${PROJECT_SOURCE_DIR}/../thirdparty/googletest/build/googlemock" "/usr/local/lib" "/usr/lib") message(STATUS "Find GoogleTest include path: ${GoogleTest_INCLUDE_DIR}") +message(STATUS "Find GoogleMock include path: ${GoogleMock_INCLUDE_DIR}") message(STATUS "Find Gtest library path: ${Gtest_LIBRARY}") message(STATUS "Find Gmock library path: ${Gmock_LIBRARY}") -set(CMAKE_REQUIRED_INCLUDES ${GoogleTest_INCLUDE_DIR}) -set(CMAKE_REQUIRED_LIBRARIES ${Gtest_LIBRARY} ${Gmock_LIBRARY}) +set(CMAKE_REQUIRED_INCLUDES ${GoogleTest_INCLUDE_DIR} ${GoogleMock_INCLUDE_DIR}) +set(CMAKE_REQUIRED_LIBRARIES ${Gtest_LIBRARY} ${Gmock_LIBRARY} -lpthread) set(CMAKE_REQUIRED_FLAGS) check_cxx_source_runs(" #include http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/depends/libyarn/Makefile ---------------------------------------------------------------------- diff --git a/depends/libyarn/Makefile b/depends/libyarn/Makefile index 20b71f2..29a7e53 100644 --- a/depends/libyarn/Makefile +++ b/depends/libyarn/Makefile @@ -6,7 +6,7 @@ subdir = depends/libyarn top_builddir = ../../ include Makefile.global -PRE_CFG_ARG = +PRE_CFG_ARG = # get argument for running ../boostrap ifeq ($(enable_debug), yes) PRE_CFG_ARG += --enable-debug @@ -18,14 +18,16 @@ endif # enable_coverage ########################################################################## # -.PHONY: all install distclean maintainer-clean clean pre-config +.PHONY: build all install distclean maintainer-clean clean pre-config ifeq ($(with_libyarn), yes) -all: pre-config - cd $(top_srcdir)/$(subdir)/build && $(MAKE) +# Hack: For the target "all", we will install them temporarily under build/install to compile hawq +all: build + cd $(top_srcdir)/$(subdir)/build; mkdir -p install; \ + $(MAKE) DESTDIR=$(abs_top_builddir)/$(subdir)/build/install install -install: all +install: build cd $(top_srcdir)/$(subdir)/build && $(MAKE) install distclean: @@ -35,11 +37,20 @@ maintainer-clean: distclean clean: if [ -d $(top_srcdir)/$(subdir)/build ]; then \ - cd $(top_srcdir)/$(subdir)/build && $(MAKE) clean; \ + cd $(top_srcdir)/$(subdir)/build && $(MAKE) clean && rm -f build.timestamp; \ fi +build: pre-config + cd $(top_srcdir)/$(subdir)/build && $(MAKE) + +# trigger bootstrap only once. pre-config: - cd $(top_srcdir)/$(subdir)/ && mkdir -p build && cd build && ../bootstrap --prefix=$(prefix) $(PRE_CFG_ARG) + cd $(top_srcdir)/$(subdir)/; \ + mkdir -p build; \ + cd build; \ + if [ ! -f build.timestamp ]; then \ + $(abs_top_srcdir)/$(subdir)/bootstrap --prefix=$(prefix) $(PRE_CFG_ARG) && touch build.timestamp; \ + fi else http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/depends/libyarn/Makefile.global.in ---------------------------------------------------------------------- diff --git a/depends/libyarn/Makefile.global.in b/depends/libyarn/Makefile.global.in index b3806aa..38bf5a5 100644 --- a/depends/libyarn/Makefile.global.in +++ b/depends/libyarn/Makefile.global.in @@ -11,6 +11,7 @@ with_libyarn = @with_libyarn@ # Support for VPATH builds vpath_build = @vpath_build@ abs_top_srcdir = @abs_top_srcdir@ +abs_top_builddir = @abs_top_builddir@ ifneq ($(vpath_build),yes) top_srcdir = $(top_builddir) http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/depends/thirdparty/googletest/.gitignore ---------------------------------------------------------------------- diff --git a/depends/thirdparty/googletest/.gitignore b/depends/thirdparty/googletest/.gitignore new file mode 100644 index 0000000..8341b2e --- /dev/null +++ b/depends/thirdparty/googletest/.gitignore @@ -0,0 +1,2 @@ +build/ +Makefile.global http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/depends/thirdparty/googletest/Makefile ---------------------------------------------------------------------- diff --git a/depends/thirdparty/googletest/Makefile b/depends/thirdparty/googletest/Makefile new file mode 100644 index 0000000..feb7d6c --- /dev/null +++ b/depends/thirdparty/googletest/Makefile @@ -0,0 +1,24 @@ +subdir = depends/thirdparty/googletest +top_builddir = ../../../ +include Makefile.global + +.PHONY: all install distclean maintainer-clean clean pre-config + +all: pre-config + cd $(top_srcdir)/$(subdir)/build && $(MAKE) + +install: all + cd $(top_srcdir)/$(subdir)/build && $(MAKE) install + +distclean: + rm -rf $(top_srcdir)/$(subdir)/build + +maintainer-clean: distclean + +clean: + if [ -d $(top_srcdir)/$(subdir)/build ]; then \ + cd $(top_srcdir)/$(subdir)/build && $(MAKE) clean; \ + fi + +pre-config: + cd $(top_srcdir)/$(subdir)/ && mkdir -p build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$(prefix) .. http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/depends/thirdparty/googletest/Makefile.global.in ---------------------------------------------------------------------- diff --git a/depends/thirdparty/googletest/Makefile.global.in b/depends/thirdparty/googletest/Makefile.global.in new file mode 100644 index 0000000..6e80a14 --- /dev/null +++ b/depends/thirdparty/googletest/Makefile.global.in @@ -0,0 +1,14 @@ +prefix := @prefix@ + +# Support for VPATH builds +vpath_build = @vpath_build@ +abs_top_srcdir = @abs_top_srcdir@ + +ifneq ($(vpath_build),yes) +top_srcdir = $(top_builddir) +srcdir = . +else # vpath_build = yes +top_srcdir = $(abs_top_srcdir) +srcdir = $(top_srcdir)/$(subdir) +VPATH = $(srcdir) +endif http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/src/Makefile ---------------------------------------------------------------------- diff --git a/src/Makefile b/src/Makefile index 2b08a89..062202c 100644 --- a/src/Makefile +++ b/src/Makefile @@ -26,10 +26,10 @@ all install installdirs uninstall distprep: $(MAKE) -C test/regress $@ $(MAKE) -C tools/fsync $@ -feature_test: - $(MAKE) -C test feature_test +feature-test: + $(MAKE) -C test feature-test -feature_test_clean: +feature-test-clean: $(MAKE) -C test clean install: install-local http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/src/Makefile.global.in ---------------------------------------------------------------------- diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 702b567..26a449b 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -23,7 +23,7 @@ # make `all' the default target all: -feature_test: +feature-test: # Delete target files if the command fails after it has # started to update the file. @@ -221,6 +221,7 @@ COLLATEINDEX = @COLLATEINDEX@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CPPFLAGS += -I$(abs_top_srcdir)/depends/libhdfs3/build/install$(prefix)/include -I$(abs_top_srcdir)/depends/libyarn/build/install$(prefix)/include ifdef PGXS override CPPFLAGS := -I$(includedir_server) -I$(includedir_internal) $(CPPFLAGS) @@ -277,6 +278,8 @@ else LDFLAGS = -L$(top_builddir)/src/port endif LDFLAGS += @LDFLAGS@ +LDFLAGS += -L$(abs_top_srcdir)/depends/libhdfs3/build/install$(prefix)/lib +LDFLAGS += -L$(abs_top_srcdir)/depends/libyarn/build/install$(prefix)/lib LDFLAGS_EX = @LDFLAGS_EX@ # LDFLAGS_SL might have already been assigned by calling makefile http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/src/test/Makefile ---------------------------------------------------------------------- diff --git a/src/test/Makefile b/src/test/Makefile index 87871ad..41cad9c 100644 --- a/src/test/Makefile +++ b/src/test/Makefile @@ -16,7 +16,7 @@ .DEFAULT: $(MAKE) -C regress $@ -feature_test: +feature-test: $(MAKE) -C feature all clean: http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/src/test/feature/Makefile ---------------------------------------------------------------------- diff --git a/src/test/feature/Makefile b/src/test/feature/Makefile index c89fb1a..cb7c60f 100644 --- a/src/test/feature/Makefile +++ b/src/test/feature/Makefile @@ -6,11 +6,16 @@ include $(top_builddir)/src/Makefile.global include $(top_builddir)/src/Makefile.global +gtest_include = $(top_builddir)/depends/thirdparty/googletest/googletest/include +gmock_include = $(top_builddir)/depends/thirdparty/googletest/googlemock/include +gtest_lib_path = $(top_builddir)/depends/thirdparty/googletest/build/googlemock +gmock_lib_path = $(top_builddir)/depends/thirdparty/googletest/build/googlemock/gtest + override CXXFLAGS = -Wall -O0 -g -std=c++11 -override CPPFLAGS := -I/usr/include -I/usr/local/include -I/usr/include/libxml2 -I$(top_builddir)/src/test/feature/ -I$(top_builddir)/src/test/feature/lib/ -I$(top_builddir)/src/interfaces/libpq -I$(top_builddir)/src/interfaces -I$(top_builddir)/src/include +override CPPFLAGS := -I/usr/include -I/usr/local/include -I/usr/include/libxml2 -I$(top_builddir)/src/test/feature/ -I$(top_builddir)/src/test/feature/lib/ -I$(top_builddir)/src/interfaces/libpq -I$(top_builddir)/src/interfaces -I$(top_builddir)/src/include -I$(gtest_include) -I$(gmock_include) override LIBS := $(LIBS) -lgtest -lpq -lxml2 -ltest -override LDFLAGS += -L/usr/local/lib -L/usr/lib -L$(top_builddir)/src/test/feature/lib +override LDFLAGS += -L/usr/local/lib -L/usr/lib -L$(top_builddir)/src/test/feature/lib -L$(gtest_lib_path) -L$(gmock_lib_path) PROG = test-main.cpp testlib/test-lib.cpp http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1f794e2b/src/test/feature/lib/Makefile ---------------------------------------------------------------------- diff --git a/src/test/feature/lib/Makefile b/src/test/feature/lib/Makefile index 204952c..afe2aa8 100644 --- a/src/test/feature/lib/Makefile +++ b/src/test/feature/lib/Makefile @@ -1,12 +1,16 @@ subdir = src/test/feature/lib top_builddir = ../../../.. include $(top_builddir)/src/Makefile.global +gtest_include = $(top_builddir)/depends/thirdparty/googletest/googletest/include +gmock_include = $(top_builddir)/depends/thirdparty/googletest/googlemock/include +gtest_lib_path = $(top_builddir)/depends/thirdparty/googletest/build/googlemock +gmock_lib_path = $(top_builddir)/depends/thirdparty/googletest/build/googlemock/gtest override CXXFLAGS = -Wall -O0 -g -c -std=c++11 -override CPPFLAGS := -I/usr/include -I/usr/local/include -I/usr/include/libxml2 -I$(top_builddir)/src/interfaces/libpq -I$(top_builddir)/src/interfaces -I$(top_builddir)/src/include +override CPPFLAGS := -I/usr/include -I/usr/local/include -I/usr/include/libxml2 -I$(top_builddir)/src/interfaces/libpq -I$(top_builddir)/src/interfaces -I$(top_builddir)/src/include -I$(gtest_include) -I$(gmock_include) override LIBS := $(LIBS) -lpq -lxml2 -override LDFLAGS += -L/usr/local/lib -L/usr/lib +override LDFLAGS += -L/usr/local/lib -L/usr/lib -L$(gtest_lib_path) -L$(gmock_lib_path) PROG = $(abspath string-util.cpp psql.cpp command.cpp xml-parser.cpp hawq-config.cpp sql-util.cpp data-gen.cpp)