doc: Use https links wherever possible.

pull/1723/head
Elliott Sales de Andrade 8 years ago
parent ac74b76c33
commit 40d7704cd5
  1. 2
      docs/markdown/Conference-presentations.md
  2. 2
      docs/markdown/Design-rationale.md
  3. 4
      docs/markdown/FAQ.md
  4. 2
      docs/markdown/Feature-autodetection.md
  5. 2
      docs/markdown/IDE-integration.md
  6. 2
      docs/markdown/In-the-press.md
  7. 2
      docs/markdown/Pkgconfig-module.md
  8. 2
      docs/markdown/Quick-guide.md
  9. 2
      docs/markdown/Running-Meson.md
  10. 8
      docs/markdown/Trial-conversions.md
  11. 2
      docs/markdown/Unit-tests.md
  12. 2
      docs/markdown/Users.md
  13. 6
      docs/markdown/Using-the-WrapDB.md
  14. 4
      docs/markdown/Wrap-dependency-system-manual.md
  15. 2
      docs/markdown/howtox.md

@ -1,6 +1,6 @@
# Conference presentations on Meson
- FOSDEM 2014, [Introducing the Meson build system](http://video.fosdem.org/2014/H2215_Ferrer/Sunday/Introducing_the_Meson_build_system.webm) (jpakkane)
- FOSDEM 2014, [Introducing the Meson build system](https://video.fosdem.org/2014/H2215_Ferrer/Sunday/Introducing_the_Meson_build_system.webm) (jpakkane)
- LCA 2015, [Making build systems not suck](https://www.youtube.com/watch?v=KPi0AuVpxLI) (jpakkane)

@ -69,7 +69,7 @@ The difference between the proposed DSL and existing ones is that the new one is
A DSL is more work than the approach taken by SCons, which is to provide the system as a Python library. However it allows us to make the syntax more expressive and prevent certain types of bugs by e.g. making certain objects truly immutable. The end result is again the same: less work for the user.
The backend for Unix requires a bit more thought. The default choice would be Make. However it is extremely slow. It is not uncommon on large code bases for Make to take several minutes just to determine that nothing needs to be done. Instead of Make we use [Ninja](http://martine.github.com/ninja/), which is extremely fast. The backend code is abstracted away from the core, so other backends can be added with relatively little effort.
The backend for Unix requires a bit more thought. The default choice would be Make. However it is extremely slow. It is not uncommon on large code bases for Make to take several minutes just to determine that nothing needs to be done. Instead of Make we use [Ninja](https://ninja-build.org/), which is extremely fast. The backend code is abstracted away from the core, so other backends can be added with relatively little effort.
Sample code
--

@ -102,13 +102,13 @@ Just use Ninja, you'll be happier that way. I guarantee it.
A related question to this is *Why is Meson's configuration language not Turing-complete?*
There are many good reasons for this, most of which are summarized on this web page: [Against The Use Of Programming Languages in Configuration Files](http://taint.org/2011/02/18/001527a.html).
There are many good reasons for this, most of which are summarized on this web page: [Against The Use Of Programming Languages in Configuration Files](https://taint.org/2011/02/18/001527a.html).
In addition to those reasons, not exposing Python or any other "real" programming language makes it possible to port Meson's implementation to a different language. This might become necessary if, for example, Python turns out to be a performance bottleneck. This is an actual problem that has caused complications for GNU Autotools and SCons.
## How do I do the equivalent of Libtools export-symbol and export-regex?
Either by using [GCC symbol visibility](https://gcc.gnu.org/wiki/Visibility) or by writing a [linker script](http://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_mono/ld.html). This has the added benefit that your symbol definitions are in a standalone file instead of being buried inside your build definitions. An example can be found [here](https://github.com/jpakkane/meson/tree/master/test%20cases/linuxlike/3%20linker%20script).
Either by using [GCC symbol visibility](https://gcc.gnu.org/wiki/Visibility) or by writing a [linker script](https://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_mono/ld.html). This has the added benefit that your symbol definitions are in a standalone file instead of being buried inside your build definitions. An example can be found [here](https://github.com/jpakkane/meson/tree/master/test%20cases/linuxlike/3%20linker%20script).
## My project works fine on Linux and MinGW but fails with MSVC due to a missing .lib file

@ -9,7 +9,7 @@ Meson is designed for high productivity. It tries to do as many things automatic
CCache
--
[CCache](http://ccache.samba.org/) is a cache system designed to make compiling faster. When you run Meson for the first time for a given project, it checks if CCache is installed. If it is, Meson will use it automatically.
[CCache](https://ccache.samba.org/) is a cache system designed to make compiling faster. When you run Meson for the first time for a given project, it checks if CCache is installed. If it is, Meson will use it automatically.
If you do not wish to use CCache for some reason, just specify your compiler with environment variables `CC` and/or `CXX` when first running Meson (remember that once specified the compiler can not be changed). Meson will then use the specified compiler without CCache.

@ -28,7 +28,7 @@ In order to make code completion work, you need the compiler flags for each comp
ninja -t commands foo
Note that if the target has dependencies (such as generated sources), then the commands for those show up in this list as well, so you need to do some filtering. Alternatively you can grab every command invocation in the [Clang tools db](http://clang.llvm.org/docs/JSONCompilationDatabase.html) format that is written to a file called `compile_commands.json` in the build directory.
Note that if the target has dependencies (such as generated sources), then the commands for those show up in this list as well, so you need to do some filtering. Alternatively you can grab every command invocation in the [Clang tools db](https://clang.llvm.org/docs/JSONCompilationDatabase.html) format that is written to a file called `compile_commands.json` in the build directory.
The next thing to display is the list of options that can be set. These include build type and so on. Here's how to extract them.

@ -4,5 +4,5 @@ This page lists cases where Meson has been presented in the press.
* [Linux Magazin](http://www.linux-magazin.de/Ausgaben/2014/08/), in German, August 2014, and also later in [Linux Magazine](http://www.linux-magazine.com/Issues/2014/166/Meson-Build-System) in English
* [Admin Magazine](http://www.admin-magazine.com/HPC/Articles/The-Meson-Build-System)
* [Phoronix](http://www.phoronix.com/scan.php?page=news_item&px=MTc1MDc) regarding compilation of Mesa3D
* [Phoronix](https://www.phoronix.com/scan.php?page=news_item&px=MTc1MDc) regarding compilation of Mesa3D
* [CppCast](http://cppcast.com/2015/12/jussi-pakkanen/) interviewed Jussi about Meson for C++ development in 12/2015

@ -1,6 +1,6 @@
# Pkgconfig module
This module is a simple generator for [pkg-config](http://pkg-config.freedesktop.org/) files.
This module is a simple generator for [pkg-config](https://pkg-config.freedesktop.org/) files.
## Usage

@ -12,7 +12,7 @@ Requirements
Meson has two main dependencies.
* [Python 3](http://python.org)
* [Python 3](https://python.org)
* [Ninja](https://github.com/ninja-build/ninja/)
Ninja is only needed if you use the Ninja backend. Meson can also generate native VS and XCode project files.

@ -54,7 +54,7 @@ You can then open the generated solution with Visual Studio and compile it in th
Building the source
==
If you are not using an IDE, Meson uses the [Ninja build system](http://martine.github.com/ninja/) to actually build the code. To start the build, simply type the following command.
If you are not using an IDE, Meson uses the [Ninja build system](https://ninja-build.org/) to actually build the code. To start the build, simply type the following command.
ninja

@ -11,12 +11,12 @@ Here is a list of projects that have had a build system port done.
* [Python 3](https://mail.python.org/pipermail/python-dev/2013-June/126748.html)
* [Glib](https://mail.gnome.org/archives/gtk-devel-list/2013-August/msg00001.html)
* [QtCreator](http://lists.qt-project.org/pipermail/qt-creator/2014-May/003584.html), and a [followup](http://lists.qt-project.org/pipermail/qt-creator/2014-May/003598.html) on unity builds
* [SDL 2](http://forums.libsdl.org/viewtopic.php?t=10093&sid=8cf1d6c83d4d73fe6cfbb7cbb16b3d28)
* [Mesa3D](http://lists.freedesktop.org/archives/mesa-dev/2014-July/064160.html)
* [SDL 2](https://forums.libsdl.org/viewtopic.php?t=10093&sid=8cf1d6c83d4d73fe6cfbb7cbb16b3d28)
* [Mesa3D](https://lists.freedesktop.org/archives/mesa-dev/2014-July/064160.html)
* [Mame](http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Number=332119&page=0&view=expanded&sb=5&o=&fpart=1&vc=1)
* [Firefox NSPR](https://groups.google.com/forum/#!topic/mozilla.dev.builds/daS3DK2F1MQ)
* [Wayland](http://lists.freedesktop.org/archives/wayland-devel/2015-February/020124.html)
* [Wayland](https://lists.freedesktop.org/archives/wayland-devel/2015-February/020124.html)
## More from WrapDB
The [Meson Wrap database](http://wrapdb.mesonbuild.com) contains several projects that have been converted into Meson and are ready to use.
The [Meson Wrap database](https://wrapdb.mesonbuild.com) contains several projects that have been converted into Meson and are ready to use.

@ -30,7 +30,7 @@ Note how you need to specify multiple values as an array.
Coverage
--
If you enable coverage measurements by giving Meson the command line flag `-Db_coverage=true`, you can generate coverage reports. Meson will autodetect what coverage generator tools you have installed and will generate the corresponding targets. These targets are `coverage-xml` and `coverage-text` which are both provided by [Gcovr](https://software.sandia.gov/trac/fast/wiki/gcovr) and `coverage-html`, which requires [Lcov](http://ltp.sourceforge.net/coverage/lcov.php) and [GenHTML](http://linux.die.net/man/1/genhtml).
If you enable coverage measurements by giving Meson the command line flag `-Db_coverage=true`, you can generate coverage reports. Meson will autodetect what coverage generator tools you have installed and will generate the corresponding targets. These targets are `coverage-xml` and `coverage-text` which are both provided by [Gcovr](https://software.sandia.gov/trac/fast/wiki/gcovr) and `coverage-html`, which requires [Lcov](https://ltp.sourceforge.io/coverage/lcov.php) and [GenHTML](https://linux.die.net/man/1/genhtml).
The the output of these commands is written to the log directory `meson-logs` in your build directory.

@ -15,7 +15,7 @@ If you have a project that uses Meson that you want to add to this list, let us
- [Gnome Recipes](https://github.com/matthiasclasen/gr), application for cooking recipes
- [Gnome Software](https://git.gnome.org//browse/gnome-software), an app store for Gnome
- [Gnome Twitch](https://github.com/vinszent/gnome-twitch), an app for viewing Twitch streams on Gnome desktop
- [Graphene](http://ebassi.github.io/graphene/), a thin type library for graphics
- [Graphene](https://ebassi.github.io/graphene/), a thin type library for graphics
- [Grilo](https://mail.gnome.org/archives/grilo-list/2017-February/msg00000.html) and [Grilo plugins](https://git.gnome.org/browse/grilo-plugins/commit/?id=ea047c4fb63e90268eb795ed91a09a2be5068a4c), the Grilo multimedia framework
- [GStreamer](https://cgit.freedesktop.org/gstreamer/gstreamer/), multimedia framework (not the default yet)
- [GTK+](https://git.gnome.org/browse/gtk+/log/?h=wip/meson), the multi-platform toolkit used by GNOME (not merged yet)

@ -1,10 +1,10 @@
# Using the WrapDB
The Wrap database is a web service that provides Meson build definitions to projects that do not have it natively. Using it is simple. The service can be found [here](http://wrapdb.mesonbuild.com).
The Wrap database is a web service that provides Meson build definitions to projects that do not have it natively. Using it is simple. The service can be found [here](https://wrapdb.mesonbuild.com).
The front page lists all projects that are on the service. Select the one you want and click it. The detail page lists available versions by branch and revision id. The branch names come from upstream releases and revision ids are version numbers internal to the database. Whenever the packaging is updated a new revision is released to the service a new revision with a bigger revision id is added. Usually you want to select the newest branch with the highest revision id.
You can get the actual wrap file which tells Meson how to fetch the project by clicking on the download link on the page. As an example, the wrap file for [zlib-1.2.8, revision 4](http://wrapdb.mesonbuild.com/v1/projects/zlib/1.2.8/4/get_wrap) looks like this. You can find detailed documentation about it in [the Wrap manual](Wrap-dependency-system-manual.md).
You can get the actual wrap file which tells Meson how to fetch the project by clicking on the download link on the page. As an example, the wrap file for [zlib-1.2.8, revision 4](https://wrapdb.mesonbuild.com/v1/projects/zlib/1.2.8/4/get_wrap) looks like this. You can find detailed documentation about it in [the Wrap manual](Wrap-dependency-system-manual.md).
[wrap-file]
directory = zlib-1.2.8
@ -13,7 +13,7 @@ You can get the actual wrap file which tells Meson how to fetch the project by c
source_filename = zlib-1.2.8.tar.gz
source_hash = 36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d
patch_url = http://wrapdb.mesonbuild.com/v1/projects/zlib/1.2.8/4/get_zip
patch_url = https://wrapdb.mesonbuild.com/v1/projects/zlib/1.2.8/4/get_zip
patch_filename = zlib-1.2.8-4-wrap.zip
patch_hash = 2327a42c8f73a4289ee8c9cd4abc43b324d0decc28d6e609e927f0a50321af4a

@ -16,7 +16,7 @@ To use this kind of a project as a dependency you could just copy and extract it
[wrap-file]
directory = libfoobar-1.0
source_url = http://example.com/foobar-1.0.tar.gz
source_url = https://example.com/foobar-1.0.tar.gz
source_filename = foobar-1.0.tar.gz
source_hash = 5ebeea0dfb75d090ea0e7ff84799b2a7a1550db3fe61eb5f6f61c2e971e57663
```
@ -29,7 +29,7 @@ Unfortunately most software projects in the world do not build with Meson. Becau
[wrap-file]
directory = libfoobar-1.0
source_url = http://upstream.example.com/foobar-1.0.tar.gz
source_url = https://upstream.example.com/foobar-1.0.tar.gz
source_filename = foobar-1.0.tar.gz
source_hash = 5ebeea0dfb75d090ea0e7ff84799b2a7a1550db3fe61eb5f6f61c2e971e57663

@ -103,7 +103,7 @@ This causes all subsequent builds to use this command line argument.
## Use address sanitizer
Clang comes with a selection of analysis tools such as the [address sanitizer](http://clang.llvm.org/docs/AddressSanitizer.html). Meson has native support for these with the `b_sanitize` option.
Clang comes with a selection of analysis tools such as the [address sanitizer](https://clang.llvm.org/docs/AddressSanitizer.html). Meson has native support for these with the `b_sanitize` option.
```console
$ meson <other options> -Db_sanitize=address

Loading…
Cancel
Save