2016-01-06 04:20:25 +01:00
|
|
|
AUTOMAKE_OPTIONS = foreign
|
|
|
|
|
2016-07-20 20:55:46 +02:00
|
|
|
libircddir = @libdir@
|
2016-07-13 07:17:21 +02:00
|
|
|
|
2017-09-30 07:59:11 +02:00
|
|
|
AM_CXXFLAGS = \
|
2018-12-24 01:56:28 +01:00
|
|
|
-ftls-model=initial-exec \
|
2018-11-29 21:39:33 +01:00
|
|
|
@EXTRA_CXXFLAGS@ \
|
2017-09-30 07:59:11 +02:00
|
|
|
###
|
|
|
|
|
2016-07-20 20:55:46 +02:00
|
|
|
AM_CPPFLAGS = \
|
|
|
|
-I$(top_srcdir)/include \
|
2016-09-24 06:01:57 +02:00
|
|
|
@ROCKSDB_CPPFLAGS@ \
|
2016-10-11 06:28:16 +02:00
|
|
|
@JS_CPPFLAGS@ \
|
2016-08-15 04:44:16 +02:00
|
|
|
@BOOST_CPPFLAGS@ \
|
2018-09-03 12:02:35 +02:00
|
|
|
@SSL_CPPFLAGS@ \
|
|
|
|
@CRYPTO_CPPFLAGS@ \
|
2017-10-01 04:14:45 +02:00
|
|
|
@SODIUM_CPPFLAGS@ \
|
2018-02-18 04:48:36 +01:00
|
|
|
@MAGIC_CPPFLAGS@ \
|
2018-06-04 23:48:04 +02:00
|
|
|
@SNAPPY_CPPFLAGS@ \
|
2018-06-04 23:43:20 +02:00
|
|
|
@LZ4_CPPFLAGS@ \
|
2018-06-03 17:29:20 +02:00
|
|
|
@Z_CPPFLAGS@ \
|
2018-06-16 00:13:18 +02:00
|
|
|
-include ircd/ircd.pic.h \
|
2018-11-29 21:39:33 +01:00
|
|
|
@EXTRA_CPPFLAGS@ \
|
2017-09-08 11:43:23 +02:00
|
|
|
###
|
2016-07-20 20:55:46 +02:00
|
|
|
|
2016-03-20 08:08:14 +01:00
|
|
|
if MINGW
|
2016-07-20 20:55:46 +02:00
|
|
|
PLATFORM_LDFLAGS = -Wl,--enable-runtime-pseudo-reloc -export-symbols-regex '*'
|
2016-03-20 08:08:14 +01:00
|
|
|
endif
|
|
|
|
|
2017-09-12 18:54:10 +02:00
|
|
|
if DEBUG
|
|
|
|
if GCC
|
|
|
|
AM_CXXFLAGS += -fmax-errors=2
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2016-07-20 20:55:46 +02:00
|
|
|
AM_LDFLAGS = \
|
2018-01-20 22:56:53 +01:00
|
|
|
-version-info 3:1:0 \
|
2016-11-08 01:28:12 +01:00
|
|
|
-Wl,-fuse-ld=gold \
|
2018-12-21 23:38:14 +01:00
|
|
|
-Wl,--warn-common \
|
|
|
|
-Wl,--warn-execstack \
|
2018-05-31 22:00:58 +02:00
|
|
|
-Wl,--detect-odr-violations \
|
2019-02-09 03:24:20 +01:00
|
|
|
-Wl,--unresolved-symbols=report-all \
|
|
|
|
-Wl,--no-undefined-version \
|
2018-05-31 22:00:58 +02:00
|
|
|
-Wl,--no-undefined \
|
2016-11-08 01:28:12 +01:00
|
|
|
-Wl,--no-gnu-unique \
|
2019-02-09 03:24:20 +01:00
|
|
|
-Wl,--export-dynamic \
|
2018-03-24 10:52:40 +01:00
|
|
|
-Wl,--gc-sections \
|
|
|
|
-Wl,--icf=all \
|
2018-05-31 22:00:58 +02:00
|
|
|
-Wl,--rosegment \
|
2019-01-18 22:53:37 +01:00
|
|
|
-Wl,--whole-archive \
|
2018-05-31 22:00:58 +02:00
|
|
|
-Wl,-z -Wl,nodelete \
|
|
|
|
-Wl,-z -Wl,nodlopen \
|
2019-02-09 03:24:20 +01:00
|
|
|
-Wl,-z -Wl,noexecstack \
|
2017-08-23 23:39:41 +02:00
|
|
|
-Wl,-z -Wl,now \
|
2019-01-18 22:53:37 +01:00
|
|
|
-Wl,-z -Wl,combreloc \
|
|
|
|
-Wl,-z -Wl,nocopyreloc \
|
2017-09-08 11:43:23 +02:00
|
|
|
$(PLATFORM_LDFLAGS) \
|
2018-11-29 21:39:33 +01:00
|
|
|
@EXTRA_LDFLAGS@ \
|
2017-09-08 11:43:23 +02:00
|
|
|
###
|
2016-07-20 20:55:46 +02:00
|
|
|
|
|
|
|
libircd_LTLIBRARIES = libircd.la
|
|
|
|
|
2017-08-23 23:39:41 +02:00
|
|
|
libircd_la_LDFLAGS = \
|
|
|
|
$(AM_LDFLAGS) \
|
|
|
|
@ROCKSDB_LDFLAGS@ \
|
|
|
|
@JS_LDFLAGS@ \
|
2017-09-08 11:43:23 +02:00
|
|
|
@BOOST_LDFLAGS@ \
|
2018-09-03 12:02:35 +02:00
|
|
|
@SSL_LDFLAGS@ \
|
|
|
|
@CRYPTO_LDFLAGS@ \
|
2017-10-01 04:14:45 +02:00
|
|
|
@SODIUM_LDFLAGS@ \
|
2018-02-18 04:48:36 +01:00
|
|
|
@MAGIC_LDFLAGS@ \
|
2018-06-04 23:48:04 +02:00
|
|
|
@SNAPPY_LDFLAGS@ \
|
2018-06-04 23:43:20 +02:00
|
|
|
@LZ4_LDFLAGS@ \
|
2018-06-03 17:29:20 +02:00
|
|
|
@Z_LDFLAGS@ \
|
2017-09-08 11:43:23 +02:00
|
|
|
###
|
2017-08-23 23:39:41 +02:00
|
|
|
|
|
|
|
libircd_la_LIBADD = \
|
|
|
|
@ROCKSDB_LIBS@ \
|
|
|
|
@JS_LIBS@ \
|
|
|
|
@BOOST_LIBS@ \
|
2018-09-03 12:02:35 +02:00
|
|
|
@SSL_LIBS@ \
|
|
|
|
@CRYPTO_LIBS@ \
|
2017-10-01 04:14:45 +02:00
|
|
|
@SODIUM_LIBS@ \
|
2018-02-18 04:48:36 +01:00
|
|
|
@MAGIC_LIBS@ \
|
2018-06-04 23:48:04 +02:00
|
|
|
@SNAPPY_LIBS@ \
|
2018-06-04 23:43:20 +02:00
|
|
|
@LZ4_LIBS@ \
|
2018-06-03 17:29:20 +02:00
|
|
|
@Z_LIBS@ \
|
2018-11-29 21:39:33 +01:00
|
|
|
@EXTRA_LIBS@ \
|
2017-09-08 11:43:23 +02:00
|
|
|
###
|
2017-08-23 23:39:41 +02:00
|
|
|
|
2018-02-11 20:51:46 +01:00
|
|
|
# Since this is a GNU C++ project we assume the non-standard respect for
|
|
|
|
# the order of this sources list. Static initialization will occur in
|
|
|
|
# the same order as this list, and destruction in the reverse order.
|
|
|
|
#
|
|
|
|
# Add the most dependent units at the end and the least dependent units
|
|
|
|
# at the beginning.
|
|
|
|
#
|
2016-09-01 17:50:48 +02:00
|
|
|
libircd_la_SOURCES = \
|
2019-03-15 21:01:26 +01:00
|
|
|
assert.cc \
|
2018-12-21 21:58:53 +01:00
|
|
|
info.cc \
|
2019-01-18 22:53:37 +01:00
|
|
|
allocator.cc \
|
2018-05-29 11:24:59 +02:00
|
|
|
exception.cc \
|
2018-10-21 09:50:41 +02:00
|
|
|
util.cc \
|
2019-03-23 00:29:04 +01:00
|
|
|
demangle.cc \
|
|
|
|
locale.cc \
|
2018-03-09 21:20:23 +01:00
|
|
|
lexical.cc \
|
2018-04-25 01:40:55 +02:00
|
|
|
tokens.cc \
|
2019-03-23 00:29:04 +01:00
|
|
|
parse.cc \
|
|
|
|
rand.cc \
|
|
|
|
base.cc \
|
|
|
|
crh.cc \
|
|
|
|
fmt.cc \
|
2018-03-09 21:20:23 +01:00
|
|
|
json.cc \
|
2018-12-19 02:44:36 +01:00
|
|
|
conf.cc \
|
2018-02-11 20:51:46 +01:00
|
|
|
logger.cc \
|
2018-02-19 07:50:37 +01:00
|
|
|
magic.cc \
|
2019-03-23 00:29:04 +01:00
|
|
|
stats.cc \
|
2019-04-02 20:09:37 +02:00
|
|
|
prof.cc \
|
2018-02-11 20:51:46 +01:00
|
|
|
fs.cc \
|
2019-03-23 00:29:04 +01:00
|
|
|
sodium.cc \
|
|
|
|
openssl.cc \
|
|
|
|
rfc1459.cc \
|
2018-02-11 20:51:46 +01:00
|
|
|
rfc3986.cc \
|
|
|
|
rfc1035.cc \
|
2019-03-23 00:29:04 +01:00
|
|
|
http.cc \
|
|
|
|
ios.cc \
|
|
|
|
ctx.cc \
|
2018-02-15 23:04:19 +01:00
|
|
|
mods.cc \
|
2019-01-23 22:51:17 +01:00
|
|
|
db_port.cc \
|
|
|
|
db_env.cc \
|
2018-02-15 23:04:19 +01:00
|
|
|
db.cc \
|
2018-02-11 20:51:46 +01:00
|
|
|
net.cc \
|
|
|
|
server.cc \
|
|
|
|
client.cc \
|
|
|
|
resource.cc \
|
2019-01-23 22:24:53 +01:00
|
|
|
m_name.cc \
|
|
|
|
m_id.cc \
|
|
|
|
m_event.cc \
|
|
|
|
m_dbs.cc \
|
|
|
|
m_state.cc \
|
|
|
|
m_room.cc \
|
|
|
|
m_v1.cc \
|
|
|
|
m.cc \
|
2018-02-11 20:51:46 +01:00
|
|
|
ircd.cc \
|
2017-08-19 22:27:51 +02:00
|
|
|
###
|
2016-11-29 16:23:38 +01:00
|
|
|
|
2018-02-06 07:42:40 +01:00
|
|
|
if AIO
|
|
|
|
libircd_la_SOURCES += \
|
2019-01-23 22:20:38 +01:00
|
|
|
fs_aio.cc \
|
2018-02-06 07:42:40 +01:00
|
|
|
###
|
|
|
|
endif
|
|
|
|
|
2016-11-29 16:23:38 +01:00
|
|
|
if JS
|
|
|
|
libircd_la_SOURCES += \
|
2016-10-25 09:46:53 +02:00
|
|
|
js.cc \
|
2017-09-08 11:43:23 +02:00
|
|
|
###
|
2016-11-29 16:23:38 +01:00
|
|
|
endif
|
2019-03-23 00:29:04 +01:00
|
|
|
|
|
|
|
# The recursive grammars can consume a large amount of RAM when compiling
|
|
|
|
# (>= 2 GiB) which can thrash small systems and even sometimes crash GCC.
|
|
|
|
# This option reduces memory consumption at the cost of compilation speed.
|
|
|
|
if GCC
|
2019-03-23 01:46:21 +01:00
|
|
|
if LOWMEM_COMPILE
|
|
|
|
json.lo: CXXFLAGS += --param ggc-min-expand=1
|
|
|
|
http.lo: CXXFLAGS += --param ggc-min-expand=1
|
|
|
|
fmt.lo: CXXFLAGS += --param ggc-min-expand=1
|
|
|
|
rfc3986.lo: CXXFLAGS += --param ggc-min-expand=1
|
|
|
|
rfc1459.lo: CXXFLAGS += --param ggc-min-expand=1
|
|
|
|
m_id.lo: CXXFLAGS += --param ggc-min-expand=1
|
|
|
|
endif
|
2019-03-23 00:29:04 +01:00
|
|
|
endif
|