blob: a8399d959c362160685c0bf8b5a1dbda6da1cd84 [file] [log] [blame]
# Copyright (c) 2014 The Native Client Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Native Client Definitions
config("nacl_defines") {
defines = [
"NACL_ANDROID=0",
"_DEFAULT_SOURCE=1",
"_BSD_SOURCE=1",
"_POSIX_C_SOURCE=199506",
"_XOPEN_SOURCE=600",
"_GNU_SOURCE=1",
"__STDC_LIMIT_MACROS=1",
]
if (is_win) {
defines += [ "NACL_WINDOWS=1" ]
} else {
defines += [ "NACL_WINDOWS=0" ]
}
if (is_linux) {
defines += [ "NACL_LINUX=1" ]
} else {
defines += [ "NACL_LINUX=0" ]
}
if (is_mac) {
defines += [ "NACL_OSX=1" ]
} else {
defines += [ "NACL_OSX=0" ]
}
if (current_cpu == "arm") {
defines += [
"NACL_BUILD_ARCH=arm",
"NACL_BUILD_SUBARCH=32",
]
}
if (current_cpu == "mips") {
defines += [
"NACL_BUILD_ARCH=mips",
"NACL_BUILD_SUBARCH=32",
]
}
if (current_cpu == "x86") {
defines += [
"NACL_BUILD_ARCH=x86",
"NACL_BUILD_SUBARCH=32",
]
}
if (current_cpu == "x64") {
defines += [
"NACL_BUILD_ARCH=x86",
"NACL_BUILD_SUBARCH=64",
]
}
}
config("nexe_defines") {
defines = [
"DYNAMIC_ANNOTATIONS_ENABLED=1",
"DYNAMIC_ANNOTATIONS_PREFIX=NACL_",
]
}
# The base target that all targets in the NaCl build should depend on.
# This allows configs to be modified for everything in the NaCl build, even when
# the NaCl build is composed into the Chrome build. (GN has no functionality to
# add flags to everythin in //native_client, having a base target works around
# that limitation.)
source_set("nacl_base") {
public_configs = [ ":nacl_defines" ]
if (current_os == "nacl") {
public_configs += [ ":nexe_defines" ]
}
}