## we generate it using `multigen'. Unfortunately, this needs to be done
## at the Automake level, which causes some interesting bootstrapping
## problems.
+##
+## Of course, now that we have this machinery for the complicated modes
+## generation, we might as well use it for simpler things.
include modes.am
+include stubs.am
EXTRA_DIST += modes.am.in modes.am
+EXTRA_DIST += stubs.am.in stubs.am
MAINTAINERCLEANFILES += $(srcdir)/modes.am
+MAINTAINERCLEANFILES += $(srcdir)/stubs.am
## Generate the lists.
$(srcdir)/modes.am: modes.am.in Makefile.am
hashmode="$(HASHMODES)" \
hashciphermode="$(HASHCIPHERMODES)" \
hashmacmode="$(HASHMACMODES)"
+$(srcdir)/stubs.am: stubs.am.in Makefile.am
+ $(AM_V_GEN)$(multigen) -g $(srcdir)/stubs.am.in $(srcdir)/stubs.am \
+ descr,hname,base="$(STUBS_HDR)" cname="$(STUBS_SRC)"
## Initialize lists of known classes.
ALL_CIPHERS = $(CIPHER_MODES)
ALL_HASHES = $(HASHES)
ALL_MACS = $(MAC_MODES)
+## Stub headers and sources.
+STUBS_HDR =
+STUBS_SRC =
+
###--------------------------------------------------------------------------
### Block ciphers.
libsymm_la_SOURCES += $(precomp)/safer-tab.c
PRECOMPS += $(precomp)/safer-tab.c
PRECOMP_PROGS += safer-mktab
+STUBS_HDR += SAFER-SK,safersk,safer
if !CROSS_COMPILING
$(precomp)/safer-tab.c:
$(AM_V_at)$(MKDIR_P) $(precomp)
## The National Security Agency's `SHA-2' suite.
HASHES += sha224 sha256
HASHES += sha384 sha512
+STUBS_HDR += SHA-224,sha224,sha256
+STUBS_HDR += SHA-384,sha384,sha512
## Anderson and Biham's `Tiger' hash function.
HASHES += tiger
libsymm_la_SOURCES += $(precomp)/whirlpool-tab.c
PRECOMPS += $(precomp)/whirlpool-tab.c
PRECOMP_PROGS += whirlpool-mktab
+STUBS_HDR += Whirlpool-256,whirlpool256,whirlpool
if !CROSS_COMPILING
$(precomp)/whirlpool-tab.c:
$(AM_V_at)$(MKDIR_P) $(precomp)
$(GENMODES_H): modes/gen-stamp
###--------------------------------------------------------------------------
+### Autogenerated stub headers.
+
+## The master stamp file.
+EXTRA_DIST += stub.h.in
+EXTRA_DIST += stubs.gen-stamp
+MAINTAINERCLEANFILES += stubs.gen-stamp
+stubs.gen-stamp: Makefile.am
+ $(AM_V_at)$(MKDIR_P) $(srcdir)/stubs
+ $(AM_V_GEN)$(multigen) -g $(srcdir)/stub.h.in \
+ $(srcdir)/@name.h descr,name,base="$(STUBS_HDR)"
+ $(AM_V_GEN)$(multigen) -g $(srcdir)/stub.c.in \
+ $(srcdir)/@name.c name="$(STUBS_SRC)"
+ $(AM_V_at)touch $(srcdir)/stubs.gen-stamp
+
+## Generated stub headers.
+BUILT_SOURCES += $(STUB_H) $(STUB_C)
+MAINTAINERCLEANFILES += $(STUB_H) $(STUB_C)
+pkginclude_HEADERS += $(STUB_H)
+$(STUB_H) $(STUB_C): stubs.gen-stamp
+
+###--------------------------------------------------------------------------
### Tables of classes for encryption, hashing, and message authentication.
## The skeleton for the class tables.