diff --git a/.gitignore b/.gitignore index 30246bf..c470af1 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ __pycache__/ # C extensions *.so +*.dylib # Distribution / packaging .Python diff --git a/__PySiddhiProxy/threadfix_c_code/build.sh b/__PySiddhiProxy/threadfix_c_code/build.sh index 01f3b34..1d24c9a 100755 --- a/__PySiddhiProxy/threadfix_c_code/build.sh +++ b/__PySiddhiProxy/threadfix_c_code/build.sh @@ -18,7 +18,7 @@ echo "Compiling C++ Code used for fixing threading issue" echo "Invoking G++ Compiler" if [["$OSTYPE" == "darwin"*]]; then - g++ -I "$JAVA_HOME/include" -I "$JAVA_HOME/include/darwin" -I "$PYTHONHOME" -shared -fPIC -o libio_siddhi_pythonapi_threadfix_pythreadfix.so io_siddhi_pythonapi_threadfix_PyThreadFix.c + g++ -I "$JAVA_HOME/include" -I "$JAVA_HOME/include/darwin" -I "$PYTHONHOME" -shared -flat_namespace -undefined suppress -dynamiclib -o libio_siddhi_pythonapi_threadfix_pythreadfix.so io_siddhi_pythonapi_threadfix_PyThreadFix.c elif [["$OSTYPE" == "linux-gnu"]]; then g++ -I "$JAVA_HOME/include" -I "$JAVA_HOME/include/linux" -I "$PYTHONHOME" -shared -fPIC -o libio_siddhi_pythonapi_threadfix_pythreadfix.so io_siddhi_pythonapi_threadfix_PyThreadFix.c fi diff --git a/__PySiddhiProxy/threadfix_c_code/makefile b/__PySiddhiProxy/threadfix_c_code/makefile index 17588e5..25427a7 100644 --- a/__PySiddhiProxy/threadfix_c_code/makefile +++ b/__PySiddhiProxy/threadfix_c_code/makefile @@ -16,8 +16,6 @@ # use g++ compiler CC = g++ -CFLAGS =-shared -fPIC -c - # define JAVA_HOME here JAVAHOME = ${JAVA_HOME} @@ -31,13 +29,15 @@ OS = ${shell uname} CP = cp -#Find include files -INCLUDES_LINUX = -I "$(JAVAHOME)/include" -I "$(JAVAHOME)/include/linux" -I "$(LINUX_PYTHON_PATH)" - -INCLUDES_MACOS = -I "$(JAVAHOME)/include" -I "$(JAVAHOME)/include/darwin" -I "$(MACOS_PYTHON_PATH)" - - - +ifeq ($(OS), Darwin) +CFLAGS = -shared -flat_namespace -undefined suppress -dynamiclib +INCLUDES = -I "$(JAVAHOME)/include" -I "$(JAVAHOME)/include/darwin" -I "$(MACOS_PYTHON_PATH)" +OUT_EXT = dylib +else +CFLAGS = -shared -fPIC +INCLUDES = -I "$(JAVAHOME)/include" -I "$(JAVAHOME)/include/linux" -I "$(LINUX_PYTHON_PATH)" +OUT_EXT = so +endif # build target details TARGET_SOURCE_NAME = io_siddhi_pythonapi_threadfix_PyThreadFix @@ -47,19 +47,15 @@ TARGET = threadfix all: install -$(TARGET_OUTPUT_NAME).so: $(TARGET_SOURCE_NAME).c $(TARGET_SOURCE_NAME).h +$(TARGET_OUTPUT_NAME).$(OUT_EXT): $(TARGET_SOURCE_NAME).c $(TARGET_SOURCE_NAME).h @echo "Building Target..." -ifeq ($(OS), Darwin) - $(CC) $(CFLAGS) $(INCLUDES_MACOS) -o $(TARGET_OUTPUT_NAME).so $(TARGET_SOURCE_NAME).c -else ifeq ($(OS), Linux) - $(CC) $(CFLAGS) $(INCLUDES_LINUX) -o $(TARGET_OUTPUT_NAME).so $(TARGET_SOURCE_NAME).c -endif + $(CC) $(CFLAGS) $(INCLUDES) -o $(TARGET_OUTPUT_NAME).$(OUT_EXT) $(TARGET_SOURCE_NAME).c @echo -install: $(TARGET_OUTPUT_NAME).so +install: $(TARGET_OUTPUT_NAME).$(OUT_EXT) @echo "Copying Target to Root..." - $(CP) $(TARGET_OUTPUT_NAME).so ../$(TARGET_INSTALL_NAME).so + $(CP) $(TARGET_OUTPUT_NAME).$(OUT_EXT) ../$(TARGET_INSTALL_NAME).$(OUT_EXT) @echo clean: - $(RM) $(TARGET_OUTPUT_NAME).so + $(RM) $(TARGET_OUTPUT_NAME).$(OUT_EXT) diff --git a/setup.py b/setup.py index e5124ca..9482bb5 100644 --- a/setup.py +++ b/setup.py @@ -50,7 +50,8 @@ def run(self): package_data={ "PySiddhi": ["../__PySiddhiProxy/target/lib/*.jar", "../__PySiddhiProxy/target/*.jar", - "../__PySiddhiProxy/*.so"] + "../__PySiddhiProxy/*.so", + "../__PySiddhiProxy/*.dylib"] }, # metadata for upload to PyPI