0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-05-21 04:13:47 +02:00

Build system cleanup.

This commit is contained in:
Jason Volk 2016-07-20 11:55:46 -07:00
parent c9bef62db8
commit 404239eb60
16 changed files with 1107 additions and 919 deletions

View file

@ -2,11 +2,11 @@ AUTOMAKE_OPTIONS = foreign
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = include/rb
if BUILD_LTDL
SUBDIRS += libltdl
endif
SUBDIRS += rb
SUBDIRS += ircd
if BUILD_LTDL
SUBDIRS += libltdl
endif
SUBDIRS += charybdis
SUBDIRS += authd
SUBDIRS += bandb

View file

@ -1,9 +1,17 @@
AM_CPPFLAGS = \
-I$(top_srcdir)/include \
@BOOST_CPPFLAGS@
AM_LDFLAGS = \
-L$(top_srcdir)/rb \
@BOOST_LDFLAGS@
bin_PROGRAMS = authd
AM_CPPFLAGS = $(WARNFLAGS)
AM_CPPFLAGS += -I$(top_srcdir)/include
AM_CPPFLAGS += -isystem $(top_srcdir)/boost/include
AM_LDFLAGS = -L$(top_srcdir)/boost/lib
authd_LDADD = \
$(top_srcdir)/rb/librb.la \
@BOOST_LIBS@
authd_SOURCES = \
authd.cc \
@ -20,8 +28,6 @@ authd_SOURCES = \
providers/rdns.cc \
providers/opm.cc
authd_LDADD = $(top_srcdir)/rb/librb.la
authd_LDADD += -lboost_system
mrproper-local:
rm -rf providers/.deps

View file

@ -86,6 +86,9 @@ run_or_die $AUTOCONF
run_or_die $AUTOMAKE --add-missing --copy
#run_or_die $SHTOOLIZE all
WCL_CONFIGURE=`wc -l ./configure`
echo -e "\033[1;30m*\033[0m $WCL_CONFIGURE"
echo
echo -e "\033[1;32m*\033[0m Ready to configure Charybdis."
echo -e "\033[1;5;33m*\033[0m Now run ./configure"

View file

@ -1,21 +1,54 @@
bin_PROGRAMS = bandb bantool
AM_CFLAGS = \
@SQLITE_CFLAGS@
AM_CPPFLAGS = $(WARNFLAGS)
AM_CPPFLAGS += -I$(top_srcdir)/include
AM_CPPFLAGS += -isystem $(top_srcdir)/boost/include
AM_CPPFLAGS += @SQLITE_INCLUDES@
AM_CPPFLAGS += -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION
AM_CPPFLAGS = \
-DSQLITE_THREADSAFE=0 \
-DSQLITE_OMIT_LOAD_EXTENSION \
-I$(top_srcdir)/include \
@BOOST_CPPFLAGS@
AM_LDFLAGS = -L$(top_srcdir)/rb
AM_LDFLAGS += -L$(top_srcdir)/ircd
AM_LDFLAGS += -L$(top_srcdir)/boost/lib
AM_LDFLAGS = \
-L$(top_srcdir)/rb \
@BOOST_LDFLAGS@
bandb_SOURCES = bandb.cc rsdb_sqlite3.c rsdb_snprintf.c
EXTRA_bandb_SOURCES = sqlite3.c
bandb_LDADD = -lrb @SQLITE_LD@ @SQLITE_OBJ@ -lboost_system
bandb_DEPENDENCIES = @SQLITE_OBJ@
bantool_SOURCES = bantool.cc rsdb_sqlite3.c rsdb_snprintf.c
EXTRA_bantool_SOURCES = sqlite3.c
bantool_LDADD = -lrb @SQLITE_LD@ @SQLITE_OBJ@ -lboost_system
bantool_DEPENDENCIES = @SQLITE_OBJ@
bin_PROGRAMS = bandb
bandb_DEPENDENCIES = \
@SQLITE_OBJ@
bandb_LDADD = \
-lrb \
@SQLITE_LDFLAGS@ \
@SQLITE_OBJ@ \
@SQLITE_LIBS@ \
@BOOST_LIBS@
EXTRA_bandb_SOURCES = \
sqlite3.c
bandb_SOURCES = \
bandb.cc \
rsdb_sqlite3.c \
rsdb_snprintf.c
bin_PROGRAMS += bantool
bantool_DEPENDENCIES = \
@SQLITE_OBJ@
bantool_LDADD = \
-lrb \
@SQLITE_LDFLAGS@ \
@SQLITE_LIBS@ \
@SQLITE_OBJ@ \
@BOOST_LIBS@
EXTRA_bantool_SOURCES = \
sqlite3.c
bantool_SOURCES = \
bantool.cc \
rsdb_sqlite3.c \
rsdb_snprintf.c

View file

@ -1,19 +1,26 @@
prefix = @prefix@
AM_CPPFLAGS = @LTDLINCL@
AM_CPPFLAGS += -I$(top_srcdir)/include
AM_CPPFLAGS += -isystem $(top_srcdir)/boost/include
if MINGW
EXTRA_FLAGS = -Wl,--enable-runtime-pseudo-reloc -export-symbols-regex '*'
endif
AM_CPPFLAGS = \
-I$(top_srcdir)/include \
@LTDLINCL@ \
@BOOST_CPPFLAGS@
AM_LDFLAGS = \
-dlopen self
AM_LDFLAGS += \
-L$(top_srcdir)/ircd \
-L$(top_srcdir)/rb \
@BOOST_LDFLAGS@
bin_PROGRAMS = charybdis
charybdis_SOURCES = charybdis.cc
charybdis_LDFLAGS = $(EXTRA_FLAGS)
charybdis_LDFLAGS += -dlopen self
charybdis_LDFLAGS += -L$(top_srcdir)/ircd
charybdis_LDFLAGS += -L$(top_srcdir)/rb
charybdis_LDFLAGS += -L$(top_srcdir)/boost/lib
charybdis_SOURCES = \
charybdis.cc
charybdis_LDADD = -lircd -lrb -lboost_system
charybdis_LDADD = \
-lircd \
-lrb \
@LIBLTDL@ \
@BOOST_LIBS@

File diff suppressed because it is too large Load diff

View file

@ -1,14 +1,30 @@
AM_CPPFLAGS = -I$(top_srcdir)/include $(LTDLINCL)
AM_CPPFLAGS += -isystem $(top_srcdir)/boost/include
AM_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined -shared
AM_LDFLAGS += -export-symbols-regex _mheader
AM_LDFLAGS += -L$(top_srcdir)/boost/lib -lboost_system
AM_LDFLAGS += -L$(top_srcdir)/ircd -lircd
AM_LDFLAGS += -L$(top_srcdir)/rb -lrb
extensiondir=@moduledir@/extensions
AM_CPPFLAGS = \
-I$(top_srcdir)/include \
$(LTDLINCL) \
@BOOST_CPPFLAGS@
AM_LDFLAGS = \
-L$(top_srcdir)/ircd \
-L$(top_srcdir)/rb \
@BOOST_LDFLAGS@
AM_LDFLAGS += \
-module \
-export-dynamic \
-avoid-version \
-no-undefined \
-shared \
-export-symbols-regex _mheader
AM_LDFLAGS += \
-lircd \
-lrb \
@LIBLTDL@ \
@BOOST_LIBS@
chm_adminonly_la_SOURCES = chm_adminonly.cc
chm_operonly_la_SOURCES = chm_operonly.cc
chm_operonly_compat_la_SOURCES = chm_operonly_compat.cc

View file

@ -1,12 +1,12 @@
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -isystem $(top_srcdir)/boost/include
AM_LDFLAGS = -L$(top_srcdir)/boost/lib
AM_CPPFLAGS = @BOOST_CPPFLAGS@
AM_LDFLAGS = @BOOST_LDFLAGS@
BUILT_SOURCES = rb.h.gch
rb.h.gch:
$(CXX) -o rb.h.gch $(CPPFLAGS) rb.h
$(CXX) $(CXXFLAGS) -o rb.h.gch $(DEFS) $(CPPFLAGS) rb.h
clean-local:
rm -f rb.h.gch

View file

@ -1,23 +1,39 @@
AUTOMAKE_OPTIONS = foreign
libircddir = @libdir@
AM_CPPFLAGS = @LTDLINCL@
AM_CPPFLAGS += -I$(top_srcdir)/include
AM_CPPFLAGS += -isystem $(top_srcdir)/boost/include
AM_LDFLAGS = -export-dynamic -avoid-version -no-undefined
AM_LDFLAGS += -L$(top_srcdir)/rb
AM_LDFLAGS += -L$(top_srcdir)/boost/lib
AM_YFLAGS = -d # --language=c++
AM_LFLAGS = # --c++
AM_CPPFLAGS = \
-I$(top_srcdir)/include \
@LTDLINCL@ \
@BOOST_CPPFLAGS@
if MINGW
EXTRA_FLAGS = -Wl,--enable-runtime-pseudo-reloc -export-symbols-regex '*'
PLATFORM_LDFLAGS = -Wl,--enable-runtime-pseudo-reloc -export-symbols-regex '*'
endif
AM_LDFLAGS = \
-export-dynamic \
-avoid-version \
-no-undefined \
$(PLATFORM_LDFLAGS)
AM_LDFLAGS += \
-L$(top_srcdir)/rb \
@BOOST_LDFLAGS@
BUILT_SOURCES = ircd_parser.h
libircd_LTLIBRARIES = libircd.la
libircd_la_LIBADD = \
-lrb \
@LIBLTDL@ \
@BOOST_LIBS@
libircd_la_SOURCES = \
authproc.cc \
bandbi.cc \
@ -65,10 +81,7 @@ libircd_la_SOURCES = \
version.cc \
whowas.cc \
wsproc.cc
libircd_la_LDFLAGS = $(EXTRA_FLAGS) -avoid-version -no-undefined
libircd_la_LIBADD = @LIBLTDL@
libircd_LTLIBRARIES = libircd.la
install-data-local:
test -d $(prefix)/@logdir@ || mkdir -p $(prefix)/@logdir@

View file

@ -56,3 +56,81 @@ int main(void);
AC_MSG_RESULT(no, not using GCC)
fi
])
AC_DEFUN([RB_CHECK_TIMER_CREATE],[AC_CACHE_CHECK([for a working timer_create(CLOCK_REALTIME)],
[rb__cv_timer_create_works], [AC_TRY_RUN([
#ifdef HAVE_TIME_H
#include <time.h>
#endif
#ifdef HAVE_SIGNAL_H
#include <signal.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
int main(int argc, char *argv[])
{
#if HAVE_TIMER_CREATE
struct sigevent ev;
timer_t timer;
ev.sigev_notify = SIGEV_SIGNAL;
ev.sigev_signo = SIGVTALRM;
if (timer_create(CLOCK_REALTIME, &ev, &timer) != 0) {
return 1;
}
#else
return 1;
#endif
return 0;
}
],
[rb__cv_timer_create_works=yes],
[rb__cv_timer_create_works=no],
[rb__cv_timer_create_works=no])
])
case $rb__cv_timer_create_works in
yes) AC_DEFINE([USE_TIMER_CREATE], 1,
[Define to 1 if we can use timer_create(CLOCK_REALTIME,...)]);;
esac
])
AC_DEFUN([RB_CHECK_TIMERFD_CREATE], [AC_CACHE_CHECK([for a working timerfd_create(CLOCK_REALTIME)],
[rb__cv_timerfd_create_works], [AC_TRY_RUN([
#ifdef HAVE_TIME_H
#include <time.h>
#endif
#ifdef HAVE_SIGNAL_H
#include <signal.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_SYS_TIMERFD_H
#include <sys/timerfd.h>
#endif
int main(int argc, char *argv[])
{
#if defined(HAVE_TIMERFD_CREATE) && defined(HAVE_SYS_TIMERFD_H)
if (timerfd_create(CLOCK_REALTIME, 0) < 0) {
return 1;
}
#else
return 1;
#endif
return 0;
}
],
[rb__cv_timerfd_create_works=yes],
[rb__cv_timerfd_create_works=no],
[rb__cv_timerfd_create_works=no])
])
case $rb__cv_timerfd_create_works in
yes) AC_DEFINE([USE_TIMERFD_CREATE], 1,
[Define to 1 if we can use timerfd_create(CLOCK_REALTIME,...)]);;
esac
])

View file

@ -1,16 +1,31 @@
AUTOMAKE_OPTIONS = subdir-objects
AM_CPPFLAGS = $(LTDLINCL)
AM_CPPFLAGS += -I$(top_srcdir)/include
AM_CPPFLAGS += -isystem $(top_srcdir)/boost/include
AM_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined -shared
AM_LDFLAGS += -export-symbols-regex _mheader
AM_LDFLAGS += -L$(top_srcdir)/boost/lib -lboost_system
AM_LDFLAGS += -L$(top_srcdir)/ircd -lircd
AM_LDFLAGS += -L$(top_srcdir)/rb -lrb
auto_load_moddir=@moduledir@/autoload
AM_CPPFLAGS = \
-I$(top_srcdir)/include \
$(LTDLINCL) \
@BOOST_CPPFLAGS@
AM_LDFLAGS = \
-L$(top_srcdir)/ircd \
-L$(top_srcdir)/rb \
@BOOST_LDFLAGS@
AM_LDFLAGS += \
-module \
-export-dynamic \
-avoid-version \
-no-undefined \
-shared \
-export-symbols-regex _mheader
AM_LDFLAGS += \
-lircd \
-lrb \
@LIBLTDL@ \
@BOOST_LIBS@
cap_account_tag_la_SOURCES = cap_account_tag.cc
cap_server_time_la_SOURCES = cap_server_time.cc
chm_nocolour_la_SOURCES = chm_nocolour.cc
@ -168,7 +183,6 @@ core_m_quit_la_SOURCES = core/m_quit.cc
core_m_server_la_SOURCES = core/m_server.cc
core_m_squit_la_SOURCES = core/m_squit.cc
module_LTLIBRARIES = \
core/m_ban.la \
core/m_die.la \

View file

@ -2,15 +2,41 @@ AUTOMAKE_OPTIONS = foreign
pkgconfigdir = $(libdir)/pkgconfig
#pkgconfig_DATA = librb.pc
librbdir = @libdir@
AM_CPPFLAGS = @SSL_CFLAGS@ @GNUTLS_CFLAGS@ @MBEDTLS_CFLAGS@
AM_CPPFLAGS += -isystem $(top_srcdir)/boost/include
AM_CPPFLAGS += -I$(top_srcdir)/include
# This is temp since all remaining C is circling the drain.
AM_CFLAGS = -std=gnu99
AM_CPPFLAGS = \
-I$(top_srcdir)/include \
@SSL_CFLAGS@ \
@GNUTLS_CFLAGS@ \
@MBEDTLS_CFLAGS@ \
@BOOST_CPPFLAGS@
if MINGW
PLATFORM_LDFLAGS = -Wl,--enable-runtime-pseudo-reloc
endif
AM_LDFLAGS = \
-avoid-version \
-no-undefined \
-export-symbols export-syms.txt \
$(PLATFORM_LDFLAGS)
AM_LDFLAGS += \
-L$(top_srcdir)/rb \
@BOOST_LDFLAGS@
lib_LTLIBRARIES = librb.la
librb_la_LIBADD = \
@SSL_LIBS@ \
@GNUTLS_LIBS@ \
@MBEDTLS_LIBS@ \
@BOOST_LIBS@
librb_la_SOURCES = \
unix.c \
win32.c \
@ -40,10 +66,3 @@ librb_la_SOURCES = \
version.c \
terminate.cc \
rb.cc
librb_la_LDFLAGS = @SSL_LIBS@ @GNUTLS_LIBS@ @MBEDTLS_LIBS@ -avoid-version -no-undefined -export-symbols export-syms.txt
librb_la_LDFLAGS += -L$(top_srcdir)/boost/lib
librb_la_LIBADD = @SSL_LIBS@ @GNUTLS_LIBS@ @MBEDTLS_LIBS@
librb_la_LIBADD += -lboost_system
lib_LTLIBRARIES = librb.la

View file

@ -1,12 +1,18 @@
AM_CPPFLAGS = \
-I$(top_srcdir)/include \
@BOOST_CPPFLAGS@
AM_LDFLAGS = \
-L$(top_srcdir)/rb \
@BOOST_LDFLAGS@
bin_PROGRAMS = ssld
AM_CPPFLAGS = $(WARNFLAGS)
AM_CPPFLAGS += -I$(top_srcdir)/include
AM_CPPFLAGS += -I$(top_srcdir)/boost/include
ssld_LDADD = \
-lrb \
@ZLIB_LD@ \
@BOOST_LIBS@
AM_LDFLAGS = -L$(top_srcdir)/ircd
AM_LDFLAGS += -L$(top_srcdir)/rb
AM_LDFLAGS += -L$(top_srcdir)/boost/lib
ssld_SOURCES = ssld.cc
ssld_LDADD = -lrb -lboost_system @ZLIB_LD@
ssld_SOURCES = \
ssld.cc

View file

@ -1,18 +1,32 @@
AM_CPPFLAGS = $(WARNFLAGS)
AM_CPPFLAGS += @LTDLINCL@
AM_CPPFLAGS += -I$(top_srcdir)/include
AM_CPPFLAGS += -isystem $(top_srcdir)/boost/include
AM_CPPFLAGS = \
-I$(top_srcdir)/include \
@LTDLINCL@ \
@BOOST_CPPFLAGS@
AM_LDFLAGS = -L$(top_srcdir)/rb
AM_LDFLAGS += -L$(top_srcdir)/boost/lib
AM_LDFLAGS = \
@BOOST_LDFLAGS@ \
-L$(top_srcdir)/rb
bin_PROGRAMS = charybdis-mkpasswd charybdis-mkfingerprint
charybdis_mkpasswd_SOURCES = mkpasswd.cc
charybdis_mkpasswd_LDADD = -lrb -lboost_system
bin_PROGRAMS = charybdis-mkpasswd
charybdis_mkpasswd_LDADD = \
-lrb \
@BOOST_LIBS@
charybdis_mkpasswd_SOURCES = \
mkpasswd.cc
bin_PROGRAMS += charybdis-mkfingerprint
charybdis_mkfingerprint_LDADD = \
-lrb \
@BOOST_LIBS@
charybdis_mkfingerprint_SOURCES = \
mkfingerprint.cc
charybdis_mkfingerprint_SOURCES = mkfingerprint.cc
charybdis_mkfingerprint_LDADD = -lrb -lboost_system
mrproper-local:
rm -f genssl

View file

@ -1,11 +1,11 @@
#!/bin/bash
TOPDIR=$1 # This should be an absolute path to the repo root
BTOOLSET=$1 # The platform toolchain name (gcc, clang, mingw, ...)
BLIBS=$2 # A comma-separated list of which boost libs to build
BTOOLSET=$3 # The platform toolchain name (gcc, clang, mingw, ...)
BVARIANT=$4 # release optimization or debug symbols etc
BLINK=$5 # whether to build with shared or static linkage (we like shared)
BTHREADING=$6 # whether to build with thread-safety (we benefit from SINGLE THREADED)
BVARIANT=$3 # release optimization or debug symbols etc
BLINK=$4 # whether to build with shared or static linkage (we like shared)
BTHREADING=$5 # whether to build with thread-safety (we benefit from SINGLE THREADED)
TOPDIR=$6 # This should be an absolute path to the repo root
if [ -z $TOPDIR ]; then
@ -127,7 +127,7 @@ run git submodule update --init --recursive libs/date_time
run git submodule update --init --recursive libs/smart_ptr
run git submodule update --init --recursive libs/bind
run ./bootstrap.sh --prefix=`pwd` --with-libraries=$BLIBS $BSFLAGS
run ./bootstrap.sh --prefix=$PWD --libdir=$PWD/lib --with-libraries=$BLIBS $BSFLAGS
run ./b2 threading=$BTHREADING variant=$BVARIANT link=$BLINK address-model=64
### Install should go right into this local submodule repository

View file

@ -1,11 +1,18 @@
AM_CPPFLAGS = \
-I$(top_srcdir)/include \
@BOOST_CPPFLAGS@
AM_LDFLAGS = \
-L$(top_srcdir)/rb \
@BOOST_LDFLAGS@
bin_PROGRAMS = wsockd
AM_CPPFLAGS = $(WARNFLAGS)
AM_CPPFLAGS += -isystem $(top_srcdir)/boost/include
AM_CPPFLAGS += -I$(top_srcdir)/include
wsockd_LDADD = \
-lrb \
@BOOST_LIBS@
AM_LDFLAGS = -L$(top_srcdir)/rb
AM_LDFLAGS += -L$(top_srcdir)/boost/lib
wsockd_SOURCES = wsockd.cc sha1.c
wsockd_LDADD = -lrb -lboost_system
wsockd_SOURCES = \
wsockd.cc \
sha1.c