1# Copyright 2017 The Meson development team
2
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6
7#     http://www.apache.org/licenses/LICENSE-2.0
8
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15# Public symbols for compilers sub-package when using 'from . import compilers'
16__all__ = [
17    'Compiler',
18
19    'all_languages',
20    'base_options',
21    'clib_langs',
22    'clink_langs',
23    'c_suffixes',
24    'cpp_suffixes',
25    'get_base_compile_args',
26    'get_base_link_args',
27    'is_assembly',
28    'is_header',
29    'is_library',
30    'is_llvm_ir',
31    'is_object',
32    'is_source',
33    'is_known_suffix',
34    'lang_suffixes',
35    'sort_clink',
36
37    'AppleClangCCompiler',
38    'AppleClangCPPCompiler',
39    'AppleClangObjCCompiler',
40    'AppleClangObjCPPCompiler',
41    'ArmCCompiler',
42    'ArmCPPCompiler',
43    'ArmclangCCompiler',
44    'ArmclangCPPCompiler',
45    'CCompiler',
46    'ClangCCompiler',
47    'ClangCompiler',
48    'ClangCPPCompiler',
49    'ClangObjCCompiler',
50    'ClangObjCPPCompiler',
51    'ClangClCCompiler',
52    'ClangClCPPCompiler',
53    'CPPCompiler',
54    'DCompiler',
55    'DmdDCompiler',
56    'FortranCompiler',
57    'G95FortranCompiler',
58    'GnuCCompiler',
59    'ElbrusCCompiler',
60    'EmscriptenCCompiler',
61    'GnuCompiler',
62    'GnuLikeCompiler',
63    'GnuCPPCompiler',
64    'ElbrusCPPCompiler',
65    'EmscriptenCPPCompiler',
66    'GnuDCompiler',
67    'GnuFortranCompiler',
68    'ElbrusFortranCompiler',
69    'FlangFortranCompiler',
70    'GnuObjCCompiler',
71    'GnuObjCPPCompiler',
72    'IntelGnuLikeCompiler',
73    'IntelVisualStudioLikeCompiler',
74    'IntelCCompiler',
75    'IntelCPPCompiler',
76    'IntelClCCompiler',
77    'IntelClCPPCompiler',
78    'IntelFortranCompiler',
79    'IntelClFortranCompiler',
80    'JavaCompiler',
81    'LLVMDCompiler',
82    'MonoCompiler',
83    'CudaCompiler',
84    'VisualStudioCsCompiler',
85    'NAGFortranCompiler',
86    'ObjCCompiler',
87    'ObjCPPCompiler',
88    'Open64FortranCompiler',
89    'PathScaleFortranCompiler',
90    'PGICCompiler',
91    'PGICPPCompiler',
92    'PGIFortranCompiler',
93    'RustCompiler',
94    'CcrxCCompiler',
95    'CcrxCPPCompiler',
96    'Xc16CCompiler',
97    'C2000CCompiler',
98    'C2000CPPCompiler',
99    'SunFortranCompiler',
100    'SwiftCompiler',
101    'ValaCompiler',
102    'VisualStudioLikeCompiler',
103    'VisualStudioCCompiler',
104    'VisualStudioCPPCompiler',
105]
106
107# Bring symbols from each module into compilers sub-package namespace
108from .compilers import (
109    Compiler,
110    all_languages,
111    base_options,
112    clib_langs,
113    clink_langs,
114    c_suffixes,
115    cpp_suffixes,
116    get_base_compile_args,
117    get_base_link_args,
118    is_header,
119    is_source,
120    is_assembly,
121    is_llvm_ir,
122    is_object,
123    is_library,
124    is_known_suffix,
125    lang_suffixes,
126    sort_clink,
127)
128from .c import (
129    CCompiler,
130    AppleClangCCompiler,
131    ArmCCompiler,
132    ArmclangCCompiler,
133    ClangCCompiler,
134    ClangClCCompiler,
135    GnuCCompiler,
136    ElbrusCCompiler,
137    EmscriptenCCompiler,
138    IntelCCompiler,
139    IntelClCCompiler,
140    PGICCompiler,
141    CcrxCCompiler,
142    Xc16CCompiler,
143    C2000CCompiler,
144    VisualStudioCCompiler,
145)
146from .cpp import (
147    CPPCompiler,
148    AppleClangCPPCompiler,
149    ArmCPPCompiler,
150    ArmclangCPPCompiler,
151    ClangCPPCompiler,
152    ClangClCPPCompiler,
153    GnuCPPCompiler,
154    ElbrusCPPCompiler,
155    EmscriptenCPPCompiler,
156    IntelCPPCompiler,
157    IntelClCPPCompiler,
158    PGICPPCompiler,
159    CcrxCPPCompiler,
160    C2000CPPCompiler,
161    VisualStudioCPPCompiler,
162)
163from .cs import MonoCompiler, VisualStudioCsCompiler
164from .d import (
165    DCompiler,
166    DmdDCompiler,
167    GnuDCompiler,
168    LLVMDCompiler,
169)
170from .cuda import CudaCompiler
171from .fortran import (
172    FortranCompiler,
173    G95FortranCompiler,
174    GnuFortranCompiler,
175    ElbrusFortranCompiler,
176    FlangFortranCompiler,
177    IntelFortranCompiler,
178    IntelClFortranCompiler,
179    NAGFortranCompiler,
180    Open64FortranCompiler,
181    PathScaleFortranCompiler,
182    PGIFortranCompiler,
183    SunFortranCompiler,
184)
185from .java import JavaCompiler
186from .objc import (
187    ObjCCompiler,
188    AppleClangObjCCompiler,
189    ClangObjCCompiler,
190    GnuObjCCompiler,
191)
192from .objcpp import (
193    ObjCPPCompiler,
194    AppleClangObjCPPCompiler,
195    ClangObjCPPCompiler,
196    GnuObjCPPCompiler,
197)
198from .rust import RustCompiler
199from .swift import SwiftCompiler
200from .vala import ValaCompiler
201from .mixins.visualstudio import VisualStudioLikeCompiler
202from .mixins.gnu import GnuCompiler, GnuLikeCompiler
203from .mixins.intel import IntelGnuLikeCompiler, IntelVisualStudioLikeCompiler
204from .mixins.clang import ClangCompiler
205