gecko-dev/media/ffvpx/libavutil_visibility.h
Daniel Holbert 945b072cbc Bug 1412240 part 1: Add a preemptive stdlib.h include in our libavutil_visibility.h hackaround file. r=jya
MozReview-Commit-ID: 8nmOy2aqPA0

--HG--
extra : rebase_source : 485e205af8fbb205c81929e12eac00410570124d
2017-11-30 11:48:28 -08:00

31 lines
1.2 KiB
C

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:set ts=2 sw=2 sts=2 et cindent: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// Include file for fixing symbol visibility on Linux.
#ifndef MOZILLA_AVUTIL_VISIBILITY_H
#define MOZILLA_AVUTIL_VISIBILITY_H
// We need to preemptively include <stdlib.h> before anyone[1] has a chance
// to include <limits.h>. We do this to avoid a linux clang build error, in
// -ffreestanding mode on automation, which happens when limits.h defines
// MB_LEN_MAX to some value that is different from what stdlib.h expects. If
// we include stdlib.h before limits.h, then they don't get a chance to
// interact badly.
//
// [1] (e.g. libavutil/common.h, which is indirectly included by log.h below.)
#include <stdlib.h>
#pragma GCC visibility push(default)
#include "libavutil/cpu.h"
// We need av_log() to be visible so we can enable assertions in libavcodec.
#include "libavutil/log.h"
#pragma GCC visibility pop
#endif // MOZILLA_AVUTIL_VISIBILITY_H