summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* summary: Add from which subproject each subproject have been calledHEADmasterXavier Claessens2023-05-173-7/+13
|
* rust compiler: use better sanity check logging comparable to the clike oneEli Schwartz2023-05-161-7/+13
| | | | Don't spew debug-level info. Log the actual command line run.
* meson_exe: print suitable debug information for DLL not found errorsEli Schwartz2023-05-161-1/+2
| | | | | It's particularly inscrutable if you do not know where DLLs weren't found because you don't know what the PATH was in the child process.
* Metrowerks: move PCH args to the end of the command lineNomura2023-05-151-1/+7
|
* Make `dependency('foo', static: true, method: 'cmake') link staticallyVolker Weißmann2023-05-133-1/+7
| | | | Fixes #1709
* During reconfigure, show that no compiler was found, if compiler fails ↵Volker Weißmann2023-05-136-19/+21
| | | | sanity check.
* Fix paths of Fortran order dependenciesVolker Weißmann2023-05-135-4/+22
| | | | Fixes #11047
* docs: mention additional python modules needed for buildingEli Schwartz2023-05-092-0/+14
| | | | | | Also check that they are available in meson.build. Closes #11772
* docs: make the man page installableEli Schwartz2023-05-091-0/+2
| | | | | Users now have the *option* to run the documentation build and use `meson install` to install man pages.
* docs: add option to skip building HTML docsEli Schwartz2023-05-092-33/+40
| | | | | | Reorder meson targets to handle those all at the end, and exit early if HTML documentation is disabled. This makes it possible to build just the manpage, without hotdoc installed.
* docs: add meson option to use the unsafe loaderEli Schwartz2023-05-092-1/+4
|
* Enable fatal warnings in HotDoc when building website.Jussi Pakkanen2023-05-091-0/+1
|
* docs/prebuilt: fix sanity check logic in the exampleJoel Rosdahl2023-05-081-1/+1
|
* Initial support for Metrowerks AssemblerNomura2023-05-064-1/+127
|
* mcompile: Fix target name suggestionsXavier Claessens2023-05-051-1/+1
|
* Fix building python extensions on win-arm64Radek Bartoň2023-05-051-17/+8
|
* Python module: emit warning for debug buildtypes with MSVC and no debug PythonRalf Gommers2023-05-051-1/+24
| | | | | | | | | CPython adds a hard to avoid hardcoded link flag to look for a debug libpython. This results in a very puzzling error, so emit a warning with a clear message. Note that pybind11 has a workaround for this, which undefines `_DEBUG`. So users who use only pybind11 can use non-release buildtypes, but they won't get debug symbols on Windows unless they have a debug build.
* Fix unit test that hardcoded `/` and hence broke on WindowsRalf Gommers2023-05-051-4/+4
|
* Fix `ERROR: no toolchain found` when run from unittestsRalf Gommers2023-05-051-1/+1
| | | | [skip actions]
* Add Cython to Windows CI jobs on AzureRalf Gommers2023-05-051-0/+3
| | | | [skip actions]
* Use release buildtype in Cython tests, and skip unless ninja backendRalf Gommers2023-05-055-21/+33
| | | | | | | | | | | This matches the tests for Python extensions. Also include some other cleanups to these `meson.build` files: Adding `python_dep` is no longer needed, this is automatic now. Use a single line for `import('python').find_installation()`, because the result of `import('python')` by itself is not used for anything.
* dependencies: allow config-tool to fallback to default program namesEli Schwartz2023-05-032-1/+5
| | | | | | | | | | If the dependency permits it, we can just do a PATH search instead of mandating that it be listed in the cross file. This is useful for the limited case where a specific dependency is known to be compatible with any machine choice. Mark the pybind11 dependency as supporting this. It's a valid choice because pybind11 is a header-only C++ library.
* cmake module: fix many typing issuesEli Schwartz2023-05-031-23/+25
| | | | | | | | | In #11761 it turned out that we failed to correctly handle all compiler.sizeof API changes in an old commit, breaking use of the module. And mypy could have caught this for us, except that the module is neither typed nor checked in CI. Partially solve this by adding lots of type annotations, greatly reducing the number of mypy errors in this file from 35 down to 12.
* cmake module: make configured file correctly handle the do_conf_file APIEli Schwartz2023-05-031-5/+5
| | | | | | | | | | | This doesn't accept a dict, only an actual ConfigurationData object. Due to the way we poke at it, a dict can sort of work anyway, but might not if the internal layout isn't exactly correct. This is evidenced by the way we make the dict values be hard-to-read tuples containing emptiness, because that's how ConfigurationData objects handle descriptions. Simplify and make the seed dictionary readable, then actually convert it into a real ConfigurationData. Bonus: this now passes type checking.
* cmake module: use more typed_pos_args for consistencyEli Schwartz2023-05-032-20/+10
| | | | | | | It's shorter and more descriptive. Although we always enforce the same rules either way, a unified decorator is one less line of code for each location, and also tells you how many "too few" arguments you *did* pass.
* doc: Add link to argument detailsXavier Claessens2023-05-032-3/+10
|
* Visual studio: Generate vcxproj.filters files to adds filters to imitated ↵Renan Lavarec2023-05-032-0/+66
| | | | directories to navigate more easily in the source files.
* tests: fix `test_always_prefer_c_compiler_for_asm`Benoit Pierre2023-05-031-1/+1
| | | | Handle the case where `sccache` is installed and used over `ccache`.
* python bytecompile: use correct install tagEli Schwartz2023-05-031-1/+1
|
* unittests: add magic flag global to integrate utility methods with unittestEli Schwartz2023-05-021-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The stdlib unittest module has a magic flag (undocumented) which indicates that a module is part of a unittest framework. > Truncates usercode tb at the first unittest frame. > > If the first frame of the traceback is in user code, > the prefix up to the first unittest frame is returned. > If the first frame is already in the unittest module, > the traceback is not modified. This avoids some ugliness, e.g. the following test error logs: ``` > self.assertPathListEqual(intro[0]['install_filename'], ['/usr/lib/libstat.aaa']) unittests/allplatformstests.py:432: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ unittests/baseplatformtests.py:393: in assertPathListEqual self.assertPathEqual(i[0], i[1]) unittests/baseplatformtests.py:384: in assertPathEqual self.assertEqual(PurePath(path1), PurePath(path2)) E AssertionError: PurePosixPath('/usr/lib/libstat.a') != PurePosixPath('/usr/lib/libstat.aaa') ``` Since assertPathListEqual is our own assertion helper, we don't need to give trace information about its internals. This change causes the error log to become: ``` > self.assertPathListEqual(intro[0]['install_filename'], ['/usr/lib/libstat.aaa']) E AssertionError: PurePosixPath('/usr/lib/libstat.a') != PurePosixPath('/usr/lib/libstat.aaa') unittests/allplatformstests.py:432: AssertionError ``` which is a lot more readable.
* tests: add workarounds for python brokenness on WindowsEli Schwartz2023-05-023-2/+22
| | | | | | | | msys2 is broken only on clang, due to -Werror issues in the python headers as patched by msys2. MSVC is simply weird... due to the use of an unversioned platlib/purelib directory, the python2 and python3 components overlap.
* bytecompile: switch to handling destdir in the script launcher envEli Schwartz2023-05-022-20/+20
|
* tests: add a python test for bytecode compilationEli Schwartz2023-05-0211-8/+91
| | | | | Some tweaks are added to the test case so that it supports python2 as well.
* python module: add an automatic byte-compilation stepEli Schwartz2023-05-028-7/+149
| | | | | | For all source `*.py` files installed via either py.install_sources() or an `install_dir: py.get_install_dir()`, produce `*.pyc` files at install time. Controllable via a module option.
* update the devenv module hooks to support generic modifications to BuildEli Schwartz2023-05-023-10/+10
| | | | | | | We may want to do things like update install scripts as well, which have to happen before generating the backend. Instead of adding one module method per thing to do, use a single function that allows for modifying the Build object directly.
* extend install scripts to allow specific directory variable exportsEli Schwartz2023-05-023-5/+14
| | | | | | This is useful for internal scripts that want to know about something other than MESON_INSTALL_PREFIX and MESON_INSTALL_DESTDIR_PREFIX, which is very specific to the prefix.
* fix regression in precomputing CMAKE_SIZEOF_VOID_PMaxHearnden2023-05-021-1/+1
| | | | | | | In commit 808d5934dd6c6a6c16f66e9dc51dae6e83e02cef, compiler.sizeof was refactored to introduce caching, but cmake subprojects did not adapt to that API change and ended up embedding the python repr of a tuple as a cmake variable.
* Log python name when not foundCharles Brunet2023-05-021-3/+3
| | | | Fixes #11686.
* Find python3.xx on windowsCharles Brunet2023-05-023-3/+12
|
* Ensure python fallback has the right versionCharles Brunet2023-05-021-1/+2
| | | | Fixes #11057
* avoid re-uploading the docs when a PR is based on the upstream repoEli Schwartz2023-05-011-3/+2
| | | | | | | | In this case, we have the secret available, and the workflow ran even though it wasn't on branch "master" because of the pull request trigger. Since the change hasn't landed on master, though, we do not want to update the website. So check for pushes to master, specifically.
* wrap: Always pass posix paths to patchNirbheek Chauhan2023-04-291-1/+2
| | | | | | | | | patch on Windows is provided by MSYS, which only understands POSIX paths, with `/`. Using Windows paths with `\` results in a "file not found" error. We got a little lucky here because the path is relative, so the drive letter difference doesn't affect us.
* detect_cpu: Fix mips32 detection on mips64Cyan2023-04-282-9/+17
| | | | | | | | | | | | | | | | | | | | MIPS64 can run MIPS32 code natively, so there is a chance that a mixture of MIPS64 kernel and MIPS32 userland exists. Before this Meson just treats such mixture as mips64, because uname -m returns mips64. So in this case we have to check compiler builtin defines for actual architecture and CPU in use. - Also fixes mips64 related detection tests in internaltests: Normalize mips64 as mips first, then if __mips64 is defined, return mips64 for mips64* machines. This is a bit confiusing because normally one would detect if a flag of 32-bit target is defined while running on a 64-bit machine. For mips64 it is almost just the other way around - we need to detect if __mips64 is set to make sure it is a mips64 environment. Co-Authored-By: Jue Wang <maliya355@outlook.com>
* Don't use dyndep scanner when preprocessingVolker Weißmann2023-04-273-0/+13
| | | | Fixes #11504
* Specify c++ 11 flag as code uses c++ 11 featuresPeter Hull2023-04-271-1/+2
|
* Add env kwarg to gnome.generate_gir().Volker Weißmann2023-04-2611-12/+33
| | | | Fixes #384
* Set the CC environment variable for g-ir-scanner.Volker Weißmann2023-04-261-1/+4
| | | | Fixes #1035
* Fix html coverage report generation when using clang on linuxJakob Widauer2023-04-251-1/+1
|
* yasm: Fix usage of incompatible optimization flagsL. E. Segovia2023-04-241-0/+4
| | | | Fixes #11726
* mtest: prevent parse error with gtest protocolCharles Brunet2023-04-241-1/+5
| | | | | | | | Replace illegal characters when reading gtest generated xml file, to prevent a ParseError and a stacktrace. catch et.ParseError, just in case, to prevent stopping other tests if the xml file was malformed.