include $(top_srcdir)/config/automake/vars.am
include $(top_srcdir)/config/automake/scripts.am
+# build amglue *first*
+SUBDIRS = amglue .
+
# add the SWIG symbol to avoid conflicts with perl definitions.
# $AMANDA_WARNING_CFLAGS is omitted because SWIG-generated files tend
# to trigger warnings.
# (amplot has a conditional, but doesn't have any header files)
-##
-## libamglue -- helper functions for gluing amanda to perl
-##
-
-amlib_LTLIBRARIES = libamglue.la
-libamglue_la_SOURCES = \
- amglue/ghashtable.c \
- amglue/gerror.c \
- amglue/bigint.c \
- amglue/source.c \
- amglue/objwrap.c \
- amglue/xferwrap.c \
- amglue/amglue.h
-libamglue_la_LDFLAGS = $(PERL_EXT_LDFLAGS) -release $(VERSION)
-libamglue_la_LIBADD = \
- $(top_builddir)/xfer-src/libamxfer.la
-EXTRA_DIST += $(libamglue_la_SOURCES)
-
##
## HTML Generation
##
html: make_html amperl.css $(PM_FILES)
rm -rf html-tmp/ && mkdir html-tmp/
cp amperl.css html-tmp/
- $(PERL) make_html html-tmp/ $(PM_FILES)
+ $(PERL) make_html --homeurl "$(POD_HOME_URL)" html-tmp/ $(PM_FILES)
cd html-tmp/ && tar -zcf $(abs_builddir)/html.tar.gz .
rm -rf html-tmp/
##
# threading library
PERL_EXT_LDFLAGS += $(PERLEXTLIBS)
-# list our SWIG libraries.
+# list our SWIG libraries; these are %included from .swg files
AMGLUE_SWG = amglue/amglue.swg \
amglue/amglue.swg \
amglue/constants.swg \
libArchive_LTLIBRARIES = libArchive.la
libArchive_la_SOURCES = Amanda/Archive.c $(AMGLUE_SWG)
libArchive_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libArchive_la_LIBADD = libamglue.la \
+libArchive_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/amar-src/libamar.la \
$(top_builddir)/common-src/libamanda.la
Amanda_DATA += Amanda/Archive.pm
libDevice_LTLIBRARIES = libDevice.la
libDevice_la_SOURCES = Amanda/Device.c $(AMGLUE_SWG)
libDevice_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libDevice_la_LIBADD = libamglue.la \
+libDevice_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/device-src/libamdevice.la \
$(top_builddir)/common-src/libamanda.la
Amanda_DATA += Amanda/Device.pm
libLogfile_LTLIBRARIES = libLogfile.la
libLogfile_la_SOURCES = Amanda/Logfile.c $(AMGLUE_SWG)
libLogfile_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libLogfile_la_LIBADD = libamglue.la \
+libLogfile_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/server-src/libamserver.la \
$(top_builddir)/common-src/libamanda.la
Amanda_DATA += Amanda/Logfile.pm
libCmdline_LTLIBRARIES = libCmdline.la
libCmdline_la_SOURCES = Amanda/Cmdline.c $(AMGLUE_SWG)
libCmdline_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libCmdline_la_LIBADD = libamglue.la \
+libCmdline_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/server-src/libamserver.la \
$(top_builddir)/common-src/libamanda.la
Amanda_DATA += Amanda/Cmdline.pm
libTapelist_LTLIBRARIES = libTapelist.la
libTapelist_la_SOURCES = Amanda/Tapelist.c $(AMGLUE_SWG)
libTapelist_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libTapelist_la_LIBADD = libamglue.la \
+libTapelist_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/server-src/libamserver.la \
$(top_builddir)/common-src/libamanda.la
Amanda_DATA += Amanda/Tapelist.pm
libDisklist_LTLIBRARIES = libDisklist.la
libDisklist_la_SOURCES = Amanda/Disklist.c $(AMGLUE_SWG)
libDisklist_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libDisklist_la_LIBADD = libamglue.la \
+libDisklist_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/server-src/libamserver.la \
$(top_builddir)/common-src/libamanda.la
Amanda_DATA += Amanda/Disklist.pm
libFeature_LTLIBRARIES = libFeature.la
libFeature_la_SOURCES = Amanda/Feature.c $(AMGLUE_SWG)
libFeature_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libFeature_la_LIBADD = libamglue.la \
+libFeature_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/common-src/libamanda.la
Amanda_DATA += Amanda/Feature.pm
MAINTAINERCLEANFILES += Amanda/Feature.c Amanda/Feature.pm
EXTRA_DIST += Amanda/Feature.swg Amanda/Feature.pm Amanda/Feature.pod
if WANT_SERVER
-# PACKAGE: Amanda::Interactive
-Amanda_DATA += Amanda/Interactive.pm
+# PACKAGE: Amanda::ScanInventory
+Amanda_DATA += Amanda/ScanInventory.pm
endif
-EXTRA_DIST += Amanda/Interactive.pm
+EXTRA_DIST += Amanda/ScanInventory.pm
+
+if WANT_SERVER
+# PACKAGE: Amanda::Interactivity
+Amanda_DATA += Amanda/Interactivity.pm
+endif
+EXTRA_DIST += Amanda/Interactivity.pm
# PACKAGE: Amanda::ClientService
Amanda_DATA += Amanda/ClientService.pm
EXTRA_DIST += Amanda/ClientService.pm
if WANT_SERVER
-# PACKAGE: Amanda::Interactive::*
-AmandaInteractivedir = $(amperldir)/Amanda/Interactive
-AmandaInteractive_DATA = \
- Amanda/Interactive/stdin.pm
+# PACKAGE: Amanda::Interactivity::*
+AmandaInteractivitydir = $(amperldir)/Amanda/Interactivity
+AmandaInteractivity_DATA = \
+ Amanda/Interactivity/email.pm \
+ Amanda/Interactivity/stdin.pm \
+ Amanda/Interactivity/tty.pm \
+ Amanda/Interactivity/tty_email.pm
endif
-EXTRA_DIST += $(AmandaInteractive_DATA)
+PM_FILES += $(AmandaInteractivity_DATA)
+EXTRA_DIST += $(AmandaInteractivity_DATA)
if WANT_SERVER
# PACKAGE: Amanda::Changer
# PACKAGE: Amanda::Changer::*
AmandaChangerdir = $(amperldir)/Amanda/Changer
AmandaChanger_DATA = \
+ Amanda/Changer/aggregate.pm \
Amanda/Changer/compat.pm \
Amanda/Changer/disk.pm \
Amanda/Changer/multi.pm \
# PACKAGE: Amanda::Taper::*
AmandaTaperdir = $(amperldir)/Amanda/Taper
AmandaTaper_DATA = \
+ Amanda/Taper/Controller.pm \
+ Amanda/Taper/Protocol.pm \
Amanda/Taper/Scan.pm \
- Amanda/Taper/Scribe.pm
+ Amanda/Taper/Scribe.pm \
+ Amanda/Taper/Worker.pm
PM_FILES += $(AmandaTaper_DATA)
endif
EXTRA_DIST += $(AmandaTaper_DATA)
# PACKAGE: Amanda::Taper::Scan::*
AmandaTaperScandir = $(amperldir)/Amanda/Taper/Scan
AmandaTaperScan_DATA = \
+ Amanda/Taper/Scan/lexical.pm \
+ Amanda/Taper/Scan/oldest.pm \
Amanda/Taper/Scan/traditional.pm
PM_FILES += $(AmandaTaperScan_DATA)
endif
libXfer_LTLIBRARIES = libXfer.la
libXfer_la_SOURCES = Amanda/Xfer.c $(AMGLUE_SWG)
libXfer_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libXfer_la_LIBADD = libamglue.la \
+libXfer_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/xfer-src/libamxfer.la
Amanda_DATA += Amanda/Xfer.pm
MAINTAINERCLEANFILES += Amanda/Xfer.c Amanda/Xfer.pm
libNDMP_LTLIBRARIES = libNDMP.la
libNDMP_la_SOURCES = Amanda/NDMP.c $(AMGLUE_SWG)
libNDMP_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libNDMP_la_LIBADD = libamglue.la \
+libNDMP_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/common-src/libamanda.la \
$(top_builddir)/ndmp-src/libndmlib.la
Amanda_DATA += Amanda/NDMP.pm
libXferServer_LTLIBRARIES = libXferServer.la
libXferServer_la_SOURCES = Amanda/XferServer.c $(AMGLUE_SWG)
libXferServer_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libXferServer_la_LIBADD = libamglue.la \
+libXferServer_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/server-src/libamserver.la
Amanda_DATA += Amanda/XferServer.pm
MAINTAINERCLEANFILES += Amanda/XferServer.c Amanda/XferServer.pm
libDebug_LTLIBRARIES = libDebug.la
libDebug_la_SOURCES = Amanda/Debug.c $(AMGLUE_SWG)
libDebug_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libDebug_la_LIBADD = libamglue.la \
+libDebug_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/common-src/libamanda.la
Amanda_DATA += Amanda/Debug.pm
EXTRA_DIST += Amanda/Debug.swg Amanda/Debug.pm Amanda/Debug.pod
libConfig_LTLIBRARIES = libConfig.la
libConfig_la_SOURCES = Amanda/Config.c $(AMGLUE_SWG)
libConfig_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libConfig_la_LIBADD = libamglue.la \
+libConfig_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/common-src/libamanda.la
Amanda_DATA += Amanda/Config.pm
EXTRA_DIST += Amanda/Config.swg Amanda/Config.pm Amanda/Config.pod
MAINTAINERCLEANFILES += Amanda/Config.c Amanda/Config.pm
+# PACKAGE: Amanda::Config::*
+AmandaConfigdir = $(amperldir)/Amanda/Config
+AmandaConfig_DATA = Amanda/Config/FoldingHash.pm
+EXTRA_DIST += $(AmandaConfig_DATA)
+
# PACKAGE: Amanda::Util
libUtildir = $(amperldir)/auto/Amanda/Util
libUtil_LTLIBRARIES = libUtil.la
libUtil_la_SOURCES = Amanda/Util.c $(AMGLUE_SWG)
libUtil_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libUtil_la_LIBADD = libamglue.la \
+libUtil_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/common-src/libamanda.la
Amanda_DATA += Amanda/Util.pm
EXTRA_DIST += Amanda/Util.swg Amanda/Util.pm Amanda/Util.pod
libHeader_LTLIBRARIES = libHeader.la
libHeader_la_SOURCES = Amanda/Header.c $(AMGLUE_SWG)
libHeader_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libHeader_la_LIBADD = libamglue.la \
+libHeader_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/common-src/libamanda.la
Amanda_DATA += Amanda/Header.pm
EXTRA_DIST += Amanda/Header.swg Amanda/Header.pm Amanda/Header.pod
libTests_LTLIBRARIES = libTests.la
libTests_la_SOURCES = Amanda/Tests.c $(AMGLUE_SWG)
libTests_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libTests_la_LIBADD = libamglue.la \
+libTests_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/common-src/libamanda.la
Amanda_DATA += Amanda/Tests.pm
EXTRA_DIST += Amanda/Tests.swg Amanda/Tests.pm Amanda/Tests.pod
libMainLoop_LTLIBRARIES = libMainLoop.la
libMainLoop_la_SOURCES = Amanda/MainLoop.c $(AMGLUE_SWG)
libMainLoop_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libMainLoop_la_LIBADD = libamglue.la \
+libMainLoop_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/common-src/libamanda.la
Amanda_DATA += Amanda/MainLoop.pm
EXTRA_DIST += Amanda/MainLoop.swg Amanda/MainLoop.pm Amanda/MainLoop.pod
libIPCBinary_LTLIBRARIES = libBinary.la
libBinary_la_SOURCES = Amanda/IPC/Binary.c $(AMGLUE_SWG)
libBinary_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libBinary_la_LIBADD = libamglue.la \
+libBinary_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/common-src/libamanda.la
AmandaIPC_DATA += Amanda/IPC/Binary.pm
EXTRA_DIST += Amanda/IPC/Binary.swg Amanda/IPC/Binary.pm Amanda/IPC/Binary.pod
libApplication_LTLIBRARIES = libApplication.la
libApplication_la_SOURCES = Amanda/Application.c $(AMGLUE_SWG)
libApplication_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
-libApplication_la_LIBADD = libamglue.la \
+libApplication_la_LIBADD = amglue/libamglue.la \
$(top_builddir)/client-src/libamclient.la
Amanda_DATA += Amanda/Application.pm
MAINTAINERCLEANFILES += Amanda/Application.c Amanda/Application.pm
done
endif
-check-local: syntax-check thread-check
-
-syntax-check:
+# only syntax-check the .pm files if SYNTAX_CHECKS are enabled
+check-pm:
@MODULES_TO_CHECK="$(PM_FILES)"; \
if test -f $(top_builddir)/perl/.libs/libConfig.so -o -f $(top_builddir)/perl/libConfig.so; then \
- if test -n "$(PERL)"; then \
- for perlobj in $$MODULES_TO_CHECK; do \
- if test -f $$perlobj; then \
- $(PERL) $(CHECK_PERL_FLAGS) -I$(top_builddir)/perl -I$(top_builddir)/perl/.libs -I$(top_srcdir)/perl -c -T $$perlobj || exit 1; \
- else \
- $(PERL) $(CHECK_PERL_FLAGS) -I$(top_builddir)/perl -I$(top_builddir)/perl/.libs -I$(top_srcdir)/perl -c -T $(top_srcdir)/perl/$$perlobj || exit 1; \
- fi \
- done; \
+ for perlobj in $$MODULES_TO_CHECK; do \
+ if test -f $$perlobj; then \
+ $(PERL) $(CHECK_PERL_FLAGS) -I$(top_builddir)/perl -I$(top_builddir)/perl/.libs -I$(top_srcdir)/perl -c -T $$perlobj || exit 1; \
+ else \
+ $(PERL) $(CHECK_PERL_FLAGS) -I$(top_builddir)/perl -I$(top_builddir)/perl/.libs -I$(top_srcdir)/perl -c -T $(top_srcdir)/perl/$$perlobj || exit 1; \
fi \
+ done; \
fi
+if SYNTAX_CHECKS
+check-local: check-pm
+endif
+
+if WANT_MANDATORY_THREAD_CHECK
+install-data-local: thread-check
+else
+installcheck-local: thread-check
+endif
if WANT_SERVER
thread-check: libTests.la
$(PERL) -I$(builddir) -I$(builddir)/.libs -I$(srcdir) \
-MAmanda::Tests -e 'alarm(10); Amanda::Tests::try_threads' \
- || echo "Perl cannot run extensions which use threads; consider linking perl" \
- "with -pthreads or compiling perl with threading enabled"
+ || { echo "Perl cannot run extensions which use threads; consider linking perl" \
+ "with -pthread or compiling perl with threading enabled"; false; }
else
thread-check:
@echo "skipping thread check: server component not being built"