blob: 4e46f98ccd68c79f484921bba69f02e186c70597 [file] [log] [blame]
//
// Copyright 2015 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// angle_config.h:
// Helpers for importing the gpu test expectations package from Chrome.
//
#ifndef GPU_TEST_EXPECTATIONS_ANGLE_CONFIG_H_
#define GPU_TEST_EXPECTATIONS_ANGLE_CONFIG_H_
#include <stdint.h>
#include <iostream>
#include "common/debug.h"
#include "common/string_utils.h"
#define DCHECK_EQ(A,B) ASSERT((A) == (B))
#define DCHECK_NE(A,B) ASSERT((A) != (B))
#define DCHECK(X) ASSERT(X)
#define LOG(X) std::cerr
#define GPU_EXPORT
typedef int32_t int32;
typedef uint32_t uint32;
typedef int64_t int64;
typedef uint64_t uint64;
// Shim Chromium's base by importing functions in the base namespace.
namespace base
{
using angle::kWhitespaceASCII;
using angle::TRIM_WHITESPACE;
using angle::KEEP_WHITESPACE;
using angle::SPLIT_WANT_ALL;
using angle::SPLIT_WANT_NONEMPTY;
using angle::SplitString;
using angle::SplitStringAlongWhitespace;
using angle::HexStringToUInt;
using angle::ReadFileToString;
// StringPrintf is called differently in ANGLE but using cannot change
// the name of the imported function. Use a define to change the name.
using ::FormatString;
#define StringPrintf FormatString
}
// TODO(jmadill): other platforms
// clang-format off
#if defined(_WIN32) || defined(_WIN64)
# define OS_WIN
#elif defined(ANDROID)
# define OS_ANDROID
#elif defined(__linux__)
# define OS_LINUX
#elif defined(__APPLE__)
# define OS_MACOSX
#else
# error "Unsupported platform"
#endif
// clang-format on
#endif