Message ID | 1407352737-7959-2-git-send-email-diorcet.yann@gmail.com |
---|---|
State | Rejected |
Delegated to: | Christian Sørensen |
Headers | show |
Hi Yann On 2014-08-06 21:18, Yann Diorcet wrote: > --- > .../0001-enable-shared-on.mingw32.patch | 130 +++++++++++++++++++++ > recipes/libvpx/libvpx-1.3.0/02_osx.patch | 44 +++++++ > recipes/libvpx/libvpx-1.3.0/enable_shared.patch | 23 ++++ > recipes/libvpx/libvpx.inc | 34 ++++++ > recipes/libvpx/libvpx_1.3.0.oe | 5 + > recipes/libvpx/libvpx_1.3.0.oe.sig | 1 + > 6 files changed, 237 insertions(+) > create mode 100644 recipes/libvpx/libvpx-1.3.0/0001-enable-shared-on.mingw32.patch > create mode 100644 recipes/libvpx/libvpx-1.3.0/02_osx.patch > create mode 100644 recipes/libvpx/libvpx-1.3.0/enable_shared.patch > create mode 100644 recipes/libvpx/libvpx.inc > create mode 100644 recipes/libvpx/libvpx_1.3.0.oe > create mode 100644 recipes/libvpx/libvpx_1.3.0.oe.sig > > diff --git a/recipes/libvpx/libvpx-1.3.0/0001-enable-shared-on.mingw32.patch b/recipes/libvpx/libvpx-1.3.0/0001-enable-shared-on.mingw32.patch > new file mode 100644 > index 0000000..2981907 > --- /dev/null > +++ b/recipes/libvpx/libvpx-1.3.0/0001-enable-shared-on.mingw32.patch > @@ -0,0 +1,130 @@ > +diff --git a/build/make/Makefile b/build/make/Makefile > +index 030c1b5..1ef1056 100644 > +--- a/build/make/Makefile > ++++ b/build/make/Makefile > +@@ -268,7 +268,7 @@ define so_template > + $(1): > + $(if $(quiet),@echo " [LD] $$@") > + $(qexec)$$(LD) -shared $$(LDFLAGS) \ > +- -Wl,--no-undefined -Wl,-soname,$$(SONAME) \ > ++ -Wl,--no-undefined -Wl,--out-implib,libvpx.dll.a \ > + -Wl,--version-script,$$(EXPORTS_FILE) -o $$@ \ > + $$(filter %.o,$$^) $$(extralibs) > + endef > +@@ -351,7 +351,7 @@ LIBS=$(call enabled,LIBS) > + .libs: $(LIBS) > + @touch $@ > + $(foreach lib,$(filter %_g.a,$(LIBS)),$(eval $(call archive_template,$(lib)))) > +-$(foreach lib,$(filter %so.$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH),$(LIBS)),$(eval $(call so_template,$(lib)))) > ++$(foreach lib,$(filter %-$(VERSION_MAJOR).dll,$(LIBS)),$(eval $(call so_template,$(lib)))) > + $(foreach lib,$(filter %$(VERSION_MAJOR).dylib,$(LIBS)),$(eval $(call dl_template,$(lib)))) > + > + INSTALL-LIBS=$(call cond_enabled,CONFIG_INSTALL_LIBS,INSTALL-LIBS) > +diff --git a/build/make/configure.sh b/build/make/configure.sh > +index 8dcb9bb..27f735b 100755 > +--- a/build/make/configure.sh > ++++ b/build/make/configure.sh > +@@ -542,11 +542,14 @@ process_common_cmdline() { > + --libdir=*) > + libdir="${optval}" > + ;; > ++ --bindir=*) > ++ bindir="${optval}" > ++ ;; > + --sdk-path=*) > + [ -d "${optval}" ] || die "Not a directory: ${optval}" > + sdk_path="${optval}" > + ;; > +- --libc|--as|--prefix|--libdir|--sdk-path) > ++ --libc|--as|--prefix|--libdir|--bindir|--sdk-path) > + die "Option ${opt} requires argument" > + ;; > + --help|-h) show_help > +@@ -573,9 +576,14 @@ post_process_common_cmdline() { > + prefix="${prefix%/}" > + libdir="${libdir:-${prefix}/lib}" > + libdir="${libdir%/}" > ++ bindir="${bindir:-${prefix}/bin}" > ++ bindir="${bindir%/}" > + if [ "${libdir#${prefix}}" = "${libdir}" ]; then > + die "Libdir ${libdir} must be a subdirectory of ${prefix}" > + fi > ++ if [ "${bindir#${prefix}}" = "${bindir}" ]; then > ++ die "Bindir ${bindir} must be a subdirectory of ${prefix}" > ++ fi > + } > + > + > +diff --git a/configure b/configure > +index 4ff3fc7..b3b4d72 100755 > +--- a/configure > ++++ b/configure > +@@ -474,6 +474,7 @@ else > + DIST_DIR?=\$(DESTDIR)${prefix} > + endif > + LIBSUBDIR=${libdir##${prefix}/} > ++BINSUBDIR=${bindir##${prefix}/} > + > + VERSION_STRING=${VERSION_STRING} > + > +diff --git a/libs.mk b/libs.mk > +index 4062833..0a1cfcd 100644 > +--- a/libs.mk > ++++ b/libs.mk > +@@ -162,6 +162,7 @@ endif > + INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx/% > + INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx_ports/% > + INSTALL_MAPS += $(LIBSUBDIR)/% % > ++INSTALL_MAPS += $(BINSUBDIR)/% % > + INSTALL_MAPS += src/% $(SRC_PATH_BARE)/% > + ifeq ($(CONFIG_MSVS),yes) > + INSTALL_MAPS += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/% $(p)/Release/%) > +@@ -271,19 +272,19 @@ EXPORT_FILE := libvpx.syms > + LIBVPX_SO_SYMLINKS := $(addprefix $(LIBSUBDIR)/, \ > + libvpx.dylib ) > + else > +-LIBVPX_SO := libvpx.so.$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH) > ++LIBVPX_SO := libvpx-$(VERSION_MAJOR).dll This does not look good.. > + EXPORT_FILE := libvpx.ver > + SYM_LINK := libvpx.so > +-LIBVPX_SO_SYMLINKS := $(addprefix $(LIBSUBDIR)/, \ > +- libvpx.so libvpx.so.$(VERSION_MAJOR) \ > +- libvpx.so.$(VERSION_MAJOR).$(VERSION_MINOR)) > ++LIBVPX_SO_SYMLINKS := $(addprefix $(BINSUBDIR)/, \ > ++ libvpx-$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH).dll \ > ++ libvpx-$(VERSION_MAJOR).$(VERSION_MINOR).dll) > + endif > + > + LIBS-$(BUILD_LIBVPX_SO) += $(BUILD_PFX)$(LIBVPX_SO)\ > + $(notdir $(LIBVPX_SO_SYMLINKS)) > + $(BUILD_PFX)$(LIBVPX_SO): $(LIBVPX_OBJS) $(EXPORT_FILE) > + $(BUILD_PFX)$(LIBVPX_SO): extralibs += -lm > +-$(BUILD_PFX)$(LIBVPX_SO): SONAME = libvpx.so.$(VERSION_MAJOR) > ++$(BUILD_PFX)$(LIBVPX_SO): SONAME = libvpx-$(VERSION_MAJOR).dll > + $(BUILD_PFX)$(LIBVPX_SO): EXPORTS_FILE = $(EXPORT_FILE) > + > + libvpx.ver: $(call enabled,CODEC_EXPORTS) > +@@ -314,7 +315,7 @@ $(eval $(call libvpx_symlink_template,\ > + > + > + INSTALL-LIBS-$(BUILD_LIBVPX_SO) += $(LIBVPX_SO_SYMLINKS) > +-INSTALL-LIBS-$(BUILD_LIBVPX_SO) += $(LIBSUBDIR)/$(LIBVPX_SO) > ++INSTALL-LIBS-$(BUILD_LIBVPX_SO) += $(BINSUBDIR)/$(LIBVPX_SO) > + > + > + LIBS-$(BUILD_LIBVPX) += vpx.pc > +diff --git a/vp8/common/generic/systemdependent.c b/vp8/common/generic/systemdependent.c > +index d84df33..b606309 100644 > +--- a/vp8/common/generic/systemdependent.c > ++++ b/vp8/common/generic/systemdependent.c > +@@ -18,6 +18,10 @@ > + #endif > + #include "vp8/common/onyxc_int.h" > + > ++#if defined(_WIN32) > ++#undef HAVE_UNISTD_H > ++#endif > ++ > + #if CONFIG_MULTITHREAD > + #if HAVE_UNISTD_H && !defined(__OS2__) > + #include <unistd.h> > diff --git a/recipes/libvpx/libvpx-1.3.0/02_osx.patch b/recipes/libvpx/libvpx-1.3.0/02_osx.patch > new file mode 100644 > index 0000000..b08afe0 > --- /dev/null > +++ b/recipes/libvpx/libvpx-1.3.0/02_osx.patch > @@ -0,0 +1,44 @@ > +diff --git a/build/make/Makefile b/build/make/Makefile > +index 030c1b5..4405c0c 100644 > +--- a/build/make/Makefile > ++++ b/build/make/Makefile > +@@ -72,7 +72,7 @@ ASFLAGS+=-I$(BUILD_PFX)$(BUILD_ROOT)/ -I$(SRC_PATH)/ > + DIST_DIR?=dist > + HOSTCC?=gcc > + TGT_ISA:=$(word 1, $(subst -, ,$(TOOLCHAIN))) > +-TGT_OS:=$(word 2, $(subst -, ,$(TOOLCHAIN))) > ++TGT_OS:=darwin11 > + TGT_CC:=$(word 3, $(subst -, ,$(TOOLCHAIN))) > + quiet:=$(if $(or $(verbose), $(V)),, yes) > + qexec=$(if $(quiet),@) > +@@ -281,7 +281,8 @@ $(1): > + $(if $(quiet),@echo " [LD] $$@") > + $(qexec)$$(LD) -dynamiclib $$(LDFLAGS) \ > + -exported_symbols_list $$(EXPORTS_FILE) \ > +- -Wl,-headerpad_max_install_names,-compatibility_version,1.0,-current_version,$$(VERSION_MAJOR) \ > ++ -Wl,-install_name,$(PREFIX)/$(LIBSUBDIR)/$$(LIBVPX_SO) -Wl,-current_version,$(VERSION_MAJOR).$(VERSION_MINOR) \ > ++ -Wl,-compatibility_version,$(VERSION_MAJOR) -o $$@ \ > + -o $$@ \ > + $$(filter %.o,$$^) $$(extralibs) > + endef > +diff --git a/vp9/exports_enc b/vp9/exports_enc > +index 25156e8..2a0fef3 100644 > +--- a/vp9/exports_enc > ++++ b/vp9/exports_enc > +@@ -1,4 +1,2 @@ > + data vpx_codec_vp9_cx_algo > + text vpx_codec_vp9_cx > +-data vpx_codec_vp9x_cx_algo > +-text vpx_codec_vp9x_cx > +diff --git a/vpx/exports_enc b/vpx/exports_enc > +index 1d9340c..9e73dfb 100644 > +--- a/vpx/exports_enc > ++++ b/vpx/exports_enc > +@@ -8,7 +8,6 @@ text vpx_codec_get_preview_frame > + text vpx_codec_set_cx_data_buf > + text vpx_svc_dump_statistics > + text vpx_svc_encode > +-text vpx_svc_free > + text vpx_svc_get_buffer > + text vpx_svc_get_encode_frame_count > + text vpx_svc_get_frame_size > diff --git a/recipes/libvpx/libvpx-1.3.0/enable_shared.patch b/recipes/libvpx/libvpx-1.3.0/enable_shared.patch > new file mode 100644 > index 0000000..538552b > --- /dev/null > +++ b/recipes/libvpx/libvpx-1.3.0/enable_shared.patch > @@ -0,0 +1,23 @@ > +diff --git a/configure b/configure > +index 4ff3fc7..498e75e 100755 > +--- a/configure > ++++ b/configure > +@@ -501,18 +519,6 @@ EOF > + } > + > + process_detect() { > +- if enabled shared; then > +- # Can only build shared libs on a subset of platforms. Doing this check > +- # here rather than at option parse time because the target auto-detect > +- # magic happens after the command line has been parsed. > +- if ! enabled linux; then > +- if enabled gnu; then > +- echo "--enable-shared is only supported on ELF; assuming this is OK" > +- else > +- die "--enable-shared only supported on ELF for now" > +- fi > +- fi > +- fi > + if [ -z "$CC" ] || enabled external_build; then > + echo "Bypassing toolchain for environment detection." > + enable_feature external_build Maybe consider extending the check instead of just removing it. > diff --git a/recipes/libvpx/libvpx.inc b/recipes/libvpx/libvpx.inc > new file mode 100644 > index 0000000..6d9f3e8 > --- /dev/null > +++ b/recipes/libvpx/libvpx.inc > @@ -0,0 +1,34 @@ > +DESCRIPTION = "vpx Multi-Format Codec SDK" > +LICENSE = "BSD" > + > +RECIPE_TYPES = "machine native" > + > +DEPENDS = "libm" > +DEPENDS:>TARGET_OS_linux-gnu = " libpthread" > + > +PARALLEL_MAKE = "" > + > +inherit autotools library pkgconfig library This is not autotools based. inherit make instead > + > +SRC_URI = "git://git.chromium.org/webm/libvpx.git;tag=v${PV};protocol=http" > +S = "${SRCDIR}/libvpx" > + > +export LD = "${CC}" > + > +EXTRA_OEMAKE += "V=1" > + > +autotools_configure () { > + if [ -x "${CONFIGURE_SCRIPT}" ] ; then > + ${CONFIGURE_SCRIPT} \ > + --prefix=${prefix} \ > + --target=generic-gnu \ > + --enable-vp8 \ > + --enable-libs \ > + --disable-install-docs \ > + --disable-debug-libs \ > + --disable-examples \ > + --disable-unit-tests > + else > + oefatal "no configure script found" > + fi > +} Why overwrite the autotools_configure? It should be enough just to append to EXTRA_OECONF? > diff --git a/recipes/libvpx/libvpx_1.3.0.oe b/recipes/libvpx/libvpx_1.3.0.oe > new file mode 100644 > index 0000000..57d5dc9 > --- /dev/null > +++ b/recipes/libvpx/libvpx_1.3.0.oe > @@ -0,0 +1,5 @@ > +require libvpx.inc > + > +SRC_URI += "file://enable_shared.patch" > +SRC_URI:>TARGET_OS_darwin = " file://02_osx.patch" > +SRC_URI:>TARGET_OS_mingw32 = " file://0001-enable-shared-on.mingw32.patch" > diff --git a/recipes/libvpx/libvpx_1.3.0.oe.sig b/recipes/libvpx/libvpx_1.3.0.oe.sig > new file mode 100644 > index 0000000..f87d77f > --- /dev/null > +++ b/recipes/libvpx/libvpx_1.3.0.oe.sig > @@ -0,0 +1 @@ > +2e88f2f2ec777259bda1714e72f1ecd2519bceb5 git://git.chromium.org/webm/libvpx.git;protocol=http;tag=v1.3.0 /Christian
diff --git a/recipes/libvpx/libvpx-1.3.0/0001-enable-shared-on.mingw32.patch b/recipes/libvpx/libvpx-1.3.0/0001-enable-shared-on.mingw32.patch new file mode 100644 index 0000000..2981907 --- /dev/null +++ b/recipes/libvpx/libvpx-1.3.0/0001-enable-shared-on.mingw32.patch @@ -0,0 +1,130 @@ +diff --git a/build/make/Makefile b/build/make/Makefile +index 030c1b5..1ef1056 100644 +--- a/build/make/Makefile ++++ b/build/make/Makefile +@@ -268,7 +268,7 @@ define so_template + $(1): + $(if $(quiet),@echo " [LD] $$@") + $(qexec)$$(LD) -shared $$(LDFLAGS) \ +- -Wl,--no-undefined -Wl,-soname,$$(SONAME) \ ++ -Wl,--no-undefined -Wl,--out-implib,libvpx.dll.a \ + -Wl,--version-script,$$(EXPORTS_FILE) -o $$@ \ + $$(filter %.o,$$^) $$(extralibs) + endef +@@ -351,7 +351,7 @@ LIBS=$(call enabled,LIBS) + .libs: $(LIBS) + @touch $@ + $(foreach lib,$(filter %_g.a,$(LIBS)),$(eval $(call archive_template,$(lib)))) +-$(foreach lib,$(filter %so.$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH),$(LIBS)),$(eval $(call so_template,$(lib)))) ++$(foreach lib,$(filter %-$(VERSION_MAJOR).dll,$(LIBS)),$(eval $(call so_template,$(lib)))) + $(foreach lib,$(filter %$(VERSION_MAJOR).dylib,$(LIBS)),$(eval $(call dl_template,$(lib)))) + + INSTALL-LIBS=$(call cond_enabled,CONFIG_INSTALL_LIBS,INSTALL-LIBS) +diff --git a/build/make/configure.sh b/build/make/configure.sh +index 8dcb9bb..27f735b 100755 +--- a/build/make/configure.sh ++++ b/build/make/configure.sh +@@ -542,11 +542,14 @@ process_common_cmdline() { + --libdir=*) + libdir="${optval}" + ;; ++ --bindir=*) ++ bindir="${optval}" ++ ;; + --sdk-path=*) + [ -d "${optval}" ] || die "Not a directory: ${optval}" + sdk_path="${optval}" + ;; +- --libc|--as|--prefix|--libdir|--sdk-path) ++ --libc|--as|--prefix|--libdir|--bindir|--sdk-path) + die "Option ${opt} requires argument" + ;; + --help|-h) show_help +@@ -573,9 +576,14 @@ post_process_common_cmdline() { + prefix="${prefix%/}" + libdir="${libdir:-${prefix}/lib}" + libdir="${libdir%/}" ++ bindir="${bindir:-${prefix}/bin}" ++ bindir="${bindir%/}" + if [ "${libdir#${prefix}}" = "${libdir}" ]; then + die "Libdir ${libdir} must be a subdirectory of ${prefix}" + fi ++ if [ "${bindir#${prefix}}" = "${bindir}" ]; then ++ die "Bindir ${bindir} must be a subdirectory of ${prefix}" ++ fi + } + + +diff --git a/configure b/configure +index 4ff3fc7..b3b4d72 100755 +--- a/configure ++++ b/configure +@@ -474,6 +474,7 @@ else + DIST_DIR?=\$(DESTDIR)${prefix} + endif + LIBSUBDIR=${libdir##${prefix}/} ++BINSUBDIR=${bindir##${prefix}/} + + VERSION_STRING=${VERSION_STRING} + +diff --git a/libs.mk b/libs.mk +index 4062833..0a1cfcd 100644 +--- a/libs.mk ++++ b/libs.mk +@@ -162,6 +162,7 @@ endif + INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx/% + INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx_ports/% + INSTALL_MAPS += $(LIBSUBDIR)/% % ++INSTALL_MAPS += $(BINSUBDIR)/% % + INSTALL_MAPS += src/% $(SRC_PATH_BARE)/% + ifeq ($(CONFIG_MSVS),yes) + INSTALL_MAPS += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/% $(p)/Release/%) +@@ -271,19 +272,19 @@ EXPORT_FILE := libvpx.syms + LIBVPX_SO_SYMLINKS := $(addprefix $(LIBSUBDIR)/, \ + libvpx.dylib ) + else +-LIBVPX_SO := libvpx.so.$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH) ++LIBVPX_SO := libvpx-$(VERSION_MAJOR).dll + EXPORT_FILE := libvpx.ver + SYM_LINK := libvpx.so +-LIBVPX_SO_SYMLINKS := $(addprefix $(LIBSUBDIR)/, \ +- libvpx.so libvpx.so.$(VERSION_MAJOR) \ +- libvpx.so.$(VERSION_MAJOR).$(VERSION_MINOR)) ++LIBVPX_SO_SYMLINKS := $(addprefix $(BINSUBDIR)/, \ ++ libvpx-$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH).dll \ ++ libvpx-$(VERSION_MAJOR).$(VERSION_MINOR).dll) + endif + + LIBS-$(BUILD_LIBVPX_SO) += $(BUILD_PFX)$(LIBVPX_SO)\ + $(notdir $(LIBVPX_SO_SYMLINKS)) + $(BUILD_PFX)$(LIBVPX_SO): $(LIBVPX_OBJS) $(EXPORT_FILE) + $(BUILD_PFX)$(LIBVPX_SO): extralibs += -lm +-$(BUILD_PFX)$(LIBVPX_SO): SONAME = libvpx.so.$(VERSION_MAJOR) ++$(BUILD_PFX)$(LIBVPX_SO): SONAME = libvpx-$(VERSION_MAJOR).dll + $(BUILD_PFX)$(LIBVPX_SO): EXPORTS_FILE = $(EXPORT_FILE) + + libvpx.ver: $(call enabled,CODEC_EXPORTS) +@@ -314,7 +315,7 @@ $(eval $(call libvpx_symlink_template,\ + + + INSTALL-LIBS-$(BUILD_LIBVPX_SO) += $(LIBVPX_SO_SYMLINKS) +-INSTALL-LIBS-$(BUILD_LIBVPX_SO) += $(LIBSUBDIR)/$(LIBVPX_SO) ++INSTALL-LIBS-$(BUILD_LIBVPX_SO) += $(BINSUBDIR)/$(LIBVPX_SO) + + + LIBS-$(BUILD_LIBVPX) += vpx.pc +diff --git a/vp8/common/generic/systemdependent.c b/vp8/common/generic/systemdependent.c +index d84df33..b606309 100644 +--- a/vp8/common/generic/systemdependent.c ++++ b/vp8/common/generic/systemdependent.c +@@ -18,6 +18,10 @@ + #endif + #include "vp8/common/onyxc_int.h" + ++#if defined(_WIN32) ++#undef HAVE_UNISTD_H ++#endif ++ + #if CONFIG_MULTITHREAD + #if HAVE_UNISTD_H && !defined(__OS2__) + #include <unistd.h> diff --git a/recipes/libvpx/libvpx-1.3.0/02_osx.patch b/recipes/libvpx/libvpx-1.3.0/02_osx.patch new file mode 100644 index 0000000..b08afe0 --- /dev/null +++ b/recipes/libvpx/libvpx-1.3.0/02_osx.patch @@ -0,0 +1,44 @@ +diff --git a/build/make/Makefile b/build/make/Makefile +index 030c1b5..4405c0c 100644 +--- a/build/make/Makefile ++++ b/build/make/Makefile +@@ -72,7 +72,7 @@ ASFLAGS+=-I$(BUILD_PFX)$(BUILD_ROOT)/ -I$(SRC_PATH)/ + DIST_DIR?=dist + HOSTCC?=gcc + TGT_ISA:=$(word 1, $(subst -, ,$(TOOLCHAIN))) +-TGT_OS:=$(word 2, $(subst -, ,$(TOOLCHAIN))) ++TGT_OS:=darwin11 + TGT_CC:=$(word 3, $(subst -, ,$(TOOLCHAIN))) + quiet:=$(if $(or $(verbose), $(V)),, yes) + qexec=$(if $(quiet),@) +@@ -281,7 +281,8 @@ $(1): + $(if $(quiet),@echo " [LD] $$@") + $(qexec)$$(LD) -dynamiclib $$(LDFLAGS) \ + -exported_symbols_list $$(EXPORTS_FILE) \ +- -Wl,-headerpad_max_install_names,-compatibility_version,1.0,-current_version,$$(VERSION_MAJOR) \ ++ -Wl,-install_name,$(PREFIX)/$(LIBSUBDIR)/$$(LIBVPX_SO) -Wl,-current_version,$(VERSION_MAJOR).$(VERSION_MINOR) \ ++ -Wl,-compatibility_version,$(VERSION_MAJOR) -o $$@ \ + -o $$@ \ + $$(filter %.o,$$^) $$(extralibs) + endef +diff --git a/vp9/exports_enc b/vp9/exports_enc +index 25156e8..2a0fef3 100644 +--- a/vp9/exports_enc ++++ b/vp9/exports_enc +@@ -1,4 +1,2 @@ + data vpx_codec_vp9_cx_algo + text vpx_codec_vp9_cx +-data vpx_codec_vp9x_cx_algo +-text vpx_codec_vp9x_cx +diff --git a/vpx/exports_enc b/vpx/exports_enc +index 1d9340c..9e73dfb 100644 +--- a/vpx/exports_enc ++++ b/vpx/exports_enc +@@ -8,7 +8,6 @@ text vpx_codec_get_preview_frame + text vpx_codec_set_cx_data_buf + text vpx_svc_dump_statistics + text vpx_svc_encode +-text vpx_svc_free + text vpx_svc_get_buffer + text vpx_svc_get_encode_frame_count + text vpx_svc_get_frame_size diff --git a/recipes/libvpx/libvpx-1.3.0/enable_shared.patch b/recipes/libvpx/libvpx-1.3.0/enable_shared.patch new file mode 100644 index 0000000..538552b --- /dev/null +++ b/recipes/libvpx/libvpx-1.3.0/enable_shared.patch @@ -0,0 +1,23 @@ +diff --git a/configure b/configure +index 4ff3fc7..498e75e 100755 +--- a/configure ++++ b/configure +@@ -501,18 +519,6 @@ EOF + } + + process_detect() { +- if enabled shared; then +- # Can only build shared libs on a subset of platforms. Doing this check +- # here rather than at option parse time because the target auto-detect +- # magic happens after the command line has been parsed. +- if ! enabled linux; then +- if enabled gnu; then +- echo "--enable-shared is only supported on ELF; assuming this is OK" +- else +- die "--enable-shared only supported on ELF for now" +- fi +- fi +- fi + if [ -z "$CC" ] || enabled external_build; then + echo "Bypassing toolchain for environment detection." + enable_feature external_build diff --git a/recipes/libvpx/libvpx.inc b/recipes/libvpx/libvpx.inc new file mode 100644 index 0000000..6d9f3e8 --- /dev/null +++ b/recipes/libvpx/libvpx.inc @@ -0,0 +1,34 @@ +DESCRIPTION = "vpx Multi-Format Codec SDK" +LICENSE = "BSD" + +RECIPE_TYPES = "machine native" + +DEPENDS = "libm" +DEPENDS:>TARGET_OS_linux-gnu = " libpthread" + +PARALLEL_MAKE = "" + +inherit autotools library pkgconfig library + +SRC_URI = "git://git.chromium.org/webm/libvpx.git;tag=v${PV};protocol=http" +S = "${SRCDIR}/libvpx" + +export LD = "${CC}" + +EXTRA_OEMAKE += "V=1" + +autotools_configure () { + if [ -x "${CONFIGURE_SCRIPT}" ] ; then + ${CONFIGURE_SCRIPT} \ + --prefix=${prefix} \ + --target=generic-gnu \ + --enable-vp8 \ + --enable-libs \ + --disable-install-docs \ + --disable-debug-libs \ + --disable-examples \ + --disable-unit-tests + else + oefatal "no configure script found" + fi +} diff --git a/recipes/libvpx/libvpx_1.3.0.oe b/recipes/libvpx/libvpx_1.3.0.oe new file mode 100644 index 0000000..57d5dc9 --- /dev/null +++ b/recipes/libvpx/libvpx_1.3.0.oe @@ -0,0 +1,5 @@ +require libvpx.inc + +SRC_URI += "file://enable_shared.patch" +SRC_URI:>TARGET_OS_darwin = " file://02_osx.patch" +SRC_URI:>TARGET_OS_mingw32 = " file://0001-enable-shared-on.mingw32.patch" diff --git a/recipes/libvpx/libvpx_1.3.0.oe.sig b/recipes/libvpx/libvpx_1.3.0.oe.sig new file mode 100644 index 0000000..f87d77f --- /dev/null +++ b/recipes/libvpx/libvpx_1.3.0.oe.sig @@ -0,0 +1 @@ +2e88f2f2ec777259bda1714e72f1ecd2519bceb5 git://git.chromium.org/webm/libvpx.git;protocol=http;tag=v1.3.0