Skip to content

Commit

Permalink
Fix building threadfix in MacOS
Browse files Browse the repository at this point in the history
  • Loading branch information
lasanthaS committed Aug 5, 2019
1 parent af09f7f commit cc1d250
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 20 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ __pycache__/

# C extensions
*.so
*.dylib

# Distribution / packaging
.Python
Expand Down
2 changes: 1 addition & 1 deletion __PySiddhiProxy/threadfix_c_code/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
32 changes: 14 additions & 18 deletions __PySiddhiProxy/threadfix_c_code/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
# use g++ compiler
CC = g++

CFLAGS =-shared -fPIC -c

# define JAVA_HOME here
JAVAHOME = ${JAVA_HOME}

Expand All @@ -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
Expand All @@ -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)
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit cc1d250

Please sign in to comment.