Annotation of OpenXM_contrib/gmp/Makefile.am, Revision 1.1.1.3
1.1 maekawa 1: ## Process this file with automake to generate Makefile.in
2:
3:
1.1.1.3 ! ohara 4: # Copyright 1991, 1993, 1994, 1996, 1997, 1999, 2000, 2001, 2002 Free
! 5: # Software Foundation, Inc.
1.1 maekawa 6: #
7: # This file is part of the GNU MP Library.
8: #
9: # The GNU MP Library is free software; you can redistribute it and/or modify
10: # it under the terms of the GNU Lesser General Public License as published by
11: # the Free Software Foundation; either version 2.1 of the License, or (at your
12: # option) any later version.
13: #
14: # The GNU MP Library is distributed in the hope that it will be useful, but
15: # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16: # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
17: # License for more details.
18: #
19: # You should have received a copy of the GNU Lesser General Public License
20: # along with the GNU MP Library; see the file COPYING.LIB. If not, write to
21: # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
22: # MA 02111-1307, USA.
23:
24:
1.1.1.3 ! ohara 25: # Libtool -version-info for libgmp.la and libmp.la. See "Versioning" in the
! 26: # libtool manual.
1.1 maekawa 27: #
28: # 1. No interfaces changed, only implementations (good): Increment REVISION.
29: #
30: # 2. Interfaces added, none removed (good): Increment CURRENT, increment
31: # AGE, set REVISION to 0.
32: #
33: # 3. Interfaces removed (BAD, breaks upward compatibility): Increment
34: # CURRENT, set AGE and REVISION to 0.
35: #
1.1.1.3 ! ohara 36: # Do this separately for libgmp and libmp, and only for releases.
1.1 maekawa 37: #
38: # GMP -version-info
1.1.1.3 ! ohara 39: # release libgmp libgmpxx libmp
! 40: # 2.0.x - - -
! 41: # 3.0 3:0:0 - 3:0:0
! 42: # 3.0.1 3:1:0 - 3:0:0
! 43: # 3.1 4:0:1 - 4:0:1
! 44: # 3.1.1 4:1:1 - 4:1:1
! 45: # 4.0 5:0:2 3:0:0 4:2:1
! 46: # 4.0.1 5:1:2 3:1:0 4:3:1
! 47: # 4.1 6:0:3 3:2:0 4:4:1
! 48: # 4.1.1 6:1:3 3:3:0 4:5:1
! 49: # 4.1.2 6:2:3 3:4:0 4:6:1
1.1 maekawa 50: #
51: # Starting at 3:0:0 is a slight abuse of the versioning system, but it
1.1.1.3 ! ohara 52: # ensures we're past soname libgmp.so.2, which was used on Debian GNU/Linux
! 53: # packages of gmp 2. Pretend gmp 2 was 2:0:0, so the interface changes for
! 54: # gmp 3 mean 3:0:0 is right.
! 55:
! 56: LIBGMP_LT_CURRENT = 6
! 57: LIBGMP_LT_REVISION = 2
! 58: LIBGMP_LT_AGE = 3
! 59:
! 60: LIBGMPXX_LT_CURRENT = 3
! 61: LIBGMPXX_LT_REVISION = 4
! 62: LIBGMPXX_LT_AGE = 0
1.1 maekawa 63:
64: LIBMP_LT_CURRENT = 4
1.1.1.3 ! ohara 65: LIBMP_LT_REVISION = 6
1.1 maekawa 66: LIBMP_LT_AGE = 1
67:
68:
1.1.1.3 ! ohara 69: AUTOMAKE_OPTIONS = gnu no-dependencies ansi2knr
! 70: ACLOCAL_AMFLAGS = -I mpfr
1.1 maekawa 71:
72:
1.1.1.3 ! ohara 73: # FIXME: This is a workaround for automake not allowing info_TEXINFOS to be
! 74: # conditionalized. We want mpfr/mpfr.info only installed under
! 75: # --enable-mpfr, but it and the rest of mpfr always included in a "make
! 76: # dist".
! 77: if WANT_MPFR
! 78: MPFR_DIR = mpfr
! 79: else
! 80: if MAINTAINER_MODE
! 81: MPFR_DIR = mpfr
! 82: endif
! 83: endif
1.1 maekawa 84:
1.1.1.3 ! ohara 85: # "tests" ahead of "mpfr" ensures tests/t-constants is run before the
! 86: # mpfr/tests programs.
! 87: #
! 88: SUBDIRS = tests mpn mpz mpq mpf printf scanf cxx mpbsd $(MPFR_DIR) demos tune
1.1 maekawa 89:
1.1.1.3 ! ohara 90: if WANT_CXX
! 91: GMPXX_HEADERS_OPTION = gmpxx.h
! 92: if WANT_MPFR
! 93: MPFRXX_HEADERS_OPTION = mpfrxx.h
! 94: endif
! 95: endif
! 96: include_HEADERS = $(GMPXX_HEADERS_OPTION) $(MPFRXX_HEADERS_OPTION)
! 97: nodist_include_HEADERS = gmp.h $(MPBSD_HEADERS_OPTION)
! 98: lib_LTLIBRARIES = libgmp.la $(GMPXX_LTLIBRARIES_OPTION) $(MPBSD_LTLIBRARIES_OPTION)
! 99:
! 100: EXTRA_DIST = doc macos \
! 101: configfsf.guess configfsf.sub .gdbinit INSTALL.autoconf libmp.sym \
! 102: gmpxx.h mpfrxx.h mpfr/README
! 103:
! 104: DISTCLEANFILES = $(nodist_include_HEADERS) config.m4 configure.lineno @gmp_srclinks@
! 105:
! 106: # Generated by current texinfo.tex when processing gmp.texi.
! 107: # FIXME: Maybe this should be added to automake.
! 108: MOSTLYCLEANFILES = gmp.tmp
! 109:
! 110: # Tell gmp.h it's building gmp, not an application, used by windows DLL stuff.
! 111: INCLUDES=-D__GMP_WITHIN_GMP
! 112:
! 113:
! 114: MPF_OBJECTS = mpf/init$U.lo mpf/init2$U.lo mpf/set$U.lo mpf/set_ui$U.lo \
! 115: mpf/set_si$U.lo mpf/set_str$U.lo mpf/set_d$U.lo mpf/set_z$U.lo \
! 116: mpf/iset$U.lo mpf/iset_ui$U.lo mpf/iset_si$U.lo mpf/iset_str$U.lo \
! 117: mpf/iset_d$U.lo mpf/clear$U.lo mpf/get_str$U.lo mpf/dump$U.lo \
! 118: mpf/size$U.lo mpf/eq$U.lo mpf/reldiff$U.lo mpf/sqrt$U.lo mpf/random2$U.lo \
! 119: mpf/inp_str$U.lo mpf/out_str$U.lo mpf/add$U.lo mpf/add_ui$U.lo \
! 120: mpf/sub$U.lo mpf/sub_ui$U.lo mpf/ui_sub$U.lo mpf/mul$U.lo mpf/mul_ui$U.lo \
! 121: mpf/div$U.lo mpf/div_ui$U.lo \
! 122: mpf/cmp$U.lo mpf/cmp_d$U.lo mpf/cmp_ui$U.lo mpf/cmp_si$U.lo \
! 123: mpf/mul_2exp$U.lo mpf/div_2exp$U.lo mpf/abs$U.lo mpf/neg$U.lo \
! 124: mpf/set_q$U.lo mpf/get_d$U.lo mpf/get_d_2exp$U.lo mpf/set_dfl_prec$U.lo \
! 125: mpf/set_prc$U.lo mpf/set_prc_raw$U.lo mpf/get_dfl_prec$U.lo \
! 126: mpf/get_prc$U.lo mpf/ui_div$U.lo mpf/sqrt_ui$U.lo \
! 127: mpf/ceilfloor$U.lo mpf/trunc$U.lo mpf/pow_ui$U.lo \
! 128: mpf/urandomb$U.lo mpf/swap$U.lo \
! 129: mpf/fits_sint$U.lo mpf/fits_slong$U.lo mpf/fits_sshort$U.lo \
! 130: mpf/fits_uint$U.lo mpf/fits_ulong$U.lo mpf/fits_ushort$U.lo \
! 131: mpf/get_si$U.lo mpf/get_ui$U.lo \
! 132: mpf/int_p$U.lo
! 133:
! 134: MPZ_OBJECTS = mpz/abs$U.lo mpz/add$U.lo mpz/add_ui$U.lo \
! 135: mpz/aorsmul$U.lo mpz/aorsmul_i$U.lo mpz/and$U.lo mpz/array_init$U.lo \
! 136: mpz/bin_ui$U.lo mpz/bin_uiui$U.lo \
! 137: mpz/cdiv_q$U.lo mpz/cdiv_q_ui$U.lo \
! 138: mpz/cdiv_qr$U.lo mpz/cdiv_qr_ui$U.lo \
! 139: mpz/cdiv_r$U.lo mpz/cdiv_r_ui$U.lo mpz/cdiv_ui$U.lo \
! 140: mpz/cfdiv_q_2exp$U.lo mpz/cfdiv_r_2exp$U.lo \
! 141: mpz/clear$U.lo mpz/clrbit$U.lo \
! 142: mpz/cmp$U.lo mpz/cmp_d$U.lo mpz/cmp_si$U.lo mpz/cmp_ui$U.lo \
! 143: mpz/cmpabs$U.lo mpz/cmpabs_d$U.lo mpz/cmpabs_ui$U.lo \
! 144: mpz/com$U.lo \
! 145: mpz/cong$U.lo mpz/cong_2exp$U.lo mpz/cong_ui$U.lo \
! 146: mpz/divexact$U.lo mpz/divegcd$U.lo mpz/dive_ui$U.lo \
! 147: mpz/divis$U.lo mpz/divis_ui$U.lo mpz/divis_2exp$U.lo mpz/dump$U.lo \
! 148: mpz/export$U.lo mpz/fac_ui$U.lo mpz/fdiv_q$U.lo \
! 149: mpz/fdiv_q_ui$U.lo mpz/fdiv_qr$U.lo mpz/fdiv_qr_ui$U.lo \
! 150: mpz/fdiv_r$U.lo mpz/fdiv_r_ui$U.lo \
! 151: mpz/fdiv_ui$U.lo mpz/fib_ui$U.lo mpz/fib2_ui$U.lo mpz/fits_sint$U.lo \
! 152: mpz/fits_slong$U.lo mpz/fits_sshort$U.lo mpz/fits_uint$U.lo \
! 153: mpz/fits_ulong$U.lo mpz/fits_ushort$U.lo mpz/gcd$U.lo \
! 154: mpz/gcd_ui$U.lo mpz/gcdext$U.lo mpz/get_d$U.lo mpz/get_d_2exp$U.lo \
! 155: mpz/get_si$U.lo mpz/get_str$U.lo mpz/get_ui$U.lo mpz/getlimbn$U.lo \
! 156: mpz/hamdist$U.lo \
! 157: mpz/import$U.lo mpz/init$U.lo mpz/init2$U.lo mpz/inp_raw$U.lo \
! 158: mpz/inp_str$U.lo mpz/invert$U.lo \
! 159: mpz/ior$U.lo mpz/iset$U.lo mpz/iset_d$U.lo mpz/iset_si$U.lo \
! 160: mpz/iset_str$U.lo mpz/iset_ui$U.lo mpz/jacobi$U.lo mpz/kronsz$U.lo \
! 161: mpz/kronuz$U.lo mpz/kronzs$U.lo mpz/kronzu$U.lo \
! 162: mpz/lcm$U.lo mpz/lcm_ui$U.lo mpz/lucnum_ui$U.lo mpz/lucnum2_ui$U.lo \
! 163: mpz/millerrabin$U.lo mpz/mod$U.lo mpz/mul$U.lo mpz/mul_2exp$U.lo \
! 164: mpz/mul_si$U.lo mpz/mul_ui$U.lo \
! 165: mpz/n_pow_ui$U.lo mpz/neg$U.lo mpz/nextprime$U.lo \
! 166: mpz/out_raw$U.lo mpz/out_str$U.lo mpz/perfpow$U.lo mpz/perfsqr$U.lo \
! 167: mpz/popcount$U.lo mpz/pow_ui$U.lo mpz/powm$U.lo mpz/powm_ui$U.lo \
! 168: mpz/pprime_p$U.lo mpz/random$U.lo mpz/random2$U.lo \
! 169: mpz/realloc$U.lo mpz/realloc2$U.lo \
! 170: mpz/remove$U.lo mpz/root$U.lo mpz/rrandomb$U.lo mpz/scan0$U.lo \
! 171: mpz/scan1$U.lo mpz/set$U.lo mpz/set_d$U.lo mpz/set_f$U.lo \
! 172: mpz/set_q$U.lo mpz/set_si$U.lo mpz/set_str$U.lo mpz/set_ui$U.lo \
! 173: mpz/setbit$U.lo \
! 174: mpz/size$U.lo mpz/sizeinbase$U.lo mpz/sqrt$U.lo \
! 175: mpz/sqrtrem$U.lo mpz/sub$U.lo mpz/sub_ui$U.lo mpz/swap$U.lo \
! 176: mpz/tdiv_ui$U.lo mpz/tdiv_q$U.lo mpz/tdiv_q_2exp$U.lo \
! 177: mpz/tdiv_q_ui$U.lo mpz/tdiv_qr$U.lo mpz/tdiv_qr_ui$U.lo \
! 178: mpz/tdiv_r$U.lo mpz/tdiv_r_2exp$U.lo mpz/tdiv_r_ui$U.lo \
! 179: mpz/tstbit$U.lo mpz/ui_pow_ui$U.lo mpz/ui_sub$U.lo mpz/urandomb$U.lo \
! 180: mpz/urandomm$U.lo mpz/xor$U.lo
! 181:
! 182: MPQ_OBJECTS = mpq/abs$U.lo mpq/aors$U.lo \
! 183: mpq/canonicalize$U.lo mpq/clear$U.lo \
! 184: mpq/cmp$U.lo mpq/cmp_si$U.lo mpq/cmp_ui$U.lo mpq/div$U.lo \
! 185: mpq/get_d$U.lo mpq/get_den$U.lo mpq/get_num$U.lo mpq/get_str$U.lo \
! 186: mpq/init$U.lo mpq/inp_str$U.lo mpq/inv$U.lo \
! 187: mpq/md_2exp$U.lo mpq/mul$U.lo mpq/neg$U.lo mpq/out_str$U.lo \
! 188: mpq/set$U.lo mpq/set_den$U.lo mpq/set_num$U.lo \
! 189: mpq/set_si$U.lo mpq/set_str$U.lo mpq/set_ui$U.lo \
! 190: mpq/equal$U.lo mpq/set_z$U.lo mpq/set_d$U.lo \
! 191: mpq/set_f$U.lo mpq/swap$U.lo
1.1 maekawa 192:
1.1.1.3 ! ohara 193: MPN_OBJECTS = @mpn_objs_in_libgmp@
1.1 maekawa 194:
1.1.1.3 ! ohara 195: PRINTF_OBJECTS = \
! 196: @REPL_VSNPRINTF_PRINTF_OBJ@ \
! 197: printf/asprintf$U.lo printf/asprntffuns$U.lo \
! 198: printf/doprnt$U.lo printf/doprntf$U.lo printf/doprnti$U.lo \
! 199: printf/fprintf$U.lo \
! 200: printf/obprintf$U.lo printf/obvprintf$U.lo printf/obprntffuns$U.lo \
! 201: printf/printf$U.lo printf/printffuns$U.lo \
! 202: printf/snprintf$U.lo printf/snprntffuns$U.lo \
! 203: printf/sprintf$U.lo printf/sprintffuns$U.lo \
! 204: printf/vasprintf$U.lo printf/vfprintf$U.lo printf/vprintf$U.lo \
! 205: printf/vsnprintf$U.lo printf/vsprintf$U.lo
! 206:
! 207: SCANF_OBJECTS = \
! 208: scanf/doscan$U.lo scanf/fscanf$U.lo scanf/fscanffuns$U.lo \
! 209: scanf/scanf$U.lo scanf/sscanf$U.lo scanf/sscanffuns$U.lo \
! 210: scanf/vfscanf$U.lo scanf/vscanf$U.lo scanf/vsscanf$U.lo
! 211:
! 212: CXX_OBJECTS = \
! 213: cxx/isfuns$U.lo cxx/ismpf$U.lo cxx/ismpq$U.lo cxx/ismpz$U.lo \
! 214: cxx/osdoprnti$U.lo cxx/osfuns$U.lo \
! 215: cxx/osmpf$U.lo cxx/osmpq$U.lo cxx/osmpz$U.lo
! 216:
! 217: MPBSD_OBJECTS = mpbsd/add$U.lo mpbsd/tdiv_qr$U.lo mpbsd/set$U.lo \
! 218: mpbsd/powm$U.lo mpbsd/sub$U.lo mpbsd/cmp$U.lo mpbsd/mfree$U.lo \
! 219: mpbsd/mtox$U.lo mpbsd/realloc$U.lo mpbsd/gcd$U.lo mpbsd/itom$U.lo \
! 220: mpbsd/min$U.lo mpbsd/mul$U.lo mpbsd/mout$U.lo mpbsd/rpow$U.lo \
! 221: mpbsd/sdiv$U.lo mpbsd/sqrtrem$U.lo mpbsd/xtom$U.lo
! 222:
! 223:
! 224: # In the current libtool it doesn't work to build libgmp.la from convenience
! 225: # libraries like mpz/libmpz.la. Or rather it works, but it ends up putting
! 226: # PIC objects into libgmp.a when shared and static are both built.
! 227: #
! 228: # For now the big lists of objects above are used. Something like mpz/*.lo
! 229: # would probably work, but might risk missing something out or getting
! 230: # something extra. The source files for each .lo are listed in the
! 231: # Makefile.am's in the subdirectories.
! 232: #
! 233: # Currently, unlike libmp below, we're not using -export-symbols, since the
! 234: # tune and speed programs, and perhaps some of the test programs, want to
! 235: # access undocumented symbols.
! 236:
! 237: libgmp_la_SOURCES = gmp-impl.h longlong.h \
! 238: assert.c compat.c errno.c extract-dbl.c insert-dbl.c memory.c \
! 239: mp_bpl.c mp_clz_tab.c mp_minv_tab.c mp_set_fns.c \
! 240: rand.c randclr.c randdef.c randlc.c randlc2s.c randlc2x.c randraw.c \
! 241: rands.c randsd.c randsdui.c version.c
! 242: libgmp_la_DEPENDENCIES = @TAL_OBJECT@ \
1.1 maekawa 243: $(MPF_OBJECTS) $(MPZ_OBJECTS) $(MPN_OBJECTS) $(MPQ_OBJECTS) \
1.1.1.3 ! ohara 244: $(PRINTF_OBJECTS) $(SCANF_OBJECTS)
! 245: libgmp_la_LIBADD = $(libgmp_la_DEPENDENCIES)
! 246: libgmp_la_LDFLAGS = $(GMP_LDFLAGS) \
1.1 maekawa 247: -version-info $(LIBGMP_LT_CURRENT):$(LIBGMP_LT_REVISION):$(LIBGMP_LT_AGE)
248:
249:
1.1.1.3 ! ohara 250: # We need at least one .cc file in $(libgmpxx_la_SOURCES) so automake will
! 251: # use $(CXXLINK) rather than the plain C $(LINK). cxx/osfuns.cc is an
! 252: # arbitrary choice for that.
! 253:
! 254: if WANT_CXX
! 255: GMPXX_LTLIBRARIES_OPTION = libgmpxx.la
! 256: endif
! 257: libgmpxx_la_SOURCES = dummy.cc
! 258: libgmpxx_la_DEPENDENCIES = $(CXX_OBJECTS) libgmp.la
! 259: libgmpxx_la_LIBADD = $(libgmpxx_la_DEPENDENCIES)
! 260: libgmpxx_la_LDFLAGS = $(GMP_LDFLAGS) \
! 261: -version-info $(LIBGMPXX_LT_CURRENT):$(LIBGMPXX_LT_REVISION):$(LIBGMPXX_LT_AGE)
! 262:
! 263:
! 264: # The selected mpz objects here support mpz/powm.c (built as mpbsd/powm.lo)
! 265: # and can probably be removed when that switches to an mpn implementation.
! 266: # (Apart from mpz/n_pow_ui$U.lo, which supports mpbsd/rpow.c)
! 267:
1.1 maekawa 268: if WANT_MPBSD
269: MPBSD_HEADERS_OPTION = mp.h
270: MPBSD_LTLIBRARIES_OPTION = libmp.la
271: endif
272: libmp_la_SOURCES = assert.c errno.c memory.c mp_bpl.c mp_clz_tab.c \
1.1.1.3 ! ohara 273: mp_minv_tab.c mp_set_fns.c
! 274: MPN_OBJS_IN_LIBMP = @mpn_objs_in_libmp@
! 275: libmp_la_DEPENDENCIES = $(srcdir)/libmp.sym \
! 276: @TAL_OBJECT@ $(MPBSD_OBJECTS) $(MPN_OBJS_IN_LIBMP) \
! 277: mpz/add$U.lo mpz/gcdext$U.lo mpz/invert$U.lo mpz/mul$U.lo \
! 278: mpz/n_pow_ui$U.lo mpz/realloc$U.lo mpz/set$U.lo mpz/sub$U.lo \
! 279: mpz/tdiv_q$U.lo
1.1 maekawa 280: libmp_la_LIBADD = $(libmp_la_DEPENDENCIES)
1.1.1.3 ! ohara 281: libmp_la_LDFLAGS = $(GMP_LDFLAGS) \
! 282: -version-info $(LIBMP_LT_CURRENT):$(LIBMP_LT_REVISION):$(LIBMP_LT_AGE) \
! 283: -export-symbols $(srcdir)/libmp.sym
! 284:
! 285:
! 286: # Optional objects, listed in a dummy library to generate ansi2knr rules and
! 287: # get them in "make dist".
! 288: #
! 289: EXTRA_LTLIBRARIES = libdummy.la
! 290: libdummy_la_SOURCES = tal-debug.c tal-notreent.c tal-reent.c
1.1 maekawa 291:
292:
293: info_TEXINFOS = gmp.texi
1.1.1.3 ! ohara 294: gmp_TEXINFOS = fdl.texi
1.1 maekawa 295:
296:
1.1.1.3 ! ohara 297: # Avoid: CVS - cvs directories
! 298: # *~ - emacs backups
! 299: # .#* - cvs merge originals
! 300: #
! 301: # *~ and .#* only occur when a whole directory without it's own Makefile.am
! 302: # is distributed, like "doc" or the mpn cpu subdirectories.
! 303: #
1.1 maekawa 304: dist-hook:
1.1.1.3 ! ohara 305: -find $(distdir) \( -name CVS -type d \) -o -name "*~" -o -name ".#*" \
1.1 maekawa 306: | xargs rm -rf
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>