Support for MacOS

Split semaphore classes into Semaphore and NamedSemaphore
Semaphore is implemented with Grand Central Dispatch
NamedSemaphore uses the spin lock approach like in boost for sem_timedwait
sem_getvalue is not supported on MacOS and therefore was removed
Fixed bug (*gatewayaddress_len > 0) in MQTTSNSearchClient.c

Signed-off-by: Jochen Wilhelmy <jochen.wilhelmy@gmail.com>
This commit is contained in:
Jochen Wilhelmy
2020-01-17 17:40:56 +01:00
parent e64e817f80
commit d6effc8074
8 changed files with 135 additions and 88 deletions

View File

@@ -77,6 +77,7 @@ $(SUBDIR)/MQTTSNUnsubscribeServer.c
CXX := g++
CPPFLAGS +=
# include directories, for MacOS/homebrew add -I/usr/local/opt/openssl/include/
INCLUDE :=
INCLUDES += $(INCLUDE) -I$(SRCDIR) \
-I$(SRCDIR)/$(OS) \
@@ -84,12 +85,16 @@ INCLUDES += $(INCLUDE) -I$(SRCDIR) \
-I$(SUBDIR) \
-I$(SRCDIR)/$(TEST)
# preprocessor defines
DEFS :=
# library search paths, for MacOS/homebrew add -L/usr/local/opt/openssl/lib/
LIB :=
LIBS += $(LIB) -L/usr/local/lib
LDFLAGS :=
LDFLAGS :=
CXXFLAGS := -Wall -O3 -std=c++11
LDADD := -lpthread -lssl -lcrypto -lrt
LDADD := -lpthread -lssl -lcrypto
OUTDIR := Build
PROG := $(OUTDIR)/$(PROGNAME)