This website works better with JavaScript.
Explore
Help
Sign In
Chiebot-Mirror
/
meson
mirror of
https://github.com/mesonbuild/meson.git
Watch
8
Star
0
Fork
You've already forked meson
0
Code
Issues
Projects
Releases
Wiki
Activity
The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
8852
Commits
76
Branches
171
Tags
74 MiB
Tag:
Branch:
Tree:
3065202f6b
0.35.1
0.41
0.42
0.42-msi
0.44
0.45
0.46
0.47
0.48
0.49
0.50
0.51
0.52
0.53
0.54
0.55
0.56
0.57
0.58
0.59
0.60
0.61
0.62
0.63
0.64
0.tryme
1.0
1.1
1.2
1.3
1.4
1.5
1.tryme
biggen
builddirupgrade
corporations
crossenvvar
darwin_arch
deprecationdeadline
dirc2
docbuild
dolphin
dotinclude
es/0.61-plus-cython
fedora
gentarget
gh-pages
killpy3
lang-enum
master
mingwdisable
ninjalink
opthelper
optionlookup
optionrefactor
optionrefactor2
optiontree
overrides
pr8895-old
remove-parse_cmd_line_options
revert-10757-llvm-config
rustcmix
tingping/test-gir-program
tingping/test-profile
tingping/xdg-module
trigger-ciimage-builder
uniquefilenames
useargsintests
versionfile
vsmodtest
wip/default-directories
wip/ignatenko/gtester
wip/tingping/xdg-auto-post-install
wip/xclaesse/pr-10714
wip/xclaesse/pr-12097
xclaesse/pr11561-orig
0.1.0
0.10.0
0.11.0
0.12.0
0.13.0
0.14.0
0.15.0
0.16.0
0.17.0
0.18.0
0.19.0
0.2.0
0.20.0
0.21.0
0.22.0
0.23.0
0.24.0
0.25.0
0.26.0
0.27.0
0.28.0
0.29.0
0.30.0
0.31.0
0.32.0
0.33.0
0.34.0
0.35.0
0.35.1
0.36.0
0.37.0
0.37.1
0.38.0
0.38.1
0.39.0
0.39.1
0.4.0
0.4.1
0.40.0
0.40.1
0.41.0
0.41.1
0.41.2
0.42.0
0.42.1
0.43.0
0.44.0
0.44.1
0.45.0
0.45.1
0.46.0
0.46.1
0.47.0
0.47.1
0.47.2
0.48.0
0.48.1
0.48.2
0.49.0
0.49.1
0.49.2
0.5.0
0.50.0
0.50.1
0.51.0
0.51.1
0.51.2
0.52.0
0.52.1
0.53.0
0.53.1
0.53.2
0.54.0
0.54.0.rc1
0.54.1
0.54.2
0.54.3
0.55.0
0.55.0.rc1
0.55.0.rc2
0.55.1
0.55.2
0.55.3
0.56.0
0.56.0.rc1
0.56.0.rc2
0.56.1
0.56.2
0.57.0
0.57.0.rc1
0.57.1
0.57.2
0.58.0
0.58.0.rc1
0.58.1
0.58.2
0.59.0
0.59.0.rc1
0.59.0.rc2
0.59.1
0.59.2
0.59.3
0.59.4
0.6.0
0.60.0
0.60.0.rc1
0.60.0rc2
0.60.1
0.60.2
0.60.3
0.61.0
0.61.0rc1
0.61.1
0.61.2
0.61.3
0.61.4
0.61.5
0.62.0
0.62.0rc1
0.62.0rc2
0.62.1
0.62.2
0.63.0
0.63.0.rc2
0.63.0rc1
0.63.1
0.63.2
0.63.3
0.64.0
0.64.0rc1
0.64.0rc2
0.64.1
0.7.0
0.8.0
0.9.0
1.0.0
1.0.0rc1
1.0.0rc2
1.0.1
1.0.2
1.1.0
1.1.0rc1
1.1.0rc2
1.1.1
1.2.0
1.2.0rc1
1.2.0rc2
1.2.0rc3
1.2.1
1.2.2
1.2.3
1.3.0
1.3.0rc1
1.3.0rc2
1.3.0rc3
1.3.1
1.3.2
1.4.0
1.4.0rc1
1.4.0rc2
1.4.1
1.4.2
1.5.0
1.5.0rc1
1.5.0rc2
1.5.0rc3
1.5.1
1.5.2
1.6.0
1.6.0rc1
1.6.0rc2
Branches
Tags
${ item.name }
Create tag
${ searchTerm }
Create branch
${ searchTerm }
from '3065202f6b'
${ noResults }
meson
/
test cases
/
common
/
220 source set dictionary
/
f.c
8 lines
74 B
Raw
Normal View
History
Unescape
Escape
new module "sourceset" to match source file lists against configuration data In QEMU a single set of source files is built against many different configurations in order to generate many executable. Each executable includes a different but overlapping subset of the source files; some of the files are compiled separately for each output, others are compiled just once. Using Makefiles, this is achieved with a complicated mechanism involving a combination of non-recursive and recursive make; Meson can do better, but because there are hundreds of such conditional rules, it's important to keep meson.build files brief and easy to follow. Therefore, this commit adds a new module to satisfy this use case while preserving Meson's declarative nature. Configurations are mapped to a configuration_data object, and a new "source set" object is used to store all the rules, and then retrieve the desired set of sources together with their dependencies. The test case shows how extract_objects can be used to satisfy both cases, i.e. when the object files are shared across targets and when they have to be separate. In the real-world case, a project would use two source set objects for the two cases and then do "executable(..., sources: ... , objects: ...)". The next commit adds such an example.
6 years ago
#
include
"all.h"
tests: Prevent multiple-definition of symbols With GCC 10, -fno-common becomes default behavior, meaning that any subtly-broken code will be broken not so subtly anymore. This commit changes the linkage to variables declared in headers to external and, where needed, adds additional definitions in other compilation units.
5 years ago
void
(
*
p
)
(
void
)
=
(
void
*
)
0x1234ABCD
;
new module "sourceset" to match source file lists against configuration data In QEMU a single set of source files is built against many different configurations in order to generate many executable. Each executable includes a different but overlapping subset of the source files; some of the files are compiled separately for each output, others are compiled just once. Using Makefiles, this is achieved with a complicated mechanism involving a combination of non-recursive and recursive make; Meson can do better, but because there are hundreds of such conditional rules, it's important to keep meson.build files brief and easy to follow. Therefore, this commit adds a new module to satisfy this use case while preserving Meson's declarative nature. Configurations are mapped to a configuration_data object, and a new "source set" object is used to store all the rules, and then retrieve the desired set of sources together with their dependencies. The test case shows how extract_objects can be used to satisfy both cases, i.e. when the object files are shared across targets and when they have to be separate. In the real-world case, a project would use two source set objects for the two cases and then do "executable(..., sources: ... , objects: ...)". The next commit adds such an example.
6 years ago
void
f
(
void
)
{
}