diff --git a/charybdis/Makefile.am b/charybdis/Makefile.am index 7ce4cf621..747ab16db 100644 --- a/charybdis/Makefile.am +++ b/charybdis/Makefile.am @@ -10,24 +10,20 @@ AM_LDFLAGS = \ -dlopen self \ -Wl,-fuse-ld=gold \ -Wl,--no-gnu-unique \ - $(PLATFORM_LDFLAGS) \ - -Wl,--no-allow-shlib-undefined -# -Wl,--no-undefined - -AM_LDFLAGS += \ + -Wl,--no-allow-shlib-undefined \ + -Wl,--no-undefined \ + -Wl,-z -Wl,now \ -L$(top_srcdir)/ircd \ -L$(top_srcdir)/modules \ - @ROCKSDB_LDFLAGS@ \ - @JS_LDFLAGS@ \ - @BOOST_LDFLAGS@ - + $(PLATFORM_LDFLAGS) bin_PROGRAMS = charybdis -charybdis_SOURCES = \ - lgetopt.cc \ - console.cc \ - charybdis.cc +charybdis_LDFLAGS = \ + $(AM_LDFLAGS) \ + @ROCKSDB_LDFLAGS@ \ + @JS_LDFLAGS@ \ + @BOOST_LDFLAGS@ charybdis_LDADD = \ -lircd \ @@ -35,4 +31,10 @@ charybdis_LDADD = \ @JS_LIBS@ \ @BOOST_LIBS@ \ -lcrypto \ - -lssl + -lssl \ + -lz + +charybdis_SOURCES = \ + lgetopt.cc \ + console.cc \ + charybdis.cc diff --git a/ircd/Makefile.am b/ircd/Makefile.am index 30f3d352a..0280e7fc9 100644 --- a/ircd/Makefile.am +++ b/ircd/Makefile.am @@ -3,6 +3,7 @@ AUTOMAKE_OPTIONS = foreign libircddir = @libdir@ AM_CPPFLAGS = \ + -fmax-errors=2 \ -ffriend-injection \ -I$(top_srcdir)/include \ @ROCKSDB_CPPFLAGS@ \ @@ -20,12 +21,26 @@ AM_LDFLAGS = \ -Wl,--no-allow-shlib-undefined \ -Wl,--export-dynamic \ -Wl,--no-gnu-unique \ - -Wl,--no-allow-shlib-undefined \ + -Wl,-z -Wl,now \ $(PLATFORM_LDFLAGS) # -Wl,--no-undefined libircd_LTLIBRARIES = libircd.la +libircd_la_LDFLAGS = \ + $(AM_LDFLAGS) \ + @ROCKSDB_LDFLAGS@ \ + @JS_LDFLAGS@ \ + @BOOST_LDFLAGS@ + +libircd_la_LIBADD = \ + @ROCKSDB_LIBS@ \ + @JS_LIBS@ \ + @BOOST_LIBS@ \ + -lcrypto \ + -lssl \ + -lz + libircd_la_SOURCES = \ ircd.cc \ info.cc \ diff --git a/modules/Makefile.am b/modules/Makefile.am index f526d629c..28de69fc3 100644 --- a/modules/Makefile.am +++ b/modules/Makefile.am @@ -25,38 +25,58 @@ AM_LDFLAGS += \ # -export-symbols-regex IRCD_MODULE* # -export-symbols-regex * -# This puts the source in client/ but the installed -# library is client_X.so in the main modules dir. -client_moduledir=@moduledir@ -client_client_versions_la_SOURCES = client/versions.cc -client_client_account_la_SOURCES = client/account.cc -client_client_register_la_SOURCES = client/register.cc -client_client_login_la_SOURCES = client/login.cc -client_client_logout_la_SOURCES = client/logout.cc -client_client_sync_la_SOURCES = client/sync.cc -client_client_room_la_SOURCES = client/room.cc -client_client_publicrooms_la_SOURCES = client/publicrooms.cc -client_client_createroom_la_SOURCES = client/createroom.cc -client_client_pushrules_la_SOURCES = client/pushrules.cc -client_client_user_la_SOURCES = client/user.cc -client_client_voip_turnserver_la_SOURCES = client/voip/turnserver.cc -client_module_LTLIBRARIES = \ - client/client_versions.la \ - client/client_account.la \ - client/client_register.la \ - client/client_login.la \ - client/client_logout.la \ - client/client_sync.la \ - client/client_room.la \ - client/client_publicrooms.la \ - client/client_createroom.la \ - client/client_pushrules.la \ - client/client_user.la \ - client/client_voip_turnserver.la - moduledir=@moduledir@ matrix_la_SOURCES = matrix.cc root_la_SOURCES = root.cc module_LTLIBRARIES = \ matrix.la \ - root.la + root.la \ + ### + +# This puts the source in client/ but the installed +# library is client_X.so in the main modules dir. +client_moduledir = @moduledir@ +client_client_versions_la_SOURCES = client/versions.cc +client_client_events_la_SOURCES = client/events.cc +client_client_account_la_SOURCES = client/account.cc +client_client_register_la_SOURCES = client/register.cc +client_client_login_la_SOURCES = client/login.cc +client_client_logout_la_SOURCES = client/logout.cc +client_client_sync_la_SOURCES = client/sync.cc +client_client_rooms_la_SOURCES = client/rooms.cc +client_client_publicrooms_la_SOURCES = client/publicrooms.cc +client_client_createroom_la_SOURCES = client/createroom.cc +client_client_pushrules_la_SOURCES = client/pushrules.cc +client_client_user_la_SOURCES = client/user.cc +client_client_voip_turnserver_la_SOURCES = client/voip/turnserver.cc +client_module_LTLIBRARIES = \ + client/client_versions.la \ + client/client_events.la \ + client/client_account.la \ + client/client_register.la \ + client/client_login.la \ + client/client_logout.la \ + client/client_sync.la \ + client/client_rooms.la \ + client/client_publicrooms.la \ + client/client_createroom.la \ + client/client_pushrules.la \ + client/client_user.la \ + client/client_voip_turnserver.la \ + ### + +if JS +server_moduledir = @moduledir@ +server_server_console_la_SOURCES = server/console.cc +server_server_listener_la_SOURCES = server/listener.cc +server_module_LTLIBRARIES = \ + server/server_console.la \ + server/server_listener.la \ + ### +endif + +if JS +module_LTLIBRARIES += \ + kernel.la \ + ### +endif