0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-02 01:59:33 +02:00
Commit graph

144 commits

Author SHA1 Message Date
Jason Volk 36d8f3384b fixup! ircd::db: Add database interface. Support RocksDB. 2016-10-11 03:30:11 -07:00
Jason Volk 4bf52e93b3 configure.ac: -Wformat-security on GCC only. 2016-09-27 17:29:06 -07:00
Jason Volk 5df4bf6da2 ircd::db: Add database interface. Support RocksDB. 2016-09-27 02:20:42 -07:00
Jason Volk 6115671122 configure.ac: Boost.DLL is new in 1.61. 2016-09-26 16:06:56 -07:00
Jason Volk 5b607b5b1f configure.ac: Add __int128 support. 2016-09-21 16:29:28 -07:00
Jason Volk 249ba02faa Introduce userspace contexts. 2016-09-09 16:17:36 -07:00
Jason Volk 9e027b2212 configure.ac: Clarify specific spirit headers (avoid deprecation for spirit.hpp) 2016-09-09 16:17:03 -07:00
Jason Volk 1df1545a3c configure.ac: Support boost::spirit parser framework. 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 9d0a959bb5 MAPI IV. This iteration leverages the C++11 standardized RTTI.
* Simplifies the export declarations for module developers. While
MAPI III utilized a flexible key-value vector to eliminate positional
arguments in a header initializer, now the developer simply makes
a list of pointers to what they want to export for injection into
IRCd. Example:

mapi::header IRCD_MODULE
{
	"mymod",
	"My module adds a command, a hook, and a CLICAP",
	&my_cmdtab,
	&some_hook,
	&clicaptab
};

* Distributes the handlers for items passed to the above vector.
Anyone can add a type-handler to the module system from anywhere in IRCd
(and other modules?) When your type is encountered a handler is called
providing the symbol name to read out of the module. Example in parser.cc:

mods::add_loader<Message>([]
(mod &loading, const std::string &symbol)
{
	auto &msg(get<Message>(loading, symbol));
	add_command(msg.name, msg);
});
2016-09-09 16:17:01 -07:00
Jason Volk 638db81e09 configure.ac: Support boost::filesystem / boost::dll. 2016-09-09 16:17:01 -07:00
Jason Volk 3ebde4ab50 Convert umodes to mode_lease mechanism. 2016-09-09 16:17:01 -07:00
Jason Volk b5d4fef865 configure.ac: -Woverloaded-virtual -Wnon-virtual-dtor -Wnoexcept 2016-09-09 16:17:00 -07:00
Jason Volk f7dc872592 configure.ac: Test targets for experimental std::string_view. 2016-08-25 02:07:11 -07:00
Jason Volk 096f7b9ff7 clang: -Wno-mismatched-tags 2016-08-20 19:30:33 -07:00
Jason Volk d9abfc3955 Include time and iomanip standard library headers. 2016-08-20 19:30:33 -07:00
Jason Volk a789f0d0ed Readd missing compile-time information as a CPPDEFINE. 2016-08-20 19:30:33 -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 7d3e1e49a5 configure.ac: Fix CPPDEFINE error and improve boost check.
Require at least 1.56 for now... Testing of older versions is
needed once librb is replaced and we know what's needed.
2016-08-19 22:39:34 -07:00
Jason Volk 0e62b5a91a Add PIC/PCH condition in stdinc.h. 2016-08-13 02:43:41 -07:00
Jason Volk 1ffc492c7f Don't care about missing declarations. 2016-08-13 02:43:41 -07:00
William Pitcock 34a33a07d0 configure: fix ENABLE_FHS_PATHS being enabled when it shouldn't 2016-07-30 21:25:34 -05:00
William Pitcock 95b4dff0c6 configure: boost_linkage should be shared when using system boost 2016-07-30 20:42:39 -05:00
William Pitcock f8e09c38dc configure: more cleanups 2016-07-30 20:05:09 -05:00
William Pitcock e108151c20 configure: use AX_BOOST macros when not building built-in boost 2016-07-30 19:56:01 -05:00
Jason Volk 1eb7d4f319 configure.ac: Use stddef.h as dead header.
/dev/null cannot be used on windows, and /dev/null appears as modified
dependency when checking the PCH.
2016-07-25 00:54:38 -07:00
Jason Volk 530faa46a4 Add --with-included-boost=shared because it is not going to be installed. 2016-07-25 00:54:38 -07:00
Jason Volk 649561f79f configure.ac: adjust version to meet integral targets. 2016-07-25 00:54:38 -07:00
Jason Volk 02119375b1 Add --disable-pch configuration option. 2016-07-23 19:40:18 -07:00
Jason Volk 983f0bc154 Fix configure.ac macro expression. 2016-07-23 19:40:18 -07:00
Jason Volk 404239eb60 Build system cleanup. 2016-07-22 19:46:28 -07:00
Jason Volk 5ed274e082 m4: Add macro argument to pass an SD-6 feature test number.
This test against the __cplusplus #define value allows for a more
granular feature test.
2016-07-22 19:46:28 -07:00
Jason Volk e7e7f8ff9f Convert bison.
NOTE: This only has "C" linkage right now.
2016-07-22 19:46:27 -07:00
Jason Volk 748faeb264 Improve warnings. 2016-07-22 19:46:27 -07:00
Jason Volk 834964c659 Convert IRCd to C++
Happy 28th birthday. You're all grown up.
2016-07-22 19:46:27 -07:00
Jason Volk ea53aab823 Refactor repository layout.
* librb is no longer a separately configured subproject.
* charybdis is now a standalone directory with a binary.
* Include path layout now requires a directory ircd/ rb/ etc.
2016-07-21 20:51:02 -07:00
Jason Volk b903059075 Autotools preparation for GNU++14.
Files with the suffix .cpp will automatically integrate.
2016-07-19 22:38:56 -07:00
William Pitcock 2be307e059 configure: check for PCRE2 2016-06-25 23:42:00 -05:00
William Pitcock 499f3437c7 configure: 5 now 2016-06-25 22:30:58 -05:00
William Pitcock 998b6ec513 stage for charybdis 4-beta1. 2016-04-30 19:58:14 -05:00
William Pitcock caebeeca95 wsockd: add skeleton for future websockets helper (ref #78) 2016-03-25 21:04:22 -05:00
William Pitcock 80a0125f36 configure: define ENABLE_FHS_PATHS if built with --enable-fhs-paths, this will disable the path relocation code 2016-03-24 18:55:30 -05:00
Matt Ullman 2e45f5d808 Cleanup more BSD-isms 2016-03-23 22:37:52 -04:00
Matt Ullman 35472d0f1f automake: Fix typo in compiler flag 2016-03-22 16:51:06 -04:00
William Pitcock 8978ab4efa configure: add same msys check here 2016-03-20 22:17:52 -05:00
William Pitcock 570bbefb54 configure: remove old check for socklen_t. ircd uses rb_socklen_t for a long time. 2016-03-20 04:40:14 -05:00
William Pitcock 3c27591e9d configure: move mingw check down a bit 2016-03-20 02:11:06 -05:00
William Pitcock 3f97a5c529 configure: check for MINGW 2016-03-20 02:07:06 -05:00
William Pitcock b45a2f351e configure: check -lws2_32 for socket() too 2016-03-20 00:11:06 -05:00