| Index: media/base/simd/media_export.asm
|
| diff --git a/media/base/simd/media_export.asm b/media/base/simd/media_export.asm
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e82be8d7f9d7bd1624f41505ef1e3de9e6fcb5b8
|
| --- /dev/null
|
| +++ b/media/base/simd/media_export.asm
|
| @@ -0,0 +1,48 @@
|
| +; Copyright 2013 The Chromium Authors. All rights reserved.
|
| +; Use of this source code is governed by a BSD-style license that can be
|
| +; found in the LICENSE file.
|
| +;
|
| +; A set of helper macros for controlling symbol visibility.
|
| +;
|
| +
|
| +%ifndef MEDIA_BASE_SIMD_MEDIA_EXPORT_ASM_
|
| +%define MEDIA_BASE_SIMD_MEDIA_EXPORT_ASM_
|
| +
|
| +; Necessary for the mangle() macro.
|
| +%include "third_party/x86inc/x86inc.asm"
|
| +
|
| +;
|
| +; 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
|
| +
|
| +;
|
| +; EXPORT %1
|
| +; Designates a symbol as PRIVATE if EXPORT_SYMBOLS is not set.
|
| +;
|
| +%macro EXPORT 1
|
| +%ifdef EXPORT_SYMBOLS
|
| +global mangle(%1)
|
| +
|
| +; Windows needs an additional export declaration.
|
| +%ifidn __OUTPUT_FORMAT__,win32
|
| +export mangle(%1)
|
| +%elifidn __OUTPUT_FORMAT__,win64
|
| +export mangle(%1)
|
| +%endif
|
| +
|
| +%else
|
| +global mangle(%1) PRIVATE
|
| +%endif
|
| +%endmacro
|
| +
|
| +%endif ; MEDIA_BASE_SIMD_MEDIA_EXPORT_ASM_
|
|
|