Commit 9eefdfc0 authored by Ian Craggs's avatar Ian Craggs

fix for Bug 405487 - C client library: Exported symbols should be controlled…

fix for Bug 405487 - C client library: Exported symbols should be controlled when compiling on Linux
parent 660dade5
...@@ -73,7 +73,7 @@ ifeq ($(OSTYPE),Linux) ...@@ -73,7 +73,7 @@ ifeq ($(OSTYPE),Linux)
ifeq ($(MACHINETYPE),x86_64) ifeq ($(MACHINETYPE),x86_64)
CC = gcc CC = gcc
CCFLAGS_SO = -fPIC -Os -Wall -I ${SSL_DIR}/include CCFLAGS_SO = -fPIC -Os -Wall -I ${SSL_DIR}/include -fvisibility=hidden
CCFLAGS_EXE = -I ${MQTTCLIENT_DIR} CCFLAGS_EXE = -I ${MQTTCLIENT_DIR}
LDFLAGS = -shared -Wl,-soname,lib${MQTTLIB}.so LDFLAGS = -shared -Wl,-soname,lib${MQTTLIB}.so
LDFLAGS_S = -shared -Wl,-soname,lib${MQTTLIB_S}.so -ldl -Wl,-whole-archive -L${SSL_DIR}/output/lib -lcrypto -lssl -Wl,-no-whole-archive LDFLAGS_S = -shared -Wl,-soname,lib${MQTTLIB_S}.so -ldl -Wl,-whole-archive -L${SSL_DIR}/output/lib -lcrypto -lssl -Wl,-no-whole-archive
...@@ -122,7 +122,7 @@ else ...@@ -122,7 +122,7 @@ else
ifeq ($(MACHINETYPE),ppc64) ifeq ($(MACHINETYPE),ppc64)
CC = gcc CC = gcc
CCFLAGS_SO = -fPIC -Os -Wall -I ${SSL_DIR}/include CCFLAGS_SO = -fPIC -Os -Wall -I ${SSL_DIR}/include -fvisibility=hidden
CCFLAGS_EXE = -I ${MQTTCLIENT_DIR} CCFLAGS_EXE = -I ${MQTTCLIENT_DIR}
LDFLAGS = -shared -Wl,-soname,lib${MQTTLIB}.so LDFLAGS = -shared -Wl,-soname,lib${MQTTLIB}.so
LDFLAGS_S = -shared -Wl,-soname,lib${MQTTLIB_S}.so -ldl -Wl,-whole-archive -L${SSL_DIR}/output/lib -lcrypto -lssl -Wl,-no-whole-archive LDFLAGS_S = -shared -Wl,-soname,lib${MQTTLIB_S}.so -ldl -Wl,-whole-archive -L${SSL_DIR}/output/lib -lcrypto -lssl -Wl,-no-whole-archive
...@@ -160,7 +160,7 @@ else ...@@ -160,7 +160,7 @@ else
ifeq ($(MACHINETYPE),s390x) ifeq ($(MACHINETYPE),s390x)
CC = gcc CC = gcc
CCFLAGS_SO = -fPIC -Os -Wall -DREVERSED CCFLAGS_SO = -fPIC -Os -Wall -DREVERSED -fvisibility=hidden
CCFLAGS_EXE = -I ${MQTTCLIENT_DIR} CCFLAGS_EXE = -I ${MQTTCLIENT_DIR}
LDFLAGS = -shared -Wl,-soname,lib${MQTTLIB}.so LDFLAGS = -shared -Wl,-soname,lib${MQTTLIB}.so
LDFLAGS_EXE = -lpthread LDFLAGS_EXE = -lpthread
...@@ -195,7 +195,7 @@ ifeq ($(MACHINETYPE),Arm) ...@@ -195,7 +195,7 @@ ifeq ($(MACHINETYPE),Arm)
ARM_UCLIBC_STRIP = $(subst -gcc,-strip,${ARM_UCLIBC_CC}) ARM_UCLIBC_STRIP = $(subst -gcc,-strip,${ARM_UCLIBC_CC})
endif endif
CCFLAGS_SO = -fPIC -Os -Wall CCFLAGS_SO = -fPIC -Os -Wall -fvisibility=hidden
CCFLAGS_EXE = -I ${MQTTCLIENT_DIR} CCFLAGS_EXE = -I ${MQTTCLIENT_DIR}
LDFLAGS = -shared -Wl,-soname,lib${MQTTLIB}.so LDFLAGS = -shared -Wl,-soname,lib${MQTTLIB}.so
LDFLAGS_EXE = -lpthread LDFLAGS_EXE = -lpthread
...@@ -222,7 +222,7 @@ else ...@@ -222,7 +222,7 @@ else
CC = gcc CC = gcc
CCFLAGS_SO = -fPIC -Os -Wall -I ${SSL_DIR}/include CCFLAGS_SO = -fPIC -Os -Wall -I ${SSL_DIR}/include -fvisibility=hidden
CCFLAGS_EXE = -I ${MQTTCLIENT_DIR} CCFLAGS_EXE = -I ${MQTTCLIENT_DIR}
LDFLAGS = -shared -Wl,-soname,lib${MQTTLIB}.so LDFLAGS = -shared -Wl,-soname,lib${MQTTLIB}.so
LDFLAGS_S = -shared -Wl,-soname,lib${MQTTLIB_S}.so -ldl -Wl,-whole-archive -L${SSL_DIR}/output/lib -lcrypto -lssl -Wl,-no-whole-archive LDFLAGS_S = -shared -Wl,-soname,lib${MQTTLIB_S}.so -ldl -Wl,-whole-archive -L${SSL_DIR}/output/lib -lcrypto -lssl -Wl,-no-whole-archive
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
#define DLLExport __declspec(dllexport) #define DLLExport __declspec(dllexport)
#else #else
#define DLLImport extern #define DLLImport extern
#define DLLExport #define DLLExport __attribute__ ((visibility ("default")))
#endif #endif
#include <stdio.h> #include <stdio.h>
...@@ -135,7 +135,7 @@ ...@@ -135,7 +135,7 @@
/** /**
* Return code: A qos parameter is not 0, 1 or 2 * Return code: A qos parameter is not 0, 1 or 2
*/ */
#define MQTTCLIENT_BAD_QOS -9 #define MQTTASYNC_BAD_QOS -9
/** /**
* A handle representing an MQTT client. A valid client handle is available * A handle representing an MQTT client. A valid client handle is available
......
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
#define DLLExport __declspec(dllexport) #define DLLExport __declspec(dllexport)
#else #else
#define DLLImport extern #define DLLImport extern
#define DLLExport #define DLLExport __attribute__ ((visibility ("default")))
#endif #endif
#include <stdio.h> #include <stdio.h>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment