diff --git a/Makefile.conf b/Makefile.conf index adf9ca8..9e6eff3 100644 --- a/Makefile.conf +++ b/Makefile.conf @@ -5,8 +5,14 @@ HERE:=$(dir $(lastword $(MAKEFILE_LIST))) PLATFORM:=$(shell uname | tr A-Z a-z) -JAVAC_CMD=javac -encoding UTF-8 -JAVAH_CMD=javah -encoding UTF-8 + +ifeq ($(PLATFORM),os/390) + JAVAC_CMD=javac + JAVAH_CMD=javah +else + JAVAC_CMD=javac -encoding UTF-8 + JAVAH_CMD=javah -encoding UTF-8 +endif # DEV ENV PATHS & CFG # The build settings are set to a default value which can be overridden by using ./local.conf @@ -62,7 +68,11 @@ JAVA_BIN_DIR=$(JAVA_HOME)/bin ######### C and C++ ######### CXXFLAGS+=-O0 -std=c++11 -fpermissive -fPIC -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/$(PLATFORM) $(AD_INC) $(ENGINE_INC) +ifeq ($(PLATFORM),os/390) +LDFLAGS+=$(ENGINE_LIB) $(AD_LIB) +else LDFLAGS+=-shared $(ENGINE_LIB) $(AD_LIB) +endif LDLIBS=-lstdc++ -lpEpEngine -lpEpAdapter ifneq (,$(findstring g++,$(CXX))) CXXFLAGS+=-fdiagnostics-color=always diff --git a/src/Makefile b/src/Makefile index a1ffa61..39670a1 100644 --- a/src/Makefile +++ b/src/Makefile @@ -24,7 +24,7 @@ endif LIB_JAVA=$(DIST_DIR)/$(LIB_JAVA_NAME) LIB_CXX_STATIC=$(DIST_DIR)/$(LIB_CXX_STATIC_NAME) -ifdef LIB_CXX_DYN_NAME +ifneq ($(PLATFORM),os/390) LIB_CXX_DYN=$(DIST_DIR)/$(LIB_CXX_DYN_NAME) endif @@ -99,8 +99,10 @@ CXXFLAGS+= -MMD -MP SOURCES=$(wildcard $(CXX_DIR)/*.cc) SOURCES+=$(GENERATED_CC) +ifeq ($(DO_COMPILE),1) tmp=$(SOURCES:%.cc=%.o) OBJECTS=$(addprefix $(BUILD_ROOT), $(tmp)) +endif DEPENDS=$(OBJECTS:%.o=%.d) -include $(DEPENDS) @@ -116,10 +118,18 @@ $(info DEPENDS: $(DEPENDS)) all: lib-java lib-cxx # Build only java lib +ifeq ($(DO_COMPILE), 1) lib-java: $(LIB_JAVA) +else +lib-java: create-dirs codegen gen-jni-headers +endif # Build only c++ static/shared lib +ifeq ($(DO_COMPILE), 1) lib-cxx: $(LIB_CXX_DYN) $(LIB_CXX_STATIC) +else +lib-cxx: create-dirs gen-jni-headers $(OBJECTS) +endif # ---------------- Link ----------------- $(LIB_JAVA): compile-java @@ -133,9 +143,11 @@ $(LIB_CXX_STATIC): compile-cxx # -------------- Compile ----------------- compile-java: create-dirs codegen gen-jni-headers +ifeq ($(DO_COMPILE), 1) cd $(JAVA_DIR);$(JAVA_BIN_DIR)/$(JAVAC_CMD) -d ../$(JAVA_BUILD_ROOT) $(JAVA_PKG_BASENAME)/*.java cd $(JAVA_DIR);$(JAVA_BIN_DIR)/$(JAVAC_CMD) -d ../$(JAVA_BUILD_ROOT) $(JAVA_PKG_BASENAME)/exceptions/*.java cd $(JAVA_DIR);$(JAVA_BIN_DIR)/$(JAVAC_CMD) -d ../$(JAVA_BUILD_ROOT) $(JAVA_PKG_BASENAME)/interfaces/*.java +endif compile-cxx: create-dirs gen-jni-headers $(OBJECTS) @@ -157,7 +169,11 @@ endif # ------------- YML2 CodeGen -------------- codegen: +ifeq ($(DO_GENERATE),1) $(MAKE) -C codegen +else + echo "Skipping generation of files" +endif # ------------- Housekeeping --------------- create-dirs: @@ -183,7 +199,11 @@ clean: remove-dirs rm -f $(DEPENDS) rm -f $(OBJECTS) +ifeq ($(PLATFORM),os/390) +install: $(LIB_JAVA) $(LIB_CXX_STATIC) +else install: $(LIB_JAVA) $(LIB_CXX_STATIC) $(LIB_CXX_DYN) +endif mkdir -p $(PREFIX)/lib cp -v $(LIB_JAVA) $(PREFIX)/lib/ cp -v $(LIB_CXX_STATIC) $(PREFIX)/lib/ diff --git a/src/cxx/jniutils.cc b/src/cxx/jniutils.cc index 3d3b2ad..65bea16 100644 --- a/src/cxx/jniutils.cc +++ b/src/cxx/jniutils.cc @@ -403,7 +403,11 @@ jobject from_timestamp(JNIEnv *env, //LOGD("/* Month (0-11) */ :%d", ts->tm_mon); //LOGD("/* Year - 1900 */ :%d", ts->tm_year); +#if defined (__MVS__) + time_t t = mktime(ts) * 1000; +#else time_t t = timegm(ts) * 1000; +#endif //LOGD( "TimeGM returns : %lld", t); jclass clazz = findClass(env, "java/util/Date"); jmethodID constructor = env->GetMethodID(clazz, "", "(J)V"); diff --git a/test/java/foundation/pEp/jniadapter/test/utils/transport/fsmqmanager/test/Makefile.conf b/test/java/foundation/pEp/jniadapter/test/utils/transport/fsmqmanager/test/Makefile.conf index a267308..7950915 100644 --- a/test/java/foundation/pEp/jniadapter/test/utils/transport/fsmqmanager/test/Makefile.conf +++ b/test/java/foundation/pEp/jniadapter/test/utils/transport/fsmqmanager/test/Makefile.conf @@ -2,7 +2,12 @@ JAVA_PKG_BASENAME=foundation.pEp.jniadapter.test.utils.transport.fsmqmanager.tes JAVA_PKG_BASEPATH=foundation/pEp/jniadapter/test/utils/transport/fsmqmanager/test JAVA_CWD=../../../../../../../../../ JAVA=java -enableassertions +PLATFORM:=$(shell uname | tr A-Z a-z) +ifeq ($(PLATFORM),os/390) +JAVAC_CMD=javac +else JAVAC_CMD=javac -encoding UTF-8 +endif JAVA_CLASSES_FSMSGQUEUE= \ ../../FsMQManager.class \ diff --git a/test/java/foundation/pEp/jniadapter/test/utils/transport/fsmsgqueue/test/Makefile.conf b/test/java/foundation/pEp/jniadapter/test/utils/transport/fsmsgqueue/test/Makefile.conf index a9376dd..1d034da 100644 --- a/test/java/foundation/pEp/jniadapter/test/utils/transport/fsmsgqueue/test/Makefile.conf +++ b/test/java/foundation/pEp/jniadapter/test/utils/transport/fsmsgqueue/test/Makefile.conf @@ -2,7 +2,12 @@ JAVA_PKG_BASENAME=foundation.pEp.jniadapter.test.utils.transport.fsmsgqueue.test JAVA_PKG_BASEPATH=foundation/pEp/jniadapter/test/utils/transport/fsmsgqueue/test JAVA_CWD=../../../../../../../../../ JAVA=java -enableassertions +PLATFORM:=$(shell uname | tr A-Z a-z) +ifeq ($(PLATFORM),os/390) +JAVAC_CMD=javac +else JAVAC_CMD=javac -encoding UTF-8 +endif JAVA_CLASSES_FSMSGQUEUE= \ ../../FsMsgQueue.class diff --git a/test/java/foundation/pEp/pitytest/Makefile.conf b/test/java/foundation/pEp/pitytest/Makefile.conf index 6a7df96..83f348f 100644 --- a/test/java/foundation/pEp/pitytest/Makefile.conf +++ b/test/java/foundation/pEp/pitytest/Makefile.conf @@ -1,7 +1,12 @@ JAVA_PKG_BASENAME=foundation.pEp JAVA_PKG_BASEPATH=foundation/pEp CLASSPATH=. +PLATFORM:=$(shell uname | tr A-Z a-z) +ifeq ($(PLATFORM),os/390) +JAVAC_CMD=javac +else JAVAC_CMD=javac -encoding UTF-8 +endif JAVA=java -enableassertions JAVA_CWD=../../../