blob: 225e14bdef978477b275429fc50d09423152465b [file] [log] [blame]
Josh Gaobf8a2852016-05-27 11:59:09 -07001/*
Elliott Hughesdfb74c52016-10-24 12:53:17 -07002 * Copyright (C) 2016 The Android Open Source Project
Josh Gaobf8a2852016-05-27 11:59:09 -07003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
Elliott Hughesdfb74c52016-10-24 12:53:17 -07008 * http://www.apache.org/licenses/LICENSE-2.0
Josh Gaobf8a2852016-05-27 11:59:09 -07009 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#pragma once
18
19#include <map>
20#include <set>
21#include <string>
22#include <unordered_map>
Josh Gaod8c77252016-06-03 13:54:28 -070023#include <unordered_set>
Josh Gaobf8a2852016-05-27 11:59:09 -070024
Josh Gaoacc3d802016-11-09 18:22:44 -080025extern bool strict;
Josh Gaobf8a2852016-05-27 11:59:09 -070026extern bool verbose;
Josh Gaob5c49632016-11-08 22:21:31 -080027extern bool add_include;
Josh Gaobf8a2852016-05-27 11:59:09 -070028
Josh Gaof8592a32016-07-26 18:58:27 -070029#define D(...) \
30 do { \
31 if (verbose) { \
32 printf(__VA_ARGS__); \
33 } \
34 } while (0)
35
Elliott Hughes8c936b42020-06-15 11:18:43 -070036static const std::unordered_map<std::string, std::set<Arch>> ignored_headers = {
Josh Gaobf8a2852016-05-27 11:59:09 -070037 // Internal header.
Elliott Hughes8c936b42020-06-15 11:18:43 -070038 // TODO: we should probably just admit we're never getting rid of this.
Josh Gaobf8a2852016-05-27 11:59:09 -070039 { "sys/_system_properties.h", supported_archs },
40
41 // time64.h #errors when included on LP64 archs.
Elliott Hughesd7f08442022-10-04 00:36:29 +000042 { "time64.h", { Arch::arm64, Arch::riscv64, Arch::x86_64 } },
Josh Gaobf8a2852016-05-27 11:59:09 -070043};