Added
Link Here
|
1 |
https://github.com/webmproject/libwebp/commit/a3b68c195e27 |
2 |
https://github.com/webmproject/libwebp/commit/7deee8103edf |
3 |
https://github.com/webmproject/libwebp/commit/04764b56a004 |
4 |
https://github.com/webmproject/libwebp/commit/e8f83de28674 |
5 |
|
6 |
--- CMakeLists.txt.orig 2022-08-05 23:49:26 UTC |
7 |
+++ CMakeLists.txt |
8 |
@@ -208,6 +208,46 @@ add_definitions(-DHAVE_CONFIG_H) |
9 |
${CMAKE_CURRENT_BINARY_DIR}/src/webp/config.h) |
10 |
add_definitions(-DHAVE_CONFIG_H) |
11 |
|
12 |
+# Set the version numbers. |
13 |
+macro(set_version FILE TARGET_NAME NAME_IN_MAKEFILE) |
14 |
+ file(READ ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} SOURCE_FILE) |
15 |
+ string(REGEX MATCH |
16 |
+ "${NAME_IN_MAKEFILE}_la_LDFLAGS[^\n]* -version-info [0-9:]+" |
17 |
+ TMP |
18 |
+ ${SOURCE_FILE}) |
19 |
+ string(REGEX MATCH |
20 |
+ "[0-9:]+" |
21 |
+ TMP |
22 |
+ ${TMP}) |
23 |
+ string(REGEX |
24 |
+ REPLACE ":" |
25 |
+ " " |
26 |
+ LT_VERSION |
27 |
+ ${TMP}) |
28 |
+ |
29 |
+ # See the libtool docs for more information: |
30 |
+ # https://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info |
31 |
+ # |
32 |
+ # c=<current>, a=<age>, r=<revision> |
33 |
+ # |
34 |
+ # libtool generates a .so file as .so.[c-a].a.r, while -version-info c:r:a is |
35 |
+ # passed to libtool. |
36 |
+ # |
37 |
+ # We set FULL = [c-a].a.r and MAJOR = [c-a]. |
38 |
+ separate_arguments(LT_VERSION) |
39 |
+ list(GET LT_VERSION 0 LT_CURRENT) |
40 |
+ list(GET LT_VERSION 1 LT_REVISION) |
41 |
+ list(GET LT_VERSION 2 LT_AGE) |
42 |
+ math(EXPR LT_CURRENT_MINUS_AGE "${LT_CURRENT} - ${LT_AGE}") |
43 |
+ |
44 |
+ set_target_properties( |
45 |
+ ${TARGET_NAME} |
46 |
+ PROPERTIES VERSION |
47 |
+ ${LT_CURRENT_MINUS_AGE}.${LT_AGE}.${LT_REVISION} |
48 |
+ SOVERSION |
49 |
+ ${LT_CURRENT_MINUS_AGE}) |
50 |
+endmacro() |
51 |
+ |
52 |
# ############################################################################## |
53 |
# Build the webpdecoder library. |
54 |
|
55 |
@@ -235,15 +275,25 @@ parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/sharpyuv |
56 |
|
57 |
parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/sharpyuv "WEBP_SHARPYUV_SRCS" |
58 |
"") |
59 |
-add_library(sharpyuv OBJECT ${WEBP_SHARPYUV_SRCS}) |
60 |
+add_library(sharpyuv ${WEBP_SHARPYUV_SRCS}) |
61 |
+set_version(sharpyuv/Makefile.am sharpyuv sharpyuv) |
62 |
target_include_directories(sharpyuv |
63 |
PRIVATE ${CMAKE_CURRENT_BINARY_DIR} |
64 |
- ${CMAKE_CURRENT_SOURCE_DIR}) |
65 |
+ ${CMAKE_CURRENT_SOURCE_DIR} |
66 |
+ ${CMAKE_CURRENT_SOURCE_DIR}/src) |
67 |
set_target_properties( |
68 |
sharpyuv |
69 |
PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/sharpyuv/sharpyuv.h;\ |
70 |
-${CMAKE_CURRENT_SOURCE_DIR}/sharpyuv/sharpyuv_csp.h;\ |
71 |
-${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h") |
72 |
+${CMAKE_CURRENT_SOURCE_DIR}/sharpyuv/sharpyuv_csp.h") |
73 |
+configure_pkg_config("sharpyuv/libsharpyuv.pc") |
74 |
+install(TARGETS sharpyuv |
75 |
+ EXPORT ${PROJECT_NAME}Targets |
76 |
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/webp/sharpyuv |
77 |
+ INCLUDES |
78 |
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ${CMAKE_INSTALL_INCLUDEDIR}/webp |
79 |
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} |
80 |
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |
81 |
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) |
82 |
|
83 |
if(MSVC) |
84 |
# avoid security warnings for e.g., fopen() used in the examples. |
85 |
@@ -291,7 +341,8 @@ target_include_directories(webpencode |
86 |
add_library(webpencode OBJECT ${WEBP_ENC_SRCS}) |
87 |
target_include_directories(webpencode |
88 |
PRIVATE ${CMAKE_CURRENT_BINARY_DIR} |
89 |
- ${CMAKE_CURRENT_SOURCE_DIR}) |
90 |
+ ${CMAKE_CURRENT_SOURCE_DIR} |
91 |
+ ${CMAKE_CURRENT_SOURCE_DIR}/src) |
92 |
add_library(webpdsp |
93 |
OBJECT |
94 |
${WEBP_DSP_COMMON_SRCS} |
95 |
@@ -309,11 +360,11 @@ add_library(webp |
96 |
PRIVATE ${CMAKE_CURRENT_BINARY_DIR} |
97 |
${CMAKE_CURRENT_SOURCE_DIR}) |
98 |
add_library(webp |
99 |
- $<TARGET_OBJECTS:sharpyuv> |
100 |
$<TARGET_OBJECTS:webpdecode> |
101 |
$<TARGET_OBJECTS:webpdsp> |
102 |
$<TARGET_OBJECTS:webpencode> |
103 |
$<TARGET_OBJECTS:webputils>) |
104 |
+target_link_libraries(webp sharpyuv) |
105 |
if(XCODE) |
106 |
libwebp_add_stub_file(webp) |
107 |
endif() |
108 |
@@ -332,8 +383,7 @@ ${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h") |
109 |
|
110 |
# Make sure the OBJECT libraries are built with position independent code (it is |
111 |
# not ON by default). |
112 |
-set_target_properties(sharpyuv |
113 |
- webpdecode |
114 |
+set_target_properties(webpdecode |
115 |
webpdspdecode |
116 |
webputilsdecode |
117 |
webpencode |
118 |
@@ -358,48 +408,9 @@ configure_pkg_config("src/demux/libwebpdemux.pc") |
119 |
|
120 |
configure_pkg_config("src/demux/libwebpdemux.pc") |
121 |
|
122 |
-# Set the version numbers. |
123 |
-macro(set_version FILE TARGET_NAME NAME_IN_MAKEFILE) |
124 |
- file(READ ${CMAKE_CURRENT_SOURCE_DIR}/src/${FILE} SOURCE_FILE) |
125 |
- string(REGEX MATCH |
126 |
- "${NAME_IN_MAKEFILE}_la_LDFLAGS[^\n]* -version-info [0-9:]+" |
127 |
- TMP |
128 |
- ${SOURCE_FILE}) |
129 |
- string(REGEX MATCH |
130 |
- "[0-9:]+" |
131 |
- TMP |
132 |
- ${TMP}) |
133 |
- string(REGEX |
134 |
- REPLACE ":" |
135 |
- " " |
136 |
- LT_VERSION |
137 |
- ${TMP}) |
138 |
- |
139 |
- # See the libtool docs for more information: |
140 |
- # https://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info |
141 |
- # |
142 |
- # c=<current>, a=<age>, r=<revision> |
143 |
- # |
144 |
- # libtool generates a .so file as .so.[c-a].a.r, while -version-info c:r:a is |
145 |
- # passed to libtool. |
146 |
- # |
147 |
- # We set FULL = [c-a].a.r and MAJOR = [c-a]. |
148 |
- separate_arguments(LT_VERSION) |
149 |
- list(GET LT_VERSION 0 LT_CURRENT) |
150 |
- list(GET LT_VERSION 1 LT_REVISION) |
151 |
- list(GET LT_VERSION 2 LT_AGE) |
152 |
- math(EXPR LT_CURRENT_MINUS_AGE "${LT_CURRENT} - ${LT_AGE}") |
153 |
- |
154 |
- set_target_properties( |
155 |
- ${TARGET_NAME} |
156 |
- PROPERTIES VERSION |
157 |
- ${LT_CURRENT_MINUS_AGE}.${LT_AGE}.${LT_REVISION} |
158 |
- SOVERSION |
159 |
- ${LT_CURRENT_MINUS_AGE}) |
160 |
-endmacro() |
161 |
-set_version(Makefile.am webp webp) |
162 |
-set_version(Makefile.am webpdecoder webpdecoder) |
163 |
-set_version(demux/Makefile.am webpdemux webpdemux) |
164 |
+set_version(src/Makefile.am webp webp) |
165 |
+set_version(src/Makefile.am webpdecoder webpdecoder) |
166 |
+set_version(src/demux/Makefile.am webpdemux webpdemux) |
167 |
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/configure.ac CONFIGURE_FILE) |
168 |
string(REGEX MATCH |
169 |
"AC_INIT\\([^\n]*\\[[0-9\\.]+\\]" |
170 |
@@ -514,7 +525,7 @@ if(WEBP_BUILD_LIBWEBPMUX) |
171 |
target_include_directories(libwebpmux |
172 |
PRIVATE ${CMAKE_CURRENT_BINARY_DIR} |
173 |
${CMAKE_CURRENT_SOURCE_DIR}) |
174 |
- set_version(mux/Makefile.am libwebpmux webpmux) |
175 |
+ set_version(src/mux/Makefile.am libwebpmux webpmux) |
176 |
set_target_properties(libwebpmux |
177 |
PROPERTIES PUBLIC_HEADER |
178 |
"${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux.h;\ |
179 |
--- configure.orig 2022-08-05 23:55:13 UTC |
180 |
+++ configure |
181 |
@@ -15776,7 +15776,7 @@ ac_config_headers="$ac_config_headers src/webp/config. |
182 |
|
183 |
ac_config_headers="$ac_config_headers src/webp/config.h" |
184 |
|
185 |
-ac_config_files="$ac_config_files Makefile src/Makefile man/Makefile examples/Makefile extras/Makefile imageio/Makefile sharpyuv/Makefile src/dec/Makefile src/enc/Makefile src/dsp/Makefile src/demux/Makefile src/mux/Makefile src/utils/Makefile src/libwebp.pc src/libwebpdecoder.pc src/demux/libwebpdemux.pc src/mux/libwebpmux.pc" |
186 |
+ac_config_files="$ac_config_files Makefile src/Makefile man/Makefile examples/Makefile extras/Makefile imageio/Makefile sharpyuv/Makefile sharpyuv/libsharpyuv.pc src/dec/Makefile src/enc/Makefile src/dsp/Makefile src/demux/Makefile src/mux/Makefile src/utils/Makefile src/libwebp.pc src/libwebpdecoder.pc src/demux/libwebpdemux.pc src/mux/libwebpmux.pc" |
187 |
|
188 |
|
189 |
|
190 |
@@ -16837,6 +16837,7 @@ do |
191 |
"extras/Makefile") CONFIG_FILES="$CONFIG_FILES extras/Makefile" ;; |
192 |
"imageio/Makefile") CONFIG_FILES="$CONFIG_FILES imageio/Makefile" ;; |
193 |
"sharpyuv/Makefile") CONFIG_FILES="$CONFIG_FILES sharpyuv/Makefile" ;; |
194 |
+ "sharpyuv/libsharpyuv.pc") CONFIG_FILES="$CONFIG_FILES sharpyuv/libsharpyuv.pc" ;; |
195 |
"src/dec/Makefile") CONFIG_FILES="$CONFIG_FILES src/dec/Makefile" ;; |
196 |
"src/enc/Makefile") CONFIG_FILES="$CONFIG_FILES src/enc/Makefile" ;; |
197 |
"src/dsp/Makefile") CONFIG_FILES="$CONFIG_FILES src/dsp/Makefile" ;; |
198 |
--- sharpyuv/Makefile.in.orig 2022-08-05 23:55:14 UTC |
199 |
+++ sharpyuv/Makefile.in |
200 |
@@ -90,7 +90,6 @@ host_triplet = @host@ |
201 |
POST_UNINSTALL = : |
202 |
build_triplet = @build@ |
203 |
host_triplet = @host@ |
204 |
-noinst_PROGRAMS = |
205 |
subdir = sharpyuv |
206 |
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
207 |
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ |
208 |
@@ -99,14 +98,42 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGUR |
209 |
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac |
210 |
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
211 |
$(ACLOCAL_M4) |
212 |
-DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ |
213 |
- $(am__DIST_COMMON) |
214 |
+DIST_COMMON = $(srcdir)/Makefile.am $(libsharpyuvinclude_HEADERS) \ |
215 |
+ $(noinst_HEADERS) $(am__DIST_COMMON) |
216 |
mkinstalldirs = $(install_sh) -d |
217 |
CONFIG_HEADER = $(top_builddir)/src/webp/config.h |
218 |
-CONFIG_CLEAN_FILES = |
219 |
+CONFIG_CLEAN_FILES = libsharpyuv.pc |
220 |
CONFIG_CLEAN_VPATH_FILES = |
221 |
-PROGRAMS = $(noinst_PROGRAMS) |
222 |
-LTLIBRARIES = $(noinst_LTLIBRARIES) |
223 |
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; |
224 |
+am__vpath_adj = case $$p in \ |
225 |
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ |
226 |
+ *) f=$$p;; \ |
227 |
+ esac; |
228 |
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; |
229 |
+am__install_max = 40 |
230 |
+am__nobase_strip_setup = \ |
231 |
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` |
232 |
+am__nobase_strip = \ |
233 |
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" |
234 |
+am__nobase_list = $(am__nobase_strip_setup); \ |
235 |
+ for p in $$list; do echo "$$p $$p"; done | \ |
236 |
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ |
237 |
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ |
238 |
+ if (++n[$$2] == $(am__install_max)) \ |
239 |
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ |
240 |
+ END { for (dir in files) print dir, files[dir] }' |
241 |
+am__base_list = \ |
242 |
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ |
243 |
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' |
244 |
+am__uninstall_files_from_dir = { \ |
245 |
+ test -z "$$files" \ |
246 |
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ |
247 |
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ |
248 |
+ $(am__cd) "$$dir" && rm -f $$files; }; \ |
249 |
+ } |
250 |
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \ |
251 |
+ "$(DESTDIR)$(libsharpyuvincludedir)" |
252 |
+LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) |
253 |
libsharpyuv_la_DEPENDENCIES = libsharpyuv_sse2.la libsharpyuv_neon.la |
254 |
am_libsharpyuv_la_OBJECTS = libsharpyuv_la-sharpyuv_csp.lo \ |
255 |
libsharpyuv_la-sharpyuv_dsp.lo \ |
256 |
@@ -183,7 +210,8 @@ am__can_run_installinfo = \ |
257 |
n|no|NO) false;; \ |
258 |
*) (install-info --version) >/dev/null 2>&1;; \ |
259 |
esac |
260 |
-HEADERS = $(noinst_HEADERS) |
261 |
+DATA = $(pkgconfig_DATA) |
262 |
+HEADERS = $(libsharpyuvinclude_HEADERS) $(noinst_HEADERS) |
263 |
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) |
264 |
# Read a list of newline-separated strings from the standard input, |
265 |
# and print each of them once, without duplicates. Input order is |
266 |
@@ -201,7 +229,8 @@ am__define_uniq_tagged_files = \ |
267 |
unique=`for i in $$list; do \ |
268 |
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ |
269 |
done | $(am__uniquify_input)` |
270 |
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp |
271 |
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/libsharpyuv.pc.in \ |
272 |
+ $(top_srcdir)/depcomp |
273 |
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) |
274 |
ACLOCAL = @ACLOCAL@ |
275 |
AMTAR = @AMTAR@ |
276 |
@@ -348,9 +377,10 @@ top_srcdir = @top_srcdir@ |
277 |
top_build_prefix = @top_build_prefix@ |
278 |
top_builddir = @top_builddir@ |
279 |
top_srcdir = @top_srcdir@ |
280 |
-noinst_LTLIBRARIES = libsharpyuv.la libsharpyuv_sse2.la \ |
281 |
- libsharpyuv_neon.la |
282 |
-noinst_HEADERS = ../src/webp/types.h ../src/dsp/cpu.h |
283 |
+lib_LTLIBRARIES = libsharpyuv.la |
284 |
+noinst_LTLIBRARIES = libsharpyuv_sse2.la libsharpyuv_neon.la |
285 |
+libsharpyuvinclude_HEADERS = sharpyuv.h sharpyuv_csp.h |
286 |
+noinst_HEADERS = ../src/dsp/cpu.h |
287 |
libsharpyuv_sse2_la_SOURCES = sharpyuv_sse2.c |
288 |
libsharpyuv_sse2_la_CPPFLAGS = $(libsharpyuv_la_CPPFLAGS) |
289 |
libsharpyuv_sse2_la_CFLAGS = $(AM_CFLAGS) $(SSE2_FLAGS) |
290 |
@@ -361,8 +391,10 @@ libsharpyuv_la_CPPFLAGS = $(AM_CPPFLAGS) |
291 |
sharpyuv_dsp.h sharpyuv_gamma.c sharpyuv_gamma.h sharpyuv.c \ |
292 |
sharpyuv.h |
293 |
libsharpyuv_la_CPPFLAGS = $(AM_CPPFLAGS) |
294 |
-libsharpyuv_la_LDFLAGS = |
295 |
+libsharpyuv_la_LDFLAGS = -no-undefined -version-info 0:0:0 |
296 |
libsharpyuv_la_LIBADD = libsharpyuv_sse2.la libsharpyuv_neon.la |
297 |
+libsharpyuvincludedir = $(includedir)/webp/sharpyuv |
298 |
+pkgconfig_DATA = libsharpyuv.pc |
299 |
all: all-am |
300 |
|
301 |
.SUFFIXES: |
302 |
@@ -396,16 +428,44 @@ $(am__aclocal_m4_deps): |
303 |
$(ACLOCAL_M4): $(am__aclocal_m4_deps) |
304 |
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh |
305 |
$(am__aclocal_m4_deps): |
306 |
+libsharpyuv.pc: $(top_builddir)/config.status $(srcdir)/libsharpyuv.pc.in |
307 |
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ |
308 |
|
309 |
-clean-noinstPROGRAMS: |
310 |
- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ |
311 |
- echo " rm -f" $$list; \ |
312 |
- rm -f $$list || exit $$?; \ |
313 |
- test -n "$(EXEEXT)" || exit 0; \ |
314 |
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ |
315 |
- echo " rm -f" $$list; \ |
316 |
- rm -f $$list |
317 |
+install-libLTLIBRARIES: $(lib_LTLIBRARIES) |
318 |
+ @$(NORMAL_INSTALL) |
319 |
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ |
320 |
+ list2=; for p in $$list; do \ |
321 |
+ if test -f $$p; then \ |
322 |
+ list2="$$list2 $$p"; \ |
323 |
+ else :; fi; \ |
324 |
+ done; \ |
325 |
+ test -z "$$list2" || { \ |
326 |
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ |
327 |
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ |
328 |
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ |
329 |
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ |
330 |
+ } |
331 |
|
332 |
+uninstall-libLTLIBRARIES: |
333 |
+ @$(NORMAL_UNINSTALL) |
334 |
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ |
335 |
+ for p in $$list; do \ |
336 |
+ $(am__strip_dir) \ |
337 |
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ |
338 |
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ |
339 |
+ done |
340 |
+ |
341 |
+clean-libLTLIBRARIES: |
342 |
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) |
343 |
+ @list='$(lib_LTLIBRARIES)'; \ |
344 |
+ locs=`for p in $$list; do echo $$p; done | \ |
345 |
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ |
346 |
+ sort -u`; \ |
347 |
+ test -z "$$locs" || { \ |
348 |
+ echo rm -f $${locs}; \ |
349 |
+ rm -f $${locs}; \ |
350 |
+ } |
351 |
+ |
352 |
clean-noinstLTLIBRARIES: |
353 |
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) |
354 |
@list='$(noinst_LTLIBRARIES)'; \ |
355 |
@@ -418,7 +478,7 @@ libsharpyuv.la: $(libsharpyuv_la_OBJECTS) $(libsharpyu |
356 |
} |
357 |
|
358 |
libsharpyuv.la: $(libsharpyuv_la_OBJECTS) $(libsharpyuv_la_DEPENDENCIES) $(EXTRA_libsharpyuv_la_DEPENDENCIES) |
359 |
- $(AM_V_CCLD)$(libsharpyuv_la_LINK) $(libsharpyuv_la_OBJECTS) $(libsharpyuv_la_LIBADD) $(LIBS) |
360 |
+ $(AM_V_CCLD)$(libsharpyuv_la_LINK) -rpath $(libdir) $(libsharpyuv_la_OBJECTS) $(libsharpyuv_la_LIBADD) $(LIBS) |
361 |
|
362 |
libsharpyuv_neon.la: $(libsharpyuv_neon_la_OBJECTS) $(libsharpyuv_neon_la_DEPENDENCIES) $(EXTRA_libsharpyuv_neon_la_DEPENDENCIES) |
363 |
$(AM_V_CCLD)$(libsharpyuv_neon_la_LINK) $(libsharpyuv_neon_la_OBJECTS) $(libsharpyuv_neon_la_LIBADD) $(LIBS) |
364 |
@@ -516,7 +576,49 @@ clean-libtool: |
365 |
|
366 |
clean-libtool: |
367 |
-rm -rf .libs _libs |
368 |
+install-pkgconfigDATA: $(pkgconfig_DATA) |
369 |
+ @$(NORMAL_INSTALL) |
370 |
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ |
371 |
+ if test -n "$$list"; then \ |
372 |
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ |
373 |
+ $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ |
374 |
+ fi; \ |
375 |
+ for p in $$list; do \ |
376 |
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ |
377 |
+ echo "$$d$$p"; \ |
378 |
+ done | $(am__base_list) | \ |
379 |
+ while read files; do \ |
380 |
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ |
381 |
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ |
382 |
+ done |
383 |
|
384 |
+uninstall-pkgconfigDATA: |
385 |
+ @$(NORMAL_UNINSTALL) |
386 |
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ |
387 |
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ |
388 |
+ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) |
389 |
+install-libsharpyuvincludeHEADERS: $(libsharpyuvinclude_HEADERS) |
390 |
+ @$(NORMAL_INSTALL) |
391 |
+ @list='$(libsharpyuvinclude_HEADERS)'; test -n "$(libsharpyuvincludedir)" || list=; \ |
392 |
+ if test -n "$$list"; then \ |
393 |
+ echo " $(MKDIR_P) '$(DESTDIR)$(libsharpyuvincludedir)'"; \ |
394 |
+ $(MKDIR_P) "$(DESTDIR)$(libsharpyuvincludedir)" || exit 1; \ |
395 |
+ fi; \ |
396 |
+ for p in $$list; do \ |
397 |
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ |
398 |
+ echo "$$d$$p"; \ |
399 |
+ done | $(am__base_list) | \ |
400 |
+ while read files; do \ |
401 |
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libsharpyuvincludedir)'"; \ |
402 |
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(libsharpyuvincludedir)" || exit $$?; \ |
403 |
+ done |
404 |
+ |
405 |
+uninstall-libsharpyuvincludeHEADERS: |
406 |
+ @$(NORMAL_UNINSTALL) |
407 |
+ @list='$(libsharpyuvinclude_HEADERS)'; test -n "$(libsharpyuvincludedir)" || list=; \ |
408 |
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ |
409 |
+ dir='$(DESTDIR)$(libsharpyuvincludedir)'; $(am__uninstall_files_from_dir) |
410 |
+ |
411 |
ID: $(am__tagged_files) |
412 |
$(am__define_uniq_tagged_files); mkid -fID $$unique |
413 |
tags: tags-am |
414 |
@@ -603,8 +705,11 @@ check: check-am |
415 |
done |
416 |
check-am: all-am |
417 |
check: check-am |
418 |
-all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(HEADERS) |
419 |
+all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) |
420 |
installdirs: |
421 |
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(libsharpyuvincludedir)"; do \ |
422 |
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ |
423 |
+ done |
424 |
install: install-am |
425 |
install-exec: install-exec-am |
426 |
install-data: install-data-am |
427 |
@@ -637,8 +742,8 @@ clean: clean-am |
428 |
@echo "it deletes files that may require special tools to rebuild." |
429 |
clean: clean-am |
430 |
|
431 |
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ |
432 |
- clean-noinstPROGRAMS mostlyclean-am |
433 |
+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ |
434 |
+ clean-noinstLTLIBRARIES mostlyclean-am |
435 |
|
436 |
distclean: distclean-am |
437 |
-rm -f ./$(DEPDIR)/libsharpyuv_la-sharpyuv.Plo |
438 |
@@ -663,13 +768,14 @@ info-am: |
439 |
|
440 |
info-am: |
441 |
|
442 |
-install-data-am: |
443 |
+install-data-am: install-libsharpyuvincludeHEADERS \ |
444 |
+ install-pkgconfigDATA |
445 |
|
446 |
install-dvi: install-dvi-am |
447 |
|
448 |
install-dvi-am: |
449 |
|
450 |
-install-exec-am: |
451 |
+install-exec-am: install-libLTLIBRARIES |
452 |
|
453 |
install-html: install-html-am |
454 |
|
455 |
@@ -714,23 +820,27 @@ ps-am: |
456 |
|
457 |
ps-am: |
458 |
|
459 |
-uninstall-am: |
460 |
+uninstall-am: uninstall-libLTLIBRARIES \ |
461 |
+ uninstall-libsharpyuvincludeHEADERS uninstall-pkgconfigDATA |
462 |
|
463 |
.MAKE: install-am install-strip |
464 |
|
465 |
.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ |
466 |
- clean-generic clean-libtool clean-noinstLTLIBRARIES \ |
467 |
- clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ |
468 |
+ clean-generic clean-libLTLIBRARIES clean-libtool \ |
469 |
+ clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ |
470 |
distclean-compile distclean-generic distclean-libtool \ |
471 |
distclean-tags distdir dvi dvi-am html html-am info info-am \ |
472 |
install install-am install-data install-data-am install-dvi \ |
473 |
install-dvi-am install-exec install-exec-am install-html \ |
474 |
- install-html-am install-info install-info-am install-man \ |
475 |
- install-pdf install-pdf-am install-ps install-ps-am \ |
476 |
- install-strip installcheck installcheck-am installdirs \ |
477 |
- maintainer-clean maintainer-clean-generic mostlyclean \ |
478 |
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ |
479 |
- pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am |
480 |
+ install-html-am install-info install-info-am \ |
481 |
+ install-libLTLIBRARIES install-libsharpyuvincludeHEADERS \ |
482 |
+ install-man install-pdf install-pdf-am install-pkgconfigDATA \ |
483 |
+ install-ps install-ps-am install-strip installcheck \ |
484 |
+ installcheck-am installdirs maintainer-clean \ |
485 |
+ maintainer-clean-generic mostlyclean mostlyclean-compile \ |
486 |
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ |
487 |
+ tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES \ |
488 |
+ uninstall-libsharpyuvincludeHEADERS uninstall-pkgconfigDATA |
489 |
|
490 |
.PRECIOUS: Makefile |
491 |
|
492 |
--- sharpyuv/libsharpyuv.pc.in.orig 2022-10-15 00:14:31 UTC |
493 |
+++ sharpyuv/libsharpyuv.pc.in |
494 |
@@ -0,0 +1,11 @@ |
495 |
+prefix=@prefix@ |
496 |
+exec_prefix=@exec_prefix@ |
497 |
+libdir=@libdir@ |
498 |
+includedir=@includedir@/webp |
499 |
+ |
500 |
+Name: libsharpyuv |
501 |
+Description: Library for sharp RGB to YUV conversion |
502 |
+Version: @PACKAGE_VERSION@ |
503 |
+Cflags: -I${includedir} |
504 |
+Libs: -L${libdir} -lsharpyuv |
505 |
+Libs.private: -lm @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ |
506 |
--- sharpyuv/sharpyuv.c.orig 2022-08-05 23:49:26 UTC |
507 |
+++ sharpyuv/sharpyuv.c |
508 |
@@ -417,7 +417,7 @@ static int DoSharpArgbToYuv(const uint8_t* r_ptr, cons |
509 |
// Hidden exported init function. |
510 |
// By default SharpYuvConvert calls it with NULL. If needed, users can declare |
511 |
// it as extern and call it with a VP8CPUInfo function. |
512 |
-extern void SharpYuvInit(VP8CPUInfo cpu_info_func); |
513 |
+SHARPYUV_EXTERN void SharpYuvInit(VP8CPUInfo cpu_info_func); |
514 |
void SharpYuvInit(VP8CPUInfo cpu_info_func) { |
515 |
static volatile VP8CPUInfo sharpyuv_last_cpuinfo_used = |
516 |
(VP8CPUInfo)&sharpyuv_last_cpuinfo_used; |
517 |
--- sharpyuv/sharpyuv.h.orig 2022-08-05 23:49:26 UTC |
518 |
+++ sharpyuv/sharpyuv.h |
519 |
@@ -18,6 +18,20 @@ extern "C" { |
520 |
extern "C" { |
521 |
#endif |
522 |
|
523 |
+#ifndef SHARPYUV_EXTERN |
524 |
+#ifdef WEBP_EXTERN |
525 |
+#define SHARPYUV_EXTERN WEBP_EXTERN |
526 |
+#else |
527 |
+// This explicitly marks library functions and allows for changing the |
528 |
+// signature for e.g., Windows DLL builds. |
529 |
+#if defined(__GNUC__) && __GNUC__ >= 4 |
530 |
+#define SHARPYUV_EXTERN extern __attribute__((visibility("default"))) |
531 |
+#else |
532 |
+#define SHARPYUV_EXTERN extern |
533 |
+#endif /* __GNUC__ >= 4 */ |
534 |
+#endif /* WEBP_EXTERN */ |
535 |
+#endif /* SHARPYUV_EXTERN */ |
536 |
+ |
537 |
// SharpYUV API version following the convention from semver.org |
538 |
#define SHARPYUV_VERSION_MAJOR 0 |
539 |
#define SHARPYUV_VERSION_MINOR 1 |
540 |
@@ -65,11 +79,13 @@ typedef struct { |
541 |
// adjacent pixels on the y, u and v channels. If yuv_bit_depth > 8, they |
542 |
// should be multiples of 2. |
543 |
// width, height: width and height of the image in pixels |
544 |
-int SharpYuvConvert(const void* r_ptr, const void* g_ptr, const void* b_ptr, |
545 |
- int rgb_step, int rgb_stride, int rgb_bit_depth, |
546 |
- void* y_ptr, int y_stride, void* u_ptr, int u_stride, |
547 |
- void* v_ptr, int v_stride, int yuv_bit_depth, int width, |
548 |
- int height, const SharpYuvConversionMatrix* yuv_matrix); |
549 |
+SHARPYUV_EXTERN int SharpYuvConvert(const void* r_ptr, const void* g_ptr, |
550 |
+ const void* b_ptr, int rgb_step, |
551 |
+ int rgb_stride, int rgb_bit_depth, |
552 |
+ void* y_ptr, int y_stride, void* u_ptr, |
553 |
+ int u_stride, void* v_ptr, int v_stride, |
554 |
+ int yuv_bit_depth, int width, int height, |
555 |
+ const SharpYuvConversionMatrix* yuv_matrix); |
556 |
|
557 |
// TODO(b/194336375): Add YUV444 to YUV420 conversion. Maybe also add 422 |
558 |
// support (it's rarely used in practice, especially for images). |
559 |
--- sharpyuv/sharpyuv_csp.h.orig 2022-08-05 23:49:26 UTC |
560 |
+++ sharpyuv/sharpyuv_csp.h |
561 |
@@ -35,8 +35,9 @@ typedef struct { |
562 |
} SharpYuvColorSpace; |
563 |
|
564 |
// Fills in 'matrix' for the given YUVColorSpace. |
565 |
-void SharpYuvComputeConversionMatrix(const SharpYuvColorSpace* yuv_color_space, |
566 |
- SharpYuvConversionMatrix* matrix); |
567 |
+SHARPYUV_EXTERN void SharpYuvComputeConversionMatrix( |
568 |
+ const SharpYuvColorSpace* yuv_color_space, |
569 |
+ SharpYuvConversionMatrix* matrix); |
570 |
|
571 |
// Enums for precomputed conversion matrices. |
572 |
typedef enum { |
573 |
@@ -49,7 +50,7 @@ typedef enum { |
574 |
} SharpYuvMatrixType; |
575 |
|
576 |
// Returns a pointer to a matrix for one of the predefined colorspaces. |
577 |
-const SharpYuvConversionMatrix* SharpYuvGetConversionMatrix( |
578 |
+SHARPYUV_EXTERN const SharpYuvConversionMatrix* SharpYuvGetConversionMatrix( |
579 |
SharpYuvMatrixType matrix_type); |
580 |
|
581 |
#ifdef __cplusplus |
582 |
--- src/libwebp.pc.in.orig 2022-08-05 23:49:26 UTC |
583 |
+++ src/libwebp.pc.in |
584 |
@@ -6,6 +6,7 @@ Version: @PACKAGE_VERSION@ |
585 |
Name: libwebp |
586 |
Description: Library for the WebP graphics format |
587 |
Version: @PACKAGE_VERSION@ |
588 |
+Requires: libsharpyuv |
589 |
Cflags: -I${includedir} |
590 |
Libs: -L${libdir} -lwebp |
591 |
Libs.private: -lm @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ |