Repository: incubator-hawq
Updated Branches:
  refs/heads/master d9b1848a4 -> 0e62247f3


HAWQ-824. Move orca submodules to depends/

This patch also optmized the makefiles for gpopt/gpora/gpos/gp-xerces.


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

Branch: refs/heads/master
Commit: 0e62247f3822dd2101d47d47990e8fb00929b4df
Parents: d9b1848
Author: Paul Guo <[email protected]>
Authored: Thu Jun 16 11:10:40 2016 +0800
Committer: ivan <[email protected]>
Committed: Fri Jun 17 11:05:43 2016 +0800

----------------------------------------------------------------------
 .gitmodules                   |  12 ++--
 depends/thirdparty/.gitignore |   4 ++
 depends/thirdparty/gp-xerces  |   1 +
 depends/thirdparty/gporca     |   1 +
 depends/thirdparty/gpos       |   1 +
 src/backend/.gitignore        |   4 --
 src/backend/Makefile          | 123 ++++++++++++++-----------------------
 src/backend/gp-xerces         |   1 -
 src/backend/gpopt/Makefile    |  26 +++-----
 src/backend/gpopt/gpopt.mk    |  10 +--
 src/backend/gporca            |   1 -
 src/backend/gpos              |   1 -
 12 files changed, 76 insertions(+), 109 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0e62247f/.gitmodules
----------------------------------------------------------------------
diff --git a/.gitmodules b/.gitmodules
index f289853..6e33770 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,11 +1,11 @@
-[submodule "src/backend/gp-xerces"]
-       path = src/backend/gp-xerces
+[submodule "depends/thirdparty/gp-xerces"]
+       path = depends/thirdparty/gp-xerces
        url = https://github.com/greenplum-db/gp-xerces.git
-[submodule "src/backend/gpos"]
-       path = src/backend/gpos
+[submodule "depends/thirdparty/gpos"]
+       path = depends/thirdparty/gpos
        url = https://github.com/greenplum-db/gpos.git
-[submodule "src/backend/gporca"]
-       path = src/backend/gporca
+[submodule "depends/thirdparty/gporca"]
+       path = depends/thirdparty/gporca
        url = https://github.com/greenplum-db/gporca.git
 [submodule "src/pl/plr"]
        path = src/pl/plr

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0e62247f/depends/thirdparty/.gitignore
----------------------------------------------------------------------
diff --git a/depends/thirdparty/.gitignore b/depends/thirdparty/.gitignore
index 6c21398..2fc21c9 100644
--- a/depends/thirdparty/.gitignore
+++ b/depends/thirdparty/.gitignore
@@ -1 +1,5 @@
 pg_prepare_timestamp
+orca_prepare_timestamp
+gp-xerces_build_timestamp
+gporca_build_timestamp
+gpos_build_timestamp

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0e62247f/depends/thirdparty/gp-xerces
----------------------------------------------------------------------
diff --git a/depends/thirdparty/gp-xerces b/depends/thirdparty/gp-xerces
new file mode 160000
index 0000000..f07c17d
--- /dev/null
+++ b/depends/thirdparty/gp-xerces
@@ -0,0 +1 @@
+Subproject commit f07c17da813f44d8da17067a76491ca4b1deb02f

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0e62247f/depends/thirdparty/gporca
----------------------------------------------------------------------
diff --git a/depends/thirdparty/gporca b/depends/thirdparty/gporca
new file mode 160000
index 0000000..f0532b1
--- /dev/null
+++ b/depends/thirdparty/gporca
@@ -0,0 +1 @@
+Subproject commit f0532b19c22c86e6959ae35fb9568096b7d666f9

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0e62247f/depends/thirdparty/gpos
----------------------------------------------------------------------
diff --git a/depends/thirdparty/gpos b/depends/thirdparty/gpos
new file mode 160000
index 0000000..91fa636
--- /dev/null
+++ b/depends/thirdparty/gpos
@@ -0,0 +1 @@
+Subproject commit 91fa636d53ad71d56a4beae55e3ed1fb6d6f8f92

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0e62247f/src/backend/.gitignore
----------------------------------------------------------------------
diff --git a/src/backend/.gitignore b/src/backend/.gitignore
index 00b1901..e26100d 100644
--- a/src/backend/.gitignore
+++ b/src/backend/.gitignore
@@ -1,6 +1,2 @@
 postgres
 postgres.def
-*timestamp
-gporca/
-gpos/
-gp-xerces/

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0e62247f/src/backend/Makefile
----------------------------------------------------------------------
diff --git a/src/backend/Makefile b/src/backend/Makefile
index 8643775..a90443a 100644
--- a/src/backend/Makefile
+++ b/src/backend/Makefile
@@ -49,13 +49,15 @@ LIBS := $(filter-out -lpgport, $(LIBS)) $(LDAP_LIBS_BE) 
$(CONNECTEMCLIB)
 LIBS := $(filter-out -lreadline -ledit -ltermcap -lncurses -lcurses, $(LIBS))
 LIBS := -lprotobuf -lboost_system -lboost_date_time -lstdc++ -lhdfs3 -lgsasl 
-lxml2 $(LIBS)
 
+ORCA_BLD_PATH=$(abs_top_builddir)/depends/thirdparty
+
 # adding orca libraries
 ifeq ($(enable_orca),yes)
-LIBGPOS_DIR = $(abs_top_builddir)/$(subdir)/gpos/build/install/$(prefix)/lib
-LIBXERCES_DIR = 
$(abs_top_builddir)/$(subdir)/gp-xerces/build/install/$(prefix)/lib
-LIBNAUCRATES_DIR = 
$(abs_top_builddir)/$(subdir)/gporca/build/install/$(prefix)/lib
-LIBGPDBCOST_DIR = 
$(abs_top_builddir)/$(subdir)/gporca/build/install/$(prefix)/lib
-LIBGPOPT_DIR = $(abs_top_builddir)/$(subdir)/gporca/build/install/$(prefix)/lib
+LIBGPOS_DIR = $(ORCA_BLD_PATH)/gpos/build/install/$(prefix)/lib
+LIBXERCES_DIR = $(ORCA_BLD_PATH)/gp-xerces/build/install/$(prefix)/lib
+LIBNAUCRATES_DIR = $(ORCA_BLD_PATH)/gporca/build/install/$(prefix)/lib
+LIBGPDBCOST_DIR = $(ORCA_BLD_PATH)/gporca/build/install/$(prefix)/lib
+LIBGPOPT_DIR = $(ORCA_BLD_PATH)/gporca/build/install/$(prefix)/lib
 
 LIBS := $(LIBS) -L$(LIBGPOS_DIR) -lgpos
 LIBS := $(LIBS) -L$(LIBXERCES_DIR) -lxerces-c
@@ -85,91 +87,56 @@ XERCES_LIB_FILE=libxerces-c.so
 GPOS_LIB_FILE=libgpos.so
 endif
 
-GPORCA_SRC_PATH := $(abs_top_srcdir)/$(subdir)/gporca
-GPOS_SRC_PATH := $(abs_top_srcdir)/$(subdir)/gpos
-GP_XERCES_SRC_PATH := $(abs_top_srcdir)/$(subdir)/gp-xerces
+ORCA_SRC_PATH=$(abs_top_srcdir)/depends/thirdparty
+
+GPORCA_SRC_PATH := $(ORCA_SRC_PATH)/gporca
+GPOS_SRC_PATH := $(ORCA_SRC_PATH)/gpos
+GP_XERCES_SRC_PATH := $(ORCA_SRC_PATH)/gp-xerces
 
-submake-gporca: submake-gpos submake-gp-xerces gporca_prepare
-ifneq ($(prefix),)
-       if [ ! -f gporca_build_timestamp ]; then \
-               rm -rf gporca/build; mkdir -p gporca/build; cd gporca/build; \
+submake-gporca: submake-gpos submake-gp-xerces orca_prepare
+       if [ ! -f $(ORCA_BLD_PATH)/gporca_build_timestamp ]; then \
+               rm -rf $(ORCA_BLD_PATH)/gporca/build; mkdir -p 
$(ORCA_BLD_PATH)/gporca/build; cd $(ORCA_BLD_PATH)/gporca/build; mkdir -p 
install; \
                cmake $(GPORCA_SRC_PATH) -DCMAKE_INSTALL_PREFIX=$(prefix) \
-                       
-DXERCES_INCLUDE_DIR=$(abs_top_builddir)/$(subdir)/gp-xerces/build/install/$(prefix)/include
 \
-                       
-DXERCES_LIBRARY=$(abs_top_builddir)/$(subdir)/gp-xerces/build/install/$(prefix)/lib/$(XERCES_LIB_FILE)
 \
-                       
-DGPOS_INCLUDE_DIR=$(abs_top_builddir)/$(subdir)/gpos/build/install/$(prefix)/include
 \
-                       
-DGPOS_LIBRARY=$(abs_top_builddir)/$(subdir)/gpos/build/install/$(prefix)/lib/$(GPOS_LIB_FILE)
 && \
-               $(MAKE) 
DESTDIR=$(abs_top_builddir)/$(subdir)/gporca/build/install install && \
-               touch ../../gporca_build_timestamp; \
-       fi
-else
-       if [ ! -f gporca_build_timestamp ]; then \
-               rm -rf gporca/build; mkdir -p gporca/build; cd gporca/build; \
-               cmake $(ORCA_SRC_PATH) \
-                       
-DXERCES_INCLUDE_DIR=$(abs_top_builddir)/$(subdir)/gp-xerces/build/install/$(prefix)/include
 \
-                       
-DXERCES_LIBRARY=$(abs_top_builddir)/$(subdir)/gp-xerces/build/install/$(prefix)/lib/$(XERCES_LIB_FILE)
 \
-                       
-DGPOS_INCLUDE_DIR=$(abs_top_builddir)/$(subdir)/gpos/build/install/$(prefix)/include
 \
-                       
-DGPOS_LIBRARY=$(abs_top_builddir)/$(subdir)/gpos/build/install/$(prefix)/lib/$(GPOS_LIB_FILE)
 && \
-               $(MAKE) 
DESTDIR=$(abs_top_builddir)/$(subdir)/gporca/build/install install && \
-               touch ../../gporca_build_timestamp; \
+                       
-DXERCES_INCLUDE_DIR=$(ORCA_BLD_PATH)/gp-xerces/build/install/$(prefix)/include 
\
+                       
-DXERCES_LIBRARY=$(ORCA_BLD_PATH)/gp-xerces/build/install/$(prefix)/lib/$(XERCES_LIB_FILE)
 \
+                       
-DGPOS_INCLUDE_DIR=$(ORCA_BLD_PATH)/gpos/build/install/$(prefix)/include \
+                       
-DGPOS_LIBRARY=$(ORCA_BLD_PATH)/gpos/build/install/$(prefix)/lib/$(GPOS_LIB_FILE)
 && \
+               $(MAKE) DESTDIR=$(ORCA_BLD_PATH)/gporca/build/install install 
&& \
+               touch $(ORCA_BLD_PATH)/gporca_build_timestamp; \
        fi
-endif
 
-submake-gpos: gporca_prepare
-ifneq ($(prefix),)
-       if [ ! -f gpos_build_timestamp ]; then \
-               rm -rf gpos/build; mkdir -p gpos/build; cd gpos/build; mkdir -p 
install; \
+submake-gpos: orca_prepare
+       if [ ! -f $(ORCA_BLD_PATH)/gpos_build_timestamp ]; then \
+               rm -rf $(ORCA_BLD_PATH)/gpos/build; mkdir -p 
$(ORCA_BLD_PATH)/gpos/build; cd $(ORCA_BLD_PATH)/gpos/build; mkdir -p install; \
                cmake $(GPOS_SRC_PATH) -DCMAKE_INSTALL_PREFIX=$(prefix) && \
-               $(MAKE) 
DESTDIR=$(abs_top_builddir)/$(subdir)/gpos/build/install install && \
-               touch ../../gpos_build_timestamp; \
-       fi
-else
-       if [ ! -f gpos_build_timestamp ]; then \
-               rm -rf gpos/build; mkdir -p gpos/build; cd gpos/build; mkdir -p 
install; \
-               cmake $(GPOS_SRC_PATH) && \
-               $(MAKE) 
DESTDIR=$(abs_top_builddir)/$(subdir)/gpos/build/install install && \
-               touch ../../gpos_build_timestamp; \
+               $(MAKE) DESTDIR=$(ORCA_BLD_PATH)/gpos/build/install install && \
+               touch $(ORCA_BLD_PATH)/gpos_build_timestamp; \
        fi
-endif
 
-submake-gp-xerces: submake-gpos gporca_prepare
-ifneq ($(prefix),)
-       if [ ! -f gp-xerces_build_timestamp ]; then \
-               rm -rf gp-xerces/build; mkdir -p gp-xerces/build; cd 
gp-xerces/build; mkdir -p install; \
-               $(GP_XERCES_SRC_PATH)/configure --prefix=$(prefix); \
-               $(MAKE) 
DESTDIR=$(abs_top_builddir)/$(subdir)/gp-xerces/build/install install && \
-               touch ../../gp-xerces_build_timestamp; \
-       fi
-else
-       if [ ! -f gp-xerces_build_timestamp ]; then \
-               rm -rf gp-xerces/build; mkdir -p gp-xerces/build; cd 
gp-xerces/build; mkdir -p install; \
+submake-gp-xerces: submake-gpos orca_prepare
+       if [ ! -f $(ORCA_BLD_PATH)/gp-xerces_build_timestamp ]; then \
+               rm -rf $(ORCA_BLD_PATH)/gp-xerces/build; mkdir -p 
$(ORCA_BLD_PATH)/gp-xerces/build; cd $(ORCA_BLD_PATH)/gp-xerces/build; mkdir -p 
install; \
                $(GP_XERCES_SRC_PATH)/configure --prefix=$(prefix); \
-               $(MAKE) 
DESTDIR=$(abs_top_builddir)/$(subdir)/gp-xerces/build/install install && \ 
-               touch ../../gp-xerces_build_timestamp; \
+               $(MAKE) DESTDIR=$(ORCA_BLD_PATH)/gp-xerces/build/install 
install && \
+               touch $(ORCA_BLD_PATH)/gp-xerces_build_timestamp; \
        fi
-endif
 
-gporca_prepare:
-       if [ ! -f $(abs_top_builddir)/$(subdir)/gporca_prepare_timestamp ]; 
then \
+orca_prepare:
+       if [ ! -f $(ORCA_BLD_PATH)/orca_prepare_timestamp ]; then \
                        cd $(abs_top_srcdir); \
-                       git submodule update --init $(subdir)/gporca && \
-                       git submodule update --init $(subdir)/gp-xerces && \
-                       git submodule update --init $(subdir)/gpos && \
-                       touch 
$(abs_top_builddir)/$(subdir)/gporca_prepare_timestamp; \
+                       git submodule update --init depends/thirdparty/gporca 
&& \
+                       git submodule update --init 
depends/thirdparty/gp-xerces && \
+                       git submodule update --init depends/thirdparty/gpos && \
+                       touch $(ORCA_BLD_PATH)/orca_prepare_timestamp; \
        fi
 
 submake-libdxltranslators: submake-gporca
        $(MAKE) -C gpopt all
 
-# No distclean for gpor & gpos by now.
-distclean_gporca:
-       rm -rf gporca/build gporca_*_timestamp
-       rm -rf gpos/build gpos_*_timestamp
-       rm -rf gp-xerces/build gp-xerces_*_timestamp
-
-.PHONY: submake-gporca submake-gpos submake-gp-xerces distclean_gporca 
gporca_prepare
+.PHONY: submake-gporca submake-gpos submake-gp-xerces orca_prepare
 
 else
-submake-libdxltranslators distclean_gporca:
+submake-libdxltranslators:
 endif # enable_orca
 
 all: submake-libpgport postgres $(POSTGRES_IMP)
@@ -319,10 +286,10 @@ endif
        ${INSTALL_DATA} $(srcdir)/utils/misc/etc/template-hawq-site.xml 
${sysconfdir}
        ${INSTALL_DATA} $(srcdir)/utils/misc/etc/gpcheck.cnf ${sysconfdir}
 ifeq ($(enable_orca), yes)
+       $(MAKE) -C $(ORCA_BLD_PATH)/gporca/build $@
+       $(MAKE) -C $(ORCA_BLD_PATH)/gpos/build $@
+       $(MAKE) -C $(ORCA_BLD_PATH)/gp-xerces/build $@
        $(MAKE) -C gpopt $@ INSTLOC=$(DESTDIR)$(libdir)
-       $(MAKE) -C gporca/build $@
-       $(MAKE) -C gpos/build $@
-       $(MAKE) -C gp-xerces/build $@
 endif
 
 install-bin: postgres $(POSTGRES_IMP) installdirs
@@ -398,8 +365,12 @@ endif
        find gpopt -name *.o | xargs rm -rf
        find gpopt -name *.so | xargs rm -rf
        find gpopt -name *.dylib | xargs rm -rf
+       rm -rf $(ORCA_BLD_PATH)/gporca/build 
$(ORCA_BLD_PATH)/gporca_build_timestamp
+       rm -rf $(ORCA_BLD_PATH)/gpos/build $(ORCA_BLD_PATH)/gpos_build_timestamp
+       rm -rf $(ORCA_BLD_PATH)/gp-xerces/build 
$(ORCA_BLD_PATH)/gp-xerces_build_timestamp
+       rm -f $(ORCA_BLD_PATH)/orca_prepare_timestamp
 
-distclean: clean distclean_gporca
+distclean: clean
        rm -f port/tas.s port/dynloader.c port/pg_sema.c port/pg_shmem.c
 
 maintainer-clean: distclean

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0e62247f/src/backend/gp-xerces
----------------------------------------------------------------------
diff --git a/src/backend/gp-xerces b/src/backend/gp-xerces
deleted file mode 160000
index f07c17d..0000000
--- a/src/backend/gp-xerces
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f07c17da813f44d8da17067a76491ca4b1deb02f

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0e62247f/src/backend/gpopt/Makefile
----------------------------------------------------------------------
diff --git a/src/backend/gpopt/Makefile b/src/backend/gpopt/Makefile
index 58d97fa..d974969 100644
--- a/src/backend/gpopt/Makefile
+++ b/src/backend/gpopt/Makefile
@@ -39,30 +39,24 @@ else
        GPOPT_UDF_FLAGS := -shared
 endif
 
-LIBGPOS_DIR = ../gpos/build/install/$(prefix)/lib
-LIBXERCES_DIR = ../gp-xerces/build/install/$(prefix)/lib
-LIBNAUCRATES_DIR = ../gporca/build/install/$(prefix)/lib
-LIBGPDBCOST_DIR = ../gporca/build/install/$(prefix)/lib
-LIBGPOPT_DIR = ../gporca/build/install/$(prefix)/lib
-
 include $(top_srcdir)/src/backend/common.mk
 
 libdxltranslators.$(LDSFX): $(SUBDIROBJS) $(OBJS)
        $(CXX) $(CXXFLAGS) $(LDLIBFLAGS) \
-         -L$(LIBGPOS_DIR) -lgpos \
-         -L$(LIBXERCES_DIR) -lxerces-c \
-         -L$(LIBNAUCRATES_DIR) -lnaucrates \
-         -L$(LIBGPDBCOST_DIR) -lgpdbcost \
-         -L$(LIBGPOPT_DIR) -lgpopt -lpthread -o $@ \
+         -L$(LIBGPOS_DIR)/lib -lgpos \
+         -L$(LIBXERCES_DIR)/lib -lxerces-c \
+         -L$(LIBNAUCRATES_DIR)/lib -lnaucrates \
+         -L$(LIBGPDBCOST_DIR)/lib -lgpdbcost \
+         -L$(LIBGPOPT_DIR)/lib -lgpopt -lpthread -o $@ \
          $(SUBDIROBJS) $(OBJS)
 
 libgpoptudf.$(LDSFX): $(SUBDIROBJS)
        $(CXX) $(CXXFLAGS) $(GPOPT_UDF_FLAGS) \
-         -L$(LIBXERCES_DIR) -lxerces-c \
-         -L$(LIBGPOS_DIR) -lgpos \
-         -L$(LIBNAUCRATES_DIR) -lnaucrates \
-         -L$(LIBGPDBCOST_DIR) -lgpdbcost \
-         -L$(LIBGPOPT_DIR) -lgpopt \
+         -L$(LIBXERCES_DIR)/lib -lxerces-c \
+         -L$(LIBGPOS_DIR)/lib -lgpos \
+         -L$(LIBNAUCRATES_DIR)/lib -lnaucrates \
+         -L$(LIBGPDBCOST_DIR)/lib -lgpdbcost \
+         -L$(LIBGPOPT_DIR)/lib -lgpopt \
          -o $@ ./utils/funcs.o
 
 install:

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0e62247f/src/backend/gpopt/gpopt.mk
----------------------------------------------------------------------
diff --git a/src/backend/gpopt/gpopt.mk b/src/backend/gpopt/gpopt.mk
index c21f27e..2fffc22 100644
--- a/src/backend/gpopt/gpopt.mk
+++ b/src/backend/gpopt/gpopt.mk
@@ -60,10 +60,12 @@ XERCES_VER  = $(shell grep "\"xerces-c\""   $(GREP_SED_VAR))
 LIBGPOS_VER = $(shell grep "\"libgpos\""    $(GREP_SED_VAR))
 OPTIMIZER_VER = $(shell grep "\"optimizer\""  $(GREP_SED_VAR))
 
-LIBGPOS_DIR = $(abs_top_builddir)/src/backend/gpos/build/install/$(prefix)
-LIBXERCES_DIR = 
$(abs_top_builddir)/src/backend/gp-xerces/build/install/$(prefix)
-LIBNAUCRATES_DIR = 
$(abs_top_builddir)/src/backend/gporca/build/install/$(prefix)
-LIBGPDBCOST_DIR = 
$(abs_top_builddir)/src/backend/gporca/build/install/$(prefix)
+ORCA_BLD_PATH=$(abs_top_builddir)/depends/thirdparty
+
+LIBGPOS_DIR = $(ORCA_BLD_PATH)/gpos/build/install/$(prefix)
+LIBXERCES_DIR = $(ORCA_BLD_PATH)/gp-xerces/build/install/$(prefix)
+LIBNAUCRATES_DIR = $(ORCA_BLD_PATH)/gporca/build/install/$(prefix)
+LIBGPDBCOST_DIR = $(ORCA_BLD_PATH)/gporca/build/install/$(prefix)
 LIBGPOPT_DIR = $(abs_top_builddir)/src/backend/gpopt/build/install/$(prefix)
 
 BLD_FLAGS = $(ARCH_FLAGS) -D$(ARCH_BIT) -D$(ARCH_CPU) -D$(ARCH_OS) 
$(GPOPT_flags)

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0e62247f/src/backend/gporca
----------------------------------------------------------------------
diff --git a/src/backend/gporca b/src/backend/gporca
deleted file mode 160000
index f0532b1..0000000
--- a/src/backend/gporca
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f0532b19c22c86e6959ae35fb9568096b7d666f9

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0e62247f/src/backend/gpos
----------------------------------------------------------------------
diff --git a/src/backend/gpos b/src/backend/gpos
deleted file mode 160000
index 91fa636..0000000
--- a/src/backend/gpos
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 91fa636d53ad71d56a4beae55e3ed1fb6d6f8f92

Reply via email to