# Conditional build:
%bcond_without asm
-%ifarch %{x8664}
-# buggy, non PIC asm code
-%undefine with_asm
-%endif
-
Summary: VP8, a high-quality video codec
Name: libvpx
Version: 0.9.0
-Release: 2
+Release: 3
License: BSD
Group: Libraries
Source0: http://webm.googlecode.com/files/%{name}-%{version}.tar.bz2
# Source0-md5: 9eb8e818d2f3263623c258fe66924082
+Source1: %{name}.ver
Patch0: %{name}-0.9.0-no-explicit-dep-on-static-lib.patch
URL: http://www.webmproject.org/
BuildRequires: /usr/bin/php
%{__make} verbose=true target=libs \
CC="%{__cc}"
-%{__cc} %{rpmldflags} -fPIC -o libvpx.so.0.0.0 -shared -Wl,-soname,libvpx.so.0 vpx_codec/src/*.o vpx_mem/*.o \
- vpx_scale/generic/*.o vp8/common/*.o vp8/common/generic/*.o vp8/*.o vp8/encoder/*.o \
- vp8/encoder/generic/*.o vp8/decoder/*.o vp8/decoder/generic/*.o vpx_config.c.o \
-%if %{with asm}
- vp8/common/x*/*.o vp8/encoder/x*/*.o vp8/decoder/x*/*.o vpx_ports/*.o \
-%endif
- -lm -lpthread
+mkdir tmp
+cd tmp
+ar x ../libvpx_g.a
+cd ..
+%{__cc} %{rpmldflags} -fPIC -shared \
+ -Wl,--no-undefined -Wl,-soname,libvpx.so.0 -Wl,--version-script,%{SOURCE1} -Wl,-z,noexecstack \
+ -o libvpx.so.0.0.0 tmp/*.o \
+ -pthread -lm
+rm -rf tmp
# Temporarily dance the static libs out of the way
mv libvpx.a libNOTvpx.a
--- /dev/null
+{ global:
+vpx_codec_build_config;
+vpx_codec_control_;
+vpx_codec_dec_init_ver;
+vpx_codec_decode;
+vpx_codec_destroy;
+vpx_codec_enc_config_default;
+vpx_codec_enc_config_set;
+vpx_codec_enc_init_ver;
+vpx_codec_encode;
+vpx_codec_error;
+vpx_codec_error_detail;
+vpx_codec_err_to_string;
+vpx_codec_get_caps;
+vpx_codec_get_cx_data;
+vpx_codec_get_frame;
+vpx_codec_get_global_headers;
+vpx_codec_get_mem_map;
+vpx_codec_get_preview_frame;
+vpx_codec_get_stream_info;
+vpx_codec_iface_name;
+vpx_codec_peek_stream_info;
+vpx_codec_register_put_frame_cb;
+vpx_codec_register_put_slice_cb;
+vpx_codec_set_cx_data_buf;
+vpx_codec_set_mem_map;
+vpx_codec_version;
+vpx_codec_version_extra_str;
+vpx_codec_version_str;
+vpx_codec_vp8_algo;
+vpx_codec_vp8_cx_algo;
+vpx_codec_vp8_dx_algo;
+vpx_dec_control;
+vpx_dec_decode;
+vpx_dec_destroy;
+vpx_dec_error;
+vpx_dec_error_detail;
+vpx_dec_err_to_string;
+vpx_dec_get_caps;
+vpx_dec_get_frame;
+vpx_dec_get_mem_map;
+vpx_dec_get_stream_info;
+vpx_dec_iface_name;
+vpx_dec_init_ver;
+vpx_dec_peek_stream_info;
+vpx_dec_register_put_frame_cb;
+vpx_dec_register_put_slice_cb;
+vpx_dec_set_mem_map;
+vpx_dec_xma_init_ver;
+vpx_enc_vp8_algo;
+vpx_img_alloc;
+vpx_img_flip;
+vpx_img_free;
+vpx_img_set_rect;
+vpx_img_wrap;
+local: *; };