Davide Pesavento
e277f8b9e8
tools: switch to Face::getIoContext()
...
Change-Id: I6be4c682d62e1061af45052d2141b9e5b9e897c5
2023-11-11 17:14:02 -05:00
Davide Pesavento
0a05f7aea6
build: disable -Wnon-virtual-dtor compiler warning
...
It's overkill and suffers from annoying false positives that
prevent us from applying the "protected non-virtual destructor"
idiom in several perfectly valid cases. See for instance the
GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102168
The -Wdelete-non-virtual-dtor warning (included in -Wall) is
the preferred alternative and is enough to catch the unsafe
cases without false positives.
Partially reverts 847de408cb
Change-Id: I46ee1f01e7d4e2b125c2c534c6550824ba1de4c0
2023-10-16 20:50:03 -04:00
Davide Pesavento
bf2e67fb14
build: enable a few more compiler warnings
...
Refactor default-compiler-flags.py to reduce duplication
Change-Id: I627b05257c2eec5c3ada9994bcd2b9a9be362157
2023-08-07 17:06:02 -04:00
Davide Pesavento
5b15e2fe97
build: decrease level of debug information produced by default
...
Refs: #5279
Change-Id: I537ff2a0a2e411279922823ae46cb7fee6586670
2023-08-07 16:35:35 -04:00
Davide Pesavento
c5e3e7a55d
build: drop official support for Ubuntu 18.04 and macOS 10.15
...
Increase the minimum required version of clang to 7.0 on linux, because
older versions fail to compile libstdc++'s implementation of std::variant
Change-Id: I6320973cbe3ff00faa8a36cd0e7ddf564c20d965
2023-03-07 21:25:27 -05:00
Davide Pesavento
3bc8e19a89
Prepare release 22.12
...
Refs: #5250
Change-Id: I6b9a3daab498cbffb78a108207e92bc2596be378
2022-12-31 01:40:11 -05:00
Davide Pesavento
9bfdaef62d
build: link with lld if available
...
Change-Id: Ie390c511c711508b6bb8c326a9a62fb1eca291c5
2022-10-05 17:38:44 -04:00
Davide Pesavento
e541d1b250
build+ci: support macOS on arm64
...
Refs: #5135
Change-Id: I86f1955366df12cfb8b3e6f9d5e9f202778cc211
2022-08-18 20:50:05 -04:00
Davide Pesavento
b7bfcb904a
build: switch to C++17
...
Change-Id: Ie68020a04b7e20b74778b6d0370544ded55c5e26
2022-05-23 03:42:32 -04:00
Davide Pesavento
c52cd5eec1
build: align minimum build dependencies with ndn-cxx
...
* boost 1.65.1
* gcc 7.4
* clang 6.0
* Xcode 10.0 (11.3 or later recommended)
Change-Id: I5e41f2a70d6c510dcb889a083a51504121b4627d
2022-03-05 20:40:54 -05:00
Davide Pesavento
264af77369
build: prepend "NFD_" to various macro names to avoid conflicts
...
Change-Id: Icc370968e3d38fef80ece35a2aed56450f54b653
2021-02-10 14:48:07 -05:00
Davide Pesavento
1752159ae0
build: align minimum build dependencies with ndn-cxx
...
* Recommend boost >= 1.65.1 and gcc >= 7.4.0
* Require clang >= 4.0, or Xcode >= 9.0 on macOS
* Silence an ABI-related diagnostic message from gcc on armv7
* Fix redundant-tags warning with gcc 10
* Add CentOS-specific instructions to docs/INSTALL.rst
* Add Xcode 11.5 to Travis CI
Refs: #5087 , #5106
Change-Id: I70746729a132ecb07d4788934385bb403039dba9
2020-05-15 14:25:26 -04:00
Alexander Afanasyev
a6bd7da559
build: Remove unnecessary std::ref, causing compilation issues with Boost 1.70.0
...
Refs: #4923
Change-Id: Idba1abe89161b11b1ec80fdceac51e2b00ed507b
2019-04-26 10:49:02 -04:00
Davide Pesavento
08b91c8d4e
docs: sync sphinx build config with ndn-cxx, improve README.md
...
Replace custom redmine_issue extension with sphinx.ext.extlinks
Change-Id: Ie6995fd418e4e355cc193b68423899fc029d93ce
2019-04-14 16:01:15 -04:00
Davide Pesavento
6ecc3f8141
build: respect --without-systemd
...
Change-Id: I5c5b5f43c5e3ae3ca2812b1f167179d4b6624319
2019-02-19 16:26:33 -05:00
Davide Pesavento
dfbeda2f10
build: ensure /usr/local/include is treated as system include path on FreeBSD
...
Also use the LLD linker by default on FreeBSD.
Change-Id: I45fd307417768e6f79fefdb6ebc6b4dbcafd2b92
Refs: #4790
2018-12-19 01:15:48 -05:00
Davide Pesavento
9be9980011
Update WebSocket++ to 0.8.1
...
Change-Id: I185c26a78aaf8ba6edeec935b0b0e3aa6c6c5f4c
2018-11-11 16:44:31 -05:00
Davide Pesavento
69692abf50
build+ci: sync compilation flags and Travis-CI matrix with ndn-cxx
...
Change-Id: I49c7069bf1fcc1bf89c91a5f92cd830730a32a87
Refs: #4721
2018-09-11 18:11:23 -04:00
Davide Pesavento
d657d53eea
build: require clang >= 3.6
...
Also fix an unused lambda capture warning with clang >= 5.0
Change-Id: I29c56cdf560da4a44efa038d4e65d868975aab6e
2018-06-26 21:16:10 -07:00
Davide Pesavento
c0822fa4a5
build: switch to C++14
...
Change-Id: I7a32dad01e74ef5b7c5f37a5464d0b17a7882c61
Refs: #3076
2018-06-06 16:24:22 -04:00
Davide Pesavento
5f35f64d9a
build: require gcc >= 5.3 and boost >= 1.58
...
This effectively drops support for all versions of Ubuntu older than 16.04
Change-Id: If1c96cc697d38a94588f126a89d13ec8e582702d
Refs: #4462
2018-05-10 20:33:57 -04:00
Eric Newberry
c14a8acf39
build: find Boost lib architecture automatically
...
refs #4573
Change-Id: Ie58f18c0634a837b303e290018f8a9a5bb71f5c7
2018-04-07 16:32:43 -07:00
Davide Pesavento
0064c1dd91
build: update waf to version 2.0.6
...
Major cleanup of all build scripts
Change-Id: I6904f034d40adc66366fdf08749900ffb31c68d9
2018-03-08 20:16:30 -05:00
Alexander Afanasyev
847de408cb
build: Add warning for non-virtual destructor and fix discovered issues
...
Change-Id: I1d67b9b63d84d8524580e80ac06c3efef860c56a
2017-09-22 15:00:29 -04:00
Alexander Afanasyev
b5220706c6
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: Id4d1d3f6cba6672ef04309b881bcff36a106f236
Refs: #4296
2017-09-22 15:00:03 -04:00
Davide Pesavento
a997d29622
Fix compilation with Boost 1.65.0
...
Change-Id: Ib88b7e13bddb1728dd882c086e97edffdd696f0d
Refs: #4258
2017-08-25 23:30:24 -04:00
Davide Pesavento
c0a5a39a4f
Add -Wextra-semi -Wundefined-func-template to the default CXXFLAGS
...
And fix the resulting compilation errors.
Change-Id: I2f8a8406542d297bfeeb4c922812ff1879a4dff6
Refs: #4248
2017-08-20 14:29:18 -04:00
Davide Pesavento
8eb5f8f3ed
build: sync default-compiler-flags.py with ndn-cxx
...
- explicitly require clang >= 3.4
- move -Og to basic debug flags (supported by clang since 4.0)
- use gold linker and enable linker optimizations
Change-Id: Ife0b645a94abfe86230bac179779fde6b529f075
2017-06-24 02:24:42 -04:00
Junxiao Shi
3aba7548f4
table: make FIB and StrategyChoice iterators default-constructible
...
They were previously not default-constructible when compiled with gcc 4.8.4.
refs #3882
Change-Id: I2431c869fb61b7adbe83d5551705981bf8618280
2016-12-24 02:42:52 +00:00
Alexander Afanasyev
436f3bd9fe
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: I15437050555646b2458989f3788fce4c1e354e48
Refs: #3795
2016-10-13 16:42:59 -07:00
Alexander Afanasyev
0fc97486ff
build: Do not fail build when -Winfinite-recursion warning is generated
...
Change-Id: I6370a0a5a938de15924f8e139ea34b32ed20e063
Refs: #3358
2016-09-13 18:33:15 +00:00
Davide Pesavento
67f30273dd
build: add waf-tool to simplify building with AddressSanitizer & friends
...
Change-Id: I769be2650c0c174b9e12e0832a5d2eea9bcad2d6
Refs: #2589
2016-08-10 01:55:16 +00:00
Eric Newberry
25a84074ab
websocketpp: Update WebSocket++ to version 0.7.0
...
refs #3588
Change-Id: Ief26695554bf0bfff374ba47496aaf9b75f9c630
2016-06-20 20:13:33 -07:00
Davide Pesavento
b84bd3a8c4
common: remove DECL_FINAL/OVERRIDE macros; use C++11 keywords directly
...
Change-Id: I71a148b0df7c95387b2caa8e2b9fe93b03ca2399
Refs: #3599
2016-04-27 12:15:06 -07:00
Davide Pesavento
cafae24473
build: require gcc >= 4.8.2 and boost >= 1.54.0
...
Change-Id: I6778f55f43e517a3d1d28387e953412a5292f063
Refs: #3599
2016-04-27 12:15:06 -07:00
Davide Pesavento
305529410b
build: fix pthread detection code in boost tool
...
It failed to build with several "null argument where
non-null required" errors on some Linux systems.
Change-Id: Ia3dccf3bb0e63d80d73b870632adc3308da6ecd0
2016-03-22 16:39:00 -08:00
Alexander Afanasyev
8509398137
build: Fix detection of Boost.Log compile flags
...
Change-Id: Ifdd5c485930a0bc50c1cbd76525947b001b44822
Refs: #2513
2016-03-11 13:44:37 -08:00
Alexander Afanasyev
e6f0e91590
build: Update boost tool
...
Change-Id: I4255b617c3f6b9dab068114aa01caaf5e2c22569
Refs: #2513
2016-03-03 11:03:16 -08:00
Alexander Afanasyev
dd7e5da016
build: Fix compatibility with Python 3
...
Change-Id: I7a1b98c38c2ed3a147c7b0e6c7b79d2723f2a3ba
Refs: #3493
2016-03-03 08:39:39 -08:00
Alexander Afanasyev
f22ebaf7f1
tests+ci: Enable dual XML and HRF output of unit test results
...
This commit also makes unit tests to run against a debug build, to
ensure assertions are properly evaluated (based on suggestion
in I5f4419ea48d4eb333e9d107115ef3df4123f76e5).
Change-Id: I1bbf14f75aab155ed80a36fc4006f7a5d13f1289
Refs: #2252 , #2805
2015-12-21 13:50:29 -08:00
Davide Pesavento
ed89ccc521
build: enable -Wextra by default
...
Change-Id: I1e6783fca6530741bf4b81dd13613a6b4235290a
Refs: #3293
2015-11-02 17:44:30 +01:00
Junxiao Shi
747b67d38f
build: downgrade keyword-macro from an error to a warning with clang
...
refs #3235
Change-Id: I48c95d8dd3e767b551618f7ec7fffc33fbd30fd6
2015-10-05 16:42:41 -07:00
Davide Pesavento
f485d89f16
build: disable clang's unused-local-typedef warning
...
This commit also enables color diagnostics on release builds.
Change-Id: I75d898ac1f3cf48097850f0cda807e3bee1cd206
Refs: #3209
2015-10-03 01:57:41 +02:00
Eric Newberry
a98bf93a25
face: Refactor Face as LinkService+Transport
...
LpFace: new Face implementation
LpFaceWrapper: allows new Face system to work with old Face system
Eventually, LpFace will be renamed to Face and LpFaceWrapper will be removed.
refs #3088 #3179
Change-Id: Ia4ad7c84631e65b444d4f24e1d7593392927c8db
2015-09-26 13:40:17 -07:00
Davide Pesavento
ec2a698301
Remove illegal std::to_string definition and use ndn::to_string in its place
...
Change-Id: I81481fea3267bde669c45df182e0aea8ccd1a188
Refs: #3214
2015-09-21 01:17:16 +02:00
Alexander Afanasyev
483d652d95
build: Disable precompiled headers on OS X with clang < 6.1.0
...
Change-Id: I4e88f35d6e649eb5b2eefef868ac29576e293877
Refs: #2804
2015-05-12 13:36:59 -07:00
Alexander Afanasyev
ce81230b09
build: Emulate std::to_string when it is missing
...
Change-Id: I4a08cf4abe7a2064a0c53d29582cbb761a1d131f
Refs: #2743
2015-04-14 23:37:03 -07:00
Alexander Afanasyev
e06b627f31
build: Update waf to version 1.8.8-dev (with custom patches)
...
https://github.com/cawka/waf/tree/8f714a523d3b8c66f2949aaa8db91d6f7be55e55
This patch also ensures that unused-local-typedef warning does not
generate errors.
Change-Id: I024438c338d0455df11508779c10a2737d25caab
Refs: #2209 , #2657
2015-03-26 14:36:02 -05:00
Wentao Shang
ce07470031
face: update websocketpp to version 0.5.1
...
Change-Id: Id5ce36532d30c7d37da466762b335b740e67ad67
2015-03-02 21:07:34 -08:00
Alexander Afanasyev
76818632e0
build: Several updates of the build scripts
...
- Update of waf script (based on custom fork https://github.com/cawka/waf )
- 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.
Change-Id: I6affeed08cc49bca28f076839e40ff790e57437b
Refs: #2209
2015-01-27 11:05:45 -08:00