summaryrefslogtreecommitdiff
path: root/mesonbuild/mintro.py
Commit message (Collapse)AuthorAgeFilesLines
...
* mintro: Allow introspect --projectinfo without build directory.Daniel Schulte2018-11-261-2/+68
| | | | | | | | | | | | | | | | | | | | | | | | | This variant was added to allow introspection before configuring a build directory. This is useful for IDE integration to allow displaying and/or setting options for the initial configuration of the build directory. It also allows showing basic information about the project even if it's not yet configured or configuring failed. The project 'name' field in --projectinfo is used inconsistently: For the top level project it always shows the name configured in the top level meson.build file. For subprojects it's referring to the name of the directory the subproject's meson.build is contained in. To have a consistent output and preserve the existing behavior this adds the 'descriptive_name' field which always shows the name set in the project. To be consistent the 'descriptive_name' field was also added to the --projectfiles variant that uses an already configured build. It also extends the information shown with the list of buildsystem-files. This is currently only implemented in the variant for unconfigured projects.
* mintro: Split list_buildsystem_files into generation and command functionDaniel Schulte2018-11-261-2/+6
|
* Sorted arrays alphabeticallyDaniel Mensinger2018-11-241-11/+11
|
* Added 'section' key to buildoptions introspectionDaniel Mensinger2018-11-241-6/+31
|
* Use a single ArgumentParser for all subcommandsXavier Claessens2018-10-041-6/+2
| | | | | | This has the adventage that "meson --help" shows a list of all commands, making them discoverable. This also reduce the manual parsing of arguments to the strict minimum needed for backward compatibility.
* Remove useless __main__ in files that cannot be executedXavier Claessens2018-08-221-3/+0
|
* macos: Rewrite install_name for dependent built libraries on installNirbheek Chauhan2018-06-181-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | On macOS, we set the install_name for built libraries to @rpath/libfoo.dylib, and when linking to the library, we set the RPATH to its path in the build directory. This allows all built binaries to be run as-is from the build directory (uninstalled). However, on install, we have to strip all the RPATHs because they point to the build directory, and we change the install_name of all built libraries to the absolute path to the library. This causes the install name in binaries to be out of date. We now change that install name to point to the absolute path to each built library after installation. Fixes https://github.com/mesonbuild/meson/issues/3038 Fixes https://github.com/mesonbuild/meson/issues/3077 With this, the default workflow on macOS matches what everyone seems to do, including Autotools and CMake. The next step is providing a way for build files to override the install_name that is used after installation for use with, f.ex., private libraries when combined with the install_rpath: kwarg on targets.
* mintro: Fix introspecting installation pathsThibault Saunier2018-06-081-2/+2
| | | | A new custom_install_mode element was added in 05c43cdcd
* meson introspect: Fix --installed argumentNirbheek Chauhan2018-06-061-1/+1
| | | | | | | | | | | | | | | Traceback (most recent call last): File "meson.py", line 29, in <module> sys.exit(mesonmain.main()) File "mesonbuild/mesonmain.py", line 411, in main return run(sys.argv[1:], launcher) File "mesonbuild/mesonmain.py", line 320, in run return mintro.run(remaining_args) File "mesonbuild/mintro.py", line 234, in run list_installed(installdata) File "mesonbuild/mintro.py", line 72, in list_installed for path, installdir, aliases, unknown1, unknown2 in installdata.targets: ValueError: too many values to unpack (expected 5)
* introspect: Fix listing target files that are File objectsNirbheek Chauhan2018-05-091-2/+7
|
* introspect: default builddir to . to prevent a crashAndrei Alexeyev2018-04-111-1/+1
| | | | Fixes #3250
* Always build parser objects anew to avoid leaking old data.Jussi Pakkanen2018-03-271-21/+23
|
* introspect: tests: Inform about tests run parallelizationThibault Saunier2018-03-181-0/+1
|
* Harmonize data pickling.Hemmo Nieminen2018-03-011-27/+17
| | | | | Try to be more consistent on using save() and load() methods to pickle data.
* Expose integer options to build option files.Jussi Pakkanen2018-02-071-0/+2
|
* Use os.path: basename() and dirname() instead of split()Aleksey Filippov2018-01-301-2/+2
| | | | | | | | | | | | According to Python documentation[1] dirname and basename are defined as follows: os.path.dirname() = os.path.split()[0] os.path.basename() = os.path.split()[1] For the purpose of better readability split() is replaced by appropriate function if only one part of returned tuple is used. [1]: https://docs.python.org/3/library/os.path.html#os.path.split
* Fix `array` type nameEric Engestrom2017-12-071-1/+1
| | | | | | | c9351ce30c03d107279090da7825096951a705d3 introduced the type as `array`, so mintro should expose it under the same name. (while at it, rename test 169 to be coherent)
* Renamed UserStringArrayOption to UserArrayOption for short.Jussi Pakkanen2017-12-071-1/+1
|
* Print correct command in help messageEric Engestrom2017-11-091-1/+1
| | | | | | | | | | Taking mconf for instance: before: $ meson configure --help usage: meson [-h] [-D SETS] [--clearcache] [directory [directory ...]] after: $ meson configure --help usage: meson configure [-h] [-D SETS] [--clearcache] [directory [directory ...]]
* introspect: print `build_by_default` fieldEric Engestrom2017-11-091-0/+1
|
* Modify mesonintrospect --dependencies so 1 element in list is 1 dependencyMartin Ejdestig2017-07-201-3/+3
| | | | | | | | | Makes it less awkward for tools to parse the data. Was modified to return a list, with two elements for each dependency, instead of a dictionary in ac1c929f66bde7209f1bd7e2d995dbd3949e1d8b . Closes #2018.
* Storage object has changed so use values(). Closes #1963.Jussi Pakkanen2017-06-191-1/+1
|
* Use more direct dictionary literals.Elliott Sales de Andrade2017-05-171-9/+3
|
* mesonintrospect: Print all deps, not just those with the same nameNirbheek Chauhan2017-05-091-3/+3
| | | | This breaks the API, but the original API was just broken.
* mesonintrospect: List all installed filesQuentin Glidic2017-05-081-0/+6
| | | | Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
* mesonintrospect: Normalize install_filename in the outputNirbheek Chauhan2017-02-181-1/+4
| | | | | | | | | Without this, we can output a mixture of '/' and '\' on platforms where os.path.sep is '\' and prefix or outdir uses '/'. Let's always return the path in the format of the platform we're running on. This is needed to make the test_install_introspection() unittest work properly on Windows.
* mesonintrospect: Also print builtins for --buildoptionsNirbheek Chauhan2017-02-181-14/+2
| | | | | This is needed to be able to introspect the value of xxxdir options such as libdir and prefix.
* Fix mesonintrospect --installedThibault Saunier2017-01-261-1/+1
| | | | The prefix has been recently added to the install data
* mintro.py: Assume the current dir is a builddir if not specifiedNirbheek Chauhan2017-01-221-20/+28
| | | | | Also fix running with backends other than Ninja by not assuming that install.dat is always available.
* style: fix E225 violationsIgor Gnatenko2017-01-011-5/+5
| | | | | | E225: missing whitespace around operator Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
* Fix space before :.Jussi Pakkanen2016-12-311-14/+14
|
* introspect: Allow listing all installed filesThibault Saunier2016-12-151-0/+13
|
* Expose project information with mesonintrospect. Closes #1118.Jussi Pakkanen2016-12-061-0/+16
|
* mintro: Allow serializing EnvironmentVariables objectsThibault Saunier2016-12-031-1/+4
| | | | | | | | | | | | | | | | | | | | | Otherwise trying to introspect tests might lead to: Traceback (most recent call last): File "/home/thiblahute/devel/gstreamer/gst-build/meson/mesonintrospect.py", line 20, in <module> sys.exit(mintro.run(sys.argv[1:])) File "/home/thiblahute/devel/gstreamer/gst-build/meson/mesonbuild/mintro.py", line 213, in run list_tests(testdata) File "/home/thiblahute/devel/gstreamer/gst-build/meson/mesonbuild/mintro.py", line 178, in list_tests print(json.dumps(result)) File "/usr/lib/python3.5/json/__init__.py", line 230, in dumps return _default_encoder.encode(obj) File "/usr/lib/python3.5/json/encoder.py", line 198, in encode chunks = self.iterencode(o, _one_shot=True) File "/usr/lib/python3.5/json/encoder.py", line 256, in iterencode return _iterencode(o, 0) File "/usr/lib/python3.5/json/encoder.py", line 179, in default raise TypeError(repr(o) + " is not JSON serializable") TypeError: <mesonbuild.build.EnvironmentVariables object at 0x7f83e8fa8c18> is not JSON serializable
* Exposes the install names of targets in introspection. Closes #829.Jussi Pakkanen2016-10-301-5/+22
|
* Remove shebangs on files that are not runnable and add execute bits to those ↵Jussi Pakkanen2016-10-071-2/+0
| | | | that are.
* Use context manager for file I/O.Elliott Sales de Andrade2016-08-271-4/+8
| | | | | There are a few cases where a context manager cannot be used, such as the logger.
* Added minsize build type that optimizes for binary size.Jussi Pakkanen2016-06-231-2/+1
|
* Use CoreData.get_builtin_option() to get builtin option values.Hemmo Nieminen2016-05-101-3/+3
|
* Converted precompiled headers into a base option.Jussi Pakkanen2016-03-201-5/+1
|
* Converted coverage into a base option.Jussi Pakkanen2016-03-201-5/+1
|
* Fix mesonintrospect.Jussi Pakkanen2016-03-171-9/+10
|
* Renamed meson package to mesonbuild so that we can have a script named meson ↵Jussi Pakkanen2016-01-161-0/+212
in the same toplevel dir.