summaryrefslogtreecommitdiffstats
path: root/testing/mupdf/shared-lib.patch
blob: 6a3982f70ab2e44e963e54d0b96b65c7eda5acc4 (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
--- ./Makefile.orig
+++ ./Makefile
@@ -13,6 +13,7 @@
 # XCFLAGS or XLIBS instead. Make ignores any lines in the makefile that
 # set a variable that was set on the command line.
 CFLAGS += $(XCFLAGS) -Iinclude -I$(GEN)
+CFLAGS += -fPIC
 LIBS += $(XLIBS) -lm
 
 include Makerules
@@ -55,6 +56,7 @@
 CXX_CMD = $(QUIET_CXX) $(CXX) $(CFLAGS) -o $@ -c $<
 AR_CMD = $(QUIET_AR) $(AR) cr $@ $^
 LINK_CMD = $(QUIET_LINK) $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
+LINK_SHARED_CMD = $(QUIET_LINK) $(CC) $(LDFLAGS) -shared -Wl,-soname,$(notdir $@) -o $@ $^ $(LIBS)
 MKDIR_CMD = $(QUIET_MKDIR) mkdir -p $@
 RM_CMD = $(QUIET_RM) rm -f $@
 
@@ -128,7 +130,7 @@
 
 # --- Library ---
 
-MUPDF_LIB := $(OUT)/libmupdf.a
+MUPDF_LIB := $(OUT)/libmupdf.so.0
 
 $(MUPDF_LIB) : $(FITZ_OBJ) $(PDF_OBJ) $(XPS_OBJ) $(CBZ_OBJ) $(IMG_OBJ) $(TIFF_OBJ)
 
@@ -143,6 +145,9 @@
 	$(RM_CMD)
 	$(AR_CMD)
 	$(RANLIB_CMD)
+
+$(OUT)/%.so.0 : $(OUT)/%.a
+	$(LINK_SHARED_CMD)
 
 $(OUT)/%: $(OUT)/%.o
 	$(LINK_CMD)