0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-29 18:22:50 +01:00
Commit graph

272 commits

Author SHA1 Message Date
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