mac: Fix gcry_mac_close to allow for a NULL handle.
[libgcrypt.git] / cipher / Makefile.am
index 04bbf1f..c165356 100644 (file)
-# Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+# Makefile for cipher modules
+# Copyright (C) 1998, 1999, 2000, 2001, 2002,
+#               2003, 2009 Free Software Foundation, Inc.
 #
 # This file is part of Libgcrypt.
 #
 # Libgcrypt is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-# 
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of
+# the License, or (at your option) any later version.
+#
 # Libgcrypt 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 General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, see <http://www.gnu.org/licenses/>.
 
 # Process this file with automake to produce Makefile.in
 
+EXTRA_DIST = Manifest
 
-INCLUDES = -I$(top_srcdir)/src 
-
-noinst_LTLIBRARIES = libcipher.la
-
-#OMIT_DEPENDENCIES = types.h gcrypt.h
-
+# Need to include ../src in addition to top_srcdir because gcrypt.h is
+# a built header.
+AM_CPPFLAGS = -I../src -I$(top_srcdir)/src
+AM_CFLAGS = $(GPG_ERROR_CFLAGS)
 
-# The configure script greps the module names from the EXTRA_PROGRAMS line
-EXTRA_PROGRAMS = rndlinux rndunix rndegd rndw32 sha1 rmd160 md5 tiger
+AM_CCASFLAGS = $(NOEXECSTACK_FLAGS)
 
-EXTRA_rndlinux_SOURCES = rndlinux.c
-EXTRA_rndunix_SOURCES = rndunix.c
-EXTRA_rndegd_SOURCES = rndegd.c
-EXTRA_rndw32_SOURCES = rndw32.c
-EXTRA_md5_SOURCES = md5.c
-EXTRA_rmd160_SOURCES = rmd160.c
-EXTRA_sha1_SOURCES = sha1.c
-EXTRA_tiger_SOURCES = tiger.c
 
+noinst_LTLIBRARIES = libcipher.la
 
-if ENABLE_GNUPG_EXTENSIONS
-pkglib_PROGRAMS  = @DYNAMIC_CIPHER_MODS@
+GCRYPT_MODULES = @GCRYPT_CIPHERS@ @GCRYPT_PUBKEY_CIPHERS@ \
+                 @GCRYPT_DIGESTS@ @GCRYPT_KDFS@
+
+libcipher_la_DEPENDENCIES = $(GCRYPT_MODULES)
+libcipher_la_LIBADD = $(GCRYPT_MODULES)
+
+libcipher_la_SOURCES = \
+cipher.c cipher-internal.h \
+cipher-cbc.c cipher-cfb.c cipher-ofb.c cipher-ctr.c cipher-aeswrap.c \
+cipher-ccm.c cipher-cmac.c cipher-gcm.c cipher-poly1305.c \
+cipher-selftest.c cipher-selftest.h \
+pubkey.c pubkey-internal.h pubkey-util.c \
+md.c \
+mac.c mac-internal.h \
+mac-hmac.c mac-cmac.c mac-gmac.c mac-poly1305.c \
+poly1305.c poly1305-internal.h \
+kdf.c kdf-internal.h \
+hmac-tests.c \
+bithelp.h  \
+bufhelp.h  \
+primegen.c  \
+hash-common.c hash-common.h \
+dsa-common.c rsa-common.c \
+rmd.h
+
+EXTRA_libcipher_la_SOURCES = \
+arcfour.c arcfour-amd64.S \
+blowfish.c blowfish-amd64.S blowfish-arm.S \
+cast5.c cast5-amd64.S cast5-arm.S \
+chacha20.c chacha20-sse2-amd64.S chacha20-ssse3-amd64.S chacha20-avx2-amd64.S \
+crc.c \
+des.c des-amd64.S \
+dsa.c \
+elgamal.c \
+ecc.c ecc-curves.c ecc-misc.c ecc-common.h \
+ecc-ecdsa.c ecc-eddsa.c ecc-gost.c \
+idea.c \
+gost28147.c gost.h \
+gostr3411-94.c \
+md4.c \
+md5.c \
+poly1305-sse2-amd64.S poly1305-avx2-amd64.S \
+rijndael.c rijndael-tables.h rijndael-amd64.S rijndael-arm.S \
+rmd160.c \
+rsa.c \
+salsa20.c salsa20-amd64.S salsa20-armv7-neon.S \
+scrypt.c \
+seed.c \
+serpent.c serpent-sse2-amd64.S serpent-avx2-amd64.S serpent-armv7-neon.S \
+sha1.c sha1-ssse3-amd64.S sha1-avx-amd64.S sha1-avx-bmi2-amd64.S \
+  sha1-armv7-neon.S \
+sha256.c sha256-ssse3-amd64.S sha256-avx-amd64.S sha256-avx2-bmi2-amd64.S \
+sha512.c sha512-ssse3-amd64.S sha512-avx-amd64.S sha512-avx2-bmi2-amd64.S \
+  sha512-armv7-neon.S \
+stribog.c \
+tiger.c \
+whirlpool.c \
+twofish.c twofish-amd64.S twofish-arm.S \
+rfc2268.c \
+camellia.c camellia.h camellia-glue.c camellia-aesni-avx-amd64.S \
+  camellia-aesni-avx2-amd64.S camellia-arm.S
+
+noinst_PROGRAMS = gost-s-box
+gost28147.lo: gost-sb.h
+gost-sb.h: gost-s-box
+       $(builddir)/gost-s-box $@
+
+if ENABLE_O_FLAG_MUNGING
+o_flag_munging = sed -e 's/-O\([2-9s][2-9s]*\)/-O1/' -e 's/-Ofast/-O1/g'
 else
-pkglib_PROGRAMS  =
+o_flag_munging = cat
 endif
 
 
-DYNLINK_MOD_CFLAGS = -DIS_MODULE @DYNLINK_MOD_CFLAGS@
-
-libcipher_la_LDFLAGS =
-libcipher_la_SOURCES = cipher.c  \
-                pubkey.c       \
-                md.c           \
-                dynload.c      \
-                dynload.h      \
-                bithelp.h      \
-                des.c          \
-                des.h          \
-                rijndael.c     \
-                twofish.c      \
-                blowfish.c     \
-                blowfish.h     \
-                cast5.c        \
-                cast5.h        \
-                arcfour.c arcfour.h \
-                elgamal.c      \
-                elgamal.h      \
-                primegen.c     \
-                random.h       \
-                random.c       \
-                rand-internal.h \
-                rmd.h          \
-                dsa.h          \
-                dsa.c          \
-                rsa.c rsa.h    \
-                smallprime.c   \
-                construct.c
-
-# configure creates the constructor file
-BUILT_SOURCES = construct.c
-DISTCLEANFILES = construct.c
-
-libcipher_la_DEPENDENCIES = @STATIC_CIPHER_OBJS@
-libcipher_la_LIBADD =    @STATIC_CIPHER_OBJS@
-
-
-# We could to something like 
-#   tiger_SOURCES = tiger.c
-#   tiger_CFLAGS = $(DYNLINK_MOD_CFLAGS)
-# but I have not yet figured out on how to suppress the link step.
-# this is probably a libtool thing.
-
-#if BUILD_MODULE_TIGER
-tiger$(EXEEXT): $(srcdir)/tiger.c
-       `echo $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o tiger $(srcdir)/tiger.c | \
-           sed -e 's/-O[2-9s]*/-O/g' `
-#endif
-
+# We need to lower the optimization for this module.
 tiger.o: $(srcdir)/tiger.c
-       `echo $(COMPILE) -c $(srcdir)/tiger.c | sed -e 's/-O[2-9s]*/-O1/g' `
-
-#twofish: $(srcdir)/twofish.c
-#       `echo $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o twofish $(srcdir)/twofish.c | \
-#           sed -e 's/-O[0-9s]*/  /g' `
-
-#if BUILD_MODULE_TWOFISH
-twofish$(EXEEXT): $(srcdir)/twofish.c
-       $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o twofish $(srcdir)/twofish.c
-#endif
-
-#twofish.o: $(srcdir)/twofish.c
-#       `echo $(COMPILE) -c $(srcdir)/twofish.c | sed -e 's/-O[0-9s]*/  /g' `
-
-#if BUILD_MODULE_RNDUNIX
-rndunix$(EXEEXT): $(srcdir)/rndunix.c
-       $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o rndunix $(srcdir)/rndunix.c
-#endif
-
-#if BUILD_MODULE_RNDLINUX
-rndlinux$(EXEEXT): $(srcdir)/rndlinux.c
-       $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o rndlinux $(srcdir)/rndlinux.c
-#endif
-
-#if BUILD_MODULE_RNDEGD
-rndegd$(EXEEXT): $(srcdir)/rndegd.c
-       $(COMPILE) $(DYNLINK_MOD_CFLAGS) -o rndegd $(srcdir)/rndegd.c
-#endif
-
-
+       `echo $(COMPILE) -c $(srcdir)/tiger.c | $(o_flag_munging) `
 
+tiger.lo: $(srcdir)/tiger.c
+       `echo $(LTCOMPILE) -c $(srcdir)/tiger.c | $(o_flag_munging) `