summaryrefslogtreecommitdiff
path: root/macos
diff options
context:
space:
mode:
authorKent Boortz <kent@mysql.se>2000-07-21 13:57:20 +0200
committerKent Boortz <kent@mysql.se>2000-07-21 13:57:20 +0200
commitc28983c57146c56442b66eff63a6ce2647a6201c (patch)
treecbdc9ff2a50521f9ed7fd49fb03e318daf12d51a /macos
parentd3593d3e21161f14e5c0622d09e0c88b81510436 (diff)
downloadgmp-c28983c57146c56442b66eff63a6ce2647a6201c.tar.gz
Distribution now contains precreated make files, config.h and target directories
Diffstat (limited to 'macos')
-rw-r--r--macos/Makefile1
-rw-r--r--macos/Makefile.cw1
-rw-r--r--macos/README88
-rw-r--r--macos/config.h159
-rwxr-xr-xmacos/configure26
5 files changed, 215 insertions, 60 deletions
diff --git a/macos/Makefile b/macos/Makefile
new file mode 100644
index 000000000..3d94871cc
--- /dev/null
+++ b/macos/Makefile
@@ -0,0 +1 @@
+# Copyright (C) 2000 Free Software Foundation, Inc. # This makefile.mpw is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. VERSION = 3.1 C = MrC COptions = -ansi on -i : -i :: -i ::mpn:powerpc32 -i ::mpz ¶ -opt speed -inline on -d random=rand -d srandom=srand Link = PPCLink LinkOptions = -sym on -xm library ToolOptions = -t 'MPST' -c 'MPS' Asm = PPCAsm AOptions = -sym on Lib = "libgmp.{VERSION}" # These are only needed for creating test programs as MPW tools SysLibs = "{SharedLibraries}"StdCLib ¶ "{SharedLibraries}"InterfaceLib ¶ "{SharedLibraries}"MathLib ¶ "{PPCLibraries}"StdCRuntime.o ¶ "{PPCLibraries}"PPCCRuntime.o # Where to put object code. The reason we don't put them into # the same directory is that some objectfiles have the same # name. MpfObjDir = :MpfObj: MpnObjDir = :MpnObj: MpqObjDir = :MpqObj: MpzObjDir = :MpzObj: CmnObjDir = :CmnObj: AsmObjDir = :AsmObj: AsmSrcDir = :Asm: MpfBinDir = :MpfBin: MpqBinDir = :MpqBin: MpzBinDir = :MpzBin: ObjDirs = {MpfObjDir} {MpnObjDir} {MpqObjDir} {MpzObjDir} ¶ {CmnObjDir} {AsmObjDir} {AsmSrcDir} ¶ {MpfBinDir} {MpqBinDir} {MpzBinDir} ########################################################################### AsmObjs = {AsmObjDir}add_n.o ¶ {AsmObjDir}addmul_1.o ¶ {AsmObjDir}lshift.o ¶ {AsmObjDir}mul_1.o ¶ {AsmObjDir}rshift.o ¶ {AsmObjDir}sub_n.o ¶ {AsmObjDir}submul_1.o AsmSrc = {AsmSrcDir}add_n.s ¶ {AsmSrcDir}addmul_1.s ¶ {AsmSrcDir}lshift.s ¶ {AsmSrcDir}mul_1.s ¶ {AsmSrcDir}rshift.s ¶ {AsmSrcDir}sub_n.s ¶ {AsmSrcDir}submul_1.s MpnObjs = {MpnObjDir}mp_bases.o ¶ {MpnObjDir}bdivmod.o {MpnObjDir}bz_divrem_n.o {MpnObjDir}cmp.o ¶ {MpnObjDir}diveby3.o {MpnObjDir}divrem.o {MpnObjDir}divrem_1.o ¶ {MpnObjDir}divrem_2.o {MpnObjDir}dump.o {MpnObjDir}gcd.o ¶ {MpnObjDir}gcd_1.o {MpnObjDir}gcdext.o {MpnObjDir}get_str.o ¶ {MpnObjDir}hamdist.o {MpnObjDir}inlines.o {MpnObjDir}jacbase.o ¶ {MpnObjDir}mod_1.o {MpnObjDir}mod_1_rs.o {MpnObjDir}mul.o ¶ {MpnObjDir}mul_basecase.o {MpnObjDir}mul_n.o {MpnObjDir}perfsqr.o ¶ {MpnObjDir}popcount.o {MpnObjDir}pre_mod_1.o {MpnObjDir}random.o ¶ {MpnObjDir}random2.o {MpnObjDir}sb_divrem_mn.o {MpnObjDir}scan0.o ¶ {MpnObjDir}scan1.o {MpnObjDir}set_str.o {MpnObjDir}sqr_basecase.o ¶ {MpnObjDir}sqrtrem.o ¶ {MpnObjDir}tdiv_qr.o MpfObjs = ¶ {MpfObjDir}init.o {MpfObjDir}init2.o {MpfObjDir}set.o ¶ {MpfObjDir}set_ui.o {MpfObjDir}set_si.o {MpfObjDir}set_str.o ¶ {MpfObjDir}set_d.o {MpfObjDir}set_z.o {MpfObjDir}set_q.o ¶ {MpfObjDir}iset.o {MpfObjDir}iset_ui.o {MpfObjDir}iset_si.o ¶ {MpfObjDir}iset_str.o {MpfObjDir}iset_d.o {MpfObjDir}clear.o ¶ {MpfObjDir}get_str.o {MpfObjDir}dump.o {MpfObjDir}size.o ¶ {MpfObjDir}eq.o {MpfObjDir}reldiff.o {MpfObjDir}sqrt.o ¶ {MpfObjDir}random2.o {MpfObjDir}inp_str.o {MpfObjDir}out_str.o ¶ {MpfObjDir}add.o {MpfObjDir}add_ui.o {MpfObjDir}sub.o ¶ {MpfObjDir}sub_ui.o {MpfObjDir}ui_sub.o {MpfObjDir}mul.o ¶ {MpfObjDir}mul_ui.o {MpfObjDir}div.o {MpfObjDir}div_ui.o ¶ {MpfObjDir}cmp.o {MpfObjDir}cmp_ui.o {MpfObjDir}cmp_si.o ¶ {MpfObjDir}mul_2exp.o {MpfObjDir}div_2exp.o {MpfObjDir}abs.o ¶ {MpfObjDir}neg.o {MpfObjDir}get_d.o {MpfObjDir}set_dfl_prec.o ¶ {MpfObjDir}set_prc.o {MpfObjDir}set_prc_raw.o {MpfObjDir}get_prc.o ¶ {MpfObjDir}ui_div.o {MpfObjDir}sqrt_ui.o {MpfObjDir}pow_ui.o ¶ {MpfObjDir}urandomb.o {MpfObjDir}swap.o {MpfObjDir}floor.o ¶ {MpfObjDir}ceil.o ¶ {MpfObjDir}trunc.o MpqObjs = ¶ {MpqObjDir}add.o {MpqObjDir}canonicalize.o {MpqObjDir}clear.o ¶ {MpqObjDir}cmp.o {MpqObjDir}cmp_ui.o {MpqObjDir}div.o ¶ {MpqObjDir}get_d.o {MpqObjDir}get_den.o {MpqObjDir}get_num.o ¶ {MpqObjDir}init.o {MpqObjDir}inv.o {MpqObjDir}mul.o ¶ {MpqObjDir}neg.o {MpqObjDir}out_str.o {MpqObjDir}set.o ¶ {MpqObjDir}set_den.o {MpqObjDir}set_num.o {MpqObjDir}set_si.o ¶ {MpqObjDir}set_ui.o {MpqObjDir}sub.o {MpqObjDir}equal.o ¶ {MpqObjDir}set_z.o {MpqObjDir}set_d.o ¶ {MpqObjDir}swap.o MpzObjs = ¶ {MpzObjDir}abs.o {MpzObjDir}add.o {MpzObjDir}add_ui.o ¶ {MpzObjDir}addmul_ui.o {MpzObjDir}and.o {MpzObjDir}array_init.o ¶ {MpzObjDir}bin_ui.o {MpzObjDir}bin_uiui.o {MpzObjDir}cdiv_q.o ¶ {MpzObjDir}cdiv_q_ui.o {MpzObjDir}cdiv_qr.o ¶ {MpzObjDir}cdiv_qr_ui.o {MpzObjDir}cdiv_r.o {MpzObjDir}cdiv_r_ui.o ¶ {MpzObjDir}cdiv_ui.o {MpzObjDir}clear.o {MpzObjDir}clrbit.o ¶ {MpzObjDir}cmp.o {MpzObjDir}cmp_si.o {MpzObjDir}cmp_ui.o ¶ {MpzObjDir}cmpabs.o {MpzObjDir}cmpabs_ui.o {MpzObjDir}com.o ¶ {MpzObjDir}divexact.o {MpzObjDir}dump.o {MpzObjDir}fac_ui.o ¶ {MpzObjDir}fdiv_q.o {MpzObjDir}fdiv_q_2exp.o ¶ {MpzObjDir}fdiv_q_ui.o {MpzObjDir}fdiv_qr.o ¶ {MpzObjDir}fdiv_qr_ui.o {MpzObjDir}fdiv_r.o ¶ {MpzObjDir}fdiv_r_2exp.o {MpzObjDir}fdiv_r_ui.o ¶ {MpzObjDir}fdiv_ui.o {MpzObjDir}fib_ui.o {MpzObjDir}fits_sint_p.o ¶ {MpzObjDir}fits_slong_p.o {MpzObjDir}fits_sshort_p.o ¶ {MpzObjDir}fits_uint_p.o {MpzObjDir}fits_ulong_p.o ¶ {MpzObjDir}fits_ushort_p.o {MpzObjDir}gcd.o {MpzObjDir}gcd_ui.o ¶ {MpzObjDir}gcdext.o {MpzObjDir}get_d.o {MpzObjDir}get_si.o ¶ {MpzObjDir}get_str.o {MpzObjDir}get_ui.o {MpzObjDir}getlimbn.o ¶ {MpzObjDir}hamdist.o {MpzObjDir}init.o {MpzObjDir}inp_raw.o ¶ {MpzObjDir}inp_str.o {MpzObjDir}invert.o {MpzObjDir}ior.o ¶ {MpzObjDir}iset.o {MpzObjDir}iset_d.o {MpzObjDir}iset_si.o ¶ {MpzObjDir}iset_str.o {MpzObjDir}iset_ui.o {MpzObjDir}jacobi.o ¶ {MpzObjDir}kronsz.o {MpzObjDir}kronuz.o {MpzObjDir}kronzs.o ¶ {MpzObjDir}kronzu.o {MpzObjDir}lcm.o {MpzObjDir}legendre.o ¶ {MpzObjDir}mod.o {MpzObjDir}mul.o {MpzObjDir}mul_2exp.o ¶ {MpzObjDir}neg.o {MpzObjDir}nextprime.o {MpzObjDir}out_raw.o ¶ {MpzObjDir}out_str.o {MpzObjDir}perfpow.o {MpzObjDir}perfsqr.o ¶ {MpzObjDir}popcount.o {MpzObjDir}pow_ui.o {MpzObjDir}powm.o ¶ {MpzObjDir}powm_ui.o {MpzObjDir}pprime_p.o {MpzObjDir}random.o ¶ {MpzObjDir}random2.o {MpzObjDir}realloc.o {MpzObjDir}remove.o ¶ {MpzObjDir}root.o {MpzObjDir}rrandomb.o {MpzObjDir}scan0.o ¶ {MpzObjDir}scan1.o {MpzObjDir}set.o {MpzObjDir}set_d.o ¶ {MpzObjDir}set_f.o {MpzObjDir}set_q.o {MpzObjDir}set_si.o ¶ {MpzObjDir}set_str.o {MpzObjDir}set_ui.o {MpzObjDir}setbit.o ¶ {MpzObjDir}size.o {MpzObjDir}sizeinbase.o {MpzObjDir}sqrt.o ¶ {MpzObjDir}sqrtrem.o {MpzObjDir}sub.o {MpzObjDir}sub_ui.o ¶ {MpzObjDir}swap.o {MpzObjDir}tdiv_ui.o {MpzObjDir}tdiv_q.o ¶ {MpzObjDir}tdiv_q_2exp.o {MpzObjDir}tdiv_q_ui.o ¶ {MpzObjDir}tdiv_qr.o {MpzObjDir}tdiv_qr_ui.o {MpzObjDir}tdiv_r.o ¶ {MpzObjDir}tdiv_r_2exp.o {MpzObjDir}tdiv_r_ui.o ¶ {MpzObjDir}tstbit.o {MpzObjDir}ui_pow_ui.o {MpzObjDir}urandomb.o ¶ {MpzObjDir}urandomm.o {MpzObjDir}xor.o {MpzObjDir}mul_si.o ¶ {MpzObjDir}mul_ui.o CmnObjs = ¶ {CmnObjDir}assert.o {CmnObjDir}compat.o {CmnObjDir}errno.o ¶ {CmnObjDir}memory.o {CmnObjDir}mp_set_fns.o ¶ {CmnObjDir}mp_clz_tab.o {CmnObjDir}mp_minv_tab.o {CmnObjDir}rand.o ¶ {CmnObjDir}randclr.o {CmnObjDir}randlc.o {CmnObjDir}randlc2x.o ¶ {CmnObjDir}randraw.o {CmnObjDir}randsd.o {CmnObjDir}randsdui.o ¶ {CmnObjDir}version.o {CmnObjDir}stack-alloc.o {CmnObjDir}mp_bpl.o ¶ {CmnObjDir}extract-dbl.o ¶ {CmnObjDir}insert-dbl.o Objs = {AsmObjs} {MpfObjs} {MpnObjs} {MpqObjs} {MpzObjs} {CmnObjs} ########################################################################### all Ä {Lib} {Lib} Ä {Objs} Makefile {Link} {LinkOptions} -o {Lib} {Objs} ########################################################################### # Special rules, got them from "mp[fqz]/Makefile.am" {MpzObjDir}mul_si.o Ä ::mpz:mul_siui.c Makefile {C} ::mpz:mul_siui.c -o {Targ} {COptions} -d OPERATION_mul_si {MpzObjDir}mul_ui.o Ä ::mpz:mul_siui.c Makefile {C} ::mpz:mul_siui.c -o {Targ} {COptions} -d OPERATION_mul_ui {MpfObjDir}floor.o Ä ::mpf:integer.c Makefile {C} ::mpf:integer.c -o {Targ} {COptions} -d OPERATION_floor {MpfObjDir}ceil.o Ä ::mpf:integer.c Makefile {C} ::mpf:integer.c -o {Targ} {COptions} -d OPERATION_ceil {MpfObjDir}trunc.o Ä ::mpf:integer.c Makefile {C} ::mpf:integer.c -o {Targ} {COptions} -d OPERATION_trunc ########################################################################### # Default rules/ directory rules {MpfObjDir} Ä ::mpf: {MpnObjDir} Ä ::mpn: ::mpn:generic: {MpqObjDir} Ä ::mpq: {MpzObjDir} Ä ::mpz: {CmnObjDir} Ä :: {AsmObjDir} Ä :Asm: {MpzBinDir} Ä ::mpz:tests: {MpqBinDir} Ä ::mpq:tests: {MpfBinDir} Ä ::mpf:tests: .o Ä .c Makefile {C} {DepDir}{default}.c -o {TargDir}{default}.o {COptions} .o Ä .s Makefile {Asm} {DepDir}{default}.s -o {TargDir}{default}.o {AOptions} clean Ä Delete -c -i {Lib} Delete -y {ObjDirs} Delete -c -i config.h Delete -c -i configure.mac Delete -c -i Makefile Delete -c -i RunTests Delete -c -i ::mpz:tests:Å.o Delete -c -i ::mpq:tests:Å.o Delete -c -i ::mpf:tests:Å.o Delete -c -i Å~ ########################################################################### # Test application FIXME: Not ready TestApp = test TestObj = test.o {TestApp} Ä {TestObj} {Link} -o {TestApp} {TestObj} {Lib} {SysLibs} ########################################################################### # FIXME: This does't work very well..... # FIXME: Find dependency somehow. With the Unix mkdep like # mkdep -I. -Imacos -Impn -Impn/powerpc32 -Impz \ # `find . -name "*.c" | grep -v Apple | grep -v tests | grep -v macos` # or some MPW tool. .exe Ä .o {Link} {ToolOptions} -o {TargDir}{default}.exe {DepDir}{default}.o ¶ {Lib} {SysLibs} check Ä check-mpz check-mpq check-mpf check-mpz Ä z-mul z-tdiv z-tdiv_ui z-fdiv z-fdiv_ui ¶ z-gcd z-dive z-sqrtrem z-convert z-logic z-bit ¶ z-powm z-powm_ui z-pow_ui z-2exp z-reuse z-root ¶ z-jac z-bin z-misc # FIXME: Left out z-io, can't compile it. z-mul Ä {MpzBinDir}t-mul.exe {MpzBinDir}t-mul.exe z-tdiv Ä {MpzBinDir}t-tdiv.exe {MpzBinDir}t-tdiv.exe z-tdiv_ui Ä {MpzBinDir}t-tdiv_ui.exe {MpzBinDir}t-tdiv_ui.exe z-fdiv Ä {MpzBinDir}t-fdiv.exe {MpzBinDir}t-fdiv.exe z-fdiv_ui Ä {MpzBinDir}t-fdiv_ui.exe {MpzBinDir}t-fdiv_ui.exe z-gcd Ä {MpzBinDir}t-gcd.exe {MpzBinDir}t-gcd.exe z-dive Ä {MpzBinDir}dive.exe {MpzBinDir}dive.exe z-sqrtrem Ä {MpzBinDir}t-sqrtrem.exe {MpzBinDir}t-sqrtrem.exe z-convert Ä {MpzBinDir}convert.exe {MpzBinDir}convert.exe z-io Ä {MpzBinDir}io.exe {MpzBinDir}io.exe z-logic Ä {MpzBinDir}logic.exe {MpzBinDir}logic.exe z-bit Ä {MpzBinDir}bit.exe {MpzBinDir}bit.exe z-powm Ä {MpzBinDir}t-powm.exe {MpzBinDir}t-powm.exe z-powm_ui Ä {MpzBinDir}t-powm_ui.exe {MpzBinDir}t-powm_ui.exe z-pow_ui Ä {MpzBinDir}t-pow_ui.exe {MpzBinDir}t-pow_ui.exe z-2exp Ä {MpzBinDir}t-2exp.exe {MpzBinDir}t-2exp.exe z-reuse Ä {MpzBinDir}reuse.exe {MpzBinDir}reuse.exe z-root Ä {MpzBinDir}t-root.exe {MpzBinDir}t-root.exe z-jac Ä {MpzBinDir}t-jac.exe {MpzBinDir}t-jac.exe z-bin Ä {MpzBinDir}t-bin.exe {MpzBinDir}t-bin.exe z-misc Ä {MpzBinDir}t-misc.exe {MpzBinDir}t-misc.exe check-mpq Ä q-cmp q-cmp_ui q-get_d q-cmp Ä {MpqBinDir}t-cmp.exe {MpqBinDir}t-cmp.exe q-cmp_ui Ä {MpqBinDir}t-cmp_ui.exe {MpqBinDir}t-cmp_ui.exe q-get_d Ä {MpqBinDir}t-get_d.exe {MpqBinDir}t-get_d.exe check-mpf Ä f-add f-sub f-conv f-sqrt f-muldiv f-dm2exp f-reuse ¶ f-get_d f-misc {MpfBinDir}t-add.exe Ä ::mpf:tests:t-add.o ::mpf:tests:ref.o {Link} {ToolOptions} -o {Targ} {Deps} {Lib} {SysLibs} {MpfBinDir}t-sub.exe Ä ::mpf:tests:t-sub.o ::mpf:tests:ref.o {Link} {ToolOptions} -o {Targ} {Deps} {Lib} {SysLibs} f-add Ä {MpfBinDir}t-add.exe {MpfBinDir}t-add.exe f-sub Ä {MpfBinDir}t-sub.exe {MpfBinDir}t-sub.exe f-conv Ä {MpfBinDir}t-conv.exe {MpfBinDir}t-conv.exe f-sqrt Ä {MpfBinDir}t-sqrt.exe {MpfBinDir}t-sqrt.exe f-muldiv Ä {MpfBinDir}t-muldiv.exe {MpfBinDir}t-muldiv.exe f-dm2exp Ä {MpfBinDir}t-dm2exp.exe {MpfBinDir}t-dm2exp.exe f-reuse Ä {MpfBinDir}reuse.exe {MpfBinDir}reuse.exe f-get_d Ä {MpfBinDir}t-get_d.exe {MpfBinDir}t-get_d.exe f-misc Ä {MpfBinDir}t-misc.exe {MpfBinDir}t-misc.exe \ No newline at end of file
diff --git a/macos/Makefile.cw b/macos/Makefile.cw
new file mode 100644
index 000000000..cb3e7d2d2
--- /dev/null
+++ b/macos/Makefile.cw
@@ -0,0 +1 @@
+# Copyright (C) 2000 Free Software Foundation, Inc. # This makefile.mpw is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. VERSION = 3.1 C = MWCPPC COptions = -opt all -w nounusedvar,noextended ¶ -i :: -i ::mpn:powerpc32 -i ::mpz ¶ -sym full -d random=rand -d srandom=srand Link = MWLinkPPC LinkOptions = -sym fullpath -library ToolOptions = -mpwtool Asm = PPCAsm AOptions = -sym on Lib = "libgmp.{VERSION}" # These are only needed for creating test programs as MPW tools SysLibs = "{SharedLibraries}"InterfaceLib ¶ "{MWPPCLibraries}MSL MPWCRuntime.Lib" ¶ "{MWPPCLibraries}MSL C.PPC MPW(NL).Lib" ¶ "{SharedLibraries}"MathLib # Where to put object code. The reason we don't put them into # the same directory is that some objectfiles have the same # name. MpfObjDir = :MpfObj: MpnObjDir = :MpnObj: MpqObjDir = :MpqObj: MpzObjDir = :MpzObj: CmnObjDir = :CmnObj: AsmObjDir = :AsmObj: AsmSrcDir = :Asm: MpfBinDir = :MpfBin: MpqBinDir = :MpqBin: MpzBinDir = :MpzBin: ObjDirs = {MpfObjDir} {MpnObjDir} {MpqObjDir} {MpzObjDir} ¶ {CmnObjDir} {AsmObjDir} {AsmSrcDir} ¶ {MpfBinDir} {MpqBinDir} {MpzBinDir} ########################################################################### AsmObjs = {AsmObjDir}add_n.o ¶ {AsmObjDir}addmul_1.o ¶ {AsmObjDir}lshift.o ¶ {AsmObjDir}mul_1.o ¶ {AsmObjDir}rshift.o ¶ {AsmObjDir}sub_n.o ¶ {AsmObjDir}submul_1.o AsmSrc = {AsmSrcDir}add_n.s ¶ {AsmSrcDir}addmul_1.s ¶ {AsmSrcDir}lshift.s ¶ {AsmSrcDir}mul_1.s ¶ {AsmSrcDir}rshift.s ¶ {AsmSrcDir}sub_n.s ¶ {AsmSrcDir}submul_1.s MpnObjs = {MpnObjDir}mp_bases.o ¶ {MpnObjDir}bdivmod.o {MpnObjDir}bz_divrem_n.o {MpnObjDir}cmp.o ¶ {MpnObjDir}diveby3.o {MpnObjDir}divrem.o {MpnObjDir}divrem_1.o ¶ {MpnObjDir}divrem_2.o {MpnObjDir}dump.o {MpnObjDir}gcd.o ¶ {MpnObjDir}gcd_1.o {MpnObjDir}gcdext.o {MpnObjDir}get_str.o ¶ {MpnObjDir}hamdist.o {MpnObjDir}inlines.o {MpnObjDir}jacbase.o ¶ {MpnObjDir}mod_1.o {MpnObjDir}mod_1_rs.o {MpnObjDir}mul.o ¶ {MpnObjDir}mul_basecase.o {MpnObjDir}mul_n.o {MpnObjDir}perfsqr.o ¶ {MpnObjDir}popcount.o {MpnObjDir}pre_mod_1.o {MpnObjDir}random.o ¶ {MpnObjDir}random2.o {MpnObjDir}sb_divrem_mn.o {MpnObjDir}scan0.o ¶ {MpnObjDir}scan1.o {MpnObjDir}set_str.o {MpnObjDir}sqr_basecase.o ¶ {MpnObjDir}sqrtrem.o ¶ {MpnObjDir}tdiv_qr.o MpfObjs = ¶ {MpfObjDir}init.o {MpfObjDir}init2.o {MpfObjDir}set.o ¶ {MpfObjDir}set_ui.o {MpfObjDir}set_si.o {MpfObjDir}set_str.o ¶ {MpfObjDir}set_d.o {MpfObjDir}set_z.o {MpfObjDir}set_q.o ¶ {MpfObjDir}iset.o {MpfObjDir}iset_ui.o {MpfObjDir}iset_si.o ¶ {MpfObjDir}iset_str.o {MpfObjDir}iset_d.o {MpfObjDir}clear.o ¶ {MpfObjDir}get_str.o {MpfObjDir}dump.o {MpfObjDir}size.o ¶ {MpfObjDir}eq.o {MpfObjDir}reldiff.o {MpfObjDir}sqrt.o ¶ {MpfObjDir}random2.o {MpfObjDir}inp_str.o {MpfObjDir}out_str.o ¶ {MpfObjDir}add.o {MpfObjDir}add_ui.o {MpfObjDir}sub.o ¶ {MpfObjDir}sub_ui.o {MpfObjDir}ui_sub.o {MpfObjDir}mul.o ¶ {MpfObjDir}mul_ui.o {MpfObjDir}div.o {MpfObjDir}div_ui.o ¶ {MpfObjDir}cmp.o {MpfObjDir}cmp_ui.o {MpfObjDir}cmp_si.o ¶ {MpfObjDir}mul_2exp.o {MpfObjDir}div_2exp.o {MpfObjDir}abs.o ¶ {MpfObjDir}neg.o {MpfObjDir}get_d.o {MpfObjDir}set_dfl_prec.o ¶ {MpfObjDir}set_prc.o {MpfObjDir}set_prc_raw.o {MpfObjDir}get_prc.o ¶ {MpfObjDir}ui_div.o {MpfObjDir}sqrt_ui.o {MpfObjDir}pow_ui.o ¶ {MpfObjDir}urandomb.o {MpfObjDir}swap.o {MpfObjDir}floor.o ¶ {MpfObjDir}ceil.o ¶ {MpfObjDir}trunc.o MpqObjs = ¶ {MpqObjDir}add.o {MpqObjDir}canonicalize.o {MpqObjDir}clear.o ¶ {MpqObjDir}cmp.o {MpqObjDir}cmp_ui.o {MpqObjDir}div.o ¶ {MpqObjDir}get_d.o {MpqObjDir}get_den.o {MpqObjDir}get_num.o ¶ {MpqObjDir}init.o {MpqObjDir}inv.o {MpqObjDir}mul.o ¶ {MpqObjDir}neg.o {MpqObjDir}out_str.o {MpqObjDir}set.o ¶ {MpqObjDir}set_den.o {MpqObjDir}set_num.o {MpqObjDir}set_si.o ¶ {MpqObjDir}set_ui.o {MpqObjDir}sub.o {MpqObjDir}equal.o ¶ {MpqObjDir}set_z.o {MpqObjDir}set_d.o ¶ {MpqObjDir}swap.o MpzObjs = ¶ {MpzObjDir}abs.o {MpzObjDir}add.o {MpzObjDir}add_ui.o ¶ {MpzObjDir}addmul_ui.o {MpzObjDir}and.o {MpzObjDir}array_init.o ¶ {MpzObjDir}bin_ui.o {MpzObjDir}bin_uiui.o {MpzObjDir}cdiv_q.o ¶ {MpzObjDir}cdiv_q_ui.o {MpzObjDir}cdiv_qr.o ¶ {MpzObjDir}cdiv_qr_ui.o {MpzObjDir}cdiv_r.o {MpzObjDir}cdiv_r_ui.o ¶ {MpzObjDir}cdiv_ui.o {MpzObjDir}clear.o {MpzObjDir}clrbit.o ¶ {MpzObjDir}cmp.o {MpzObjDir}cmp_si.o {MpzObjDir}cmp_ui.o ¶ {MpzObjDir}cmpabs.o {MpzObjDir}cmpabs_ui.o {MpzObjDir}com.o ¶ {MpzObjDir}divexact.o {MpzObjDir}dump.o {MpzObjDir}fac_ui.o ¶ {MpzObjDir}fdiv_q.o {MpzObjDir}fdiv_q_2exp.o ¶ {MpzObjDir}fdiv_q_ui.o {MpzObjDir}fdiv_qr.o ¶ {MpzObjDir}fdiv_qr_ui.o {MpzObjDir}fdiv_r.o ¶ {MpzObjDir}fdiv_r_2exp.o {MpzObjDir}fdiv_r_ui.o ¶ {MpzObjDir}fdiv_ui.o {MpzObjDir}fib_ui.o {MpzObjDir}fits_sint_p.o ¶ {MpzObjDir}fits_slong_p.o {MpzObjDir}fits_sshort_p.o ¶ {MpzObjDir}fits_uint_p.o {MpzObjDir}fits_ulong_p.o ¶ {MpzObjDir}fits_ushort_p.o {MpzObjDir}gcd.o {MpzObjDir}gcd_ui.o ¶ {MpzObjDir}gcdext.o {MpzObjDir}get_d.o {MpzObjDir}get_si.o ¶ {MpzObjDir}get_str.o {MpzObjDir}get_ui.o {MpzObjDir}getlimbn.o ¶ {MpzObjDir}hamdist.o {MpzObjDir}init.o {MpzObjDir}inp_raw.o ¶ {MpzObjDir}inp_str.o {MpzObjDir}invert.o {MpzObjDir}ior.o ¶ {MpzObjDir}iset.o {MpzObjDir}iset_d.o {MpzObjDir}iset_si.o ¶ {MpzObjDir}iset_str.o {MpzObjDir}iset_ui.o {MpzObjDir}jacobi.o ¶ {MpzObjDir}kronsz.o {MpzObjDir}kronuz.o {MpzObjDir}kronzs.o ¶ {MpzObjDir}kronzu.o {MpzObjDir}lcm.o {MpzObjDir}legendre.o ¶ {MpzObjDir}mod.o {MpzObjDir}mul.o {MpzObjDir}mul_2exp.o ¶ {MpzObjDir}neg.o {MpzObjDir}nextprime.o {MpzObjDir}out_raw.o ¶ {MpzObjDir}out_str.o {MpzObjDir}perfpow.o {MpzObjDir}perfsqr.o ¶ {MpzObjDir}popcount.o {MpzObjDir}pow_ui.o {MpzObjDir}powm.o ¶ {MpzObjDir}powm_ui.o {MpzObjDir}pprime_p.o {MpzObjDir}random.o ¶ {MpzObjDir}random2.o {MpzObjDir}realloc.o {MpzObjDir}remove.o ¶ {MpzObjDir}root.o {MpzObjDir}rrandomb.o {MpzObjDir}scan0.o ¶ {MpzObjDir}scan1.o {MpzObjDir}set.o {MpzObjDir}set_d.o ¶ {MpzObjDir}set_f.o {MpzObjDir}set_q.o {MpzObjDir}set_si.o ¶ {MpzObjDir}set_str.o {MpzObjDir}set_ui.o {MpzObjDir}setbit.o ¶ {MpzObjDir}size.o {MpzObjDir}sizeinbase.o {MpzObjDir}sqrt.o ¶ {MpzObjDir}sqrtrem.o {MpzObjDir}sub.o {MpzObjDir}sub_ui.o ¶ {MpzObjDir}swap.o {MpzObjDir}tdiv_ui.o {MpzObjDir}tdiv_q.o ¶ {MpzObjDir}tdiv_q_2exp.o {MpzObjDir}tdiv_q_ui.o ¶ {MpzObjDir}tdiv_qr.o {MpzObjDir}tdiv_qr_ui.o {MpzObjDir}tdiv_r.o ¶ {MpzObjDir}tdiv_r_2exp.o {MpzObjDir}tdiv_r_ui.o ¶ {MpzObjDir}tstbit.o {MpzObjDir}ui_pow_ui.o {MpzObjDir}urandomb.o ¶ {MpzObjDir}urandomm.o {MpzObjDir}xor.o {MpzObjDir}mul_si.o ¶ {MpzObjDir}mul_ui.o CmnObjs = ¶ {CmnObjDir}assert.o {CmnObjDir}compat.o {CmnObjDir}errno.o ¶ {CmnObjDir}memory.o {CmnObjDir}mp_set_fns.o ¶ {CmnObjDir}mp_clz_tab.o {CmnObjDir}mp_minv_tab.o {CmnObjDir}rand.o ¶ {CmnObjDir}randclr.o {CmnObjDir}randlc.o {CmnObjDir}randlc2x.o ¶ {CmnObjDir}randraw.o {CmnObjDir}randsd.o {CmnObjDir}randsdui.o ¶ {CmnObjDir}version.o {CmnObjDir}stack-alloc.o {CmnObjDir}mp_bpl.o ¶ {CmnObjDir}extract-dbl.o ¶ {CmnObjDir}insert-dbl.o Objs = {AsmObjs} {MpfObjs} {MpnObjs} {MpqObjs} {MpzObjs} {CmnObjs} ########################################################################### all Ä {Lib} {Lib} Ä {Objs} Makefile {Link} {LinkOptions} -o {Lib} {Objs} ########################################################################### # Special rules, got them from "mp[fqz]/Makefile.am" {MpzObjDir}mul_si.o Ä ::mpz:mul_siui.c Makefile {C} ::mpz:mul_siui.c -o {Targ} {COptions} -d OPERATION_mul_si {MpzObjDir}mul_ui.o Ä ::mpz:mul_siui.c Makefile {C} ::mpz:mul_siui.c -o {Targ} {COptions} -d OPERATION_mul_ui {MpfObjDir}floor.o Ä ::mpf:integer.c Makefile {C} ::mpf:integer.c -o {Targ} {COptions} -d OPERATION_floor {MpfObjDir}ceil.o Ä ::mpf:integer.c Makefile {C} ::mpf:integer.c -o {Targ} {COptions} -d OPERATION_ceil {MpfObjDir}trunc.o Ä ::mpf:integer.c Makefile {C} ::mpf:integer.c -o {Targ} {COptions} -d OPERATION_trunc ########################################################################### # Default rules/ directory rules {MpfObjDir} Ä ::mpf: {MpnObjDir} Ä ::mpn: ::mpn:generic: {MpqObjDir} Ä ::mpq: {MpzObjDir} Ä ::mpz: {CmnObjDir} Ä :: {AsmObjDir} Ä :Asm: {MpzBinDir} Ä ::mpz:tests: {MpqBinDir} Ä ::mpq:tests: {MpfBinDir} Ä ::mpf:tests: .o Ä .c Makefile {C} {DepDir}{default}.c -o {TargDir}{default}.o {COptions} .o Ä .s Makefile {Asm} {DepDir}{default}.s -o {TargDir}{default}.o {AOptions} clean Ä Delete -c -i {Lib} Delete -y {ObjDirs} Delete -c -i config.h Delete -c -i configure.mac Delete -c -i Makefile Delete -c -i RunTests Delete -c -i ::mpz:tests:Å.o Delete -c -i ::mpq:tests:Å.o Delete -c -i ::mpf:tests:Å.o Delete -c -i Å~ ########################################################################### # Test application FIXME: Not ready TestApp = test TestObj = test.o {TestApp} Ä {TestObj} {Link} -o {TestApp} {TestObj} {Lib} {SysLibs} ########################################################################### # FIXME: This does't work very well..... # FIXME: Find dependency somehow. With the Unix mkdep like # mkdep -I. -Imacos -Impn -Impn/powerpc32 -Impz \ # `find . -name "*.c" | grep -v Apple | grep -v tests | grep -v macos` # or some MPW tool. .exe Ä .o {Link} {ToolOptions} -o {TargDir}{default}.exe {DepDir}{default}.o ¶ {Lib} {SysLibs} check Ä check-mpz check-mpq check-mpf check-mpz Ä z-mul z-tdiv z-tdiv_ui z-fdiv z-fdiv_ui ¶ z-gcd z-dive z-sqrtrem z-convert z-logic z-bit ¶ z-powm z-powm_ui z-pow_ui z-2exp z-reuse z-root ¶ z-jac z-bin z-misc # FIXME: Left out z-io, can't compile it. z-mul Ä {MpzBinDir}t-mul.exe {MpzBinDir}t-mul.exe z-tdiv Ä {MpzBinDir}t-tdiv.exe {MpzBinDir}t-tdiv.exe z-tdiv_ui Ä {MpzBinDir}t-tdiv_ui.exe {MpzBinDir}t-tdiv_ui.exe z-fdiv Ä {MpzBinDir}t-fdiv.exe {MpzBinDir}t-fdiv.exe z-fdiv_ui Ä {MpzBinDir}t-fdiv_ui.exe {MpzBinDir}t-fdiv_ui.exe z-gcd Ä {MpzBinDir}t-gcd.exe {MpzBinDir}t-gcd.exe z-dive Ä {MpzBinDir}dive.exe {MpzBinDir}dive.exe z-sqrtrem Ä {MpzBinDir}t-sqrtrem.exe {MpzBinDir}t-sqrtrem.exe z-convert Ä {MpzBinDir}convert.exe {MpzBinDir}convert.exe z-io Ä {MpzBinDir}io.exe {MpzBinDir}io.exe z-logic Ä {MpzBinDir}logic.exe {MpzBinDir}logic.exe z-bit Ä {MpzBinDir}bit.exe {MpzBinDir}bit.exe z-powm Ä {MpzBinDir}t-powm.exe {MpzBinDir}t-powm.exe z-powm_ui Ä {MpzBinDir}t-powm_ui.exe {MpzBinDir}t-powm_ui.exe z-pow_ui Ä {MpzBinDir}t-pow_ui.exe {MpzBinDir}t-pow_ui.exe z-2exp Ä {MpzBinDir}t-2exp.exe {MpzBinDir}t-2exp.exe z-reuse Ä {MpzBinDir}reuse.exe {MpzBinDir}reuse.exe z-root Ä {MpzBinDir}t-root.exe {MpzBinDir}t-root.exe z-jac Ä {MpzBinDir}t-jac.exe {MpzBinDir}t-jac.exe z-bin Ä {MpzBinDir}t-bin.exe {MpzBinDir}t-bin.exe z-misc Ä {MpzBinDir}t-misc.exe {MpzBinDir}t-misc.exe check-mpq Ä q-cmp q-cmp_ui q-get_d q-cmp Ä {MpqBinDir}t-cmp.exe {MpqBinDir}t-cmp.exe q-cmp_ui Ä {MpqBinDir}t-cmp_ui.exe {MpqBinDir}t-cmp_ui.exe q-get_d Ä {MpqBinDir}t-get_d.exe {MpqBinDir}t-get_d.exe check-mpf Ä f-add f-sub f-conv f-sqrt f-muldiv f-dm2exp f-reuse ¶ f-get_d f-misc {MpfBinDir}t-add.exe Ä ::mpf:tests:t-add.o ::mpf:tests:ref.o {Link} {ToolOptions} -o {Targ} {Deps} {Lib} {SysLibs} {MpfBinDir}t-sub.exe Ä ::mpf:tests:t-sub.o ::mpf:tests:ref.o {Link} {ToolOptions} -o {Targ} {Deps} {Lib} {SysLibs} f-add Ä {MpfBinDir}t-add.exe {MpfBinDir}t-add.exe f-sub Ä {MpfBinDir}t-sub.exe {MpfBinDir}t-sub.exe f-conv Ä {MpfBinDir}t-conv.exe {MpfBinDir}t-conv.exe f-sqrt Ä {MpfBinDir}t-sqrt.exe {MpfBinDir}t-sqrt.exe f-muldiv Ä {MpfBinDir}t-muldiv.exe {MpfBinDir}t-muldiv.exe f-dm2exp Ä {MpfBinDir}t-dm2exp.exe {MpfBinDir}t-dm2exp.exe f-reuse Ä {MpfBinDir}reuse.exe {MpfBinDir}reuse.exe f-get_d Ä {MpfBinDir}t-get_d.exe {MpfBinDir}t-get_d.exe f-misc Ä {MpfBinDir}t-misc.exe {MpfBinDir}t-misc.exe \ No newline at end of file
diff --git a/macos/README b/macos/README
index 55b6bedad..745c99c97 100644
--- a/macos/README
+++ b/macos/README
@@ -23,8 +23,6 @@ Not all tests pass
If using Apple's compilers I never run the mpz t-mul, mpf t-add
and mpf t-sub because they don't compile with MrC 4.1
- The 'mpf/t-muldiv' test fails, see PROBLEMS section below
-
REQUIREMENTS
@@ -35,19 +33,6 @@ To compile into the library you need
Apple MPW (free) or CodeWarrior MPW
(GMP build was tested with CodeWarrior Pro 5)
- MacPerl 5 for MPW
-
-MacPerl is free, download and install the MPW tool version from
-
- http://www.macperl.com
-
-You need the "Appl" and "Tool" archive, for example
-
- http://www.perl.com/CPAN-local/ports/mac/Mac_Perl_520r4_appl.bin
- http://www.perl.com/CPAN-local/ports/mac/Mac_Perl_520r4_tool.bin
-
-See the file "Install.MPW_Perl" for MPW Perl installation instructions.
-
For compiling with the free Apple MPW development system you need a
68K Macintosh with a 68020 or higher microprocessor, or any Power
Macintosh with at least 8 Mb of memory and MacOS 7.5 or later.
@@ -132,26 +117,23 @@ BUILD PROCESS
=============
The "macos" folder/directory should be inside the top directory in the
-GMP source tree and should contain three files
+GMP source tree and should contain six files
README This file
configure Create files and directories needed
unix2mac Used to convert "configure" end-of-line chars
Makefile.in Source for the final "Makefile"
+ Makefile MPW make file that uses the Apple environment.
+ Makefile.cw MPW make file that uses the Metrowerk
+ CodeWarrior environment.
Double click on the "MPW Shell" icon and set the directory using the
"Directory" menu to the "$GMP_SOURCE_DIR:macos:" folder/directory.
-Run "configure" in a two step process
-
- % perl unix2mac configure > configure.mac
- % perl configure.mac
- or % perl configure.mac cw
-
-If you use CodeWarrior MPW you need to add the argument "cw" to the
-configure script. Then run "Make"
+Then run "Make"
% make
+ or % make -f Makefile.cw
This will not execute the commands. It is like "make -n" on Unix, and
will display the commands to execute. You select the commands and
@@ -173,6 +155,33 @@ Note that this will remove the resulting library as well.
+GMP DEVELOPERS
+==============
+
+If you are a GMP developer, i.e. change any GMP files, you may need to
+recreate the make file. Then you need MacPerl 5 for MPW. MacPerl is
+free, download and install the MPW tool version from
+
+ http://www.macperl.com
+
+You need the "Appl" and "Tool" archive, for example
+
+ http://www.perl.com/CPAN-local/ports/mac/Mac_Perl_520r4_appl.bin
+ http://www.perl.com/CPAN-local/ports/mac/Mac_Perl_520r4_tool.bin
+
+See the file "Install.MPW_Perl" for MPW Perl installation instructions.
+
+You run "configure" in a two step process
+
+ % perl unix2mac configure > configure.mac
+ % perl configure.mac
+ or % perl configure.mac cw
+
+If you use CodeWarrior MPW you need to add the argument "cw" to the
+configure script.
+
+
+
PROBLEMS
========
@@ -188,34 +197,19 @@ is likely to break this MacOS port.
The library uses stream I/O operations for some of the GMP functions
and maybe for some error messages. This means that to link this
library to form a normal Mac application you may get link problems,
-i.e. a Mac normally has no console/shell to write to. I "think" there
-is some sort of glue library or something to link with but
-unfortunately I don't really know at the moment.
+i.e. a Mac normally has no console/shell to write to.
-The "return" key and the "enter" key mean different things to MPW.
-The first just add a line break, the second send the line your
-pointer is at or the selection you have to the MPW command
-interpreter.
+If you are unfamiliar with MPW note that the "return" key and the
+"enter" key mean different things to MPW. The first just add a line
+break, the second send the line your pointer is at or the selection
+you have to the MPW command interpreter.
-If you mount the GMP source from a Unix netatalk server don't edit or
-remote files from the Unix side. MPW and MacOS gets very confused
-about what file and directories that are there or not.
+If you mount the GMP source from a Unix netatalk server don't move or
+remove files from the Unix side. MPW cache information about what
+the file system looks like and MacOS gets very confused or crash.
If you really need a MacOS m68k version of GMP let me know and I may
take the time to do the port.
-The 'mpf/t-muldiv' test fails if compiled with MWPPC
-
- ERROR in mpf_mul or mpf_div after 97366 tests
- u = 0.5048709791063773838898876874312608802911e-28
- v = 0.9313190219018526546832738459330147632116e-9
- x = 0.50487097910637738388988768743126088029113124439203043966433e-28
- w = 0.54210315394973578595915199220823233621433472905573800979413e-19
-
-The values 'u' and 'x' should be "close" but are not close enough for
-the test case. This may or may not indicate a bug in the MWPCC
-compiler. There is no complaint using the MrC compiler but I'm not sure
-the same semi-random sequence is used.
-
Kent Boortz <kent@swox.se>
diff --git a/macos/config.h b/macos/config.h
new file mode 100644
index 000000000..2e88cd3e2
--- /dev/null
+++ b/macos/config.h
@@ -0,0 +1,159 @@
+/* config.in. Generated automatically from configure.in by autoheader. */
+/*
+Copyright (C) 2000 Free Software Foundation, Inc.
+
+This file is part of the GNU MP Library.
+
+The GNU MP Library is free software; you can redistribute it and/or modify
+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.
+
+The GNU MP Library 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 the GNU MP Library; see the file COPYING.LIB. If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+MA 02111-1307, USA.
+*/
+
+
+/* Define if a limb is long long. */
+#undef _LONG_LONG_LIMB
+
+/* Define if we have native implementation of function. */
+#undef HAVE_NATIVE_
+#undef HAVE_NATIVE_mpn_add
+#undef HAVE_NATIVE_mpn_add_1
+#define HAVE_NATIVE_mpn_add_n 1
+#undef HAVE_NATIVE_mpn_add_nc
+#define HAVE_NATIVE_mpn_addmul_1 1
+#undef HAVE_NATIVE_mpn_addmul_1c
+#undef HAVE_NATIVE_mpn_addsub_n
+#undef HAVE_NATIVE_mpn_addsub_nc
+#undef HAVE_NATIVE_mpn_and_n
+#undef HAVE_NATIVE_mpn_andn_n
+#undef HAVE_NATIVE_mpn_bdivmod
+#undef HAVE_NATIVE_mpn_cmp
+#undef HAVE_NATIVE_mpn_com_n
+#undef HAVE_NATIVE_mpn_copyd
+#undef HAVE_NATIVE_mpn_copyi
+#undef HAVE_NATIVE_mpn_divexact_by3c
+#undef HAVE_NATIVE_mpn_divrem
+#undef HAVE_NATIVE_mpn_divrem_1
+#undef HAVE_NATIVE_mpn_divrem_1c
+#undef HAVE_NATIVE_mpn_divrem_2
+#undef HAVE_NATIVE_mpn_divrem_newton
+#undef HAVE_NATIVE_mpn_divrem_classic
+#undef HAVE_NATIVE_mpn_dump
+#undef HAVE_NATIVE_mpn_gcd
+#undef HAVE_NATIVE_mpn_gcd_1
+#undef HAVE_NATIVE_mpn_gcdext
+#undef HAVE_NATIVE_mpn_get_str
+#undef HAVE_NATIVE_mpn_hamdist
+#undef HAVE_NATIVE_mpn_invert_limb
+#undef HAVE_NATIVE_mpn_ior_n
+#undef HAVE_NATIVE_mpn_iorn_n
+#define HAVE_NATIVE_mpn_lshift 1
+#undef HAVE_NATIVE_mpn_mod_1
+#undef HAVE_NATIVE_mpn_mod_1c
+#undef HAVE_NATIVE_mpn_mul
+#define HAVE_NATIVE_mpn_mul_1 1
+#undef HAVE_NATIVE_mpn_mul_1c
+#undef HAVE_NATIVE_mpn_mul_basecase
+#undef HAVE_NATIVE_mpn_mul_n
+#undef HAVE_NATIVE_mpn_nand_n
+#undef HAVE_NATIVE_mpn_nior_n
+#undef HAVE_NATIVE_mpn_perfect_square_p
+#undef HAVE_NATIVE_mpn_popcount
+#undef HAVE_NATIVE_mpn_preinv_mod_1
+#undef HAVE_NATIVE_mpn_random2
+#undef HAVE_NATIVE_mpn_random
+#undef HAVE_NATIVE_mpn_rawrandom
+#define HAVE_NATIVE_mpn_rshift 1
+#undef HAVE_NATIVE_mpn_scan0
+#undef HAVE_NATIVE_mpn_scan1
+#undef HAVE_NATIVE_mpn_set_str
+#undef HAVE_NATIVE_mpn_sqrtrem
+#undef HAVE_NATIVE_mpn_sqr_basecase
+#undef HAVE_NATIVE_mpn_sub
+#undef HAVE_NATIVE_mpn_sub_1
+#define HAVE_NATIVE_mpn_sub_n 1
+#undef HAVE_NATIVE_mpn_sub_nc
+#define HAVE_NATIVE_mpn_submul_1 1
+#undef HAVE_NATIVE_mpn_submul_1c
+#undef HAVE_NATIVE_mpn_udiv_w_sdiv
+#undef HAVE_NATIVE_mpn_umul_ppmm
+#undef HAVE_NATIVE_mpn_udiv_qrnnd
+#undef HAVE_NATIVE_mpn_xor_n
+#undef HAVE_NATIVE_mpn_xnor_n
+
+/* Define to 1 if you have the declaration of `optarg', and to 0 if you don't.
+ */
+#undef HAVE_DECL_OPTARG
+
+/* ./configure --enable-assert option, to enable some ASSERT()s */
+#undef WANT_ASSERT
+
+/* Define if you have the <sys/sysctl.h> header file. */
+#undef HAVE_SYS_SYSCTL_H
+
+/* Define if you have the `strtoul' function. */
+#undef HAVE_STRTOUL
+
+/* Name of package */
+#define PACKAGE "gmp"
+
+/* Define if you have the `sysctlbyname' function. */
+#undef HAVE_SYSCTLBYNAME
+
+/* Define if the system has the type `void'. */
+#undef HAVE_VOID
+
+/* Define if you have the `popen' function. */
+#undef HAVE_POPEN
+
+/* ./configure --disable-alloca option, to use stack-alloc.c, not alloca */
+#undef USE_STACK_ALLOC
+
+/* Define if cpp supports the ANSI # stringizing operator. */
+#undef HAVE_STRINGIZE
+
+/* Define if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define if you have the `sysconf' function. */
+#undef HAVE_SYSCONF
+
+/* Define if you have the `getpagesize' function. */
+#undef HAVE_GETPAGESIZE
+
+/* Define if you have the `processor_info' function. */
+#undef HAVE_PROCESSOR_INFO
+
+/* Version number of package */
+#define VERSION "3.1"
+
+/* Define if you have the `getopt_long' function. */
+#undef HAVE_GETOPT_LONG
+
+/* Define if you have the <getopt.h> header file. */
+#undef HAVE_GETOPT_H
+
+/* Define if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define if a speed_cyclecounter exists (for the tune programs) */
+#undef HAVE_SPEED_CYCLECOUNTER
+
+/* Define if mpn/tests has calling conventions checking for the CPU */
+#undef HAVE_CALLING_CONVENTIONS
+
+/* Define if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
diff --git a/macos/configure b/macos/configure
index 70c715b72..9e57adfc1 100755
--- a/macos/configure
+++ b/macos/configure
@@ -65,8 +65,6 @@ sub mf {
return $path;
}
-my ($re,$de,$up) = $^O eq 'MacOS' ? (':',':','::') : ('','/','../');
-
###########################################################################
#
@@ -152,19 +150,11 @@ my $asm_start = "\ttoc"; # No dot, like ".dot"?
$cfg = \%cfg_apple; # Default
-$cfg = \%cfg_cw
- if @ARGV and $ARGV[0] =~ /^cw|co/i;
-
-my ($files,$optional,$package,$version) = parse_top_configure($configure);
-
-if (@ARGV and $ARGV[0] eq 'parse_test') {
- print join("\n", @$files), "\n";
- exit 0;
+if (@ARGV and $ARGV[0] =~ /^cw|co/) {
+ $cfg = \%cfg_cw;
+ $make .= '.cw';
}
-my %mpn_objects = map {$_ => 1} (@$files,@$optional);
-my %mpn_optional = map {$_ => 1} @$optional;
-
###########################################################################
#
# Create directories
@@ -178,6 +168,16 @@ foreach (@dirs) {
###########################################################################
#
+# Parse top configure file for mpn files
+#
+###########################################################################
+
+my ($files,$optional,$package,$version) = parse_top_configure($configure);
+my %mpn_objects = map {$_ => 1} (@$files,@$optional);
+my %mpn_optional = map {$_ => 1} @$optional;
+
+###########################################################################
+#
# Create config.h from ../config.in
#
###########################################################################