Jason Volk
1e6f8c6946
Revert "Link with explicit -shared-libgcc to prevent ld.gold causing static fallback."
...
This reverts commit 3f9fb44475
.
Reverted because it breaks debug line numbers in libircd and construct where it is
linked.
2019-05-29 18:18:44 -07:00
Jason Volk
edc7ca6af8
ircd: Rename mods_dl unit to mods_ldso.
2019-05-28 14:50:55 -07:00
Jason Volk
090fda072b
ircd::mods: Propagate our own exception through ld.so.
2019-05-28 05:48:18 -07:00
Jason Volk
7783e1f6ee
Define an indicator for all libircd implementation compilation units.
2019-05-27 17:05:07 -07:00
Jason Volk
3f9fb44475
Link with explicit -shared-libgcc to prevent ld.gold causing static fallback.
2019-05-27 03:29:06 -07:00
Jason Volk
e618f82dfc
Fix inconsistent use of $PLATFORM_LDFLAGS.
2019-05-27 03:07:59 -07:00
Jason Volk
3b6ce6ed6c
ircd: Minor cleanup Makefile PLATFORM_LDFLAGS.
2019-05-25 22:35:54 -07:00
Jason Volk
81ae93ecc1
Re-attempt use of .gdb_index section.
2019-05-17 00:44:00 -07:00
Jason Volk
04ec279fb5
ircd: Reduce debug_info bloating in units with spirit grammars.
2019-05-16 22:36:19 -07:00
Jason Volk
ed11153d27
Allow STB_GNU_UNIQUE for RTLD_DEEPBIND.
...
modules: Remove cruft; tweak Makefile.
2019-05-16 22:36:19 -07:00
Jason Volk
530ae5fd0c
ircd: Minor cleanup.
2019-05-06 13:18:51 -07:00
Jason Volk
d38d4b22f6
ircd: Remove manual include and use the pch for parse.cc
2019-05-06 10:44:02 -07:00
Jason Volk
1d0a7d700d
ircd: Ⓜ️ Merge m_event module entirely into ircd/m_event for now.
2019-05-03 15:58:39 -07:00
Jason Volk
154eee0ca6
ircd: Make unresolved symbols weak symbols; lazy binding in modules.
2019-05-02 16:45:27 -07:00
Jason Volk
68f82d25a3
Remove no-op linker flag in these contexts.
2019-05-02 16:45:27 -07:00
Jason Volk
f9e858ae9e
Add these gold linker section organization options.
2019-05-02 16:45:27 -07:00
Jason Volk
ecdb028365
ircd: Reorder units in Makefile.
2019-05-01 15:40:17 -07:00
Jason Volk
8ecea80a1b
ircd: Merge conditional compilation units into the ordered sources list.
2019-04-30 16:46:34 -07:00
Jason Volk
744438ec49
ircd: Precompile the spirit.h header.
2019-04-20 19:24:18 -07:00
Jason Volk
62441e1c68
ircd: Switch to lazy-loading libircd.so symbols.
2019-04-17 17:29:08 -07:00
Jason Volk
5c558f98b6
ircd: Remove the initfirst linker request option.
2019-04-09 21:08:15 -07:00
Jason Volk
63c850b123
ircd: Rename perf:: to prof::.
2019-04-03 15:51:42 -07:00
Jason Volk
403bf52867
ircd::perf: Start a perf profiling subsystem; move ctx::prof counter utils.
2019-03-31 18:16:18 -07:00
Jason Volk
3480819ab5
configure: Add conditional for --enable-lowmem-compile.
2019-03-22 17:46:21 -07:00
Jason Volk
2f1cd45fba
ircd/Makefile.am: Apply param ggc-min-expand to grammar units; minor reorg.
2019-03-22 16:43:17 -07:00
Jason Volk
ede2439a55
ircd: Add support for configurable soft-assertions.
2019-03-15 16:19:05 -07:00
Jason Volk
72fe68bb29
ircd::stats: Start a preliminary stats system.
2019-03-12 18:41:05 -07:00
Jason Volk
2854ea9a0f
Makefiles: Remove --gdb-index here because no -gsplit-dwarf used.
2019-02-25 18:20:48 -08:00
Jason Volk
d8536ca9a9
ircd: Move fpe into util.
2019-02-16 13:17:44 -08:00
Jason Volk
3151931ee4
Linker options package.
2019-02-08 18:24:20 -08:00
Jason Volk
2fd50fc9af
ircd::db: Split db.cc into db_env.cc and db_port.cc.
2019-01-23 14:08:02 -08:00
Jason Volk
f01a72c8f6
ircd: Ⓜ️ Merge m_request.cc into m.cc
2019-01-23 13:28:51 -08:00
Jason Volk
cd30a01e9d
ircd: Ⓜ️ Move all ircd/m/* units up to ircd/.
2019-01-23 13:24:53 -08:00
Jason Volk
14b57f2eac
ircd: Rename aio.h/aio.cc with fs_ prefix.
2019-01-23 13:20:38 -08:00
Jason Volk
0dd6abf9ca
ircd: Options package in preparation for lto.
2019-01-18 14:54:04 -08:00
Jason Volk
b947aee02d
ircd: Ⓜ️ Fix subobject-linkage.
2019-01-18 14:54:04 -08:00
Jason Volk
815252e71f
ircd: Remove unused ap/cbor on this branch.
2019-01-02 12:27:17 -08:00
Jason Volk
956a8e239c
Use more aggressive tls-model options.
2018-12-23 17:36:35 -08:00
Jason Volk
cb2b3e7c16
ircd: Minor link options package.
2018-12-21 14:38:14 -08:00
Jason Volk
a5ebc28928
ircd::fs::aio: Reorganize with symbol overriding; add conf items.
2018-12-21 13:04:57 -08:00
Jason Volk
00e27b070e
ircd::log: Control logging with conf items.
2018-12-18 18:10:06 -08:00
Jason Volk
e1fd3f556b
ircd: Move runlevel definitions into ircd.cc.
2018-12-18 17:34:12 -08:00
Jason Volk
5bba7b3f16
ircd: Remove make install hook to create db dir: already done in db::init.
2018-12-15 20:29:54 -08:00
Jason Volk
f1948d38e0
ircd::log: Create log directory at runtime rather than install.
2018-12-15 20:29:54 -08:00
Jason Volk
0c0c3b1f41
ircd: Split runlevel related into header and unit.
2018-12-08 15:15:31 -08:00
Jason Volk
99001a4ea5
ircd: Initial ap.
2018-12-05 15:17:00 -08:00
Jason Volk
d35dad46c2
configure: Add EXTRA_LIBS rather than modifying LIBS here.
2018-11-29 13:46:45 -08:00
Jason Volk
5d36bdf476
ircd: Remove redundant flag from Makefile.
2018-11-11 18:28:28 -08:00
Jason Volk
6967ad1faa
ircd::fpe: Add floating point environment suite; error scoping device.
2018-11-11 18:28:28 -08:00
Jason Volk
a7e4acc519
ircd: Split and reorg ircd::hash/ircd::crh related headers and units.
2018-11-08 17:04:15 -08:00
Jason Volk
045a944911
ircd: Move a2u / pretty() suites from lex_cast to util::; start util.cc unit.
2018-10-21 01:00:41 -07:00
Jason Volk
02f64c7f34
ircd: Add ios unit to provide a more central control point for asio.
2018-10-17 05:12:10 -07:00
Jason Volk
c980ce464f
configure: Rework the SSL support sections.
2018-09-03 03:05:09 -07:00
Jason Volk
b63c103bb7
ircd: Disable CBOR for now.
2018-09-01 16:57:56 -07:00
Jason Volk
8fb580aaf5
configure/ircd: Overhaul install system directory related.
2018-08-12 16:30:51 -07:00
Jason Volk
1d11659c43
ircd::js: Remove xdr.
2018-08-11 00:42:08 -07:00
Jason Volk
01d9ce038c
ircd: Preliminary CBOR namespace and unit.
2018-07-01 02:09:35 -07:00
Jason Volk
9601dac9cc
ircd: Consolidate stdinc.h and ircd.h and fix precompiled headers.
2018-06-15 16:13:18 -06:00
Jason Volk
7c841e6bdb
configure/Makefile: Add formal support for libsnappy.
2018-06-04 14:48:04 -07:00
Jason Volk
6d0161d791
ircd/Makefile: Add missing LZ4 related from configure.
2018-06-04 14:43:20 -07:00
Jason Volk
2b654d13c5
configure: Reorg various third-party sections; add lz4 support.
2018-06-03 08:35:44 -07:00
Jason Volk
f41c50af5b
Makefile: ld.gold arguments package.
2018-05-31 16:32:55 -07:00
Jason Volk
355c1845e3
ircd/Makefile: Add gold linker option --dynamic-list-data.
2018-05-29 23:03:39 -07:00
Jason Volk
b32a5b6a61
ircd/Makefile: Move allocator unit up in the order.
2018-05-29 02:52:47 -07:00
Jason Volk
c6bd9d63e8
ircd::allocator: Deinline non-template assets.
2018-05-25 00:15:49 -07:00
Jason Volk
eda5822700
Move boost coroutine deprecation suppression define to configure.ac from Makefile.am.
2018-05-22 16:31:30 -07:00
Jason Volk
1d7fce8368
ircd: Ⓜ️ Reorg filter interface and linkage related.
2018-05-19 18:49:02 -07:00
Jason Volk
456f8e7ac1
ircd: Ⓜ️ Move vm eval definitions into module.
2018-05-06 22:28:17 -07:00
Jason Volk
f049bbf0d0
ircd: Split tokens.cc from lexical.cc
2018-04-24 17:01:11 -07:00
Jason Volk
1268d90fb0
ircd::db: RocksDB to 5.12.2.
2018-04-09 15:57:05 -07:00
Jason Volk
065370c38a
configure.ac: parameter package.
2018-03-24 03:19:16 -07:00
Jason Volk
8ad264f72d
ircd: Consolidate demangle related into interface / unit.
2018-03-23 22:17:09 -07:00
Jason Volk
4145a94fc8
ircd::conf: Abstraction for all lex_cast'able types; add additional duration specializations.
2018-03-09 17:10:45 -08:00
Jason Volk
c864a6b446
ircd: Ⓜ️ Move keys related into modules/key; keys into node's room; remaining keys.cc into m.cc.
2018-03-06 00:10:36 -08:00
Jason Volk
17833dc22d
ircd: Ⓜ️ Merge remaining user.cc into m.cc.
2018-03-05 08:25:59 -08:00
Jason Volk
97e593a77e
ircd: Mein conf.
2018-03-02 08:02:20 -08:00
Jason Volk
bd14377904
ircd: Ⓜ️ Captain hook.
2018-02-25 23:35:25 -08:00
Jason Volk
7142cbf735
ircd: Move magic out of fs::.
2018-02-18 22:54:54 -08:00
Jason Volk
b5cb40e63d
configure.ac: Support libmagic.
2018-02-17 21:42:27 -08:00
Jason Volk
2921692571
ircd: Update Makefile ordering.
2018-02-15 14:07:25 -08:00
Jason Volk
939957c02a
ircd: Ⓜ️ Split filter into compilation unit; reactivate interface.
2018-02-11 15:47:24 -08:00
Jason Volk
f770a1638e
ircd: Update Makefile ordering to reflect current header ordering; commentary.
2018-02-11 15:47:24 -08:00
Jason Volk
b94d0b8ce6
ircd: Ⓜ️ Split m::user compilation unit.
2018-02-11 12:02:49 -08:00
Jason Volk
063644feaa
ircd: Ⓜ️ Abort the current sorry state of m::io.
2018-02-09 21:33:06 -08:00
Jason Volk
1bb9624bce
ircd: Give AIO its own TRU.
2018-02-05 23:00:55 -08:00
Jason Volk
0d8a646ccc
ircd: Ⓜ️ Split state:: off dbs::.
2018-01-29 09:36:05 -08:00
Jason Volk
a9cada32db
ircd: Ⓜ️ Add dbs namespace; remove old interfaces; checkpoint various.
2018-01-26 18:12:46 -08:00
Jason Volk
c79539ebf3
ircd: Ⓜ️ Elaborate v1 federation requests in directory.
2018-01-22 03:34:12 -08:00
Jason Volk
87effab106
Update configuration and library object versions.
2018-01-22 00:54:51 -08:00
Jason Volk
648981a4ce
ircd: Add Base58 support.
2018-01-22 00:54:51 -08:00
Jason Volk
617b0d0777
ircd: Ⓜ️ Rework/cleanup request/session related.
2018-01-20 13:58:24 -08:00
Jason Volk
2962ecdc72
ircd: Add preliminary RFC1035 support.
2018-01-14 20:45:30 -08:00
Jason Volk
2bca92d85d
ircd: We don't need this here; RocksDB has interface.
2018-01-04 17:44:34 -08:00
Jason Volk
80931e4e86
ircd: Ⓜ️ Split m.cc; distribute inits; modules: Checkpoint matrix.
2017-12-12 14:59:40 -07:00
Jason Volk
03dea97bb2
ircd: Add preliminary RFC3986 grammar; move urlencoding there.
2017-12-12 14:59:40 -07:00
Jason Volk
1a1a50f5f3
Checkpoint reorganization.
2017-11-30 12:30:19 -08:00
Jason Volk
3a057c80a4
ircd: Add preliminary skeleton for cuckoo suite.
2017-11-30 11:23:48 -08:00
Jason Volk
92c6f6c1a9
ircd: Split up matrix.cc.
2017-11-30 11:23:44 -08:00
Jason Volk
ea097c9f53
ircd: Split crypto.cc to hash.cc and rand.cc.
2017-11-30 11:23:43 -08:00
Jason Volk
6a024e9e16
ircd: Add preliminary 'server' as a client to *other* servers.
2017-11-30 11:23:40 -08:00
Jason Volk
6ba6cb1e7f
ircd: Add version 5.0.0 to libircd.
2017-10-11 20:54:02 -07:00
Jason Volk
2d90965816
configure.ac: Various cleanup; Add more warnings; Add optimization flags for testing.
2017-10-11 18:18:19 -07:00
Jason Volk
4a6b3f5fcc
Add support for libsodium (NaCl) cryptography.
2017-10-03 04:27:10 -07:00
Jason Volk
84d7746165
ircd: Add net; various asio related.
2017-10-03 04:17:10 -07:00
Jason Volk
babde26165
make: Minor cleanup.
2017-10-03 04:17:10 -07:00
Jason Volk
9ae9ea7357
ircd: Reorg crypto related by dependency.
2017-10-03 04:17:10 -07:00
Jason Volk
fae5984d5e
ircd: Rename hash.cc to crypto.cc.
2017-10-03 04:17:10 -07:00
Jason Volk
c87934cd4d
ircd::crh: Support SHA256.
2017-09-24 18:16:42 -07:00
Jason Volk
a0aeb2de2d
configure.ac/Makefile: Add debug conditionals.
2017-09-24 18:16:34 -07:00
Jason Volk
85b699c286
Various makefile cleanup.
2017-09-08 03:47:53 -07:00
Jason Volk
48148c640c
ircd: Add std::random subsystem and utils.
2017-08-23 15:52:15 -06:00
Jason Volk
caa6ed58e5
ircd: Makefile improvements.
2017-08-23 15:39:41 -06:00
Jason Volk
2a6527993b
fixup! ircd: Remove aborted cruft.
2017-08-23 15:30:24 -06:00
Jason Volk
7ff04618c0
ircd;modules: Minor Makefile tweaks.
2017-04-04 16:10:29 -07:00
Jason Volk
b07169dd69
Update Makefile flags for libraries to show more linkage issues.
2017-03-30 16:04:20 -07:00
Jason Volk
8ef53f2640
ircd: Move and improve socket listener device.
2017-03-30 16:04:19 -07:00
Jason Volk
21db4baab3
ircd: Various cleanup.
2017-03-30 16:04:18 -07:00
Jason Volk
2b0d74c862
configure.ac: Add -ffriend-injection to CXXFLAGS.
2017-03-20 00:00:14 -07:00
Jason Volk
c9ddf4f6ab
ircd: Add lex_cast wrapper interface; various cleanup.
2017-03-14 15:03:15 -07:00
Jason Volk
b592b69b86
What is the Matrix? Control.
2017-03-10 17:51:18 -08:00
Jason Volk
8b0fe0318f
gold linker.
2016-11-25 19:23:50 -08:00
Jason Volk
a4f55b4627
ircd::mods: Reorganize and distill interface.
2016-11-25 19:23:49 -08:00
Jason Volk
fedeab2ddd
ircd: Add locale:: namespace for portable internationalization.
2016-11-13 16:29:47 -08:00
Jason Volk
95068c7d06
Introduce Mozilla SpiderMonkey.
2016-10-25 01:55:50 -07:00
Jason Volk
5df4bf6da2
ircd::db: Add database interface. Support RocksDB.
2016-09-27 02:20:42 -07:00
Jason Volk
a4d186b6a1
ircd: Refactor hook system.
2016-09-23 00:01:00 -07:00
Jason Volk
2d494d8924
charybdis: Move getopt out from ircd::.
2016-09-23 00:01:00 -07:00
Jason Volk
d698b8a4a8
ircd: Break up rfc1459::
2016-09-22 16:18:32 -07:00
Jason Volk
ca4e04d85f
ircd::vm: Introduce vm; temp demo an immediate context.
2016-09-21 16:29:30 -07:00
Jason Volk
9d558e5eb4
ircd: Rename cmd.h/cc files to cmds.h/.cc
2016-09-21 16:29:28 -07:00
Jason Volk
556ceba8a0
ircd: new client; start over.
2016-09-21 16:29:28 -07:00
Jason Volk
249ba02faa
Introduce userspace contexts.
2016-09-09 16:17:36 -07:00
Jason Volk
9275429ee1
Replace command system.
2016-09-09 16:17:36 -07:00
Jason Volk
670990a215
Upgrade newconf parser to boost::spirit.
2016-09-09 16:17:02 -07:00
Jason Volk
edd8fa2ab0
Chase the Bison off a cliff.
...
---<<|<᚜<᚜᚜᚜᚜-
2016-09-09 16:17:02 -07:00
Jason Volk
12c836dc6e
Rip out libltdl.
2016-09-09 16:17:02 -07:00
Jason Volk
5aeeb73e20
ircd: Introduce ASIO; stub for signal handling and console UI.
2016-09-09 16:17:02 -07:00
Jason Volk
3ebde4ab50
Convert umodes to mode_lease mechanism.
2016-09-09 16:17:01 -07:00
Jason Volk
883dada3d4
ircd: Rename hostmask to mask; add pretty_mask() from chmode.
2016-08-27 20:57:36 -07:00
Jason Volk
8cca1190ec
ircd: Deinline stringops.h
2016-08-27 20:57:36 -07:00
Jason Volk
5f218cdbb2
Refactor scache.
2016-08-25 02:07:11 -07:00
Jason Volk
f112111e51
Add rfc1459:: case compliance namespace.
2016-08-20 19:30:34 -07:00
Jason Volk
3f6d567285
ircd: Improve/refactor version.cc -> info.cc related.
2016-08-20 19:30:34 -07:00
Jason Volk
61b517ca3c
Precompile and remove most include directives. Notes:
...
* To benefit from the precompiled-header (PCH) it MUST provide "the first C token."
Advantages:
Never worry about the include stack again. Remember, this means one less thing
for random module developers, community people learning C++, and new developers
to deal with. It should reduce the learning curve and barrier for participation.
Disadvantages:
Makes overall compilation a bit slower, especially without any additional
work to improve it again. There are several opportunities, places where the
PCH is probably being ignored, etc that can be addressed.
2016-08-20 19:30:33 -07:00
Jason Volk
0e62b5a91a
Add PIC/PCH condition in stdinc.h.
2016-08-13 02:43:41 -07:00
Jason Volk
625fb277ca
Add root exception + basic utilities.
2016-07-25 19:43:26 -07:00
Jason Volk
73297c988b
Preliminary defaults/paths namespacing.
...
The namespace is inline to mimic the C namespace for now.
2016-07-25 16:49:00 -07:00
Jason Volk
4796bec441
Activate PCH for position independent code.
...
Cuts compilation time by 30%+
2016-07-25 00:54:38 -07:00
Jason Volk
d1edbc0e58
Complete the C++ linkage with flex/bison.
2016-07-25 00:54:38 -07:00
Jason Volk
404239eb60
Build system cleanup.
2016-07-22 19:46:28 -07:00