Increase the minimum required version of clang on linux to 7.0 because
older versions fail to compile libstdc++'s implementation of std::variant
Change-Id: Id17d95c2869634622fc8775e085b74801a486e90
* Make gcc 7.4 and boost 1.65.1 hard dependencies, both are
available out-of-the-box on Ubuntu 18.04
* Require Xcode 10 on macOS but recommend 11.3 or later
* If using clang on non-Apple platforms, the minimum supported
version is now 6.0
Change-Id: I79c84a266741c9a66655da4fd467fe0d8218e8f0
Also, recommend using gcc 7.4.0 or later, and silence
an ABI-related diagnostic message from gcc on armv7
Refs: #5087, #5106
Change-Id: I4d9841bea9df19cbb9ba3b0865949b1d66e6ec3e
Replace our homegrown implementation of optional (based
on Boost.Optional) with optional-lite by Martin Moene.
Change-Id: I4632cbc7c705a94af0b85a335515e3430bf3cb1f
Refs: #3076
This change prevents global flags from interacting with library/feature
detection scripts.
Change-Id: Ic0dba06a9afd66a810172d4a512f35f6df6b25b6
Refs: #4296
The original motivation of this change was to avoid compilation failure
in debug mode on macOS 10.12.
Change-Id: I032b8d98d3aaf5602e10142a4d38e0b61b24b44e
Refs: #3795
The default flags for the clang compiler included several flags that
make sense only during the debug-mode compilation.
Change-Id: I0720ff2980da81ef2978761aedda6989d8e6f38d
- Redesign the way default compile flags are determined.
This includes a small semantical change with flag processing:
* there are now "general" compiler and link flags. These are added (if
supported) even if CXXFLAGS and/or LINKFLAGS environmental variables
are set.
* optimization/debug-mode flags that are applied only if CXXFLAGS
and/or LINKFLAGS environmental variables are not set.
- Fix define constant for sqlite3.
When pkg-config detection used, it requires `global_define` flag.
Otherwise define is applied only when the module is included in the
build target using 'use' statement.
- Remove openssl dependency
This dependency was redundant for a long time
Change-Id: Icf66fb5300954893cc2d07e022b8a0998ec894e5
Refs: #2209
This way all warnings generated during the detection (e.g., `argument
unused` from clang) will not cause problems later.
Change-Id: I94bb12de70f208c8da0648dd5cff8385acec5cbc
Refs: #1539
Dependent applications should perform the following changes:
* all includes should be changed from <ndn-cpp-dev/...> to <ndn-cxx/...>
* documentation files/comments referring to ndn-cpp-dev should be
updated and refer to ndn-cxx
* if the app uses pkgconfig for dependency detection, 'libndn-cpp-dev'
should be replaced with 'libndn-cxx'. Example for waf users:
conf.check_cfg(package = 'libndn-cxx', args = ['--cflags', '--libs'],
uselib_store = 'NDN_CXX', mandatory = True)
Change-Id: I92d9ec7ff176b9fe8b4352bf04bbb32aa810422d
Refs: #1491
This commit also fixes#1401 (path to sqlite3 can be explicitly
specified and the script will try to detect sqlite3 without the use of
pkg-config)
Change-Id: Ic91ec968410705b19d2df443523026c4e0e95c6b
And fix the resulting warnings. The long-long-int warning is explicitly
suppressed because it's not trivial to workaround in a platform-independent
and ISO-conformant way without using C++11.
This commit also includes fix for the advisory check for C++11-enabled
compiler in common.hpp (gcc < 4.7 does not correctly define __cpluplus
macro).
Finally, when custom CXXFLAGS are specified, --with-c++11 does not force
-std=c++11 or -std=c++0x flags, but just performs mandatory checks for
std::shared_ptr and std::function.
Change-Id: Icf44627edfddd34301bd27a05882b62fcbf54329