Moritz Bunkus
5097f0da6c
GUIs: require Qt v5.3.0 or newer & remove compatibility code for older versions
2016-12-17 12:41:24 +01:00
Moritz Bunkus
0271688719
build system: remove checks for etags/ebrowse
2016-12-16 14:15:39 +01:00
Moritz Bunkus
c827f9d0b6
build system: require more C++14 features
...
The source will start using the following features from the C++14
standard:
• the "std::make_unique()" Standard Library function
• digit separators
• binary literals
• generic lambdas
gcc's v4.9.x and clang's v3.4 are the oldest releases to support all of
them.
2016-12-13 22:37:14 +01:00
Moritz Bunkus
f3900953d4
build system: rename c++11.m4 to c++-features.m4
...
I'll add tests for features from later standard versions soon.
2016-12-13 22:16:28 +01:00
Moritz Bunkus
449e2bf82c
GUI: mux: cache file identification results
...
The GUI will now cache file identification results on disc. When the
same file is identified a second time the cached results are used
instead leading to a huge speed gain, especially when scanning Blu-ray
playlists multiple times.
Both positive and negative results are cached.
Cache results are invalidated whenever one of the following conditions
is met:
• if the source file's modification time stamp differs from when the
result was cached
• if the source file's size in bytes differs from when the result was
cached
• if the current version of MKVToolNix GUI differs from the version used
to write the cached result
2016-12-03 12:24:17 +01:00
Moritz Bunkus
d7afc32412
build system: look for libQt5PlatformSupport.a and link it if found
...
Newer versions of Qt (definitely 5.7.0 but not yet 5.5.1) contain part
of the platform-specific code not in e.g. libqwindows.a but in
libQt5PlatformSupport.a. That library doesn't seem to be mentioned in
the LDFLAGS gathered from pkg-config. But its functionality is actually
required for libqwindows.a.
Therefore look for the library manually and link it if it's found.
Required in at least the static mingw cross-compiled build.
2016-10-29 00:24:21 +02:00
Moritz Bunkus
6d85fbc046
build system: require libEBML v1.3.4, libMatroska v1.4.5
2016-07-13 18:39:12 +02:00
Moritz Bunkus
684f7c7c7b
configure: enable C++11/14 during Qt detection
...
Starting with v5.7.0 Qt requires the compiler to be in C++11 mode.
2016-07-02 20:23:36 +02:00
Moritz Bunkus
8b6b876d2a
configure: add switch for circumventing pkg-config for Qt detection
...
Normally configure uses pkg-config for detecting Qt and setting
QT_CFLAGS and QT_LIBS. With this option configure won't use pkg-config
and rely on the user having set both variables before running
configure. This enables using Qt on systems where no pkg-config files
are generated (e.g. Qt 5.6.0 on MacOS with frameworks enabled).
See https://github.com/Homebrew/homebrew/pull/50234
2016-03-20 10:01:14 +01:00
Moritz Bunkus
5c6cf41028
build system: find DocBook styleheets on Fedora
...
Fixes #1607 .
2016-02-22 10:50:24 +01:00
Moritz Bunkus
d867a79d97
build system: use {EBML,MATROSKA}_{CFLAGS,LIBS} from pkg-config if not internal
2015-11-21 11:56:27 +01:00
Moritz Bunkus
d0193dc354
build system: only use -O2 with 32bit mingw cross compilers >= 5.1.0
...
MXE has recently reverted to 4.9.x, and that line still produces fine
binaries with -O3.
2015-11-17 22:16:22 +01:00
Moritz Bunkus
bc596fa06c
configure: don't check for libintl if --without-gettext is used
...
Fixes #1501 .
2015-11-08 20:40:48 +01:00
Moritz Bunkus
3a8acead8d
build system: only use -O2 with 32bit mingw cross compilers
...
Recent versions of the MXE mingw cross compilers produce stack-smashing
binaries with -O3 for some of the tools.
2015-10-22 11:36:42 +02:00
Moritz Bunkus
004585c79f
build system: require libEBML 1.3.3, libMatroska 1.4.4
2015-10-20 16:13:14 +02:00
Moritz Bunkus
20e26c840b
build system: remove option --without-mkvtoolnix-gui
2015-08-15 20:33:46 +02:00
Moritz Bunkus
64465ce72b
all: remove support for wxWidgets; remove mmg
2015-08-15 20:33:46 +02:00
Moritz Bunkus
c14a01aed6
build system: Qt: only look for platform plugin for static Qt
2015-08-15 14:06:11 +02:00
Moritz Bunkus
943ee96fc9
build system: Qt: don't assume GNU sed
...
\(…\) seems to be a GNU extension to sed, and MacOS uses BSD sed which
doesn't support it.
2015-08-15 14:06:07 +02:00
Moritz Bunkus
94eb9af366
build system: enable gcc's stack protection
...
Implements #1370 .
2015-08-11 15:02:58 +02:00
Moritz Bunkus
8683e553f3
build system: update Boost configure macros from www.gnu.org
...
Those new versions seem to improve support for more basic shells like
dash.
2015-08-09 21:04:04 +02:00
Moritz Bunkus
f8e00b68be
build system: add configure option for disabling libmagic
2015-07-21 16:42:07 +02:00
Moritz Bunkus
0c06672722
build system: fix Qt platform plugin directory detection
...
-L can occur multiple times in $QT_LIBS; replace all occurrences.
2015-07-21 10:58:50 +02:00
Moritz Bunkus
9042b3ebf8
GUI: show progress in Windows on task bar button
...
Implements #1335 .
2015-07-04 18:21:26 +02:00
Moritz Bunkus
a7c84f4104
build system: check for the Qt5Network module
2015-06-22 22:02:42 +02:00
Moritz Bunkus
fef12cc386
build system: test for -std=gnu++14/-std=gnu++11 as well
...
For clang using gnu++14/11 results in a dummy type being defined for
__float128. That, in turn, allows compilation with unmodified libstdc++
and clang.
2015-06-06 11:18:00 +02:00
Moritz Bunkus
479f5d3670
build system: build Qt translation files on MingW
2015-06-03 20:06:34 +02:00
Moritz Bunkus
3b8458f38d
build system: compile without maybe-uninitialized warnings for gcc
...
See e.g.
http://stackoverflow.com/questions/21755206/how-to-get-around-gcc-void-b-4-may-be-used-uninitialized-in-this-funct
2015-05-23 19:45:35 +02:00
Moritz Bunkus
0ea55b2956
configure: don't abort if moc/uic/rcc is not found
2015-05-10 10:43:32 +02:00
Moritz Bunkus
2a57cb4cb0
configure: remove duplicate pkg-config module
2015-05-09 21:46:15 +02:00
Moritz Bunkus
14ff0d12d1
configure: fix Qt test for certain versions
2015-05-09 18:44:03 +02:00
Moritz Bunkus
be6d290129
configure: enable Qt-based GUIs by default
2015-05-09 17:01:25 +02:00
Moritz Bunkus
0046805360
build system: require at least Qt 5.2.0
2015-05-09 16:24:07 +02:00
Moritz Bunkus
f76088d561
configure: don't require Qt5PlatforumSupport to be available
2015-05-09 10:20:57 +02:00
Moritz Bunkus
5ca23b0cdb
Qt UIs: only link static platform plugins if building against static Qt
2015-05-01 08:50:48 +02:00
Moritz Bunkus
cbdef0301a
configure: try to detect zlib simply via -lz if no pkg-config module installed for it
...
This can happen e.g. on Mac OS.
2015-04-29 21:50:47 +02:00
Moritz Bunkus
86ee6ce6a9
build system: auto-detect curl-config/wx-config with host prefix
2015-04-28 23:38:20 +02:00
Moritz Bunkus
3d4ebe7d07
build system: prefer curl-config over pkg-config for cflags/libs
...
On Mac OS »pkg-config --libs libcurl« doesn't output all the required
libraries for some reason (e.g. no »-lssl«). »curl-config --libs« does,
though. So prefer that if it's present and fall back to using pkg-config
otherwise.
2015-04-28 22:31:38 +02:00
Moritz Bunkus
afb6472d6d
build system: use correct order for linker flags for internal libEBML/libMatroska
...
Should fix #1177 .
2015-04-28 13:55:10 +02:00
Moritz Bunkus
d3d68641fd
version info: remove build time stamp
2015-04-22 12:56:10 +02:00
Moritz Bunkus
093a894fb2
build system: add switches for linking against a static Qt
2015-04-19 19:55:20 +02:00
Moritz Bunkus
728fb0a307
GUI, mkvinfo GUI: link against Cocoa platform plugin on Mac OS
2015-04-19 19:53:12 +02:00
Dominik 'Rathann' Mierzejewski
b4ca4862b4
make system utf8cpp check more robust
...
Check if utf8to32() and utf32to8() methods are available.
2015-04-02 23:05:01 +02:00
Dominik 'Rathann' Mierzejewski
fcd92036b4
build system: use system version of UTF8-CPP if present
2015-03-31 01:35:23 +02:00
Moritz Bunkus
30a18e07ba
rounding: use std::llround() instead of boost::math::llround()
...
See #1150 .
2015-03-28 16:31:09 +01:00
Moritz Bunkus
c2a74a8ebe
build system: don't build tools by default but provide configure option
2015-03-25 20:21:59 +01:00
Moritz Bunkus
2fcc79b00c
build system: check for and turn off some new warnings from clang++ 3.6
...
These warnings include -Winconsistent-missing-override and
-Wpotentially-evaluated-expression which are both triggered by code out
of my control (Qt and wxWidgets).
2015-03-25 17:51:30 +01:00
Moritz Bunkus
f3be86478f
build system: fix setting USE_CLANG when cache files are used
2015-03-25 17:25:25 +01:00
Moritz Bunkus
baeb11a4a0
math common: remove irnd() in favor of Boost's roundll()
2015-03-25 17:18:20 +01:00
Moritz Bunkus
a2456c1bb6
build system: don't test for -std=c++1y
...
This won't do what I think it does with clang 3.3: it doesn't seem to
turn on the C++11 features.
2015-03-25 12:20:32 +01:00
Moritz Bunkus
8f7a5b73b1
refactoring: test, fallback impl. for std::make_unique and use it
2015-03-24 21:43:48 +01:00
Moritz Bunkus
4f116a93b5
build system: test for -std=c++14
2015-03-24 17:04:35 +01:00
Moritz Bunkus
e41c70f1e3
refactoring: prefer alias declarations to typedefs
2015-03-24 16:31:52 +01:00
Anthony Violo
b5fd9b0fc0
Remove pthread option, because is not necessary to generate static application
2015-02-23 16:37:17 +01:00
Florent Thiéry
b00eeac099
rename STATIC_LIBS by LINK_STATICALLY because it was misleading
2015-02-19 13:36:40 +01:00
Florent Thiéry
a77e1e3677
fix --enable-static opt_features description
2015-02-19 13:34:44 +01:00
Florent Thiéry
113ffc5447
fix --enable-static flag description
2015-02-19 13:33:06 +01:00
Anthony Violo
1e6b546cd1
Added option to compile static binaries
2015-02-18 11:44:45 +01:00
Moritz Bunkus
b41bd6fd9d
configure: be more explicit about which optimizations are enabled
2015-02-12 13:34:38 +01:00
Moritz Bunkus
f7eb73a546
build system: check for checked-out copies of libEBML/libMatroska
2014-12-21 11:19:06 +01:00
Moritz Bunkus
b47ae1ee4b
build system: use libEBML/libMatroska via pkg-config
2014-12-21 10:50:26 +01:00
Moritz Bunkus
0c8a8392cf
build system: require libMatroska v1.4.2
...
See #1096 .
2014-12-19 14:03:11 +01:00
Moritz Bunkus
6f86568a27
build system: require libEBML 1.3.1
...
Together with 563be4d
and 8415af3
the changes in libEBML 1.3.1 address
the problems in #1089 . Therefore: fixes #1089 .
2014-12-19 00:32:00 +01:00
Moritz Bunkus
61e9e36592
build sys: use system version of pugixml if present
...
Fixes #1090 .
2014-12-05 12:35:39 +01:00
Moritz Bunkus
4a610ce9c1
Build system: Qt: link against and load platform plugin on Windows
2014-09-07 21:30:50 +02:00
Moritz Bunkus
bd0f5bc0df
build system: require Boost's date/time library
2014-05-26 08:49:15 +02:00
Moritz Bunkus
640788f675
build system: build man page translations regardless of level of completion
2014-05-24 20:49:37 +02:00
Moritz Bunkus
108e5dbe71
Merge branch 'master' into mkvtoolnix-gui
2014-02-07 22:30:44 +01:00
Moritz Bunkus
d3cf4f5756
fix compilation on Solaris: ioctl requires more headers
2014-02-05 07:53:34 +01:00
Moritz Bunkus
c2747fca07
fixup! configure: adjust tests for Qt5
2014-01-16 12:14:07 +01:00
Moritz Bunkus
181bde8bcb
configure: adjust tests for Qt5
2014-01-16 12:09:30 +01:00
Moritz Bunkus
cd13fb900f
build system: use correct processor architecture for 64bit Windows builds
2014-01-02 21:23:13 +01:00
Moritz Bunkus
2670e2e168
build system: use gtest system installation if present
2013-12-25 13:00:28 +01:00
Moritz Bunkus
cf06b42c66
build system: fix wxWidgets detection for wx 2.9x and mingw i686-pc-mingw32
2013-11-02 15:40:27 +01:00
Moritz Bunkus
fddc0b7231
build system: add C++11 flag to wxWidgets test
2013-10-26 18:52:13 +02:00
Moritz Bunkus
5b887990ca
build system: use -std=c++11 instead of -std=c++0x if the compiler supports it
2013-10-26 18:50:15 +02:00
Moritz Bunkus
da654e7ea7
build system: add -Wlogical-op warning flag for gcc 4.8.x
2013-10-26 12:52:22 +02:00
Moritz Bunkus
5de88ec536
build system: move compiler warning flag checks to their own file
2013-10-26 12:52:22 +02:00
Moritz Bunkus
aaca20b740
configure: look for Boost libs in multiarch directories
2013-10-17 23:13:05 +02:00
Moritz Bunkus
a03ab1e3e4
Update libMatroska to 82a7b7c (pre 1.4.1) and require 1.4.1
2013-07-02 22:33:50 +02:00
Moritz Bunkus
38b11bbce0
common: use stdlib's type traits instead of Boost's
2013-05-04 15:22:23 +02:00
Moritz Bunkus
4f309cc9ca
build system: only add clang-specific flags for clang
2013-05-02 11:37:31 +02:00
Moritz Bunkus
8af42f2a85
build system: avoid certain warnings with clang & libstdc++
2013-04-13 19:38:06 +02:00
Moritz Bunkus
94b2632a1f
build system: avoid certain warnings with Qt and clang
2013-04-04 09:21:23 +02:00
Moritz Bunkus
a156d0d5be
mkvmerge: set I/O priority class to 'idle' for lower/lowest --priorities on Linux
...
Implements #863 .
2013-03-31 15:17:08 +02:00
Moritz Bunkus
2daf658edc
All: remove support for BZ2 and LZO compression
2013-03-03 21:04:19 +01:00
Moritz Bunkus
0978c28c55
configure: output more information about enabled/disabled features
2013-01-15 20:47:09 +01:00
Moritz Bunkus
b57b7f8f71
configure: test for Boost's "variant" library
2012-12-22 20:02:32 +01:00
Moritz Bunkus
51413838a9
Improve Docbook DTD detection on Arch Linux
2012-09-29 08:59:16 +02:00
Moritz Bunkus
6fae39971c
Require libmatroska 1.4.0
2012-09-26 16:45:40 +02:00
Moritz Bunkus
db7855993f
Test for existence of files in lib/lib{ebml,matroska} if internal libs are used
2012-09-21 11:52:37 +02:00
Moritz Bunkus
b3fe8bc99e
Require libebml 1.3.0 or newer
2012-09-04 09:44:30 +02:00
Moritz Bunkus
a947a859ce
Don't build with full optimization with clang
...
Due to bug 11962 in llvm/clang.
2012-09-02 13:25:57 +02:00
Moritz Bunkus
cd770a8808
Test and use '-Qunused-arguments' with clang
...
Otherwise clang will complain about all the -I directives it doesn't
use.
2012-08-19 23:31:38 +02:00
Moritz Bunkus
405fde3565
Explicitly link against Boost's system lib during the filesystem lib test
2012-08-18 21:01:17 +02:00
Moritz Bunkus
9550b1c747
Replace boost::bind/boost::function with std::bind/std::function
2012-08-08 20:37:09 +02:00
Moritz Bunkus
abcc50f2b4
Fix linking if configure --cache-file is used twice
2012-04-24 19:55:43 +02:00
Moritz Bunkus
6f3e230bf5
Prevent WXWIDGETS_* var leaking to build-config if detection fails
2012-04-15 10:47:37 +02:00
Moritz Bunkus
d9a643afd8
Fix Qt detection for cross-compilation builds
2012-04-15 10:42:05 +02:00
Moritz Bunkus
75cd192440
Rename mmg-qt to mkvtoolnix-gui
2012-04-10 23:22:29 +02:00
Moritz Bunkus
d1024a97eb
Check for Qt's rcc; Bump minimum Qt version to 4.7.0
2012-04-10 17:33:09 +02:00
Moritz Bunkus
bb155cc1dd
Implement/fix build system for mmg-qt
2012-04-09 17:48:38 +02:00
Moritz Bunkus
5edff6bf0e
Explicitly request to link against richtext library
...
In wxWidgets 2.9.x the "richtext" library is not part of the default
library set anymore.
2012-04-07 13:37:33 +02:00
Moritz Bunkus
af67218b72
Check all required Boost libraries
2012-04-06 18:01:52 +02:00
Moritz Bunkus
84b114fd5c
Check for C++11 feature std::tuple
2012-03-31 19:28:21 +02:00
Moritz Bunkus
69442d2d24
Remove element_{mapping,parser,writer} and all occurrences of expat
2012-03-29 21:04:42 +02:00
Moritz Bunkus
48cc8862c5
Generate BROWSE file for Emacs
2012-03-26 20:19:14 +02:00
Moritz Bunkus
bbfb20cda7
Don't look for boost::property_tree anymore
2012-03-17 14:19:38 +01:00
Moritz Bunkus
69fa4eb808
Require C++11 feature "initializer lists"
2012-03-17 10:15:46 +01:00
Moritz Bunkus
62bdf273e5
nRequire C++11 feature 'nullptr'
2012-03-07 20:42:33 +01:00
Moritz Bunkus
b9ad48d72b
Require Boost's rational library
2012-02-26 21:44:22 +01:00
Moritz Bunkus
aa577bdb4d
Add configure option --without-gettext
2011-12-28 15:28:04 +01:00
Moritz Bunkus
1a8c3e8d1e
Add configure option --without-curl
2011-12-28 15:17:01 +01:00
Moritz Bunkus
6848b06781
Remove posix_fadvise() code
2011-12-27 16:13:04 +01:00
KonaBlend
19a62aa4b0
darwin11: support minimal boost tree
...
Add build support for a minimal boost tree which contains only
filesystem, regex and system dynamic libraries plus all headers.
- merge latest autoconf macros for boost from autoconf archive
- patch { filesystem, regex, system } macros to detect .dylib suffixes
- platform: Mac OS X 10.7.2
- boost versions: 1.47.0, 1.48.0
- compiler: gcc-4.6.2
2011-12-04 07:41:44 -05:00
Moritz Bunkus
639498ab76
Remove the ability to build "libmtxcommon" as a DLL
...
This feature has literally not been tested by me in years.
2011-11-05 22:19:41 +01:00
Moritz Bunkus
9c049e834e
Don't test for the initialization list C++11 feature
2011-10-30 20:35:23 +01:00
Moritz Bunkus
f9da63dd49
Build system: remove included copy of Boost's property tree library
2011-10-23 21:01:12 +02:00
Moritz Bunkus
6ab332d36d
Build system: require at least Boost 1.46.0
2011-10-23 20:46:31 +02:00
Moritz Bunkus
e13f02d8b6
Build system: define HAVE_CURL_EASY_H it curl is found via pkg-config
...
Fix regression introduced in eb846ed8
when curl detection was changed
from AC_CHECK_HEADER() to pkg-config.
2011-10-23 20:23:10 +02:00
Moritz Bunkus
dd099f0c99
Fix linking of static libmagic with mingw
2011-10-23 18:08:16 +02:00
Moritz Bunkus
b0e96e3b5d
Test for support for required C++11 features
2011-10-23 14:03:37 +02:00
Moritz Bunkus
b1d40af895
Library detection: notify properly if libmagic is not found
2011-10-23 13:46:28 +02:00
Moritz Bunkus
72b547b836
Detection: link iconv for libintl
...
Sometimes required for mingw32 cross-builds
2011-10-23 00:10:50 +02:00
Moritz Bunkus
eb846ed82e
Build system: use pkg-config's own macros for library detection where possible
2011-10-23 00:07:36 +02:00
Moritz Bunkus
3a6fefcfaa
Quote AC_LANG_PROGRAM properly
2011-10-21 21:09:19 +02:00
Moritz Bunkus
b26ee8840a
Depend on libEBML 1.2.2 and libMatroska 1.3.0
2011-09-24 11:50:34 +02:00
Moritz Bunkus
d768c1d570
Accept external versions of libEBML & libMatroska again
2011-09-10 12:18:33 +02:00
Moritz Bunkus
342765d5b6
Removed included version of boost::exception
...
It's bundled in 1.36.0, and 1.36.0 is required already
2011-08-08 21:51:02 +02:00
Moritz Bunkus
027e4679fe
Don't check for certain Boost headers
...
mkvtoolnix has a general version number check for Boost. Don't check
for those headers that should had been introduced by that version
already.
2011-08-08 16:16:53 +02:00
Moritz Bunkus
57e5c2dc08
File renaming
2011-08-08 16:06:07 +02:00
Moritz Bunkus
068ebf0df2
Honor --with-boost when checking for Boost headers
2011-08-08 16:02:02 +02:00
Moritz Bunkus
10ccb35711
configure check for boost::algorithm::string
2011-08-07 22:26:20 +02:00
Moritz Bunkus
da161a432b
CSS & build rules for the developer documentation
2011-08-03 22:32:47 +02:00
Moritz Bunkus
d95db41b74
Allow compilation with wxWidgets 2.9.x again
2011-07-08 12:11:56 +02:00
Moritz Bunkus
8c0bb29b35
Don't compile with wxWidgets >= 2.9.0 due to known incompatibilities
2011-05-27 22:48:56 +02:00
Moritz Bunkus
db360a0b50
Fix building on Windows
...
libmtxcommon must only be compiled as a DLL if libEBML and libMatroska
are compiled as DLLs as well.
2011-04-20 21:20:53 +02:00
Moritz Bunkus
e0c040c2a1
Always use the internal versions of libEBML and libMatroska
2011-04-20 09:20:13 +02:00
Moritz Bunkus
597e307cc1
Fixed compilation with Boost's filesystem library v3; also require Boost 1.36.0 or newer
2011-02-15 16:55:39 +01:00
Moritz Bunkus
70235732c1
A test for Boost filesystem v2 vs v3
2011-02-15 16:54:15 +01:00
Moritz Bunkus
868edce381
Put lib/lib{ebml,matroska} first in include/library paths during compilation if internal libs are to be used
2011-02-06 12:54:56 +01:00
Moritz Bunkus
43367e447a
Move libmatroska DLL test in correct if branch
2011-01-31 12:51:15 +01:00
Moritz Bunkus
da0e382cf7
Only use the internal versions of libebml & libmatroska if the system libs are too old
2011-01-31 11:52:07 +01:00
Moritz Bunkus
8395244ea7
Fix compilation on Mac OS X
2011-01-24 18:00:53 +01:00
Moritz Bunkus
da1ff39b7e
Build system: TIOCGWINSZ ioctl detection was broken
2011-01-20 14:47:32 +01:00
Moritz Bunkus
a3faf25306
Wrong configure variable names for Boost
2010-12-26 00:37:43 +01:00
Moritz Bunkus
259d2dbb95
Use curl-config for the CFLAGS and LIBS
2010-12-25 23:23:22 +01:00
Moritz Bunkus
7fd70c2851
Include Boost's Exception library from 1.45.0
...
Boost's property tree lib won't work without a current exception lib.
2010-12-25 23:23:22 +01:00
Moritz Bunkus
ebb2e119cc
configure check for libcurl
2010-12-23 16:04:01 +01:00
Moritz Bunkus
55d2f4bc47
Include the Boost property tree library
2010-12-22 23:46:16 +01:00