Skip to content

Commit f5b1efb

Browse files
committed
Move client-affecting configuration options into a generated Config.h.
This way they can be used from other projects, like LLDB. The downside is we now have to make sure the header is included consistently in all the places we care about, but I think in practice that won't be a problem, especially not with tests. rdar://problem/22240127 Swift SVN r31173
1 parent c5161a9 commit f5b1efb

21 files changed

+35
-18
lines changed

Diff for: cmake/modules/AddSwift.cmake

-8
Original file line numberDiff line numberDiff line change
@@ -94,14 +94,6 @@ function(_add_variant_c_compile_flags
9494
list(APPEND result "-DNDEBUG")
9595
endif()
9696

97-
if(SWIFT_ENABLE_TARGET_TVOS)
98-
list(APPEND result "-DSWIFT_ENABLE_TARGET_TVOS=\"1\"")
99-
endif()
100-
101-
if(SWIFT_ENABLE_OBJECT_LITERALS)
102-
list(APPEND result "-DSWIFT_ENABLE_OBJECT_LITERALS=\"1\"")
103-
endif()
104-
10597
set("${result_var_name}" "${result}" PARENT_SCOPE)
10698
endfunction()
10799

Diff for: include/swift/AST/DiagnosticsCommon.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919
#ifndef SWIFT_DIAGNOSTICSCOMMON_H
2020
#define SWIFT_DIAGNOSTICSCOMMON_H
2121

22-
#include "swift/Basic/LLVM.h"
2322
#include "swift/AST/DiagnosticEngine.h"
23+
#include "swift/Basic/LLVM.h"
24+
#include "swift/Config.h"
2425

2526
namespace swift {
2627
template<typename ...ArgTypes>

Diff for: include/swift/AST/Expr.h

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include "swift/AST/TypeLoc.h"
2626
#include "swift/AST/Availability.h"
2727
#include "swift/Basic/SourceLoc.h"
28+
#include "swift/Config.h"
2829
#include "llvm/ADT/ArrayRef.h"
2930
#include "llvm/ADT/StringRef.h"
3031

Diff for: include/swift/AST/KnownProtocols.h

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
#ifndef SWIFT_AST_KNOWNPROTOCOLS_H
1414
#define SWIFT_AST_KNOWNPROTOCOLS_H
1515

16+
#include "swift/Config.h"
17+
1618
namespace llvm {
1719
class StringRef;
1820
}

Diff for: include/swift/AST/PlatformKind.h

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#define SWIFT_AST_PLATFORM_KIND_H
1919

2020
#include "swift/Basic/LLVM.h"
21+
#include "swift/Config.h"
2122
#include "llvm/ADT/StringRef.h"
2223

2324
namespace swift {

Diff for: include/swift/Basic/Platform.h

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#define SWIFT_BASIC_PLATFORM_H
1515

1616
#include "swift/Basic/LLVM.h"
17+
#include "swift/Config.h"
1718
#include "llvm/ADT/StringRef.h"
1819

1920
namespace llvm {

Diff for: include/swift/CMakeLists.txt

+3
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1+
configure_file(Config.h.in ${CMAKE_CURRENT_BINARY_DIR}/Config.h
2+
ESCAPE_QUOTES @ONLY)
3+
14
add_subdirectory(Option)

Diff for: include/swift/Config.h.in

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// This file is processed by CMake.
2+
// See http://www.cmake.org/cmake/help/v3.0/command/configure_file.html.
3+
4+
#ifndef SWIFT_CONFIG_H
5+
#define SWIFT_CONFIG_H
6+
7+
#cmakedefine SWIFT_ENABLE_OBJECT_LITERALS 1
8+
#cmakedefine SWIFT_ENABLE_TARGET_TVOS 1
9+
10+
#endif // SWIFT_CONFIG_H

Diff for: include/swift/IDE/SyntaxModel.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@
1313
#ifndef SWIFT_IDE_SYNTAX_MODEL_H
1414
#define SWIFT_IDE_SYNTAX_MODEL_H
1515

16-
#include "swift/Basic/SourceLoc.h"
1716
#include "swift/AST/Attr.h"
17+
#include "swift/Basic/SourceLoc.h"
18+
#include "swift/Config.h"
1819

1920
#include <vector>
2021

Diff for: include/swift/Parse/Parser.h

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include "swift/Parse/Token.h"
2626
#include "swift/Parse/ParserResult.h"
2727
#include "swift/Basic/OptionSet.h"
28+
#include "swift/Config.h"
2829
#include "llvm/ADT/SetVector.h"
2930

3031
namespace llvm {

Diff for: include/swift/Parse/Token.h

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
#include "swift/Basic/SourceLoc.h"
2121
#include "swift/Basic/LLVM.h"
22+
#include "swift/Config.h"
2223
#include "llvm/ADT/StringRef.h"
2324

2425
namespace swift {

Diff for: lib/AST/ASTPrinter.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include "swift/Basic/Fallthrough.h"
3232
#include "swift/Basic/PrimitiveParsing.h"
3333
#include "swift/Basic/STLExtras.h"
34+
#include "swift/Config.h"
3435
#include "swift/Strings.h"
3536
#include "clang/AST/ASTContext.h"
3637
#include "clang/AST/Decl.h"

Diff for: lib/AST/DiagnosticEngine.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,16 @@
1515
//
1616
//===----------------------------------------------------------------------===//
1717

18+
#include "swift/AST/DiagnosticEngine.h"
1819
#include "swift/AST/ASTPrinter.h"
1920
#include "swift/AST/Decl.h"
20-
#include "swift/AST/DiagnosticEngine.h"
2121
#include "swift/AST/Module.h"
2222
#include "swift/AST/Pattern.h"
2323
#include "swift/AST/PrintOptions.h"
2424
#include "swift/AST/TypeRepr.h"
2525
#include "swift/Basic/SourceManager.h"
2626
#include "swift/Parse/Lexer.h" // bad dependency
27+
#include "swift/Config.h"
2728
#include "llvm/ADT/SmallString.h"
2829
#include "llvm/ADT/Twine.h"
2930
#include "llvm/Support/raw_ostream.h"

Diff for: lib/Basic/LangOptions.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
#include "swift/Basic/LangOptions.h"
1919
#include "swift/Basic/Range.h"
20+
#include "swift/Config.h"
2021
#include "llvm/ADT/SmallString.h"
2122
#include "llvm/Support/raw_ostream.h"
2223

Diff for: lib/ClangImporter/ClangImporter.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include "swift/Basic/StringExtras.h"
3333
#include "swift/ClangImporter/ClangImporterOptions.h"
3434
#include "swift/Parse/Lexer.h"
35+
#include "swift/Config.h"
3536
#include "clang/AST/ASTContext.h"
3637
#include "clang/Basic/CharInfo.h"
3738
#include "clang/Basic/IdentifierTable.h"

Diff for: lib/ClangImporter/ImportDecl.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include "swift/Basic/Fallthrough.h"
3030
#include "swift/ClangImporter/ClangModule.h"
3131
#include "swift/Parse/Lexer.h"
32+
#include "swift/Config.h"
3233
#include "clang/AST/ASTContext.h"
3334
#include "clang/AST/Attr.h"
3435
#include "clang/AST/DeclVisitor.h"

Diff for: lib/Driver/Driver.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
#include "swift/Driver/ToolChain.h"
3535
#include "swift/Option/Options.h"
3636
#include "swift/Parse/Lexer.h"
37+
#include "swift/Config.h"
3738
#include "llvm/ADT/DenseSet.h"
3839
#include "llvm/ADT/STLExtras.h"
3940
#include "llvm/ADT/SmallString.h"

Diff for: lib/Driver/Tools.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include "swift/Driver/Job.h"
2323
#include "swift/Frontend/Frontend.h"
2424
#include "swift/Option/Options.h"
25+
#include "swift/Config.h"
2526
#include "clang/Basic/Version.h"
2627
#include "clang/Driver/Util.h"
2728
#include "llvm/ADT/StringSwitch.h"

Diff for: lib/Sema/TypeChecker.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@
2424
#include "swift/AST/KnownProtocols.h"
2525
#include "swift/AST/LazyResolver.h"
2626
#include "swift/AST/TypeRefinementContext.h"
27+
#include "swift/Parse/Lexer.h"
2728
#include "swift/Basic/Fallthrough.h"
2829
#include "swift/Basic/OptionSet.h"
29-
#include "swift/Parse/Lexer.h"
30+
#include "swift/Config.h"
3031
#include "llvm/ADT/SetVector.h"
3132
#include <functional>
3233

Diff for: tools/swift-ide-test/swift-ide-test.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
#include "swift/IDE/SyntaxModel.h"
3939
#include "swift/IDE/Utils.h"
4040
#include "swift/Markup/Markup.h"
41+
#include "swift/Config.h"
4142
#include "clang/APINotes/APINotesReader.h"
4243
#include "clang/APINotes/APINotesWriter.h"
4344
#include "clang/Rewrite/Core/RewriteBuffer.h"

Diff for: unittests/CMakeLists.txt

-6
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,6 @@ function(add_swift_unittest test_dirname)
2727
set_property(TARGET "${test_dirname}" APPEND_STRING PROPERTY
2828
LINK_FLAGS " -Xlinker -rpath -Xlinker ${SWIFT_LIBRARY_OUTPUT_INTDIR}/swift/macosx")
2929
endif()
30-
31-
if(SWIFT_ENABLE_OBJECT_LITERALS)
32-
set_property(TARGET "${test_dirname}" APPEND_STRING
33-
PROPERTY COMPILE_FLAGS
34-
" -DSWIFT_ENABLE_OBJECT_LITERALS=\"1\"")
35-
endif()
3630
endfunction()
3731

3832
if(SWIFT_BUILD_TOOLS)

0 commit comments

Comments
 (0)