; 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_