View | Details | Raw Unified | Return to bug 267062
Collapse All | Expand All

(-)b/graphics/webp/Makefile (+1 lines)
Lines 1-5 Link Here
1
PORTNAME=	webp
1
PORTNAME=	webp
2
PORTVERSION=	1.2.4
2
PORTVERSION=	1.2.4
3
PORTREVISION=	1
3
CATEGORIES=	graphics
4
CATEGORIES=	graphics
4
MASTER_SITES=	http://downloads.webmproject.org/releases/webp/ \
5
MASTER_SITES=	http://downloads.webmproject.org/releases/webp/ \
5
		https://storage.googleapis.com/downloads.webmproject.org/releases/webp/
6
		https://storage.googleapis.com/downloads.webmproject.org/releases/webp/
(-)b/graphics/webp/files/patch-shared-sharpyuv (+591 lines)
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@
(-)b/graphics/webp/pkg-plist (+7 lines)
Lines 10-16 include/webp/demux.h Link Here
10
include/webp/encode.h
10
include/webp/encode.h
11
include/webp/mux.h
11
include/webp/mux.h
12
include/webp/mux_types.h
12
include/webp/mux_types.h
13
include/webp/sharpyuv/sharpyuv.h
14
include/webp/sharpyuv/sharpyuv_csp.h
13
include/webp/types.h
15
include/webp/types.h
16
lib/libsharpyuv.a
17
lib/libsharpyuv.so
18
lib/libsharpyuv.so.0
19
lib/libsharpyuv.so.0.0.0
14
lib/libwebp.a
20
lib/libwebp.a
15
lib/libwebp.so
21
lib/libwebp.so
16
lib/libwebp.so.7
22
lib/libwebp.so.7
Lines 27-32 lib/libwebpmux.a Link Here
27
lib/libwebpmux.so
33
lib/libwebpmux.so
28
lib/libwebpmux.so.3
34
lib/libwebpmux.so.3
29
lib/libwebpmux.so.3.0.10
35
lib/libwebpmux.so.3.0.10
36
libdata/pkgconfig/libsharpyuv.pc
30
libdata/pkgconfig/libwebp.pc
37
libdata/pkgconfig/libwebp.pc
31
libdata/pkgconfig/libwebpdecoder.pc
38
libdata/pkgconfig/libwebpdecoder.pc
32
libdata/pkgconfig/libwebpdemux.pc
39
libdata/pkgconfig/libwebpdemux.pc

Return to bug 267062