1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48

build / config / zos / BUILD.gn [blame]

# Copyright 2021 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/sanitizers/sanitizers.gni")
import("//build/toolchain/toolchain.gni")

# This is included by reference in the //build/config/compiler config that
# is applied to all targets. It is here to specify defines and flags that
# are z/OS-specific.

config("compiler") {
  defines = [
    "_AE_BIMODAL=1",
    "_ALL_SOURCE",
    "_ENHANCED_ASCII_EXT=0xFFFFFFFF",
    "_LARGE_TIME_API",
    "_OPEN_MSGQ_EXT",
    "_OPEN_SYS_FILE_EXT=1",
    "_OPEN_SYS_SOCK_IPV6 ",
    "_UNIX03_SOURCE ",
    "_UNIX03_THREADS",
    "_UNIX03_WITHDRAWN",
    "_XOPEN_SOURCE=600",
    "_XOPEN_SOURCE_EXTENDED",
    "PATH_MAX=1024",
    "ZOSLIB_OVERRIDE_CLIB",
  ]

  cflags = [
    "-fno-short-enums",
    "-fno-xl-pragma-pack",
    "-fzos-le-char-mode=ascii",
    "-m64",
    "-march=arch14",
    "-mzos-target=zosv2r4",
    "-Wno-unknown-pragmas",
  ]

  cflags_cc = []

  asmflags = [
    "-Wa,-mGOFF",
    "-fno-integrated-as",
  ]

  ldflags = []
}