summaryrefslogtreecommitdiffstats
path: root/office/mupdf/shared_libfitz.diff
blob: 86e9109e0c3b2cae2a853c4d059bbcc8dfe10113 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
diff -Naur mupdf-1.2-source/Makefile mupdf-1.2-source.patched/Makefile
--- mupdf-1.2-source/Makefile	2013-02-13 09:25:07.000000000 -0500
+++ mupdf-1.2-source.patched/Makefile	2013-06-19 00:18:06.000000000 -0400
@@ -12,7 +12,7 @@
 # Do not specify CFLAGS or LIBS on the make invocation line - specify
 # XCFLAGS or XLIBS instead. Make ignores any lines in the makefile that
 # set a variable that was set on the command line.
-CFLAGS += $(XCFLAGS) -Ifitz -Ipdf -Ixps -Icbz -Iscripts
+CFLAGS += $(XCFLAGS) -fPIC -Ifitz -Ipdf -Ixps -Icbz -Iscripts
 LIBS += $(XLIBS) -lfreetype -ljbig2dec -ljpeg -lopenjpeg -lz -lm
 LIBS_V8 = $(LIBS) $(V8LIBS)
 
@@ -37,6 +37,7 @@
 CC_CMD = $(QUIET_CC) $(CC) $(CFLAGS) -o $@ -c $<
 CXX_CMD = $(QUIET_CXX) $(CXX) $(CFLAGS) -o $@ -c $<
 AR_CMD = $(QUIET_AR) $(AR) cr $@ $^
+SO_CMD = $(QUIET_LINK) $(CC) -fPIC --shared -Wl,-soname -Wl,`basename $@ | sed 's,\.[^.]*$$,,'` $^ -o $@
 LINK_CMD = $(QUIET_LINK) $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
 LINK_V8_CMD = $(QUIET_LINK) $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS_V8)
 MKDIR_CMD = $(QUIET_MKDIR) mkdir -p $@
@@ -79,7 +80,9 @@
 
 # --- Fitz, MuPDF, MuXPS and MuCBZ library ---
 
-FITZ_LIB := $(OUT)/libfitz.a
+FITZ_LIB_A := $(OUT)/libfitz.a
+FITZ_LIB_SO := $(OUT)/libfitz.so.1.0
+FITZ_LIB_SO1 := $(OUT)/libfitz.so.1
 FITZ_V8_LIB := $(OUT)/libfitzv8.a
 
 FITZ_SRC := $(notdir $(wildcard fitz/*.c draw/*.c))
@@ -91,10 +94,10 @@
 MUXPS_SRC := $(notdir $(wildcard xps/*.c))
 MUCBZ_SRC := $(notdir $(wildcard cbz/*.c))
 
-$(FITZ_LIB) : $(addprefix $(OUT)/, $(FITZ_SRC:%.c=%.o))
-$(FITZ_LIB) : $(addprefix $(OUT)/, $(MUPDF_SRC:%.c=%.o))
-$(FITZ_LIB) : $(addprefix $(OUT)/, $(MUXPS_SRC:%.c=%.o))
-$(FITZ_LIB) : $(addprefix $(OUT)/, $(MUCBZ_SRC:%.c=%.o))
+FITZ_OBJECT_FILES := $(addprefix $(OUT)/, $(FITZ_SRC:%.c=%.o)) \
+                     $(addprefix $(OUT)/, $(MUPDF_SRC:%.c=%.o)) \
+                     $(addprefix $(OUT)/, $(MUXPS_SRC:%.c=%.o)) \
+                     $(addprefix $(OUT)/, $(MUCBZ_SRC:%.c=%.o))
 
 $(FITZ_V8_LIB) : $(addprefix $(OUT)/, $(FITZ_SRC:%.c=%.o))
 $(FITZ_V8_LIB) : $(addprefix $(OUT)/, $(MUPDF_V8_SRC:%.c=%.o))
@@ -102,9 +105,19 @@
 $(FITZ_V8_LIB) : $(addprefix $(OUT)/, $(MUXPS_SRC:%.c=%.o))
 $(FITZ_V8_LIB) : $(addprefix $(OUT)/, $(MUCBZ_SRC:%.c=%.o))
 
-libs: $(FITZ_LIB) $(THIRD_LIBS)
 libs_v8: libs $(FITZ_V8_LIB)
 
+$(FITZ_LIB_A) : $(FITZ_OBJECT_FILES)
+$(FITZ_LIB_SO) : $(FITZ_OBJECT_FILES)
+
+libs: $(FITZ_LIB_A) $(FITZ_LIB_SO1) $(THIRD_LIBS)
+
+$(FITZ_LIB_SO) :
+	$(SO_CMD)
+
+$(FITZ_LIB_SO1) : $(FITZ_LIB_SO)
+	@cd $(OUT) && ln -s `basename $(FITZ_LIB_SO)` libfitz.so.1
+
 # --- Generated CMAP, FONT and JAVASCRIPT files ---
 
 CMAPDUMP := $(OUT)/cmapdump
@@ -162,14 +175,14 @@
 # --- Tools and Apps ---
 
 MUDRAW := $(addprefix $(OUT)/, mudraw)
-$(MUDRAW) : $(FITZ_LIB) $(THIRD_LIBS)
+$(MUDRAW) : $(FITZ_LIB_SO1) $(THIRD_LIBS)
 
 MUTOOL := $(addprefix $(OUT)/, mutool)
-$(MUTOOL) : $(addprefix $(OUT)/, pdfclean.o pdfextract.o pdfinfo.o pdfposter.o pdfshow.o) $(FITZ_LIB) $(THIRD_LIBS)
+$(MUTOOL) : $(addprefix $(OUT)/, pdfclean.o pdfextract.o pdfinfo.o pdfposter.o pdfshow.o) $(FITZ_LIB_SO1) $(THIRD_LIBS)
 
 ifeq "$(NOX11)" ""
 MUVIEW := $(OUT)/mupdf
-$(MUVIEW) : $(FITZ_LIB) $(THIRD_LIBS)
+$(MUVIEW) : $(FITZ_LIB_SO1) $(THIRD_LIBS)
 $(MUVIEW) : $(addprefix $(OUT)/, x11_main.o x11_image.o pdfapp.o)
 	$(LINK_CMD) $(X11_LIBS)
 
@@ -208,18 +221,19 @@
 incdir ?= $(prefix)/include
 mandir ?= $(prefix)/share/man
 
-install: $(FITZ_LIB) $(MUVIEW) $(MUDRAW) $(MUTOOL)
+install: $(FITZ_LIB_SO) $(MUVIEW) $(MUDRAW) $(MUTOOL)
 	install -d $(DESTDIR)$(bindir) $(DESTDIR)$(libdir) $(DESTDIR)$(incdir) $(DESTDIR)$(mandir)/man1
-	install $(FITZ_LIB) $(DESTDIR)$(libdir)
+	install $(FITZ_LIB_SO) $(DESTDIR)$(libdir)
+	ln -s `basename $(FITZ_LIB_SO)` $(DESTDIR)$(libdir)/libfitz.so
 	install fitz/memento.h fitz/fitz.h pdf/mupdf.h xps/muxps.h cbz/mucbz.h $(DESTDIR)$(incdir)
-	install $(MUVIEW) $(MUDRAW) $(MUBUSY) $(DESTDIR)$(bindir)
+	install $(MUVIEW) $(MUDRAW) $(MUTOOL) $(MUBUSY) $(DESTDIR)$(bindir)
 	install $(wildcard apps/man/*.1) $(DESTDIR)$(mandir)/man1
 
 # --- Clean and Default ---
 
 all: all-nojs $(JSTARGETS)
 
-all-nojs: $(THIRD_LIBS) $(FITZ_LIB) $(MUVIEW) $(MUDRAW) $(MUTOOL)
+all-nojs: $(THIRD_LIBS) $(FITZ_LIB_SO) $(MUVIEW) $(MUDRAW) $(MUTOOL)
 
 third: $(THIRD_LIBS)