summaryrefslogtreecommitdiff
path: root/Makethird
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2014-03-20 14:13:06 +0100
committerRobin Watts <robin.watts@artifex.com>2014-03-25 16:44:41 +0000
commitdb6353067cf545f4ca6fd854c8e8b4c4145dc537 (patch)
treec06d40f931c33ff335b474412392896a685657e6 /Makethird
parent332fb2e7033f3376fcdcfe0762e15ce78d221fbc (diff)
downloadmupdf-db6353067cf545f4ca6fd854c8e8b4c4145dc537.tar.xz
Add MuJS submodule, implementation and build.
Adds simpler choice of Javascript library to makefiles. Will prefer in order: MuJS, JavaScriptCore, V8, none based on HAVE_MUJS, HAVE_JSCORE, and HAVE_V8. For simplicity, we build mujstest even with no javascript implementation.
Diffstat (limited to 'Makethird')
-rw-r--r--Makethird53
1 files changed, 36 insertions, 17 deletions
diff --git a/Makethird b/Makethird
index cc7478c2..123d5509 100644
--- a/Makethird
+++ b/Makethird
@@ -9,6 +9,7 @@
FREETYPE_DIR := thirdparty/freetype
JBIG2DEC_DIR := thirdparty/jbig2dec
JPEG_DIR := thirdparty/jpeg
+MUJS_DIR := thirdparty/mujs
OPENJPEG_DIR := thirdparty/openjpeg/libopenjpeg
OPENSSL_DIR := thirdparty/openssl
ZLIB_DIR := thirdparty/zlib
@@ -23,7 +24,6 @@ V8_DIR := $(wildcard thirdparty/v8*)
ifneq "$(V8_DIR)" ""
-CFLAGS += -I$(V8_DIR)/include
ifeq "$(build)" "release"
V8_LIB_CHOICE := release
else ifeq "$(build)" "profile"
@@ -36,14 +36,33 @@ V8_ARCH ?= x64
# If you are building for 32bit linux use V8_ARCH=ia32
ifeq "$(OS)" "Darwin"
-V8_LIBS = -L$(V8_DIR)/out-mac/$(V8_ARCH).$(V8_LIB_CHOICE)/ -lv8_base -lv8_snapshot -lstdc++
+V8_LIBS := -L$(V8_DIR)/out-mac/$(V8_ARCH).$(V8_LIB_CHOICE)/ -lv8_base -lv8_snapshot -lstdc++
else
-V8_LIBS = -L$(V8_DIR)/out/$(V8_ARCH).$(V8_LIB_CHOICE)/obj.target/tools/gyp -lv8_base -lv8_snapshot -lpthread -ldl -lstdc++
+V8_LIBS := -L$(V8_DIR)/out/$(V8_ARCH).$(V8_LIB_CHOICE)/obj.target/tools/gyp -lv8_base -lv8_snapshot -lpthread -ldl -lstdc++
endif
-V8_PRESENT := yes
-else
-V8_PRESENT := no
+V8_CFLAGS := -I$(V8_DIR)/include
+
+HAVE_V8 := yes
+endif
+
+# --- MuJS ---
+
+ifneq "$(wildcard $(MUJS_DIR)/README)" ""
+
+MUJS_LIB := $(OUT)/libmujs.a
+MUJS_OUT := $(OUT)/mujs
+MUJS_SRC := one.c
+
+$(MUJS_LIB): $(addprefix $(MUJS_OUT)/, $(MUJS_SRC:%.c=%.o))
+$(MUJS_OUT):
+ $(MKDIR_CMD)
+$(MUJS_OUT)/%.o: $(MUJS_DIR)/%.c | $(MUJS_OUT)
+ $(CC_CMD)
+
+MUJS_CFLAGS := -I$(MUJS_DIR)
+
+HAVE_MUJS := yes
endif
# --- FreeType 2 ---
@@ -302,16 +321,6 @@ OPENSSL_CFLAGS := $(SYS_OPENSSL_CFLAGS)
OPENSSL_LIBS := $(SYS_OPENSSL_LIBS)
endif
-# --- X11 ---
-
-ifeq "$(NOX11)" ""
-X11_CFLAGS := $(SYS_X11_CFLAGS)
-X11_LIBS := $(SYS_X11_LIBS)
-else
-X11_CFLAGS :=
-X11_LIBS :=
-endif
-
# --- cURL ---
ifneq "$(wildcard $(CURL_DIR)/README)" ""
@@ -443,6 +452,16 @@ $(CURL_OUT)/%.o: $(CURL_DIR)/lib/%.c | $(CURL_OUT)
CURL_CFLAGS := -I$(CURL_DIR)/include
CURL_LIBS := $(SYS_CURL_DEPS)
+
+HAVE_CURL := yes
+endif
+
+# --- X11 ---
+
+ifeq "$(HAVE_X11)" "yes"
+X11_CFLAGS := $(SYS_X11_CFLAGS)
+X11_LIBS := $(SYS_X11_LIBS)
else
-NOCURL := yes
+X11_CFLAGS :=
+X11_LIBS :=
endif