mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2024-12-23 19:31:44 +00:00
fmt conversion: add to & reorganize README.md & fix table of contents
This commit is contained in:
parent
6e7f04a142
commit
6f519158fe
94
README.md
94
README.md
@ -5,26 +5,33 @@ MKVToolNix 28.2.0
|
||||
|
||||
1. [Introduction](#1-introduction)
|
||||
2. [Installation](#2-installation)
|
||||
1. [Requirements](#21-requirements)
|
||||
2. [Optional components](#22-optional-components)
|
||||
3. [Building libEBML and libMatroska](#23-building-libebml-and-libmatroska)
|
||||
4. [Building MKVToolNix](#24-building-mkvtoolnix)
|
||||
1. [Getting and building a development snapshot](#241-getting-and-building-a-development-snapshot)
|
||||
2. [Configuration and compilation](#242-configuration-and-compilation)
|
||||
5. [Notes for compilation on (Open)Solaris](#25-notes-for-compilation-on-opensolaris)
|
||||
6. [Unit tests](#26-unit-tests)
|
||||
1. [Requirements](#21-requirements)
|
||||
1. [Hard requirements](#211-hard-requirements)
|
||||
2. [Requirements with bundled fallbacks](#212-requirements-with-bundled-fallbacks)
|
||||
2. [Optional components](#22-optional-components)
|
||||
3. [Building libEBML and libMatroska](#23-building-libebml-and-libmatroska)
|
||||
4. [Building MKVToolNix](#24-building-mkvtoolnix)
|
||||
1. [Getting and building a development snapshot](#241-getting-and-building-a-development-snapshot)
|
||||
2. [Configuration and compilation](#242-configuration-and-compilation)
|
||||
5. [Notes for compilation on (Open)Solaris](#25-notes-for-compilation-on-opensolaris)
|
||||
6. [Unit tests](#26-unit-tests)
|
||||
3. [Reporting bugs](#3-reporting-bugs)
|
||||
4. [Test suite and continuous integration tests](#4-test-suite-and-continuous-integration-tests)
|
||||
5. [Code of Conduct](#5-code-of-conduct)
|
||||
6. [Included libraries and their licenses](#6-included-libraries-and-their-licenses)
|
||||
1. [avilib](#61-avilib)
|
||||
2. [Boost's utf8_codecvt_facet](#62-boosts-utf8_codecvt_facet)
|
||||
3. [libEBML](#63-libebml)
|
||||
4. [libMatroska](#64-libmatroska)
|
||||
5. [librmff](#65-librmff)
|
||||
6. [nlohmann's JSON](#66-nlohmanns-json)
|
||||
7. [pugixml](#67-pugixml)
|
||||
8. [utf8-cpp](#68-utf8-cpp)
|
||||
6. [Included third-party components and their licenses](#6-included-third-party-components-and-their-licenses)
|
||||
1. [avilib](#61-avilib)
|
||||
2. [Boost's utf8_codecvt_facet](#62-boosts-utf8_codecvt_facet)
|
||||
3. [libEBML](#63-libebml)
|
||||
4. [libMatroska](#64-libmatroska)
|
||||
5. [librmff](#65-librmff)
|
||||
6. [nlohmann's JSON](#66-nlohmanns-json)
|
||||
7. [pugixml](#67-pugixml)
|
||||
8. [utf8-cpp](#68-utf8-cpp)
|
||||
9. [Oxygen icons and sound files](#69-oxygen-icons-and-sound-files)
|
||||
10. [MKVToolNix icons](#610-mkvtoolnix-icons)
|
||||
11. [QtWaitingSpinner](#611-qtwaitingspinner)
|
||||
12. [Fancy tab widget](#612-fancy-tab-widget)
|
||||
13. [fmt](#613-fmt)
|
||||
|
||||
-----------------
|
||||
|
||||
@ -66,6 +73,8 @@ repository version might not even compile.
|
||||
|
||||
## 2.1. Requirements
|
||||
|
||||
### 2.1.1. Hard requirements
|
||||
|
||||
In order to compile MKVToolNix, you need a couple of libraries. Most of
|
||||
them should be available pre-compiled for your distribution. The
|
||||
programs and libraries you absolutely need are:
|
||||
@ -78,11 +87,6 @@ programs and libraries you absolutely need are:
|
||||
for `std::string`. Others may be needed, too. For GCC this means at
|
||||
least v5.x; for clang v3.4 or later.
|
||||
|
||||
- [libEBML v1.3.5](http://dl.matroska.org/downloads/libebml/) or later
|
||||
and [libMatroska v1.4.8](http://dl.matroska.org/downloads/libmatroska/)
|
||||
or later for low-level access to Matroska files. Instructions on how to
|
||||
compile them are a bit further down in this file.
|
||||
|
||||
- [libOgg](http://downloads.xiph.org/releases/ogg/) and
|
||||
[libVorbis](http://downloads.xiph.org/releases/vorbis/) for access to Ogg/OGM
|
||||
files and Vorbis support
|
||||
@ -90,8 +94,8 @@ programs and libraries you absolutely need are:
|
||||
- [zlib](http://www.zlib.net/) — a compression library
|
||||
|
||||
- [Boost](http://www.boost.org/) — Several of Boost's libraries are
|
||||
used: `format`, `RegEx`, `filesystem`, `system`, `math`,
|
||||
`Range`, `rational`, `variant`. At least v1.49.0 is required.
|
||||
used: `RegEx`, `filesystem`, `system`, `math`, `Range`, `rational`,
|
||||
`variant`. At least v1.49.0 is required.
|
||||
|
||||
- [libxslt's xsltproc binary](http://xmlsoft.org/libxslt/) and
|
||||
[DocBook XSL stylesheets](https://sourceforge.net/projects/docbook/files/docbook-xsl/)
|
||||
@ -102,6 +106,39 @@ v10.0.0 or newer (this is included with Ruby 2.1) as it offers
|
||||
parallel builds out of the box. If you only have an earlier version of
|
||||
`rake`, you can install and use the `drake` gem for the same gain.
|
||||
|
||||
### 2.1.2. Requirements with bundled fallbacks
|
||||
|
||||
Several required libraries might not be available for your
|
||||
distribution. Therefore they're bundled with the MKVToolNix source
|
||||
code. The `configure` script will look for those libraries and use
|
||||
existing versions if present. If not, the bundled versions are used
|
||||
instead.
|
||||
|
||||
It is highly recommended to install the versions provided by your
|
||||
distribution instead of relying on the bundled versions.
|
||||
|
||||
These libraries are:
|
||||
|
||||
- [fmt](http://fmtlib.net/) — a small, safe and fast formatting
|
||||
library. Version 3 or later is required.
|
||||
|
||||
- [libEBML v1.3.5](http://dl.matroska.org/downloads/libebml/) or later
|
||||
and [libMatroska v1.4.8](http://dl.matroska.org/downloads/libmatroska/)
|
||||
or later for low-level access to Matroska files. Instructions on how to
|
||||
compile them are a bit further down in this file.
|
||||
|
||||
- [librmff](https://www.bunkus.org/videotools/librmff/index.html) — a
|
||||
library for accessing RealMedia files
|
||||
|
||||
- [nlohmann's JSON](https://github.com/nlohmann/json) — JSON for
|
||||
Modern C++
|
||||
|
||||
- [pugixml](http://pugixml.org/) — light-weight, simple and fast XML
|
||||
parser for C++ with XPath support
|
||||
|
||||
- [utf8-cpp](http://utfcpp.sourceforge.net/) — UTF-8 with C++ in a
|
||||
Portable Way
|
||||
|
||||
## 2.2. Optional components
|
||||
|
||||
Other libraries are optional and only limit the features that are
|
||||
@ -415,3 +452,12 @@ A beefed-up tab widget class for Qt extracted from the Qt Creator project
|
||||
* Copyright: 2011 Nokia Corporation and/or its subsidiary(-ies).
|
||||
* License: GNU General Public License v2 (see `COPYING`)
|
||||
* Corresponding files: `src/mkvtoolnix-gui/util/fancy_tab_widget.{h,cpp}`
|
||||
|
||||
## 6.13. fmt
|
||||
|
||||
Small, safe and fast formatting library
|
||||
|
||||
* Copyright: 2012–2018 by Victor Zverovich
|
||||
* License: BSD (see `doc/licenses/fmt-BSD.txt`)
|
||||
* URL: http://fmtlib.net/latest/
|
||||
* Corresponding files: `lib/fmt/*`
|
||||
|
Loading…
Reference in New Issue
Block a user