You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by rv...@apache.org on 2016/05/19 15:14:42 UTC
[35/51] [partial] incubator-geode git commit: Add source for geode
c++ and .net clients
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/makefiles/test_executables.gmk
----------------------------------------------------------------------
diff --git a/geode-client-native/makefiles/test_executables.gmk b/geode-client-native/makefiles/test_executables.gmk
new file mode 100755
index 0000000..b622b40
--- /dev/null
+++ b/geode-client-native/makefiles/test_executables.gmk
@@ -0,0 +1,233 @@
+include $(BASEDIR)/makefiles/platform.gmk
+
+ifdef WINDOWS
+ EXE = .exe
+ OBJ = .obj
+else
+ EXE =
+ OBJ = .o
+endif
+# dirs
+
+ifeq ($(VARIANT),FAST)
+ OBJDIR = $(OSBUILDDIR)/tests/objects/$(SUITE)
+# DESTDIR = $(OSBUILDDIR)/hidden/bin
+else
+ OBJDIR = $(OSBUILDDIR)/tests/objects_g/$(SUITE)
+# DESTDIR = $(OSBUILDDIR)/hidden/bin/debug
+endif
+
+# objects
+
+DIRS = .
+
+FILES_CPP := $(subst ./,,$(sort $(foreach dir,$(DIRS),$(wildcard $(dir)/*.cpp))))
+SRC_INCLUDES := $(foreach file_include,. $(OSBUILDDIR)/product/include $(OSBUILDDIR)/product/include/gfcpp $(BASEDIR)/src/com/gemstone/gemfire/internal/cppcache/impl $(BASEDIR)/tests/fwklib $(BASEDIR)/tests,-I$(call NATIVEDIR_FUNC,$(file_include)))
+#SRC_INCLUDES := -I. -I$(OSBUILDDIR)/product/include -I$(OSBUILDDIR)/product/include/gfcpp -I$(BASEDIR)/src/com/gemstone/gemfire/internal/cppcache/impl -I$(BASEDIR)/tests/fwklib -I$(BASEDIR)/tests
+
+FILES_EXE = $(foreach src,$(BUILD_EXES),$(OBJDIR)/$(src)$(EXE))
+
+executables: $(FILES_EXE)
+
+ifdef WINDOWS
+#####################
+# WINDOWS
+CXX = cl
+#WARN_OPTIONS = /Wall /WX
+WARN_OPTIONS =
+WINVER = 0x0500
+SLOW_OPTIONS = /MDd /Od $(CFLAGS$(VCVER)) /RTC1 /Zi -DDEBUG=1 -DASSERT_LEVEL=4
+FAST_OPTIONS = /MD /Ox $(CFLAGS$(VCVER)) -DNDEBUG=1 -DASSERT_LEVEL=1
+CXX_OPTIONS = /nologo $($(VARIANT)_OPTIONS) $(WARN_OPTIONS) /Fd$(OBJDIR)/$(LIBRARY).pdb
+CXX_OPTIONS += /GR /EHac
+CXX_OPTIONS += /DWINVER=0x0500 /D_WIN32_WINNT=0x0500
+CXX_OPTIONS += /Fe$@
+FAST_TP_LIBS = $(ACEDIR)/lib/ACE.lib $(XERCESDIR)/lib/xerces-c.lib
+SLOW_TP_LIBS = $(ACEDIR)/lib/ACEd.lib $(XERCESDIR)/lib/xerces-c.lib
+FAST_LIBS_TMP = $($(VARIANT)_TP_LIBS) $(OSBUILDDIR)/product/lib/gfcppcache.lib $(OSBUILDDIR)/framework/lib/framework.lib
+SLOW_LIBS_TMP = $($(VARIANT)_TP_LIBS) $(OSBUILDDIR)/hidden/lib/debug/gfcppcache.lib $(OSBUILDDIR)/framework/lib/debug/framework.lib
+LIBS = $(foreach lib,$($(VARIANT)_LIBS_TMP),$(call NATIVEDIR_FUNC,$(lib)))
+# windows/microsoft libraries.
+LIBS += wsock32.lib netapi32.lib advapi32.lib comdlg32.lib user32.lib gdi32.lib kernel32.lib winspool.lib
+ifeq ($(VCVER),vc8)
+ LIBS += mscoree.lib
+endif
+FAST_LD_OPTIONS =
+SLOW_LD_OPTIONS = -debug
+LIB_PATH =
+LINK_OPTIONS = /link -OPT:REF -INCREMENTAL:NO -MAP $($(VARIANT)_LD_OPTIONS)
+LIB_OPTIONS = $(LIB_PATH) $(LIBS)
+ifeq ($(VCVER),vc8)
+ MT_COMMAND = mt /nologo -manifest $(call NATIVEDIR_FUNC,$@).manifest -outputresource:$(call NATIVEDIR_FUNC,$@)
+endif
+#
+#####################
+else
+ifdef LINUX
+#####################
+# LINUX
+CXX = $(GccCCompiler)
+#WARN_OPTIONS = -Wall -Wno-long-long
+WARN_OPTIONS = -Wswitch \
+ -Wunused-variable -Wcomments \
+ -Wparentheses -Wsign-compare -Wconversion -Wno-long-long
+NOT_USED = \
+ -W -Wabi -Woverloaded-virtual -Wundef \
+ -Wpointer-arith -Wold-style-cast -Wcast-qual -Wcast-align -Wwrite-strings \
+ -Wconversion -Wno-long-long -Wdisabled-optimization -Wcomment -Wtrigraphs \
+ -Wimport -Winline -Werror
+
+ifdef USE_SMARTHEAP
+ SMARTHEAP_OPTIONS = -DUSE_SMARTHEAP=1
+ SMARTHEAP_DIR = /export/cplusplus/users/thirdparty/linux/smartheap_7.4
+ SMARTHEAP_LINK = $(SMARTHEAP_DIR)/lib/libsmartheap_mtd.a $(SMARTHEAP_DIR)/lib/libsmartheapC_mtd.a -Bdynamic
+endif
+
+STATICCXX_OPTIONS = $(CFLAGS_MODEL) $(FPIC) -ansi -fno-nonansi-builtins \
+ -ftemplate-depth-17 -D_LINUX \
+ $(SMARTHEAP_OPTIONS) \
+ $($(VARIANT)_OPTIONS) $(WARN_OPTIONS) -D_REENTRANT -D_LARGEFILE64_SOURCE \
+ -D_REENTRANT -o $(subst /tests/objects/fwkbin,/framework/bin/static,$@)
+CXX_OPTIONS = $(CFLAGS_MODEL) $(FPIC) -MD -ansi -fno-nonansi-builtins -ftemplate-depth-17 -D_LINUX \
+ $(SMARTHEAP_OPTIONS) \
+ $($(VARIANT)_OPTIONS) $(WARN_OPTIONS) -D_REENTRANT -D_LARGEFILE64_SOURCE -D_REENTRANT -o $@
+SLOW_OPTIONS = -g -O0 -DDEBUG=1 -DASSERT_LEVEL=4 -fno-inline
+FAST_OPTIONS = -O3 -DNDEBUG=1 -DASSERT_LEVEL=1
+STATICLIBS = -Bsymbolic $(OSBUILDDIR)/product/lib/libgfcppcache.a $(SMARTHEAP_LINK) -ldl -lm -ldl -lpthread -lc -lstdc++ -lxerces-c -lframework -l$(ACELINKNAME)
+LIBS = $(SMARTHEAP_LINK) -ldl -lm -ldl -lpthread -lc -lstdc++ -lxerces-c -lframework -lgfcppcache -l$(ACELINKNAME)
+FAST_LD_OPTIONS =
+SLOW_LD_OPTIONS =
+TP_LIB_PATH = -L$(XERCESDIR)/lib
+FAST_LIB_PATH = -L$(OSBUILDDIR)/product/lib -L$(OSBUILDDIR)/framework/lib -L$(OSBUILDDIR)/hidden/lib
+SLOW_LIB_PATH = -L$(OSBUILDDIR)/framework/lib/debug -L$(OSBUILDDIR)/hidden/lib/debug -L$(OSBUILDDIR)/hidden/lib -L$(OSBUILDDIR)/product/lib
+STATICLIB_PATH = $(TP_LIB_PATH) -L$(OSBUILDDIR)/product/lib -L$(OSBUILDDIR)/framework/lib/static -L$(OSBUILDDIR)/hidden/lib
+LIB_PATH = $(TP_LIB_PATH) $($(VARIANT)_LIB_PATH)
+LINK_OPTIONS = $(CFLAGS_MODEL) $($(VARIANT)_LD_OPTIONS)
+STATICLIB_OPTIONS = $(STATICLIB_PATH) $(STATICLIBS)
+LIB_OPTIONS = $(LIB_PATH) $(LIBS)
+#STATICLINK_COMMAND = g++ -o $@_static $(LINK_OPTIONS) $(FILES_O) $(SMARTHEAP_LINK) $(LIB_OPTIONS)
+#LINK_COMMAND = g++ -o $@ $(LINK_OPTIONS) $(FILES_O) $(SMARTHEAP_LINK) $(LIB_OPTIONS)
+#
+#####################
+else
+ifdef SOLARIS
+#####################
+# SOLARIS
+UNAME_P := $(shell uname -p)
+ ifeq ($(UNAME_P),sparc)
+ HOSTTYPE_OSTYPE=sparc.Solaris
+ else
+ HOSTTYPE_OSTYPE=x86.Solaris
+ endif
+
+CXX = $(SunCompilerDir)/CC
+WARN_OPTIONS =
+
+ifdef USE_CPP11
+ CFLAGS_STD = -std=c++11
+else
+# TODO jbarrett ???? CFLAGS_STD = -library=no%Cstd,no%iostream
+endif
+
+STATICCXX_OPTIONS = $(CFLAGS_MODEL) $(CFLAGS_STD) \
+ -mt -KPIC -D_SOLARIS \
+ $(SMARTHEAP_OPTIONS) \
+ $($(VARIANT)_OPTIONS) $(WARN_OPTIONS) -D_REENTRANT -D_LARGEFILE64_SOURCE \
+ -D_RWSTD_MULTI_THREAD -DTHREAD=MULTI \
+ -o $(subst /tests/objects/fwkbin,/framework/bin/static,$@)
+
+CXX_OPTIONS = $(CFLAGS_MODEL) $(CFLAGS_STD) \
+ -mt -KPIC -D_SOLARIS -xMD \
+ $(SMARTHEAP_OPTIONS) \
+ $($(VARIANT)_OPTIONS) $(WARN_OPTIONS) -D_REENTRANT -D_LARGEFILE64_SOURCE \
+ -D_RWSTD_MULTI_THREAD -DTHREAD=MULTI \
+ -o $@
+
+ifeq ($(HOSTTYPE_OSTYPE), sparc.Solaris)
+ STATICCXX_OPTIONS += -D_SPARC_SOLARIS
+#TODO jbarrett STATICCXX_OPTIONS += -dalign
+#TODO jbarrett STATICCXX_OPTIONS += -xmemalign=4s
+
+ CXX_OPTIONS += -D_SPARC_SOLARIS
+#TODO jbarrett CXX_OPTIONS += -xmemalign=4s
+else
+ STATICCXX_OPTIONS += -D_X86_SOLARIS
+ CXX_OPTIONS += -D_X86_SOLARIS
+endif
+
+SLOW_OPTIONS = -g -O0 -DDEBUG=1 -DASSERT_LEVEL=4
+FAST_OPTIONS = -O3 -DNDEBUG=1 -DASSERT_LEVEL=1
+STATICLIBS = $(OSBUILDDIR)/product/lib/libgfcppcache.a $(SMARTHEAP_LINK) -ldl -lpthread -lc -lxerces-c -lframework -l$(ACELINKNAME) -lrt -lnsl -lsocket -ldemangle
+LIBS = $(SMARTHEAP_LINK) -ldl -lpthread -lc -lxerces-c -lframework -lgfcppcache -l$(ACELINKNAME) -lrt -lnsl -lsocket -ldemangle
+FAST_LD_OPTIONS =
+SLOW_LD_OPTIONS =
+##TP_LIB_PATH = -L$(ACEDIR)/lib -L$(XERCESDIR)/lib
+TP_LIB_PATH = -L$(XERCESDIR)/lib
+FAST_LIB_PATH = -L$(OSBUILDDIR)/product/lib -L$(OSBUILDDIR)/framework/lib -L$(OSBUILDDIR)/hidden/lib
+SLOW_LIB_PATH = -L$(OSBUILDDIR)/framework/lib/debug -L$(OSBUILDDIR)/hidden/lib/debug -L$(OSBUILDDIR)/hidden/lib -L$(OSBUILDDIR)/product/lib
+STATICLIB_PATH = $(TP_LIB_PATH) -L$(OSBUILDDIR)/product/lib -L$(OSBUILDDIR)/framework/lib/static -L$(OSBUILDDIR)/hidden/lib
+LIB_PATH = $(TP_LIB_PATH) $($(VARIANT)_LIB_PATH)
+LINK_OPTIONS = $($(VARIANT)_LD_OPTIONS)
+STATICLIB_OPTIONS = $(STATICLIB_PATH) $(STATICLIBS)
+LIB_OPTIONS = $(LIB_PATH) $(LIBS)
+endif
+endif
+endif
+# -I$(STLPORTDIR)/stlport
+THIRD_PARTY_INCLUDES = -I$(XERCESDIR)/include -I$(ACEDIR)/include
+VERSION_INFO_DEFINES = \
+ '-DGEMFIRE_SOURCE_REVISION="$(GEMFIRE_SOURCE_REVISION)"' \
+ '-DGEMFIRE_SOURCE_REPOSITORY="$(GEMFIRE_SOURCE_REPOSITORY)"'
+STATICCXX_OPTIONS += -DACE_NLOGGING -DACE_NDEBUG -D__ACE_INLINE__
+STATICCXX_OPTIONS += $(VERSION_INFO_DEFINES)
+STATICCXX_OPTIONS += $(CPP_OPTIONS)
+STATICCXX_OPTIONS += $(THIRD_PARTY_INCLUDES) $(SRC_INCLUDES)
+CXX_OPTIONS += -DACE_NLOGGING -DACE_NDEBUG -D__ACE_INLINE__
+CXX_OPTIONS += $(VERSION_INFO_DEFINES)
+CXX_OPTIONS += $(CPP_OPTIONS)
+CXX_OPTIONS += $(THIRD_PARTY_INCLUDES) $(SRC_INCLUDES)
+
+ifdef WINDOWS
+STATICCXX_COMPILE=
+else
+STATICCXX_COMPILE = XXX $(CXX) $(STATICCXX_OPTIONS) $(CURRENTDIR)/$< $(LINK_OPTIONS) $(STATICLIB_OPTIONS)
+endif
+
+ifeq ($(CPPDEVEL),1)
+ CXX_OPTIONS += -DGF_DEVEL_ASSERTS=1
+endif
+
+CXX_COMPILE = $(CXX) $(CXX_OPTIONS) $(CURRENTDIR)/$< $(LINK_OPTIONS) $(LIB_OPTIONS)
+
+showCompileCommand:
+ @echo "compile command: $(CXX_COMPILE)"
+
+$(OBJDIR)/%$(EXE): %.cpp
+ @echo mkdir -p $(dir $@)
+ @mkdir -p $(dir $@)
+ $(CXX_COMPILE)
+ @echo $(MT_COMMAND)
+ @$(MT_COMMAND)
+
+
+## @echo $(STATICCXX_COMPILE)
+## @$(STATICCXX_COMPILE)
+# target setup
+
+all: makeslow makefast
+
+makeslow:
+ @$(MAKE) VARIANT=SLOW executables
+
+makefast:
+ @$(MAKE) VARIANT=FAST executables
+
+# dependency checking
+
+-include $(FILES_o:.o=.d)
+
+# phony list targets that are not in the filesystem.
+
+.phony += all showCompileCommand executables
+
+
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/makefiles/test_library.gmk
----------------------------------------------------------------------
diff --git a/geode-client-native/makefiles/test_library.gmk b/geode-client-native/makefiles/test_library.gmk
new file mode 100755
index 0000000..d3935fc
--- /dev/null
+++ b/geode-client-native/makefiles/test_library.gmk
@@ -0,0 +1,173 @@
+include $(BASEDIR)/makefiles/platform.gmk
+
+# dirs
+
+ifeq ($(VARIANT),FAST)
+ OBJDIR = $(OSBUILDDIR)/tests/objects/$(LIBRARY)
+else
+ OBJDIR = $(OSBUILDDIR)/tests/objects_g/$(LIBRARY)
+endif
+
+# objects
+
+DIRS := $(sort $(shell find . -type d \( -name ".git" -prune -o -print \)))
+
+FILES_CPP := $(subst ./,,$(sort $(foreach dir,$(DIRS),$(wildcard $(dir)/*.cpp))))
+
+SRC_INCLUDES := $(foreach file_include,. $(OSBUILDDIR)/product/include $(OSBUILDDIR)/product/include/gfcpp $(BASEDIR)/src/com/gemstone/gemfire/internal/cppcache/impl $(BASEDIR)/tests/fwklib $(BASEDIR)/tests,-I$(call NATIVEDIR_FUNC,$(file_include)))
+
+FILES_O = $(foreach src,$(FILES_CPP),$(OBJDIR)/$(subst .cpp,$(OBJ),$(src)))
+
+ifdef WINDOWS
+#####################
+# WINDOWS
+#####################
+else
+ifdef LINUX
+#####################
+# LINUX
+CXX = $(GccCCompiler)
+#WARN_OPTIONS = -Wall -Wconversion -Wno-long-long
+WARN_OPTIONS = -Wswitch \
+ -Wunused-variable -Wcomments \
+ -Wparentheses -Wsign-compare -Wconversion -Wno-long-long
+NOT_USED = \
+ -W -Wabi -Woverloaded-virtual -Wundef \
+ -Wpointer-arith -Wold-style-cast -Wcast-qual -Wcast-align -Wwrite-strings \
+ -Wconversion -Wno-long-long -Wdisabled-optimization -Wcomment -Wtrigraphs \
+ -Wimport -Winline -Werror
+SLOW_OPTIONS = -g -O0 -DDEBUG=1 -DASSERT_LEVEL=4 -fno-inline
+FAST_OPTIONS = -O3 -DNDEBUG=1 -DASSERT_LEVEL=1
+CXX_OPTIONS = $(CFLAGS_MODEL) $(FPIC) -MD -c -ansi -fno-nonansi-builtins -ftemplate-depth-17 -D_LINUX \
+ $(WARN_OPTIONS) -D_REENTRANT -D_LARGEFILE64_SOURCE -D_REENTRANT $($(VARIANT)_OPTIONS) -o $@
+LIBS = -ldl -lm -lpthread -lc -lxerces-c $(XTRA_LIBS)
+FAST_LD_OPTIONS =
+SLOW_LD_OPTIONS =
+TP_LIB_PATH = -L$(XERCESDIR)/lib
+FAST_LIB_PATH = $(TP_LIB_PATH) -L$(OSBUILDDIR)/product/lib/ -L$(OSBUILDDIR)/framework/lib/ -L$(OSBUILDDIR)/hidden/lib/
+SLOW_LIB_PATH = $(TP_LIB_PATH) -L$(OSBUILDDIR)/framework/lib/debug/ -L$(OSBUILDDIR)/hidden/lib/debug -L$(OSBUILDDIR)/hidden/lib/ -L$(OSBUILDDIR)/product/lib/
+LIB_PATH = $($(VARIANT)_LIB_PATH) $(XTRA_LIB_PATHS)
+LINK_OPTIONS = $(CFLAGS_MODEL) --shared $($(VARIANT)_LD_OPTIONS)
+LIB_OPTIONS = $(LIB_PATH) $(LIBS)
+LINK_COMMAND = gcc -o $@ $(LINK_OPTIONS) $(FILES_O) $(LIB_OPTIONS)
+#
+#####################
+else
+ifdef SOLARIS
+#####################
+# SOLARIS
+ UNAME_P := $(shell uname -p)
+ ifeq ($(UNAME_P),sparc)
+ HOSTTYPE_OSTYPE=sparc.Solaris
+ else
+ HOSTTYPE_OSTYPE=x86.Solaris
+ endif
+
+CXX = $(SunCompilerDir)/CC
+WARN_OPTIONS =
+NOT_USED = \
+ -W -Wabi -Woverloaded-virtual -Wundef \
+ -Wpointer-arith -Wold-style-cast -Wcast-qual -Wcast-align -Wwrite-strings \
+ -Wconversion -Wno-long-long -Wdisabled-optimization -Wcomment -Wtrigraphs \
+ -Wimport -Winline -Werror
+SLOW_OPTIONS = -g -O0 -DDEBUG=1 -DASSERT_LEVEL=4
+FAST_OPTIONS = -O3 -DNDEBUG=1 -DASSERT_LEVEL=1
+
+ifdef USE_CPP11
+ CFLAGS_STD = -std=c++11 -DUSE_CPP11
+else
+ CFLAGS_STD = -library=Cstd
+endif
+
+CXX_OPTIONS = $(CFLAGS_MODEL) $(CFLAGS_STD) -c \
+ -mt -KPIC -xMD -D_SOLARIS \
+ -D_POSIX_PTHREAD_SEMANTICS \
+ -D_RWSTD_MULTI_THREAD -DTHREAD=MULTI \
+ $(WARN_OPTIONS) -D_REENTRANT -D_LARGEFILE64_SOURCE $($(VARIANT)_OPTIONS) -o $@
+
+ifeq ($(HOSTTYPE_OSTYPE), sparc.Solaris)
+ CXX_OPTIONS += -D_SPARC_SOLARIS
+ # TODO jbarrett - -dalign -D_POSIX_PTHREAD_SEMANTICS \
+ # TODO jbarrett - CXX_OPTIONS += -xmemalign=4s
+else
+ CXX_OPTIONS += -D_X86_SOLARIS
+endif
+
+LIBS = -ldl -lpthread -lc -lxerces-c -lsocket -lnsl -ldemangle $(XTRA_LIBS)
+FAST_LD_OPTIONS =
+SLOW_LD_OPTIONS =
+TP_LIB_PATH = -L$(XERCESDIR)/lib
+FAST_LIB_PATH = $(TP_LIB_PATH) -L$(OSBUILDDIR)/product/lib/ -L$(OSBUILDDIR)/framework/lib/ -L$(OSBUILDDIR)/hidden/lib/
+SLOW_LIB_PATH = $(TP_LIB_PATH) -L$(OSBUILDDIR)/framework/lib/debug/ -L$(OSBUILDDIR)/hidden/lib/debug -L$(OSBUILDDIR)/hidden/lib/ -L$(OSBUILDDIR)/product/lib/
+LIB_PATH = $($(VARIANT)_LIB_PATH) $(XTRA_LIB_PATHS)
+LINK_OPTIONS = -mt $(CFLAGS_MODEL) -G -KPIC $($(VARIANT)_LD_OPTIONS) $(CFLAGS_STD)
+
+ifdef USE_CPP11
+ LIBS += -lstdc++ -lgcc_s -lCrunG3
+else
+ LIBS += -lCstd -lCrun
+endif
+
+
+LIB_OPTIONS = $(LIB_PATH) $(LIBS)
+LINK_COMMAND = CC -o $@ $(LINK_OPTIONS) $(FILES_O) $(LIB_OPTIONS)
+#
+#####################
+endif
+endif
+endif
+THIRD_PARTY_INCLUDES = -I$(ACEDIR)/include -I$(XERCESDIR)/include
+VERSION_INFO_DEFINES = \
+ '-DGEMFIRE_SOURCE_REVISION="$(GEMFIRE_SOURCE_REVISION)"' \
+ '-DGEMFIRE_SOURCE_REPOSITORY="$(GEMFIRE_SOURCE_REPOSITORY)"'
+CXX_OPTIONS += -DACE_NLOGGING -DACE_NDEBUG -D__ACE_INLINE__
+CXX_OPTIONS += $(VERSION_INFO_DEFINES)
+CXX_OPTIONS += $(CPP_OPTIONS)
+CXX_OPTIONS += $(XTRA_INCS) $(THIRD_PARTY_INCLUDES) $(SRC_INCLUDES)
+
+ifeq ($(CPPDEVEL),1)
+ CXX_OPTIONS += -DGF_DEVEL_ASSERTS=1
+endif
+
+CXX_COMPILE = $(CXX) $(CXX_OPTIONS)
+
+showCompileCommand:
+ @echo "compile command: $(CXX_COMPILE)"
+
+$(OBJDIR)/%$(OBJ): %.cpp
+ @mkdir -p $(dir $@)
+ @echo $(CURRENTDIR)/$<
+ $(CXX_COMPILE) $(CURRENTDIR)/$<
+
+# target setup
+
+ifeq ($(VARIANT),FAST)
+ LIBFILE = $(OSBUILDDIR)/framework/lib/$(libPrefix)$(LIBRARY)$(libSuffix)
+else
+ LIBFILE = $(OSBUILDDIR)/framework/lib/debug/$(libPrefix)$(LIBRARY)$(libSuffix)
+endif
+
+library: $(LIBFILE)
+
+$(LIBFILE): showCompileCommand $(FILES_O)
+ @mkdir -p $(dir $@)
+ @echo linking...
+ $(LINK_COMMAND)
+ $(MT_COMMAND)
+
+all: makeslow makefast
+
+makeslow:
+ @$(MAKE) VARIANT=SLOW library
+
+makefast:
+ @$(MAKE) VARIANT=FAST library
+
+# dependency checking
+-include $(FILES_o:.o=.d)
+
+# phony list targets that are not in the filesystem.
+
+.phony += all library $(LIBFILE) showCompileCommand
+
+
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/makefiles/ver_script
----------------------------------------------------------------------
diff --git a/geode-client-native/makefiles/ver_script b/geode-client-native/makefiles/ver_script
new file mode 100644
index 0000000..44aed71
--- /dev/null
+++ b/geode-client-native/makefiles/ver_script
@@ -0,0 +1,6 @@
+{
+ global:
+ *gemfire*;
+ local:
+ *;
+};
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/myBuild.sh.example
----------------------------------------------------------------------
diff --git a/geode-client-native/myBuild.sh.example b/geode-client-native/myBuild.sh.example
new file mode 100755
index 0000000..b83303c
--- /dev/null
+++ b/geode-client-native/myBuild.sh.example
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+thisDir=`basename $BASEDIR`
+echo $thisDir
+
+# should be /export/gcm once pune supports it.
+MY_THIRDPARTY_BASE=/gcm/where/cplusplus/thirdparty
+
+if [ `uname` = "SunOS" ]; then
+ export CPP_THIRDPARTY=${MY_THIRDPARTY_BASE}/solaris
+ export ANT_ARGS="-D/export/scrooge2/users/tkeith/built/$thisDir"
+else
+if [ `uname` = "Linux" ]; then
+ export CPP_THIRDPARTY=${MY_THIRDPARTY_BASE}/linux
+ export ANT_ARGS="-Dosbuild.dir=/export/tiny2/users/tkeith/built/$thisDir"
+else
+ MY_THIRDPARTY_BASE=C:/src/gcm/where/cplusplus
+ export CPP_THIRDPARTY=${MY_THIRDPARTY_BASE}
+ export ANT_ARGS="-Dosbuild.dir=C:/Temp/built/$thisDir"
+fi
+fi
+
+export JAVA_HOME=${CPP_THIRDPARTY}/jdk1.4.2_06
+export ANT_HOME=${CPP_THIRDPARTY}/ant/apache-ant-1.8.4
+
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/CMakeLists.txt b/geode-client-native/quickstart/CMakeLists.txt
new file mode 100755
index 0000000..9393641
--- /dev/null
+++ b/geode-client-native/quickstart/CMakeLists.txt
@@ -0,0 +1,133 @@
+cmake_minimum_required(VERSION 3.4)
+project(nativeclient.quickstart.cpp)
+
+file(GLOB SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cpp")
+
+#target_link_libraries(${QUICKSTART_UTILS_LIB}
+# PRIVATE
+# ${ACE_STATIC_LIB}
+# PUBLIC
+# gfcppcache
+#)
+#add_dependencies(${QUICKSTART_UTILS_LIB} ACE)
+
+# Function to resolve both config and generate stage variables.
+macro(generate_config INPUT TEMP OUTPUT)
+ configure_file(${INPUT} ${TEMP})
+ file(GENERATE OUTPUT ${OUTPUT}
+ INPUT ${TEMP}
+ CONDITION 1
+ )
+endmacro()
+
+macro(add_pdxautoserializer SOURCES_VAR NAMESPACE CLASS HEADER SUFFIX CLASSNAMESTR)
+ set(_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAMESPACE}_${CLASS}${SUFFIX}.cpp)
+ set(_INPUT ${CMAKE_CURRENT_SOURCE_DIR}/${HEADER})
+ add_custom_command(OUTPUT ${_OUTPUT}
+ COMMAND $<TARGET_FILE:pdxautoserializer> --className=${CLASS} --suffix=${SUFFIX} --classNameStr=${CLASSNAMESTR} ${_INPUT}
+ DEPENDS ${_INPUT}
+ )
+ set(${SOURCES_VAR} ${${SOURCES_VAR}} ${_OUTPUT})
+endmacro()
+include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+
+add_pdxautoserializer(SOURCES PdxAutoTests PdxAutoMegaType PdxAutoMegaType.hpp Serializable "")
+%GFCPP%\bin\pdxautoserializer.exe --outDir=cpp\queryobjects cpp\queryobjects\PortfolioPdxAuto.hpp
+
+# TODO: Switch to the following when we support cmake install of nativeclient
+find_package(CPPCache REQUIRED PATHS .)
+
+set(SAV_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+
+foreach(FILE ${SOURCES})
+ string(REGEX REPLACE "\\.cpp" "" QUICKSTART ${FILE})
+ set(QUICKSTARTS ${QUICKSTARTS} ${QUICKSTART})
+
+ set(EXTRA_SOURCES "")
+
+ if (${QUICKSTART} STREQUAL "CqQuery")
+ add_definitions(-DBUILD_TESTOBJECT)
+ set(EXTRA_SOURCES
+ ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Portfolio.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Position.cpp)
+
+ elseif (${QUICKSTART} STREQUAL "DataExpiration")
+ add_definitions(-DBUILD_TESTOBJECT)
+ set(EXTRA_SOURCES
+ ${CMAKE_CURRENT_SOURCE_DIR}/plugins/SimpleCacheListener.cpp)
+
+ elseif (${QUICKSTART} STREQUAL "DurableClient")
+ add_definitions(-DBUILD_TESTOBJECT)
+ set(EXTRA_SOURCES
+ ${CMAKE_CURRENT_SOURCE_DIR}/plugins/DurableCacheListener.cpp)
+
+ elseif (${QUICKSTART} STREQUAL "LoaderListenerWriter")
+ add_definitions(-DBUILD_TESTOBJECT)
+ set(EXTRA_SOURCES
+ ${CMAKE_CURRENT_SOURCE_DIR}/plugins/SimpleCacheListener.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/plugins/SimpleCacheLoader.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/plugins/SimpleCacheWriter.cpp)
+
+ elseif (${QUICKSTART} STREQUAL "PdxAutoSerializer")
+ add_definitions(-DBUILD_TESTOBJECT)
+ set(EXTRA_SOURCES
+ ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/testobject_PortfolioPdxAutoSerializable.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/testobject_PositionPdxAutoSerializable.cpp
+
+ ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/PortfolioPdxAuto.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/PositionPdxAuto.cpp)
+ add_pdxautoserializer(EXTRA_SOURCES testobject PortfolioPdxAuto PortfolioPdxAuto.hpp Serializable "")
+
+ elseif (${QUICKSTART} STREQUAL "PdxRemoteQuery")
+ add_definitions(-DBUILD_TESTOBJECT)
+ set(EXTRA_SOURCES
+ ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/PortfolioPdx.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/PositionPdx.cpp)
+
+ elseif (${QUICKSTART} STREQUAL "PoolCqQuery")
+ add_definitions(-DBUILD_TESTOBJECT)
+ set(EXTRA_SOURCES
+ ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Portfolio.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Position.cpp)
+
+ elseif (${QUICKSTART} STREQUAL "PoolRemoteQuery")
+ add_definitions(-DBUILD_TESTOBJECT)
+ set(EXTRA_SOURCES
+ ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Portfolio.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Position.cpp)
+
+ elseif (${QUICKSTART} STREQUAL "RemoteQuery")
+ add_definitions(-DBUILD_TESTOBJECT)
+ set(EXTRA_SOURCES
+ ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Portfolio.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Position.cpp)
+
+ endif()
+
+ add_executable(${QUICKSTART} ${FILE} ${EXTRA_SOURCES})
+
+ set(CMAKE_CXX_FLAGS "${SAV_CMAKE_CXX_FLAGS} /I${NATIVECLIENT_CPPCACHE_INCLUDE_DIR}")
+ #include_directories("${GFCPP_INCLUDE}")
+
+
+
+ target_link_libraries(${QUICKSTART}
+ PRIVATE
+ PUBLIC "${NATIVECLIENT_CPPCACHE_LIBRARIES}\\gfcppcache")
+
+ #set(TEST_DIR ${CMAKE_CURRENT_BINARY_DIR}/.tests/${TEST})
+
+endforeach()
+
+##TODO is this correct for config.h
+#include_directories(${CMAKE_BINARY_DIR}/cppcache)
+#include_directories(${CMAKE_BINARY_DIR}/cppcache/include)
+##TODO this is really odd
+#include_directories(${CMAKE_SOURCE_DIR}/cppcache)
+#include_directories(${CMAKE_SOURCE_DIR}/cppcache/impl)
+##TODO this is really bad that we include the root of tests
+#include_directories(${CMAKE_SOURCE_DIR}/tests)
+##TODO fix dependencies include paths
+#include_directories(${DEPENDENCIES_ACE_DIR}/include)
+
+
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/GNUmakefile
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/GNUmakefile b/geode-client-native/quickstart/GNUmakefile
new file mode 100644
index 0000000..6d2693d
--- /dev/null
+++ b/geode-client-native/quickstart/GNUmakefile
@@ -0,0 +1,5 @@
+default: all
+
+SUBDIRS = cpp interop
+
+include ./GNUmakefile.common
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/GNUmakefile.common
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/GNUmakefile.common b/geode-client-native/quickstart/GNUmakefile.common
new file mode 100644
index 0000000..d81de84
--- /dev/null
+++ b/geode-client-native/quickstart/GNUmakefile.common
@@ -0,0 +1,70 @@
+BUILD_BITS := __BUILD_BITS__
+USE_CPP11 := __USE_CPP11__
+
+CXXFLAGS += -I$(GFCPP)/include
+CXXLDFLAGS += -L$(GFCPP)/lib
+CXXLIBS += -lpthread -lgfcppcache
+
+OSNAME := $(shell uname)
+ifeq ($(OSNAME),SunOS)
+ CXX = CC
+ # using -xMMD to fix issue with implicit rule to rebuild string from string.cc
+ CXXFLAGS += -xMMD
+ CXXFLAGS += -mt -D_RWSTD_MULTI_THREAD -DTHREAD=MULTI -D_REENTRANT
+ CXXFLAGS += -m$(BUILD_BITS) -xO3
+ CXXLDFLAGS += -m$(BUILD_BITS) -zdefs
+ CXXLIBS += -lrt -lkstat
+ ifeq ($(USE_CPP11),1)
+ CXXFLAGS += -std=c++11
+ CXXLDFLAGS += -std=c++11
+ CXXLIBS += -lstdc++ -lgcc_s -lCrunG3
+ else
+ CXXLIBS += -lCstd -lCrun
+ endif
+ CXXLIBS += -lc
+else
+ifeq ($(OSNAME),Linux)
+ CXXFLAGS += -MD
+ CXXFLAGS += -D_REENTRANT -O3 -Wall -m$(BUILD_BITS)
+ CXXLDFLAGS += -m$(BUILD_BITS)
+ ifeq ($(USE_CPP11),1)
+ CXXFLAGS += -std=c++11
+ endif
+else
+ $(error "Not Supported Platform")
+endif
+endif
+
+%.o : %.cpp
+ $(CXX) $(CXXFLAGS) -c -o $@ $<
+
+
+.PHONY: all
+all: subdirs subs
+
+
+.PHONY: subdirs $(SUBDIRS) subs $(SUBS)
+
+subdirs: $(SUBDIRS)
+
+$(SUBDIRS):
+ $(MAKE) -C $@ -f GNUmakefile
+
+subs: $(SUBS)
+
+$(SUBS):
+ $(MAKE) -f GNUmakefile.$@
+
+SUBDIRSCLEAN = $(addsuffix .clean,$(SUBDIRS))
+
+SUBSCLEAN = $(addsuffix .clean,$(SUBS))
+
+.PHONY: clean $(SUBDIRSCLEAN) $(SUBSCLEAN)
+clean: $(SUBDIRSCLEAN) $(SUBSCLEAN)
+
+$(SUBDIRSCLEAN): %.clean:
+ $(MAKE) -C $* -f GNUmakefile clean
+
+$(SUBSCLEAN): %.clean:
+ $(MAKE) -f GNUmakefile.$* clean
+