Fix a special case bug in mpi_powm for e==0.
[libgcrypt.git] / mpi / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2 # Copyright (C) 1992, 1999, 2000, 2002 Free Software Foundation, Inc.
3 #
4 # This file is part of Libgcrypt.
5 #
6 # Libgcrypt is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU Lesser General Public License as
8 # published by the Free Software Foundation; either version 2.1 of
9 # the License, or (at your option) any later version.
10 #
11 # Libgcrypt is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU Lesser General Public License for more details.
15 #
16 # You should have received a copy of the GNU Lesser General Public
17 # License along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
19
20 # 1.5 leads to a combinatorial explosion due to all the conditionals
21 # I was not able to build it with 64Megs - 1.6 fixes this.
22 # not anymore required: AUTOMAKE_OPTIONS = 1.6
23
24 # Need to include ../src in addition to top_srcdir because gcrypt.h is
25 # a built header.
26 AM_CPPFLAGS = -I../src -I$(top_srcdir)/src
27 AM_CFLAGS = $(GPG_ERROR_CFLAGS)
28
29 AM_ASFLAGS = $(MPI_SFLAGS)
30 AM_CCASFLAGS = $(NOEXECSTACK_FLAGS)
31
32 EXTRA_DIST = Manifest config.links
33 DISTCLEANFILES = mpi-asm-defs.h \
34                  mpih-add1-asm.S mpih-mul1-asm.S mpih-mul2-asm.S mpih-mul3-asm.S  \
35                  mpih-lshift-asm.S mpih-rshift-asm.S mpih-sub1-asm.S asm-syntax.h \
36                  mpih-add1.c mpih-mul1.c mpih-mul2.c mpih-mul3.c  \
37                  mpih-lshift.c mpih-rshift.c mpih-sub1.c \
38                  sysdep.h mod-source-info.h
39
40 # Beware: The following list is not a comment but grepped by
41 #         config.links to get the list of symlinked modules
42 #         Optional modules are marked with an O in the second column.
43 #BEGIN_ASM_LIST
44 # mpih-add1    C
45 # mpih-sub1    C
46 # mpih-mul1    C
47 # mpih-mul2    C
48 # mpih-mul3    C
49 # mpih-lshift  C
50 # mpih-rshift  C
51 # udiv         O
52 # udiv-qrnnd   O
53 #END_ASM_LIST
54
55 # Note: This function has not yet been implemented.  There is only a dummy in
56 # generic/
57 # udiv-w-sdiv  O
58
59 # And we need to have conditionals for all modules because
60 # we don't know whether they are .c or .S.  Very ugly; I know.
61 # Remember to define them all in configure.ac
62 if MPI_MOD_ASM_MPIH_ADD1
63 mpih_add1 = mpih-add1-asm.S
64 else
65 if MPI_MOD_C_MPIH_ADD1
66 mpih_add1 = mpih-add1.c
67 else
68 mpih_add1 =
69 endif
70 endif
71
72 if MPI_MOD_ASM_MPIH_SUB1
73 mpih_sub1 = mpih-sub1-asm.S
74 else
75 if MPI_MOD_C_MPIH_SUB1
76 mpih_sub1 = mpih-sub1.c
77 else
78 mpih_sub1 =
79 endif
80 endif
81
82 if MPI_MOD_ASM_MPIH_MUL1
83 mpih_mul1 = mpih-mul1-asm.S
84 else
85 if MPI_MOD_C_MPIH_MUL1
86 mpih_mul1 = mpih-mul1.c
87 else
88 mpih_mul1 =
89 endif
90 endif
91
92 if MPI_MOD_ASM_MPIH_MUL2
93 mpih_mul2 = mpih-mul2-asm.S
94 else
95 if MPI_MOD_C_MPIH_MUL2
96 mpih_mul2 = mpih-mul2.c
97 else
98 mpih_mul2 =
99 endif
100 endif
101
102 if MPI_MOD_ASM_MPIH_MUL3
103 mpih_mul3 = mpih-mul3-asm.S
104 else
105 if MPI_MOD_C_MPIH_MUL3
106 mpih_mul3 = mpih-mul3.c
107 else
108 mpih_mul3 =
109 endif
110 endif
111
112 if MPI_MOD_ASM_MPIH_LSHIFT
113 mpih_lshift = mpih-lshift-asm.S
114 else
115 if MPI_MOD_C_MPIH_LSHIFT
116 mpih_lshift = mpih-lshift.c
117 else
118 mpih_lshift =
119 endif
120 endif
121
122 if MPI_MOD_ASM_MPIH_RSHIFT
123 mpih_rshift = mpih-rshift-asm.S
124 else
125 if MPI_MOD_C_MPIH_RSHIFT
126 mpih_rshift = mpih-rshift.c
127 else
128 mpih_rshift =
129 endif
130 endif
131
132 if MPI_MOD_ASM_UDIV
133 udiv = udiv-asm.S
134 else
135 if MPI_MOD_C_UDIV
136 udiv = udiv.c
137 else
138 udiv =
139 endif
140 endif
141
142 if MPI_MOD_ASM_UDIV_QRNND
143 udiv_qrnnd = udiv-qrnnd-asm.S
144 else
145 if MPI_MOD_C_UDIV_QRNND
146 udiv_qrnnd = udiv-qrnnd.c
147 else
148 udiv_qrnnd =
149 endif
150 endif
151
152 noinst_LTLIBRARIES = libmpi.la
153
154 libmpi_la_LDFLAGS =
155 nodist_libmpi_la_SOURCES = $(mpih_add1) $(mpih_sub1) $(mpih_mul1) \
156         $(mpih_mul2) $(mpih_mul3) $(mpih_lshift) $(mpih_rshift) \
157         $(udiv) $(udiv_qrnnd)
158 libmpi_la_SOURCES = longlong.h     \
159               mpi-add.c      \
160               mpi-bit.c      \
161               mpi-cmp.c      \
162               mpi-div.c      \
163               mpi-gcd.c      \
164               mpi-internal.h \
165               mpi-inline.h   \
166               mpi-inline.c   \
167               mpi-inv.c      \
168               mpi-mul.c      \
169               mpi-mod.c      \
170               mpi-pow.c      \
171               mpi-mpow.c     \
172               mpi-scan.c     \
173               mpicoder.c     \
174               mpih-div.c     \
175               mpih-mul.c     \
176               mpiutil.c      \
177               ec.c