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/
endif
MQTTLIB = mqttv3c
VPATH = ${MQTTCLIENT_DIR}
VPATH = ${MQTTCLIENT_DIR}
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))
ALL_HEADERS = $(MQTTCLIENT_DIR)/*.h
......@@ -73,7 +73,7 @@ ifeq ($(OSTYPE),Linux)
ifeq ($(MACHINETYPE),x86_64)
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}
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
......@@ -122,7 +122,7 @@ else
ifeq ($(MACHINETYPE),ppc64)
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}
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
......@@ -160,7 +160,7 @@ else
ifeq ($(MACHINETYPE),s390x)
CC = gcc
CCFLAGS_SO = -fPIC -Os -Wall -DREVERSED
CCFLAGS_SO = -fPIC -Os -Wall -DREVERSED -fvisibility=hidden
CCFLAGS_EXE = -I ${MQTTCLIENT_DIR}
LDFLAGS = -shared -Wl,-soname,lib${MQTTLIB}.so
LDFLAGS_EXE = -lpthread
......@@ -195,7 +195,7 @@ ifeq ($(MACHINETYPE),Arm)
ARM_UCLIBC_STRIP = $(subst -gcc,-strip,${ARM_UCLIBC_CC})
endif
CCFLAGS_SO = -fPIC -Os -Wall
CCFLAGS_SO = -fPIC -Os -Wall -fvisibility=hidden
CCFLAGS_EXE = -I ${MQTTCLIENT_DIR}
LDFLAGS = -shared -Wl,-soname,lib${MQTTLIB}.so
LDFLAGS_EXE = -lpthread
......@@ -222,7 +222,7 @@ else
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}
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
......
......@@ -79,7 +79,7 @@
#define DLLExport __declspec(dllexport)
#else
#define DLLImport extern
#define DLLExport
#define DLLExport __attribute__ ((visibility ("default")))
#endif
#include <stdio.h>
......@@ -135,7 +135,7 @@
/**
* 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
......
......@@ -83,7 +83,7 @@
#define DLLExport __declspec(dllexport)
#else
#define DLLImport extern
#define DLLExport
#define DLLExport __attribute__ ((visibility ("default")))
#endif
#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