meson/mesonbuild/compilers
Dylan Baker 23d3b98fc1 split mesonlib into a package
Currently mesonlib does some import tricks to figure out whether it
needs to use windows or posix specific functions. This is a little
hacky, but works fine. However, the way the typing stubs are implemented
for the msvcrt and fnctl modules will cause mypy to fail on the other
platform, since the functions are not implemented.

To aleviate this (and for slightly cleaner design), I've split mesonlib
into a pacakge with three modules. A universal module contains all of
the platform agnositc code, a win32 module contains window specific
code, a posix module contains the posix specific code, and a platform
module contains no-op implementations. Then the package's __init__ file
imports all of the universal functions and all of the functions from the
approriate platform module, or the no-op versions as fallbacks. This
makes mypy happy, and avoids `if`ing all over the code to switch between
the platform specific code.
2021-01-23 12:48:29 +01:00
..
mixins MSVC and Clang-Cl Compiler Argument Cleanup 2021-01-20 14:11:16 -05:00
__init__.py use PEP8 style naming for LANGUAGES_USING_* as well 2021-01-11 11:15:06 -08:00
c.py split mesonlib into a package 2021-01-23 12:48:29 +01:00
c_function_attributes.py compiler: add 'force_align_arg_pointer' function attribute 2020-06-21 23:34:11 +03:00
compilers.py Fix misspells 2021-01-13 12:53:10 -05:00
cpp.py move handling of CFLAGS and friends to environment 2021-01-11 11:15:06 -08:00
cs.py compilers/cs: Add type annotations 2020-10-01 15:05:00 -07:00
cuda.py move OptionKey to mesonlib 2021-01-04 12:20:40 -08:00
d.py use OptionKey for builtin and base options 2021-01-04 12:20:40 -08:00
fortran.py move OptionKey to mesonlib 2021-01-04 12:20:40 -08:00
java.py compilers: make get_optimization_args abstract 2020-10-01 15:06:10 -07:00
objc.py use OptionKey for compiler_options 2021-01-04 12:20:39 -08:00
objcpp.py use OptionKey for compiler_options 2021-01-04 12:20:39 -08:00
rust.py use OptionKey for builtin and base options 2021-01-04 12:20:40 -08:00
swift.py use OptionKey for compiler_options 2021-01-04 12:20:39 -08:00
vala.py use OptionKey for builtin and base options 2021-01-04 12:20:40 -08:00