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
...@@ -37,7 +37,7 @@ SAMPLES_DIR = ${SSL_DIR}/../com.ibm.mq.mqxr.listener/SDK/clients/c/samples/ ...@@ -37,7 +37,7 @@ SAMPLES_DIR = ${SSL_DIR}/../com.ibm.mq.mqxr.listener/SDK/clients/c/samples/
endif endif
MQTTLIB = mqttv3c MQTTLIB = mqttv3c
VPATH = ${MQTTCLIENT_DIR} VPATH = ${MQTTCLIENT_DIR}
ALL_SOURCE_FILES = $(wildcard $(MQTTCLIENT_DIR)/*.c) ALL_SOURCE_FILES = $(wildcard $(MQTTCLIENT_DIR)/*.c)
SOURCE_FILES = $(filter-out $(MQTTCLIENT_DIR)/MQTTAsync.c $(MQTTCLIENT_DIR)/MQTTVersion.c $(MQTTCLIENT_DIR)/SSLSocket.c, $(ALL_SOURCE_FILES)) SOURCE_FILES = $(filter-out $(MQTTCLIENT_DIR)/MQTTAsync.c $(MQTTCLIENT_DIR)/MQTTVersion.c $(MQTTCLIENT_DIR)/SSLSocket.c, $(ALL_SOURCE_FILES))
ALL_HEADERS = $(MQTTCLIENT_DIR)/*.h ALL_HEADERS = $(MQTTCLIENT_DIR)/*.h
...@@ -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