X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/8282072df0158ef38743dcff9730a3223efb47a2..f0c52873e4c1e3a16bb2d5a086df2526f698e4ac:/Makefile.m4 diff --git a/Makefile.m4 b/Makefile.m4 index fb2591d..6312e98 100644 --- a/Makefile.m4 +++ b/Makefile.m4 @@ -15,12 +15,12 @@ ## it under the terms of the GNU Library General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. -## +## ## Catacomb is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU Library General Public License for more details. -## +## ## You should have received a copy of the GNU Library General Public ## License along with Catacomb; if not, write to the Free ## Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, @@ -89,7 +89,9 @@ _(square) _(rijndael) _(whirlpool) dnl _(safer) _(mars) _(tiger) dnl _(gfshare) _(gfx-sqr)') -autoheaders: addsuffix(`gen_tables', `-tab.h') primetab.h mptypes.h +autoheaders: \ + addsuffix(`gen_tables', `-tab.h') \ + primetab.h wheel.h mptypes.h mplimits.h define(`emit', ` _item`'-tab.h: _item`'-mktab$(EXEEXT) ./_item`'-mktab >_item`'-tab.h.new @@ -101,11 +103,25 @@ primetab.c: genprimes$(EXEEXT) ./genprimes -h primetab.h -c primetab.c \ -s CATACOMB_PRIMETAB_H -n 256 \ -t "unsigned short" -i primetab -archinclude_HEADERS = mptypes.h + +wheel.h: wheel.c +wheel.c: genwheel$(EXEEXT) + ./genwheel -h wheel.h -c wheel.c \ + -s CATACOMB_WHEEL_H -n 5 \ + -t "unsigned char" -i wheel + +archinclude_HEADERS = mptypes.h mplimits.h mptypes.h: mptypes$(EXEEXT) ./mptypes >mptypes.h.new mv mptypes.h.new mptypes.h +mplimits.h: genlimits$(EXEEXT) + ./genlimits h >mplimits.h.new + mv mplimits.h.new mplimits.h +mplimits.c: genlimits$(EXEEXT) + ./genlimits c >mplimits.c.new + mv mplimits.c.new mplimits.c + ectab.c: ectab.in ec-gentab.awk mpdump$(EXEEXT) $(srcdir)/ec-gentab.awk <$(srcdir)/ectab.in >ectab.c.new mv ectab.c.new ectab.c @@ -122,12 +138,12 @@ gciphertab.c: gengctab $(srcdir)/gengctab gccipher gcipher >gciphertab.c.new \ "lit(join(`ciphers', `-', `cipher_modes')) \ lit(join(`hashes', `-', `_(mgf)')) \ - rc4 seal" + rc4 seal" mv gciphertab.c.new gciphertab.c gmactab.c: gengctab $(srcdir)/gengctab gcmac gmac >gmactab.c.new \ - "lit(join(`hashes', `-', `_(hmac)'))" + "lit(join(`hashes', `-', `_(hmac)'))" mv gmactab.c.new gmactab.c ghashtab.c: gengctab @@ -147,12 +163,13 @@ BUILT_SOURCES = \ lib_LTLIBRARIES = libcatacomb.la -libcatacomb_la_LDFLAGS = -version-info 3:0:1 +libcatacomb_la_LIBADD = $(CATACOMB_LIBS) +libcatacomb_la_LDFLAGS = -version-info 3:1:1 ## Middle number is the patchlevel. Final number is the minor version. The ## difference between the first and last numbers is major version. pkginclude_HEADERS = \ - arena.h paranoia.h buf.h qdparse.h \ + arena.h paranoia.h buf.h qdparse.h keysz.h \ blkc.h hash.h gcipher.h ghash.h gmac.h grand.h ghash-def.h \ lcrand.h fibrand.h rc4.h seal.h rand.h noise.h fipstest.h maurer.h \ key.h key-error.h key-data.h passphrase.h pixie.h lmem.h \ @@ -160,8 +177,8 @@ pkginclude_HEADERS = \ exp.h mpbarrett.h mpmont.h mpreduce.h mp-exp.h \ mpcrt.h mprand.h mpmul.h \ gfx.h gf.h gfreduce.h gfn.h gf-exp.h \ - primetab.h pfilt.h rabin.h \ - pgen.h prim.h strongprime.h limlee.h keycheck.h \ + primetab.h wheel.h pfilt.h rabin.h \ + pgen.h primeiter.h prim.h strongprime.h limlee.h keycheck.h \ bbs.h rsa.h dh.h dsarand.h dsa.h gdsa.h gkcdsa.h \ tlsprf.h sslprf.h \ gfshare.h share.h \ @@ -174,11 +191,16 @@ pkginclude_HEADERS = \ addsuffix(`cipher_modes', `-def.h') \ addsuffix(`hash_modes', `-def.h') crc32.h +define(`MP_BASE', + `mpx.c mpx-kmul.c mpx-ksqr.c mpscan.c mparena.c \ + mp-misc.c mp-mem.c mp-const.c mp-arith.c mp-io.c \ + mptext.c mptext-string.c') + define(`MP_SOURCES', - `mpx.c mpx-kmul.c mpx-ksqr.c mpscan.c mparena.c qdparse.c \ - mp-misc.c mp-mem.c mp-const.c mp-io.c mp-arith.c mp-test.c \ - mp-sqrt.c mp-gcd.c mp-jacobi.c mp-modsqrt.c mp-exp.c \ - mpint.c mptext.c mptext-file.c mptext-string.c mptext-dstr.c \ + `qdparse.c \ + mp-test.c mplimits.c \ + mp-sqrt.c mp-gcd.c mp-jacobi.c mp-modsqrt.c mp-exp.c mp-modexp.c \ + mpint.c mptext-file.c mptext-dstr.c \ mptext-len.c \ exp.c mpcrt.c mpmul.c mprand.c \ mpbarrett.c mpbarrett-exp.c mpbarrett-mexp.c mpbarrett-exp.h \ @@ -201,29 +223,29 @@ define(`EC_SOURCES', ec-fetch.c ec-raw.c g-ec.c') define(`PGEN_SOURCES', - `pfilt.c rabin.c \ - pgen.c pgen-stdev.c pgen-safe.c pgen-gcd.c prim.c strongprime.c \ - limlee.c \ + `pfilt.c primeiter.c rabin.c \ + pgen.c pgen-stdev.c pgen-gcd.c pgen-simul.c \ + prim.c strongprime.c limlee.c \ keycheck.c keycheck-mp.c keycheck-report.c \ bbs-rand.c bbs-gen.c bbs-jump.c bbs-fetch.c \ rsa-priv.c rsa-pub.c rsa-gen.c rsa-recover.c rsa-fetch.c \ oaep.c pkcs1.c pss.c \ - dh-gen.c dh-limlee.c dh-check.c dh-fetch.c dh-param.c \ - dsarand.c dsa-sign.c dsa-verify.c dsa-gen.c dsa-check.c \ + dh-gen.c dh-limlee.c dh-kcdsa.c dh-check.c dh-fetch.c dh-param.c \ + dsarand.c dsa-misc.c dsa-sign.c dsa-verify.c dsa-gen.c dsa-check.c \ gdsa.c gkcdsa.c \ key-data.c key-flags.c key-text.c key-binary.c key-pass.c \ key-pack.c key-misc.c key-file.c key-attr.c key-io.c key-moan.c \ key-error.c key-fetch.c \ - primetab.c share.c') + primetab.c wheel.c share.c') libcatacomb_la_SOURCES = \ - grand.c keysz.c \ + grand.c keysz.c keysz-conv.c \ lcrand.c fibrand.c rc4.c seal.c rand.c noise.c fipstest.c maurer.c \ arena.c \ passphrase.c pixie-common.c lmem.c \ tlsprf.c sslprf.c \ gfshare.c \ - MP_SOURCES karatsuba.h \ + MP_BASE MP_SOURCES karatsuba.h \ gciphertab.c ghashtab.c gmactab.c \ des-base.c des-base.h \ desx-tab.h \ @@ -256,9 +278,10 @@ bin_PROGRAMS = \ dsig key pixie cookie rspit factorial hashsum mkphrase \ catcrypt catsign noinst_LIBRARIES = libcatcrypt.a -bin_SCRIPTS = catacomb-config xpixie +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = catacomb.pc noinst_PROGRAMS = \ - genprimes mptypes serpent-check bittest mpdump \ + genprimes genwheel mptypes genlimits serpent-check bittest mpdump \ perftest \ addsuffix(`gen_tables', `-mktab') LDADD = libcatcrypt.a libcatacomb.la @@ -267,10 +290,11 @@ define(`LIBCAT_SRC', `cc.h getdate.h dnl cc-sig.c cc-subcmd.c cc-enc.c cc-kem.c cc-list.c') libcatcrypt_a_SOURCES = LIBCAT_SRC getdate.y -patsubst(MP_SOURCES, `\.c\>', `.lo') dsig.o keyutil.o rspit.o \ +patsubst(MP_BASE MP_SOURCES, `\.c\>', `.lo') dsig.o keyutil.o rspit.o \ patsubst(LIBCAT_SRC, `\.c\>', `.o'): \ - mptypes.h primetab.h - + mptypes.h primetab.h wheel.h +patsubst(MP_SOURCES, `\.c\>', `.lo'): mplimits.h + dsig_SOURCES = dsig.c cookie_SOURCES = cookie.c catcrypt_SOURCES = catcrypt.c @@ -280,12 +304,14 @@ hashsum_SOURCES = hashsum.c rspit_SOURCES = rspit.c factorial_SOURCES = factorial.c perftest_SOURCES = perftest.c +perftest_LDADD = $(CATACOMB_LIBS) $(LDADD) pixie_SOURCES = pixie.c pixie-common.c lmem.c arena.c passphrase.c -pixie_LDADD = +pixie_LDADD = $(PIXIE_LIBS) pixie_CFLAGS = $(AM_CFLAGS) mkphrase_SOURCES = mkphrase.c +mkphrase_LDADD = $(CATACOMB_LIBS) $(LDADD) bittest_SOURCES = bittest.c -bittest_LDADD = +bittest_LDADD = define(`emit', ` patsubst(_item, `[^a-zA-Z0-9]', `_')_mktab_SOURCES = _item`'-mktab.c @@ -298,14 +324,17 @@ serpent_check_LDADD = genprimes_SOURCES = genprimes.c genprimes_LDADD = +genwheel_SOURCES = genwheel.c +genwheel_LDADD = + mptypes_SOURCES = mptypes.c mptypes_LDADD = -mpdump_SOURCES = \ - mpdump.c \ - mpx.c mpx-kmul.c mpx-ksqr.c mpscan.c mparena.c \ - mp-misc.c mp-mem.c mp-const.c mp-arith.c mp-io.c \ - mptext.c mptext-string.c +genlimits_SOURCES = genlimits.c MP_BASE mptypes.h +genlimits_LDADD = +genlimits_CFLAGS = $(AM_CFLAGS) + +mpdump_SOURCES = mpdump.c MP_BASE mpdump_LDADD = mpdump_CFLAGS = $(AM_CFLAGS) @@ -334,13 +363,20 @@ man_MANS = \ key.1 dsig.1 cookie.1 catcrypt.1 catsign.1 hashsum.1 mkphrase.1 \ keyring.5 pixie.1 +## --- Prime group keyring --- + +pkgdata_DATA = pgroups.kr + +$(srcdir)/pgroups.kr: ptab.in mkpgroups + cd $(srcdir) && rm -f pgroups.kr && ./mkpgroups