diff options
| author | Alexander Kanavin <alex.kanavin@gmail.com> | 2024-04-19 14:19:38 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-04-23 13:40:24 +0100 |
| commit | e49212866bf8138705e7aa08a8683e3ecf258d36 (patch) | |
| tree | 80d72345b0683ae1f860036f4d7473c7cd46c3f0 /meta | |
| parent | f7f4d9d5c07b42908aa06501d188947b35ef02b2 (diff) | |
| download | poky-e49212866bf8138705e7aa08a8683e3ecf258d36.tar.gz | |
mpeg2dec: remove the recipe
This is as well inactive for over 10 years, and has been superseded by ffmpeg long time ago.
(From OE-Core rev: d46660e6c083baf7a7cf68a0eb98260246ccdcaf)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
8 files changed, 0 insertions, 440 deletions
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 52bb542483..a11859890e 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc | |||
| @@ -523,7 +523,6 @@ RECIPE_MAINTAINER:pn-mkfontscale = "Unassigned <unassigned@yoctoproject.org>" | |||
| 523 | RECIPE_MAINTAINER:pn-mmc-utils = "Anuj Mittal <anuj.mittal@intel.com>" | 523 | RECIPE_MAINTAINER:pn-mmc-utils = "Anuj Mittal <anuj.mittal@intel.com>" |
| 524 | RECIPE_MAINTAINER:pn-mobile-broadband-provider-info = "Alexander Kanavin <alex.kanavin@gmail.com>" | 524 | RECIPE_MAINTAINER:pn-mobile-broadband-provider-info = "Alexander Kanavin <alex.kanavin@gmail.com>" |
| 525 | RECIPE_MAINTAINER:pn-modutils-initscripts = "Yi Zhao <yi.zhao@windriver.com>" | 525 | RECIPE_MAINTAINER:pn-modutils-initscripts = "Yi Zhao <yi.zhao@windriver.com>" |
| 526 | RECIPE_MAINTAINER:pn-mpeg2dec = "Alexander Kanavin <alex.kanavin@gmail.com>" | ||
| 527 | RECIPE_MAINTAINER:pn-mpfr = "Khem Raj <raj.khem@gmail.com>" | 526 | RECIPE_MAINTAINER:pn-mpfr = "Khem Raj <raj.khem@gmail.com>" |
| 528 | RECIPE_MAINTAINER:pn-mpg123 = "Alexander Kanavin <alex.kanavin@gmail.com>" | 527 | RECIPE_MAINTAINER:pn-mpg123 = "Alexander Kanavin <alex.kanavin@gmail.com>" |
| 529 | RECIPE_MAINTAINER:pn-msmtp = "Wang Mingyu <wangmy@fujitsu.com>" | 528 | RECIPE_MAINTAINER:pn-msmtp = "Wang Mingyu <wangmy@fujitsu.com>" |
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.11.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.11.bb index d89442d789..99f41d4f3d 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.11.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.11.bb | |||
| @@ -25,7 +25,6 @@ GST_PLUGIN_SET_HAS_EXAMPLES = "0" | |||
| 25 | 25 | ||
| 26 | PACKAGECONFIG ??= " \ | 26 | PACKAGECONFIG ??= " \ |
| 27 | ${GSTREAMER_ORC} \ | 27 | ${GSTREAMER_ORC} \ |
| 28 | mpeg2dec \ | ||
| 29 | " | 28 | " |
| 30 | 29 | ||
| 31 | PACKAGECONFIG[amrnb] = "-Damrnb=enabled,-Damrnb=disabled,opencore-amr" | 30 | PACKAGECONFIG[amrnb] = "-Damrnb=enabled,-Damrnb=disabled,opencore-amr" |
diff --git a/meta/recipes-multimedia/mpeg2dec/files/0001-Import-revision-1206-from-upstream-to-fix-PIE-build.patch b/meta/recipes-multimedia/mpeg2dec/files/0001-Import-revision-1206-from-upstream-to-fix-PIE-build.patch deleted file mode 100644 index b2544cb44d..0000000000 --- a/meta/recipes-multimedia/mpeg2dec/files/0001-Import-revision-1206-from-upstream-to-fix-PIE-build.patch +++ /dev/null | |||
| @@ -1,156 +0,0 @@ | |||
| 1 | From 0cafb99b57f43cf6ac2c6208718e49ad2dbe462d Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Jan Schmidt <thaytan@noraisin.net> | ||
| 3 | Date: Sun, 10 Nov 2013 00:49:52 +1100 | ||
| 4 | Subject: [PATCH] Import revision 1206 from upstream to fix PIE build. | ||
| 5 | |||
| 6 | Functions MC_put_o_16_arm, MC_put_o_8_arm, MC_put_x_16_arm, MC_put_x_8_arm | ||
| 7 | in libmpeg2/motion_comp_arm_s.S have addresses in .text, which is bad | ||
| 8 | for shared libraries. Some environments demand that .text actually be | ||
| 9 | read-only all the time, yet MC_put_o_16_arm etc require that the addresses | ||
| 10 | be modified by the dynamic linking mechanism (dlopen, LoadLibrary, etc.) | ||
| 11 | Even in those environments which permit the dynamic linker to modify the | ||
| 12 | .text segment, the runtime cost of doing the relocation can be noticeable. | ||
| 13 | |||
| 14 | This commit rewrites the linkage, discarding the tables of addresses | ||
| 15 | in favor of tables of offsets. All transfers are local within each individual | ||
| 16 | function, so there can be no interference by processing that occurs | ||
| 17 | after assembly, such as link-time re-ordering (even of individual functions.) | ||
| 18 | |||
| 19 | Patch by John Reiser <jreiser@bitwagon.com> | ||
| 20 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 21 | Upstream-Status: Backport [https://code.videolan.org/videolan/libmpeg2/commit/946bf4b518aacc224f845e73708f99e394744499] | ||
| 22 | --- | ||
| 23 | libmpeg2/motion_comp_arm_s.S | 70 +++++++++++++++++------------------- | ||
| 24 | 1 file changed, 33 insertions(+), 37 deletions(-) | ||
| 25 | |||
| 26 | diff --git a/libmpeg2/motion_comp_arm_s.S b/libmpeg2/motion_comp_arm_s.S | ||
| 27 | index c921f7c..82143f8 100644 | ||
| 28 | --- a/libmpeg2/motion_comp_arm_s.S | ||
| 29 | +++ b/libmpeg2/motion_comp_arm_s.S | ||
| 30 | @@ -30,9 +30,13 @@ MC_put_o_16_arm: | ||
| 31 | pld [r1] | ||
| 32 | stmfd sp!, {r4-r11, lr} @ R14 is also called LR | ||
| 33 | and r4, r1, #3 | ||
| 34 | - adr r5, MC_put_o_16_arm_align_jt | ||
| 35 | - add r5, r5, r4, lsl #2 | ||
| 36 | - ldr pc, [r5] | ||
| 37 | + ldrb r4, [pc, r4] | ||
| 38 | + add pc, pc, r4, lsl #2 | ||
| 39 | + .byte (MC_put_o_16_arm_align0 - 0f)>>2 | ||
| 40 | + .byte (MC_put_o_16_arm_align1 - 0f)>>2 | ||
| 41 | + .byte (MC_put_o_16_arm_align2 - 0f)>>2 | ||
| 42 | + .byte (MC_put_o_16_arm_align3 - 0f)>>2 | ||
| 43 | +0: | ||
| 44 | |||
| 45 | MC_put_o_16_arm_align0: | ||
| 46 | ldmia r1, {r4-r7} | ||
| 47 | @@ -76,11 +80,6 @@ MC_put_o_16_arm_align3: | ||
| 48 | 1: PROC(24) | ||
| 49 | bne 1b | ||
| 50 | ldmfd sp!, {r4-r11, pc} @@ update PC with LR content. | ||
| 51 | -MC_put_o_16_arm_align_jt: | ||
| 52 | - .word MC_put_o_16_arm_align0 | ||
| 53 | - .word MC_put_o_16_arm_align1 | ||
| 54 | - .word MC_put_o_16_arm_align2 | ||
| 55 | - .word MC_put_o_16_arm_align3 | ||
| 56 | |||
| 57 | @ ---------------------------------------------------------------- | ||
| 58 | .align | ||
| 59 | @@ -91,9 +90,14 @@ MC_put_o_8_arm: | ||
| 60 | pld [r1] | ||
| 61 | stmfd sp!, {r4-r10, lr} @ R14 is also called LR | ||
| 62 | and r4, r1, #3 | ||
| 63 | - adr r5, MC_put_o_8_arm_align_jt | ||
| 64 | - add r5, r5, r4, lsl #2 | ||
| 65 | - ldr pc, [r5] | ||
| 66 | + ldrb r4, [pc, r4] | ||
| 67 | + add pc, pc, r4, lsl #2 | ||
| 68 | + .byte (MC_put_o_8_arm_align0 - 0f)>>2 | ||
| 69 | + .byte (MC_put_o_8_arm_align1 - 0f)>>2 | ||
| 70 | + .byte (MC_put_o_8_arm_align2 - 0f)>>2 | ||
| 71 | + .byte (MC_put_o_8_arm_align3 - 0f)>>2 | ||
| 72 | +0: | ||
| 73 | + | ||
| 74 | MC_put_o_8_arm_align0: | ||
| 75 | ldmia r1, {r4-r5} | ||
| 76 | add r1, r1, r2 | ||
| 77 | @@ -135,12 +139,6 @@ MC_put_o_8_arm_align3: | ||
| 78 | bne 1b | ||
| 79 | ldmfd sp!, {r4-r10, pc} @@ update PC with LR content. | ||
| 80 | |||
| 81 | -MC_put_o_8_arm_align_jt: | ||
| 82 | - .word MC_put_o_8_arm_align0 | ||
| 83 | - .word MC_put_o_8_arm_align1 | ||
| 84 | - .word MC_put_o_8_arm_align2 | ||
| 85 | - .word MC_put_o_8_arm_align3 | ||
| 86 | - | ||
| 87 | @ ---------------------------------------------------------------- | ||
| 88 | .macro AVG_PW rW1, rW2 | ||
| 89 | mov \rW2, \rW2, lsl #24 | ||
| 90 | @@ -160,12 +158,17 @@ MC_put_x_16_arm: | ||
| 91 | @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) | ||
| 92 | pld [r1] | ||
| 93 | stmfd sp!, {r4-r11,lr} @ R14 is also called LR | ||
| 94 | + ldr r11, 0f | ||
| 95 | and r4, r1, #3 | ||
| 96 | - adr r5, MC_put_x_16_arm_align_jt | ||
| 97 | - ldr r11, [r5] | ||
| 98 | mvn r12, r11 | ||
| 99 | - add r5, r5, r4, lsl #2 | ||
| 100 | - ldr pc, [r5, #4] | ||
| 101 | + ldrb r4, [pc, r4] | ||
| 102 | + add pc, pc, r4, lsl #2 | ||
| 103 | + .byte (MC_put_x_16_arm_align0 - 0f)>>2 | ||
| 104 | + .byte (MC_put_x_16_arm_align1 - 0f)>>2 | ||
| 105 | + .byte (MC_put_x_16_arm_align2 - 0f)>>2 | ||
| 106 | + .byte (MC_put_x_16_arm_align3 - 0f)>>2 | ||
| 107 | +0: | ||
| 108 | + .word 0x01010101 | ||
| 109 | |||
| 110 | .macro ADJ_ALIGN_QW shift, R0, R1, R2, R3, R4 | ||
| 111 | mov \R0, \R0, lsr #(\shift) | ||
| 112 | @@ -238,12 +241,6 @@ MC_put_x_16_arm_align3: | ||
| 113 | add r0, r0, r2 | ||
| 114 | bne 1b | ||
| 115 | ldmfd sp!, {r4-r11,pc} @@ update PC with LR content. | ||
| 116 | -MC_put_x_16_arm_align_jt: | ||
| 117 | - .word 0x01010101 | ||
| 118 | - .word MC_put_x_16_arm_align0 | ||
| 119 | - .word MC_put_x_16_arm_align1 | ||
| 120 | - .word MC_put_x_16_arm_align2 | ||
| 121 | - .word MC_put_x_16_arm_align3 | ||
| 122 | |||
| 123 | @ ---------------------------------------------------------------- | ||
| 124 | .align | ||
| 125 | @@ -253,12 +250,17 @@ MC_put_x_8_arm: | ||
| 126 | @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) | ||
| 127 | pld [r1] | ||
| 128 | stmfd sp!, {r4-r11,lr} @ R14 is also called LR | ||
| 129 | + ldr r11, 0f | ||
| 130 | and r4, r1, #3 | ||
| 131 | - adr r5, MC_put_x_8_arm_align_jt | ||
| 132 | - ldr r11, [r5] | ||
| 133 | mvn r12, r11 | ||
| 134 | - add r5, r5, r4, lsl #2 | ||
| 135 | - ldr pc, [r5, #4] | ||
| 136 | + ldrb r4, [pc, r4] | ||
| 137 | + add pc, pc, r4, lsl #2 | ||
| 138 | + .byte (MC_put_x_8_arm_align0 - 0f)>>2 | ||
| 139 | + .byte (MC_put_x_8_arm_align1 - 0f)>>2 | ||
| 140 | + .byte (MC_put_x_8_arm_align2 - 0f)>>2 | ||
| 141 | + .byte (MC_put_x_8_arm_align3 - 0f)>>2 | ||
| 142 | +0: | ||
| 143 | + .word 0x01010101 | ||
| 144 | |||
| 145 | .macro ADJ_ALIGN_DW shift, R0, R1, R2 | ||
| 146 | mov \R0, \R0, lsr #(\shift) | ||
| 147 | @@ -319,9 +321,3 @@ MC_put_x_8_arm_align3: | ||
| 148 | add r0, r0, r2 | ||
| 149 | bne 1b | ||
| 150 | ldmfd sp!, {r4-r11,pc} @@ update PC with LR content. | ||
| 151 | -MC_put_x_8_arm_align_jt: | ||
| 152 | - .word 0x01010101 | ||
| 153 | - .word MC_put_x_8_arm_align0 | ||
| 154 | - .word MC_put_x_8_arm_align1 | ||
| 155 | - .word MC_put_x_8_arm_align2 | ||
| 156 | - .word MC_put_x_8_arm_align3 | ||
diff --git a/meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch b/meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch deleted file mode 100644 index 5bf68b39ee..0000000000 --- a/meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch +++ /dev/null | |||
| @@ -1,55 +0,0 @@ | |||
| 1 | From cbcff58ed670c8edc0be1004384cbe0fd07d8d26 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Wed, 5 Jul 2017 18:49:21 -0700 | ||
| 4 | Subject: [PATCH 1/2] check for available arm optimizations | ||
| 5 | |||
| 6 | Taken From | ||
| 7 | http://sources.debian.net/src/mpeg2dec/0.5.1-7/debian/patches/65_arm-test-with-compiler.patch/ | ||
| 8 | |||
| 9 | Upstream-Status: Pending | ||
| 10 | |||
| 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 12 | --- | ||
| 13 | configure.ac | 12 ++++++++---- | ||
| 14 | 1 file changed, 8 insertions(+), 4 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/configure.ac b/configure.ac | ||
| 17 | index acdcb1e..2c0a721 100644 | ||
| 18 | --- a/configure.ac | ||
| 19 | +++ b/configure.ac | ||
| 20 | @@ -59,7 +59,7 @@ elif test x"$GCC" = x"yes"; then | ||
| 21 | AC_TRY_CFLAGS([$TRY_CFLAGS $CFLAGS],[OPT_CFLAGS="$TRY_CFLAGS"]) | ||
| 22 | |||
| 23 | dnl arch-specific flags | ||
| 24 | - arm_conditional=false | ||
| 25 | + build_arm_opt=false | ||
| 26 | case "$host" in | ||
| 27 | i?86-* | k?-* | x86_64-* | amd64-*) | ||
| 28 | AC_DEFINE([ARCH_X86],,[x86 architecture]) | ||
| 29 | @@ -102,8 +102,12 @@ elif test x"$GCC" = x"yes"; then | ||
| 30 | alpha*) | ||
| 31 | AC_DEFINE([ARCH_ALPHA],,[alpha architecture]);; | ||
| 32 | arm*) | ||
| 33 | - arm_conditional=: | ||
| 34 | - AC_DEFINE([ARCH_ARM],,[ARM architecture]);; | ||
| 35 | + AC_LANG(C) | ||
| 36 | + AC_COMPILE_IFELSE( | ||
| 37 | + [AC_LANG_SOURCE([[ | ||
| 38 | + void foo(void) { __asm__ volatile("pld [r1]"); }]])], | ||
| 39 | + build_arm_opt=true; AC_DEFINE([ARCH_ARM],,[ARM architecture]), | ||
| 40 | + build_arm_opt=false);; | ||
| 41 | esac | ||
| 42 | elif test x"$CC" = x"tendracc"; then | ||
| 43 | dnl TenDRA portability checking compiler | ||
| 44 | @@ -123,7 +127,7 @@ else | ||
| 45 | esac | ||
| 46 | fi | ||
| 47 | |||
| 48 | -AM_CONDITIONAL(ARCH_ARM, ${arm_conditional}) | ||
| 49 | +AM_CONDITIONAL(ARCH_ARM, test x$build_arm_opt = xtrue) | ||
| 50 | |||
| 51 | dnl Checks for libtool - this must be done after we set cflags | ||
| 52 | AC_LIBTOOL_WIN32_DLL | ||
| 53 | -- | ||
| 54 | 2.13.2 | ||
| 55 | |||
diff --git a/meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch b/meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch deleted file mode 100644 index 8301692368..0000000000 --- a/meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch +++ /dev/null | |||
| @@ -1,63 +0,0 @@ | |||
| 1 | From f9d9dc92d75f8910e3cd5fdcbea72e505cdf3493 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Wed, 5 Jul 2017 19:03:36 -0700 | ||
| 4 | Subject: [PATCH 2/2] Set visibility of global symbols used in ARM specific | ||
| 5 | assembly file to internal | ||
| 6 | |||
| 7 | Taken from | ||
| 8 | http://sources.debian.net/src/mpeg2dec/0.5.1-7/debian/patches/60_arm-private-symbols.patch/ | ||
| 9 | |||
| 10 | Upstream-Status: Pending | ||
| 11 | |||
| 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 13 | --- | ||
| 14 | libmpeg2/motion_comp_arm_s.S | 12 ++++++++---- | ||
| 15 | 1 file changed, 8 insertions(+), 4 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/libmpeg2/motion_comp_arm_s.S b/libmpeg2/motion_comp_arm_s.S | ||
| 18 | index f6c3d7d..c921f7c 100644 | ||
| 19 | --- a/libmpeg2/motion_comp_arm_s.S | ||
| 20 | +++ b/libmpeg2/motion_comp_arm_s.S | ||
| 21 | @@ -23,7 +23,8 @@ | ||
| 22 | |||
| 23 | @ ---------------------------------------------------------------- | ||
| 24 | .align | ||
| 25 | - .global MC_put_o_16_arm | ||
| 26 | + .global MC_put_o_16_arm | ||
| 27 | + .internal MC_put_o_16_arm | ||
| 28 | MC_put_o_16_arm: | ||
| 29 | @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) | ||
| 30 | pld [r1] | ||
| 31 | @@ -83,7 +84,8 @@ MC_put_o_16_arm_align_jt: | ||
| 32 | |||
| 33 | @ ---------------------------------------------------------------- | ||
| 34 | .align | ||
| 35 | - .global MC_put_o_8_arm | ||
| 36 | + .global MC_put_o_8_arm | ||
| 37 | + .internal MC_put_o_8_arm | ||
| 38 | MC_put_o_8_arm: | ||
| 39 | @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) | ||
| 40 | pld [r1] | ||
| 41 | @@ -152,7 +154,8 @@ MC_put_o_8_arm_align_jt: | ||
| 42 | .endm | ||
| 43 | |||
| 44 | .align | ||
| 45 | - .global MC_put_x_16_arm | ||
| 46 | + .global MC_put_x_16_arm | ||
| 47 | + .internal MC_put_x_16_arm | ||
| 48 | MC_put_x_16_arm: | ||
| 49 | @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) | ||
| 50 | pld [r1] | ||
| 51 | @@ -244,7 +247,8 @@ MC_put_x_16_arm_align_jt: | ||
| 52 | |||
| 53 | @ ---------------------------------------------------------------- | ||
| 54 | .align | ||
| 55 | - .global MC_put_x_8_arm | ||
| 56 | + .global MC_put_x_8_arm | ||
| 57 | + .internal MC_put_x_8_arm | ||
| 58 | MC_put_x_8_arm: | ||
| 59 | @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) | ||
| 60 | pld [r1] | ||
| 61 | -- | ||
| 62 | 2.13.2 | ||
| 63 | |||
diff --git a/meta/recipes-multimedia/mpeg2dec/files/61_global-symbol-test.patch b/meta/recipes-multimedia/mpeg2dec/files/61_global-symbol-test.patch deleted file mode 100644 index 00b667d336..0000000000 --- a/meta/recipes-multimedia/mpeg2dec/files/61_global-symbol-test.patch +++ /dev/null | |||
| @@ -1,70 +0,0 @@ | |||
| 1 | Rewrite the public symbol check to verify the shared libraries, to check for | ||
| 2 | more things, and to avoid duplication; fixes make check on ARM | ||
| 3 | |||
| 4 | Taken From | ||
| 5 | https://sources.debian.org/src/mpeg2dec/0.5.1-8/debian/patches/61_global-symbol-test.patch/ | ||
| 6 | |||
| 7 | Upstream-Status: Pending | ||
| 8 | |||
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 10 | --- | ||
| 11 | test/globals | 42 +++++++++++++++++++++++++++--------------- | ||
| 12 | 1 file changed, 27 insertions(+), 15 deletions(-) | ||
| 13 | |||
| 14 | --- mpeg2dec.orig/test/globals | ||
| 15 | +++ mpeg2dec/test/globals | ||
| 16 | @@ -1,4 +1,8 @@ | ||
| 17 | #!/bin/sh | ||
| 18 | +# TODO | ||
| 19 | +# - fix checking of .a libs; problem is that "nm -g --defined-only" lists | ||
| 20 | +# internal symbols; this can be solved by using objdump, but it's probably | ||
| 21 | +# good enough to just run the tests on the shared lib | ||
| 22 | |||
| 23 | if test x"$srcdir" != x""; then | ||
| 24 | builddir="." # running from make check, but it does not define that | ||
| 25 | @@ -14,22 +18,30 @@ builddir=`cd $builddir;pwd` | ||
| 26 | |||
| 27 | error=0 | ||
| 28 | |||
| 29 | -bad_globals=`nm -g --defined-only $builddir/../libmpeg2/*.o |\ | ||
| 30 | - awk '{if ($3) print $3}' | grep -v '^_\?mpeg2_'` | ||
| 31 | - | ||
| 32 | -if test x"$bad_globals" != x""; then | ||
| 33 | - echo BAD GLOBAL SYMBOLS: | ||
| 34 | - for s in $bad_globals; do echo $s; done | ||
| 35 | +# check_bad_public_symbols <symbol prefix> <lib file> [<lib file>...] | ||
| 36 | +# | ||
| 37 | +# checks public symbols in shared libs: | ||
| 38 | +# - allow prefix_anything | ||
| 39 | +# - reject _prefixanything | ||
| 40 | +# - allow _anything | ||
| 41 | +# - reject anything else | ||
| 42 | +# | ||
| 43 | +# NB: skips missing files | ||
| 44 | +check_bad_public_symbols() { | ||
| 45 | + symbols_prefix="$1" | ||
| 46 | + shift | ||
| 47 | + lib_files=`ls "$@" 2>/dev/null` | ||
| 48 | + [ -z "$lib_files" ] && return | ||
| 49 | + bad_globals=`nm -g --defined-only $lib_files | | ||
| 50 | + awk '{if ($3) print $3}' | | ||
| 51 | + sed -n "/^${symbols_prefix}_/ d; /^_${symbols_prefix}/ { p; d }; /^_/ d; p"` | ||
| 52 | + [ -z "$bad_globals" ] && return | ||
| 53 | error=1 | ||
| 54 | -fi | ||
| 55 | - | ||
| 56 | -bad_globals=`nm -g --defined-only $builddir/../libmpeg2/convert/*.o |\ | ||
| 57 | - awk '{if ($3) print $3}' | grep -v '^_\?mpeg2convert_'` | ||
| 58 | + echo BAD GLOBAL SYMBOLS in $lib_files: | ||
| 59 | + echo "$bad_globals" | ||
| 60 | +} | ||
| 61 | |||
| 62 | -if test x"$bad_globals" != x""; then | ||
| 63 | - echo BAD GLOBAL SYMBOLS: | ||
| 64 | - for s in $bad_globals; do echo $s; done | ||
| 65 | - error=1 | ||
| 66 | -fi | ||
| 67 | +check_bad_public_symbols mpeg2 $builddir/../libmpeg2/.libs/libmpeg2.so | ||
| 68 | +check_bad_public_symbols mpeg2convert $builddir/../libmpeg2/convert/.libs/libmpeg2convert.so | ||
| 69 | |||
| 70 | exit $error | ||
diff --git a/meta/recipes-multimedia/mpeg2dec/files/altivec_h_needed.patch b/meta/recipes-multimedia/mpeg2dec/files/altivec_h_needed.patch deleted file mode 100644 index 5113ad44fe..0000000000 --- a/meta/recipes-multimedia/mpeg2dec/files/altivec_h_needed.patch +++ /dev/null | |||
| @@ -1,43 +0,0 @@ | |||
| 1 | Add new method to judge whether <altivec.h> is needed | ||
| 2 | |||
| 3 | The original logic will use "typedef vector int t;" to judge | ||
| 4 | whether <altivec.h> is needed. altivec.h contains the following | ||
| 5 | statement: | ||
| 6 | |||
| 7 | #if !defined(__APPLE_ALTIVEC__) | ||
| 8 | #define vector __vector | ||
| 9 | #define pixel __pixel | ||
| 10 | #define bool | ||
| 11 | #endif | ||
| 12 | |||
| 13 | In gcc-4.3.3, __APPLE_ALTIVEC__ is not defined by compiler, neither | ||
| 14 | as vector, pixel, and bool. In order to make "typedef vector int t;" | ||
| 15 | pass the compilation, we need to include altivec.h. | ||
| 16 | |||
| 17 | However in gcc-4.5.0, __APPLE_ALTIVEC__ is defined by compiler, | ||
| 18 | so as vector, pixel, and bool. We could not judge whether | ||
| 19 | altivec.h is needed by "typedef vector int t;". | ||
| 20 | Here we include another statement "int tmp = __CR6_EQ;", in | ||
| 21 | which __CR6_EQ is defined in altivec.h. | ||
| 22 | |||
| 23 | Upstream-Status: Pending | ||
| 24 | |||
| 25 | Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> | ||
| 26 | |||
| 27 | diff -ruN a/configure.in b/configure.in | ||
| 28 | --- a/configure.ac 2010-09-14 20:55:42.399687663 +0800 | ||
| 29 | +++ b/configure.ac 2010-09-14 20:56:43.403204648 +0800 | ||
| 30 | @@ -79,11 +79,11 @@ | ||
| 31 | CFLAGS="$OPT_CFLAGS $TRY_CFLAGS $CFLAGS" | ||
| 32 | AC_MSG_CHECKING([if <altivec.h> is needed]) | ||
| 33 | AC_TRY_COMPILE([], | ||
| 34 | - [typedef vector int t; | ||
| 35 | + [typedef vector int t; int tmp = __CR6_EQ; | ||
| 36 | vec_ld(0, (unsigned char *)0);], | ||
| 37 | [have_altivec=yes; AC_MSG_RESULT(no)], | ||
| 38 | [AC_TRY_COMPILE([#include <altivec.h>], | ||
| 39 | - [typedef vector int t; vec_ld(0, (unsigned char *)0);], | ||
| 40 | + [typedef vector int t; int tmp = __CR6_EQ; vec_ld(0, (unsigned char *)0);], | ||
| 41 | [AC_DEFINE([HAVE_ALTIVEC_H],, | ||
| 42 | [Define to 1 if you have the <altivec.h> header.]) | ||
| 43 | have_altivec=yes; AC_MSG_RESULT(yes)], | ||
diff --git a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb deleted file mode 100644 index fd8b561657..0000000000 --- a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb +++ /dev/null | |||
| @@ -1,51 +0,0 @@ | |||
| 1 | SUMMARY = "Library and test program for decoding MPEG-2 and MPEG-1 video streams" | ||
| 2 | DESCRIPTION = "mpeg2dec is a test program for libmpeg2. It decodes \ | ||
| 3 | mpeg-1 and mpeg-2 video streams, and also includes a demultiplexer \ | ||
| 4 | for mpeg-1 and mpeg-2 program streams. The main purpose of mpeg2dec \ | ||
| 5 | is to have a simple test bed for libmpeg2." | ||
| 6 | HOMEPAGE = "https://libmpeg2.sourceforge.io/" | ||
| 7 | SECTION = "libs" | ||
| 8 | LICENSE = "GPL-2.0-or-later" | ||
| 9 | LICENSE_FLAGS = "commercial" | ||
| 10 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
| 11 | file://include/mpeg2.h;beginline=1;endline=22;md5=7766f4fcb58f0f8413c49a746f2ab89b" | ||
| 12 | |||
| 13 | SRC_URI = "http://libmpeg2.sourceforge.net/files/libmpeg2-${PV}.tar.gz \ | ||
| 14 | file://altivec_h_needed.patch \ | ||
| 15 | file://0001-check-for-available-arm-optimizations.patch \ | ||
| 16 | file://0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch \ | ||
| 17 | file://61_global-symbol-test.patch \ | ||
| 18 | file://0001-Import-revision-1206-from-upstream-to-fix-PIE-build.patch \ | ||
| 19 | " | ||
| 20 | |||
| 21 | S = "${WORKDIR}/libmpeg2-${PV}" | ||
| 22 | |||
| 23 | SRC_URI[md5sum] = "0f92c7454e58379b4a5a378485bbd8ef" | ||
| 24 | SRC_URI[sha256sum] = "dee22e893cb5fc2b2b6ebd60b88478ab8556cb3b93f9a0d7ce8f3b61851871d4" | ||
| 25 | |||
| 26 | UPSTREAM_CHECK_URI = "http://libmpeg2.sourceforge.net/downloads.html" | ||
| 27 | |||
| 28 | inherit autotools pkgconfig | ||
| 29 | |||
| 30 | EXTRA_OECONF = "--enable-shared --disable-sdl" | ||
| 31 | |||
| 32 | PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" | ||
| 33 | PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxv" | ||
| 34 | |||
| 35 | PACKAGES = "mpeg2dec-dbg mpeg2dec mpeg2dec-doc libmpeg2 libmpeg2-dev libmpeg2convert libmpeg2convert-dev libmpeg2-staticdev libmpeg2convert-staticdev" | ||
| 36 | |||
| 37 | FILES:${PN} = "${bindir}/*" | ||
| 38 | FILES:libmpeg2 = "${libdir}/libmpeg2.so.*" | ||
| 39 | FILES:libmpeg2convert = "${libdir}/libmpeg2convert.so.*" | ||
| 40 | FILES:libmpeg2-dev = "${libdir}/libmpeg2.so \ | ||
| 41 | ${libdir}/libmpeg2.la \ | ||
| 42 | ${libdir}/libmpeg2arch.la \ | ||
| 43 | ${libdir}/pkgconfig/libmpeg2.pc \ | ||
| 44 | ${includedir}/mpeg2dec/mpeg2.h" | ||
| 45 | FILES:libmpeg2-staticdev = "${libdir}/libmpeg2.a" | ||
| 46 | FILES:libmpeg2convert-dev = "${libdir}/libmpeg2convert.so \ | ||
| 47 | ${libdir}/libmpeg2convert.la \ | ||
| 48 | ${libdir}/libmpeg2convertarch.la \ | ||
| 49 | ${libdir}/pkgconfig/libmpeg2convert.pc \ | ||
| 50 | ${includedir}/mpeg2dec/mpeg2convert.h" | ||
| 51 | FILES:libmpeg2convert-staticdev = "${libdir}/libmpeg2convert.a" | ||
