xref: /aosp_15_r20/external/libusb/Xcode/common.xcconfig (revision 86b64dcb59b3a0b37502ecd56e119234366a6f7e)
1//
2// libusb Xcode configuration file
3// Copyright © 2012 Pete Batard <[email protected]>
4// For more information, please visit: <https://libusb.info>
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
20// Use GNU11 dialect.
21GCC_C_LANGUAGE_STANDARD = gnu11
22
23// Don't search user paths with <> style #includes.
24ALWAYS_SEARCH_USER_PATHS = NO
25
26// Enable weak references for Objective-C
27CLANG_ENABLE_OBJC_WEAK = YES
28
29// Allocate even uninitialized global variables in the data section of the object file, rather than generating them as common blocks. This has the effect that if the same variable is declared (without 'extern') in two different compilations, you will get an error when you link them.
30GCC_NO_COMMON_BLOCKS = YES
31
32// Keep private symbols private.  The first setting is -fvisibility=hidden, the second is -fvisibility-inlines-hidden.
33GCC_SYMBOLS_PRIVATE_EXTERN = YES
34GCC_INLINES_ARE_PRIVATE_EXTERN = YES
35
36// Compiler errors.
37GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES
38
39// Compiler warnings.
40GCC_WARN_64_TO_32_BIT_CONVERSION = YES
41GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES
42GCC_WARN_ABOUT_MISSING_NEWLINE = YES
43GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES
44GCC_WARN_ABOUT_RETURN_TYPE = YES
45GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES
46GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES
47GCC_WARN_SHADOW = YES
48GCC_WARN_UNINITIALIZED_AUTOS = YES
49GCC_WARN_UNKNOWN_PRAGMAS = YES
50GCC_WARN_UNUSED_FUNCTION = YES
51GCC_WARN_UNUSED_LABEL = YES
52GCC_WARN_UNUSED_PARAMETER = YES
53GCC_WARN_UNUSED_VARIABLE = YES
54CLANG_WARN_ASSIGN_ENUM = YES
55CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES
56CLANG_WARN_BOOL_CONVERSION = YES
57CLANG_WARN_COMMA = YES
58CLANG_WARN_CONSTANT_CONVERSION = YES
59CLANG_WARN_DOCUMENTATION_COMMENTS = YES
60CLANG_WARN_EMPTY_BODY = YES
61CLANG_WARN_ENUM_CONVERSION = YES
62CLANG_WARN_FLOAT_CONVERSION = YES
63CLANG_WARN_INFINITE_RECURSION = YES
64CLANG_WARN_INT_CONVERSION = YES
65CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES
66CLANG_WARN_STRICT_PROTOTYPES = YES
67CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES
68CLANG_WARN_COMPLETION_HANDLER_MISUSE = YES
69CLANG_WARN_IMPLICIT_FALLTHROUGH = YES
70CLANG_WARN_FRAMEWORK_INCLUDE_PRIVATE_FROM_PUBLIC = YES
71CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES
72CLANG_WARN_SEMICOLON_BEFORE_METHOD_BODY = YES
73GCC_WARN_SIGN_COMPARE = YES
74CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES
75GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES
76GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES
77CLANG_WARN_ATOMIC_IMPLICIT_SEQ_CST = YES
78CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES
79CLANG_WARN_OBJC_INTERFACE_IVARS = YES
80GCC_WARN_STRICT_SELECTOR_MATCH = YES
81CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES
82CLANG_WARN_UNREACHABLE_CODE = YES
83CLANG_WARN_RANGE_LOOP_ANALYSIS = YES
84CLANG_WARN_SUSPICIOUS_MOVE = YES
85CLANG_WARN__DUPLICATE_METHOD_MATCH = YES
86CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES
87GCC_WARN_UNDECLARED_SELECTOR = YES
88
89// Static analyzer warnings.
90CLANG_ANALYZER_NONNULL = YES
91CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES
92CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES
93