Davide Pesavento
2f46d6543e
Avoid deprecated Boost.Asio interfaces
...
Change-Id: I00d285893ff61619f49dff8a8a55d0d0e2c309a7
2023-11-10 17:40:43 -05:00
Davide Pesavento
03fdfb17a1
build: enable a few more compiler warnings
...
Refactor default-compiler-flags.py to reduce duplication
Change-Id: I059d4857ea6744ac791592c50d41a6ef8b8d60cc
2023-08-18 18:55:54 -04:00
Davide Pesavento
12b8aaa9f2
build: decrease level of debug information produced by default
...
Refs: #5279
Change-Id: I5c96d3e58d507c5ab01e0ae79348be15e078ac9a
2023-08-06 19:18:51 -04:00
Davide Pesavento
869d1a3c36
util: remove obsolete backport of std::to_string
...
Change-Id: Ib2ba051b84032b227ce75f41e242af20b4a43c3c
2023-03-14 23:55:02 -04:00
Davide Pesavento
fcd3e44028
build: switch to C++17
...
Change-Id: I92039300ce845de0312dceccb94c128229ed60c4
2023-03-10 18:44:11 -05:00
Davide Pesavento
762548b15e
build: drop official support for Ubuntu 18.04 and macOS 10.15
...
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
2023-03-07 14:40:22 -05:00
Davide Pesavento
81de5d98e9
Prepare release 0.8.1
...
Refs: #5250
Change-Id: I99931c1300cd752554aea764e9688d027b5de29e
2022-12-31 01:50:11 -05:00
Davide Pesavento
ea5ce49651
build: link with lld if available
...
Change-Id: Iaf1e7110e629fa1fa16bbd8b8cc1418fafd2408b
2022-10-05 01:46:24 -04:00
Davide Pesavento
f662500858
build+ci: support macOS on arm64
...
Refs: #5135
Change-Id: Ifac57bf18dea805dc9eab06039806858bb3b6f20
2022-08-10 20:40:52 -04:00
Davide Pesavento
541a822ae6
build: raise minimum build requirements
...
* 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
2022-03-08 21:09:01 -05:00
Davide Pesavento
2b47ac0a6f
build: fix detection of openssl 3.0
...
Refs: #5154
Change-Id: I93ccd3d3ac0f9b8940cda76e7a6df02a65999c90
2021-09-08 22:38:08 -04:00
Alexander Afanasyev
39535f4493
util: Out-of-the-box support for Android logging
...
Refs: #4970
Change-Id: I01cbb59faf505046c792393eb2e8df347212abcb
2021-04-07 11:10:23 -04:00
Davide Pesavento
71c622bb68
build: require clang >= 4.0, Xcode >= 9.0
...
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
2020-04-27 20:02:56 -04:00
Davide Pesavento
b310efbdaa
docs+ndnsec: improve description and parsing of command options, rewrite man pages
...
Replace custom redmine_issue extension with sphinx.ext.extlinks
Refs: #4907
Change-Id: Ib0cb94156ae4fc80cdcaf4c70d7c8d55c16fcbc3
2019-04-14 16:50:19 -04:00
Davide Pesavento
77f1c7665e
build: do not look for unneeded libraries
...
Change-Id: Ifcf45442b947bf23355e270f1f9bda298792d4a2
2019-02-19 15:06:16 -05:00
Davide Pesavento
fd674016ab
util: introduce NDN_THROW
...
Refs: #4834
Change-Id: I35ff77a1d4e96caa17523cbdbb6f169390975d1b
2019-02-10 19:32:18 -05:00
Davide Pesavento
64ae55d781
build: ensure /usr/local/include is treated as system include path on FreeBSD
...
Also use the LLD linker by default on FreeBSD.
Change-Id: I42fc1b3688008e6fa40ee5f399501e54dba25a83
Refs: #4790
2018-12-26 10:03:05 -08:00
Davide Pesavento
4b8eab72f3
build: drop dependency on unused CoreServices framework
...
Change-Id: I91df33fafbcf275f7b41394112f8c002bc98af97
2018-09-02 12:38:25 -04:00
Davide Pesavento
52bc4e918c
build: disable -Wmissing-braces with clang < 6.0
...
Also remove some -Wno-error= flags that are no longer needed.
Change-Id: I0e0ad52c69fd42b815f5b20f45311d0c9b8cdef3
Refs: #4721
2018-08-24 12:32:41 -07:00
Davide Pesavento
ca660f116a
build: require clang >= 3.6
...
3.5 fails with "error: debug information for auto is not yet supported"
Change-Id: I77ac4a064959b26796a4bf3f1dea7c3c08ea60a3
2018-06-18 08:37:00 -07:00
Davide Pesavento
1fd00240e0
build: switch to C++14
...
Replace our homegrown implementation of optional (based
on Boost.Optional) with optional-lite by Martin Moene.
Change-Id: I4632cbc7c705a94af0b85a335515e3430bf3cb1f
Refs: #3076
2018-05-24 21:41:56 -04:00
Davide Pesavento
844b09331b
build: require gcc >= 5.3, boost >= 1.58, openssl >= 1.0.2
...
This effectively drops support for all versions of Ubuntu older than 16.04
Change-Id: Ie3ab7df9147e97f6467658a6399a4f9379f089c1
Refs: #4462
2018-05-08 21:00:00 -04:00
Eric Newberry
25038f3034
build: find Boost lib architecture automatically
...
refs #4573
Change-Id: Id28188a98d710c15f06391d89d13fed91e0ad73f
2018-04-07 16:35:37 -07:00
Alexander Afanasyev
5560fd40ae
build: update waf to version 2.0.6
...
Cleanup in most build scripts
Change-Id: Ib024e95fb6f80e72b0c00e1dc8bb9300d6c5f191
2018-03-08 21:49:25 -05:00
Alexander Afanasyev
b82d8c3a1b
build: Add -isystem and set specialized flags as a last configuration step
...
This change prevents global flags from interacting with library/feature
detection scripts.
Change-Id: Ic0dba06a9afd66a810172d4a512f35f6df6b25b6
Refs: #4296
2017-09-22 12:30:57 -04:00
Alexander Afanasyev
adc71845c5
security: Remove old security framework
...
This commit also finalizes removal of CryptoPP dependency.
Change-Id: Ia670cbeaf21b28d3b93fd36bb3781da3ac822662
Refs: #4246 , #3946
2017-08-24 09:30:24 -07:00
Davide Pesavento
88a0d816b8
Add -Wextra-semi -Wundefined-func-template to the default CXXFLAGS
...
And fix the resulting compilation errors.
Change-Id: I16f679836a0cf2a3ff5dfcf6f6b67bfbfe4cdbd7
Refs: #4248
2017-08-23 22:50:43 -04:00
Davide Pesavento
724d65ae2f
build: explicitly require clang >= 3.4
...
Change-Id: I4647163a4e20a9684c698a1d94ae576cd7cb63bf
2017-06-23 17:14:08 -04:00
Davide Pesavento
37271c5b48
build: use gold linker and enable linker optimizations
...
On Linux, gold is more than 2x faster than traditional bfd-based ld
Change-Id: I8b1c3275b542d60e976bad05dac522ca49e921cb
2017-06-23 15:43:14 -04:00
Alexander Afanasyev
5bcee10c84
util: Add detection whether WiFi interface is ad hoc on macOS
...
This commit only introduces framework to detect WiFi interface type.
This function is not yet integrated in any other code.
Change-Id: I072d654f7fdbd89fe5fee00b0400133d5cea19cf
Refs: #4019
2017-06-20 17:47:02 -07:00
Alexander Afanasyev
7cd43abee3
build: Allow Objective-C++ code to be used
...
Change-Id: I63e5d866dd1dd04987572941d1c842e09c4494b4
2017-06-20 17:47:02 -07:00
Alexander Afanasyev
3b3355cc07
util: NetworkMonitor: macOS version of fine-grained signals on interface state changes
...
Change-Id: I6da12356baa0038d08ff256d0d3ff726023d804b
Refs: #3817
2017-06-20 17:47:02 -07:00
Alexander Afanasyev
0cf887df3d
build: Change HAVE_OSX_SECURITY to a more general HAVE_OSX_FRAMEWORKS
...
We are starting to use more macOS frameworks and define/build
environment constant name needs to be more general.
Change-Id: I893d436a34c3370a7f12ac681d1796ef5631cc0e
2017-06-20 17:47:02 -07:00
Davide Pesavento
f714c1fd88
build: use -Og with clang as well
...
It is supported since 4.0
Change-Id: Ib454927e4052720fa21d004f64fa4d3699e72d73
2017-04-12 23:53:40 -04:00
Davide Pesavento
7f20d6ec6c
build+src: mark destructor virtual in classes with virtual functions
...
And to prevent similar mistakes in the future, add -Wnon-virtual-dtor
to the default build flags.
Change-Id: I28e2361341abab29fca134309288cd259736d67a
2017-01-16 14:48:06 -05:00
Alexander Afanasyev
465c973274
build: Do not fail the build in debug mode when using deprecated declarations
...
The original motivation of this change was to avoid compilation failure
in debug mode on macOS 10.12.
Change-Id: I032b8d98d3aaf5602e10142a4d38e0b61b24b44e
Refs: #3795
2016-10-12 09:22:46 -07:00
Alexander Afanasyev
2fa5939375
security: Reorganizing source code to prepare for support of two version of NDN certificates
...
This commit also removes unused ndn_digestSha256 function and deprecates
crypto::sha256 in favor of crypto::computeSha256Digest in util/crypto.hpp.
Change-Id: I24ee50ff073a96b868633bdf2cfade412d3605f3
Refs: #3098
2016-08-25 18:28:29 -07:00
Davide Pesavento
1349d2d72e
build: add waf-tool to simplify building with AddressSanitizer & friends
...
Change-Id: I368fe5bbbe3a92a7e82c22f56f6784761d94118d
Refs: #2589
2016-08-10 21:13:23 -07:00
Alexander Afanasyev
750472b63d
build: Fix detection of OpenSSL on OS X with HomeBrew
...
Change-Id: Ibcbc9516cf3b47eaab446bd51eb70917226c8104
Refs: #3697
2016-08-05 12:08:01 -07:00
Junxiao Shi
7d05427cc1
util: logging facility
...
refs #3562
Change-Id: I61d934c5306e1a73b41c81aeb3524d6bf581af3c
2016-08-04 17:00:41 +00:00
Yingdi Yu
b3015bdfb7
build: require minimum version of OpenSSL to be 1.0.1
...
Change-Id: I5d3fe907a7ab3159955e80a60cf0f011fd2b3154
Refs: #3007 , #2949 , #3089
2016-08-03 11:54:53 -07:00
Alexander Afanasyev
224044fc30
build: Force linking against the locally compiled ndn-cxx library
...
When ndn-cxx is configured to be linked against static libraries (e.g.,
a static version of boost libraries) while ndn-cxx library is being
compiled as a shared library, waf adds '-L<static/path>' before '-L.'.
This can result in compilation failure when the system has a different
version of the ndn-cxx library installed.
This commit also makes a minor improvement for cryptopp library
detection.
Change-Id: Ia42a21b51a51a867a1b455a95d1cf5de6b21881f
2016-08-03 11:48:27 -07:00
Junxiao Shi
d4919b4311
waf-tools: remove FRIEND_TYPENAME check
...
It becomes unnecessary after dropping Ubuntu 12.04 build support.
refs #3599
Change-Id: I2b2ed8b38b8b7f5ec28dc32cb81bd04adfad4f88
2016-07-17 16:28:40 +00:00
Davide Pesavento
aa82eb6adc
common: remove NDN_CXX_DECL_FINAL/OVERRIDE macros; use C++11 keywords directly
...
Change-Id: I8a6bc25a17574093addb144e6cdcc21dd24bbce4
Refs: #3599
2016-04-22 19:08:40 +02:00
Davide Pesavento
e6e6fde5bd
build: require gcc >= 4.8.2 and boost >= 1.54.0
...
Change-Id: I230ac74f3fd1e7912c1645f36383913ff5bd3d2c
Refs: #3599
2016-04-22 02:16:27 +02:00
Alexander Afanasyev
8c6880f58e
build: Fix compatibility with Python 3
...
Change-Id: I6e38315945a683a87bbeb4b4a352de3c7122ef7c
Refs: #3493
2016-03-03 10:50:19 -08:00
Alexander Afanasyev
3b5f4eae19
build: Improve cryptopp version detection
...
Change-Id: Ice7f69d0668e1943d2f27b5f15c0384854456d1a
2015-12-23 22:48:17 -08:00
Alexander Afanasyev
efa22d6722
build: Do not fail build when -Winfinite-recursion warning is generated
...
Change-Id: I4f2a249073d050041f636b339ef0e3ba50ce9c07
Refs: #3358
2015-12-07 15:21:22 -07:00
Davide Pesavento
7c02b472c2
build: enable -Wextra by default
...
Also delete redundant 'return 0' from configure code snippets.
Change-Id: Ie3618db4abece6fb2d8ec8b52b88e84b4eb3a5b0
Refs: #3293
2015-11-01 20:28:48 +01:00
Junxiao Shi
b1ba3e0661
build: downgrade keyword-macro from an error to a warning with clang
...
refs #3235
Change-Id: If687229c721d41d7a06b9014c1d9130b798bca64
2015-10-05 16:42:14 -07:00