]> git.pld-linux.org Git - packages/libbpg.git/blame - libbpg-shared.patch
- added shared patch, build dynamic library
[packages/libbpg.git] / libbpg-shared.patch
CommitLineData
511242b5
JB
1--- libbpg-0.9.5/Makefile.orig 2015-01-11 17:17:07.000000000 +0100
2+++ libbpg-0.9.5/Makefile 2015-01-13 21:41:19.791296623 +0100
3@@ -18,6 +18,9 @@
4 #CONFIG_APPLE=y
5 # Installation prefix
6 prefix=/usr/local
7+bindir=$(prefix)/bin
8+libdir=$(prefix)/lib
9+includedir=$(prefix)/include
10
11
12 #################################
13@@ -38,7 +41,7 @@
14
15 PWD:=$(shell pwd)
16
17-CFLAGS:=-Os -Wall -MMD -fno-asynchronous-unwind-tables -fdata-sections -ffunction-sections -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -fomit-frame-pointer
18+CFLAGS:=$(OPTFLAGS) -Wall -MMD -fno-asynchronous-unwind-tables -fdata-sections -ffunction-sections -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -fomit-frame-pointer
19 CFLAGS+=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT
20 CFLAGS+=-I.
21 CFLAGS+=-DCONFIG_BPG_VERSION=\"$(shell cat VERSION)\"
22@@ -53,7 +56,7 @@
23 EMLDFLAGS+=-O3 --memory-init-file 0 --closure 1 --post-js post.js
24 EMCFLAGS:=$(CFLAGS)
25
26-LDFLAGS=-g
27+LDFLAGS=-Wl,--as-needed -Wl,--no-copy-dt-needed-entries -Wl,-z,relro -Wl,-z,combreloc
28 ifdef CONFIG_APPLE
29 LDFLAGS+=-Wl,-dead_strip
30 else
31@@ -85,7 +88,7 @@
32
33 LIBBPG_JS8A_OBJS:=$(patsubst %.o, %.js8a.o, $(LIBBPG_OBJS)) tmalloc.js8a.o
34
35-$(LIBBPG_OBJS): CFLAGS+=-D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DHAVE_AV_CONFIG_H -std=c99 -D_GNU_SOURCE=1 -DUSE_VAR_BIT_DEPTH -DUSE_PRED
36+$(LIBBPG_OBJS) $(LIBBPG_OBJS:.o=.lo): CFLAGS+=-D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DHAVE_AV_CONFIG_H -std=c99 -D_GNU_SOURCE=1 -DUSE_VAR_BIT_DEPTH -DUSE_PRED
37
38 $(LIBBPG_JS_OBJS): EMCFLAGS+=-D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DHAVE_AV_CONFIG_H -std=c99 -D_GNU_SOURCE=1 -DUSE_VAR_BIT_DEPTH
39
40@@ -155,17 +158,17 @@
41
42 bpgenc.o: CFLAGS+=-Wno-unused-but-set-variable
43
44-libbpg.a: $(LIBBPG_OBJS)
45- $(AR) rcs $@ $^
46+libbpg.la: $(LIBBPG_OBJS:.o=.lo)
47+ libtool --mode=link --tag=CC $(CC) $(LDFLAGS) -o $@ $^ -rpath $(libdir)
48
49-bpgdec$(EXE): bpgdec.o libbpg.a
50- $(CC) $(LDFLAGS) -o $@ $^ $(BPGDEC_LIBS)
51+bpgdec$(EXE): bpgdec.o libbpg.la
52+ libtool --mode=link --tag=CC $(CC) $(LDFLAGS) -o $@ $^ $(BPGDEC_LIBS)
53
54 bpgenc$(EXE): $(BPGENC_OBJS)
55 $(CXX) $(LDFLAGS) -o $@ $^ $(BPGENC_LIBS)
56
57-bpgview$(EXE): bpgview.o libbpg.a
58- $(CC) $(LDFLAGS) -o $@ $^ $(BPGVIEW_LIBS)
59+bpgview$(EXE): bpgview.o libbpg.la
60+ libtool --mode=link --tag=CC $(CC) $(LDFLAGS) -o $@ $^ $(BPGVIEW_LIBS)
61
62 bpgdec.js: $(LIBBPG_JS_OBJS) post.js
63 $(EMCC) $(EMLDFLAGS) -s TOTAL_MEMORY=33554432 -o $@ $(LIBBPG_JS_OBJS)
64@@ -177,12 +180,17 @@
65 $(EMCC) $(EMLDFLAGS) -s TOTAL_MEMORY=16777216 -o $@ $(LIBBPG_JS8A_OBJS)
66
67 size:
68- strip bpgdec
69 size bpgdec libbpg.o libavcodec/*.o libavutil/*.o | sort -n
70 gzip < bpgdec | wc
71
72+install-lib: libbpg.la
73+ install -d $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)
74+ libtool --mode=install install libbpg.la $(DESTDIR)$(libdir)
75+ install -m 644 bpgenc.h libbpg.h $(DESTDIR)$(includedir)
76+
77 install: bpgenc bpgdec
78- install -s -m 755 $^ $(prefix)/bin
79+ install -d $(DESTDIR)$(bindir)
80+ install -m 755 $^ $(DESTDIR)$(bindir)
81
82 CLEAN_DIRS=doc html libavcodec libavutil \
83 jctvc jctvc/TLibEncoder jctvc/TLibVideoIO jctvc/TLibCommon jctvc/libmd5
84@@ -198,6 +206,12 @@
85 %.o: %.cpp
86 $(CXX) $(CXXFLAGS) -c -o $@ $<
87
88+%.lo: %.c
89+ libtool --mode=compile --tag=CC $(CC) $(CFLAGS) -c -o $@ $<
90+
91+%.lo: %.cpp
92+ libtool --mode=compile --tag=CXX $(CXX) $(CXXFLAGS) -c -o $@ $<
93+
94 %.js.o: %.c
95 $(EMCC) $(EMCFLAGS) -c -o $@ $<
96
This page took 0.104157 seconds and 4 git commands to generate.