summaryrefslogtreecommitdiffstats
path: root/third_party
diff options
context:
space:
mode:
authordalecurtis@google.com <dalecurtis@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-24 23:47:34 +0000
committerdalecurtis@google.com <dalecurtis@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-24 23:47:34 +0000
commit14b45ec2315b8f30607b6583b5dd762958ca7ebf (patch)
tree01c544a3ddccdbf4611037c12ed1821d22874b9b /third_party
parent9f259e1f090de6ae995ec86eb6aff1660b11f4ec (diff)
downloadchromium_src-14b45ec2315b8f30607b6583b5dd762958ca7ebf.zip
chromium_src-14b45ec2315b8f30607b6583b5dd762958ca7ebf.tar.gz
chromium_src-14b45ec2315b8f30607b6583b5dd762958ca7ebf.tar.bz2
Streamline SIMD targets in media.gyp
Prevents duplicates of the media_sse and yuv_convert targets from ending up in both media and media_unittests during shared builds. - Removes the yuv_convert target since everyone who uses it already uses media. - Merges differ_block_sse2 and yuv_convert_simd_x86 into media_sse2. - Moves assembly into media_asm. - Moves incorrect mmx bundling from sse2 to new media_mmx target. - Introduces EXPORT macro to x86inc.asm - Introduces yasm_includes for non-.asm files in yasm_compile.gypi. - Fixes missing const on yuv constants table. BUG=none TEST=compiles, all unittests pass. TBR=fischman@chromium.org, kbr@chromium.org, sergeyu@chromium.org Review URL: https://codereview.chromium.org/15151002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202230 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party')
-rw-r--r--third_party/x86inc/x86inc.asm20
-rw-r--r--third_party/yasm/yasm_compile.gypi8
2 files changed, 9 insertions, 19 deletions
diff --git a/third_party/x86inc/x86inc.asm b/third_party/x86inc/x86inc.asm
index fe7f3d2..7c57f8f 100644
--- a/third_party/x86inc/x86inc.asm
+++ b/third_party/x86inc/x86inc.asm
@@ -33,8 +33,8 @@
; as this feature might be useful for others as well. Send patches or ideas
; to x264-devel@videolan.org .
-%ifndef MEDIA_BASE_SIMD_X86INC_ASM_
-%define MEDIA_BASE_SIMD_X86INC_ASM_
+%ifndef THIRD_PARTY_X86INC_X86INC_ASM_
+%define THIRD_PARTY_X86INC_X86INC_ASM_
; TODO(wolenetz): Consider either updating this customized version to base from
; a more recent original, or switching to using third_party/ffmpeg's version of
@@ -999,20 +999,6 @@ AVX_INSTR pfmul, 1, 0
%endif
%endmacro
-;
-; PRIVATE
-; A flag representing the specified symbol is a private symbol. This define adds
-; a hidden flag on Linux and a private_extern flag on Mac. (We can use this
-; private_extern flag only on the latest yasm.)
-;
-%ifdef MACHO
-%define PRIVATE :private_extern
-%elifdef ELF
-%define PRIVATE :hidden
-%else
-%define PRIVATE
-%endif
-
%endif ; CHROMIUM
-%endif ; MEDIA_BASE_SIMD_X86INC_ASM_
+%endif ; THIRD_PARTY_X86INC_X86INC_ASM_
diff --git a/third_party/yasm/yasm_compile.gypi b/third_party/yasm/yasm_compile.gypi
index 0d9263ffd..58a0dfb 100644
--- a/third_party/yasm/yasm_compile.gypi
+++ b/third_party/yasm/yasm_compile.gypi
@@ -6,9 +6,11 @@
#
# Files to be compiled with YASM should have an extension of .asm.
#
-# There are two variables for this include:
+# There are three variables for this include:
# yasm_flags : Pass additional flags into YASM.
# yasm_output_path : Output directory for the compiled object files.
+# yasm_includes : Includes used by .asm code. Changes to which should force
+# recompilation.
#
# Sample usage:
# 'sources': [
@@ -19,6 +21,7 @@
# '-I', 'assembly_include',
# ],
# 'yasm_output_path': '<(SHARED_INTERMEDIATE_DIR)/project',
+# 'yasm_includes': ['ultra_optimized_awesome.inc']
# },
# 'includes': [
# 'third_party/yasm/yasm_compile.gypi'
@@ -27,6 +30,7 @@
{
'variables': {
'yasm_flags': [],
+ 'yasm_includes': [],
'conditions': [
[ 'use_system_yasm==0', {
@@ -98,7 +102,7 @@
{
'rule_name': 'assemble',
'extension': 'asm',
- 'inputs': [ '<(yasm_path)', ],
+ 'inputs': [ '<(yasm_path)', '<@(yasm_includes)'],
'outputs': [
'<(yasm_output_path)/<(RULE_INPUT_ROOT).<(asm_obj_extension)',
],