summaryrefslogtreecommitdiff
path: root/etc/defaults/CC/TARGETS.boringssl
blob: c405ff2146c17aff4b5319cba16b368462783735 (plain)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
{ "defaults":
  { "type": ["CC", "defaults"]
  , "arguments_config": ["TOOLCHAIN_CONFIG", "OS", "ARCH", "TARGET_ARCH"]
  , "base": [["@", "base", "CC", "defaults"]]
  , "ADD_CFLAGS":
    { "type": "++"
    , "$1":
      [ ["-std=gnu17"]
      , { "type": "let*"
        , "bindings":
          [ [ "OS"
            , { "type": "var"
              , "name": "OS"
              , "default":
                {"type": "fail", "msg": "Required variable 'OS' is not set."}
              }
            ]
          , [ "ARCH"
            , { "type": "var"
              , "name": "ARCH"
              , "default":
                {"type": "fail", "msg": "Required variable 'ARCH' is not set."}
              }
            ]
          , [ "PLATFORM"
            , { "type": "join"
              , "separator": "_"
              , "$1":
                [ {"type": "var", "name": "OS"}
                , { "type": "var"
                  , "name": "TARGET_ARCH"
                  , "default": {"type": "var", "name": "ARCH"}
                  }
                ]
              }
            ]
          , [ "COMPILER_FAMILY"
            , { "type": "lookup"
              , "map":
                { "type": "var"
                , "name": "TOOLCHAIN_CONFIG"
                , "default": {"type": "empty_map"}
                }
              , "key": "FAMILY"
              , "default": "unknown"
              }
            ]
          , [ "posix_copts"
            , [ "-Wa,--noexecstack"
              , "-D_XOPEN_SOURCE=700"
              , "-Wall"
              , "-Wformat=2"
              , "-Wsign-compare"
              , "-Wmissing-field-initializers"
              , "-Wwrite-strings"
              , "-Wshadow"
              , "-fno-common"
              , "-Wmissing-prototypes"
              , "-Wold-style-definition"
              , "-Wstrict-prototypes"
              ]
            ]
          ]
        , "body":
          { "type": "++"
          , "$1":
            [ { "type": "case"
              , "expr":
                { "type": "var"
                , "name": "TARGET_ARCH"
                , "default": {"type": "var", "name": "ARCH"}
                }
              , "case": {"arm": ["-Wno-atomic-alignment"]}
              }
            , { "type": "cond"
              , "cond":
                [ [ { "type": "or"
                    , "$1":
                      [ { "type": "=="
                        , "$1": {"type": "var", "name": "PLATFORM"}
                        , "$2": "linux_ppc64le"
                        }
                      , { "type": "=="
                        , "$1": {"type": "var", "name": "PLATFORM"}
                        , "$2": "linux_x86_64"
                        }
                      , { "type": "=="
                        , "$1": {"type": "var", "name": "PLATFORM"}
                        , "$2": "mac_x86_64"
                        }
                      ]
                    }
                  , {"type": "var", "name": "posix_copts"}
                  ]
                , [ { "type": "=="
                    , "$1": {"type": "var", "name": "PLATFORM"}
                    , "$2": "windows_x86_64"
                    }
                  , ["-DWIN32_LEAN_AND_MEAN", "-DOPENSSL_NO_ASM"]
                  ]
                ]
              , "default": ["-DOPENSSL_NO_ASM"]
              }
            , { "type": "case"
              , "expr": {"type": "var", "name": "COMPILER_FAMILY"}
              , "case":
                { "gnu":
                  [ "-Wno-dangling-pointer"
                  , "-Wno-array-bounds"
                  , "-Wno-stringop-overflow"
                  ]
                , "clang":
                  [ "-Wno-unused-but-set-variable"
                  , "-Wno-unknown-warning-option"
                  ]
                }
              }
            ]
          }
        }
      ]
    }
  , "ADD_CXXFLAGS":
    { "type": "++"
    , "$1":
      [ ["-std=c++20"]
      , { "type": "let*"
        , "bindings":
          [ [ "OS"
            , { "type": "var"
              , "name": "OS"
              , "default":
                {"type": "fail", "msg": "Required variable 'OS' is not set."}
              }
            ]
          , [ "ARCH"
            , { "type": "var"
              , "name": "ARCH"
              , "default":
                {"type": "fail", "msg": "Required variable 'ARCH' is not set."}
              }
            ]
          , [ "PLATFORM"
            , { "type": "join"
              , "separator": "_"
              , "$1":
                [ {"type": "var", "name": "OS"}
                , { "type": "var"
                  , "name": "TARGET_ARCH"
                  , "default": {"type": "var", "name": "ARCH"}
                  }
                ]
              }
            ]
          , [ "posix_copts"
            , [ "-Wa,--noexecstack"
              , "-D_XOPEN_SOURCE=700"
              , "-Wall"
              , "-Wformat=2"
              , "-Wsign-compare"
              , "-Wmissing-field-initializers"
              , "-Wwrite-strings"
              , "-Wshadow"
              , "-fno-common"
              , "-Wmissing-declarations"
              ]
            ]
          ]
        , "body":
          { "type": "cond"
          , "cond":
            [ [ { "type": "or"
                , "$1":
                  [ { "type": "=="
                    , "$1": {"type": "var", "name": "PLATFORM"}
                    , "$2": "linux_ppc64le"
                    }
                  , { "type": "=="
                    , "$1": {"type": "var", "name": "PLATFORM"}
                    , "$2": "linux_x86_64"
                    }
                  , { "type": "=="
                    , "$1": {"type": "var", "name": "PLATFORM"}
                    , "$2": "mac_x86_64"
                    }
                  ]
                }
              , {"type": "var", "name": "posix_copts"}
              ]
            , [ { "type": "=="
                , "$1": {"type": "var", "name": "PLATFORM"}
                , "$2": "windows_x86_64"
                }
              , ["-DWIN32_LEAN_AND_MEAN", "-DOPENSSL_NO_ASM"]
              ]
            ]
          , "default": ["-DOPENSSL_NO_ASM"]
          }
        }
      ]
    }
  }
}