2016-01-05 21:20:25 -06:00
|
|
|
AUTOMAKE_OPTIONS = foreign
|
|
|
|
|
2019-05-27 17:05:07 -07:00
|
|
|
DEFS += \
|
|
|
|
-DIRCD_UNIT \
|
|
|
|
###
|
|
|
|
|
2017-09-29 22:59:11 -07:00
|
|
|
AM_CXXFLAGS = \
|
2018-12-23 16:56:28 -08:00
|
|
|
-ftls-model=initial-exec \
|
2018-11-29 12:39:33 -08:00
|
|
|
@EXTRA_CXXFLAGS@ \
|
2017-09-29 22:59:11 -07:00
|
|
|
###
|
|
|
|
|
2019-05-25 22:35:54 -07:00
|
|
|
if DEBUG
|
|
|
|
if GCC
|
|
|
|
AM_CXXFLAGS += -fmax-errors=2
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2016-07-20 11:55:46 -07:00
|
|
|
AM_CPPFLAGS = \
|
|
|
|
-I$(top_srcdir)/include \
|
2016-09-23 21:01:57 -07:00
|
|
|
@ROCKSDB_CPPFLAGS@ \
|
2016-10-10 21:28:16 -07:00
|
|
|
@JS_CPPFLAGS@ \
|
2016-08-14 19:44:16 -07:00
|
|
|
@BOOST_CPPFLAGS@ \
|
2018-09-03 03:02:35 -07:00
|
|
|
@SSL_CPPFLAGS@ \
|
|
|
|
@CRYPTO_CPPFLAGS@ \
|
2017-09-30 19:14:45 -07:00
|
|
|
@SODIUM_CPPFLAGS@ \
|
2018-02-17 19:48:36 -08:00
|
|
|
@MAGIC_CPPFLAGS@ \
|
2018-06-04 14:48:04 -07:00
|
|
|
@SNAPPY_CPPFLAGS@ \
|
2018-06-04 14:43:20 -07:00
|
|
|
@LZ4_CPPFLAGS@ \
|
2018-06-03 08:29:20 -07:00
|
|
|
@Z_CPPFLAGS@ \
|
2019-07-03 14:31:05 -07:00
|
|
|
@MALLOC_CPPFLAGS@ \
|
2018-06-15 16:13:18 -06:00
|
|
|
-include ircd/ircd.pic.h \
|
2018-11-29 12:39:33 -08:00
|
|
|
@EXTRA_CPPFLAGS@ \
|
2017-09-08 02:43:23 -07:00
|
|
|
###
|
2016-07-20 11:55:46 -07:00
|
|
|
|
|
|
|
AM_LDFLAGS = \
|
2018-01-20 13:56:53 -08:00
|
|
|
-version-info 3:1:0 \
|
2018-12-21 14:38:14 -08:00
|
|
|
-Wl,--warn-common \
|
|
|
|
-Wl,--warn-execstack \
|
2018-05-31 13:00:58 -07:00
|
|
|
-Wl,--detect-odr-violations \
|
2019-02-08 18:24:20 -08:00
|
|
|
-Wl,--unresolved-symbols=report-all \
|
|
|
|
-Wl,--no-undefined-version \
|
2019-05-02 14:23:13 -07:00
|
|
|
-Wl,--weak-unresolved-symbols \
|
2018-03-24 02:52:40 -07:00
|
|
|
-Wl,--icf=all \
|
2018-05-31 13:00:58 -07:00
|
|
|
-Wl,--rosegment \
|
2019-05-17 00:44:00 -07:00
|
|
|
-Wl,--gdb-index \
|
2019-06-05 18:22:28 -07:00
|
|
|
-Wl,-z,lazy \
|
|
|
|
-Wl,-z,nodelete \
|
|
|
|
-Wl,-z,nodlopen \
|
|
|
|
-Wl,-z,noexecstack \
|
|
|
|
-Wl,-z,combreloc \
|
|
|
|
-Wl,-z,text-unlikely-segment \
|
2019-05-26 23:32:55 -07:00
|
|
|
$(PLATFORM_LDFLAGS) \
|
2018-11-29 12:39:33 -08:00
|
|
|
@EXTRA_LDFLAGS@ \
|
2017-09-08 02:43:23 -07:00
|
|
|
###
|
2016-07-20 11:55:46 -07:00
|
|
|
|
2019-06-24 01:05:52 -06:00
|
|
|
if GCC
|
|
|
|
AM_LDFLAGS += \
|
|
|
|
-Wl,-fuse-ld=gold \
|
|
|
|
###
|
|
|
|
endif
|
|
|
|
|
|
|
|
if CLANG
|
|
|
|
AM_LDFLAGS += \
|
|
|
|
-fuse-ld=gold \
|
|
|
|
###
|
|
|
|
endif
|
|
|
|
|
2019-05-25 22:35:54 -07:00
|
|
|
if MINGW
|
|
|
|
AM_LDFLAGS += \
|
|
|
|
-Wl,--enable-runtime-pseudo-reloc \
|
|
|
|
-export-symbols-regex '*' \
|
|
|
|
###
|
|
|
|
endif
|
|
|
|
|
2019-05-06 13:18:03 -07:00
|
|
|
libircddir = @libdir@
|
2016-07-20 11:55:46 -07:00
|
|
|
libircd_LTLIBRARIES = libircd.la
|
|
|
|
|
2017-08-23 15:39:41 -06:00
|
|
|
libircd_la_LDFLAGS = \
|
|
|
|
$(AM_LDFLAGS) \
|
|
|
|
@ROCKSDB_LDFLAGS@ \
|
|
|
|
@JS_LDFLAGS@ \
|
2017-09-08 02:43:23 -07:00
|
|
|
@BOOST_LDFLAGS@ \
|
2018-09-03 03:02:35 -07:00
|
|
|
@SSL_LDFLAGS@ \
|
|
|
|
@CRYPTO_LDFLAGS@ \
|
2017-09-30 19:14:45 -07:00
|
|
|
@SODIUM_LDFLAGS@ \
|
2018-02-17 19:48:36 -08:00
|
|
|
@MAGIC_LDFLAGS@ \
|
2018-06-04 14:48:04 -07:00
|
|
|
@SNAPPY_LDFLAGS@ \
|
2018-06-04 14:43:20 -07:00
|
|
|
@LZ4_LDFLAGS@ \
|
2018-06-03 08:29:20 -07:00
|
|
|
@Z_LDFLAGS@ \
|
2019-07-03 14:31:05 -07:00
|
|
|
@MALLOC_LDFLAGS@ \
|
2017-09-08 02:43:23 -07:00
|
|
|
###
|
2017-08-23 15:39:41 -06:00
|
|
|
|
|
|
|
libircd_la_LIBADD = \
|
|
|
|
@ROCKSDB_LIBS@ \
|
|
|
|
@JS_LIBS@ \
|
|
|
|
@BOOST_LIBS@ \
|
2018-09-03 03:02:35 -07:00
|
|
|
@SSL_LIBS@ \
|
|
|
|
@CRYPTO_LIBS@ \
|
2017-09-30 19:14:45 -07:00
|
|
|
@SODIUM_LIBS@ \
|
2018-02-17 19:48:36 -08:00
|
|
|
@MAGIC_LIBS@ \
|
2018-06-04 14:48:04 -07:00
|
|
|
@SNAPPY_LIBS@ \
|
2018-06-04 14:43:20 -07:00
|
|
|
@LZ4_LIBS@ \
|
2018-06-03 08:29:20 -07:00
|
|
|
@Z_LIBS@ \
|
2019-07-03 14:31:05 -07:00
|
|
|
@MALLOC_LIBS@ \
|
2018-11-29 12:39:33 -08:00
|
|
|
@EXTRA_LIBS@ \
|
2017-09-08 02:43:23 -07:00
|
|
|
###
|
2017-08-23 15:39:41 -06:00
|
|
|
|
2018-02-11 11:51:46 -08: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.
|
|
|
|
#
|
2019-04-30 16:46:34 -07:00
|
|
|
libircd_la_SOURCES =#
|
|
|
|
libircd_la_SOURCES += assert.cc
|
|
|
|
libircd_la_SOURCES += info.cc
|
|
|
|
libircd_la_SOURCES += allocator.cc
|
2019-07-03 17:27:58 -07:00
|
|
|
libircd_la_SOURCES += allocator_gnu.cc
|
2019-07-03 18:35:50 -07:00
|
|
|
libircd_la_SOURCES += allocator_je.cc
|
2019-07-03 14:45:23 -07:00
|
|
|
libircd_la_SOURCES += vg.cc
|
2019-04-30 16:46:34 -07:00
|
|
|
libircd_la_SOURCES += exception.cc
|
|
|
|
libircd_la_SOURCES += util.cc
|
|
|
|
libircd_la_SOURCES += demangle.cc
|
|
|
|
libircd_la_SOURCES += locale.cc
|
2019-06-05 02:10:29 -07:00
|
|
|
libircd_la_SOURCES += lex_cast.cc
|
2019-06-05 02:09:42 -07:00
|
|
|
libircd_la_SOURCES += stringops.cc
|
2019-04-30 16:46:34 -07:00
|
|
|
libircd_la_SOURCES += tokens.cc
|
|
|
|
libircd_la_SOURCES += parse.cc
|
|
|
|
libircd_la_SOURCES += rand.cc
|
|
|
|
libircd_la_SOURCES += base.cc
|
|
|
|
libircd_la_SOURCES += crh.cc
|
|
|
|
libircd_la_SOURCES += fmt.cc
|
|
|
|
libircd_la_SOURCES += json.cc
|
|
|
|
libircd_la_SOURCES += conf.cc
|
|
|
|
libircd_la_SOURCES += logger.cc
|
|
|
|
libircd_la_SOURCES += magic.cc
|
|
|
|
libircd_la_SOURCES += sodium.cc
|
|
|
|
libircd_la_SOURCES += openssl.cc
|
|
|
|
libircd_la_SOURCES += rfc1459.cc
|
|
|
|
libircd_la_SOURCES += rfc3986.cc
|
|
|
|
libircd_la_SOURCES += rfc1035.cc
|
|
|
|
libircd_la_SOURCES += http.cc
|
2019-06-21 16:54:22 -07:00
|
|
|
libircd_la_SOURCES += http2.cc
|
2019-05-01 14:40:39 -07:00
|
|
|
libircd_la_SOURCES += stats.cc
|
|
|
|
libircd_la_SOURCES += prof.cc
|
|
|
|
libircd_la_SOURCES += fs.cc
|
2019-04-30 16:46:34 -07:00
|
|
|
libircd_la_SOURCES += ios.cc
|
|
|
|
libircd_la_SOURCES += ctx.cc
|
2019-05-01 14:40:39 -07:00
|
|
|
if AIO
|
|
|
|
libircd_la_SOURCES += fs_aio.cc
|
|
|
|
endif
|
2019-04-30 16:46:34 -07:00
|
|
|
libircd_la_SOURCES += mods.cc
|
2019-05-28 03:47:02 -07:00
|
|
|
if LINUX
|
2019-05-28 14:50:55 -07:00
|
|
|
libircd_la_SOURCES += mods_ldso.cc
|
2019-05-28 03:47:02 -07:00
|
|
|
endif
|
2019-06-11 13:32:41 -07:00
|
|
|
libircd_la_SOURCES += db_write_thread.cc
|
2019-04-30 16:46:34 -07:00
|
|
|
libircd_la_SOURCES += db_port.cc
|
|
|
|
libircd_la_SOURCES += db_env.cc
|
|
|
|
libircd_la_SOURCES += db.cc
|
|
|
|
libircd_la_SOURCES += net.cc
|
|
|
|
libircd_la_SOURCES += server.cc
|
|
|
|
libircd_la_SOURCES += client.cc
|
|
|
|
libircd_la_SOURCES += resource.cc
|
2016-11-29 07:23:38 -08:00
|
|
|
if JS
|
2019-04-30 16:46:34 -07:00
|
|
|
libircd_la_SOURCES += js.cc
|
2016-11-29 07:23:38 -08:00
|
|
|
endif
|
2019-04-30 16:46:34 -07:00
|
|
|
libircd_la_SOURCES += m_name.cc
|
|
|
|
libircd_la_SOURCES += m_id.cc
|
|
|
|
libircd_la_SOURCES += m_dbs.cc
|
|
|
|
libircd_la_SOURCES += m_room.cc
|
|
|
|
libircd_la_SOURCES += m_v1.cc
|
|
|
|
libircd_la_SOURCES += m.cc
|
2019-05-03 15:34:56 -07:00
|
|
|
libircd_la_SOURCES += m_event.cc
|
2019-04-30 16:46:34 -07:00
|
|
|
libircd_la_SOURCES += ircd.cc
|
2019-03-22 16:29:04 -07:00
|
|
|
|
2019-06-11 13:32:41 -07:00
|
|
|
db_write_thread.lo: AM_CPPFLAGS += -I$(top_srcdir)/deps/rocksdb/include
|
|
|
|
db_write_thread.lo: AM_CPPFLAGS += -I$(top_srcdir)/deps/rocksdb
|
|
|
|
|
2019-05-16 19:30:55 -07:00
|
|
|
# Units containing a spirit grammar have some special needs to mitigate
|
|
|
|
# larger-than-normal compile time, compile memory, and output objects.
|
|
|
|
# A composite of CXXFLAGS is used specifically on units with grammars.
|
|
|
|
GUNIT_CXXFLAGS = ###
|
|
|
|
|
|
|
|
# Grammar templates can generate a huge number of individual debug symbols
|
|
|
|
# for each template instantiation deep within spirit; we try to reduce...
|
|
|
|
GUNIT_CXXFLAGS += -fno-var-tracking
|
2019-06-23 01:29:43 -06:00
|
|
|
if GCC
|
2019-05-16 19:30:55 -07:00
|
|
|
GUNIT_CXXFLAGS += -fno-var-tracking-assignments
|
|
|
|
GUNIT_CXXFLAGS += -femit-struct-debug-baseonly
|
2019-06-23 01:29:43 -06:00
|
|
|
endif
|
2019-05-16 19:30:55 -07:00
|
|
|
|
2019-03-22 16:29:04 -07: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-22 17:46:21 -07:00
|
|
|
if LOWMEM_COMPILE
|
2019-05-16 19:30:55 -07:00
|
|
|
GUNIT_CXXFLAGS += --param ggc-min-expand=1
|
2019-03-22 17:46:21 -07:00
|
|
|
endif
|
2019-03-22 16:29:04 -07:00
|
|
|
endif
|
2019-04-20 15:41:11 -07:00
|
|
|
|
2019-05-06 10:43:33 -07:00
|
|
|
parse.lo: AM_CPPFLAGS := -include ircd/spirit.h ${AM_CPPFLAGS}
|
2019-05-16 19:30:55 -07:00
|
|
|
parse.lo: CXXFLAGS += ${GUNIT_CXXFLAGS}
|
2019-05-06 10:43:33 -07:00
|
|
|
|
2019-04-20 15:41:11 -07:00
|
|
|
json.lo: AM_CPPFLAGS := -include ircd/spirit.h ${AM_CPPFLAGS}
|
2019-05-16 19:30:55 -07:00
|
|
|
json.lo: CXXFLAGS += ${GUNIT_CXXFLAGS}
|
2019-04-20 15:41:11 -07:00
|
|
|
|
|
|
|
http.lo: AM_CPPFLAGS := -include ircd/spirit.h ${AM_CPPFLAGS}
|
2019-05-16 19:30:55 -07:00
|
|
|
http.lo: CXXFLAGS += ${GUNIT_CXXFLAGS}
|
2019-04-20 15:41:11 -07:00
|
|
|
|
|
|
|
fmt.lo: AM_CPPFLAGS := -include ircd/spirit.h ${AM_CPPFLAGS}
|
2019-05-16 19:30:55 -07:00
|
|
|
fmt.lo: CXXFLAGS += ${GUNIT_CXXFLAGS}
|
2019-04-20 15:41:11 -07:00
|
|
|
|
|
|
|
rfc3986.lo: AM_CPPFLAGS := -include ircd/spirit.h ${AM_CPPFLAGS}
|
2019-05-16 19:30:55 -07:00
|
|
|
rfc3986.lo: CXXFLAGS += ${GUNIT_CXXFLAGS}
|
2019-04-20 15:41:11 -07:00
|
|
|
|
|
|
|
rfc1459.lo: AM_CPPFLAGS := -include ircd/spirit.h ${AM_CPPFLAGS}
|
2019-05-16 19:30:55 -07:00
|
|
|
rfc1459.lo: CXXFLAGS += ${GUNIT_CXXFLAGS}
|
2019-04-20 15:41:11 -07:00
|
|
|
|
|
|
|
m_id.lo: AM_CPPFLAGS := -include ircd/spirit.h ${AM_CPPFLAGS}
|
2019-05-16 19:30:55 -07:00
|
|
|
m_id.lo: CXXFLAGS += ${GUNIT_CXXFLAGS}
|