summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2017-03-07 15:40:09 +0100
committerTor Andersson <tor.andersson@artifex.com>2017-03-15 09:47:01 +0100
commit3966550ae8198eef2050c24d87dd7a89d1410ded (patch)
tree8fe50f9a6bf4666cf8cf4a16447956e357ecf01e
parent0f5f5642a01dc7e8b9bc421ea8712c31e4c43429 (diff)
downloadmupdf-3966550ae8198eef2050c24d87dd7a89d1410ded.tar.xz
Only include pthread library when needed.
Rename HAVE_PTHREADS to HAVE_PTHREAD to match naming of other defines, where the macro is named after the library that is linked.
-rw-r--r--Makefile7
-rw-r--r--Makerules24
-rw-r--r--Makethird7
-rw-r--r--include/mupdf/helpers/mu-threads.h2
4 files changed, 26 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index 8b423144..787f34d9 100644
--- a/Makefile
+++ b/Makefile
@@ -191,6 +191,9 @@ $(OUT)/%.o : source/%.c | $(ALL_DIR)
$(OUT)/%.o : source/%.cpp | $(ALL_DIR)
$(CXX_CMD)
+$(OUT)/helpers/%.o : source/helpers/%.c | $(ALL_DIR)
+ $(CC_CMD) $(PTHREAD_CFLAGS) -DHAVE_PTHREAD
+
$(OUT)/%.o : scripts/%.c | $(OUT)
$(CC_CMD)
@@ -275,13 +278,13 @@ $(MUTOOL_OBJ): $(FITZ_HDR) $(PDF_HDR)
MUTOOL_LIB = $(OUT)/libmutools.a
$(MUTOOL_LIB) : $(MUTOOL_OBJ)
$(MUTOOL) : $(MUTOOL_LIB) $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB)
- $(LINK_CMD)
+ $(LINK_CMD) $(PTHREAD_LIBS)
MURASTER := $(OUT)/muraster
MURASTER_OBJ := $(addprefix $(OUT)/tools/, muraster.o)
$(MURASTER_OBJ): $(FITZ_HDR)
$(MURASTER) : $(MURASTER_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB)
- $(LINK_CMD)
+ $(LINK_CMD) $(PTHREAD_LIBS)
MJSGEN := $(OUT)/mjsgen
MJSGEN_OBJ := $(addprefix $(OUT)/tools/, mjsgen.o)
diff --git a/Makerules b/Makerules
index 59f3612b..9282b5c4 100644
--- a/Makerules
+++ b/Makerules
@@ -78,12 +78,15 @@ CFLAGS+= -U__STRICT_ANSI__
else ifeq "$(OS)" "MACOS"
HAVE_X11 ?= no
-HAVE_PTHREADS ?= yes
+
+HAVE_PTHREAD := yes
+SYS_PTHREAD_CFLAGS :=
+SYS_PTHREAD_LIBS := -lpthread
# Mac OS X deprecated libcrypto, so the default is to not include it.
-HAVE_LIBCRYTO ?= no
-SYS_LIBCRYPTO_CFLAGS =
-SYS_LIBCRYPTO_LIBS =
+HAVE_LIBCRYTO := no
+SYS_LIBCRYPTO_CFLAGS :=
+SYS_LIBCRYPTO_LIBS :=
ifeq "$(HAVE_LIBCRYPTO)" "yes"
SYS_LIBCRYPTO_CFLAGS := -DHAVE_LIBCRYPTO
SYS_LIBCRYPTO_LIBS := -lcrypto
@@ -109,7 +112,9 @@ RANLIB_CMD := xcrun ranlib $@
# Linux uses pkg-config for system libraries.
else ifeq "$(OS)" "Linux"
-HAVE_PTHREADS ?= yes
+HAVE_PTHREAD := yes
+SYS_PTHREAD_CFLAGS :=
+SYS_PTHREAD_LIBS := -lpthread
ifeq "$(shell pkg-config --exists 'libcrypto <= 1.0.1t' && echo yes)" "yes"
HAVE_LIBCRYPTO := yes
@@ -175,7 +180,9 @@ LD = arm-none-linux-gnueabi-gcc
AR = arm-none-linux-gnueabi-ar
CFLAGS += -O3 -mfpu=neon -mcpu=cortex-a8 -mfloat-abi=softfp -ftree-vectorize -ffast-math -fsingle-precision-constant
CROSSCOMPILE=yes
-HAVE_PTHREADS ?= yes
+HAVE_PTHREAD := yes
+SYS_PTHREAD_CFLAGS :=
+SYS_PTHREAD_LIBS := -lpthread
endif
ifeq "$(OS)" "webos-pre-cross"
@@ -272,8 +279,3 @@ ifeq "$(CROSSCOMPILE)" "yes"
HAVE_X11 ?= no
HAVE_GLFW ?= no
endif
-
-ifeq "$(HAVE_PTHREADS)" "yes"
-CFLAGS += -DHAVE_PTHREADS
-LIBS += -lpthread
-endif
diff --git a/Makethird b/Makethird
index 92de4085..e9a2e0e8 100644
--- a/Makethird
+++ b/Makethird
@@ -714,3 +714,10 @@ ifeq "$(HAVE_LIBCRYPTO)" "yes"
LIBCRYPTO_CFLAGS := $(SYS_LIBCRYPTO_CFLAGS)
LIBCRYPTO_LIBS := $(SYS_LIBCRYPTO_LIBS)
endif
+
+# --- pthread ---
+
+#ifeq "$(HAVE_PTHREAD)" "yes"
+PTHREAD_CFLAGS := $(SYS_PTHREAD_CFLAGS)
+PTHREAD_LIBS := $(SYS_PTHREAD_LIBS)
+#endif
diff --git a/include/mupdf/helpers/mu-threads.h b/include/mupdf/helpers/mu-threads.h
index 77ee0b6c..d1830a44 100644
--- a/include/mupdf/helpers/mu-threads.h
+++ b/include/mupdf/helpers/mu-threads.h
@@ -25,7 +25,7 @@
#if !defined(DISABLE_MUTHREADS)
#if defined(_WIN32) || defined(_WIN64)
#define MU_THREAD_IMPL_TYPE 1
-#elif defined(HAVE_PTHREADS)
+#elif defined(HAVE_PTHREAD)
#define MU_THREAD_IMPL_TYPE 2
#else
#define DISABLE_MUTHREADS