From d8870f53dd1563015cd621ad9fd333964f243d1b Mon Sep 17 00:00:00 2001 From: Paul Zimmermann <Paul.Zimmermann@inria.fr> Date: Thu, 20 Jun 2024 15:27:07 +0200 Subject: [PATCH] removed build.vc12, build.vc14 and build.vc15 (Brian Gladman only maintains build.vs) --- Makefile.am | 2 +- build.vc12/Makefile.am | 7 - build.vc12/assembler/Makefile.am | 3 - build.vc12/assembler/a_win32a_mulredc.asm | 181 --- build.vc12/assembler/a_win32a_redc.asm | 133 -- build.vc12/assembler/a_win32p_mulredc.asm | 148 -- build.vc12/assembler/a_win32p_redc.asm | 145 -- build.vc12/assembler/a_x64_mulredc.asm | 237 --- build.vc12/assembler/a_x64_redc.asm | 161 --- build.vc12/assembler/mulredc.asm | 8 - build.vc12/assembler/mulredc.h | 32 - build.vc12/assembler/redc.asm | 7 - build.vc12/assembler/test_mulredc.c | 303 ---- build.vc12/bench_mulredc/Makefile.am | 1 - .../bench_mulredc/bench_mulredc.vcxproj | 170 --- .../bench_mulredc.vcxproj.filters | 23 - build.vc12/config.h | 246 ---- build.vc12/ecm.sln | 58 - build.vc12/ecm/Makefile.am | 1 - build.vc12/ecm/ecm.vcxproj | 237 --- build.vc12/ecm/ecm.vcxproj.filters | 71 - build.vc12/ecm_gpu.sln | 39 - build.vc12/ecm_gpu/Makefile.am | 1 - build.vc12/ecm_gpu/ecm_gpu.vcxproj | 279 ---- build.vc12/ecm_gpu/ecm_gpu.vcxproj.filters | 75 - build.vc12/file_copy.bat | 4 - build.vc12/gen_ecm_h.bat | 13 - build.vc12/getopt.c | 1281 ----------------- build.vc12/getopt.h | 182 --- build.vc12/getrusage.c | 71 - build.vc12/getrusage.h | 46 - build.vc12/gettimeofday.c | 39 - build.vc12/gettimeofday.h | 34 - build.vc12/libecm/Makefile.am | 2 - build.vc12/libecm/libecm.vcxproj | 266 ---- build.vc12/libecm/libecm.vcxproj.filters | 193 --- build.vc12/libecm_gpu/Makefile.am | 1 - build.vc12/libecm_gpu/libecm_gpu.vcxproj | 330 ----- .../libecm_gpu/libecm_gpu.vcxproj.filters | 190 --- build.vc12/mp_lib.props | 20 - build.vc12/out_copy_rename.bat | 31 - build.vc12/prebuild.bat | 3 - build.vc12/python.bat | 2 - build.vc12/readme.txt | 172 --- build.vc12/tests.py | 150 -- build.vc12/tune/Makefile.am | 1 - build.vc12/tune/tune.vcxproj | 161 --- build.vc12/tune/tune.vcxproj.filters | 109 -- build.vc12/vacopy.c | 8 - build.vc12/vsyasm.props | 27 - build.vc12/vsyasm.targets | 108 -- build.vc12/vsyasm.xml | 283 ---- build.vc14/Makefile.am | 7 - build.vc14/assembler/Makefile.am | 3 - build.vc14/assembler/a_win32a_redc.asm | 133 -- build.vc14/assembler/a_win32p_mulredc.asm | 148 -- build.vc14/assembler/a_win32p_redc.asm | 145 -- build.vc14/assembler/a_x64_mulredc.asm | 237 --- build.vc14/assembler/a_x64_redc.asm | 161 --- build.vc14/assembler/mulredc.asm | 8 - build.vc14/assembler/mulredc.h | 32 - build.vc14/assembler/redc.asm | 7 - build.vc14/assembler/test_mulredc.c | 303 ---- build.vc14/bench_mulredc/Makefile.am | 1 - .../bench_mulredc/bench_mulredc.vcxproj | 170 --- .../bench_mulredc.vcxproj.filters | 23 - build.vc14/config.h | 246 ---- build.vc14/ecm.sln | 70 - build.vc14/ecm/Makefile.am | 1 - build.vc14/ecm/ecm.vcxproj | 239 --- build.vc14/ecm/ecm.vcxproj.filters | 74 - build.vc14/ecm_gpu.sln | 39 - build.vc14/ecm_gpu/Makefile.am | 1 - build.vc14/ecm_gpu/ecm.vcxproj.filters | 68 - build.vc14/ecm_gpu/ecm_gpu.vcxproj | 286 ---- build.vc14/ecm_gpu/ecm_gpu.vcxproj.filters | 78 - build.vc14/file_copy.bat | 4 - build.vc14/gen_ecm_h.bat | 13 - build.vc14/getopt.c | 1281 ----------------- build.vc14/getopt.h | 182 --- build.vc14/getrusage.c | 71 - build.vc14/getrusage.h | 46 - build.vc14/gettimeofday.c | 39 - build.vc14/gettimeofday.h | 34 - build.vc14/libecm/Makefile.am | 1 - build.vc14/libecm/libecm.vcxproj | 245 ---- build.vc14/libecm/libecm.vcxproj.filters | 190 --- build.vc14/libecm_gpu/Makefile.am | 1 - build.vc14/libecm_gpu/libecm_gpu.vcxproj | 315 ---- .../libecm_gpu/libecm_gpu.vcxproj.filters | 193 --- build.vc14/mp_lib.props | 20 - build.vc14/multiecm/Makefile.am | 1 - build.vc14/multiecm/multiecm.vcxproj | 238 --- build.vc14/multiecm/multiecm.vcxproj.filters | 71 - build.vc14/out_copy_rename.bat | 31 - build.vc14/prebuild.bat | 3 - build.vc14/python.bat | 2 - build.vc14/readme.txt | 173 --- build.vc14/tests.py | 150 -- build.vc14/tune/Makefile.am | 1 - build.vc14/tune/tune.vcxproj | 161 --- build.vc14/tune/tune.vcxproj.filters | 109 -- build.vc14/vacopy.c | 8 - build.vc14/vsyasm.props | 27 - build.vc14/vsyasm.targets | 108 -- build.vc14/vsyasm.xml | 283 ---- build.vc15/Makefile.am | 7 - build.vc15/assembler/Makefile.am | 3 - build.vc15/assembler/a_win32a_redc.asm | 133 -- build.vc15/assembler/a_win32p_mulredc.asm | 148 -- build.vc15/assembler/a_win32p_redc.asm | 145 -- build.vc15/assembler/a_x64_mulredc.asm | 237 --- build.vc15/assembler/a_x64_redc.asm | 161 --- build.vc15/assembler/mulredc.asm | 8 - build.vc15/assembler/mulredc.h | 32 - build.vc15/assembler/redc.asm | 7 - build.vc15/assembler/test_mulredc.c | 303 ---- build.vc15/bench_mulredc/Makefile.am | 1 - .../bench_mulredc/bench_mulredc.vcxproj | 171 --- .../bench_mulredc.vcxproj.filters | 23 - build.vc15/config.h | 246 ---- build.vc15/ecm.sln | 70 - build.vc15/ecm/Makefile.am | 1 - build.vc15/ecm/ecm.vcxproj | 240 --- build.vc15/ecm/ecm.vcxproj.filters | 74 - build.vc15/ecm_gpu.sln | 39 - build.vc15/ecm_gpu/Makefile.am | 1 - build.vc15/ecm_gpu/ecm.vcxproj.filters | 68 - build.vc15/ecm_gpu/ecm_gpu.vcxproj | 280 ---- build.vc15/ecm_gpu/ecm_gpu.vcxproj.filters | 78 - build.vc15/file_copy.bat | 4 - build.vc15/gen_ecm_h.bat | 13 - build.vc15/getopt.c | 1281 ----------------- build.vc15/getopt.h | 182 --- build.vc15/getrusage.c | 71 - build.vc15/getrusage.h | 46 - build.vc15/gettimeofday.c | 39 - build.vc15/gettimeofday.h | 34 - build.vc15/libecm/Makefile.am | 1 - build.vc15/libecm/libecm.vcxproj | 253 ---- build.vc15/libecm/libecm.vcxproj.filters | 190 --- build.vc15/libecm_gpu/Makefile.am | 1 - build.vc15/libecm_gpu/libecm_gpu.vcxproj | 311 ---- .../libecm_gpu/libecm_gpu.vcxproj.filters | 193 --- build.vc15/mp_lib.props | 27 - build.vc15/multiecm/Makefile.am | 1 - build.vc15/multiecm/multiecm.vcxproj | 238 --- build.vc15/multiecm/multiecm.vcxproj.filters | 71 - build.vc15/out_copy_rename.bat | 31 - build.vc15/prebuild.bat | 3 - build.vc15/python.bat | 2 - build.vc15/readme.txt | 177 --- build.vc15/test.ecm.save | 1 - build.vc15/tests.py | 150 -- build.vc15/tune.txt | 11 - build.vc15/tune/Makefile.am | 1 - build.vc15/tune/tune.vcxproj | 164 --- build.vc15/tune/tune.vcxproj.filters | 109 -- build.vc15/vacopy.c | 8 - build.vc15/vsyasm.props | 27 - build.vc15/vsyasm.targets | 110 -- build.vc15/vsyasm.xml | 283 ---- 162 files changed, 1 insertion(+), 19284 deletions(-) delete mode 100644 build.vc12/Makefile.am delete mode 100644 build.vc12/assembler/Makefile.am delete mode 100644 build.vc12/assembler/a_win32a_mulredc.asm delete mode 100644 build.vc12/assembler/a_win32a_redc.asm delete mode 100644 build.vc12/assembler/a_win32p_mulredc.asm delete mode 100644 build.vc12/assembler/a_win32p_redc.asm delete mode 100644 build.vc12/assembler/a_x64_mulredc.asm delete mode 100644 build.vc12/assembler/a_x64_redc.asm delete mode 100644 build.vc12/assembler/mulredc.asm delete mode 100644 build.vc12/assembler/mulredc.h delete mode 100644 build.vc12/assembler/redc.asm delete mode 100644 build.vc12/assembler/test_mulredc.c delete mode 100644 build.vc12/bench_mulredc/Makefile.am delete mode 100644 build.vc12/bench_mulredc/bench_mulredc.vcxproj delete mode 100644 build.vc12/bench_mulredc/bench_mulredc.vcxproj.filters delete mode 100644 build.vc12/config.h delete mode 100644 build.vc12/ecm.sln delete mode 100644 build.vc12/ecm/Makefile.am delete mode 100644 build.vc12/ecm/ecm.vcxproj delete mode 100644 build.vc12/ecm/ecm.vcxproj.filters delete mode 100644 build.vc12/ecm_gpu.sln delete mode 100644 build.vc12/ecm_gpu/Makefile.am delete mode 100644 build.vc12/ecm_gpu/ecm_gpu.vcxproj delete mode 100644 build.vc12/ecm_gpu/ecm_gpu.vcxproj.filters delete mode 100644 build.vc12/file_copy.bat delete mode 100644 build.vc12/gen_ecm_h.bat delete mode 100644 build.vc12/getopt.c delete mode 100644 build.vc12/getopt.h delete mode 100644 build.vc12/getrusage.c delete mode 100644 build.vc12/getrusage.h delete mode 100644 build.vc12/gettimeofday.c delete mode 100644 build.vc12/gettimeofday.h delete mode 100644 build.vc12/libecm/Makefile.am delete mode 100644 build.vc12/libecm/libecm.vcxproj delete mode 100644 build.vc12/libecm/libecm.vcxproj.filters delete mode 100644 build.vc12/libecm_gpu/Makefile.am delete mode 100644 build.vc12/libecm_gpu/libecm_gpu.vcxproj delete mode 100644 build.vc12/libecm_gpu/libecm_gpu.vcxproj.filters delete mode 100644 build.vc12/mp_lib.props delete mode 100644 build.vc12/out_copy_rename.bat delete mode 100644 build.vc12/prebuild.bat delete mode 100644 build.vc12/python.bat delete mode 100644 build.vc12/readme.txt delete mode 100644 build.vc12/tests.py delete mode 100644 build.vc12/tune/Makefile.am delete mode 100644 build.vc12/tune/tune.vcxproj delete mode 100644 build.vc12/tune/tune.vcxproj.filters delete mode 100644 build.vc12/vacopy.c delete mode 100644 build.vc12/vsyasm.props delete mode 100644 build.vc12/vsyasm.targets delete mode 100644 build.vc12/vsyasm.xml delete mode 100644 build.vc14/Makefile.am delete mode 100644 build.vc14/assembler/Makefile.am delete mode 100644 build.vc14/assembler/a_win32a_redc.asm delete mode 100644 build.vc14/assembler/a_win32p_mulredc.asm delete mode 100644 build.vc14/assembler/a_win32p_redc.asm delete mode 100644 build.vc14/assembler/a_x64_mulredc.asm delete mode 100644 build.vc14/assembler/a_x64_redc.asm delete mode 100644 build.vc14/assembler/mulredc.asm delete mode 100644 build.vc14/assembler/mulredc.h delete mode 100644 build.vc14/assembler/redc.asm delete mode 100644 build.vc14/assembler/test_mulredc.c delete mode 100644 build.vc14/bench_mulredc/Makefile.am delete mode 100644 build.vc14/bench_mulredc/bench_mulredc.vcxproj delete mode 100644 build.vc14/bench_mulredc/bench_mulredc.vcxproj.filters delete mode 100644 build.vc14/config.h delete mode 100644 build.vc14/ecm.sln delete mode 100644 build.vc14/ecm/Makefile.am delete mode 100644 build.vc14/ecm/ecm.vcxproj delete mode 100644 build.vc14/ecm/ecm.vcxproj.filters delete mode 100644 build.vc14/ecm_gpu.sln delete mode 100644 build.vc14/ecm_gpu/Makefile.am delete mode 100644 build.vc14/ecm_gpu/ecm.vcxproj.filters delete mode 100644 build.vc14/ecm_gpu/ecm_gpu.vcxproj delete mode 100644 build.vc14/ecm_gpu/ecm_gpu.vcxproj.filters delete mode 100644 build.vc14/file_copy.bat delete mode 100644 build.vc14/gen_ecm_h.bat delete mode 100644 build.vc14/getopt.c delete mode 100644 build.vc14/getopt.h delete mode 100644 build.vc14/getrusage.c delete mode 100644 build.vc14/getrusage.h delete mode 100644 build.vc14/gettimeofday.c delete mode 100644 build.vc14/gettimeofday.h delete mode 100644 build.vc14/libecm/Makefile.am delete mode 100644 build.vc14/libecm/libecm.vcxproj delete mode 100644 build.vc14/libecm/libecm.vcxproj.filters delete mode 100644 build.vc14/libecm_gpu/Makefile.am delete mode 100644 build.vc14/libecm_gpu/libecm_gpu.vcxproj delete mode 100644 build.vc14/libecm_gpu/libecm_gpu.vcxproj.filters delete mode 100644 build.vc14/mp_lib.props delete mode 100644 build.vc14/multiecm/Makefile.am delete mode 100644 build.vc14/multiecm/multiecm.vcxproj delete mode 100644 build.vc14/multiecm/multiecm.vcxproj.filters delete mode 100644 build.vc14/out_copy_rename.bat delete mode 100644 build.vc14/prebuild.bat delete mode 100644 build.vc14/python.bat delete mode 100644 build.vc14/readme.txt delete mode 100644 build.vc14/tests.py delete mode 100644 build.vc14/tune/Makefile.am delete mode 100644 build.vc14/tune/tune.vcxproj delete mode 100644 build.vc14/tune/tune.vcxproj.filters delete mode 100644 build.vc14/vacopy.c delete mode 100644 build.vc14/vsyasm.props delete mode 100644 build.vc14/vsyasm.targets delete mode 100644 build.vc14/vsyasm.xml delete mode 100644 build.vc15/Makefile.am delete mode 100644 build.vc15/assembler/Makefile.am delete mode 100644 build.vc15/assembler/a_win32a_redc.asm delete mode 100644 build.vc15/assembler/a_win32p_mulredc.asm delete mode 100644 build.vc15/assembler/a_win32p_redc.asm delete mode 100644 build.vc15/assembler/a_x64_mulredc.asm delete mode 100644 build.vc15/assembler/a_x64_redc.asm delete mode 100644 build.vc15/assembler/mulredc.asm delete mode 100644 build.vc15/assembler/mulredc.h delete mode 100644 build.vc15/assembler/redc.asm delete mode 100644 build.vc15/assembler/test_mulredc.c delete mode 100644 build.vc15/bench_mulredc/Makefile.am delete mode 100644 build.vc15/bench_mulredc/bench_mulredc.vcxproj delete mode 100644 build.vc15/bench_mulredc/bench_mulredc.vcxproj.filters delete mode 100644 build.vc15/config.h delete mode 100644 build.vc15/ecm.sln delete mode 100644 build.vc15/ecm/Makefile.am delete mode 100644 build.vc15/ecm/ecm.vcxproj delete mode 100644 build.vc15/ecm/ecm.vcxproj.filters delete mode 100644 build.vc15/ecm_gpu.sln delete mode 100644 build.vc15/ecm_gpu/Makefile.am delete mode 100644 build.vc15/ecm_gpu/ecm.vcxproj.filters delete mode 100644 build.vc15/ecm_gpu/ecm_gpu.vcxproj delete mode 100644 build.vc15/ecm_gpu/ecm_gpu.vcxproj.filters delete mode 100644 build.vc15/file_copy.bat delete mode 100644 build.vc15/gen_ecm_h.bat delete mode 100644 build.vc15/getopt.c delete mode 100644 build.vc15/getopt.h delete mode 100644 build.vc15/getrusage.c delete mode 100644 build.vc15/getrusage.h delete mode 100644 build.vc15/gettimeofday.c delete mode 100644 build.vc15/gettimeofday.h delete mode 100644 build.vc15/libecm/Makefile.am delete mode 100644 build.vc15/libecm/libecm.vcxproj delete mode 100644 build.vc15/libecm/libecm.vcxproj.filters delete mode 100644 build.vc15/libecm_gpu/Makefile.am delete mode 100644 build.vc15/libecm_gpu/libecm_gpu.vcxproj delete mode 100644 build.vc15/libecm_gpu/libecm_gpu.vcxproj.filters delete mode 100644 build.vc15/mp_lib.props delete mode 100644 build.vc15/multiecm/Makefile.am delete mode 100644 build.vc15/multiecm/multiecm.vcxproj delete mode 100644 build.vc15/multiecm/multiecm.vcxproj.filters delete mode 100644 build.vc15/out_copy_rename.bat delete mode 100644 build.vc15/prebuild.bat delete mode 100644 build.vc15/python.bat delete mode 100644 build.vc15/readme.txt delete mode 100644 build.vc15/test.ecm.save delete mode 100644 build.vc15/tests.py delete mode 100644 build.vc15/tune.txt delete mode 100644 build.vc15/tune/Makefile.am delete mode 100644 build.vc15/tune/tune.vcxproj delete mode 100644 build.vc15/tune/tune.vcxproj.filters delete mode 100644 build.vc15/vacopy.c delete mode 100644 build.vc15/vsyasm.props delete mode 100644 build.vc15/vsyasm.targets delete mode 100644 build.vc15/vsyasm.xml diff --git a/Makefile.am b/Makefile.am index 9927fead..617d154e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -139,7 +139,7 @@ EXTRA_DIST = test.pm1 test.pp1 test.ecm README.lib INSTALL-ecm ecm.xml \ LucasChainGenerator/src/LucasChainGen.h \ LucasChainGenerator/src/LCG_macros.h -DIST_SUBDIRS = x86_64 powerpc64 aprtcle build.vc12 +DIST_SUBDIRS = x86_64 powerpc64 aprtcle DISTCLEANFILES = config.m4 diff --git a/build.vc12/Makefile.am b/build.vc12/Makefile.am deleted file mode 100644 index d199fdfd..00000000 --- a/build.vc12/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -EXTRA_DIST = config.h ecm.sln ecm_gpu.sln file_copy.bat gen_ecm_h.bat \ - getopt.c getopt.h getrusage.c getrusage.h gettimeofday.c \ - gettimeofday.h mp_lib.props out_copy_rename.bat prebuild.bat \ - python.bat readme.txt tests.py vacopy.c vsyasm.props \ - vsyasm.targets vsyasm.xml - -DIST_SUBDIRS = assembler ecm ecm_gpu libecm libecm_gpu tune bench_mulredc diff --git a/build.vc12/assembler/Makefile.am b/build.vc12/assembler/Makefile.am deleted file mode 100644 index 3b2f7d84..00000000 --- a/build.vc12/assembler/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -EXTRA_DIST = a_win32a_mulredc.asm a_win32a_redc.asm a_win32p_mulredc.asm \ - a_win32p_redc.asm a_x64_mulredc.asm a_x64_redc.asm \ - test_mulredc.c mulredc.h mulredc.asm redc.asm diff --git a/build.vc12/assembler/a_win32a_mulredc.asm b/build.vc12/assembler/a_win32a_mulredc.asm deleted file mode 100644 index baeb5e37..00000000 --- a/build.vc12/assembler/a_win32a_mulredc.asm +++ /dev/null @@ -1,181 +0,0 @@ - -; Part of GMP-ECM -; -; mp_limb_t mulredc1( 1 limb -; mp_limb_t *z, -; const mp_limb_t x, -; const mp_limb_t y, -; const mp_limb_t m, -; mp_limb_t inv_m -; ) -; -; mp_limb_t mulredc<limbs>( > 1 limb -; mp_limb_t *z, -; const mp_limb_t *x, -; const mp_limb_t *y, -; const mp_limb_t *m, -; mp_limb_t inv_m -; ) - -%macro mseq_1 3 - mul ebp - add [edi+4*%3], %2 - mov %2, 0 - adc %1, eax - mov eax, [esi+4*%3+8] - adc %2, edx -%endmacro - -%macro mseq_2 3 - mul ebp - add [edi+3*%3], %1 - mov %1, 0 - adc %1, eax - mov eax, [esi+4*%3+8] - adc %2, edx -%endmacro - -%macro mulredc 1 -%assign limbs %1 -%define f_name(x) _mulredc %+ x - - global f_name(limbs) -%ifdef DLL - export f_name(limbs) -%endif - -f_name(limbs): - push ebp - push edi - push esi - push ebx - sub esp, 8*(limbs+1) - mov edi, esp - -%assign i 0 -%rep 2 * limbs + 1 - mov dword [edi+4*i], 0 - %assign i i + 1 -%endrep - mov dword [esp+8*limbs+4], limbs - -; align 32 - -.1: mov eax, [esp+8*limbs+32] - mov esi, [esp+8*limbs+36] - mov eax, [eax] - mul dword [esi] - add eax, [edi] - mul dword [esp+8*limbs+44] - mov ebp, eax - mov esi, [esp+8*limbs+40] - - mov eax, [esi] - mul ebp - mov ebx, eax - mov ecx, edx - mov eax, [esi+4] - -%assign i 0 -%rep limbs - 2 - %if (i & 1) - mseq_1 ebx, ecx, i - %else - mseq_1 ecx, ebx, i - %endif - %assign i i + 1 -%endrep - - mul ebp -%if (limbs & 1) - add [edi+4*limbs-8], ecx - adc eax, ebx -%else - add [edi+4*limbs-8], ebx - adc eax, ecx -%endif - adc edx, 0 - add [edi+4*limbs-4], eax - adc edx, 0 - add [edi+4*limbs], edx - adc dword [edi+4*limbs+4], 0 - - mov eax, [esp+8*limbs+32] - mov ebp, [eax] - mov esi, [esp+8*limbs+36] - mov eax, [esi] - mul ebp - mov ebx, eax - mov ecx, edx - mov eax, [esi+4] - -%assign i 0 -%rep limbs - 2 - %if (i & 1) - mseq_1 ebx, ecx, i - %else - mseq_1 ecx, ebx, i - %endif - %assign i i + 1 -%endrep - - mul ebp -%if (limbs & 1) - add [edi+4*limbs-8], ecx - adc eax, ebx -%else - add [edi+4*limbs-8], ebx - adc eax, ecx -%endif - adc edx, 0 - add [edi+4*limbs-4], eax - adc edx, 0 - add [edi+4*limbs],edx - adc dword [edi+4*limbs+4], 0 - - add dword [esp+8*limbs+32], 4 - add edi, 4 - dec dword [esp+8*limbs+4] - jnz .1 - mov ebx, [esp+8*limbs+28] - -%assign i 0 -%rep limbs - mov eax, [edi+4*i] - mov [ebx+4*i], eax - %assign i i + 1 -%endrep - - mov eax, [edi+4*limbs] - add esp, 8*(limbs+1) - pop ebx - pop esi - pop edi - pop ebp - ret -%endmacro - - text - - global _mulredc1 -_mulredc1: - mov eax, [esp+12] - mul dword [esp+8] - mov [esp+12], edx - mov [esp+8], eax - mul dword [esp+20] - mul dword [esp+16] - add eax, [esp+8] - adc edx, [esp+12] - mov ecx, [esp+4] - mov [ecx], edx - adc eax,0 - ret - -%assign i 2 -%rep 19 ; 3..20 inclusive - mulredc i - %assign i i + 1 -%endrep - - end diff --git a/build.vc12/assembler/a_win32a_redc.asm b/build.vc12/assembler/a_win32a_redc.asm deleted file mode 100644 index 9b473071..00000000 --- a/build.vc12/assembler/a_win32a_redc.asm +++ /dev/null @@ -1,133 +0,0 @@ -; -; Part of GMP-ECM -; -; void ecm_redc3( -; mp_limb_t *z, rdi r8 <- rcx -; const mp_limb_t *x, rsi r9 <- rdx -; size_t n, rdx r10 <- r8 -; mp_limb_t m rcx r11 <- r9 -; ) - -%macro seq 3 - mov eax, [byte esi+4*%3] - mul ebp - add [byte edi+4*%3], %2 - adc %1, eax - mov %2, edx - adc %2, 0 -%endmacro - - text - global _ecm_redc3 - -_ecm_redc3: - push ebp - push edi - push esi - push ebx - sub esp, 16 - mov ecx, [esp+44] - mov edi, [esp+36] - mov [esp], ecx - cmp ecx, 5 - jae .3 - -.1: mov ebp, [esp+48] - mov esi, [esp+40] - imul ebp, [edi] - mov [esp+36], edi - mov ecx, [esp+44] - xor ebx, ebx - -.2: mov eax, [esi] - add edi, 4 - mul ebp - add esi, 4 - add eax, ebx - adc edx, 0 - add [edi-4], eax - adc edx, 0 - dec ecx - mov ebx, edx - jnz .2 - mov edi, [esp+36] - mov [edi], ebx - dec dword [esp] - lea edi, [edi+4] - jnz .1 - - add esp, 16 - pop ebx - pop esi - pop edi - pop ebp - ret - -.3: mov edx, ecx - dec ecx - sub edx, 2 - neg ecx - shr edx, 4 - and ecx, 15 - mov [esp+8], edx - mov edx, ecx - shl edx, 4 - neg ecx - lea edx, [edx+ecx+.6] - mov [esp+44], ecx - mov [esp+12], edx - -.4: mov ebp, [esp+48] - mov esi, [esp+40] - imul ebp, [edi] - mov [esp+36], edi - mov ecx, [esp+44] - mov edx, [esp+8] - mov [esp+4], edx - mov eax, [esi] - lea esi, [esi+ecx*4+4] - mul ebp - lea edi, [edi+ecx*4] - mov ebx, edx - mov edx, [esp+12] - test ecx, 1 - mov ecx, eax - cmovnz ecx, ebx - cmovnz ebx, eax - jmp edx - - align 32 -.5: add edi, 64 -.6: - -%assign i 0 -%rep 16 - %if (i & 1) - seq ecx, ebx, i - %else - seq ebx, ecx, i - %endif - %assign i i + 1 -%endrep - - dec dword [esp+4] - lea esi, [esi+64] - jns .5 - - add [edi+64], ecx - mov edi, [esp+36] - adc ebx, 0 - mov [edi], ebx - dec dword [esp] - lea edi, [edi+4] - jnz .4 - - add esp, 16 - pop ebx - pop esi - pop edi - pop ebp - ret - - end - \ No newline at end of file diff --git a/build.vc12/assembler/a_win32p_mulredc.asm b/build.vc12/assembler/a_win32p_mulredc.asm deleted file mode 100644 index 001f7255..00000000 --- a/build.vc12/assembler/a_win32p_mulredc.asm +++ /dev/null @@ -1,148 +0,0 @@ - -; Part of GMP-ECM -; -; mp_limb_t mulredc1( 1 limb -; mp_limb_t *z, -; const mp_limb_t x, -; const mp_limb_t y, -; const mp_limb_t m, -; mp_limb_t inv_m -; ) -; -; mp_limb_t mulredc<limbs>( > 1 limb -; mp_limb_t *z, -; const mp_limb_t *x, -; const mp_limb_t *y, -; const mp_limb_t *m, -; mp_limb_t inv_m -; ) - -%macro mseq 1 - movd mm1, [esi+4*%1] - movd mm2, [edi+4*%1] - pmuludq mm1, mm7 - paddq mm2, mm1 - paddq mm0, mm2 - movd [edi+4*%1], mm0 - psrlq mm0, 32 -%endmacro - -%macro mulredc 1 -%assign limbs %1 -%define f_name(x) _mulredc %+ x - - global f_name(limbs) -%ifdef DLL - export f_name(limbs) -%endif - -f_name(limbs): - push ebp - push edi - push esi - push ebx - sub esp, 8*(limbs+1) - mov edi, esp - -%assign i 0 -%rep 2 * limbs + 1 - mov dword [edi+4*i], 0 - %assign i i + 1 -%endrep - - mov dword [esp+8*limbs+4], limbs - - align 32 - -.1: mov eax, [esp+8*limbs+32] - mov esi, [esp+8*limbs+36] - mov eax, [eax] - mul dword [esi] - add eax, [edi] - mul dword [esp+8*limbs+44] - mov ebp, eax - mov esi, [esp+8*limbs+40] - - pxor mm0, mm0 - movd mm7, ebp - -%assign i 0 -%rep limbs - mseq i - %assign i i + 1 -%endrep - - movd ecx, mm0 - - add [edi+4*limbs], ecx - adc dword [edi+4*limbs+4], 0 - mov eax, [esp+8*limbs+32] - mov ebp, [eax] - mov esi, [esp+8*limbs+36] - - pxor mm0, mm0 - movd mm7, ebp - -%assign i 0 -%rep limbs - mseq i - %assign i i + 1 -%endrep - - movd ecx, mm0 - add [edi+4*limbs], ecx - adc dword [edi+4*limbs+4], 0 - add dword [esp+8*limbs+32], 4 - add edi, 4 - dec dword [esp+8*limbs+4] - jnz .1 - - mov ebx, [esp+8*limbs+28] - -%assign i 0 -%rep limbs - mov eax, [edi+4*i] - mov [ebx+4*i], eax - %assign i i + 1 -%endrep - mov eax, [edi+4*limbs] - add esp, 8*(limbs+1) - - pop ebx - pop esi - pop edi - pop ebp - emms - ret -%endmacro - - bits 32 - section .text - - global _mulredc1 -%ifdef DLL - export _mulredc1 -%endif - -_mulredc1: - mov eax, [esp+12] - mul dword [esp+8] - mov [esp+12], edx - mov [esp+8], eax - mul dword [esp+20] - mul dword [esp+16] - add eax, [esp+8] - adc edx, [esp+12] - mov ecx, [esp+4] - mov [ecx], edx - adc eax, 0 - ret - -%assign i 2 -%rep 19 ; 3..20 inclusive - mulredc i - %assign i i + 1 -%endrep - - end - diff --git a/build.vc12/assembler/a_win32p_redc.asm b/build.vc12/assembler/a_win32p_redc.asm deleted file mode 100644 index b94bd9f9..00000000 --- a/build.vc12/assembler/a_win32p_redc.asm +++ /dev/null @@ -1,145 +0,0 @@ -; -; Part of GMP-ECM -; -; void ecm_redc3( -; mp_limb_t *z, rdi r8 <- rcx -; const mp_limb_t *x, rsi r9 <- rdx -; size_t n, rdx r10 <- r8 -; mp_limb_t m rcx r11 <- r9 -; ) - -%macro rloop 3 - mov eax, [byte esi+4*%3] - mul ebp - add [byte edi+4*%3], %2 - adc %1, eax - mov %2, edx - adc %2, 0 -%endmacro - - bits 32 - section .text - - global _ecm_redc3 -%ifdef DLL - export _ecm_redc3 -%endif - -_ecm_redc3: - push ebp - push edi - push esi - push ebx - sub esp, 16 - - mov ecx, [esp+44] - mov edi, [esp+36] - mov [esp], ecx - cmp ecx, 5 - jae .unroll - -.1: mov ebp, [esp+48] - mov esi, [esp+40] - imul ebp, [edi] - mov [esp+36], edi - mov ecx, [esp+44] - xor ebx, ebx - -.2: mov eax, [esi] - add edi, 4 - mul ebp - add esi, 4 - add eax, ebx - adc edx, 0 - add [edi-4], eax - adc edx, 0 - dec ecx - mov ebx, edx - jnz .2 - mov edi, [esp+36] - mov [edi], ebx - dec dword [esp] - lea edi, [edi+4] - jnz .1 - - add esp, 16 - pop ebx - pop esi - pop edi - pop ebp - ret - -.unroll: - mov edx, ecx - dec ecx - sub edx, 2 - neg ecx - shr edx, 4 - and ecx, 15 - mov [esp+8], edx - mov edx, ecx - shl edx, 4 - neg ecx - lea edx, [edx+ecx*1+.loop_base] - mov [esp+44], ecx - mov [esp+12], edx - -.4: mov ebp, [esp+48] - mov esi, [esp+40] - imul ebp, [edi] - mov [esp+36], edi - mov ecx, [esp+44] - mov edx, [esp+8] - mov [esp+4], edx - mov eax, [esi] - lea esi, [esi+ecx*4+4] - mul ebp - lea edi, [edi+ecx*4] - mov ebx, edx - mov edx, [esp+12] - test ecx, 1 - mov ecx, eax - cmovnz ecx, ebx - cmovnz ebx, eax - jmp edx - - align 32 -.5: add edi, 64 -.loop_base: - rloop ebx, ecx, 0 - rloop ecx, ebx, 1 - rloop ebx, ecx, 2 - rloop ecx, ebx, 3 - rloop ebx, ecx, 4 - rloop ecx, ebx, 5 - rloop ebx, ecx, 6 - rloop ecx, ebx, 7 - rloop ebx, ecx, 8 - rloop ecx, ebx, 9 - rloop ebx, ecx, 10 - rloop ecx, ebx, 11 - rloop ebx, ecx, 12 - rloop ecx, ebx, 13 - rloop ebx, ecx, 14 - rloop ecx, ebx, 15 - - dec dword [esp+4] - lea esi, [esi+64] - jns .5 - - add [edi+64], ecx - mov edi, [esp+36] - adc ebx, 0 - mov [edi], ebx - dec dword [esp] - lea edi, [edi+4] - jnz .4 - - add esp, 16 - pop ebx - pop esi - pop edi - pop ebp - ret - - end diff --git a/build.vc12/assembler/a_x64_mulredc.asm b/build.vc12/assembler/a_x64_mulredc.asm deleted file mode 100644 index 4f09d33c..00000000 --- a/build.vc12/assembler/a_x64_mulredc.asm +++ /dev/null @@ -1,237 +0,0 @@ -; -; Part of GMP-ECM -; -; mp_limb_t mulredc1( MSVC 1 limb -; mp_limb_t *z, rcx -; const mp_limb_t x, rdx -; const mp_limb_t y, r8 -; const mp_limb_t m, r9 -; mp_limb_t inv_m [rsp+0x28] -; ) -; -; mp_limb_t mulredc<limbs>( MSVC > 1 limb -; mp_limb_t *z, rcx -; const mp_limb_t *x, rdx -; const mp_limb_t *y, r8 -; const mp_limb_t *m, r9 -; mp_limb_t inv_m [rsp+0x28] -; ) - -%macro mseq_1 4 - mov %2, rcx - mul r14 - add %1, rax - mov rax, [r9+8*%3] - adc %2, rdx - mul r11 -%if %3 < %4 - 1 - add rax, %1 - mov [rbp+8*(%3-1)], rax - mov rax, [r8+8*(%3+1)] - adc %2, rdx - setc cl -%else - add %1, rax - mov [rbp+8*(%3-1)], %1 - adc %2, rdx - mov [rbp+8*%3], %2 - setc cl - mov [rbp+8*(%3+1)], rcx -%endif -%endmacro - -%macro mseq_20 2 - mov r14, [r13+r12*8] - mov rax, [r8] - mov %1, [rbp] - mov %2, [rbp+8] - mul r14 - add r12, 1 - add rax, %1 - adc %2, rdx - setc cl - mov %1, rax - imul rax, r10 - mov r11, rax - mul qword [r9] - add %1, rax - adc %2, rdx - mov rax, [r8+8] -%endmacro - -%macro mseq_2 4 - mov %2, [rbp+8*(%3+1)] - adc %2, rcx -%if %3 < %4 - 1 - setc cl -%endif - mul r14 - add %1, rax - mov rax, [r9+8*%3] - adc %2, rdx -%if %3 < %4 - 1 - adc cl, 0 -%else - setc cl -%endif - mul r11 -%if %3 < %4 - 1 - add rax, %1 - mov [rbp+8*(%3-1)], rax - adc %2, rdx - mov rax, [r8+8*(%3+1)] -%else - add %1, rax - mov [rbp+8*(%3-1)], %1 - adc %2, rdx - mov [rbp+8*%3],%2 - adc cl, 0 - mov [rbp+8*(%3+1)], rcx -%endif -%endmacro - -%macro store 1 -%assign i 0 -%rep %1 - %if i == %1 - 1 && (%1 & 1) - mov rax, [rbp+8*i] - mov [rdi+8*i], rax - %elif (i & 1) - mov [rdi+8*(i-1)], rax - mov [rdi+8*i], rdx - %else - mov rax, [rbp+8*i] - mov rdx, [rbp+8*(i+1)] - %endif - %assign i i + 1 -%endrep -%endmacro - -%macro mulredc 1 - -%assign limbs %1 -%define f_name(x) mulredc %+ x -%define stack_space 8 * (limbs + 1 + (limbs & 1)) - - global f_name(limbs) -%ifdef DLL - export f_name(limbs) -%endif - - align 64 - -PROC_FRAME f_name(limbs) ; SEH Frame - push_reg rbp - push_reg rbx - push_reg rsi - push_reg rdi - push_reg r12 - push_reg r13 - push_reg r14 - alloc_stack stack_space -END_PROLOGUE - ; *y in r8 - mov rdi, rcx ; *z -> rdi - mov r13, rdx ; *x -> r13 - mov r10, [rsp+8*12+stack_space] ; invm -> r10 - ; *m in r9 - mov r14, [r13] - mov rax, [r8] - xor rcx, rcx - lea rbp, [rsp] - mov r12, rcx - mul qword r14 - add r12, 1 - mov rsi, rax - mov rbx, rdx - imul rax, r10 - mov r11, rax - mul qword [r9] - add rsi, rax - mov rax, [r8+8] - adc rbx, rdx - setc cl - -%assign j 1 -%rep limbs - 1 -%if (j & 1) - mseq_1 rbx, rsi, j, limbs -%else - mseq_1 rsi, rbx, j, limbs -%endif - %assign j j + 1 -%endrep - - align 32 -.1: - -%assign j 1 -%if (limbs & 1) - mseq_20 rsi, rbx - %rep limbs - 1 - %if (j & 1) - mseq_2 rbx, rsi, j, limbs - %else - mseq_2 rsi, rbx, j, limbs - %endif - %assign j j + 1 - %endrep -%else - mseq_20 rbx, rsi - %rep limbs - 1 - %if (j & 1) - mseq_2 rsi, rbx, j, limbs - %else - mseq_2 rbx, rsi, j, limbs - %endif - %assign j j + 1 - %endrep -%endif - - cmp r12, limbs - jb .1 - - store limbs - - mov rax, rcx - add rsp, stack_space - pop r14 - pop r13 - pop r12 - pop rdi - pop rsi - pop rbx - pop rbp - ret -ENDPROC_FRAME -%endmacro - - bits 64 - section .text - - global mulredc1 -%ifdef DLL - export mulredc1 -%endif - - align 64 -mulredc1: - mov rax, r8 - mul rdx - mov r10, rax - mov r11, rdx - mul qword [rsp+0x28] - mul r9 - add rax, r10 - adc rdx, r11 - mov [rcx], rdx - adc rax, 0 - ret - -%assign i 2 -%rep 19 ; 2..20 inclusive - mulredc i - %assign i i + 1 -%endrep - - end diff --git a/build.vc12/assembler/a_x64_redc.asm b/build.vc12/assembler/a_x64_redc.asm deleted file mode 100644 index 49a02452..00000000 --- a/build.vc12/assembler/a_x64_redc.asm +++ /dev/null @@ -1,161 +0,0 @@ -; -; Part of GMP-ECM -; -; void ecm_redc3( -; mp_limb_t *z, rdi r8 <- rcx -; const mp_limb_t *x, rsi r9 <- rdx -; size_t n, rdx r10 <- r8 -; mp_limb_t m rcx r11 <- r9 -; ) - -%macro rloop 3 - mov rax,[byte rsi+8*%3] - mul rbp - add [byte rdi+8*%3], %1 - adc %2, rax - mov %1, rdx - adc %1, 0 -%endmacro - - bits 64 - section .text - - global ecm_redc3 -%ifdef DLL - export ecm_redc3 -%endif - -PROC_FRAME ecm_redc3 - push_reg rbp - push_reg rbx - push_reg rsi - push_reg rdi - alloc_stack 5*8 -END_PROLOGUE - mov rdi, rcx - mov rsi, rdx - mov rdx, r8 - mov rcx, r9 - - mov r8, rdi - mov r9, rsi - mov r10, rdx - mov r11, rcx - - mov rcx, r10 - mov [rsp], rcx - cmp rcx, 3 - jae .unroll - -.1: mov rbp, r11 - mov rsi, r9 - imul rbp, [rdi] - mov r8, rdi - mov rcx, r10 - xor rbx, rbx - -.2: mov rax, [rsi] - add rdi, 8 - mul rbp - add rsi, 8 - add rax, rbx - adc rdx, 0 - add [rdi-8], rax - adc rdx, 0 - dec rcx - mov rbx, rdx - jnz .2 - mov rdi, r8 - mov [rdi], rbx - dec qword [rsp] - lea rdi, [rdi+8] - jnz .1 - - add rsp, 5*8 - pop rdi - pop rsi - pop rbx - pop rbp - ret - -.unroll: - mov rdx, rcx - dec rcx - sub rdx, 2 - neg rcx - shr rdx, 4 - and rcx, 15 - mov [rsp+16], rdx - mov rdx, rcx - shl rdx, 4 - lea r10, [.loop_base wrt rip] - add rdx, r10 - lea rdx, [rdx+rcx*4] - add rdx, rcx - neg rcx - mov r10, rcx - mov [rsp+24], rdx - -.4: mov rbp, r11 - mov rsi, r9 - imul rbp, [rdi] - mov r8, rdi - mov rcx, r10 - mov rdx, [rsp+16] - mov [rsp+8], rdx - - mov rax, [rsi] - lea rsi, [rsi+rcx*8+8] - mul rbp - lea rdi, [rdi+rcx*8] - mov rbx, rdx - - mov rdx, [rsp+24] - test rcx, 1 - mov rcx, rax - cmovnz rcx, rbx - cmovnz rbx, rax - jmp rdx - - align 64 - -.5: add rdi, 128 -.loop_base: - rloop rcx, rbx, 0 - rloop rbx, rcx, 1 - rloop rcx, rbx, 2 - rloop rbx, rcx, 3 - rloop rcx, rbx, 4 - rloop rbx, rcx, 5 - rloop rcx, rbx, 6 - rloop rbx, rcx, 7 - rloop rcx, rbx, 8 - rloop rbx, rcx, 9 - rloop rcx, rbx, 10 - rloop rbx, rcx, 11 - rloop rcx, rbx, 12 - rloop rbx, rcx, 13 - rloop rcx, rbx, 14 - rloop rbx, rcx, 15 - - dec qword [rsp+8] - lea rsi, [rsi+128] - jns .5 - - add [rdi+128], rcx - mov rdi, r8 - adc rbx, 0 - mov [rdi], rbx - dec qword [rsp] - lea rdi, [rdi+8] - jnz .4 - - add rsp, 5*8 - pop rdi - pop rsi - pop rbx - pop rbp - ret -ENDPROC_FRAME - - end diff --git a/build.vc12/assembler/mulredc.asm b/build.vc12/assembler/mulredc.asm deleted file mode 100644 index ffe18e1c..00000000 --- a/build.vc12/assembler/mulredc.asm +++ /dev/null @@ -1,8 +0,0 @@ - -%ifdef _WIN64 -%include "a_x64_mulredc.asm" -%elifdef AMD_ASM -%include "a_win32a_mulredc.asm" -%else -%include "a_win32p_mulredc.asm" -%endif diff --git a/build.vc12/assembler/mulredc.h b/build.vc12/assembler/mulredc.h deleted file mode 100644 index 8902af37..00000000 --- a/build.vc12/assembler/mulredc.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef __ASM_REDC_H__ -#define __ASM_REDC_H__ - -#include <gmp.h> - -extern void ecm_redc3(mp_limb_t *cp, const mp_limb_t *np, mp_size_t nn, mp_limb_t Nprim); - - -/* WARNING: the size-1 version doesn't take pointers in input */ -extern mp_limb_t mulredc1(mp_limb_t *z, mp_limb_t x, mp_limb_t y, mp_limb_t m, mp_limb_t inv_m); - -extern mp_limb_t mulredc2(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc3(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc4(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc5(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc6(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc7(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc8(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc9(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc10(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc11(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc12(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc13(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc14(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc15(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc16(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc17(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc18(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc19(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc20(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); - -#endif diff --git a/build.vc12/assembler/redc.asm b/build.vc12/assembler/redc.asm deleted file mode 100644 index 1653e1ce..00000000 --- a/build.vc12/assembler/redc.asm +++ /dev/null @@ -1,7 +0,0 @@ -%ifdef _WIN64 -%include "a_x64_redc.asm" -%elif AMD_ASM -%include "a_win32a_redc.asm" -%else -%include "a_win32p_redc.asm" -%endif diff --git a/build.vc12/assembler/test_mulredc.c b/build.vc12/assembler/test_mulredc.c deleted file mode 100644 index f95234da..00000000 --- a/build.vc12/assembler/test_mulredc.c +++ /dev/null @@ -1,303 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <assert.h> - -#include <gmp.h> - -#include "asmredc.h" - -void mp_print(mp_limb_t *x, int N) { - int i; - for (i = 0; i < N-1; ++i) - printf("%lu + W*(", x[i]); - printf("%lu", x[N-1]); - for (i = 0; i < N-1; ++i) - printf(")"); - printf("\n"); -} - -static mp_limb_t -call_mulredc (int N, mp_limb_t *z, mp_limb_t *x, mp_limb_t *y, mp_limb_t *m, - mp_limb_t invm) -{ - mp_limb_t cy; - - switch (N) - { - case 1: - cy = mulredc1(z, x[0], y[0], m[0], invm); - break; - case 2: - cy = mulredc2(z, x, y, m, invm); - break; - case 3: - cy = mulredc3(z, x, y, m, invm); - break; - case 4: - cy = mulredc4(z, x, y, m, invm); - break; - case 5: - cy = mulredc5(z, x, y, m, invm); - break; - case 6: - cy = mulredc6(z, x, y, m, invm); - break; - case 7: - cy = mulredc7(z, x, y, m, invm); - break; - case 8: - cy = mulredc8(z, x, y, m, invm); - break; - case 9: - cy = mulredc9(z, x, y, m, invm); - break; - case 10: - cy = mulredc10(z, x, y, m, invm); - break; - case 11: - cy = mulredc11(z, x, y, m, invm); - break; - case 12: - cy = mulredc12(z, x, y, m, invm); - break; - case 13: - cy = mulredc13(z, x, y, m, invm); - break; - case 14: - cy = mulredc14(z, x, y, m, invm); - break; - case 15: - cy = mulredc15(z, x, y, m, invm); - break; - case 16: - cy = mulredc16(z, x, y, m, invm); - break; - case 17: - cy = mulredc17(z, x, y, m, invm); - break; - case 18: - cy = mulredc18(z, x, y, m, invm); - break; - case 19: - cy = mulredc19(z, x, y, m, invm); - break; - case 20: - cy = mulredc20(z, x, y, m, invm); - break; - default: - cy = mulredc20(z, x, y, m, invm); - } - return cy; -} - -void test(mp_size_t N, int k) -{ - mp_limb_t *x, *y, *yp, *z, *m, invm, cy, cy2, *tmp, *tmp2, *tmp3; - int i, j; - - x = (mp_limb_t *) malloc(N*sizeof(mp_limb_t)); - y = (mp_limb_t *) malloc(N*sizeof(mp_limb_t)); - z = (mp_limb_t *) malloc((N+1)*sizeof(mp_limb_t)); - m = (mp_limb_t *) malloc(N*sizeof(mp_limb_t)); - tmp = (mp_limb_t *) malloc((2*N+2)*sizeof(mp_limb_t)); - tmp2 = (mp_limb_t *) malloc((2*N+2)*sizeof(mp_limb_t)); - tmp3 = (mp_limb_t *) malloc((2*N+2)*sizeof(mp_limb_t)); - - if (x == NULL || y == NULL || z == NULL || m == NULL || tmp == NULL || - tmp2 == NULL || tmp3 == NULL) - { - fprintf (stderr, "Cannot allocate memory in test_mulredc\n"); - exit (1); - } - - mpn_random2(m, N); - m[0] |= 1UL; - if (m[N-1] == 0) - m[N-1] = 1UL; - - invm = 1UL; - for (i = 0; i < 10; ++i) - invm = (2*invm-m[0]*invm*invm); - invm = -invm; - - assert( (invm*m[0] +1UL) == 0UL); - - yp = y; - for (i=0; i < k; ++i) { - /* Try a few special cases */ - if (i == 0) - { - /* Try all 0, product should be 0 */ - for (j = 0; j < N; j++) - x[j] = y[j] = 0; - } - else if (i == 1) - { - /* Try all 1 */ - for (j = 0; j < N; j++) - x[j] = y[j] = 1; - } - else if (i == 2) - { - /* Try all 2^wordsize - 1 */ - for (j = 0; j < N; j++) - x[j] = y[j] = ~(0UL); - } - else - { - /* In the other cases, try random data */ - if (i % 2 == 0) - { - /* Try squaring */ - mpn_random2(x, N); - yp = x; - } - else - { - /* Try multiplication */ - mpn_random2(x, N); - mpn_random2(y, N); - } - } - - // Mul followed by ecm_redc3 - mpn_mul_n(tmp, x, yp, N); - ecm_redc3(tmp, m, N, invm); - cy2 = mpn_add_n (tmp2, tmp + N, tmp, N); - - // Mixed mul and redc - cy = call_mulredc (N, z, x, yp, m, invm); - - if (cy != cy2) - printf ("i = %d: mulredc cy = %ld, mpn_mul_n/ecm_redc3 cy = %ld\n", - i, (long) cy, (long) cy2); - assert (cy == cy2); - if (mpn_cmp(z,tmp2, N) != 0) - { - printf ("i = %d\nmulredc = ", i); - for (j = N - 1; j >= 0; j--) - printf ("%lx ", z[j]); - printf ("\nmpn_mul_n/ecm_redc3 = "); - for (j = N - 1; j >= 0; j--) - printf ("%lx ", tmp2[j]); - printf ("\n"); - assert (mpn_cmp(z,tmp2, N) == 0); - } - - if (cy) - printf("!"); - z[N] = cy; - // Check with pure gmp : multiply by 2^(N*GMP_NUMB_BITS) and compare. - for (j=0; j < N; ++j) { - tmp[j] = 0; - tmp[j+N] = z[j]; - } - tmp[2*N] = z[N]; - mpn_tdiv_qr(tmp2, tmp3, 0, tmp, 2*N+1, m, N); - for (j=0; j < N; ++j) - z[j] = tmp3[j]; - - mpn_mul_n(tmp, x, yp, N); - mpn_tdiv_qr(tmp2, tmp3, 0, tmp, 2*N, m, N); - - assert(mpn_cmp(z, tmp3, N) == 0); - } - - free(tmp); free(tmp2); free(tmp3); - free(x); free(y); free(z); free(m); -} - - - -int main(int argc, char** argv) -{ - int i, len; - - if (argc > 1) /* Test a specific length */ - { - len = atoi (argv[1]); - for (i = 0; i < 1; i++) - test (len, 1000000); - return 0; - } - - for (;;) { - for (i = 1; i <= 20; ++i) { - test(i, 1000); - } -#if 0 - test(1, 1000); - test(2, 1000); - test(3, 1000); - test(4, 1000); - test(5, 1000); - test(6, 1000); - test(7, 1000); - test(8, 1000); - test(9, 1000); - test(10, 1000); - test(11, 1000); - test(12, 1000); - test(13, 100); - test(14, 100); - test(15, 100); - test(16, 100); - test(17, 100); - test(18, 100); - test(44, 10); - test(45, 10); - test(46, 10); - test(47, 10); - test(48, 10); - test(49, 10); -#endif - printf("."); fflush(stdout); - } -#if 0 - x[0] = 12580274668139321508UL; - x[1] = 9205793975152560417UL; - x[2] = 7857372727033793057UL; - - y[0] = 13688385828267279103UL; - y[1] = 10575011835742767258UL; - y[2] = 8802048318027595690UL; - - - m[0] = 2981542467342508025UL; - m[1] = 5964669706257742025UL; - m[2] = 18446744073678090270UL; - - invm = 9419286575570128311UL; - - carry = mulredc(z, x, y, m, 3, invm); - - printf("%lu + 2^64*(%lu + 2^64*%lu), carry=%lu\n", z[0], z[1], z[2], carry); -#endif - return 0; -} - - -#if 0 - -W := 2^64; - -x0:= 12580274668139321508; -x1:= 9205793975152560417; -x2:= 7857372727033793057; -x := x0 + W*(x1 + W*x2); - -y0:= 13688385828267279103; -y1:= 10575011835742767258; -y2:= 8802048318027595690; -y := y0 + W*(y1 + W*y2); - -m0:= 2981542467342508025; -m1:= 5964669706257742025; -m2:= 18446744073678090270; -m := m0 + W*(m1 + W*m2); - -invm := 9419286575570128311; - - - -#endif diff --git a/build.vc12/bench_mulredc/Makefile.am b/build.vc12/bench_mulredc/Makefile.am deleted file mode 100644 index 5a7c0bc7..00000000 --- a/build.vc12/bench_mulredc/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = bench_mulredc.vcxproj bench_mulredc.vcxproj.filters diff --git a/build.vc12/bench_mulredc/bench_mulredc.vcxproj b/build.vc12/bench_mulredc/bench_mulredc.vcxproj deleted file mode 100644 index 385026d8..00000000 --- a/build.vc12/bench_mulredc/bench_mulredc.vcxproj +++ /dev/null @@ -1,170 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{4727DE12-787D-432D-B166-BF103B0C3C87}</ProjectGuid> - <Keyword>Win32Proj</Keyword> - <RootNamespace>bench_mulredc</RootNamespace> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(SolutionDir)..bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir>$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(SolutionDir)..bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir>$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir>$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir>$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);..\..\;..\assembler;..\</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <AdditionalDependencies>psapi.lib;..\..\..\$(mp_dir)lib\$(IntDir)\mpir.lib;..\..\lib\$(IntDir)\libecm.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_WIN64;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);..\..\;..\assembler;..\</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <AdditionalDependencies>psapi.lib;..\..\..\$(mp_dir)lib\$(IntDir)\mpir.lib;..\..\lib\$(IntDir)\libecm.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <PrecompiledHeader> - </PrecompiledHeader> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);..\..\;..\assembler;..\</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <AdditionalDependencies>psapi.lib;..\..\..\$(mp_dir)lib\$(IntDir)\mpir.lib;..\..\lib\$(IntDir)\libecm.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <PrecompiledHeader> - </PrecompiledHeader> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>_WIN64;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);..\..\;..\assembler;..\</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <AdditionalDependencies>psapi.lib;..\..\..\$(mp_dir)lib\$(IntDir)\mpir.lib;..\..\lib\$(IntDir)\libecm.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="..\..\bench_mulredc.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc12/bench_mulredc/bench_mulredc.vcxproj.filters b/build.vc12/bench_mulredc/bench_mulredc.vcxproj.filters deleted file mode 100644 index 5e88a3d4..00000000 --- a/build.vc12/bench_mulredc/bench_mulredc.vcxproj.filters +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\bench_mulredc.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc12/config.h b/build.vc12/config.h deleted file mode 100644 index 67936b0a..00000000 --- a/build.vc12/config.h +++ /dev/null @@ -1,246 +0,0 @@ -/* config.h.in. Generated from configure.in by autoheader. */ - -#define VERSION ECM_VERSION - -#define VERSION_GPU "gpu_ecm-win" - -#define PACKAGE_BUGREPORT "ecm-discuss@inria.fr" - -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -#undef CRAY_STACKSEG_END - -/* Define to 1 if using `alloca.c'. */ -#define C_ALLOCA 1 - -/* Define to 1 if you have the `access' function. */ -#undef HAVE_ACCESS - -/* Define to 1 if you have `alloca', as a function or macro. */ -#define HAVE_ALLOCA 1 - -/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). - */ -#undef HAVE_ALLOCA_H - -/* Define to 1 if you have the `ctime' function. */ -#define HAVE_CTIME 1 - -/* Define to 1 if you have the <ctype.h> header file. */ -#define HAVE_CTYPE_H 1 - -/* Define to 1 if you have the `floor' function. */ -#define HAVE_FLOOR 1 - -/* Define to 1 if you have the `fmod' function. */ -#define HAVE_FMOD 1 - -/* Define to 1 if you have the `gethostname' function. */ -#define HAVE_GETHOSTNAME 1 - -/* Define to 1 if you have the `getrusage' function. */ -#define HAVE_GETRUSAGE 1 - -/* Define to 1 if you have the `gettimeofday' function. */ -#undef HAVE_GETTIMEOFDAY - -/* Define to 1 if you have the <gmp.h> header file. */ -#define HAVE_GMP_H 1 - -/* Define to 1 if gwnum.a or gwnum.lib exist */ -#undef HAVE_GWNUM - -/* Define to 1 if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the <io.h> header file. */ -#undef HAVE_IO_H - -/* Define to 1 if you have the `isascii' function. */ -#undef HAVE_ISASCII - -/* Define to 1 if you have the `isdigit' function. */ -#define HAVE_ISDIGIT 1 - -/* Define to 1 if you have the `isspace' function. */ -#define HAVE_ISSPACE 1 - -/* Define to 1 if you have the `isxdigit' function. */ -#define HAVE_ISXDIGIT 1 - -/* Define to 1 if you have the `m' library (-lm). */ -#undef HAVE_LIBM - -/* Define to 1 if you have the <limits.h> header file. */ -#define HAVE_LIMITS_H 1 - -/* Define to 1 if you have the <malloc.h> header file. */ -#define HAVE_MALLOC_H 1 - -/* Define to 1 if you have the `malloc_usable_size' function. */ -#undef HAVE_MALLOC_USABLE_SIZE - -/* Define to 1 if you have the <math.h> header file. */ -#define HAVE_MATH_H 1 - -/* Define to 1 if you have the `memmove' function. */ -#define HAVE_MEMMOVE 1 - -/* Define to 1 if you have the <memory.h> header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have the `memset' function. */ -#define HAVE_MEMSET 1 - -/* Define to 1 if you have the `nice' function. */ -#undef HAVE_NICE - -/* Define to 1 if you have the `pow' function. */ -#define HAVE_POW 1 - -/* Define to 1 if you have the `signal' function. */ -#define HAVE_SIGNAL 1 - -/* Define to 1 if you have the <signal.h> header file. */ -#define HAVE_SIGNAL_H 1 - -/* Define to 1 if you have the `sqrt' function. */ -#define HAVE_SQRT 1 - -/* Define to 1 if you have the <stdint.h> header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the <stdlib.h> header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the `strchr' function. */ -#define HAVE_STRCHR 1 - -/* Define to 1 if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the <string.h> header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the `strlen' function. */ -#define HAVE_STRLEN 1 - -/* Define to 1 if you have the `strncasecmp' function. */ -#undef HAVE_STRNCASECMP - -/* Define to 1 if you have the `strstr' function. */ -#undef HAVE_STRSTR - -/* Define to 1 if you have the <sys/resource.h> header file. */ -#undef HAVE_SYS_RESOURCE_H - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the <sys/time.h> header file. */ -#undef HAVE_SYS_TIME_H - -/* Define to 1 if you have the <sys/types.h> header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the `time' function. */ -#undef HAVE_TIME - -/* Define to 1 if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have the `unlink' function. */ -#define HAVE_UNLINK 1 - -/* Define to 1 if you have the <windows.h> header file. */ -#define HAVE_WINDOWS_H 1 - -/* Define to 1 if you have the `__gmpn_add_nc' function. */ -#if defined( _WIN64 ) -# define HAVE___GMPN_ADD_NC 1 -#endif - -/* Define to 1 if you have the `__gmpn_mod_34lsub1' function. */ -#define HAVE___GMPN_MOD_34LSUB1 1 - -/* Define to 1 if you have the `__gmpn_mul_fft' function. */ -#define HAVE___GMPN_MUL_FFT 1 - -/* Define to 1 if you want memory debugging */ -#undef MEMORY_DEBUG - -/* Define if the system has the type `long long'. */ -#define HAVE_LONG_LONG 1 -#define HAVE_LONG_LONG_INT 1 - -/* Define to 1 to use asm redc on x86 or x86_64 */ -# define NATIVE_REDC 1 - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at runtime. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ -#undef STACK_DIRECTION - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ -#undef TIME_WITH_SYS_TIME - -/* Define to 1 if you want assertions enabled */ -#undef WANT_ASSERT - -/* Define to 1 if you want shell command execution */ -#undef WANT_SHELLCMD - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* How to specify hot-spot attribute, if available */ -#define ATTRIBUTE_HOT - -#define HAVE___GMPN_REDC_1 1 - -#define HAVE___GMPN_REDC_2 1 - -#define HAVE_ASM_REDC3 1 - -#define WINDOWS64_ABI 1 - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -#define inline __inline -#endif - -/* Define to `unsigned int' if <sys/types.h> does not define. */ -#undef size_t - -#define PRIdSIZE "Id" -#define PRIuSIZE "Iu" - -#ifdef _MSC_VER - -#define __func__ __FUNCTION__ - -/* define Windows tuning here */ -# define __tune_corei7__ - -# if _MSC_VER < 1600 -# define int64_t __int64 -# define uint64_t unsigned __int64 -# endif -# define strncasecmp strnicmp -# define access _access -# define alloca _alloca -# define fseek64 _fseek64 -# define ftell64 _ftell64 -# define omp_get_thread_limit omp_get_max_threads -#endif diff --git a/build.vc12/ecm.sln b/build.vc12/ecm.sln deleted file mode 100644 index 2dad0bb9..00000000 --- a/build.vc12/ecm.sln +++ /dev/null @@ -1,58 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libecm", "libecm\libecm.vcxproj", "{CD555681-D65B-4173-A29C-B8BF06A4871B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ecm", "ecm\ecm.vcxproj", "{C0E2EA85-996A-4B5F-AD30-590FAF5B7187}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tune", "tune\tune.vcxproj", "{80E08750-5C6C-492E-BB1E-7200978AE125}" - ProjectSection(ProjectDependencies) = postProject - {CD555681-D65B-4173-A29C-B8BF06A4871B} = {CD555681-D65B-4173-A29C-B8BF06A4871B} - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187} = {C0E2EA85-996A-4B5F-AD30-590FAF5B7187} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bench_mulredc", "bench_mulredc\bench_mulredc.vcxproj", "{4727DE12-787D-432D-B166-BF103B0C3C87}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Debug|Win32.ActiveCfg = Debug|Win32 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Debug|Win32.Build.0 = Debug|Win32 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Debug|x64.ActiveCfg = Debug|x64 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Debug|x64.Build.0 = Debug|x64 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Release|Win32.ActiveCfg = Release|Win32 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Release|Win32.Build.0 = Release|Win32 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Release|x64.ActiveCfg = Release|x64 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Release|x64.Build.0 = Release|x64 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Debug|Win32.ActiveCfg = Debug|Win32 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Debug|Win32.Build.0 = Debug|Win32 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Debug|x64.ActiveCfg = Debug|x64 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Debug|x64.Build.0 = Debug|x64 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Release|Win32.ActiveCfg = Release|Win32 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Release|Win32.Build.0 = Release|Win32 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Release|x64.ActiveCfg = Release|x64 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Release|x64.Build.0 = Release|x64 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Debug|Win32.ActiveCfg = Release|x64 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Debug|x64.ActiveCfg = Release|x64 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Debug|x64.Build.0 = Release|x64 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Release|Win32.ActiveCfg = Release|Win32 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Release|Win32.Build.0 = Release|Win32 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Release|x64.ActiveCfg = Release|x64 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Release|x64.Build.0 = Release|x64 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Debug|Win32.ActiveCfg = Debug|Win32 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Debug|Win32.Build.0 = Debug|Win32 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Debug|x64.ActiveCfg = Debug|x64 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Debug|x64.Build.0 = Debug|x64 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Release|Win32.ActiveCfg = Release|Win32 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Release|Win32.Build.0 = Release|Win32 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Release|x64.ActiveCfg = Release|x64 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/build.vc12/ecm/Makefile.am b/build.vc12/ecm/Makefile.am deleted file mode 100644 index 2f05e85c..00000000 --- a/build.vc12/ecm/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = ecm.vcxproj ecm.vcxproj.filters diff --git a/build.vc12/ecm/ecm.vcxproj b/build.vc12/ecm/ecm.vcxproj deleted file mode 100644 index be5e6b82..00000000 --- a/build.vc12/ecm/ecm.vcxproj +++ /dev/null @@ -1,237 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{C0E2EA85-996A-4B5F-AD30-590FAF5B7187}</ProjectGuid> - <RootNamespace>ecm</RootNamespace> - <Keyword>Win32Proj</Keyword> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>false</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX86</TargetMachine> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>ws2_32.lib;..\..\..\$(mp_dir)lib\$(Platform)\release\$(mp_lib);%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>EditAndContinue</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX86</TargetMachine> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="..\..\auxi.c" /> - <ClCompile Include="..\..\b1_ainc.c" /> - <ClCompile Include="..\..\candi.c" /> - <ClCompile Include="..\..\eval.c" /> - <ClCompile Include="..\..\getprime_r.c" /> - <ClCompile Include="..\..\main.c" /> - <ClCompile Include="..\..\random.c" /> - <ClCompile Include="..\..\resume.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\champions.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\getprime_r.h" /> - <ClInclude Include="..\..\longlong.h" /> - <ClInclude Include="..\config.h" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\libecm\libecm.vcxproj"> - <Project>{cd555681-d65b-4173-a29c-b8bf06a4871b}</Project> - <ReferenceOutputAssembly>false</ReferenceOutputAssembly> - </ProjectReference> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc12/ecm/ecm.vcxproj.filters b/build.vc12/ecm/ecm.vcxproj.filters deleted file mode 100644 index c7062937..00000000 --- a/build.vc12/ecm/ecm.vcxproj.filters +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\b1_ainc.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\candi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\eval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\main.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\resume.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime_r.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\getprime_r.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc12/ecm_gpu.sln b/build.vc12/ecm_gpu.sln deleted file mode 100644 index 87325a62..00000000 --- a/build.vc12/ecm_gpu.sln +++ /dev/null @@ -1,39 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libecm_gpu", "libecm_gpu\libecm_gpu.vcxproj", "{3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ecm_gpu", "ecm_gpu\ecm_gpu.vcxproj", "{1B353D8B-9808-4EB3-A5E7-075D751757AD}" - ProjectSection(ProjectDependencies) = postProject - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00} = {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Debug|Win32.ActiveCfg = Debug|Win32 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Debug|Win32.Build.0 = Debug|Win32 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Debug|x64.ActiveCfg = Debug|x64 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Debug|x64.Build.0 = Debug|x64 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Release|Win32.ActiveCfg = Release|Win32 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Release|Win32.Build.0 = Release|Win32 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Release|x64.ActiveCfg = Release|x64 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Release|x64.Build.0 = Release|x64 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Debug|Win32.ActiveCfg = Debug|Win32 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Debug|Win32.Build.0 = Debug|Win32 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Debug|x64.ActiveCfg = Debug|x64 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Debug|x64.Build.0 = Debug|x64 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Release|Win32.ActiveCfg = Release|Win32 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Release|Win32.Build.0 = Release|Win32 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Release|x64.ActiveCfg = Release|x64 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/build.vc12/ecm_gpu/Makefile.am b/build.vc12/ecm_gpu/Makefile.am deleted file mode 100644 index 4dc77cb5..00000000 --- a/build.vc12/ecm_gpu/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = ecm_gpu.vcxproj ecm_gpu.vcxproj.filters diff --git a/build.vc12/ecm_gpu/ecm_gpu.vcxproj b/build.vc12/ecm_gpu/ecm_gpu.vcxproj deleted file mode 100644 index 65dc6577..00000000 --- a/build.vc12/ecm_gpu/ecm_gpu.vcxproj +++ /dev/null @@ -1,279 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{1B353D8B-9808-4EB3-A5E7-075D751757AD}</ProjectGuid> - <RootNamespace>ecm_gpu</RootNamespace> - <Keyword>Win32Proj</Keyword> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 7.5.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC20;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);..\..\lib\$(IntDir)libecm_gpu.lib;advapi32.lib;ws2_32.lib;cudart.lib</AdditionalDependencies> - <GenerateDebugInformation>false</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX86</TargetMachine> - </Link> - <CudaCompile> - <CodeGeneration>compute_20,sm_20</CodeGeneration> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <TargetMachinePlatform>32</TargetMachinePlatform> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <PtxAsOptionV>true</PtxAsOptionV> - <Defines> - </Defines> - </CudaCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC20;_WIN64;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>ws2_32.lib;..\..\..\$(mp_dir)lib\$(Platform)\release\$(mp_lib);%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC20;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>EditAndContinue</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);..\..\lib\$(IntDir)libecm_gpu.lib;advapi32.lib;ws2_32.lib;cudart.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX86</TargetMachine> - </Link> - <CudaCompile> - <CodeGeneration>compute_20,sm_20</CodeGeneration> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <TargetMachinePlatform>32</TargetMachinePlatform> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <PtxAsOptionV>true</PtxAsOptionV> - <Defines> - </Defines> - </CudaCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC20;_WIN64;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);..\..\lib\$(IntDir)libecm_gpu.lib;advapi32.lib;ws2_32.lib;cudart.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - <CudaCompile> - <CodeGeneration>compute_20,sm_20</CodeGeneration> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <TargetMachinePlatform>64</TargetMachinePlatform> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <PtxAsOptionV>true</PtxAsOptionV> - <Defines> - </Defines> - </CudaCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);..\..\lib\$(IntDir)libecm_gpu.lib;advapi32.lib;ws2_32.lib;cudart.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - <CudaCompile> - <CodeGeneration>compute_20,sm_20</CodeGeneration> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <TargetMachinePlatform>64</TargetMachinePlatform> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <PtxAsOptionV>true</PtxAsOptionV> - <Defines> - </Defines> - </CudaCompile> - <CudaLink> - <AdditionalDependencies> - </AdditionalDependencies> - </CudaLink> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="..\..\auxi.c" /> - <ClCompile Include="..\..\b1_ainc.c" /> - <ClCompile Include="..\..\candi.c" /> - <ClCompile Include="..\..\eval.c" /> - <ClCompile Include="..\..\getprime_r.c" /> - <ClCompile Include="..\..\main.c" /> - <ClCompile Include="..\..\memusage.c" /> - <ClCompile Include="..\..\random.c" /> - <ClCompile Include="..\..\resume.c" /> - <ClCompile Include="..\vacopy.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\champions.h" /> - <ClInclude Include="..\..\config.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\getprime_r.h" /> - <ClInclude Include="..\..\longlong.h" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 7.5.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc12/ecm_gpu/ecm_gpu.vcxproj.filters b/build.vc12/ecm_gpu/ecm_gpu.vcxproj.filters deleted file mode 100644 index 5d1f48c3..00000000 --- a/build.vc12/ecm_gpu/ecm_gpu.vcxproj.filters +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="..\vacopy.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\auxi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\b1_ainc.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\candi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\eval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\main.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\resume.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime_r.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\memusage.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\getprime_r.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <Filter Include="Header Files"> - <UniqueIdentifier>{2a13feaf-0c0e-469a-8047-82c647322da9}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files"> - <UniqueIdentifier>{163547c7-89d7-4ddc-b0ad-02b4cfd722b4}</UniqueIdentifier> - </Filter> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc12/file_copy.bat b/build.vc12/file_copy.bat deleted file mode 100644 index dcb84ef9..00000000 --- a/build.vc12/file_copy.bat +++ /dev/null @@ -1,4 +0,0 @@ -if not exist %1 ( echo file_copy failure: %1 not found && goto exit ) -if exist %2 ( fc %1 %2 > nul && if not %errorlevel 1 goto exit ) -echo copying %1 to %2 && copy %1 %2 -:exit diff --git a/build.vc12/gen_ecm_h.bat b/build.vc12/gen_ecm_h.bat deleted file mode 100644 index 280470d5..00000000 --- a/build.vc12/gen_ecm_h.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -echo creating ecm.h from ecm.h.in -echo /* generated from ecm-h.in by gen_ecm_h.bat */>tmp.h - -for /f "tokens=1,2*" %%a in (..\ecm.h.in) do ( - if "%%a" EQU "#undef" ( - if "%%b" EQU "ECM_VERSION" ( - echo #define ECM_VERSION "7.0.6-rc1">>tmp.h - ) - ) else echo %%a %%b %%c>>tmp.h -) - -call out_copy_rename tmp.h ..\ ecm.h diff --git a/build.vc12/getopt.c b/build.vc12/getopt.c deleted file mode 100644 index 1716d95b..00000000 --- a/build.vc12/getopt.c +++ /dev/null @@ -1,1281 +0,0 @@ -/* Getopt for GNU. - NOTE: getopt is now part of the C library, so if you don't know what - "Keep this file name-space clean" means, talk to drepper@gnu.org - before changing it! - Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify 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. - - The GNU C 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>. - Ditto for AIX 3.2 and <stdlib.h>. */ - -#define HAVE_STRING_H 1 - -#ifndef _NO_PROTO -# define _NO_PROTO -#endif - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#if !defined __STDC__ || !__STDC__ -/* This is a separate conditional since some stdc systems - reject `defined (const)'. */ -# ifndef const -# define const -# endif -#endif - -#include <stdio.h> - -/* Comment out all this code if we are using the GNU C Library, and are not - actually compiling the library itself. This code is part of the GNU C - Library, but also included in many other GNU distributions. Compiling - and linking in this code is a waste when using the GNU C library - (especially if it is a shared library). Rather than having every GNU - program understand `configure --with-gnu-libc' and omit the object files, - it is simpler to just do this in the source for each such file. */ - -#define GETOPT_INTERFACE_VERSION 2 -#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 -# include <gnu-versions.h> -# if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION -# define ELIDE_CODE -# endif -#endif - -#ifndef ELIDE_CODE - - -/* This needs to come after some library #include - to get __GNU_LIBRARY__ defined. */ -#ifdef __GNU_LIBRARY__ -/* Don't include stdlib.h for non-GNU C libraries because some of them - contain conflicting prototypes for getopt. */ -# include <stdlib.h> -# include <unistd.h> -#endif /* GNU C library. */ - -#ifdef VMS -# include <unixlib.h> -# if HAVE_STRING_H - 0 -# include <string.h> -# endif -#endif - -#ifndef _ -/* This is for other GNU distributions with internationalized messages. */ -# if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC -# include <libintl.h> -# ifndef _ -# define _(msgid) gettext (msgid) -# endif -# else -# define _(msgid) (msgid) -# endif -# if defined _LIBC && defined USE_IN_LIBIO -# include <wchar.h> -# endif -#endif - -#ifndef attribute_hidden -# define attribute_hidden -#endif - -/* This version of `getopt' appears to the caller like standard Unix `getopt' - but it behaves differently for the user, since it allows the user - to intersperse the options with the other arguments. - - As `getopt' works, it permutes the elements of ARGV so that, - when it is done, all the options precede everything else. Thus - all application programs are extended to handle flexible argument order. - - Setting the environment variable POSIXLY_CORRECT disables permutation. - Then the behavior is completely standard. - - GNU application programs can use a third alternative mode in which - they can distinguish the relative order of options and other arguments. */ - -#include "getopt.h" - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -/* 1003.2 says this must be 1 before any call. */ -int optind = 1; - -/* Formerly, initialization of getopt depended on optind==0, which - causes problems with re-calling getopt as programs generally don't - know that. */ - -int __getopt_initialized attribute_hidden; - -/* The next char to be scanned in the option-element - in which the last option character we returned was found. - This allows us to pick up the scan where we left off. - - If this is zero, or a null string, it means resume the scan - by advancing to the next ARGV-element. */ - -static char *nextchar; - -/* Callers store zero here to inhibit the error message - for unrecognized options. */ - -int opterr = 1; - -/* Set to an option character which was unrecognized. - This must be initialized on some systems to avoid linking in the - system's own getopt implementation. */ - -int optopt = '?'; - -/* Describe how to deal with options that follow non-option ARGV-elements. - - If the caller did not specify anything, - the default is REQUIRE_ORDER if the environment variable - POSIXLY_CORRECT is defined, PERMUTE otherwise. - - REQUIRE_ORDER means don't recognize them as options; - stop option processing when the first non-option is seen. - This is what Unix does. - This mode of operation is selected by either setting the environment - variable POSIXLY_CORRECT, or using `+' as the first character - of the list of option characters. - - PERMUTE is the default. We permute the contents of ARGV as we scan, - so that eventually all the non-options are at the end. This allows options - to be given in any order, even with programs that were not written to - expect this. - - RETURN_IN_ORDER is an option available to programs that were written - to expect options and other ARGV-elements in any order and that care about - the ordering of the two. We describe each non-option ARGV-element - as if it were the argument of an option with character code 1. - Using `-' as the first character of the list of option characters - selects this mode of operation. - - The special argument `--' forces an end of option-scanning regardless - of the value of `ordering'. In the case of RETURN_IN_ORDER, only - `--' can cause `getopt' to return -1 with `optind' != ARGC. */ - -static enum -{ - REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER -} ordering; - -/* Value of POSIXLY_CORRECT environment variable. */ -static char *posixly_correct; - -#ifdef __GNU_LIBRARY__ -/* We want to avoid inclusion of string.h with non-GNU libraries - because there are many ways it can cause trouble. - On some systems, it contains special magic macros that don't work - in GCC. */ -# include <string.h> -# define my_index strchr -#else - -# if HAVE_STRING_H -# include <string.h> -# else -# include <strings.h> -# endif - -/* Avoid depending on library functions or files - whose names are inconsistent. */ - -#ifndef getenv -extern char *getenv (); -#endif - -static char * -my_index (str, chr) - const char *str; - int chr; -{ - while (*str) - { - if (*str == chr) - return (char *) str; - str++; - } - return 0; -} - -/* If using GCC, we can safely declare strlen this way. - If not using GCC, it is ok not to declare it. */ -#ifdef __GNUC__ -/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h. - That was relevant to code that was here before. */ -# if (!defined __STDC__ || !__STDC__) && !defined strlen -/* gcc with -traditional declares the built-in strlen to return int, - and has done so at least since version 2.4.5. -- rms. */ -extern int strlen (const char *); -# endif /* not __STDC__ */ -#endif /* __GNUC__ */ - -#endif /* not __GNU_LIBRARY__ */ - -/* Handle permutation of arguments. */ - -/* Describe the part of ARGV that contains non-options that have - been skipped. `first_nonopt' is the index in ARGV of the first of them; - `last_nonopt' is the index after the last of them. */ - -static int first_nonopt; -static int last_nonopt; - -#ifdef _LIBC -/* Stored original parameters. - XXX This is no good solution. We should rather copy the args so - that we can compare them later. But we must not use malloc(3). */ -extern int __libc_argc; -extern char **__libc_argv; - -/* Bash 2.0 gives us an environment variable containing flags - indicating ARGV elements that should not be considered arguments. */ - -# ifdef USE_NONOPTION_FLAGS -/* Defined in getopt_init.c */ -extern char *__getopt_nonoption_flags; - -static int nonoption_flags_max_len; -static int nonoption_flags_len; -# endif - -# ifdef USE_NONOPTION_FLAGS -# define SWAP_FLAGS(ch1, ch2) \ - if (nonoption_flags_len > 0) \ - { \ - char __tmp = __getopt_nonoption_flags[ch1]; \ - __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ - __getopt_nonoption_flags[ch2] = __tmp; \ - } -# else -# define SWAP_FLAGS(ch1, ch2) -# endif -#else /* !_LIBC */ -# define SWAP_FLAGS(ch1, ch2) -#endif /* _LIBC */ - -/* Exchange two adjacent subsequences of ARGV. - One subsequence is elements [first_nonopt,last_nonopt) - which contains all the non-options that have been skipped so far. - The other is elements [last_nonopt,optind), which contains all - the options processed since those non-options were skipped. - - `first_nonopt' and `last_nonopt' are relocated so that they describe - the new indices of the non-options in ARGV after they are moved. */ - -#if defined __STDC__ && __STDC__ -static void exchange (char **); -#endif - -static void -exchange (argv) - char **argv; -{ - int bottom = first_nonopt; - int middle = last_nonopt; - int top = optind; - char *tem; - - /* Exchange the shorter segment with the far end of the longer segment. - That puts the shorter segment into the right place. - It leaves the longer segment in the right place overall, - but it consists of two parts that need to be swapped next. */ - -#if defined _LIBC && defined USE_NONOPTION_FLAGS - /* First make sure the handling of the `__getopt_nonoption_flags' - string can work normally. Our top argument must be in the range - of the string. */ - if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len) - { - /* We must extend the array. The user plays games with us and - presents new arguments. */ - char *new_str = malloc (top + 1); - if (new_str == NULL) - nonoption_flags_len = nonoption_flags_max_len = 0; - else - { - memset (__mempcpy (new_str, __getopt_nonoption_flags, - nonoption_flags_max_len), - '\0', top + 1 - nonoption_flags_max_len); - nonoption_flags_max_len = top + 1; - __getopt_nonoption_flags = new_str; - } - } -#endif - - while (top > middle && middle > bottom) - { - if (top - middle > middle - bottom) - { - /* Bottom segment is the short one. */ - int len = middle - bottom; - register int i; - - /* Swap it with the top part of the top segment. */ - for (i = 0; i < len; i++) - { - tem = argv[bottom + i]; - argv[bottom + i] = argv[top - (middle - bottom) + i]; - argv[top - (middle - bottom) + i] = tem; - SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); - } - /* Exclude the moved bottom segment from further swapping. */ - top -= len; - } - else - { - /* Top segment is the short one. */ - int len = top - middle; - register int i; - - /* Swap it with the bottom part of the bottom segment. */ - for (i = 0; i < len; i++) - { - tem = argv[bottom + i]; - argv[bottom + i] = argv[middle + i]; - argv[middle + i] = tem; - SWAP_FLAGS (bottom + i, middle + i); - } - /* Exclude the moved top segment from further swapping. */ - bottom += len; - } - } - - /* Update records for the slots the non-options now occupy. */ - - first_nonopt += (optind - last_nonopt); - last_nonopt = optind; -} - -/* Initialize the internal data when the first call is made. */ - -#if defined __STDC__ && __STDC__ -static const char *_getopt_initialize (int, char *const *, const char *); -#endif -static const char * -_getopt_initialize (argc, argv, optstring) - int argc; - char *const *argv; - const char *optstring; -{ - /* Start processing options with ARGV-element 1 (since ARGV-element 0 - is the program name); the sequence of previously skipped - non-option ARGV-elements is empty. */ - - first_nonopt = last_nonopt = optind; - - nextchar = NULL; - - posixly_correct = getenv ("POSIXLY_CORRECT"); - - /* Determine how to handle the ordering of options and nonoptions. */ - - if (optstring[0] == '-') - { - ordering = RETURN_IN_ORDER; - ++optstring; - } - else if (optstring[0] == '+') - { - ordering = REQUIRE_ORDER; - ++optstring; - } - else if (posixly_correct != NULL) - ordering = REQUIRE_ORDER; - else - ordering = PERMUTE; - -#if defined _LIBC && defined USE_NONOPTION_FLAGS - if (posixly_correct == NULL - && argc == __libc_argc && argv == __libc_argv) - { - if (nonoption_flags_max_len == 0) - { - if (__getopt_nonoption_flags == NULL - || __getopt_nonoption_flags[0] == '\0') - nonoption_flags_max_len = -1; - else - { - const char *orig_str = __getopt_nonoption_flags; - int len = nonoption_flags_max_len = strlen (orig_str); - if (nonoption_flags_max_len < argc) - nonoption_flags_max_len = argc; - __getopt_nonoption_flags = - (char *) malloc (nonoption_flags_max_len); - if (__getopt_nonoption_flags == NULL) - nonoption_flags_max_len = -1; - else - memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), - '\0', nonoption_flags_max_len - len); - } - } - nonoption_flags_len = nonoption_flags_max_len; - } - else - nonoption_flags_len = 0; -#endif - - return optstring; -} - -/* Scan elements of ARGV (whose length is ARGC) for option characters - given in OPTSTRING. - - If an element of ARGV starts with '-', and is not exactly "-" or "--", - then it is an option element. The characters of this element - (aside from the initial '-') are option characters. If `getopt' - is called repeatedly, it returns successively each of the option characters - from each of the option elements. - - If `getopt' finds another option character, it returns that character, - updating `optind' and `nextchar' so that the next call to `getopt' can - resume the scan with the following option character or ARGV-element. - - If there are no more option characters, `getopt' returns -1. - Then `optind' is the index in ARGV of the first ARGV-element - that is not an option. (The ARGV-elements have been permuted - so that those that are not options now come last.) - - OPTSTRING is a string containing the legitimate option characters. - If an option character is seen that is not listed in OPTSTRING, - return '?' after printing an error message. If you set `opterr' to - zero, the error message is suppressed but we still return '?'. - - If a char in OPTSTRING is followed by a colon, that means it wants an arg, - so the following text in the same ARGV-element, or the text of the following - ARGV-element, is returned in `optarg'. Two colons mean an option that - wants an optional arg; if there is text in the current ARGV-element, - it is returned in `optarg', otherwise `optarg' is set to zero. - - If OPTSTRING starts with `-' or `+', it requests different methods of - handling the non-option ARGV-elements. - See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. - - Long-named options begin with `--' instead of `-'. - Their names may be abbreviated as long as the abbreviation is unique - or is an exact match for some defined option. If they have an - argument, it follows the option name in the same ARGV-element, separated - from the option name by a `=', or else the in next ARGV-element. - When `getopt' finds a long-named option, it returns 0 if that option's - `flag' field is nonzero, the value of the option's `val' field - if the `flag' field is zero. - - The elements of ARGV aren't really const, because we permute them. - But we pretend they're const in the prototype to be compatible - with other systems. - - LONGOPTS is a vector of `struct option' terminated by an - element containing a name which is zero. - - LONGIND returns the index in LONGOPT of the long-named option found. - It is only valid when a long-named option has been found by the most - recent call. - - If LONG_ONLY is nonzero, '-' as well as '--' can introduce - long-named options. */ - -int -_getopt_internal (argc, argv, optstring, longopts, longind, long_only) - int argc; - char *const *argv; - const char *optstring; - const struct option *longopts; - int *longind; - int long_only; -{ - int print_errors = opterr; - if (optstring[0] == ':') - print_errors = 0; - - if (argc < 1) - return -1; - - optarg = NULL; - - if (optind == 0 || !__getopt_initialized) - { - if (optind == 0) - optind = 1; /* Don't scan ARGV[0], the program name. */ - optstring = _getopt_initialize (argc, argv, optstring); - __getopt_initialized = 1; - } - - /* Test whether ARGV[optind] points to a non-option argument. - Either it does not have option syntax, or there is an environment flag - from the shell indicating it is not an option. The later information - is only used when the used in the GNU libc. */ -#if defined _LIBC && defined USE_NONOPTION_FLAGS -# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \ - || (optind < nonoption_flags_len \ - && __getopt_nonoption_flags[optind] == '1')) -#else -# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0') -#endif - - if (nextchar == NULL || *nextchar == '\0') - { - /* Advance to the next ARGV-element. */ - - /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been - moved back by the user (who may also have changed the arguments). */ - if (last_nonopt > optind) - last_nonopt = optind; - if (first_nonopt > optind) - first_nonopt = optind; - - if (ordering == PERMUTE) - { - /* If we have just processed some options following some non-options, - exchange them so that the options come first. */ - - if (first_nonopt != last_nonopt && last_nonopt != optind) - exchange ((char **) argv); - else if (last_nonopt != optind) - first_nonopt = optind; - - /* Skip any additional non-options - and extend the range of non-options previously skipped. */ - - while (optind < argc && NONOPTION_P) - optind++; - last_nonopt = optind; - } - - /* The special ARGV-element `--' means premature end of options. - Skip it like a null option, - then exchange with previous non-options as if it were an option, - then skip everything else like a non-option. */ - - if (optind != argc && !strcmp (argv[optind], "--")) - { - optind++; - - if (first_nonopt != last_nonopt && last_nonopt != optind) - exchange ((char **) argv); - else if (first_nonopt == last_nonopt) - first_nonopt = optind; - last_nonopt = argc; - - optind = argc; - } - - /* If we have done all the ARGV-elements, stop the scan - and back over any non-options that we skipped and permuted. */ - - if (optind == argc) - { - /* Set the next-arg-index to point at the non-options - that we previously skipped, so the caller will digest them. */ - if (first_nonopt != last_nonopt) - optind = first_nonopt; - return -1; - } - - /* If we have come to a non-option and did not permute it, - either stop the scan or describe it to the caller and pass it by. */ - - if (NONOPTION_P) - { - if (ordering == REQUIRE_ORDER) - return -1; - optarg = argv[optind++]; - return 1; - } - - /* We have found another option-ARGV-element. - Skip the initial punctuation. */ - - nextchar = (argv[optind] + 1 - + (longopts != NULL && argv[optind][1] == '-')); - } - - /* Decode the current option-ARGV-element. */ - - /* Check whether the ARGV-element is a long option. - - If long_only and the ARGV-element has the form "-f", where f is - a valid short option, don't consider it an abbreviated form of - a long option that starts with f. Otherwise there would be no - way to give the -f short option. - - On the other hand, if there's a long option "fubar" and - the ARGV-element is "-fu", do consider that an abbreviation of - the long option, just like "--fu", and not "-f" with arg "u". - - This distinction seems to be the most useful approach. */ - - if (longopts != NULL - && (argv[optind][1] == '-' - || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1]))))) - { - char *nameend; - const struct option *p; - const struct option *pfound = NULL; - int exact = 0; - int ambig = 0; - int indfound = -1; - int option_index; - - for (nameend = nextchar; *nameend && *nameend != '='; nameend++) - /* Do nothing. */ ; - - /* Test all long options for either exact match - or abbreviated matches. */ - for (p = longopts, option_index = 0; p->name; p++, option_index++) - if (!strncmp (p->name, nextchar, nameend - nextchar)) - { - if ((unsigned int) (nameend - nextchar) - == (unsigned int) strlen (p->name)) - { - /* Exact match found. */ - pfound = p; - indfound = option_index; - exact = 1; - break; - } - else if (pfound == NULL) - { - /* First nonexact match found. */ - pfound = p; - indfound = option_index; - } - else if (long_only - || pfound->has_arg != p->has_arg - || pfound->flag != p->flag - || pfound->val != p->val) - /* Second or later nonexact match found. */ - ambig = 1; - } - - if (ambig && !exact) - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"), - argv[0], argv[optind]) >= 0) - { - - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, _("%s: option `%s' is ambiguous\n"), - argv[0], argv[optind]); -#endif - } - nextchar += strlen (nextchar); - optind++; - optopt = 0; - return '?'; - } - - if (pfound != NULL) - { - option_index = indfound; - optind++; - if (*nameend) - { - /* Don't test has_arg with >, because some C compilers don't - allow it to be used on enums. */ - if (pfound->has_arg) - optarg = nameend + 1; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - int n; -#endif - - if (argv[optind - 1][1] == '-') - { - /* --option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("\ -%s: option `--%s' doesn't allow an argument\n"), - argv[0], pfound->name); -#else - fprintf (stderr, _("\ -%s: option `--%s' doesn't allow an argument\n"), - argv[0], pfound->name); -#endif - } - else - { - /* +option or -option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("\ -%s: option `%c%s' doesn't allow an argument\n"), - argv[0], argv[optind - 1][0], - pfound->name); -#else - fprintf (stderr, _("\ -%s: option `%c%s' doesn't allow an argument\n"), - argv[0], argv[optind - 1][0], pfound->name); -#endif - } - -#if defined _LIBC && defined USE_IN_LIBIO - if (n >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#endif - } - - nextchar += strlen (nextchar); - - optopt = pfound->val; - return '?'; - } - } - else if (pfound->has_arg == 1) - { - if (optind < argc) - optarg = argv[optind++]; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, - _("%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]); -#endif - } - nextchar += strlen (nextchar); - optopt = pfound->val; - return optstring[0] == ':' ? ':' : '?'; - } - } - nextchar += strlen (nextchar); - if (longind != NULL) - *longind = option_index; - if (pfound->flag) - { - *(pfound->flag) = pfound->val; - return 0; - } - return pfound->val; - } - - /* Can't find it as a long option. If this is not getopt_long_only, - or the option starts with '--' or is not a valid short - option, then it's an error. - Otherwise interpret it as a short option. */ - if (!long_only || argv[optind][1] == '-' - || my_index (optstring, *nextchar) == NULL) - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - int n; -#endif - - if (argv[optind][1] == '-') - { - /* --option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"), - argv[0], nextchar); -#else - fprintf (stderr, _("%s: unrecognized option `--%s'\n"), - argv[0], nextchar); -#endif - } - else - { - /* +option or -option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"), - argv[0], argv[optind][0], nextchar); -#else - fprintf (stderr, _("%s: unrecognized option `%c%s'\n"), - argv[0], argv[optind][0], nextchar); -#endif - } - -#if defined _LIBC && defined USE_IN_LIBIO - if (n >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#endif - } - nextchar = (char *) ""; - optind++; - optopt = 0; - return '?'; - } - } - - /* Look at and handle the next short option-character. */ - - { - char c = *nextchar++; - char *temp = my_index (optstring, c); - - /* Increment `optind' when we start to process its last character. */ - if (*nextchar == '\0') - ++optind; - - if (temp == NULL || c == ':') - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - int n; -#endif - - if (posixly_correct) - { - /* 1003.2 specifies the format of this message. */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: illegal option -- %c\n"), - argv[0], c); -#else - fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c); -#endif - } - else - { -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: invalid option -- %c\n"), - argv[0], c); -#else - fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c); -#endif - } - -#if defined _LIBC && defined USE_IN_LIBIO - if (n >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#endif - } - optopt = c; - return '?'; - } - /* Convenience. Treat POSIX -W foo same as long option --foo */ - if (temp[0] == 'W' && temp[1] == ';') - { - char *nameend; - const struct option *p; - const struct option *pfound = NULL; - int exact = 0; - int ambig = 0; - int indfound = 0; - int option_index; - - /* This is an option that requires an argument. */ - if (*nextchar != '\0') - { - optarg = nextchar; - /* If we end this ARGV-element by taking the rest as an arg, - we must advance to the next element now. */ - optind++; - } - else if (optind == argc) - { - if (print_errors) - { - /* 1003.2 specifies the format of this message. */ -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, - _("%s: option requires an argument -- %c\n"), - argv[0], c) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, _("%s: option requires an argument -- %c\n"), - argv[0], c); -#endif - } - optopt = c; - if (optstring[0] == ':') - c = ':'; - else - c = '?'; - return c; - } - else - /* We already incremented `optind' once; - increment it again when taking next ARGV-elt as argument. */ - optarg = argv[optind++]; - - /* optarg is now the argument, see if it's in the - table of longopts. */ - - for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++) - /* Do nothing. */ ; - - /* Test all long options for either exact match - or abbreviated matches. */ - for (p = longopts, option_index = 0; p->name; p++, option_index++) - if (!strncmp (p->name, nextchar, nameend - nextchar)) - { - if ((unsigned int) (nameend - nextchar) == strlen (p->name)) - { - /* Exact match found. */ - pfound = p; - indfound = option_index; - exact = 1; - break; - } - else if (pfound == NULL) - { - /* First nonexact match found. */ - pfound = p; - indfound = option_index; - } - else - /* Second or later nonexact match found. */ - ambig = 1; - } - if (ambig && !exact) - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"), - argv[0], argv[optind]) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), - argv[0], argv[optind]); -#endif - } - nextchar += strlen (nextchar); - optind++; - return '?'; - } - if (pfound != NULL) - { - option_index = indfound; - if (*nameend) - { - /* Don't test has_arg with >, because some C compilers don't - allow it to be used on enums. */ - if (pfound->has_arg) - optarg = nameend + 1; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option `-W %s' doesn't allow an argument\n"), - argv[0], pfound->name) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, _("\ -%s: option `-W %s' doesn't allow an argument\n"), - argv[0], pfound->name); -#endif - } - - nextchar += strlen (nextchar); - return '?'; - } - } - else if (pfound->has_arg == 1) - { - if (optind < argc) - optarg = argv[optind++]; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, - _("%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]); -#endif - } - nextchar += strlen (nextchar); - return optstring[0] == ':' ? ':' : '?'; - } - } - nextchar += strlen (nextchar); - if (longind != NULL) - *longind = option_index; - if (pfound->flag) - { - *(pfound->flag) = pfound->val; - return 0; - } - return pfound->val; - } - nextchar = NULL; - return 'W'; /* Let the application handle it. */ - } - if (temp[1] == ':') - { - if (temp[2] == ':') - { - /* This is an option that accepts an argument optionally. */ - if (*nextchar != '\0') - { - optarg = nextchar; - optind++; - } - else - optarg = NULL; - nextchar = NULL; - } - else - { - /* This is an option that requires an argument. */ - if (*nextchar != '\0') - { - optarg = nextchar; - /* If we end this ARGV-element by taking the rest as an arg, - we must advance to the next element now. */ - optind++; - } - else if (optind == argc) - { - if (print_errors) - { - /* 1003.2 specifies the format of this message. */ -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option requires an argument -- %c\n"), - argv[0], c) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, - _("%s: option requires an argument -- %c\n"), - argv[0], c); -#endif - } - optopt = c; - if (optstring[0] == ':') - c = ':'; - else - c = '?'; - } - else - /* We already incremented `optind' once; - increment it again when taking next ARGV-elt as argument. */ - optarg = argv[optind++]; - nextchar = NULL; - } - } - return c; - } -} - -int -getopt (argc, argv, optstring) - int argc; - char *const *argv; - const char *optstring; -{ - return _getopt_internal (argc, argv, optstring, - (const struct option *) 0, - (int *) 0, - 0); -} - -#endif /* Not ELIDE_CODE. */ - -#ifdef TEST - -/* Compile with -DTEST to make an executable for use in testing - the above definition of `getopt'. */ - -int -main (argc, argv) - int argc; - char **argv; -{ - int c; - int digit_optind = 0; - - while (1) - { - int this_option_optind = optind ? optind : 1; - - c = getopt (argc, argv, "abc:d:0123456789"); - if (c == -1) - break; - - switch (c) - { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - if (digit_optind != 0 && digit_optind != this_option_optind) - printf ("digits occur in two different argv-elements.\n"); - digit_optind = this_option_optind; - printf ("option %c\n", c); - break; - - case 'a': - printf ("option a\n"); - break; - - case 'b': - printf ("option b\n"); - break; - - case 'c': - printf ("option c with value `%s'\n", optarg); - break; - - case '?': - break; - - default: - printf ("?? getopt returned character code 0%o ??\n", c); - } - } - - if (optind < argc) - { - printf ("non-option ARGV-elements: "); - while (optind < argc) - printf ("%s ", argv[optind++]); - printf ("\n"); - } - - exit (0); -} - -#endif /* TEST */ - diff --git a/build.vc12/getopt.h b/build.vc12/getopt.h deleted file mode 100644 index 95084d11..00000000 --- a/build.vc12/getopt.h +++ /dev/null @@ -1,182 +0,0 @@ -/* Declarations for getopt. - Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify 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. - - The GNU C 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _GETOPT_H - -#ifndef __need_getopt -# define _GETOPT_H 1 -#endif - -/* If __GNU_LIBRARY__ is not already defined, either we are being used - standalone, or this is the first header included in the source file. - If we are being used with glibc, we need to include <features.h>, but - that does not exist if we are standalone. So: if __GNU_LIBRARY__ is - not defined, include <ctype.h>, which will pull in <features.h> for us - if it's from glibc. (Why ctype.h? It's guaranteed to exist and it - doesn't flood the namespace with stuff the way some other headers do.) */ -#if !defined __GNU_LIBRARY__ -# include <ctype.h> -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -extern char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -extern int optind; - -/* Callers store zero here to inhibit the error message `getopt' prints - for unrecognized options. */ - -extern int opterr; - -/* Set to an option character which was unrecognized. */ - -extern int optopt; - -#ifndef __need_getopt -/* Describe the long-named options requested by the application. - The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector - of `struct option' terminated by an element containing a name which is - zero. - - The field `has_arg' is: - no_argument (or 0) if the option does not take an argument, - required_argument (or 1) if the option requires an argument, - optional_argument (or 2) if the option takes an optional argument. - - If the field `flag' is not NULL, it points to a variable that is set - to the value given in the field `val' when the option is found, but - left unchanged if the option is not found. - - To have a long-named option do something other than set an `int' to - a compiled-in constant, such as set a value from `optarg', set the - option's `flag' field to zero and its `val' field to a nonzero - value (the equivalent single-letter option character, if there is - one). For long options that have a zero `flag' field, `getopt' - returns the contents of the `val' field. */ - -struct option -{ -# if (defined __STDC__ && __STDC__) || defined __cplusplus - const char *name; -# else - char *name; -# endif - /* has_arg can't be an enum because some compilers complain about - type mismatches in all the code that assumes it is an int. */ - int has_arg; - int *flag; - int val; -}; - -/* Names for the values of the `has_arg' field of `struct option'. */ - -# define no_argument 0 -# define required_argument 1 -# define optional_argument 2 -#endif /* need getopt */ - - -/* Get definitions and prototypes for functions to process the - arguments in ARGV (ARGC of them, minus the program name) for - options given in OPTS. - - Return the option character from OPTS just read. Return -1 when - there are no more options. For unrecognized options, or options - missing arguments, `optopt' is set to the option letter, and '?' is - returned. - - The OPTS string is a list of characters which are recognized option - letters, optionally followed by colons, specifying that that letter - takes an argument, to be placed in `optarg'. - - If a letter in OPTS is followed by two colons, its argument is - optional. This behavior is specific to the GNU `getopt'. - - The argument `--' causes premature termination of argument - scanning, explicitly telling `getopt' that there are no more - options. - - If OPTS begins with `--', then non-option arguments are treated as - arguments to the option '\0'. This behavior is specific to the GNU - `getopt'. */ - -#if (defined __STDC__ && __STDC__) || defined __cplusplus -# ifdef __GNU_LIBRARY__ -/* Many other libraries have conflicting prototypes for getopt, with - differences in the consts, in stdlib.h. To avoid compilation - errors, only prototype getopt for the GNU C library. */ -extern int getopt (int ___argc, char *const *___argv, const char *__shortopts); -# else /* not __GNU_LIBRARY__ */ -extern int getopt (); -# endif /* __GNU_LIBRARY__ */ - -# ifndef __need_getopt -extern int getopt_long (int ___argc, char *const *___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind); -extern int getopt_long_only (int ___argc, char *const *___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind); - -/* Internal only. Users should not call this directly. */ -extern int _getopt_internal (int ___argc, char *const *___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind, - int __long_only); -# endif -#else /* not __STDC__ */ -extern int getopt (); -# ifndef __need_getopt -extern int getopt_long (); -extern int getopt_long_only (); - -extern int _getopt_internal (); -# endif -#endif /* __STDC__ */ - -#ifdef __cplusplus -} -#endif - -/* Make sure we later can get all the definitions and declarations. */ -#undef __need_getopt - -#endif /* getopt.h */ - diff --git a/build.vc12/getrusage.c b/build.vc12/getrusage.c deleted file mode 100644 index deea4b13..00000000 --- a/build.vc12/getrusage.c +++ /dev/null @@ -1,71 +0,0 @@ -/* This file is part of the MPIR Library. - - The MPIR Library is free software; you can redistribute it and/or modify - 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. - The MPIR 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 Lesser General Public - License for more details. - You should have received a copy of the GNU Lesser General Public License - along with the MPIR Library; see the file COPYING.LIB. If not, write - to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#define WIN32_LEAN_AND_MEAN - -#include <windows.h> -#include <psapi.h> -#include <errno.h> - -#include "getrusage.h" - -typedef union file_t -{ FILETIME ft; - long long lt; -} file_t; - -int getrusage(int who, rusage *usage) -{ - HANDLE proc_hand; - file_t c_time, x_time, s_time, u_time; - int cb = 0, err = -1; - - if(who != RUSAGE_SELF) - { - errno = (who == RUSAGE_CHILDREN ? ENODATA : EINVAL); - return err; - } - - proc_hand = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, GetCurrentProcessId()); - - if(GetProcessTimes(proc_hand, &(c_time.ft), &(x_time.ft), &(s_time.ft), &(u_time.ft))) - { - PROCESS_MEMORY_COUNTERS ctrs; - - /* The units returned by GetProcessTimes are 100 nanoseconds */ - u_time.lt = (u_time.lt + 5) / 10; - s_time.lt = (s_time.lt + 5) / 10; - - usage->ru_utime.tv_sec = (long)(u_time.lt / 1000000ll); - usage->ru_stime.tv_sec = (long)(s_time.lt / 1000000ll); - usage->ru_utime.tv_usec = (long)(u_time.lt % 1000000ll); - usage->ru_stime.tv_usec = (long)(s_time.lt % 1000000ll); - - if(GetProcessMemoryInfo(proc_hand, &ctrs, sizeof(ctrs))) - { - PERFORMANCE_INFORMATION perf_info; - GetPerformanceInfo(&perf_info, sizeof(perf_info)); - usage->ru_maxrss = (DWORD) (ctrs.WorkingSetSize / perf_info.PageSize); - usage->ru_majflt = ctrs.PageFaultCount; - err = 0; - } - } - - if(err) - errno = EACCES; - CloseHandle(proc_hand); - return err; -} diff --git a/build.vc12/getrusage.h b/build.vc12/getrusage.h deleted file mode 100644 index f449c434..00000000 --- a/build.vc12/getrusage.h +++ /dev/null @@ -1,46 +0,0 @@ - -#ifndef _GETRUSAGE_H -#define _GETRUSAGE_H - -#if defined(__cplusplus) -extern "C" -{ -#endif - -#define ENODATA 61 -#define RUSAGE_SELF 0 -#define RUSAGE_CHILDREN -1 - -typedef struct -{ - long tv_sec; - long tv_usec; -} tval; - -typedef struct rusage -{ - tval ru_utime; /* user time used */ - tval ru_stime; /* system time used */ - long ru_maxrss; /* integral max resident set size */ - long ru_ixrss; /* integral shared text memory size */ - long ru_idrss; /* integral unshared data size */ - long ru_isrss; /* integral unshared stack size */ - long ru_minflt; /* page reclaims */ - long ru_majflt; /* page faults */ - long ru_nswap; /* swaps */ - long ru_inblock; /* block input operations */ - long ru_oublock; /* block output operations */ - long ru_msgsnd; /* messages sent */ - long ru_msgrcv; /* messages received */ - long ru_nsignals;/* signals received */ - long ru_nvcsw; /* voluntary context switches */ - long ru_nivcsw; /* involuntary context switches */ -} rusage; - -int getrusage(int who, rusage *usage); - -#if defined(__cplusplus) -} -#endif - -#endif diff --git a/build.vc12/gettimeofday.c b/build.vc12/gettimeofday.c deleted file mode 100644 index d576e24e..00000000 --- a/build.vc12/gettimeofday.c +++ /dev/null @@ -1,39 +0,0 @@ - -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <time.h> - -#include "gettimeofday.h" - -int gettimeofday(struct timeval *tv, struct timezone *tz) -{ - FILETIME ft; - LARGE_INTEGER li; - __int64 t; - static int tzflag; - - if(tv) - { - GetSystemTimeAsFileTime(&ft); - li.LowPart = ft.dwLowDateTime; - li.HighPart = ft.dwHighDateTime; - t = li.QuadPart; - t -= EPOCHFILETIME; - t /= 10; - tv->tv_sec = (long)(t / 1000000); - tv->tv_usec = (long)(t % 1000000); - } - - if (tz) - { - if (!tzflag) - { - _tzset(); - tzflag++; - } - tz->tz_minuteswest = _timezone / 60; - tz->tz_dsttime = _daylight; - } - - return 0; -} diff --git a/build.vc12/gettimeofday.h b/build.vc12/gettimeofday.h deleted file mode 100644 index 1c9dde98..00000000 --- a/build.vc12/gettimeofday.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * timeval.h 1.0 01/12/19 - * - * Defines gettimeofday, timeval, etc. for Win32 - * - * By Wu Yongwei - * - */ -#ifndef _TIMEVAL_H -#define _TIMEVAL_H - -#include <winsock2.h> - -#define EPOCHFILETIME (116444736000000000LL) - -#if defined(__cplusplus) -extern "C" -{ -#endif - -struct timezone -{ - int tz_minuteswest; /* minutes W of Greenwich */ - int tz_dsttime; /* type of dst correction */ -}; - -int gettimeofday(struct timeval *tv, struct timezone *tz); - -#if defined(__cplusplus) -} -#endif - -#endif /* _TIMEVAL_H */ - diff --git a/build.vc12/libecm/Makefile.am b/build.vc12/libecm/Makefile.am deleted file mode 100644 index bdadb817..00000000 --- a/build.vc12/libecm/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -EXTRA_DIST = libecm.vcxproj libecm.vcxproj.filters - diff --git a/build.vc12/libecm/libecm.vcxproj b/build.vc12/libecm/libecm.vcxproj deleted file mode 100644 index d921bd0a..00000000 --- a/build.vc12/libecm/libecm.vcxproj +++ /dev/null @@ -1,266 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{CD555681-D65B-4173-A29C-B8BF06A4871B}</ProjectGuid> - <RootNamespace>libecm</RootNamespace> - <Keyword>Win32Proj</Keyword> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseOfAtl>Static</UseOfAtl> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <PreBuildEvent> - <Command>..\prebuild NO_GPU</Command> - </PreBuildEvent> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;SSE2;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <PreBuildEvent> - <Command>..\prebuild NO_GPU</Command> - </PreBuildEvent> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_LIB;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <Lib /> - <YASM> - <Defines>_WIN64</Defines> - </YASM> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <PreBuildEvent> - <Command>..\prebuild NO_GPU</Command> - </PreBuildEvent> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;SSE2;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <PreBuildEvent> - <Command>..\prebuild NO_GPU</Command> - </PreBuildEvent> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;_DEBUG;_LIB;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <Lib /> - <YASM> - <Defines>_WIN64</Defines> - </YASM> - </ItemDefinitionGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm" /> - <YASM Include="..\assembler\redc.asm" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\addlaws.c"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </ClCompile> - <ClCompile Include="..\..\aprtcle\aprcl.c" /> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c" /> - <ClCompile Include="..\..\auxarith.c" /> - <ClCompile Include="..\..\auxlib.c" /> - <ClCompile Include="..\..\batch.c" /> - <ClCompile Include="..\..\bestd.c" /> - <ClCompile Include="..\..\cudawrapper.c" /> - <ClCompile Include="..\..\ecm.c" /> - <ClCompile Include="..\..\ecm2.c" /> - <ClCompile Include="..\..\ecm_ntt.c" /> - <ClCompile Include="..\..\factor.c" /> - <ClCompile Include="..\..\getprime_r.c" /> - <ClCompile Include="..\..\ks-multiply.c" /> - <ClCompile Include="..\..\listz.c" /> - <ClCompile Include="..\..\listz_handle.c"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </ClCompile> - <ClCompile Include="..\..\lucas.c" /> - <ClCompile Include="..\..\median.c" /> - <ClCompile Include="..\..\memusage.c" /> - <ClCompile Include="..\..\mpmod.c" /> - <ClCompile Include="..\..\mpzspm.c" /> - <ClCompile Include="..\..\mpzspv.c" /> - <ClCompile Include="..\..\mul_lo.c" /> - <ClCompile Include="..\..\ntt_gfp.c" /> - <ClCompile Include="..\..\parametrizations.c" /> - <ClCompile Include="..\..\pm1.c" /> - <ClCompile Include="..\..\pm1fs2.c" /> - <ClCompile Include="..\..\polyeval.c" /> - <ClCompile Include="..\..\pp1.c" /> - <ClCompile Include="..\..\random.c" /> - <ClCompile Include="..\..\rho.c" /> - <ClCompile Include="..\..\schoen_strass.c" /> - <ClCompile Include="..\..\sets_long.c" /> - <ClCompile Include="..\..\sp.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\spm.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\spv.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\stage2.c" /> - <ClCompile Include="..\..\torsions.c"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\addlaws.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </ClInclude> - <ClInclude Include="..\..\aprtcle\jacobi_sum.h" /> - <ClInclude Include="..\..\aprtcle\mpz_aprcl.h" /> - <ClInclude Include="..\..\champions.h" /> - <ClInclude Include="..\..\config.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-gpu.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\getprime_r.h" /> - <ClInclude Include="..\..\listz_handle.h" /> - <ClInclude Include="..\..\longlong.h" /> - <ClInclude Include="..\..\sp.h" /> - <ClInclude Include="..\..\torsions.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </ClInclude> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc12/libecm/libecm.vcxproj.filters b/build.vc12/libecm/libecm.vcxproj.filters deleted file mode 100644 index c1ead394..00000000 --- a/build.vc12/libecm/libecm.vcxproj.filters +++ /dev/null @@ -1,193 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - <Filter Include="Source Files\Assembler"> - <UniqueIdentifier>{2f18179f-5dba-420c-8dc7-bc7f8228a1b2}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - <YASM Include="..\assembler\redc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxarith.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\auxlib.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\bestd.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm_ntt.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\factor.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ks-multiply.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\listz.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\lucas.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\median.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpmod.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mul_lo.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ntt_gfp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pm1.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pm1fs2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\polyeval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pp1.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\rho.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\schoen_strass.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\sets_long.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\sp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\stage2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\batch.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\parametrizations.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\cudawrapper.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\addlaws.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\listz_handle.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\torsions.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\aprtcle\aprcl.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\memusage.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime_r.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\sp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gpu.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\addlaws.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\listz_handle.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\torsions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\aprtcle\jacobi_sum.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\aprtcle\mpz_aprcl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\getprime_r.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc12/libecm_gpu/Makefile.am b/build.vc12/libecm_gpu/Makefile.am deleted file mode 100644 index 3885d988..00000000 --- a/build.vc12/libecm_gpu/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = libecm_gpu.vcxproj libecm_gpu.vcxproj.filters diff --git a/build.vc12/libecm_gpu/libecm_gpu.vcxproj b/build.vc12/libecm_gpu/libecm_gpu.vcxproj deleted file mode 100644 index d2882696..00000000 --- a/build.vc12/libecm_gpu/libecm_gpu.vcxproj +++ /dev/null @@ -1,330 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}</ProjectGuid> - <RootNamespace>libecm_gpu</RootNamespace> - <Keyword>Win32Proj</Keyword> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseOfAtl>Static</UseOfAtl> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 7.5.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> - <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ecmlib</TargetName> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <PreBuildEvent> - <Command>..\prebuild GPU</Command> - </PreBuildEvent> - <ClCompile> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC30;NDEBUG;_LIB;SSE2;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <Optimization>Full</Optimization> - </ClCompile> - <Lib /> - <CudaCompile> - <CodeGeneration>compute_30,sm_30</CodeGeneration> - </CudaCompile> - <CudaCompile> - <PtxAsOptionV>true</PtxAsOptionV> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <TargetMachinePlatform>32</TargetMachinePlatform> - <MaxRegCount>32</MaxRegCount> - </CudaCompile> - <ProjectReference> - <LinkLibraryDependencies>true</LinkLibraryDependencies> - </ProjectReference> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <PreBuildEvent> - <Command>..\prebuild GPU</Command> - </PreBuildEvent> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC30;_WIN64;NDEBUG;_LIB;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <Lib /> - <YASM> - <Defines>_WIN64</Defines> - </YASM> - <CudaCompile> - <CodeGeneration>compute_30,sm_30</CodeGeneration> - <PtxAsOptionV>true</PtxAsOptionV> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <TargetMachinePlatform>64</TargetMachinePlatform> - <MaxRegCount>32</MaxRegCount> - </CudaCompile> - <ProjectReference> - <LinkLibraryDependencies>true</LinkLibraryDependencies> - </ProjectReference> - <Lib> - <AdditionalDependencies> - </AdditionalDependencies> - </Lib> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <PreBuildEvent> - <Command>..\prebuild GPU</Command> - </PreBuildEvent> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC30;_DEBUG;_LIB;SSE2;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <CudaCompile> - <CodeGeneration>compute_30,sm_30</CodeGeneration> - </CudaCompile> - <CudaCompile> - <PtxAsOptionV>true</PtxAsOptionV> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <TargetMachinePlatform>32</TargetMachinePlatform> - <MaxRegCount>32</MaxRegCount> - </CudaCompile> - <ProjectReference> - <LinkLibraryDependencies>true</LinkLibraryDependencies> - </ProjectReference> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <PreBuildEvent> - <Command>..\prebuild GPU</Command> - </PreBuildEvent> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC30;_WIN64;_DEBUG;_LIB;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <Lib /> - <YASM> - <Defines>_WIN64</Defines> - </YASM> - <CudaCompile> - <CodeGeneration>compute_30,sm_30</CodeGeneration> - </CudaCompile> - <CudaCompile> - <PtxAsOptionV>true</PtxAsOptionV> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <TargetMachinePlatform>64</TargetMachinePlatform> - <MaxRegCount>32</MaxRegCount> - </CudaCompile> - <ProjectReference> - <LinkLibraryDependencies>true</LinkLibraryDependencies> - </ProjectReference> - </ItemDefinitionGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm" /> - <YASM Include="..\assembler\redc.asm" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\addlaws.c"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </ClCompile> - <ClCompile Include="..\..\aprtcle\aprcl.c" /> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c" /> - <ClCompile Include="..\..\auxarith.c" /> - <ClCompile Include="..\..\auxlib.c" /> - <ClCompile Include="..\..\batch.c" /> - <ClCompile Include="..\..\bestd.c" /> - <ClCompile Include="..\..\cudawrapper.c" /> - <ClCompile Include="..\..\ecm.c" /> - <ClCompile Include="..\..\ecm2.c" /> - <ClCompile Include="..\..\ecm_ntt.c" /> - <ClCompile Include="..\..\factor.c" /> - <ClCompile Include="..\..\getprime_r.c" /> - <ClCompile Include="..\..\ks-multiply.c" /> - <ClCompile Include="..\..\listz.c" /> - <ClCompile Include="..\..\listz_handle.c"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </ClCompile> - <ClCompile Include="..\..\lucas.c" /> - <ClCompile Include="..\..\median.c" /> - <ClCompile Include="..\..\mpmod.c" /> - <ClCompile Include="..\..\mpzspm.c" /> - <ClCompile Include="..\..\mpzspv.c" /> - <ClCompile Include="..\..\mul_lo.c" /> - <ClCompile Include="..\..\ntt_gfp.c" /> - <ClCompile Include="..\..\parametrizations.c" /> - <ClCompile Include="..\..\pm1.c" /> - <ClCompile Include="..\..\pm1fs2.c" /> - <ClCompile Include="..\..\polyeval.c" /> - <ClCompile Include="..\..\pp1.c" /> - <ClCompile Include="..\..\random.c" /> - <ClCompile Include="..\..\rho.c" /> - <ClCompile Include="..\..\schoen_strass.c" /> - <ClCompile Include="..\..\sets_long.c" /> - <ClCompile Include="..\..\sp.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\spm.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\spv.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\stage2.c" /> - <ClCompile Include="..\..\torsions.c"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\addlaws.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </ClInclude> - <ClInclude Include="..\..\aprtcle\jacobi_sum.h" /> - <ClInclude Include="..\..\aprtcle\mpz_aprcl.h" /> - <ClInclude Include="..\..\champions.h" /> - <ClInclude Include="..\..\config.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-gpu.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\getprime_r.h" /> - <ClInclude Include="..\..\listz_handle.h" /> - <ClInclude Include="..\..\longlong.h" /> - <ClInclude Include="..\..\sp.h" /> - <ClInclude Include="..\..\torsions.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </ClInclude> - </ItemGroup> - <ItemGroup> - <CudaCompile Include="..\..\cudakernel.cu"> - <FileType>Document</FileType> - </CudaCompile> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 7.5.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc12/libecm_gpu/libecm_gpu.vcxproj.filters b/build.vc12/libecm_gpu/libecm_gpu.vcxproj.filters deleted file mode 100644 index 14f8e78d..00000000 --- a/build.vc12/libecm_gpu/libecm_gpu.vcxproj.filters +++ /dev/null @@ -1,190 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="..\..\mpmod.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\addlaws.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\aprtcle\aprcl.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\auxarith.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\auxlib.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\batch.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\bestd.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\cudawrapper.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm_ntt.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\factor.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ks-multiply.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\listz.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\listz_handle.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\lucas.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\median.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mul_lo.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ntt_gfp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\parametrizations.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pm1.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pm1fs2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\polyeval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pp1.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\rho.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\schoen_strass.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\sets_long.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\sp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\stage2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\torsions.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime_r.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gpu.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\aprtcle\jacobi_sum.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\listz_handle.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\addlaws.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\aprtcle\mpz_aprcl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\sp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\torsions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Source Files</Filter> - </ClInclude> - <ClInclude Include="..\..\getprime_r.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm"> - <Filter>Source Files</Filter> - </YASM> - <YASM Include="..\assembler\redc.asm"> - <Filter>Source Files</Filter> - </YASM> - </ItemGroup> - <ItemGroup> - <Filter Include="Header Files"> - <UniqueIdentifier>{dfe792df-b4ff-4147-be95-190117baae33}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files"> - <UniqueIdentifier>{0315d9d5-3f8f-456a-ae54-e00de69b9350}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <CudaCompile Include="..\..\cudakernel.cu"> - <Filter>Source Files</Filter> - </CudaCompile> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc12/mp_lib.props b/build.vc12/mp_lib.props deleted file mode 100644 index 54785956..00000000 --- a/build.vc12/mp_lib.props +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <PropertyGroup Label="UserMacros"> - <mp_dir>mpir\</mp_dir> - <mp_lib>mpir.lib</mp_lib> - </PropertyGroup> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - </PropertyGroup> - <ItemGroup> - <BuildMacro Include="mp_dir"> - <Value>$(mp_dir)</Value> - <EnvironmentVariable>true</EnvironmentVariable> - </BuildMacro> - <BuildMacro Include="mp_lib"> - <Value>$(mp_lib)</Value> - <EnvironmentVariable>true</EnvironmentVariable> - </BuildMacro> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc12/out_copy_rename.bat b/build.vc12/out_copy_rename.bat deleted file mode 100644 index 5fe442ed..00000000 --- a/build.vc12/out_copy_rename.bat +++ /dev/null @@ -1,31 +0,0 @@ -@echo off -if not exist %1 goto nofile -if exist %2 goto next - -echo creating directory %2 -md %2 > nul - -:next -rem strip quotes if present -set str=%2 -for /f "useback tokens=*" %%a in ('%str%') do set str=%%~a - -rem add a backslash if the output directory lacks one -set str=%str:~-1% -if "%str%" == "\" (set outf=%2%3) else (set outf=%2\%3) - -echo copying %1 to %outf% (if not present or changed) -if not exist "%outf%" goto copy - -rem don't overwrite if output exists and is not changed -fc %1 %outf% > nul && if not %errorlevel 1 goto exit -echo overwriting %outf% with %1 - -:copy -copy %1 %outf% > nul -goto exit - -:nofile -echo %1 not found - -:exit diff --git a/build.vc12/prebuild.bat b/build.vc12/prebuild.bat deleted file mode 100644 index bbc16852..00000000 --- a/build.vc12/prebuild.bat +++ /dev/null @@ -1,3 +0,0 @@ -cd ..\ -call out_copy_rename config.h ..\ config.h -call gen_ecm_h diff --git a/build.vc12/python.bat b/build.vc12/python.bat deleted file mode 100644 index 77b1e718..00000000 --- a/build.vc12/python.bat +++ /dev/null @@ -1,2 +0,0 @@ -@echo off -"c:\program files\python34\python" %1 diff --git a/build.vc12/readme.txt b/build.vc12/readme.txt deleted file mode 100644 index dd96a017..00000000 --- a/build.vc12/readme.txt +++ /dev/null @@ -1,172 +0,0 @@ - -Building GMP-ECM with Microsoft Visual C++ 2012 (version 11) -=========================================================== - -If you wish to build the assembler code support you will need to -install the YASM assembler that is available at: - - http://www.tortall.net/projects/yasm/ - -THe version you need is vsyasm, which should be put it in the same -directory as your Visual C++ compiler, which is typically: - -C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin - -The Multi-Precision Library - GMP and MPIR -========================================== - -GMP-ECM works with either GMP or MPIR, a fork of GMP. To build and run -GMP-ECM using Visual Studio you first need to obtain and build either -GMP or MPIR. MPIR has a fully integrated Visual Studio build system -for Windows but GMP does not. - -The VC++ build of GMP-ECM now defaults to MPIR but the property sheet -mp_lib.vsprops can be edited to set the macro mp_lib to 'gmp' instead -of 'mpir' to build ECM using GMP. - -GMP -=== - -GMP can be built from the GMP source code available here: - - http://gmplib.org/ - -GMP can be built with mingw for 32-bit Windows and mingw64 for Windows x64. -It is reported that the resulting libraries work with Visual Studio when -appropriately renamed. - -MPIR -==== - -MPIR is available here: - - http://www.mpir.org - -It has full support for building MPIR for 32 and 64 bit Windows systems -with x86 assembler support using the YASM assembler. - -Building GMP-ECM -================ - -The build files for GMP-ECM assume that the GMP and ECM build directories -are in a common parent directory as follows: - - Parent Directory - MPIR (or GMP) - build.vc11 -- MPIR (or GMP) build files - ... - GMP-ECM - buid.vc11 -- ECM build files - -The root directories for GMP and GMP-ECM are assumed to have these names -irrespective of which version is being used (they used to be followed by -version numbers but this meant that the build projects had to be updated -too frequently). - -The normal (non GPU) build is opened by loading the file ecm.sln (from -the build.vc11 directory) into Visual Studio. This provides three build -projects in build.vc11 for the non GPU build: - - ecm - the ECM application - ecmlib - the ECM library - tune - a program for tuning - -The GPU build is opened by loading the file ecm.sln (from the build.vc11 -directory) into Visual Studio. This provides two build projects in -build.vc11: - - ecm_gpu - the ECM application - ecmlib_gpu - the ECM library - -In all cases you have to choose either a win32 or x64 build and either a -Release or Debug configuration. - -The non GPU Build ------------------ - -Before starting a build, there are a number of configuration options -that need to be set: - -1. If you wish to compile GMP-ECM for use on a particular processor, - select the appropriate define from the file 'ecm-params.h' in the - GMP-ECM root directory and decide which of the defines suit your - needs (e.g. __tune_corei7__). Then replace the existing define: - - /* define Windows tuning here */ - # define __tune_corei7__ - - towards the end of the file config.h file in the 'build.vc11' - directory (build.vc11\config.h) with the chosen define. - -2. The file at 'build.vc11\mul_fft-params.h' allows the FFT code to - be tuned to 32 or 64-bnit systems by selecting an option by - changing the appropriate '#elif 0' to #elif 1'. If you wish to - use the win32 AMD assembler files, you also have to use the - Visual Studio property page to define AMD_ASM (alternatively - you can edit the two files mulredc.asm and redc.asm in the - build.vc11\assembler\ directory to include the AMD assembler). - -The GPU Build -------------- - -1. If you wish to build with a GPU capability you will need to - install Nvidia Nsight for Visual Studio and the CUDA Toolkit - v5.5. You then build the libecm_gpu and ecm_gpu projects - -2. The choices above for the non GPU build aslo apply when - building for a GPU based system. - - By default, the GPU configuration is "compute_30,sm_30". If - you need to change this, select libecm_gpu and ecm_gpu and - set the propertiesfor "CUDA C/C++|Device|Code Generation" for - your GPU capability. - - Also under "C/C++|Preprocessor|Preprocessor Definitions" for - both these projects, change the current definition GPU_CC30 to - that for your GPU capability (GPU_CC20, GPU_CC21, GPU_CC30 or - GPU_CC35). - -Build Configurations --------------------- - -When a version of ecm and ecmlib are built the library and the application -are put in the directory matching the configuration that has been built: - - GMP-ECM - build.vc11 -- ECM build files - lib -- ECM static library files - dll -- ECM dynamic library files - bin -- ECM executable files - -within these lib, dll and bin directories, the outputs are located in -sub-directories determined by the platform and configuration: - - win32\release - win32\debug - x64\release - x64\debug - -If you don't want assembler support you need to change the define: - -#define NATIVE_REDC 1 - -in config.h (in the build.vc11 subdirectory) to: - -#undef NATIVE_REDC - -Tune -==== - -If tune is compiled and run for a particular configuration it will output -suitable values for optimising GMP-ECM to the console window. To optimise -GMP-ECM these values should be put in a suitably named file whcih then has -to be integrated in ecm-params.h. - -Tests -===== - -The file test.py is a python script that runs the ECM tests. It runs the -x64/release-amd (non GPU) version by default but can be edited to test other -builds. - - Brian Gladman, August 2013 diff --git a/build.vc12/tests.py b/build.vc12/tests.py deleted file mode 100644 index 802e6e00..00000000 --- a/build.vc12/tests.py +++ /dev/null @@ -1,150 +0,0 @@ - -from __future__ import print_function -import os -import sys -import string -import platform -from re import match -from subprocess import Popen, PIPE, STDOUT -from tempfile import * - -try: - from time import perf_counter as timer -except ImportError: - from time import clock as timer - - -x64 = True -debug = False -test_gpu_version = True -run_non_gpu_tests = True -run_gpu_tests = True - -class Timer() : - def __enter__(self): self.start = timer() - def __exit__(self, *args): print(' time {:.3f} milliseconds'.format(1000 * (timer() - self.start))) - -cpath = os.path.dirname(__file__) -config = 'x64' if x64 else 'Win32' -mode = 'Debug' if debug else 'Release' -test_dir = '..\\bin\\{:s}\\{:s}\\'.format(config, mode) - -def get_tests(filename): - print('running tests in {:s}'.format(filename)) - start, sub, tests, c_tests = True, dict(), [], [] - with open(os.path.join(cpath, filename)) as f: - lines = f.readlines() - cnt, lnth = 0, len(lines) - while cnt < lnth: - try: - line = lines[cnt].strip() - cnt += 1 - tkns = line.split() - if line.startswith('echo') and len(tkns) > 2 and tkns[2] == '|': - while cnt < lnth and 'checkcode' not in line: - while cnt < lnth and not lines[cnt]: - cnt += 1 - if cnt < lnth: - line += '|' + lines[cnt] - cnt += 1 - start = False - elif start: - sp = line.split('="') - if len(sp) == 2: - if sp[1].startswith('${1:-./ecm}'): - sub[sp[0]] = sp[1][12:-1] - else: - sub[sp[0]] = sp[1][:-1] - continue - else: - continue - line = line.replace(';', '|') - sub_tests = [] - for line_part in line.split('|'): - tkns = line_part.strip().split() - cmd = [] - for tok in tkns: - if tok.startswith('"') and tok.endswith('"'): - tok = tok[1:-1] - if tok[0] == '$' and tok[1:] in sub: - tok = tok.replace(tok, sub[tok[1:]]) - elif tok == './ecm': - tok = '' - cmd += [tok] - cseq = [] - if cmd and cmd[0] == 'echo': - cseq += [cmd[1]] - cmd = cmd[2:] - if len(cmd) >= 3 and cmd[-3] == 'checkcode' and cmd[-2] == '$?': - cseq += [int(cmd[-1])] - cmd = cmd[:-3] - cmd = (' '.join(cmd)).strip() - if cmd: - cseq += [cmd] - sub_tests += [cseq] - if len(sub_tests) == 3 and all(len(x) == 1 for x in sub_tests): - tests += [tuple(x[0] for x in sub_tests)] - else: - c_tests += [sub_tests] - except ValueError: - print('parsing error on line {} in text "{}"'.format(cnt, line)) - return tests, c_tests - -def run_exe(exe, args, inp) : - al = {'stdin' : PIPE, 'stdout' : PIPE, 'stderr' : STDOUT } - if sys.platform.startswith('win'): - al['creationflags'] = 0x08000000 - p = Popen([os.path.join(cpath, exe)] + args.split(' '), **al) - res = p.communicate(inp.encode())[0].decode() - ret = p.poll() - return (ret, res) - -def output_complex_tests(x): - print('these tests are too complex:') - for t in x: - print(t) - -def do_tests(tests, ctests, out=False, gpu=False): - ecm_exe = test_dir + ("ecm_gpu.exe" if gpu else "ecm.exe") - err_cnt = 0 - for ix, tt in enumerate(tests): - print(tt[1], tt[0], end='') - rv = run_exe(ecm_exe, tt[1], tt[0]) - if type(tt[2]) == int and rv[0] != tt[2]: - print(" - *** ERROR in test {:d}: {:d} {:d} ***".format(ix, rv[0], tt[2])) - err_cnt += 1 - elif type(tt[2]) == tuple and rv[0] != tt[2][0] and rv[0] != tt[2][1]: - print(" - *** ERROR in test {:d}: {:d} {:s} ***".format(ix, rv[0], tt[2])) - err_cnt += 1 - else: - print(" - passed") - if out: - op = rv[1].rsplit('\r\n') - for i in op : - print(i) - - if ctests: - output_complex_tests(ctests) - if not err_cnt: - if ctests: - print('all other tests passed') - else: - print('all tests passed') - -with Timer(): - if os.path.exists('test.pm1.save'): - os.remove('test.pm1.save') - if run_non_gpu_tests: - t, ct = get_tests("..\\test.ecm") - do_tests(t, ct) - t, ct = get_tests("..\\test.pm1") - do_tests(t, ct) - t, ct = get_tests("..\\test.pp1") - do_tests(t, ct) - t, ct = get_tests("..\\testlong.pp1") - do_tests(t, ct) - t, ct = get_tests("..\\testlong.pm1") - do_tests(t, ct) - if run_gpu_tests: - t, ct = get_tests("..\\test.gpuecm") - do_tests(t, ct, gpu=True) diff --git a/build.vc12/tune/Makefile.am b/build.vc12/tune/Makefile.am deleted file mode 100644 index fe8ca5e2..00000000 --- a/build.vc12/tune/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = tune.vcxproj tune.vcxproj.filters diff --git a/build.vc12/tune/tune.vcxproj b/build.vc12/tune/tune.vcxproj deleted file mode 100644 index f5bfda10..00000000 --- a/build.vc12/tune/tune.vcxproj +++ /dev/null @@ -1,161 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{80E08750-5C6C-492E-BB1E-7200978AE125}</ProjectGuid> - <RootNamespace>tune</RootNamespace> - <Keyword>Win32Proj</Keyword> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <CharacterSet>Unicode</CharacterSet> - <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <CharacterSet>NotSet</CharacterSet> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <Optimization>MaxSpeed</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);..\..\;..\assembler;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;TUNE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <FunctionLevelLinking>true</FunctionLevelLinking> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);%(AdditionalDependencies)</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <TargetMachine>MachineX86</TargetMachine> - </Link> - <PostBuildEvent> - <Command> - </Command> - </PostBuildEvent> - <YASM> - <Defines> - </Defines> - </YASM> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>MaxSpeed</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);..\..\;..\assembler;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_CONSOLE;TUNE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <FunctionLevelLinking>true</FunctionLevelLinking> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);%(AdditionalDependencies)</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <TargetMachine>MachineX64</TargetMachine> - </Link> - <PostBuildEvent> - <Command> - </Command> - </PostBuildEvent> - <YASM> - <Defines>_WIN64</Defines> - </YASM> - </ItemDefinitionGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm" /> - <YASM Include="..\assembler\redc.asm" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxarith.c" /> - <ClCompile Include="..\..\auxlib.c" /> - <ClCompile Include="..\..\ecm_ntt.c" /> - <ClCompile Include="..\..\ks-multiply.c" /> - <ClCompile Include="..\..\listz.c" /> - <ClCompile Include="..\..\median.c" /> - <ClCompile Include="..\..\mpmod.c"> - <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">TUNE_MULREDC_THRESH#0;TUNE_SQRREDC_THRESH#0;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">TUNE_MULREDC_THRESH#0;TUNE_SQRREDC_THRESH#0;%(PreprocessorDefinitions)</PreprocessorDefinitions> - </ClCompile> - <ClCompile Include="..\..\mpzspm.c" /> - <ClCompile Include="..\..\mpzspv.c" /> - <ClCompile Include="..\..\mul_lo.c" /> - <ClCompile Include="..\..\ntt_gfp.c" /> - <ClCompile Include="..\..\polyeval.c" /> - <ClCompile Include="..\..\random.c" /> - <ClCompile Include="..\..\schoen_strass.c" /> - <ClCompile Include="..\..\sp.c" /> - <ClCompile Include="..\..\spm.c" /> - <ClCompile Include="..\..\spv.c" /> - <ClCompile Include="..\..\tune.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\config.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\longlong.h" /> - <ClInclude Include="..\..\sp.h" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\libecm\libecm.vcxproj"> - <Project>{cd555681-d65b-4173-a29c-b8bf06a4871b}</Project> - </ProjectReference> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc12/tune/tune.vcxproj.filters b/build.vc12/tune/tune.vcxproj.filters deleted file mode 100644 index dff0286b..00000000 --- a/build.vc12/tune/tune.vcxproj.filters +++ /dev/null @@ -1,109 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - <Filter Include="Source Files\Assembler"> - <UniqueIdentifier>{38f1a18f-40fc-4eed-a68e-e79b58327b6c}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - <YASM Include="..\assembler\redc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxarith.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\auxlib.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm_ntt.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ks-multiply.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\listz.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\median.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpmod.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mul_lo.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ntt_gfp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\polyeval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\schoen_strass.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\sp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\tune.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\sp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc12/vacopy.c b/build.vc12/vacopy.c deleted file mode 100644 index d6a3d81a..00000000 --- a/build.vc12/vacopy.c +++ /dev/null @@ -1,8 +0,0 @@ - -#include <stdarg.h> -#include <string.h> - -void _vacopy(va_list *pap, va_list ap) -{ - *pap = ap; -} diff --git a/build.vc12/vsyasm.props b/build.vc12/vsyasm.props deleted file mode 100644 index 54aedd7b..00000000 --- a/build.vc12/vsyasm.props +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <PropertyGroup - Condition="'$(YASMBeforeTargets)' == '' and '$(YASMAfterTargets)' == '' and '$(ConfigurationType)' != 'Makefile'"> - <YASMBeforeTargets>Midl</YASMBeforeTargets> - <YASMAfterTargets>CustomBuild</YASMAfterTargets> - </PropertyGroup> - <PropertyGroup> - <YASMDependsOn - Condition="'$(ConfigurationType)' != 'Makefile'">_SelectedFiles;$(YASMDependsOn)</YASMDependsOn> - </PropertyGroup> - <PropertyGroup> - <YasmPath Condition= "'$(YASMPATH)' == ''">C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\</YasmPath> - </PropertyGroup> - <ItemDefinitionGroup> - <YASM> - <Debug>False</Debug> - <ObjectFile>$(IntDir)</ObjectFile> - <PreProc>0</PreProc> - <Parser>0</Parser> - <CommandLineTemplate>"$(YasmPath)"vsyasm.exe -Xvc -f $(Platform) [AllOptions] [AdditionalOptions] [Inputs]</CommandLineTemplate> - <Outputs>%(ObjectFile)</Outputs> - <ExecutionDescription>Assembling %(Filename)%(Extension)</ExecutionDescription> - <ShowOnlyRuleProperties>false</ShowOnlyRuleProperties> - </YASM> - </ItemDefinitionGroup> -</Project> \ No newline at end of file diff --git a/build.vc12/vsyasm.targets b/build.vc12/vsyasm.targets deleted file mode 100644 index c86180dd..00000000 --- a/build.vc12/vsyasm.targets +++ /dev/null @@ -1,108 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <PropertyPageSchema - Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" /> - <AvailableItemName - Include="YASM"> - <Targets>_YASM</Targets> - </AvailableItemName> - </ItemGroup> - <UsingTask - TaskName="YASM" - TaskFactory="XamlTaskFactory" - AssemblyName="Microsoft.Build.Tasks.v4.0"> - <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task> - </UsingTask> - <Target - Name="_YASM" - BeforeTargets="$(YASMBeforeTargets)" - AfterTargets="$(YASMAfterTargets)" - Condition="'@(YASM)' != ''" - DependsOnTargets="$(YASMDependsOn);ComputeYASMOutput" - Outputs="@(YASM->'%(ObjectFile)')" - Inputs="@(YASM);%(YASM.AdditionalDependencies);$(MSBuildProjectFile)"> - <ItemGroup - Condition="'@(SelectedFiles)' != ''"> - <YASM - Remove="@(YASM)" - Condition="'%(Identity)' != '@(SelectedFiles)'" /> - </ItemGroup> - <ItemGroup> - <YASM_tlog - Include="%(YASM.ObjectFile)" - Condition="'%(YASM.ObjectFile)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'"> - <Source>@(YASM, '|')</Source> - </YASM_tlog> - </ItemGroup> - <Message - Importance="High" - Text="%(YASM.ExecutionDescription)" /> - <WriteLinesToFile - Condition="'@(YASM_tlog)' != '' and '%(YASM_tlog.ExcludedFromBuild)' != 'true'" - File="$(IntDir)$(ProjectName).write.1.tlog" - Lines="^%(YASM_tlog.Source);@(YASM_tlog->'%(Fullpath)')" /> - <YASM - Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'" - CommandLineTemplate="%(YASM.CommandLineTemplate)" - Debug="%(YASM.Debug)" - PreIncludeFile="%(YASM.PreIncludeFile)" - IncludePaths="%(YASM.IncludePaths)" - Defines="%(YASM.Defines)" - UnDefines="%(YASM.UnDefines)" - ObjectFile="%(YASM.ObjectFile)" - ListFile="%(YASM.ListFile)" - MapFile="%(YASM.MapFile)" - ErrorFile="%(YASM.ErrorFile)" - SymbolPrefix="%(YASM.SymbolPrefix)" - SymbolSuffix="%(YASM.SymbolSuffix)" - PreProc="%(YASM.PreProc)" - Parser="%(YASM.Parser)" - AdditionalOptions="%(YASM.AdditionalOptions)" - Inputs="@(YASM)" /> - </Target> - <PropertyGroup> - <ComputeLinkInputsTargets> - $(ComputeLinkInputsTargets); - ComputeYASMOutput; - </ComputeLinkInputsTargets> - <ComputeLibInputsTargets> - $(ComputeLibInputsTargets); - ComputeYASMOutput; - </ComputeLibInputsTargets> - </PropertyGroup> - <Target - Name="ComputeYASMOutput" - Condition="'@(YASM)' != ''"> - <ItemGroup> - <YASMDirsToMake - Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true' and !HasTrailingSlash('%(YASM.ObjectFile)')" - Include="%(YASM.ObjectFile)" /> - <Link - Include="%(YASMDirsToMake.Identity)" - Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> - <Lib - Include="%(YASMDirsToMake.Identity)" - Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> - <ImpLib - Include="%(YASMDirsToMake.Identity)" - Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> - </ItemGroup> - <ItemGroup> - <YASMDirsToMake - Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true' and HasTrailingSlash('%(YASM.ObjectFile)')" - Include="@(YASM->'%(ObjectFile)%(Filename).obj')" /> - <Link - Include="%(YASMDirsToMake.Identity)" - Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> - <Lib - Include="%(YASMDirsToMake.Identity)" - Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> - <ImpLib - Include="%(YASMDirsToMake.Identity)" - Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> - </ItemGroup> - <MakeDir - Directories="@(YASMDirsToMake->'%(RootDir)%(Directory)')" /> - </Target> -</Project> \ No newline at end of file diff --git a/build.vc12/vsyasm.xml b/build.vc12/vsyasm.xml deleted file mode 100644 index 860bce8d..00000000 --- a/build.vc12/vsyasm.xml +++ /dev/null @@ -1,283 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:transformCallback="Microsoft.Cpp.Dev10.ConvertPropertyCallback"> - <Rule - Name="YASM" - PageTemplate="tool" - DisplayName="Yasm Assembler" - Order="200"> - - <Rule.DataSource> - <DataSource - Persistence="ProjectFile" - ItemType="YASM" /> - </Rule.DataSource> - - <Rule.Categories> - - <Category - Name="General"> - <Category.DisplayName> - <sys:String>General</sys:String> - </Category.DisplayName> - </Category> - - <Category - Name="Symbols"> - <Category.DisplayName> - <sys:String>Symbols</sys:String> - </Category.DisplayName> - </Category> - - <Category - Name="Files"> - <Category.DisplayName> - <sys:String>Files</sys:String> - </Category.DisplayName> - </Category> - - <Category - Name="Command Line" - Subtype="CommandLine"> - <Category.DisplayName> - <sys:String>Command Line</sys:String> - </Category.DisplayName> - </Category> - - </Rule.Categories> - - <StringListProperty - Name="Inputs" - Category="Command Line" - IsRequired="true" - Switch=" "> - <StringListProperty.DataSource> - <DataSource - Persistence="ProjectFile" - ItemType="YASM" - SourceType="Item" /> - </StringListProperty.DataSource> - </StringListProperty> - - <BoolProperty - Name="Debug" - Subcategory="Configuration" - HelpContext="0" - DisplayName="Debug Information" - Description="Generate debugging information" - Switch="-g cv8" /> - - <StringListProperty - Name="IncludePaths" - Subcategory="Configuration" - HelpContext="0" - DisplayName="Include Paths" - Description="Set the paths for any additional include files" - Switch="-i "[value]"" /> - - <StringListProperty - Name="Defines" - Category="Symbols" - Subcategory="Pre-Defined Symbols" - HelpContext="0" - DisplayName="Defined Symbols" - Description="Specify pre-defined symbols ('symbol' or 'symbol = value') " - Switch="-d "[value]"" /> - - <StringListProperty - Name="UnDefines" - Category="Symbols" - Subcategory="Pre-Defined Symbols" - HelpContext="0" - DisplayName="Remove Symbols" - Description="Remove pre-defined symbols " - Switch="-u "[value]"" /> - - <StringProperty - Name="ObjectFile" - Subcategory="Output" - HelpContext="0" - DisplayName="Object File Name" - Description="Select the output file name" - Switch="-o "[value]"" /> - - <StringProperty - Name="ListFile" - Category="Files" - Subcategory="Output" - HelpContext="0" - DisplayName="List File Name" - Description="Select an output listing by setting its file name" - Switch="-l "[value]"" /> - - <StringProperty - Name="PreIncludeFile" - Category="Files" - Subcategory="Configuration" - HelpContext="0" - DisplayName="Pre Include File" - Description="Select a pre-included file by setting its name" - Switch="-P "[value]"" /> - - <StringProperty - Name="MapFile" - Category="Files" - Subcategory="Output" - HelpContext="0" - DisplayName="Map File Name" - Description="Select a map output by setting its file name" - Switch="--mapdir= "[value]"" /> - - <StringProperty - Name="ErrorFile" - Category="Files" - Subcategory="Output" - HelpContext="0" - DisplayName="Error File Name" - Description="Send error/warning messages to a file by setting its name" - Switch="-E "[value]"" /> - - <StringProperty - Name="SymbolPrefix" - Category="Symbols" - Subcategory="Symbols" - HelpContext="0" - DisplayName="External Symbol Prefix" - Description="Prepend symbol to all external symbols" - Switch="--prefix "[value]"" /> - - <StringProperty - Name="SymbolSuffix" - Category="Symbols" - Subcategory="Symbols" - HelpContext="0" - DisplayName="External Symbol Suffix" - Description="Append symbol to all external symbols" - Switch="--suffix "[value]"" /> - - <EnumProperty - Name="PreProc" - Subcategory="Configuration" - HelpContext="0" - DisplayName="Pre-Processor" - Description="Select the pre-processor ('nasm' or 'raw')"> - <EnumValue - Name="0" - DisplayName="Nasm " - Switch="-rnasm" /> - <EnumValue - Name="1" - DisplayName="Raw" - Switch="-rraw" /> - </EnumProperty> - - <EnumProperty - Name="Parser" - Subcategory="Configuration" - HelpContext="0" - DisplayName="Parser" - Description="Select the parser for Intel ('nasm') or AT&T ( 'gas') syntax"> - <EnumValue - Name="0" - DisplayName="Nasm" - Switch="-pnasm" /> - <EnumValue - Name="1" - DisplayName="Gas" - Switch="-pgas" /> - </EnumProperty> - - <StringProperty - Name="CommandLineTemplate" - DisplayName="Command Line" - Visible="False" - IncludeInCommandLine="False" /> - - <DynamicEnumProperty - Name="YASMBeforeTargets" - Category="General" - EnumProvider="Targets" - IncludeInCommandLine="False"> - <DynamicEnumProperty.DisplayName> - <sys:String>Execute Before</sys:String> - </DynamicEnumProperty.DisplayName> - <DynamicEnumProperty.Description> - <sys:String>Specifies the targets for the build customization to run before.</sys:String> - </DynamicEnumProperty.Description> - <DynamicEnumProperty.ProviderSettings> - <NameValuePair - Name="Exclude" - Value="^YASMBeforeTargets|^Compute" /> - </DynamicEnumProperty.ProviderSettings> - <DynamicEnumProperty.DataSource> - <DataSource - Persistence="ProjectFile" - HasConfigurationCondition="true" /> - </DynamicEnumProperty.DataSource> - </DynamicEnumProperty> - - <DynamicEnumProperty - Name="YASMAfterTargets" - Category="General" - EnumProvider="Targets" - IncludeInCommandLine="False"> - <DynamicEnumProperty.DisplayName> - <sys:String>Execute After</sys:String> - </DynamicEnumProperty.DisplayName> - <DynamicEnumProperty.Description> - <sys:String>Specifies the targets for the build customization to run after.</sys:String> - </DynamicEnumProperty.Description> - <DynamicEnumProperty.ProviderSettings> - <NameValuePair - Name="Exclude" - Value="^YASMAfterTargets|^Compute" /> - </DynamicEnumProperty.ProviderSettings> - <DynamicEnumProperty.DataSource> - <DataSource - Persistence="ProjectFile" - ItemType="" - HasConfigurationCondition="true" /> - </DynamicEnumProperty.DataSource> - </DynamicEnumProperty> - - <StringListProperty - Name="Outputs" - DisplayName="Outputs" - Visible="False" - IncludeInCommandLine="False" /> - - <StringProperty - Name="ExecutionDescription" - DisplayName="Execution Description" - Visible="False" - IncludeInCommandLine="False" /> - - <StringListProperty - Name="AdditionalDependencies" - DisplayName="Additional Dependencies" - IncludeInCommandLine="False" - Visible="true" /> - - <StringProperty - Subtype="AdditionalOptions" - Name="AdditionalOptions" - Category="Command Line"> - <StringProperty.DisplayName> - <sys:String>Additional Options</sys:String> - </StringProperty.DisplayName> - <StringProperty.Description> - <sys:String>Additional Options</sys:String> - </StringProperty.Description> - </StringProperty> - </Rule> - - <ItemType - Name="YASM" - DisplayName="Yasm Assembler" /> - <FileExtension - Name="*.asm" - ContentType="YASM" /> - <ContentType - Name="YASM" - DisplayName="Yasm Assembler" - ItemType="YASM" /> -</ProjectSchemaDefinitions> \ No newline at end of file diff --git a/build.vc14/Makefile.am b/build.vc14/Makefile.am deleted file mode 100644 index d199fdfd..00000000 --- a/build.vc14/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -EXTRA_DIST = config.h ecm.sln ecm_gpu.sln file_copy.bat gen_ecm_h.bat \ - getopt.c getopt.h getrusage.c getrusage.h gettimeofday.c \ - gettimeofday.h mp_lib.props out_copy_rename.bat prebuild.bat \ - python.bat readme.txt tests.py vacopy.c vsyasm.props \ - vsyasm.targets vsyasm.xml - -DIST_SUBDIRS = assembler ecm ecm_gpu libecm libecm_gpu tune bench_mulredc diff --git a/build.vc14/assembler/Makefile.am b/build.vc14/assembler/Makefile.am deleted file mode 100644 index 3b2f7d84..00000000 --- a/build.vc14/assembler/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -EXTRA_DIST = a_win32a_mulredc.asm a_win32a_redc.asm a_win32p_mulredc.asm \ - a_win32p_redc.asm a_x64_mulredc.asm a_x64_redc.asm \ - test_mulredc.c mulredc.h mulredc.asm redc.asm diff --git a/build.vc14/assembler/a_win32a_redc.asm b/build.vc14/assembler/a_win32a_redc.asm deleted file mode 100644 index 9b473071..00000000 --- a/build.vc14/assembler/a_win32a_redc.asm +++ /dev/null @@ -1,133 +0,0 @@ -; -; Part of GMP-ECM -; -; void ecm_redc3( -; mp_limb_t *z, rdi r8 <- rcx -; const mp_limb_t *x, rsi r9 <- rdx -; size_t n, rdx r10 <- r8 -; mp_limb_t m rcx r11 <- r9 -; ) - -%macro seq 3 - mov eax, [byte esi+4*%3] - mul ebp - add [byte edi+4*%3], %2 - adc %1, eax - mov %2, edx - adc %2, 0 -%endmacro - - text - global _ecm_redc3 - -_ecm_redc3: - push ebp - push edi - push esi - push ebx - sub esp, 16 - mov ecx, [esp+44] - mov edi, [esp+36] - mov [esp], ecx - cmp ecx, 5 - jae .3 - -.1: mov ebp, [esp+48] - mov esi, [esp+40] - imul ebp, [edi] - mov [esp+36], edi - mov ecx, [esp+44] - xor ebx, ebx - -.2: mov eax, [esi] - add edi, 4 - mul ebp - add esi, 4 - add eax, ebx - adc edx, 0 - add [edi-4], eax - adc edx, 0 - dec ecx - mov ebx, edx - jnz .2 - mov edi, [esp+36] - mov [edi], ebx - dec dword [esp] - lea edi, [edi+4] - jnz .1 - - add esp, 16 - pop ebx - pop esi - pop edi - pop ebp - ret - -.3: mov edx, ecx - dec ecx - sub edx, 2 - neg ecx - shr edx, 4 - and ecx, 15 - mov [esp+8], edx - mov edx, ecx - shl edx, 4 - neg ecx - lea edx, [edx+ecx+.6] - mov [esp+44], ecx - mov [esp+12], edx - -.4: mov ebp, [esp+48] - mov esi, [esp+40] - imul ebp, [edi] - mov [esp+36], edi - mov ecx, [esp+44] - mov edx, [esp+8] - mov [esp+4], edx - mov eax, [esi] - lea esi, [esi+ecx*4+4] - mul ebp - lea edi, [edi+ecx*4] - mov ebx, edx - mov edx, [esp+12] - test ecx, 1 - mov ecx, eax - cmovnz ecx, ebx - cmovnz ebx, eax - jmp edx - - align 32 -.5: add edi, 64 -.6: - -%assign i 0 -%rep 16 - %if (i & 1) - seq ecx, ebx, i - %else - seq ebx, ecx, i - %endif - %assign i i + 1 -%endrep - - dec dword [esp+4] - lea esi, [esi+64] - jns .5 - - add [edi+64], ecx - mov edi, [esp+36] - adc ebx, 0 - mov [edi], ebx - dec dword [esp] - lea edi, [edi+4] - jnz .4 - - add esp, 16 - pop ebx - pop esi - pop edi - pop ebp - ret - - end - \ No newline at end of file diff --git a/build.vc14/assembler/a_win32p_mulredc.asm b/build.vc14/assembler/a_win32p_mulredc.asm deleted file mode 100644 index 001f7255..00000000 --- a/build.vc14/assembler/a_win32p_mulredc.asm +++ /dev/null @@ -1,148 +0,0 @@ - -; Part of GMP-ECM -; -; mp_limb_t mulredc1( 1 limb -; mp_limb_t *z, -; const mp_limb_t x, -; const mp_limb_t y, -; const mp_limb_t m, -; mp_limb_t inv_m -; ) -; -; mp_limb_t mulredc<limbs>( > 1 limb -; mp_limb_t *z, -; const mp_limb_t *x, -; const mp_limb_t *y, -; const mp_limb_t *m, -; mp_limb_t inv_m -; ) - -%macro mseq 1 - movd mm1, [esi+4*%1] - movd mm2, [edi+4*%1] - pmuludq mm1, mm7 - paddq mm2, mm1 - paddq mm0, mm2 - movd [edi+4*%1], mm0 - psrlq mm0, 32 -%endmacro - -%macro mulredc 1 -%assign limbs %1 -%define f_name(x) _mulredc %+ x - - global f_name(limbs) -%ifdef DLL - export f_name(limbs) -%endif - -f_name(limbs): - push ebp - push edi - push esi - push ebx - sub esp, 8*(limbs+1) - mov edi, esp - -%assign i 0 -%rep 2 * limbs + 1 - mov dword [edi+4*i], 0 - %assign i i + 1 -%endrep - - mov dword [esp+8*limbs+4], limbs - - align 32 - -.1: mov eax, [esp+8*limbs+32] - mov esi, [esp+8*limbs+36] - mov eax, [eax] - mul dword [esi] - add eax, [edi] - mul dword [esp+8*limbs+44] - mov ebp, eax - mov esi, [esp+8*limbs+40] - - pxor mm0, mm0 - movd mm7, ebp - -%assign i 0 -%rep limbs - mseq i - %assign i i + 1 -%endrep - - movd ecx, mm0 - - add [edi+4*limbs], ecx - adc dword [edi+4*limbs+4], 0 - mov eax, [esp+8*limbs+32] - mov ebp, [eax] - mov esi, [esp+8*limbs+36] - - pxor mm0, mm0 - movd mm7, ebp - -%assign i 0 -%rep limbs - mseq i - %assign i i + 1 -%endrep - - movd ecx, mm0 - add [edi+4*limbs], ecx - adc dword [edi+4*limbs+4], 0 - add dword [esp+8*limbs+32], 4 - add edi, 4 - dec dword [esp+8*limbs+4] - jnz .1 - - mov ebx, [esp+8*limbs+28] - -%assign i 0 -%rep limbs - mov eax, [edi+4*i] - mov [ebx+4*i], eax - %assign i i + 1 -%endrep - mov eax, [edi+4*limbs] - add esp, 8*(limbs+1) - - pop ebx - pop esi - pop edi - pop ebp - emms - ret -%endmacro - - bits 32 - section .text - - global _mulredc1 -%ifdef DLL - export _mulredc1 -%endif - -_mulredc1: - mov eax, [esp+12] - mul dword [esp+8] - mov [esp+12], edx - mov [esp+8], eax - mul dword [esp+20] - mul dword [esp+16] - add eax, [esp+8] - adc edx, [esp+12] - mov ecx, [esp+4] - mov [ecx], edx - adc eax, 0 - ret - -%assign i 2 -%rep 19 ; 3..20 inclusive - mulredc i - %assign i i + 1 -%endrep - - end - diff --git a/build.vc14/assembler/a_win32p_redc.asm b/build.vc14/assembler/a_win32p_redc.asm deleted file mode 100644 index b94bd9f9..00000000 --- a/build.vc14/assembler/a_win32p_redc.asm +++ /dev/null @@ -1,145 +0,0 @@ -; -; Part of GMP-ECM -; -; void ecm_redc3( -; mp_limb_t *z, rdi r8 <- rcx -; const mp_limb_t *x, rsi r9 <- rdx -; size_t n, rdx r10 <- r8 -; mp_limb_t m rcx r11 <- r9 -; ) - -%macro rloop 3 - mov eax, [byte esi+4*%3] - mul ebp - add [byte edi+4*%3], %2 - adc %1, eax - mov %2, edx - adc %2, 0 -%endmacro - - bits 32 - section .text - - global _ecm_redc3 -%ifdef DLL - export _ecm_redc3 -%endif - -_ecm_redc3: - push ebp - push edi - push esi - push ebx - sub esp, 16 - - mov ecx, [esp+44] - mov edi, [esp+36] - mov [esp], ecx - cmp ecx, 5 - jae .unroll - -.1: mov ebp, [esp+48] - mov esi, [esp+40] - imul ebp, [edi] - mov [esp+36], edi - mov ecx, [esp+44] - xor ebx, ebx - -.2: mov eax, [esi] - add edi, 4 - mul ebp - add esi, 4 - add eax, ebx - adc edx, 0 - add [edi-4], eax - adc edx, 0 - dec ecx - mov ebx, edx - jnz .2 - mov edi, [esp+36] - mov [edi], ebx - dec dword [esp] - lea edi, [edi+4] - jnz .1 - - add esp, 16 - pop ebx - pop esi - pop edi - pop ebp - ret - -.unroll: - mov edx, ecx - dec ecx - sub edx, 2 - neg ecx - shr edx, 4 - and ecx, 15 - mov [esp+8], edx - mov edx, ecx - shl edx, 4 - neg ecx - lea edx, [edx+ecx*1+.loop_base] - mov [esp+44], ecx - mov [esp+12], edx - -.4: mov ebp, [esp+48] - mov esi, [esp+40] - imul ebp, [edi] - mov [esp+36], edi - mov ecx, [esp+44] - mov edx, [esp+8] - mov [esp+4], edx - mov eax, [esi] - lea esi, [esi+ecx*4+4] - mul ebp - lea edi, [edi+ecx*4] - mov ebx, edx - mov edx, [esp+12] - test ecx, 1 - mov ecx, eax - cmovnz ecx, ebx - cmovnz ebx, eax - jmp edx - - align 32 -.5: add edi, 64 -.loop_base: - rloop ebx, ecx, 0 - rloop ecx, ebx, 1 - rloop ebx, ecx, 2 - rloop ecx, ebx, 3 - rloop ebx, ecx, 4 - rloop ecx, ebx, 5 - rloop ebx, ecx, 6 - rloop ecx, ebx, 7 - rloop ebx, ecx, 8 - rloop ecx, ebx, 9 - rloop ebx, ecx, 10 - rloop ecx, ebx, 11 - rloop ebx, ecx, 12 - rloop ecx, ebx, 13 - rloop ebx, ecx, 14 - rloop ecx, ebx, 15 - - dec dword [esp+4] - lea esi, [esi+64] - jns .5 - - add [edi+64], ecx - mov edi, [esp+36] - adc ebx, 0 - mov [edi], ebx - dec dword [esp] - lea edi, [edi+4] - jnz .4 - - add esp, 16 - pop ebx - pop esi - pop edi - pop ebp - ret - - end diff --git a/build.vc14/assembler/a_x64_mulredc.asm b/build.vc14/assembler/a_x64_mulredc.asm deleted file mode 100644 index 4f09d33c..00000000 --- a/build.vc14/assembler/a_x64_mulredc.asm +++ /dev/null @@ -1,237 +0,0 @@ -; -; Part of GMP-ECM -; -; mp_limb_t mulredc1( MSVC 1 limb -; mp_limb_t *z, rcx -; const mp_limb_t x, rdx -; const mp_limb_t y, r8 -; const mp_limb_t m, r9 -; mp_limb_t inv_m [rsp+0x28] -; ) -; -; mp_limb_t mulredc<limbs>( MSVC > 1 limb -; mp_limb_t *z, rcx -; const mp_limb_t *x, rdx -; const mp_limb_t *y, r8 -; const mp_limb_t *m, r9 -; mp_limb_t inv_m [rsp+0x28] -; ) - -%macro mseq_1 4 - mov %2, rcx - mul r14 - add %1, rax - mov rax, [r9+8*%3] - adc %2, rdx - mul r11 -%if %3 < %4 - 1 - add rax, %1 - mov [rbp+8*(%3-1)], rax - mov rax, [r8+8*(%3+1)] - adc %2, rdx - setc cl -%else - add %1, rax - mov [rbp+8*(%3-1)], %1 - adc %2, rdx - mov [rbp+8*%3], %2 - setc cl - mov [rbp+8*(%3+1)], rcx -%endif -%endmacro - -%macro mseq_20 2 - mov r14, [r13+r12*8] - mov rax, [r8] - mov %1, [rbp] - mov %2, [rbp+8] - mul r14 - add r12, 1 - add rax, %1 - adc %2, rdx - setc cl - mov %1, rax - imul rax, r10 - mov r11, rax - mul qword [r9] - add %1, rax - adc %2, rdx - mov rax, [r8+8] -%endmacro - -%macro mseq_2 4 - mov %2, [rbp+8*(%3+1)] - adc %2, rcx -%if %3 < %4 - 1 - setc cl -%endif - mul r14 - add %1, rax - mov rax, [r9+8*%3] - adc %2, rdx -%if %3 < %4 - 1 - adc cl, 0 -%else - setc cl -%endif - mul r11 -%if %3 < %4 - 1 - add rax, %1 - mov [rbp+8*(%3-1)], rax - adc %2, rdx - mov rax, [r8+8*(%3+1)] -%else - add %1, rax - mov [rbp+8*(%3-1)], %1 - adc %2, rdx - mov [rbp+8*%3],%2 - adc cl, 0 - mov [rbp+8*(%3+1)], rcx -%endif -%endmacro - -%macro store 1 -%assign i 0 -%rep %1 - %if i == %1 - 1 && (%1 & 1) - mov rax, [rbp+8*i] - mov [rdi+8*i], rax - %elif (i & 1) - mov [rdi+8*(i-1)], rax - mov [rdi+8*i], rdx - %else - mov rax, [rbp+8*i] - mov rdx, [rbp+8*(i+1)] - %endif - %assign i i + 1 -%endrep -%endmacro - -%macro mulredc 1 - -%assign limbs %1 -%define f_name(x) mulredc %+ x -%define stack_space 8 * (limbs + 1 + (limbs & 1)) - - global f_name(limbs) -%ifdef DLL - export f_name(limbs) -%endif - - align 64 - -PROC_FRAME f_name(limbs) ; SEH Frame - push_reg rbp - push_reg rbx - push_reg rsi - push_reg rdi - push_reg r12 - push_reg r13 - push_reg r14 - alloc_stack stack_space -END_PROLOGUE - ; *y in r8 - mov rdi, rcx ; *z -> rdi - mov r13, rdx ; *x -> r13 - mov r10, [rsp+8*12+stack_space] ; invm -> r10 - ; *m in r9 - mov r14, [r13] - mov rax, [r8] - xor rcx, rcx - lea rbp, [rsp] - mov r12, rcx - mul qword r14 - add r12, 1 - mov rsi, rax - mov rbx, rdx - imul rax, r10 - mov r11, rax - mul qword [r9] - add rsi, rax - mov rax, [r8+8] - adc rbx, rdx - setc cl - -%assign j 1 -%rep limbs - 1 -%if (j & 1) - mseq_1 rbx, rsi, j, limbs -%else - mseq_1 rsi, rbx, j, limbs -%endif - %assign j j + 1 -%endrep - - align 32 -.1: - -%assign j 1 -%if (limbs & 1) - mseq_20 rsi, rbx - %rep limbs - 1 - %if (j & 1) - mseq_2 rbx, rsi, j, limbs - %else - mseq_2 rsi, rbx, j, limbs - %endif - %assign j j + 1 - %endrep -%else - mseq_20 rbx, rsi - %rep limbs - 1 - %if (j & 1) - mseq_2 rsi, rbx, j, limbs - %else - mseq_2 rbx, rsi, j, limbs - %endif - %assign j j + 1 - %endrep -%endif - - cmp r12, limbs - jb .1 - - store limbs - - mov rax, rcx - add rsp, stack_space - pop r14 - pop r13 - pop r12 - pop rdi - pop rsi - pop rbx - pop rbp - ret -ENDPROC_FRAME -%endmacro - - bits 64 - section .text - - global mulredc1 -%ifdef DLL - export mulredc1 -%endif - - align 64 -mulredc1: - mov rax, r8 - mul rdx - mov r10, rax - mov r11, rdx - mul qword [rsp+0x28] - mul r9 - add rax, r10 - adc rdx, r11 - mov [rcx], rdx - adc rax, 0 - ret - -%assign i 2 -%rep 19 ; 2..20 inclusive - mulredc i - %assign i i + 1 -%endrep - - end diff --git a/build.vc14/assembler/a_x64_redc.asm b/build.vc14/assembler/a_x64_redc.asm deleted file mode 100644 index 49a02452..00000000 --- a/build.vc14/assembler/a_x64_redc.asm +++ /dev/null @@ -1,161 +0,0 @@ -; -; Part of GMP-ECM -; -; void ecm_redc3( -; mp_limb_t *z, rdi r8 <- rcx -; const mp_limb_t *x, rsi r9 <- rdx -; size_t n, rdx r10 <- r8 -; mp_limb_t m rcx r11 <- r9 -; ) - -%macro rloop 3 - mov rax,[byte rsi+8*%3] - mul rbp - add [byte rdi+8*%3], %1 - adc %2, rax - mov %1, rdx - adc %1, 0 -%endmacro - - bits 64 - section .text - - global ecm_redc3 -%ifdef DLL - export ecm_redc3 -%endif - -PROC_FRAME ecm_redc3 - push_reg rbp - push_reg rbx - push_reg rsi - push_reg rdi - alloc_stack 5*8 -END_PROLOGUE - mov rdi, rcx - mov rsi, rdx - mov rdx, r8 - mov rcx, r9 - - mov r8, rdi - mov r9, rsi - mov r10, rdx - mov r11, rcx - - mov rcx, r10 - mov [rsp], rcx - cmp rcx, 3 - jae .unroll - -.1: mov rbp, r11 - mov rsi, r9 - imul rbp, [rdi] - mov r8, rdi - mov rcx, r10 - xor rbx, rbx - -.2: mov rax, [rsi] - add rdi, 8 - mul rbp - add rsi, 8 - add rax, rbx - adc rdx, 0 - add [rdi-8], rax - adc rdx, 0 - dec rcx - mov rbx, rdx - jnz .2 - mov rdi, r8 - mov [rdi], rbx - dec qword [rsp] - lea rdi, [rdi+8] - jnz .1 - - add rsp, 5*8 - pop rdi - pop rsi - pop rbx - pop rbp - ret - -.unroll: - mov rdx, rcx - dec rcx - sub rdx, 2 - neg rcx - shr rdx, 4 - and rcx, 15 - mov [rsp+16], rdx - mov rdx, rcx - shl rdx, 4 - lea r10, [.loop_base wrt rip] - add rdx, r10 - lea rdx, [rdx+rcx*4] - add rdx, rcx - neg rcx - mov r10, rcx - mov [rsp+24], rdx - -.4: mov rbp, r11 - mov rsi, r9 - imul rbp, [rdi] - mov r8, rdi - mov rcx, r10 - mov rdx, [rsp+16] - mov [rsp+8], rdx - - mov rax, [rsi] - lea rsi, [rsi+rcx*8+8] - mul rbp - lea rdi, [rdi+rcx*8] - mov rbx, rdx - - mov rdx, [rsp+24] - test rcx, 1 - mov rcx, rax - cmovnz rcx, rbx - cmovnz rbx, rax - jmp rdx - - align 64 - -.5: add rdi, 128 -.loop_base: - rloop rcx, rbx, 0 - rloop rbx, rcx, 1 - rloop rcx, rbx, 2 - rloop rbx, rcx, 3 - rloop rcx, rbx, 4 - rloop rbx, rcx, 5 - rloop rcx, rbx, 6 - rloop rbx, rcx, 7 - rloop rcx, rbx, 8 - rloop rbx, rcx, 9 - rloop rcx, rbx, 10 - rloop rbx, rcx, 11 - rloop rcx, rbx, 12 - rloop rbx, rcx, 13 - rloop rcx, rbx, 14 - rloop rbx, rcx, 15 - - dec qword [rsp+8] - lea rsi, [rsi+128] - jns .5 - - add [rdi+128], rcx - mov rdi, r8 - adc rbx, 0 - mov [rdi], rbx - dec qword [rsp] - lea rdi, [rdi+8] - jnz .4 - - add rsp, 5*8 - pop rdi - pop rsi - pop rbx - pop rbp - ret -ENDPROC_FRAME - - end diff --git a/build.vc14/assembler/mulredc.asm b/build.vc14/assembler/mulredc.asm deleted file mode 100644 index ffe18e1c..00000000 --- a/build.vc14/assembler/mulredc.asm +++ /dev/null @@ -1,8 +0,0 @@ - -%ifdef _WIN64 -%include "a_x64_mulredc.asm" -%elifdef AMD_ASM -%include "a_win32a_mulredc.asm" -%else -%include "a_win32p_mulredc.asm" -%endif diff --git a/build.vc14/assembler/mulredc.h b/build.vc14/assembler/mulredc.h deleted file mode 100644 index 8902af37..00000000 --- a/build.vc14/assembler/mulredc.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef __ASM_REDC_H__ -#define __ASM_REDC_H__ - -#include <gmp.h> - -extern void ecm_redc3(mp_limb_t *cp, const mp_limb_t *np, mp_size_t nn, mp_limb_t Nprim); - - -/* WARNING: the size-1 version doesn't take pointers in input */ -extern mp_limb_t mulredc1(mp_limb_t *z, mp_limb_t x, mp_limb_t y, mp_limb_t m, mp_limb_t inv_m); - -extern mp_limb_t mulredc2(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc3(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc4(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc5(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc6(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc7(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc8(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc9(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc10(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc11(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc12(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc13(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc14(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc15(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc16(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc17(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc18(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc19(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc20(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); - -#endif diff --git a/build.vc14/assembler/redc.asm b/build.vc14/assembler/redc.asm deleted file mode 100644 index 1653e1ce..00000000 --- a/build.vc14/assembler/redc.asm +++ /dev/null @@ -1,7 +0,0 @@ -%ifdef _WIN64 -%include "a_x64_redc.asm" -%elif AMD_ASM -%include "a_win32a_redc.asm" -%else -%include "a_win32p_redc.asm" -%endif diff --git a/build.vc14/assembler/test_mulredc.c b/build.vc14/assembler/test_mulredc.c deleted file mode 100644 index f95234da..00000000 --- a/build.vc14/assembler/test_mulredc.c +++ /dev/null @@ -1,303 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <assert.h> - -#include <gmp.h> - -#include "asmredc.h" - -void mp_print(mp_limb_t *x, int N) { - int i; - for (i = 0; i < N-1; ++i) - printf("%lu + W*(", x[i]); - printf("%lu", x[N-1]); - for (i = 0; i < N-1; ++i) - printf(")"); - printf("\n"); -} - -static mp_limb_t -call_mulredc (int N, mp_limb_t *z, mp_limb_t *x, mp_limb_t *y, mp_limb_t *m, - mp_limb_t invm) -{ - mp_limb_t cy; - - switch (N) - { - case 1: - cy = mulredc1(z, x[0], y[0], m[0], invm); - break; - case 2: - cy = mulredc2(z, x, y, m, invm); - break; - case 3: - cy = mulredc3(z, x, y, m, invm); - break; - case 4: - cy = mulredc4(z, x, y, m, invm); - break; - case 5: - cy = mulredc5(z, x, y, m, invm); - break; - case 6: - cy = mulredc6(z, x, y, m, invm); - break; - case 7: - cy = mulredc7(z, x, y, m, invm); - break; - case 8: - cy = mulredc8(z, x, y, m, invm); - break; - case 9: - cy = mulredc9(z, x, y, m, invm); - break; - case 10: - cy = mulredc10(z, x, y, m, invm); - break; - case 11: - cy = mulredc11(z, x, y, m, invm); - break; - case 12: - cy = mulredc12(z, x, y, m, invm); - break; - case 13: - cy = mulredc13(z, x, y, m, invm); - break; - case 14: - cy = mulredc14(z, x, y, m, invm); - break; - case 15: - cy = mulredc15(z, x, y, m, invm); - break; - case 16: - cy = mulredc16(z, x, y, m, invm); - break; - case 17: - cy = mulredc17(z, x, y, m, invm); - break; - case 18: - cy = mulredc18(z, x, y, m, invm); - break; - case 19: - cy = mulredc19(z, x, y, m, invm); - break; - case 20: - cy = mulredc20(z, x, y, m, invm); - break; - default: - cy = mulredc20(z, x, y, m, invm); - } - return cy; -} - -void test(mp_size_t N, int k) -{ - mp_limb_t *x, *y, *yp, *z, *m, invm, cy, cy2, *tmp, *tmp2, *tmp3; - int i, j; - - x = (mp_limb_t *) malloc(N*sizeof(mp_limb_t)); - y = (mp_limb_t *) malloc(N*sizeof(mp_limb_t)); - z = (mp_limb_t *) malloc((N+1)*sizeof(mp_limb_t)); - m = (mp_limb_t *) malloc(N*sizeof(mp_limb_t)); - tmp = (mp_limb_t *) malloc((2*N+2)*sizeof(mp_limb_t)); - tmp2 = (mp_limb_t *) malloc((2*N+2)*sizeof(mp_limb_t)); - tmp3 = (mp_limb_t *) malloc((2*N+2)*sizeof(mp_limb_t)); - - if (x == NULL || y == NULL || z == NULL || m == NULL || tmp == NULL || - tmp2 == NULL || tmp3 == NULL) - { - fprintf (stderr, "Cannot allocate memory in test_mulredc\n"); - exit (1); - } - - mpn_random2(m, N); - m[0] |= 1UL; - if (m[N-1] == 0) - m[N-1] = 1UL; - - invm = 1UL; - for (i = 0; i < 10; ++i) - invm = (2*invm-m[0]*invm*invm); - invm = -invm; - - assert( (invm*m[0] +1UL) == 0UL); - - yp = y; - for (i=0; i < k; ++i) { - /* Try a few special cases */ - if (i == 0) - { - /* Try all 0, product should be 0 */ - for (j = 0; j < N; j++) - x[j] = y[j] = 0; - } - else if (i == 1) - { - /* Try all 1 */ - for (j = 0; j < N; j++) - x[j] = y[j] = 1; - } - else if (i == 2) - { - /* Try all 2^wordsize - 1 */ - for (j = 0; j < N; j++) - x[j] = y[j] = ~(0UL); - } - else - { - /* In the other cases, try random data */ - if (i % 2 == 0) - { - /* Try squaring */ - mpn_random2(x, N); - yp = x; - } - else - { - /* Try multiplication */ - mpn_random2(x, N); - mpn_random2(y, N); - } - } - - // Mul followed by ecm_redc3 - mpn_mul_n(tmp, x, yp, N); - ecm_redc3(tmp, m, N, invm); - cy2 = mpn_add_n (tmp2, tmp + N, tmp, N); - - // Mixed mul and redc - cy = call_mulredc (N, z, x, yp, m, invm); - - if (cy != cy2) - printf ("i = %d: mulredc cy = %ld, mpn_mul_n/ecm_redc3 cy = %ld\n", - i, (long) cy, (long) cy2); - assert (cy == cy2); - if (mpn_cmp(z,tmp2, N) != 0) - { - printf ("i = %d\nmulredc = ", i); - for (j = N - 1; j >= 0; j--) - printf ("%lx ", z[j]); - printf ("\nmpn_mul_n/ecm_redc3 = "); - for (j = N - 1; j >= 0; j--) - printf ("%lx ", tmp2[j]); - printf ("\n"); - assert (mpn_cmp(z,tmp2, N) == 0); - } - - if (cy) - printf("!"); - z[N] = cy; - // Check with pure gmp : multiply by 2^(N*GMP_NUMB_BITS) and compare. - for (j=0; j < N; ++j) { - tmp[j] = 0; - tmp[j+N] = z[j]; - } - tmp[2*N] = z[N]; - mpn_tdiv_qr(tmp2, tmp3, 0, tmp, 2*N+1, m, N); - for (j=0; j < N; ++j) - z[j] = tmp3[j]; - - mpn_mul_n(tmp, x, yp, N); - mpn_tdiv_qr(tmp2, tmp3, 0, tmp, 2*N, m, N); - - assert(mpn_cmp(z, tmp3, N) == 0); - } - - free(tmp); free(tmp2); free(tmp3); - free(x); free(y); free(z); free(m); -} - - - -int main(int argc, char** argv) -{ - int i, len; - - if (argc > 1) /* Test a specific length */ - { - len = atoi (argv[1]); - for (i = 0; i < 1; i++) - test (len, 1000000); - return 0; - } - - for (;;) { - for (i = 1; i <= 20; ++i) { - test(i, 1000); - } -#if 0 - test(1, 1000); - test(2, 1000); - test(3, 1000); - test(4, 1000); - test(5, 1000); - test(6, 1000); - test(7, 1000); - test(8, 1000); - test(9, 1000); - test(10, 1000); - test(11, 1000); - test(12, 1000); - test(13, 100); - test(14, 100); - test(15, 100); - test(16, 100); - test(17, 100); - test(18, 100); - test(44, 10); - test(45, 10); - test(46, 10); - test(47, 10); - test(48, 10); - test(49, 10); -#endif - printf("."); fflush(stdout); - } -#if 0 - x[0] = 12580274668139321508UL; - x[1] = 9205793975152560417UL; - x[2] = 7857372727033793057UL; - - y[0] = 13688385828267279103UL; - y[1] = 10575011835742767258UL; - y[2] = 8802048318027595690UL; - - - m[0] = 2981542467342508025UL; - m[1] = 5964669706257742025UL; - m[2] = 18446744073678090270UL; - - invm = 9419286575570128311UL; - - carry = mulredc(z, x, y, m, 3, invm); - - printf("%lu + 2^64*(%lu + 2^64*%lu), carry=%lu\n", z[0], z[1], z[2], carry); -#endif - return 0; -} - - -#if 0 - -W := 2^64; - -x0:= 12580274668139321508; -x1:= 9205793975152560417; -x2:= 7857372727033793057; -x := x0 + W*(x1 + W*x2); - -y0:= 13688385828267279103; -y1:= 10575011835742767258; -y2:= 8802048318027595690; -y := y0 + W*(y1 + W*y2); - -m0:= 2981542467342508025; -m1:= 5964669706257742025; -m2:= 18446744073678090270; -m := m0 + W*(m1 + W*m2); - -invm := 9419286575570128311; - - - -#endif diff --git a/build.vc14/bench_mulredc/Makefile.am b/build.vc14/bench_mulredc/Makefile.am deleted file mode 100644 index 5a7c0bc7..00000000 --- a/build.vc14/bench_mulredc/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = bench_mulredc.vcxproj bench_mulredc.vcxproj.filters diff --git a/build.vc14/bench_mulredc/bench_mulredc.vcxproj b/build.vc14/bench_mulredc/bench_mulredc.vcxproj deleted file mode 100644 index 075bde43..00000000 --- a/build.vc14/bench_mulredc/bench_mulredc.vcxproj +++ /dev/null @@ -1,170 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{4727DE12-787D-432D-B166-BF103B0C3C87}</ProjectGuid> - <Keyword>Win32Proj</Keyword> - <RootNamespace>bench_mulredc</RootNamespace> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(SolutionDir)..bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir>$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(SolutionDir)..bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir>$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir>$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir>$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);..\..\;..\assembler;..\</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <AdditionalDependencies>psapi.lib;..\..\..\$(mp_dir)lib\$(IntDir)\mpir.lib;..\..\lib\$(IntDir)\libecm.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_WIN64;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);..\..\;..\assembler;..\</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <AdditionalDependencies>psapi.lib;..\..\..\$(mp_dir)lib\$(IntDir)\mpir.lib;..\..\lib\$(IntDir)\libecm.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <PrecompiledHeader> - </PrecompiledHeader> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);..\..\;..\assembler;..\</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <AdditionalDependencies>psapi.lib;..\..\..\$(mp_dir)lib\$(IntDir)\mpir.lib;..\..\lib\$(IntDir)\libecm.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <PrecompiledHeader> - </PrecompiledHeader> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>_WIN64;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);..\..\;..\assembler;..\</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <AdditionalDependencies>psapi.lib;..\..\..\$(mp_dir)lib\$(IntDir)\mpir.lib;..\..\lib\$(IntDir)\libecm.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="..\..\bench_mulredc.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/bench_mulredc/bench_mulredc.vcxproj.filters b/build.vc14/bench_mulredc/bench_mulredc.vcxproj.filters deleted file mode 100644 index 5e88a3d4..00000000 --- a/build.vc14/bench_mulredc/bench_mulredc.vcxproj.filters +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\bench_mulredc.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/config.h b/build.vc14/config.h deleted file mode 100644 index 67936b0a..00000000 --- a/build.vc14/config.h +++ /dev/null @@ -1,246 +0,0 @@ -/* config.h.in. Generated from configure.in by autoheader. */ - -#define VERSION ECM_VERSION - -#define VERSION_GPU "gpu_ecm-win" - -#define PACKAGE_BUGREPORT "ecm-discuss@inria.fr" - -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -#undef CRAY_STACKSEG_END - -/* Define to 1 if using `alloca.c'. */ -#define C_ALLOCA 1 - -/* Define to 1 if you have the `access' function. */ -#undef HAVE_ACCESS - -/* Define to 1 if you have `alloca', as a function or macro. */ -#define HAVE_ALLOCA 1 - -/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). - */ -#undef HAVE_ALLOCA_H - -/* Define to 1 if you have the `ctime' function. */ -#define HAVE_CTIME 1 - -/* Define to 1 if you have the <ctype.h> header file. */ -#define HAVE_CTYPE_H 1 - -/* Define to 1 if you have the `floor' function. */ -#define HAVE_FLOOR 1 - -/* Define to 1 if you have the `fmod' function. */ -#define HAVE_FMOD 1 - -/* Define to 1 if you have the `gethostname' function. */ -#define HAVE_GETHOSTNAME 1 - -/* Define to 1 if you have the `getrusage' function. */ -#define HAVE_GETRUSAGE 1 - -/* Define to 1 if you have the `gettimeofday' function. */ -#undef HAVE_GETTIMEOFDAY - -/* Define to 1 if you have the <gmp.h> header file. */ -#define HAVE_GMP_H 1 - -/* Define to 1 if gwnum.a or gwnum.lib exist */ -#undef HAVE_GWNUM - -/* Define to 1 if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the <io.h> header file. */ -#undef HAVE_IO_H - -/* Define to 1 if you have the `isascii' function. */ -#undef HAVE_ISASCII - -/* Define to 1 if you have the `isdigit' function. */ -#define HAVE_ISDIGIT 1 - -/* Define to 1 if you have the `isspace' function. */ -#define HAVE_ISSPACE 1 - -/* Define to 1 if you have the `isxdigit' function. */ -#define HAVE_ISXDIGIT 1 - -/* Define to 1 if you have the `m' library (-lm). */ -#undef HAVE_LIBM - -/* Define to 1 if you have the <limits.h> header file. */ -#define HAVE_LIMITS_H 1 - -/* Define to 1 if you have the <malloc.h> header file. */ -#define HAVE_MALLOC_H 1 - -/* Define to 1 if you have the `malloc_usable_size' function. */ -#undef HAVE_MALLOC_USABLE_SIZE - -/* Define to 1 if you have the <math.h> header file. */ -#define HAVE_MATH_H 1 - -/* Define to 1 if you have the `memmove' function. */ -#define HAVE_MEMMOVE 1 - -/* Define to 1 if you have the <memory.h> header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have the `memset' function. */ -#define HAVE_MEMSET 1 - -/* Define to 1 if you have the `nice' function. */ -#undef HAVE_NICE - -/* Define to 1 if you have the `pow' function. */ -#define HAVE_POW 1 - -/* Define to 1 if you have the `signal' function. */ -#define HAVE_SIGNAL 1 - -/* Define to 1 if you have the <signal.h> header file. */ -#define HAVE_SIGNAL_H 1 - -/* Define to 1 if you have the `sqrt' function. */ -#define HAVE_SQRT 1 - -/* Define to 1 if you have the <stdint.h> header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the <stdlib.h> header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the `strchr' function. */ -#define HAVE_STRCHR 1 - -/* Define to 1 if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the <string.h> header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the `strlen' function. */ -#define HAVE_STRLEN 1 - -/* Define to 1 if you have the `strncasecmp' function. */ -#undef HAVE_STRNCASECMP - -/* Define to 1 if you have the `strstr' function. */ -#undef HAVE_STRSTR - -/* Define to 1 if you have the <sys/resource.h> header file. */ -#undef HAVE_SYS_RESOURCE_H - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the <sys/time.h> header file. */ -#undef HAVE_SYS_TIME_H - -/* Define to 1 if you have the <sys/types.h> header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the `time' function. */ -#undef HAVE_TIME - -/* Define to 1 if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have the `unlink' function. */ -#define HAVE_UNLINK 1 - -/* Define to 1 if you have the <windows.h> header file. */ -#define HAVE_WINDOWS_H 1 - -/* Define to 1 if you have the `__gmpn_add_nc' function. */ -#if defined( _WIN64 ) -# define HAVE___GMPN_ADD_NC 1 -#endif - -/* Define to 1 if you have the `__gmpn_mod_34lsub1' function. */ -#define HAVE___GMPN_MOD_34LSUB1 1 - -/* Define to 1 if you have the `__gmpn_mul_fft' function. */ -#define HAVE___GMPN_MUL_FFT 1 - -/* Define to 1 if you want memory debugging */ -#undef MEMORY_DEBUG - -/* Define if the system has the type `long long'. */ -#define HAVE_LONG_LONG 1 -#define HAVE_LONG_LONG_INT 1 - -/* Define to 1 to use asm redc on x86 or x86_64 */ -# define NATIVE_REDC 1 - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at runtime. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ -#undef STACK_DIRECTION - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ -#undef TIME_WITH_SYS_TIME - -/* Define to 1 if you want assertions enabled */ -#undef WANT_ASSERT - -/* Define to 1 if you want shell command execution */ -#undef WANT_SHELLCMD - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* How to specify hot-spot attribute, if available */ -#define ATTRIBUTE_HOT - -#define HAVE___GMPN_REDC_1 1 - -#define HAVE___GMPN_REDC_2 1 - -#define HAVE_ASM_REDC3 1 - -#define WINDOWS64_ABI 1 - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -#define inline __inline -#endif - -/* Define to `unsigned int' if <sys/types.h> does not define. */ -#undef size_t - -#define PRIdSIZE "Id" -#define PRIuSIZE "Iu" - -#ifdef _MSC_VER - -#define __func__ __FUNCTION__ - -/* define Windows tuning here */ -# define __tune_corei7__ - -# if _MSC_VER < 1600 -# define int64_t __int64 -# define uint64_t unsigned __int64 -# endif -# define strncasecmp strnicmp -# define access _access -# define alloca _alloca -# define fseek64 _fseek64 -# define ftell64 _ftell64 -# define omp_get_thread_limit omp_get_max_threads -#endif diff --git a/build.vc14/ecm.sln b/build.vc14/ecm.sln deleted file mode 100644 index e5543917..00000000 --- a/build.vc14/ecm.sln +++ /dev/null @@ -1,70 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libecm", "libecm\libecm.vcxproj", "{CD555681-D65B-4173-A29C-B8BF06A4871B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ecm", "ecm\ecm.vcxproj", "{C0E2EA85-996A-4B5F-AD30-590FAF5B7187}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tune", "tune\tune.vcxproj", "{80E08750-5C6C-492E-BB1E-7200978AE125}" - ProjectSection(ProjectDependencies) = postProject - {CD555681-D65B-4173-A29C-B8BF06A4871B} = {CD555681-D65B-4173-A29C-B8BF06A4871B} - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187} = {C0E2EA85-996A-4B5F-AD30-590FAF5B7187} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bench_mulredc", "bench_mulredc\bench_mulredc.vcxproj", "{4727DE12-787D-432D-B166-BF103B0C3C87}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "multiecm", "multiecm\multiecm.vcxproj", "{16434DC2-371C-451B-A336-820499B98B8C}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Debug|Win32.ActiveCfg = Debug|Win32 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Debug|Win32.Build.0 = Debug|Win32 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Debug|x64.ActiveCfg = Debug|x64 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Debug|x64.Build.0 = Debug|x64 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Release|Win32.ActiveCfg = Release|Win32 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Release|Win32.Build.0 = Release|Win32 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Release|x64.ActiveCfg = Release|x64 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Release|x64.Build.0 = Release|x64 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Debug|Win32.ActiveCfg = Debug|Win32 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Debug|Win32.Build.0 = Debug|Win32 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Debug|x64.ActiveCfg = Debug|x64 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Debug|x64.Build.0 = Debug|x64 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Release|Win32.ActiveCfg = Release|Win32 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Release|Win32.Build.0 = Release|Win32 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Release|x64.ActiveCfg = Release|x64 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Release|x64.Build.0 = Release|x64 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Debug|Win32.ActiveCfg = Release|x64 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Debug|x64.ActiveCfg = Release|x64 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Debug|x64.Build.0 = Release|x64 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Release|Win32.ActiveCfg = Release|Win32 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Release|Win32.Build.0 = Release|Win32 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Release|x64.ActiveCfg = Release|x64 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Release|x64.Build.0 = Release|x64 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Debug|Win32.ActiveCfg = Debug|Win32 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Debug|Win32.Build.0 = Debug|Win32 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Debug|x64.ActiveCfg = Debug|x64 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Debug|x64.Build.0 = Debug|x64 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Release|Win32.ActiveCfg = Release|Win32 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Release|Win32.Build.0 = Release|Win32 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Release|x64.ActiveCfg = Release|x64 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Release|x64.Build.0 = Release|x64 - {16434DC2-371C-451B-A336-820499B98B8C}.Debug|Win32.ActiveCfg = Debug|Win32 - {16434DC2-371C-451B-A336-820499B98B8C}.Debug|Win32.Build.0 = Debug|Win32 - {16434DC2-371C-451B-A336-820499B98B8C}.Debug|x64.ActiveCfg = Debug|x64 - {16434DC2-371C-451B-A336-820499B98B8C}.Debug|x64.Build.0 = Debug|x64 - {16434DC2-371C-451B-A336-820499B98B8C}.Release|Win32.ActiveCfg = Release|Win32 - {16434DC2-371C-451B-A336-820499B98B8C}.Release|Win32.Build.0 = Release|Win32 - {16434DC2-371C-451B-A336-820499B98B8C}.Release|x64.ActiveCfg = Release|x64 - {16434DC2-371C-451B-A336-820499B98B8C}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/build.vc14/ecm/Makefile.am b/build.vc14/ecm/Makefile.am deleted file mode 100644 index 2f05e85c..00000000 --- a/build.vc14/ecm/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = ecm.vcxproj ecm.vcxproj.filters diff --git a/build.vc14/ecm/ecm.vcxproj b/build.vc14/ecm/ecm.vcxproj deleted file mode 100644 index 0d9ef9be..00000000 --- a/build.vc14/ecm/ecm.vcxproj +++ /dev/null @@ -1,239 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{C0E2EA85-996A-4B5F-AD30-590FAF5B7187}</ProjectGuid> - <RootNamespace>ecm</RootNamespace> - <Keyword>Win32Proj</Keyword> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v110</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>false</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX86</TargetMachine> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>ws2_32.lib;..\..\..\$(mp_dir)lib\$(Platform)\release\$(mp_lib);%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>EditAndContinue</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX86</TargetMachine> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c" /> - <ClCompile Include="..\..\auxi.c" /> - <ClCompile Include="..\..\b1_ainc.c" /> - <ClCompile Include="..\..\candi.c" /> - <ClCompile Include="..\..\eval.c" /> - <ClCompile Include="..\..\getprime_r.c" /> - <ClCompile Include="..\..\main.c" /> - <ClCompile Include="..\..\memusage.c" /> - <ClCompile Include="..\..\resume.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\champions.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\getprime_r.h" /> - <ClInclude Include="..\..\longlong.h" /> - <ClInclude Include="..\config.h" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\libecm\libecm.vcxproj"> - <Project>{cd555681-d65b-4173-a29c-b8bf06a4871b}</Project> - <ReferenceOutputAssembly>false</ReferenceOutputAssembly> - </ProjectReference> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/ecm/ecm.vcxproj.filters b/build.vc14/ecm/ecm.vcxproj.filters deleted file mode 100644 index a806e09e..00000000 --- a/build.vc14/ecm/ecm.vcxproj.filters +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\b1_ainc.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\candi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\eval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\main.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\resume.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\memusage.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime_r.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\getprime_r.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/ecm_gpu.sln b/build.vc14/ecm_gpu.sln deleted file mode 100644 index 87325a62..00000000 --- a/build.vc14/ecm_gpu.sln +++ /dev/null @@ -1,39 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libecm_gpu", "libecm_gpu\libecm_gpu.vcxproj", "{3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ecm_gpu", "ecm_gpu\ecm_gpu.vcxproj", "{1B353D8B-9808-4EB3-A5E7-075D751757AD}" - ProjectSection(ProjectDependencies) = postProject - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00} = {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Debug|Win32.ActiveCfg = Debug|Win32 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Debug|Win32.Build.0 = Debug|Win32 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Debug|x64.ActiveCfg = Debug|x64 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Debug|x64.Build.0 = Debug|x64 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Release|Win32.ActiveCfg = Release|Win32 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Release|Win32.Build.0 = Release|Win32 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Release|x64.ActiveCfg = Release|x64 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Release|x64.Build.0 = Release|x64 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Debug|Win32.ActiveCfg = Debug|Win32 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Debug|Win32.Build.0 = Debug|Win32 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Debug|x64.ActiveCfg = Debug|x64 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Debug|x64.Build.0 = Debug|x64 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Release|Win32.ActiveCfg = Release|Win32 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Release|Win32.Build.0 = Release|Win32 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Release|x64.ActiveCfg = Release|x64 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/build.vc14/ecm_gpu/Makefile.am b/build.vc14/ecm_gpu/Makefile.am deleted file mode 100644 index 0b43ffe2..00000000 --- a/build.vc14/ecm_gpu/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = ecm_gpu.vcxproj ecm_gpu.vcxproj.filters libecm_gpu.vcxproj libecm_gpu.vcxproj.filters diff --git a/build.vc14/ecm_gpu/ecm.vcxproj.filters b/build.vc14/ecm_gpu/ecm.vcxproj.filters deleted file mode 100644 index f3880aba..00000000 --- a/build.vc14/ecm_gpu/ecm.vcxproj.filters +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\b1_ainc.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\candi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\eval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\main.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\resume.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/ecm_gpu/ecm_gpu.vcxproj b/build.vc14/ecm_gpu/ecm_gpu.vcxproj deleted file mode 100644 index 5a311cd7..00000000 --- a/build.vc14/ecm_gpu/ecm_gpu.vcxproj +++ /dev/null @@ -1,286 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{1B353D8B-9808-4EB3-A5E7-075D751757AD}</ProjectGuid> - <RootNamespace>ecm_gpu</RootNamespace> - <Keyword>Win32Proj</Keyword> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 9.0.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);..\..\lib\$(IntDir)libecm_gpu.lib;advapi32.lib;ws2_32.lib;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\$(Platform)\cudart.lib</AdditionalDependencies> - <GenerateDebugInformation>false</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX86</TargetMachine> - </Link> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <TargetMachinePlatform>32</TargetMachinePlatform> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <PtxAsOptionV>true</PtxAsOptionV> - <Defines> - </Defines> - </CudaCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;_WIN64;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>ws2_32.lib;..\..\..\$(mp_dir)lib\$(Platform)\release\$(mp_lib);%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>EditAndContinue</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);..\..\lib\$(IntDir)libecm_gpu.lib;advapi32.lib;ws2_32.lib;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\$(Platform)\cudart.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX86</TargetMachine> - </Link> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <TargetMachinePlatform>32</TargetMachinePlatform> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <PtxAsOptionV>true</PtxAsOptionV> - <Defines> - </Defines> - </CudaCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;_WIN64;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);..\..\lib\$(IntDir)libecm_gpu.lib;advapi32.lib;ws2_32.lib;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\$(Platform)\cudart.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <TargetMachinePlatform>64</TargetMachinePlatform> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <PtxAsOptionV>true</PtxAsOptionV> - <Defines> - </Defines> - </CudaCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);..\..\lib\$(IntDir)libecm_gpu.lib;advapi32.lib;ws2_32.lib;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\$(Platform)\cudart.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <TargetMachinePlatform>64</TargetMachinePlatform> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <PtxAsOptionV>true</PtxAsOptionV> - <Defines> - </Defines> - </CudaCompile> - <CudaLink> - <AdditionalDependencies> - </AdditionalDependencies> - </CudaLink> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="..\..\auxi.c" /> - <ClCompile Include="..\..\b1_ainc.c" /> - <ClCompile Include="..\..\candi.c" /> - <ClCompile Include="..\..\eval.c" /> - <ClCompile Include="..\..\getprime_r.c" /> - <ClCompile Include="..\..\main.c" /> - <ClCompile Include="..\..\memusage.c" /> - <ClCompile Include="..\..\random.c" /> - <ClCompile Include="..\..\resume.c" /> - <ClCompile Include="..\vacopy.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\champions.h" /> - <ClInclude Include="..\..\config.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\getprime_r.h" /> - <ClInclude Include="..\..\longlong.h" /> - </ItemGroup> - <ItemGroup> - <Object Include="..\fto13.obj"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </Object> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 9.0.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/ecm_gpu/ecm_gpu.vcxproj.filters b/build.vc14/ecm_gpu/ecm_gpu.vcxproj.filters deleted file mode 100644 index 1357d945..00000000 --- a/build.vc14/ecm_gpu/ecm_gpu.vcxproj.filters +++ /dev/null @@ -1,78 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="..\vacopy.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\auxi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\b1_ainc.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\candi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\eval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\main.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\resume.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime_r.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\memusage.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\getprime_r.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <Filter Include="Header Files"> - <UniqueIdentifier>{2a13feaf-0c0e-469a-8047-82c647322da9}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files"> - <UniqueIdentifier>{163547c7-89d7-4ddc-b0ad-02b4cfd722b4}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <Object Include="..\fto13.obj" /> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/file_copy.bat b/build.vc14/file_copy.bat deleted file mode 100644 index dcb84ef9..00000000 --- a/build.vc14/file_copy.bat +++ /dev/null @@ -1,4 +0,0 @@ -if not exist %1 ( echo file_copy failure: %1 not found && goto exit ) -if exist %2 ( fc %1 %2 > nul && if not %errorlevel 1 goto exit ) -echo copying %1 to %2 && copy %1 %2 -:exit diff --git a/build.vc14/gen_ecm_h.bat b/build.vc14/gen_ecm_h.bat deleted file mode 100644 index 280470d5..00000000 --- a/build.vc14/gen_ecm_h.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -echo creating ecm.h from ecm.h.in -echo /* generated from ecm-h.in by gen_ecm_h.bat */>tmp.h - -for /f "tokens=1,2*" %%a in (..\ecm.h.in) do ( - if "%%a" EQU "#undef" ( - if "%%b" EQU "ECM_VERSION" ( - echo #define ECM_VERSION "7.0.6-rc1">>tmp.h - ) - ) else echo %%a %%b %%c>>tmp.h -) - -call out_copy_rename tmp.h ..\ ecm.h diff --git a/build.vc14/getopt.c b/build.vc14/getopt.c deleted file mode 100644 index 1716d95b..00000000 --- a/build.vc14/getopt.c +++ /dev/null @@ -1,1281 +0,0 @@ -/* Getopt for GNU. - NOTE: getopt is now part of the C library, so if you don't know what - "Keep this file name-space clean" means, talk to drepper@gnu.org - before changing it! - Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify 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. - - The GNU C 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>. - Ditto for AIX 3.2 and <stdlib.h>. */ - -#define HAVE_STRING_H 1 - -#ifndef _NO_PROTO -# define _NO_PROTO -#endif - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#if !defined __STDC__ || !__STDC__ -/* This is a separate conditional since some stdc systems - reject `defined (const)'. */ -# ifndef const -# define const -# endif -#endif - -#include <stdio.h> - -/* Comment out all this code if we are using the GNU C Library, and are not - actually compiling the library itself. This code is part of the GNU C - Library, but also included in many other GNU distributions. Compiling - and linking in this code is a waste when using the GNU C library - (especially if it is a shared library). Rather than having every GNU - program understand `configure --with-gnu-libc' and omit the object files, - it is simpler to just do this in the source for each such file. */ - -#define GETOPT_INTERFACE_VERSION 2 -#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 -# include <gnu-versions.h> -# if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION -# define ELIDE_CODE -# endif -#endif - -#ifndef ELIDE_CODE - - -/* This needs to come after some library #include - to get __GNU_LIBRARY__ defined. */ -#ifdef __GNU_LIBRARY__ -/* Don't include stdlib.h for non-GNU C libraries because some of them - contain conflicting prototypes for getopt. */ -# include <stdlib.h> -# include <unistd.h> -#endif /* GNU C library. */ - -#ifdef VMS -# include <unixlib.h> -# if HAVE_STRING_H - 0 -# include <string.h> -# endif -#endif - -#ifndef _ -/* This is for other GNU distributions with internationalized messages. */ -# if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC -# include <libintl.h> -# ifndef _ -# define _(msgid) gettext (msgid) -# endif -# else -# define _(msgid) (msgid) -# endif -# if defined _LIBC && defined USE_IN_LIBIO -# include <wchar.h> -# endif -#endif - -#ifndef attribute_hidden -# define attribute_hidden -#endif - -/* This version of `getopt' appears to the caller like standard Unix `getopt' - but it behaves differently for the user, since it allows the user - to intersperse the options with the other arguments. - - As `getopt' works, it permutes the elements of ARGV so that, - when it is done, all the options precede everything else. Thus - all application programs are extended to handle flexible argument order. - - Setting the environment variable POSIXLY_CORRECT disables permutation. - Then the behavior is completely standard. - - GNU application programs can use a third alternative mode in which - they can distinguish the relative order of options and other arguments. */ - -#include "getopt.h" - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -/* 1003.2 says this must be 1 before any call. */ -int optind = 1; - -/* Formerly, initialization of getopt depended on optind==0, which - causes problems with re-calling getopt as programs generally don't - know that. */ - -int __getopt_initialized attribute_hidden; - -/* The next char to be scanned in the option-element - in which the last option character we returned was found. - This allows us to pick up the scan where we left off. - - If this is zero, or a null string, it means resume the scan - by advancing to the next ARGV-element. */ - -static char *nextchar; - -/* Callers store zero here to inhibit the error message - for unrecognized options. */ - -int opterr = 1; - -/* Set to an option character which was unrecognized. - This must be initialized on some systems to avoid linking in the - system's own getopt implementation. */ - -int optopt = '?'; - -/* Describe how to deal with options that follow non-option ARGV-elements. - - If the caller did not specify anything, - the default is REQUIRE_ORDER if the environment variable - POSIXLY_CORRECT is defined, PERMUTE otherwise. - - REQUIRE_ORDER means don't recognize them as options; - stop option processing when the first non-option is seen. - This is what Unix does. - This mode of operation is selected by either setting the environment - variable POSIXLY_CORRECT, or using `+' as the first character - of the list of option characters. - - PERMUTE is the default. We permute the contents of ARGV as we scan, - so that eventually all the non-options are at the end. This allows options - to be given in any order, even with programs that were not written to - expect this. - - RETURN_IN_ORDER is an option available to programs that were written - to expect options and other ARGV-elements in any order and that care about - the ordering of the two. We describe each non-option ARGV-element - as if it were the argument of an option with character code 1. - Using `-' as the first character of the list of option characters - selects this mode of operation. - - The special argument `--' forces an end of option-scanning regardless - of the value of `ordering'. In the case of RETURN_IN_ORDER, only - `--' can cause `getopt' to return -1 with `optind' != ARGC. */ - -static enum -{ - REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER -} ordering; - -/* Value of POSIXLY_CORRECT environment variable. */ -static char *posixly_correct; - -#ifdef __GNU_LIBRARY__ -/* We want to avoid inclusion of string.h with non-GNU libraries - because there are many ways it can cause trouble. - On some systems, it contains special magic macros that don't work - in GCC. */ -# include <string.h> -# define my_index strchr -#else - -# if HAVE_STRING_H -# include <string.h> -# else -# include <strings.h> -# endif - -/* Avoid depending on library functions or files - whose names are inconsistent. */ - -#ifndef getenv -extern char *getenv (); -#endif - -static char * -my_index (str, chr) - const char *str; - int chr; -{ - while (*str) - { - if (*str == chr) - return (char *) str; - str++; - } - return 0; -} - -/* If using GCC, we can safely declare strlen this way. - If not using GCC, it is ok not to declare it. */ -#ifdef __GNUC__ -/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h. - That was relevant to code that was here before. */ -# if (!defined __STDC__ || !__STDC__) && !defined strlen -/* gcc with -traditional declares the built-in strlen to return int, - and has done so at least since version 2.4.5. -- rms. */ -extern int strlen (const char *); -# endif /* not __STDC__ */ -#endif /* __GNUC__ */ - -#endif /* not __GNU_LIBRARY__ */ - -/* Handle permutation of arguments. */ - -/* Describe the part of ARGV that contains non-options that have - been skipped. `first_nonopt' is the index in ARGV of the first of them; - `last_nonopt' is the index after the last of them. */ - -static int first_nonopt; -static int last_nonopt; - -#ifdef _LIBC -/* Stored original parameters. - XXX This is no good solution. We should rather copy the args so - that we can compare them later. But we must not use malloc(3). */ -extern int __libc_argc; -extern char **__libc_argv; - -/* Bash 2.0 gives us an environment variable containing flags - indicating ARGV elements that should not be considered arguments. */ - -# ifdef USE_NONOPTION_FLAGS -/* Defined in getopt_init.c */ -extern char *__getopt_nonoption_flags; - -static int nonoption_flags_max_len; -static int nonoption_flags_len; -# endif - -# ifdef USE_NONOPTION_FLAGS -# define SWAP_FLAGS(ch1, ch2) \ - if (nonoption_flags_len > 0) \ - { \ - char __tmp = __getopt_nonoption_flags[ch1]; \ - __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ - __getopt_nonoption_flags[ch2] = __tmp; \ - } -# else -# define SWAP_FLAGS(ch1, ch2) -# endif -#else /* !_LIBC */ -# define SWAP_FLAGS(ch1, ch2) -#endif /* _LIBC */ - -/* Exchange two adjacent subsequences of ARGV. - One subsequence is elements [first_nonopt,last_nonopt) - which contains all the non-options that have been skipped so far. - The other is elements [last_nonopt,optind), which contains all - the options processed since those non-options were skipped. - - `first_nonopt' and `last_nonopt' are relocated so that they describe - the new indices of the non-options in ARGV after they are moved. */ - -#if defined __STDC__ && __STDC__ -static void exchange (char **); -#endif - -static void -exchange (argv) - char **argv; -{ - int bottom = first_nonopt; - int middle = last_nonopt; - int top = optind; - char *tem; - - /* Exchange the shorter segment with the far end of the longer segment. - That puts the shorter segment into the right place. - It leaves the longer segment in the right place overall, - but it consists of two parts that need to be swapped next. */ - -#if defined _LIBC && defined USE_NONOPTION_FLAGS - /* First make sure the handling of the `__getopt_nonoption_flags' - string can work normally. Our top argument must be in the range - of the string. */ - if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len) - { - /* We must extend the array. The user plays games with us and - presents new arguments. */ - char *new_str = malloc (top + 1); - if (new_str == NULL) - nonoption_flags_len = nonoption_flags_max_len = 0; - else - { - memset (__mempcpy (new_str, __getopt_nonoption_flags, - nonoption_flags_max_len), - '\0', top + 1 - nonoption_flags_max_len); - nonoption_flags_max_len = top + 1; - __getopt_nonoption_flags = new_str; - } - } -#endif - - while (top > middle && middle > bottom) - { - if (top - middle > middle - bottom) - { - /* Bottom segment is the short one. */ - int len = middle - bottom; - register int i; - - /* Swap it with the top part of the top segment. */ - for (i = 0; i < len; i++) - { - tem = argv[bottom + i]; - argv[bottom + i] = argv[top - (middle - bottom) + i]; - argv[top - (middle - bottom) + i] = tem; - SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); - } - /* Exclude the moved bottom segment from further swapping. */ - top -= len; - } - else - { - /* Top segment is the short one. */ - int len = top - middle; - register int i; - - /* Swap it with the bottom part of the bottom segment. */ - for (i = 0; i < len; i++) - { - tem = argv[bottom + i]; - argv[bottom + i] = argv[middle + i]; - argv[middle + i] = tem; - SWAP_FLAGS (bottom + i, middle + i); - } - /* Exclude the moved top segment from further swapping. */ - bottom += len; - } - } - - /* Update records for the slots the non-options now occupy. */ - - first_nonopt += (optind - last_nonopt); - last_nonopt = optind; -} - -/* Initialize the internal data when the first call is made. */ - -#if defined __STDC__ && __STDC__ -static const char *_getopt_initialize (int, char *const *, const char *); -#endif -static const char * -_getopt_initialize (argc, argv, optstring) - int argc; - char *const *argv; - const char *optstring; -{ - /* Start processing options with ARGV-element 1 (since ARGV-element 0 - is the program name); the sequence of previously skipped - non-option ARGV-elements is empty. */ - - first_nonopt = last_nonopt = optind; - - nextchar = NULL; - - posixly_correct = getenv ("POSIXLY_CORRECT"); - - /* Determine how to handle the ordering of options and nonoptions. */ - - if (optstring[0] == '-') - { - ordering = RETURN_IN_ORDER; - ++optstring; - } - else if (optstring[0] == '+') - { - ordering = REQUIRE_ORDER; - ++optstring; - } - else if (posixly_correct != NULL) - ordering = REQUIRE_ORDER; - else - ordering = PERMUTE; - -#if defined _LIBC && defined USE_NONOPTION_FLAGS - if (posixly_correct == NULL - && argc == __libc_argc && argv == __libc_argv) - { - if (nonoption_flags_max_len == 0) - { - if (__getopt_nonoption_flags == NULL - || __getopt_nonoption_flags[0] == '\0') - nonoption_flags_max_len = -1; - else - { - const char *orig_str = __getopt_nonoption_flags; - int len = nonoption_flags_max_len = strlen (orig_str); - if (nonoption_flags_max_len < argc) - nonoption_flags_max_len = argc; - __getopt_nonoption_flags = - (char *) malloc (nonoption_flags_max_len); - if (__getopt_nonoption_flags == NULL) - nonoption_flags_max_len = -1; - else - memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), - '\0', nonoption_flags_max_len - len); - } - } - nonoption_flags_len = nonoption_flags_max_len; - } - else - nonoption_flags_len = 0; -#endif - - return optstring; -} - -/* Scan elements of ARGV (whose length is ARGC) for option characters - given in OPTSTRING. - - If an element of ARGV starts with '-', and is not exactly "-" or "--", - then it is an option element. The characters of this element - (aside from the initial '-') are option characters. If `getopt' - is called repeatedly, it returns successively each of the option characters - from each of the option elements. - - If `getopt' finds another option character, it returns that character, - updating `optind' and `nextchar' so that the next call to `getopt' can - resume the scan with the following option character or ARGV-element. - - If there are no more option characters, `getopt' returns -1. - Then `optind' is the index in ARGV of the first ARGV-element - that is not an option. (The ARGV-elements have been permuted - so that those that are not options now come last.) - - OPTSTRING is a string containing the legitimate option characters. - If an option character is seen that is not listed in OPTSTRING, - return '?' after printing an error message. If you set `opterr' to - zero, the error message is suppressed but we still return '?'. - - If a char in OPTSTRING is followed by a colon, that means it wants an arg, - so the following text in the same ARGV-element, or the text of the following - ARGV-element, is returned in `optarg'. Two colons mean an option that - wants an optional arg; if there is text in the current ARGV-element, - it is returned in `optarg', otherwise `optarg' is set to zero. - - If OPTSTRING starts with `-' or `+', it requests different methods of - handling the non-option ARGV-elements. - See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. - - Long-named options begin with `--' instead of `-'. - Their names may be abbreviated as long as the abbreviation is unique - or is an exact match for some defined option. If they have an - argument, it follows the option name in the same ARGV-element, separated - from the option name by a `=', or else the in next ARGV-element. - When `getopt' finds a long-named option, it returns 0 if that option's - `flag' field is nonzero, the value of the option's `val' field - if the `flag' field is zero. - - The elements of ARGV aren't really const, because we permute them. - But we pretend they're const in the prototype to be compatible - with other systems. - - LONGOPTS is a vector of `struct option' terminated by an - element containing a name which is zero. - - LONGIND returns the index in LONGOPT of the long-named option found. - It is only valid when a long-named option has been found by the most - recent call. - - If LONG_ONLY is nonzero, '-' as well as '--' can introduce - long-named options. */ - -int -_getopt_internal (argc, argv, optstring, longopts, longind, long_only) - int argc; - char *const *argv; - const char *optstring; - const struct option *longopts; - int *longind; - int long_only; -{ - int print_errors = opterr; - if (optstring[0] == ':') - print_errors = 0; - - if (argc < 1) - return -1; - - optarg = NULL; - - if (optind == 0 || !__getopt_initialized) - { - if (optind == 0) - optind = 1; /* Don't scan ARGV[0], the program name. */ - optstring = _getopt_initialize (argc, argv, optstring); - __getopt_initialized = 1; - } - - /* Test whether ARGV[optind] points to a non-option argument. - Either it does not have option syntax, or there is an environment flag - from the shell indicating it is not an option. The later information - is only used when the used in the GNU libc. */ -#if defined _LIBC && defined USE_NONOPTION_FLAGS -# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \ - || (optind < nonoption_flags_len \ - && __getopt_nonoption_flags[optind] == '1')) -#else -# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0') -#endif - - if (nextchar == NULL || *nextchar == '\0') - { - /* Advance to the next ARGV-element. */ - - /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been - moved back by the user (who may also have changed the arguments). */ - if (last_nonopt > optind) - last_nonopt = optind; - if (first_nonopt > optind) - first_nonopt = optind; - - if (ordering == PERMUTE) - { - /* If we have just processed some options following some non-options, - exchange them so that the options come first. */ - - if (first_nonopt != last_nonopt && last_nonopt != optind) - exchange ((char **) argv); - else if (last_nonopt != optind) - first_nonopt = optind; - - /* Skip any additional non-options - and extend the range of non-options previously skipped. */ - - while (optind < argc && NONOPTION_P) - optind++; - last_nonopt = optind; - } - - /* The special ARGV-element `--' means premature end of options. - Skip it like a null option, - then exchange with previous non-options as if it were an option, - then skip everything else like a non-option. */ - - if (optind != argc && !strcmp (argv[optind], "--")) - { - optind++; - - if (first_nonopt != last_nonopt && last_nonopt != optind) - exchange ((char **) argv); - else if (first_nonopt == last_nonopt) - first_nonopt = optind; - last_nonopt = argc; - - optind = argc; - } - - /* If we have done all the ARGV-elements, stop the scan - and back over any non-options that we skipped and permuted. */ - - if (optind == argc) - { - /* Set the next-arg-index to point at the non-options - that we previously skipped, so the caller will digest them. */ - if (first_nonopt != last_nonopt) - optind = first_nonopt; - return -1; - } - - /* If we have come to a non-option and did not permute it, - either stop the scan or describe it to the caller and pass it by. */ - - if (NONOPTION_P) - { - if (ordering == REQUIRE_ORDER) - return -1; - optarg = argv[optind++]; - return 1; - } - - /* We have found another option-ARGV-element. - Skip the initial punctuation. */ - - nextchar = (argv[optind] + 1 - + (longopts != NULL && argv[optind][1] == '-')); - } - - /* Decode the current option-ARGV-element. */ - - /* Check whether the ARGV-element is a long option. - - If long_only and the ARGV-element has the form "-f", where f is - a valid short option, don't consider it an abbreviated form of - a long option that starts with f. Otherwise there would be no - way to give the -f short option. - - On the other hand, if there's a long option "fubar" and - the ARGV-element is "-fu", do consider that an abbreviation of - the long option, just like "--fu", and not "-f" with arg "u". - - This distinction seems to be the most useful approach. */ - - if (longopts != NULL - && (argv[optind][1] == '-' - || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1]))))) - { - char *nameend; - const struct option *p; - const struct option *pfound = NULL; - int exact = 0; - int ambig = 0; - int indfound = -1; - int option_index; - - for (nameend = nextchar; *nameend && *nameend != '='; nameend++) - /* Do nothing. */ ; - - /* Test all long options for either exact match - or abbreviated matches. */ - for (p = longopts, option_index = 0; p->name; p++, option_index++) - if (!strncmp (p->name, nextchar, nameend - nextchar)) - { - if ((unsigned int) (nameend - nextchar) - == (unsigned int) strlen (p->name)) - { - /* Exact match found. */ - pfound = p; - indfound = option_index; - exact = 1; - break; - } - else if (pfound == NULL) - { - /* First nonexact match found. */ - pfound = p; - indfound = option_index; - } - else if (long_only - || pfound->has_arg != p->has_arg - || pfound->flag != p->flag - || pfound->val != p->val) - /* Second or later nonexact match found. */ - ambig = 1; - } - - if (ambig && !exact) - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"), - argv[0], argv[optind]) >= 0) - { - - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, _("%s: option `%s' is ambiguous\n"), - argv[0], argv[optind]); -#endif - } - nextchar += strlen (nextchar); - optind++; - optopt = 0; - return '?'; - } - - if (pfound != NULL) - { - option_index = indfound; - optind++; - if (*nameend) - { - /* Don't test has_arg with >, because some C compilers don't - allow it to be used on enums. */ - if (pfound->has_arg) - optarg = nameend + 1; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - int n; -#endif - - if (argv[optind - 1][1] == '-') - { - /* --option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("\ -%s: option `--%s' doesn't allow an argument\n"), - argv[0], pfound->name); -#else - fprintf (stderr, _("\ -%s: option `--%s' doesn't allow an argument\n"), - argv[0], pfound->name); -#endif - } - else - { - /* +option or -option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("\ -%s: option `%c%s' doesn't allow an argument\n"), - argv[0], argv[optind - 1][0], - pfound->name); -#else - fprintf (stderr, _("\ -%s: option `%c%s' doesn't allow an argument\n"), - argv[0], argv[optind - 1][0], pfound->name); -#endif - } - -#if defined _LIBC && defined USE_IN_LIBIO - if (n >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#endif - } - - nextchar += strlen (nextchar); - - optopt = pfound->val; - return '?'; - } - } - else if (pfound->has_arg == 1) - { - if (optind < argc) - optarg = argv[optind++]; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, - _("%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]); -#endif - } - nextchar += strlen (nextchar); - optopt = pfound->val; - return optstring[0] == ':' ? ':' : '?'; - } - } - nextchar += strlen (nextchar); - if (longind != NULL) - *longind = option_index; - if (pfound->flag) - { - *(pfound->flag) = pfound->val; - return 0; - } - return pfound->val; - } - - /* Can't find it as a long option. If this is not getopt_long_only, - or the option starts with '--' or is not a valid short - option, then it's an error. - Otherwise interpret it as a short option. */ - if (!long_only || argv[optind][1] == '-' - || my_index (optstring, *nextchar) == NULL) - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - int n; -#endif - - if (argv[optind][1] == '-') - { - /* --option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"), - argv[0], nextchar); -#else - fprintf (stderr, _("%s: unrecognized option `--%s'\n"), - argv[0], nextchar); -#endif - } - else - { - /* +option or -option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"), - argv[0], argv[optind][0], nextchar); -#else - fprintf (stderr, _("%s: unrecognized option `%c%s'\n"), - argv[0], argv[optind][0], nextchar); -#endif - } - -#if defined _LIBC && defined USE_IN_LIBIO - if (n >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#endif - } - nextchar = (char *) ""; - optind++; - optopt = 0; - return '?'; - } - } - - /* Look at and handle the next short option-character. */ - - { - char c = *nextchar++; - char *temp = my_index (optstring, c); - - /* Increment `optind' when we start to process its last character. */ - if (*nextchar == '\0') - ++optind; - - if (temp == NULL || c == ':') - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - int n; -#endif - - if (posixly_correct) - { - /* 1003.2 specifies the format of this message. */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: illegal option -- %c\n"), - argv[0], c); -#else - fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c); -#endif - } - else - { -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: invalid option -- %c\n"), - argv[0], c); -#else - fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c); -#endif - } - -#if defined _LIBC && defined USE_IN_LIBIO - if (n >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#endif - } - optopt = c; - return '?'; - } - /* Convenience. Treat POSIX -W foo same as long option --foo */ - if (temp[0] == 'W' && temp[1] == ';') - { - char *nameend; - const struct option *p; - const struct option *pfound = NULL; - int exact = 0; - int ambig = 0; - int indfound = 0; - int option_index; - - /* This is an option that requires an argument. */ - if (*nextchar != '\0') - { - optarg = nextchar; - /* If we end this ARGV-element by taking the rest as an arg, - we must advance to the next element now. */ - optind++; - } - else if (optind == argc) - { - if (print_errors) - { - /* 1003.2 specifies the format of this message. */ -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, - _("%s: option requires an argument -- %c\n"), - argv[0], c) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, _("%s: option requires an argument -- %c\n"), - argv[0], c); -#endif - } - optopt = c; - if (optstring[0] == ':') - c = ':'; - else - c = '?'; - return c; - } - else - /* We already incremented `optind' once; - increment it again when taking next ARGV-elt as argument. */ - optarg = argv[optind++]; - - /* optarg is now the argument, see if it's in the - table of longopts. */ - - for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++) - /* Do nothing. */ ; - - /* Test all long options for either exact match - or abbreviated matches. */ - for (p = longopts, option_index = 0; p->name; p++, option_index++) - if (!strncmp (p->name, nextchar, nameend - nextchar)) - { - if ((unsigned int) (nameend - nextchar) == strlen (p->name)) - { - /* Exact match found. */ - pfound = p; - indfound = option_index; - exact = 1; - break; - } - else if (pfound == NULL) - { - /* First nonexact match found. */ - pfound = p; - indfound = option_index; - } - else - /* Second or later nonexact match found. */ - ambig = 1; - } - if (ambig && !exact) - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"), - argv[0], argv[optind]) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), - argv[0], argv[optind]); -#endif - } - nextchar += strlen (nextchar); - optind++; - return '?'; - } - if (pfound != NULL) - { - option_index = indfound; - if (*nameend) - { - /* Don't test has_arg with >, because some C compilers don't - allow it to be used on enums. */ - if (pfound->has_arg) - optarg = nameend + 1; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option `-W %s' doesn't allow an argument\n"), - argv[0], pfound->name) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, _("\ -%s: option `-W %s' doesn't allow an argument\n"), - argv[0], pfound->name); -#endif - } - - nextchar += strlen (nextchar); - return '?'; - } - } - else if (pfound->has_arg == 1) - { - if (optind < argc) - optarg = argv[optind++]; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, - _("%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]); -#endif - } - nextchar += strlen (nextchar); - return optstring[0] == ':' ? ':' : '?'; - } - } - nextchar += strlen (nextchar); - if (longind != NULL) - *longind = option_index; - if (pfound->flag) - { - *(pfound->flag) = pfound->val; - return 0; - } - return pfound->val; - } - nextchar = NULL; - return 'W'; /* Let the application handle it. */ - } - if (temp[1] == ':') - { - if (temp[2] == ':') - { - /* This is an option that accepts an argument optionally. */ - if (*nextchar != '\0') - { - optarg = nextchar; - optind++; - } - else - optarg = NULL; - nextchar = NULL; - } - else - { - /* This is an option that requires an argument. */ - if (*nextchar != '\0') - { - optarg = nextchar; - /* If we end this ARGV-element by taking the rest as an arg, - we must advance to the next element now. */ - optind++; - } - else if (optind == argc) - { - if (print_errors) - { - /* 1003.2 specifies the format of this message. */ -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option requires an argument -- %c\n"), - argv[0], c) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, - _("%s: option requires an argument -- %c\n"), - argv[0], c); -#endif - } - optopt = c; - if (optstring[0] == ':') - c = ':'; - else - c = '?'; - } - else - /* We already incremented `optind' once; - increment it again when taking next ARGV-elt as argument. */ - optarg = argv[optind++]; - nextchar = NULL; - } - } - return c; - } -} - -int -getopt (argc, argv, optstring) - int argc; - char *const *argv; - const char *optstring; -{ - return _getopt_internal (argc, argv, optstring, - (const struct option *) 0, - (int *) 0, - 0); -} - -#endif /* Not ELIDE_CODE. */ - -#ifdef TEST - -/* Compile with -DTEST to make an executable for use in testing - the above definition of `getopt'. */ - -int -main (argc, argv) - int argc; - char **argv; -{ - int c; - int digit_optind = 0; - - while (1) - { - int this_option_optind = optind ? optind : 1; - - c = getopt (argc, argv, "abc:d:0123456789"); - if (c == -1) - break; - - switch (c) - { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - if (digit_optind != 0 && digit_optind != this_option_optind) - printf ("digits occur in two different argv-elements.\n"); - digit_optind = this_option_optind; - printf ("option %c\n", c); - break; - - case 'a': - printf ("option a\n"); - break; - - case 'b': - printf ("option b\n"); - break; - - case 'c': - printf ("option c with value `%s'\n", optarg); - break; - - case '?': - break; - - default: - printf ("?? getopt returned character code 0%o ??\n", c); - } - } - - if (optind < argc) - { - printf ("non-option ARGV-elements: "); - while (optind < argc) - printf ("%s ", argv[optind++]); - printf ("\n"); - } - - exit (0); -} - -#endif /* TEST */ - diff --git a/build.vc14/getopt.h b/build.vc14/getopt.h deleted file mode 100644 index 95084d11..00000000 --- a/build.vc14/getopt.h +++ /dev/null @@ -1,182 +0,0 @@ -/* Declarations for getopt. - Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify 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. - - The GNU C 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _GETOPT_H - -#ifndef __need_getopt -# define _GETOPT_H 1 -#endif - -/* If __GNU_LIBRARY__ is not already defined, either we are being used - standalone, or this is the first header included in the source file. - If we are being used with glibc, we need to include <features.h>, but - that does not exist if we are standalone. So: if __GNU_LIBRARY__ is - not defined, include <ctype.h>, which will pull in <features.h> for us - if it's from glibc. (Why ctype.h? It's guaranteed to exist and it - doesn't flood the namespace with stuff the way some other headers do.) */ -#if !defined __GNU_LIBRARY__ -# include <ctype.h> -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -extern char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -extern int optind; - -/* Callers store zero here to inhibit the error message `getopt' prints - for unrecognized options. */ - -extern int opterr; - -/* Set to an option character which was unrecognized. */ - -extern int optopt; - -#ifndef __need_getopt -/* Describe the long-named options requested by the application. - The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector - of `struct option' terminated by an element containing a name which is - zero. - - The field `has_arg' is: - no_argument (or 0) if the option does not take an argument, - required_argument (or 1) if the option requires an argument, - optional_argument (or 2) if the option takes an optional argument. - - If the field `flag' is not NULL, it points to a variable that is set - to the value given in the field `val' when the option is found, but - left unchanged if the option is not found. - - To have a long-named option do something other than set an `int' to - a compiled-in constant, such as set a value from `optarg', set the - option's `flag' field to zero and its `val' field to a nonzero - value (the equivalent single-letter option character, if there is - one). For long options that have a zero `flag' field, `getopt' - returns the contents of the `val' field. */ - -struct option -{ -# if (defined __STDC__ && __STDC__) || defined __cplusplus - const char *name; -# else - char *name; -# endif - /* has_arg can't be an enum because some compilers complain about - type mismatches in all the code that assumes it is an int. */ - int has_arg; - int *flag; - int val; -}; - -/* Names for the values of the `has_arg' field of `struct option'. */ - -# define no_argument 0 -# define required_argument 1 -# define optional_argument 2 -#endif /* need getopt */ - - -/* Get definitions and prototypes for functions to process the - arguments in ARGV (ARGC of them, minus the program name) for - options given in OPTS. - - Return the option character from OPTS just read. Return -1 when - there are no more options. For unrecognized options, or options - missing arguments, `optopt' is set to the option letter, and '?' is - returned. - - The OPTS string is a list of characters which are recognized option - letters, optionally followed by colons, specifying that that letter - takes an argument, to be placed in `optarg'. - - If a letter in OPTS is followed by two colons, its argument is - optional. This behavior is specific to the GNU `getopt'. - - The argument `--' causes premature termination of argument - scanning, explicitly telling `getopt' that there are no more - options. - - If OPTS begins with `--', then non-option arguments are treated as - arguments to the option '\0'. This behavior is specific to the GNU - `getopt'. */ - -#if (defined __STDC__ && __STDC__) || defined __cplusplus -# ifdef __GNU_LIBRARY__ -/* Many other libraries have conflicting prototypes for getopt, with - differences in the consts, in stdlib.h. To avoid compilation - errors, only prototype getopt for the GNU C library. */ -extern int getopt (int ___argc, char *const *___argv, const char *__shortopts); -# else /* not __GNU_LIBRARY__ */ -extern int getopt (); -# endif /* __GNU_LIBRARY__ */ - -# ifndef __need_getopt -extern int getopt_long (int ___argc, char *const *___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind); -extern int getopt_long_only (int ___argc, char *const *___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind); - -/* Internal only. Users should not call this directly. */ -extern int _getopt_internal (int ___argc, char *const *___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind, - int __long_only); -# endif -#else /* not __STDC__ */ -extern int getopt (); -# ifndef __need_getopt -extern int getopt_long (); -extern int getopt_long_only (); - -extern int _getopt_internal (); -# endif -#endif /* __STDC__ */ - -#ifdef __cplusplus -} -#endif - -/* Make sure we later can get all the definitions and declarations. */ -#undef __need_getopt - -#endif /* getopt.h */ - diff --git a/build.vc14/getrusage.c b/build.vc14/getrusage.c deleted file mode 100644 index deea4b13..00000000 --- a/build.vc14/getrusage.c +++ /dev/null @@ -1,71 +0,0 @@ -/* This file is part of the MPIR Library. - - The MPIR Library is free software; you can redistribute it and/or modify - 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. - The MPIR 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 Lesser General Public - License for more details. - You should have received a copy of the GNU Lesser General Public License - along with the MPIR Library; see the file COPYING.LIB. If not, write - to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#define WIN32_LEAN_AND_MEAN - -#include <windows.h> -#include <psapi.h> -#include <errno.h> - -#include "getrusage.h" - -typedef union file_t -{ FILETIME ft; - long long lt; -} file_t; - -int getrusage(int who, rusage *usage) -{ - HANDLE proc_hand; - file_t c_time, x_time, s_time, u_time; - int cb = 0, err = -1; - - if(who != RUSAGE_SELF) - { - errno = (who == RUSAGE_CHILDREN ? ENODATA : EINVAL); - return err; - } - - proc_hand = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, GetCurrentProcessId()); - - if(GetProcessTimes(proc_hand, &(c_time.ft), &(x_time.ft), &(s_time.ft), &(u_time.ft))) - { - PROCESS_MEMORY_COUNTERS ctrs; - - /* The units returned by GetProcessTimes are 100 nanoseconds */ - u_time.lt = (u_time.lt + 5) / 10; - s_time.lt = (s_time.lt + 5) / 10; - - usage->ru_utime.tv_sec = (long)(u_time.lt / 1000000ll); - usage->ru_stime.tv_sec = (long)(s_time.lt / 1000000ll); - usage->ru_utime.tv_usec = (long)(u_time.lt % 1000000ll); - usage->ru_stime.tv_usec = (long)(s_time.lt % 1000000ll); - - if(GetProcessMemoryInfo(proc_hand, &ctrs, sizeof(ctrs))) - { - PERFORMANCE_INFORMATION perf_info; - GetPerformanceInfo(&perf_info, sizeof(perf_info)); - usage->ru_maxrss = (DWORD) (ctrs.WorkingSetSize / perf_info.PageSize); - usage->ru_majflt = ctrs.PageFaultCount; - err = 0; - } - } - - if(err) - errno = EACCES; - CloseHandle(proc_hand); - return err; -} diff --git a/build.vc14/getrusage.h b/build.vc14/getrusage.h deleted file mode 100644 index f449c434..00000000 --- a/build.vc14/getrusage.h +++ /dev/null @@ -1,46 +0,0 @@ - -#ifndef _GETRUSAGE_H -#define _GETRUSAGE_H - -#if defined(__cplusplus) -extern "C" -{ -#endif - -#define ENODATA 61 -#define RUSAGE_SELF 0 -#define RUSAGE_CHILDREN -1 - -typedef struct -{ - long tv_sec; - long tv_usec; -} tval; - -typedef struct rusage -{ - tval ru_utime; /* user time used */ - tval ru_stime; /* system time used */ - long ru_maxrss; /* integral max resident set size */ - long ru_ixrss; /* integral shared text memory size */ - long ru_idrss; /* integral unshared data size */ - long ru_isrss; /* integral unshared stack size */ - long ru_minflt; /* page reclaims */ - long ru_majflt; /* page faults */ - long ru_nswap; /* swaps */ - long ru_inblock; /* block input operations */ - long ru_oublock; /* block output operations */ - long ru_msgsnd; /* messages sent */ - long ru_msgrcv; /* messages received */ - long ru_nsignals;/* signals received */ - long ru_nvcsw; /* voluntary context switches */ - long ru_nivcsw; /* involuntary context switches */ -} rusage; - -int getrusage(int who, rusage *usage); - -#if defined(__cplusplus) -} -#endif - -#endif diff --git a/build.vc14/gettimeofday.c b/build.vc14/gettimeofday.c deleted file mode 100644 index d576e24e..00000000 --- a/build.vc14/gettimeofday.c +++ /dev/null @@ -1,39 +0,0 @@ - -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <time.h> - -#include "gettimeofday.h" - -int gettimeofday(struct timeval *tv, struct timezone *tz) -{ - FILETIME ft; - LARGE_INTEGER li; - __int64 t; - static int tzflag; - - if(tv) - { - GetSystemTimeAsFileTime(&ft); - li.LowPart = ft.dwLowDateTime; - li.HighPart = ft.dwHighDateTime; - t = li.QuadPart; - t -= EPOCHFILETIME; - t /= 10; - tv->tv_sec = (long)(t / 1000000); - tv->tv_usec = (long)(t % 1000000); - } - - if (tz) - { - if (!tzflag) - { - _tzset(); - tzflag++; - } - tz->tz_minuteswest = _timezone / 60; - tz->tz_dsttime = _daylight; - } - - return 0; -} diff --git a/build.vc14/gettimeofday.h b/build.vc14/gettimeofday.h deleted file mode 100644 index 1c9dde98..00000000 --- a/build.vc14/gettimeofday.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * timeval.h 1.0 01/12/19 - * - * Defines gettimeofday, timeval, etc. for Win32 - * - * By Wu Yongwei - * - */ -#ifndef _TIMEVAL_H -#define _TIMEVAL_H - -#include <winsock2.h> - -#define EPOCHFILETIME (116444736000000000LL) - -#if defined(__cplusplus) -extern "C" -{ -#endif - -struct timezone -{ - int tz_minuteswest; /* minutes W of Greenwich */ - int tz_dsttime; /* type of dst correction */ -}; - -int gettimeofday(struct timeval *tv, struct timezone *tz); - -#if defined(__cplusplus) -} -#endif - -#endif /* _TIMEVAL_H */ - diff --git a/build.vc14/libecm/Makefile.am b/build.vc14/libecm/Makefile.am deleted file mode 100644 index 50bc2a0a..00000000 --- a/build.vc14/libecm/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = libecm.vcxproj libecm.vcxproj.filters diff --git a/build.vc14/libecm/libecm.vcxproj b/build.vc14/libecm/libecm.vcxproj deleted file mode 100644 index eb7fb97e..00000000 --- a/build.vc14/libecm/libecm.vcxproj +++ /dev/null @@ -1,245 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{CD555681-D65B-4173-A29C-B8BF06A4871B}</ProjectGuid> - <RootNamespace>libecm</RootNamespace> - <Keyword>Win32Proj</Keyword> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseOfAtl>Static</UseOfAtl> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <PreBuildEvent> - <Command>..\prebuild NO_GPU</Command> - </PreBuildEvent> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;SSE2;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <PreBuildEvent> - <Command>..\prebuild NO_GPU</Command> - </PreBuildEvent> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_LIB;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <Lib /> - <YASM> - <Defines>_WIN64</Defines> - </YASM> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <PreBuildEvent> - <Command>..\prebuild NO_GPU</Command> - </PreBuildEvent> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;SSE2;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <PreBuildEvent> - <Command>..\prebuild NO_GPU</Command> - </PreBuildEvent> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;_DEBUG;_LIB;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <Lib /> - <YASM> - <Defines>_WIN64</Defines> - </YASM> - </ItemDefinitionGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm" /> - <YASM Include="..\assembler\redc.asm" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\addlaws.c" /> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c" /> - <ClCompile Include="..\..\auxarith.c" /> - <ClCompile Include="..\..\auxlib.c" /> - <ClCompile Include="..\..\batch.c" /> - <ClCompile Include="..\..\bestd.c" /> - <ClCompile Include="..\..\cudawrapper.c" /> - <ClCompile Include="..\..\ecm.c" /> - <ClCompile Include="..\..\ecm2.c" /> - <ClCompile Include="..\..\ecm_ntt.c" /> - <ClCompile Include="..\..\factor.c" /> - <ClCompile Include="..\..\getprime_r.c" /> - <ClCompile Include="..\..\ks-multiply.c" /> - <ClCompile Include="..\..\listz.c" /> - <ClCompile Include="..\..\listz_handle.c"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </ClCompile> - <ClCompile Include="..\..\lucas.c" /> - <ClCompile Include="..\..\median.c" /> - <ClCompile Include="..\..\mpmod.c" /> - <ClCompile Include="..\..\mpzspm.c" /> - <ClCompile Include="..\..\mpzspv.c" /> - <ClCompile Include="..\..\mul_lo.c" /> - <ClCompile Include="..\..\ntt_gfp.c" /> - <ClCompile Include="..\..\parametrizations.c" /> - <ClCompile Include="..\..\pm1.c" /> - <ClCompile Include="..\..\pm1fs2.c" /> - <ClCompile Include="..\..\polyeval.c" /> - <ClCompile Include="..\..\pp1.c" /> - <ClCompile Include="..\..\random.c" /> - <ClCompile Include="..\..\rho.c" /> - <ClCompile Include="..\..\schoen_strass.c" /> - <ClCompile Include="..\..\sets_long.c" /> - <ClCompile Include="..\..\sp.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\spm.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\spv.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\stage2.c" /> - <ClCompile Include="..\..\torsions.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\addlaws.h" /> - <ClInclude Include="..\..\aprtcle\jacobi_sum.h" /> - <ClInclude Include="..\..\aprtcle\mpz_aprcl.h" /> - <ClInclude Include="..\..\champions.h" /> - <ClInclude Include="..\..\config.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-gpu.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\getprime_r.h" /> - <ClInclude Include="..\..\listz_handle.h" /> - <ClInclude Include="..\..\longlong.h" /> - <ClInclude Include="..\..\mpmod.h" /> - <ClInclude Include="..\..\sp.h" /> - <ClInclude Include="..\..\torsions.h" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/libecm/libecm.vcxproj.filters b/build.vc14/libecm/libecm.vcxproj.filters deleted file mode 100644 index 12c4727d..00000000 --- a/build.vc14/libecm/libecm.vcxproj.filters +++ /dev/null @@ -1,190 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - <Filter Include="Source Files\Assembler"> - <UniqueIdentifier>{2f18179f-5dba-420c-8dc7-bc7f8228a1b2}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - <YASM Include="..\assembler\redc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxarith.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\auxlib.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\bestd.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm_ntt.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\factor.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ks-multiply.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\listz.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\lucas.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\median.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpmod.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mul_lo.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ntt_gfp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pm1.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pm1fs2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\polyeval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pp1.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\rho.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\schoen_strass.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\sets_long.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\sp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\stage2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\batch.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\parametrizations.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\cudawrapper.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\addlaws.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\listz_handle.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\torsions.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime_r.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\sp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gpu.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\addlaws.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\listz_handle.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\torsions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\aprtcle\jacobi_sum.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\aprtcle\mpz_aprcl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\getprime_r.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\mpmod.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/libecm_gpu/Makefile.am b/build.vc14/libecm_gpu/Makefile.am deleted file mode 100644 index 3885d988..00000000 --- a/build.vc14/libecm_gpu/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = libecm_gpu.vcxproj libecm_gpu.vcxproj.filters diff --git a/build.vc14/libecm_gpu/libecm_gpu.vcxproj b/build.vc14/libecm_gpu/libecm_gpu.vcxproj deleted file mode 100644 index e7f1991c..00000000 --- a/build.vc14/libecm_gpu/libecm_gpu.vcxproj +++ /dev/null @@ -1,315 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}</ProjectGuid> - <RootNamespace>libecm_gpu</RootNamespace> - <Keyword>Win32Proj</Keyword> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseOfAtl>Static</UseOfAtl> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 9.0.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> - <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ecmlib</TargetName> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <PreBuildEvent> - <Command>..\prebuild GPU</Command> - </PreBuildEvent> - <ClCompile> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;NDEBUG;_LIB;SSE2;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <Optimization>Full</Optimization> - </ClCompile> - <Lib /> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - </CudaCompile> - <CudaCompile> - <PtxAsOptionV>true</PtxAsOptionV> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <TargetMachinePlatform>32</TargetMachinePlatform> - </CudaCompile> - <ProjectReference> - <LinkLibraryDependencies>true</LinkLibraryDependencies> - </ProjectReference> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <PreBuildEvent> - <Command>..\prebuild GPU</Command> - </PreBuildEvent> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;_WIN64;NDEBUG;_LIB;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <Lib /> - <YASM> - <Defines>_WIN64</Defines> - </YASM> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - <PtxAsOptionV>true</PtxAsOptionV> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <TargetMachinePlatform>64</TargetMachinePlatform> - </CudaCompile> - <ProjectReference> - <LinkLibraryDependencies>true</LinkLibraryDependencies> - </ProjectReference> - <Lib> - <AdditionalDependencies> - </AdditionalDependencies> - </Lib> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <PreBuildEvent> - <Command>..\prebuild GPU</Command> - </PreBuildEvent> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;_DEBUG;_LIB;SSE2;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - </CudaCompile> - <CudaCompile> - <PtxAsOptionV>true</PtxAsOptionV> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <TargetMachinePlatform>32</TargetMachinePlatform> - </CudaCompile> - <ProjectReference> - <LinkLibraryDependencies>true</LinkLibraryDependencies> - </ProjectReference> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <PreBuildEvent> - <Command>..\prebuild GPU</Command> - </PreBuildEvent> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;_WIN64;_DEBUG;_LIB;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <Lib /> - <YASM> - <Defines>_WIN64</Defines> - </YASM> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - </CudaCompile> - <CudaCompile> - <PtxAsOptionV>true</PtxAsOptionV> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <TargetMachinePlatform>64</TargetMachinePlatform> - </CudaCompile> - <ProjectReference> - <LinkLibraryDependencies>true</LinkLibraryDependencies> - </ProjectReference> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="..\..\addlaws.c"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - </ClCompile> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c" /> - <ClCompile Include="..\..\auxarith.c" /> - <ClCompile Include="..\..\auxlib.c" /> - <ClCompile Include="..\..\batch.c" /> - <ClCompile Include="..\..\bestd.c" /> - <ClCompile Include="..\..\cudawrapper.c" /> - <ClCompile Include="..\..\ecm.c" /> - <ClCompile Include="..\..\ecm2.c" /> - <ClCompile Include="..\..\ecm_ntt.c" /> - <ClCompile Include="..\..\factor.c" /> - <ClCompile Include="..\..\getprime_r.c" /> - <ClCompile Include="..\..\ks-multiply.c" /> - <ClCompile Include="..\..\listz.c" /> - <ClCompile Include="..\..\listz_handle.c"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </ClCompile> - <ClCompile Include="..\..\lucas.c" /> - <ClCompile Include="..\..\median.c" /> - <ClCompile Include="..\..\mpmod.c" /> - <ClCompile Include="..\..\mpzspm.c" /> - <ClCompile Include="..\..\mpzspv.c" /> - <ClCompile Include="..\..\mul_lo.c" /> - <ClCompile Include="..\..\ntt_gfp.c" /> - <ClCompile Include="..\..\parametrizations.c" /> - <ClCompile Include="..\..\pm1.c" /> - <ClCompile Include="..\..\pm1fs2.c" /> - <ClCompile Include="..\..\polyeval.c" /> - <ClCompile Include="..\..\pp1.c" /> - <ClCompile Include="..\..\random.c" /> - <ClCompile Include="..\..\rho.c" /> - <ClCompile Include="..\..\schoen_strass.c" /> - <ClCompile Include="..\..\sets_long.c" /> - <ClCompile Include="..\..\sp.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\spm.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\spv.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\stage2.c" /> - <ClCompile Include="..\..\torsions.c"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\addlaws.h" /> - <ClInclude Include="..\..\aprtcle\jacobi_sum.h" /> - <ClInclude Include="..\..\aprtcle\mpz_aprcl.h" /> - <ClInclude Include="..\..\champions.h" /> - <ClInclude Include="..\..\config.h" /> - <ClInclude Include="..\..\cudakernel.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-gpu.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\getprime_r.h" /> - <ClInclude Include="..\..\listz_handle.h" /> - <ClInclude Include="..\..\longlong.h" /> - <ClInclude Include="..\..\sp.h" /> - <ClInclude Include="..\..\torsions.h" /> - </ItemGroup> - <ItemGroup> - <CudaCompile Include="..\..\cudakernel.cu"> - <FileType>Document</FileType> - </CudaCompile> - </ItemGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm" /> - <YASM Include="..\assembler\redc.asm" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 9.0.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/libecm_gpu/libecm_gpu.vcxproj.filters b/build.vc14/libecm_gpu/libecm_gpu.vcxproj.filters deleted file mode 100644 index cdf9b862..00000000 --- a/build.vc14/libecm_gpu/libecm_gpu.vcxproj.filters +++ /dev/null @@ -1,193 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="..\..\mpmod.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\addlaws.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\auxarith.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\auxlib.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\batch.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\bestd.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\cudawrapper.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm_ntt.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\factor.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ks-multiply.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\listz.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\listz_handle.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\lucas.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\median.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mul_lo.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ntt_gfp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\parametrizations.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pm1.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pm1fs2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\polyeval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pp1.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\rho.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\schoen_strass.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\sets_long.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\sp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\stage2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\torsions.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime_r.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gpu.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\aprtcle\jacobi_sum.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\listz_handle.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\addlaws.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\aprtcle\mpz_aprcl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\sp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\torsions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\getprime_r.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\cudakernel.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <Filter Include="Header Files"> - <UniqueIdentifier>{dfe792df-b4ff-4147-be95-190117baae33}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files"> - <UniqueIdentifier>{0315d9d5-3f8f-456a-ae54-e00de69b9350}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\Assembler"> - <UniqueIdentifier>{cbe6b893-95dc-4f4b-b2e9-73245cf57c75}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <CudaCompile Include="..\..\cudakernel.cu"> - <Filter>Source Files</Filter> - </CudaCompile> - </ItemGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - <YASM Include="..\assembler\redc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/mp_lib.props b/build.vc14/mp_lib.props deleted file mode 100644 index 54785956..00000000 --- a/build.vc14/mp_lib.props +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <PropertyGroup Label="UserMacros"> - <mp_dir>mpir\</mp_dir> - <mp_lib>mpir.lib</mp_lib> - </PropertyGroup> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - </PropertyGroup> - <ItemGroup> - <BuildMacro Include="mp_dir"> - <Value>$(mp_dir)</Value> - <EnvironmentVariable>true</EnvironmentVariable> - </BuildMacro> - <BuildMacro Include="mp_lib"> - <Value>$(mp_lib)</Value> - <EnvironmentVariable>true</EnvironmentVariable> - </BuildMacro> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/multiecm/Makefile.am b/build.vc14/multiecm/Makefile.am deleted file mode 100644 index 1a31b47b..00000000 --- a/build.vc14/multiecm/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = multiecm.vcxproj multiecm.vcxproj.filters diff --git a/build.vc14/multiecm/multiecm.vcxproj b/build.vc14/multiecm/multiecm.vcxproj deleted file mode 100644 index 360b97c1..00000000 --- a/build.vc14/multiecm/multiecm.vcxproj +++ /dev/null @@ -1,238 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <RootNamespace>multiecm</RootNamespace> - <Keyword>Win32Proj</Keyword> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> - <ProjectGuid>{16434DC2-371C-451B-A336-820499B98B8C}</ProjectGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v110</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>false</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX86</TargetMachine> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>ws2_32.lib;..\..\..\$(mp_dir)lib\$(Platform)\release\$(mp_lib);%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>EditAndContinue</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX86</TargetMachine> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="..\..\auxi.c" /> - <ClCompile Include="..\..\b1_ainc.c" /> - <ClCompile Include="..\..\candi.c" /> - <ClCompile Include="..\..\eval.c" /> - <ClCompile Include="..\..\getprime_r.c" /> - <ClCompile Include="..\..\multiecm.c" /> - <ClCompile Include="..\..\random.c" /> - <ClCompile Include="..\..\resume.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\champions.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\getprime_r.h" /> - <ClInclude Include="..\..\longlong.h" /> - <ClInclude Include="..\config.h" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\libecm\libecm.vcxproj"> - <Project>{cd555681-d65b-4173-a29c-b8bf06a4871b}</Project> - <ReferenceOutputAssembly>false</ReferenceOutputAssembly> - </ProjectReference> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/multiecm/multiecm.vcxproj.filters b/build.vc14/multiecm/multiecm.vcxproj.filters deleted file mode 100644 index a22bf49d..00000000 --- a/build.vc14/multiecm/multiecm.vcxproj.filters +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\b1_ainc.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\candi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\eval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\resume.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime_r.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\multiecm.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\getprime_r.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/out_copy_rename.bat b/build.vc14/out_copy_rename.bat deleted file mode 100644 index 5fe442ed..00000000 --- a/build.vc14/out_copy_rename.bat +++ /dev/null @@ -1,31 +0,0 @@ -@echo off -if not exist %1 goto nofile -if exist %2 goto next - -echo creating directory %2 -md %2 > nul - -:next -rem strip quotes if present -set str=%2 -for /f "useback tokens=*" %%a in ('%str%') do set str=%%~a - -rem add a backslash if the output directory lacks one -set str=%str:~-1% -if "%str%" == "\" (set outf=%2%3) else (set outf=%2\%3) - -echo copying %1 to %outf% (if not present or changed) -if not exist "%outf%" goto copy - -rem don't overwrite if output exists and is not changed -fc %1 %outf% > nul && if not %errorlevel 1 goto exit -echo overwriting %outf% with %1 - -:copy -copy %1 %outf% > nul -goto exit - -:nofile -echo %1 not found - -:exit diff --git a/build.vc14/prebuild.bat b/build.vc14/prebuild.bat deleted file mode 100644 index bbc16852..00000000 --- a/build.vc14/prebuild.bat +++ /dev/null @@ -1,3 +0,0 @@ -cd ..\ -call out_copy_rename config.h ..\ config.h -call gen_ecm_h diff --git a/build.vc14/python.bat b/build.vc14/python.bat deleted file mode 100644 index 77b1e718..00000000 --- a/build.vc14/python.bat +++ /dev/null @@ -1,2 +0,0 @@ -@echo off -"c:\program files\python34\python" %1 diff --git a/build.vc14/readme.txt b/build.vc14/readme.txt deleted file mode 100644 index c7f20184..00000000 --- a/build.vc14/readme.txt +++ /dev/null @@ -1,173 +0,0 @@ - -Building GMP-ECM with Microsoft Visual C++ 2015 -=============================================== - -If you wish to build the assembler code support you will need to -install the YASM assembler that is available at: - - http://www.tortall.net/projects/yasm/ - -THe version you need is vsyasm, which should be put it in the same -directory as your Visual C++ compiler, which is typically: - - C:\Program Files\yasm - -The Multi-Precision Library - GMP and MPIR -========================================== - -GMP-ECM works with either GMP or MPIR, a fork of GMP. To build and run -GMP-ECM using Visual Studio you first need to obtain and build either -GMP or MPIR. MPIR has a fully integrated Visual Studio build system -for Windows but GMP does not. - -The VC++ build of GMP-ECM now defaults to MPIR but the property sheet -mp_lib.vsprops can be edited to set the macro mp_lib to 'gmp' instead -of 'mpir' to build ECM using GMP. - -GMP -=== - -GMP can be built from the GMP source code available here: - - http://gmplib.org/ - -GMP can be built with mingw for 32-bit Windows and mingw64 for Windows x64. -It is reported that the resulting libraries work with Visual Studio when -appropriately renamed. - -MPIR -==== - -MPIR is available here: - - http://www.mpir.org - -It has full support for building MPIR for 32 and 64 bit Windows systems -with x86 assembler support using the YASM assembler. - -Building GMP-ECM -================ - -The build files for GMP-ECM assume that the GMP and ECM build directories -are in a common parent directory as follows: - - Parent Directory - MPIR (or GMP) - build.vc14 -- MPIR (or GMP) build files - ... - GMP-ECM - buid.vc14 -- ECM build files - -The root directories for GMP and GMP-ECM are assumed to have these names -irrespective of which version is being used (they used to be followed by -version numbers but this meant that the build projects had to be updated -too frequently). - -The normal (non GPU) build is opened by loading the file ecm.sln (from -the build.vc14 directory) into Visual Studio. This provides these build -projects in build.vc14 for the non GPU build: - - ecm - the ECM application - ecmlib - the ECM library - tune - a program for tuning - bench_mulredc - for benchmarking mulredc - multiecm - work in progress (not working) - -The GPU build is opened by loading the file ecm.sln (from the build.vc14 -directory) into Visual Studio. This provides two build projects in -build.vc14: - - ecm_gpu - the ECM application - ecmlib_gpu - the ECM library - -In all cases you have to choose either a win32 or x64 build and either a -Release or Debug configuration. - -The non GPU Build ------------------ - -Before starting a build, there are a number of configuration options -that need to be set: - -1. If you wish to compile GMP-ECM for use on a particular processor, - select the appropriate define from the file 'ecm-params.h' in the - GMP-ECM root directory and decide which of the defines suit your - needs (e.g. __tune_corei7__). Then replace the existing define: - - /* define Windows tuning here */ - # define __tune_corei7__ - - towards the end of the file config.h file in the 'build.vc14' - directory (build.vc14\config.h) with the chosen define. - -2. The file at 'build.vc14\mul_fft-params.h' allows the FFT code to - be tuned to 32 or 64-bit systems by selecting an option by - changing the appropriate '#elif 0' to #elif 1'. If you wish to - use the win32 AMD assembler files, you also have to use the - Visual Studio property page to define AMD_ASM (alternatively - you can edit the two files mulredc.asm and redc.asm in the - build.vc14\assembler\ directory to include the AMD assembler). - -The GPU Build -------------- - -1. If you wish to build with a GPU capability you will need to - install Nvidia Nsight for Visual Studio and the CUDA Toolkit - v8.0. You then build the libecm_gpu and ecm_gpu projects - -2. The choices above for the non GPU build aslo apply when - building for a GPU based system. - - By default, the GPU configuration is "compute_50,sm_50". If - you need to change this, select libecm_gpu and ecm_gpu and - set the propertiesfor "CUDA C/C++|Device|Code Generation" for - your GPU capability. - - Also under "C/C++|Preprocessor|Preprocessor Definitions" for - both these projects, change the current definition GPU_CC50 to - that for your GPU capability - -Build Configurations --------------------- - -When a version of ecm and ecmlib are built, the library and the application -are put in the directory matching the configuration that has been built: - - GMP-ECM - build.vc14 -- ECM build files - lib -- ECM static library files - bin -- ECM executable files - -within these lib, dll and bin directories, the outputs are located in -sub-directories determined by the platform and configuration: - - win32\release - win32\debug - x64\release - x64\debug - -If you don't want assembler support you need to change the define: - -#define NATIVE_REDC 1 - -in config.h (in the build.vc14 subdirectory) to: - -#undef NATIVE_REDC - -Tune -==== - -If tune is compiled and run for a particular configuration it will output -suitable values for optimising GMP-ECM to the console window. To optimise -GMP-ECM these values should be put in a suitably named file whcih then has -to be integrated in ecm-params.h. - -Tests -===== - -The file test.py is a python script that runs the ECM tests. It runs the -x64/release-amd (non GPU) version by default but can be edited to test other -builds. It cannot run some tests as a result of the diifficulty in the -conversion of the Unix shell scripts for the tests for use on Windows. - - Brian Gladman, November 2017 diff --git a/build.vc14/tests.py b/build.vc14/tests.py deleted file mode 100644 index 1a1a6a30..00000000 --- a/build.vc14/tests.py +++ /dev/null @@ -1,150 +0,0 @@ - -from __future__ import print_function -import os -import sys -import string -import platform -from re import match -from subprocess import Popen, PIPE, STDOUT -from tempfile import * - -try: - from time import perf_counter as timer -except ImportError: - from time import clock as timer - - -x64 = True -debug = False -test_gpu_version = True -run_non_gpu_tests = True -run_gpu_tests = True - -class Timer() : - def __enter__(self): self.start = timer() - def __exit__(self, *args): print(' time {:.3f} milliseconds'.format(1000 * (timer() - self.start))) - -cpath = os.path.dirname(__file__) -config = 'x64' if x64 else 'Win32' -mode = 'Debug' if debug else 'Release' -test_dir = '..\\bin\\{:s}\\{:s}\\'.format(config, mode) - -def get_tests(filename): - print('running tests in {:s}'.format(filename)) - start, sub, tests, c_tests = True, dict(), [], [] - with open(os.path.join(cpath, filename)) as f: - lines = f.readlines() - cnt, lnth = 0, len(lines) - while cnt < lnth: - try: - line = lines[cnt].strip() - cnt += 1 - tkns = line.split() - if line.startswith('echo') and len(tkns) > 2 and tkns[2] == '|': - while cnt < lnth and 'checkcode' not in line: - while cnt < lnth and not lines[cnt]: - cnt += 1 - if cnt < lnth: - line += '|' + lines[cnt] - cnt += 1 - start = False - elif start: - sp = line.split('="') - if len(sp) == 2: - if sp[1].startswith('${1:-./ecm}'): - sub[sp[0]] = sp[1][12:-1] - else: - sub[sp[0]] = sp[1][:-1] - continue - else: - continue - line = line.replace(';', '|') - sub_tests = [] - for line_part in line.split('|'): - tkns = line_part.strip().split() - cmd = [] - for tok in tkns: - if tok.startswith('"') and tok.endswith('"'): - tok = tok[1:-1] - if tok[0] == '$' and tok[1:] in sub: - tok = tok.replace(tok, sub[tok[1:]]) - elif tok == './ecm': - tok = '' - cmd += [tok] - cseq = [] - if cmd and cmd[0] == 'echo': - cseq += [cmd[1]] - cmd = cmd[2:] - if len(cmd) >= 3 and cmd[-3] == 'checkcode' and cmd[-2] == '$?': - cseq += [int(cmd[-1])] - cmd = cmd[:-3] - cmd = (' '.join(cmd)).strip() - if cmd: - cseq += [cmd] - sub_tests += [cseq] - if len(sub_tests) == 3 and all(len(x) == 1 for x in sub_tests): - tests += [tuple(x[0] for x in sub_tests)] - else: - c_tests += [sub_tests] - except ValueError: - print('parsing error on line {} in text "{}"'.format(cnt, line)) - return tests, c_tests - -def run_exe(exe, args, inp) : - al = {'stdin' : PIPE, 'stdout' : PIPE, 'stderr' : STDOUT } - if sys.platform.startswith('win'): - al['creationflags'] = 0x08000000 - p = Popen([os.path.join(cpath, exe)] + args.split(' '), **al) - res = p.communicate(inp.encode())[0].decode() - ret = p.poll() - return (ret, res) - -def output_complex_tests(x): - print('these tests are too complex:') - for t in x: - print(t) - -def do_tests(tests, ctests, out=False, gpu=False): - ecm_exe = test_dir + ("ecm_gpu.exe" if gpu else "ecm.exe") - err_cnt = 0 - for ix, tt in enumerate(tests): - print(tt[1], tt[0], end='') - rv = run_exe(ecm_exe, tt[1], tt[0]) - if type(tt[2]) == int and rv[0] != tt[2]: - print(" - *** ERROR in test {:d}: {:d} {:d} ***".format(ix, rv[0], tt[2])) - err_cnt += 1 - elif type(tt[2]) == tuple and rv[0] != tt[2][0] and rv[0] != tt[2][1]: - print(" - *** ERROR in test {:d}: {:d} {:s} ***".format(ix, rv[0], tt[2])) - err_cnt += 1 - else: - print(" - passed") - if out: - op = rv[1].rsplit('\r\n') - for i in op : - print(i) - - if ctests: - output_complex_tests(ctests) - if not err_cnt: - if ctests: - print('all other tests passed') - else: - print('all tests passed') - -with Timer(): - if os.path.exists('test.pm1.save'): - os.remove('test.pm1.save') - if run_non_gpu_tests: - t, ct = get_tests("..\\test.ecm") - do_tests(t, ct) - t, ct = get_tests("..\\test.pm1") - do_tests(t, ct) - t, ct = get_tests("..\\test.pp1") - do_tests(t, ct) - t, ct = get_tests("..\\testlong.pp1") - do_tests(t, ct) - t, ct = get_tests("..\\testlong.pm1") - do_tests(t, ct) - if run_gpu_tests: - t, ct = get_tests("..\\test.gpuecm") - do_tests(t, ct, gpu=True) diff --git a/build.vc14/tune/Makefile.am b/build.vc14/tune/Makefile.am deleted file mode 100644 index fe8ca5e2..00000000 --- a/build.vc14/tune/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = tune.vcxproj tune.vcxproj.filters diff --git a/build.vc14/tune/tune.vcxproj b/build.vc14/tune/tune.vcxproj deleted file mode 100644 index f7afa7ea..00000000 --- a/build.vc14/tune/tune.vcxproj +++ /dev/null @@ -1,161 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{80E08750-5C6C-492E-BB1E-7200978AE125}</ProjectGuid> - <RootNamespace>tune</RootNamespace> - <Keyword>Win32Proj</Keyword> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <CharacterSet>Unicode</CharacterSet> - <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <CharacterSet>NotSet</CharacterSet> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <Optimization>MaxSpeed</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);..\..\;..\assembler;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;TUNE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <FunctionLevelLinking>true</FunctionLevelLinking> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);%(AdditionalDependencies)</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <TargetMachine>MachineX86</TargetMachine> - </Link> - <PostBuildEvent> - <Command> - </Command> - </PostBuildEvent> - <YASM> - <Defines> - </Defines> - </YASM> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>MaxSpeed</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);..\..\;..\assembler;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_CONSOLE;TUNE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <FunctionLevelLinking>true</FunctionLevelLinking> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)lib\$(IntDir)$(mp_lib);%(AdditionalDependencies)</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <TargetMachine>MachineX64</TargetMachine> - </Link> - <PostBuildEvent> - <Command> - </Command> - </PostBuildEvent> - <YASM> - <Defines>_WIN64</Defines> - </YASM> - </ItemDefinitionGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm" /> - <YASM Include="..\assembler\redc.asm" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxarith.c" /> - <ClCompile Include="..\..\auxlib.c" /> - <ClCompile Include="..\..\ecm_ntt.c" /> - <ClCompile Include="..\..\ks-multiply.c" /> - <ClCompile Include="..\..\listz.c" /> - <ClCompile Include="..\..\median.c" /> - <ClCompile Include="..\..\mpmod.c"> - <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">TUNE_MULREDC_THRESH#0;TUNE_SQRREDC_THRESH#0;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">TUNE_MULREDC_THRESH#0;TUNE_SQRREDC_THRESH#0;%(PreprocessorDefinitions)</PreprocessorDefinitions> - </ClCompile> - <ClCompile Include="..\..\mpzspm.c" /> - <ClCompile Include="..\..\mpzspv.c" /> - <ClCompile Include="..\..\mul_lo.c" /> - <ClCompile Include="..\..\ntt_gfp.c" /> - <ClCompile Include="..\..\polyeval.c" /> - <ClCompile Include="..\..\random.c" /> - <ClCompile Include="..\..\schoen_strass.c" /> - <ClCompile Include="..\..\sp.c" /> - <ClCompile Include="..\..\spm.c" /> - <ClCompile Include="..\..\spv.c" /> - <ClCompile Include="..\..\tune.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\config.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\longlong.h" /> - <ClInclude Include="..\..\sp.h" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\libecm\libecm.vcxproj"> - <Project>{cd555681-d65b-4173-a29c-b8bf06a4871b}</Project> - </ProjectReference> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/tune/tune.vcxproj.filters b/build.vc14/tune/tune.vcxproj.filters deleted file mode 100644 index dff0286b..00000000 --- a/build.vc14/tune/tune.vcxproj.filters +++ /dev/null @@ -1,109 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - <Filter Include="Source Files\Assembler"> - <UniqueIdentifier>{38f1a18f-40fc-4eed-a68e-e79b58327b6c}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - <YASM Include="..\assembler\redc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxarith.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\auxlib.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm_ntt.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ks-multiply.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\listz.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\median.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpmod.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mul_lo.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ntt_gfp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\polyeval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\schoen_strass.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\sp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\tune.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\sp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/vacopy.c b/build.vc14/vacopy.c deleted file mode 100644 index d6a3d81a..00000000 --- a/build.vc14/vacopy.c +++ /dev/null @@ -1,8 +0,0 @@ - -#include <stdarg.h> -#include <string.h> - -void _vacopy(va_list *pap, va_list ap) -{ - *pap = ap; -} diff --git a/build.vc14/vsyasm.props b/build.vc14/vsyasm.props deleted file mode 100644 index 9fcf3464..00000000 --- a/build.vc14/vsyasm.props +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <PropertyGroup - Condition="'$(YASMBeforeTargets)' == '' and '$(YASMAfterTargets)' == '' and '$(ConfigurationType)' != 'Makefile'"> - <YASMBeforeTargets>Midl</YASMBeforeTargets> - <YASMAfterTargets>CustomBuild</YASMAfterTargets> - </PropertyGroup> - <PropertyGroup> - <YASMDependsOn - Condition="'$(ConfigurationType)' != 'Makefile'">_SelectedFiles;$(YASMDependsOn)</YASMDependsOn> - </PropertyGroup> - <PropertyGroup> - <YasmPath Condition= "'$(YASMPATH)' == ''">c:\program files\yasm\</YasmPath> - </PropertyGroup> - <ItemDefinitionGroup> - <YASM> - <Debug>False</Debug> - <ObjectFile>$(IntDir)</ObjectFile> - <PreProc>0</PreProc> - <Parser>0</Parser> - <CommandLineTemplate>"$(YasmPath)"vsyasm.exe -Xvc -f $(Platform) [AllOptions] [AdditionalOptions] [Inputs]</CommandLineTemplate> - <Outputs>%(ObjectFile)</Outputs> - <ExecutionDescription>Assembling %(Filename)%(Extension)</ExecutionDescription> - <ShowOnlyRuleProperties>false</ShowOnlyRuleProperties> - </YASM> - </ItemDefinitionGroup> -</Project> \ No newline at end of file diff --git a/build.vc14/vsyasm.targets b/build.vc14/vsyasm.targets deleted file mode 100644 index c86180dd..00000000 --- a/build.vc14/vsyasm.targets +++ /dev/null @@ -1,108 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <PropertyPageSchema - Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" /> - <AvailableItemName - Include="YASM"> - <Targets>_YASM</Targets> - </AvailableItemName> - </ItemGroup> - <UsingTask - TaskName="YASM" - TaskFactory="XamlTaskFactory" - AssemblyName="Microsoft.Build.Tasks.v4.0"> - <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task> - </UsingTask> - <Target - Name="_YASM" - BeforeTargets="$(YASMBeforeTargets)" - AfterTargets="$(YASMAfterTargets)" - Condition="'@(YASM)' != ''" - DependsOnTargets="$(YASMDependsOn);ComputeYASMOutput" - Outputs="@(YASM->'%(ObjectFile)')" - Inputs="@(YASM);%(YASM.AdditionalDependencies);$(MSBuildProjectFile)"> - <ItemGroup - Condition="'@(SelectedFiles)' != ''"> - <YASM - Remove="@(YASM)" - Condition="'%(Identity)' != '@(SelectedFiles)'" /> - </ItemGroup> - <ItemGroup> - <YASM_tlog - Include="%(YASM.ObjectFile)" - Condition="'%(YASM.ObjectFile)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'"> - <Source>@(YASM, '|')</Source> - </YASM_tlog> - </ItemGroup> - <Message - Importance="High" - Text="%(YASM.ExecutionDescription)" /> - <WriteLinesToFile - Condition="'@(YASM_tlog)' != '' and '%(YASM_tlog.ExcludedFromBuild)' != 'true'" - File="$(IntDir)$(ProjectName).write.1.tlog" - Lines="^%(YASM_tlog.Source);@(YASM_tlog->'%(Fullpath)')" /> - <YASM - Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'" - CommandLineTemplate="%(YASM.CommandLineTemplate)" - Debug="%(YASM.Debug)" - PreIncludeFile="%(YASM.PreIncludeFile)" - IncludePaths="%(YASM.IncludePaths)" - Defines="%(YASM.Defines)" - UnDefines="%(YASM.UnDefines)" - ObjectFile="%(YASM.ObjectFile)" - ListFile="%(YASM.ListFile)" - MapFile="%(YASM.MapFile)" - ErrorFile="%(YASM.ErrorFile)" - SymbolPrefix="%(YASM.SymbolPrefix)" - SymbolSuffix="%(YASM.SymbolSuffix)" - PreProc="%(YASM.PreProc)" - Parser="%(YASM.Parser)" - AdditionalOptions="%(YASM.AdditionalOptions)" - Inputs="@(YASM)" /> - </Target> - <PropertyGroup> - <ComputeLinkInputsTargets> - $(ComputeLinkInputsTargets); - ComputeYASMOutput; - </ComputeLinkInputsTargets> - <ComputeLibInputsTargets> - $(ComputeLibInputsTargets); - ComputeYASMOutput; - </ComputeLibInputsTargets> - </PropertyGroup> - <Target - Name="ComputeYASMOutput" - Condition="'@(YASM)' != ''"> - <ItemGroup> - <YASMDirsToMake - Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true' and !HasTrailingSlash('%(YASM.ObjectFile)')" - Include="%(YASM.ObjectFile)" /> - <Link - Include="%(YASMDirsToMake.Identity)" - Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> - <Lib - Include="%(YASMDirsToMake.Identity)" - Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> - <ImpLib - Include="%(YASMDirsToMake.Identity)" - Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> - </ItemGroup> - <ItemGroup> - <YASMDirsToMake - Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true' and HasTrailingSlash('%(YASM.ObjectFile)')" - Include="@(YASM->'%(ObjectFile)%(Filename).obj')" /> - <Link - Include="%(YASMDirsToMake.Identity)" - Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> - <Lib - Include="%(YASMDirsToMake.Identity)" - Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> - <ImpLib - Include="%(YASMDirsToMake.Identity)" - Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> - </ItemGroup> - <MakeDir - Directories="@(YASMDirsToMake->'%(RootDir)%(Directory)')" /> - </Target> -</Project> \ No newline at end of file diff --git a/build.vc14/vsyasm.xml b/build.vc14/vsyasm.xml deleted file mode 100644 index 0b259559..00000000 --- a/build.vc14/vsyasm.xml +++ /dev/null @@ -1,283 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:transformCallback="Microsoft.Cpp.Dev10.ConvertPropertyCallback"> - <Rule - Name="YASM" - PageTemplate="tool" - DisplayName="Yasm Assembler" - Order="200"> - - <Rule.DataSource> - <DataSource - Persistence="ProjectFile" - ItemType="YASM" /> - </Rule.DataSource> - - <Rule.Categories> - - <Category - Name="General"> - <Category.DisplayName> - <sys:String>General</sys:String> - </Category.DisplayName> - </Category> - - <Category - Name="Symbols"> - <Category.DisplayName> - <sys:String>Symbols</sys:String> - </Category.DisplayName> - </Category> - - <Category - Name="Files"> - <Category.DisplayName> - <sys:String>Files</sys:String> - </Category.DisplayName> - </Category> - - <Category - Name="Command Line" - Subtype="CommandLine"> - <Category.DisplayName> - <sys:String>Command Line</sys:String> - </Category.DisplayName> - </Category> - - </Rule.Categories> - - <StringListProperty - Name="Inputs" - Category="Command Line" - IsRequired="true" - Switch=" "> - <StringListProperty.DataSource> - <DataSource - Persistence="ProjectFile" - ItemType="YASM" - SourceType="Item" /> - </StringListProperty.DataSource> - </StringListProperty> - - <BoolProperty - Name="Debug" - Subcategory="Configuration" - HelpContext="0" - DisplayName="Debug Information" - Description="Generate debugging information" - Switch="-g cv8" /> - - <StringListProperty - Name="IncludePaths" - Subcategory="Configuration" - HelpContext="0" - DisplayName="Include Paths" - Description="Set the paths for any additional include files" - Switch="-i "[value]"" /> - - <StringListProperty - Name="Defines" - Category="Symbols" - Subcategory="Pre-Defined Symbols" - HelpContext="0" - DisplayName="Defined Symbols" - Description="Specify pre-defined symbols ('symbol' or 'symbol = value') " - Switch="-d "[value]"" /> - - <StringListProperty - Name="UnDefines" - Category="Symbols" - Subcategory="Pre-Defined Symbols" - HelpContext="0" - DisplayName="Remove Symbols" - Description="Remove pre-defined symbols " - Switch="-u "[value]"" /> - - <StringProperty - Name="ObjectFile" - Subcategory="Output" - HelpContext="0" - DisplayName="Object File Name" - Description="Select the output file name" - Switch="-o "[value]"" /> - - <StringProperty - Name="ListFile" - Category="Files" - Subcategory="Output" - HelpContext="0" - DisplayName="List File Name" - Description="Select an output listing by setting its file name" - Switch="-l "[value]"" /> - - <StringProperty - Name="PreIncludeFile" - Category="Files" - Subcategory="Configuration" - HelpContext="0" - DisplayName="Pre Include File" - Description="Select a pre-included file by setting its name" - Switch="-P "[value]"" /> - - <StringProperty - Name="MapFile" - Category="Files" - Subcategory="Output" - HelpContext="0" - DisplayName="Map File Name" - Description="Select a map output by setting its file name" - Switch="--mapdir="[value]"" /> - - <StringProperty - Name="ErrorFile" - Category="Files" - Subcategory="Output" - HelpContext="0" - DisplayName="Error File Name" - Description="Send error/warning messages to a file by setting its name" - Switch="-E "[value]"" /> - - <StringProperty - Name="SymbolPrefix" - Category="Symbols" - Subcategory="Symbols" - HelpContext="0" - DisplayName="External Symbol Prefix" - Description="Prepend symbol to all external symbols" - Switch="--prefix="[value]"" /> - - <StringProperty - Name="SymbolSuffix" - Category="Symbols" - Subcategory="Symbols" - HelpContext="0" - DisplayName="External Symbol Suffix" - Description="Append symbol to all external symbols" - Switch="--suffix="[value]"" /> - - <EnumProperty - Name="PreProc" - Subcategory="Configuration" - HelpContext="0" - DisplayName="Pre-Processor" - Description="Select the pre-processor ('nasm' or 'raw')"> - <EnumValue - Name="0" - DisplayName="Nasm " - Switch="-rnasm" /> - <EnumValue - Name="1" - DisplayName="Raw" - Switch="-rraw" /> - </EnumProperty> - - <EnumProperty - Name="Parser" - Subcategory="Configuration" - HelpContext="0" - DisplayName="Parser" - Description="Select the parser for Intel ('nasm') or AT&T ( 'gas') syntax"> - <EnumValue - Name="0" - DisplayName="Nasm" - Switch="-pnasm" /> - <EnumValue - Name="1" - DisplayName="Gas" - Switch="-pgas" /> - </EnumProperty> - - <StringProperty - Name="CommandLineTemplate" - DisplayName="Command Line" - Visible="False" - IncludeInCommandLine="False" /> - - <DynamicEnumProperty - Name="YASMBeforeTargets" - Category="General" - EnumProvider="Targets" - IncludeInCommandLine="False"> - <DynamicEnumProperty.DisplayName> - <sys:String>Execute Before</sys:String> - </DynamicEnumProperty.DisplayName> - <DynamicEnumProperty.Description> - <sys:String>Specifies the targets for the build customization to run before.</sys:String> - </DynamicEnumProperty.Description> - <DynamicEnumProperty.ProviderSettings> - <NameValuePair - Name="Exclude" - Value="^YASMBeforeTargets|^Compute" /> - </DynamicEnumProperty.ProviderSettings> - <DynamicEnumProperty.DataSource> - <DataSource - Persistence="ProjectFile" - HasConfigurationCondition="true" /> - </DynamicEnumProperty.DataSource> - </DynamicEnumProperty> - - <DynamicEnumProperty - Name="YASMAfterTargets" - Category="General" - EnumProvider="Targets" - IncludeInCommandLine="False"> - <DynamicEnumProperty.DisplayName> - <sys:String>Execute After</sys:String> - </DynamicEnumProperty.DisplayName> - <DynamicEnumProperty.Description> - <sys:String>Specifies the targets for the build customization to run after.</sys:String> - </DynamicEnumProperty.Description> - <DynamicEnumProperty.ProviderSettings> - <NameValuePair - Name="Exclude" - Value="^YASMAfterTargets|^Compute" /> - </DynamicEnumProperty.ProviderSettings> - <DynamicEnumProperty.DataSource> - <DataSource - Persistence="ProjectFile" - ItemType="" - HasConfigurationCondition="true" /> - </DynamicEnumProperty.DataSource> - </DynamicEnumProperty> - - <StringListProperty - Name="Outputs" - DisplayName="Outputs" - Visible="False" - IncludeInCommandLine="False" /> - - <StringProperty - Name="ExecutionDescription" - DisplayName="Execution Description" - Visible="False" - IncludeInCommandLine="False" /> - - <StringListProperty - Name="AdditionalDependencies" - DisplayName="Additional Dependencies" - IncludeInCommandLine="False" - Visible="true" /> - - <StringProperty - Subtype="AdditionalOptions" - Name="AdditionalOptions" - Category="Command Line"> - <StringProperty.DisplayName> - <sys:String>Additional Options</sys:String> - </StringProperty.DisplayName> - <StringProperty.Description> - <sys:String>Additional Options</sys:String> - </StringProperty.Description> - </StringProperty> - </Rule> - - <ItemType - Name="YASM" - DisplayName="Yasm Assembler" /> - <FileExtension - Name="*.asm" - ContentType="YASM" /> - <ContentType - Name="YASM" - DisplayName="Yasm Assembler" - ItemType="YASM" /> -</ProjectSchemaDefinitions> \ No newline at end of file diff --git a/build.vc15/Makefile.am b/build.vc15/Makefile.am deleted file mode 100644 index d199fdfd..00000000 --- a/build.vc15/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -EXTRA_DIST = config.h ecm.sln ecm_gpu.sln file_copy.bat gen_ecm_h.bat \ - getopt.c getopt.h getrusage.c getrusage.h gettimeofday.c \ - gettimeofday.h mp_lib.props out_copy_rename.bat prebuild.bat \ - python.bat readme.txt tests.py vacopy.c vsyasm.props \ - vsyasm.targets vsyasm.xml - -DIST_SUBDIRS = assembler ecm ecm_gpu libecm libecm_gpu tune bench_mulredc diff --git a/build.vc15/assembler/Makefile.am b/build.vc15/assembler/Makefile.am deleted file mode 100644 index 3b2f7d84..00000000 --- a/build.vc15/assembler/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -EXTRA_DIST = a_win32a_mulredc.asm a_win32a_redc.asm a_win32p_mulredc.asm \ - a_win32p_redc.asm a_x64_mulredc.asm a_x64_redc.asm \ - test_mulredc.c mulredc.h mulredc.asm redc.asm diff --git a/build.vc15/assembler/a_win32a_redc.asm b/build.vc15/assembler/a_win32a_redc.asm deleted file mode 100644 index 9b473071..00000000 --- a/build.vc15/assembler/a_win32a_redc.asm +++ /dev/null @@ -1,133 +0,0 @@ -; -; Part of GMP-ECM -; -; void ecm_redc3( -; mp_limb_t *z, rdi r8 <- rcx -; const mp_limb_t *x, rsi r9 <- rdx -; size_t n, rdx r10 <- r8 -; mp_limb_t m rcx r11 <- r9 -; ) - -%macro seq 3 - mov eax, [byte esi+4*%3] - mul ebp - add [byte edi+4*%3], %2 - adc %1, eax - mov %2, edx - adc %2, 0 -%endmacro - - text - global _ecm_redc3 - -_ecm_redc3: - push ebp - push edi - push esi - push ebx - sub esp, 16 - mov ecx, [esp+44] - mov edi, [esp+36] - mov [esp], ecx - cmp ecx, 5 - jae .3 - -.1: mov ebp, [esp+48] - mov esi, [esp+40] - imul ebp, [edi] - mov [esp+36], edi - mov ecx, [esp+44] - xor ebx, ebx - -.2: mov eax, [esi] - add edi, 4 - mul ebp - add esi, 4 - add eax, ebx - adc edx, 0 - add [edi-4], eax - adc edx, 0 - dec ecx - mov ebx, edx - jnz .2 - mov edi, [esp+36] - mov [edi], ebx - dec dword [esp] - lea edi, [edi+4] - jnz .1 - - add esp, 16 - pop ebx - pop esi - pop edi - pop ebp - ret - -.3: mov edx, ecx - dec ecx - sub edx, 2 - neg ecx - shr edx, 4 - and ecx, 15 - mov [esp+8], edx - mov edx, ecx - shl edx, 4 - neg ecx - lea edx, [edx+ecx+.6] - mov [esp+44], ecx - mov [esp+12], edx - -.4: mov ebp, [esp+48] - mov esi, [esp+40] - imul ebp, [edi] - mov [esp+36], edi - mov ecx, [esp+44] - mov edx, [esp+8] - mov [esp+4], edx - mov eax, [esi] - lea esi, [esi+ecx*4+4] - mul ebp - lea edi, [edi+ecx*4] - mov ebx, edx - mov edx, [esp+12] - test ecx, 1 - mov ecx, eax - cmovnz ecx, ebx - cmovnz ebx, eax - jmp edx - - align 32 -.5: add edi, 64 -.6: - -%assign i 0 -%rep 16 - %if (i & 1) - seq ecx, ebx, i - %else - seq ebx, ecx, i - %endif - %assign i i + 1 -%endrep - - dec dword [esp+4] - lea esi, [esi+64] - jns .5 - - add [edi+64], ecx - mov edi, [esp+36] - adc ebx, 0 - mov [edi], ebx - dec dword [esp] - lea edi, [edi+4] - jnz .4 - - add esp, 16 - pop ebx - pop esi - pop edi - pop ebp - ret - - end - \ No newline at end of file diff --git a/build.vc15/assembler/a_win32p_mulredc.asm b/build.vc15/assembler/a_win32p_mulredc.asm deleted file mode 100644 index 001f7255..00000000 --- a/build.vc15/assembler/a_win32p_mulredc.asm +++ /dev/null @@ -1,148 +0,0 @@ - -; Part of GMP-ECM -; -; mp_limb_t mulredc1( 1 limb -; mp_limb_t *z, -; const mp_limb_t x, -; const mp_limb_t y, -; const mp_limb_t m, -; mp_limb_t inv_m -; ) -; -; mp_limb_t mulredc<limbs>( > 1 limb -; mp_limb_t *z, -; const mp_limb_t *x, -; const mp_limb_t *y, -; const mp_limb_t *m, -; mp_limb_t inv_m -; ) - -%macro mseq 1 - movd mm1, [esi+4*%1] - movd mm2, [edi+4*%1] - pmuludq mm1, mm7 - paddq mm2, mm1 - paddq mm0, mm2 - movd [edi+4*%1], mm0 - psrlq mm0, 32 -%endmacro - -%macro mulredc 1 -%assign limbs %1 -%define f_name(x) _mulredc %+ x - - global f_name(limbs) -%ifdef DLL - export f_name(limbs) -%endif - -f_name(limbs): - push ebp - push edi - push esi - push ebx - sub esp, 8*(limbs+1) - mov edi, esp - -%assign i 0 -%rep 2 * limbs + 1 - mov dword [edi+4*i], 0 - %assign i i + 1 -%endrep - - mov dword [esp+8*limbs+4], limbs - - align 32 - -.1: mov eax, [esp+8*limbs+32] - mov esi, [esp+8*limbs+36] - mov eax, [eax] - mul dword [esi] - add eax, [edi] - mul dword [esp+8*limbs+44] - mov ebp, eax - mov esi, [esp+8*limbs+40] - - pxor mm0, mm0 - movd mm7, ebp - -%assign i 0 -%rep limbs - mseq i - %assign i i + 1 -%endrep - - movd ecx, mm0 - - add [edi+4*limbs], ecx - adc dword [edi+4*limbs+4], 0 - mov eax, [esp+8*limbs+32] - mov ebp, [eax] - mov esi, [esp+8*limbs+36] - - pxor mm0, mm0 - movd mm7, ebp - -%assign i 0 -%rep limbs - mseq i - %assign i i + 1 -%endrep - - movd ecx, mm0 - add [edi+4*limbs], ecx - adc dword [edi+4*limbs+4], 0 - add dword [esp+8*limbs+32], 4 - add edi, 4 - dec dword [esp+8*limbs+4] - jnz .1 - - mov ebx, [esp+8*limbs+28] - -%assign i 0 -%rep limbs - mov eax, [edi+4*i] - mov [ebx+4*i], eax - %assign i i + 1 -%endrep - mov eax, [edi+4*limbs] - add esp, 8*(limbs+1) - - pop ebx - pop esi - pop edi - pop ebp - emms - ret -%endmacro - - bits 32 - section .text - - global _mulredc1 -%ifdef DLL - export _mulredc1 -%endif - -_mulredc1: - mov eax, [esp+12] - mul dword [esp+8] - mov [esp+12], edx - mov [esp+8], eax - mul dword [esp+20] - mul dword [esp+16] - add eax, [esp+8] - adc edx, [esp+12] - mov ecx, [esp+4] - mov [ecx], edx - adc eax, 0 - ret - -%assign i 2 -%rep 19 ; 3..20 inclusive - mulredc i - %assign i i + 1 -%endrep - - end - diff --git a/build.vc15/assembler/a_win32p_redc.asm b/build.vc15/assembler/a_win32p_redc.asm deleted file mode 100644 index b94bd9f9..00000000 --- a/build.vc15/assembler/a_win32p_redc.asm +++ /dev/null @@ -1,145 +0,0 @@ -; -; Part of GMP-ECM -; -; void ecm_redc3( -; mp_limb_t *z, rdi r8 <- rcx -; const mp_limb_t *x, rsi r9 <- rdx -; size_t n, rdx r10 <- r8 -; mp_limb_t m rcx r11 <- r9 -; ) - -%macro rloop 3 - mov eax, [byte esi+4*%3] - mul ebp - add [byte edi+4*%3], %2 - adc %1, eax - mov %2, edx - adc %2, 0 -%endmacro - - bits 32 - section .text - - global _ecm_redc3 -%ifdef DLL - export _ecm_redc3 -%endif - -_ecm_redc3: - push ebp - push edi - push esi - push ebx - sub esp, 16 - - mov ecx, [esp+44] - mov edi, [esp+36] - mov [esp], ecx - cmp ecx, 5 - jae .unroll - -.1: mov ebp, [esp+48] - mov esi, [esp+40] - imul ebp, [edi] - mov [esp+36], edi - mov ecx, [esp+44] - xor ebx, ebx - -.2: mov eax, [esi] - add edi, 4 - mul ebp - add esi, 4 - add eax, ebx - adc edx, 0 - add [edi-4], eax - adc edx, 0 - dec ecx - mov ebx, edx - jnz .2 - mov edi, [esp+36] - mov [edi], ebx - dec dword [esp] - lea edi, [edi+4] - jnz .1 - - add esp, 16 - pop ebx - pop esi - pop edi - pop ebp - ret - -.unroll: - mov edx, ecx - dec ecx - sub edx, 2 - neg ecx - shr edx, 4 - and ecx, 15 - mov [esp+8], edx - mov edx, ecx - shl edx, 4 - neg ecx - lea edx, [edx+ecx*1+.loop_base] - mov [esp+44], ecx - mov [esp+12], edx - -.4: mov ebp, [esp+48] - mov esi, [esp+40] - imul ebp, [edi] - mov [esp+36], edi - mov ecx, [esp+44] - mov edx, [esp+8] - mov [esp+4], edx - mov eax, [esi] - lea esi, [esi+ecx*4+4] - mul ebp - lea edi, [edi+ecx*4] - mov ebx, edx - mov edx, [esp+12] - test ecx, 1 - mov ecx, eax - cmovnz ecx, ebx - cmovnz ebx, eax - jmp edx - - align 32 -.5: add edi, 64 -.loop_base: - rloop ebx, ecx, 0 - rloop ecx, ebx, 1 - rloop ebx, ecx, 2 - rloop ecx, ebx, 3 - rloop ebx, ecx, 4 - rloop ecx, ebx, 5 - rloop ebx, ecx, 6 - rloop ecx, ebx, 7 - rloop ebx, ecx, 8 - rloop ecx, ebx, 9 - rloop ebx, ecx, 10 - rloop ecx, ebx, 11 - rloop ebx, ecx, 12 - rloop ecx, ebx, 13 - rloop ebx, ecx, 14 - rloop ecx, ebx, 15 - - dec dword [esp+4] - lea esi, [esi+64] - jns .5 - - add [edi+64], ecx - mov edi, [esp+36] - adc ebx, 0 - mov [edi], ebx - dec dword [esp] - lea edi, [edi+4] - jnz .4 - - add esp, 16 - pop ebx - pop esi - pop edi - pop ebp - ret - - end diff --git a/build.vc15/assembler/a_x64_mulredc.asm b/build.vc15/assembler/a_x64_mulredc.asm deleted file mode 100644 index 4f09d33c..00000000 --- a/build.vc15/assembler/a_x64_mulredc.asm +++ /dev/null @@ -1,237 +0,0 @@ -; -; Part of GMP-ECM -; -; mp_limb_t mulredc1( MSVC 1 limb -; mp_limb_t *z, rcx -; const mp_limb_t x, rdx -; const mp_limb_t y, r8 -; const mp_limb_t m, r9 -; mp_limb_t inv_m [rsp+0x28] -; ) -; -; mp_limb_t mulredc<limbs>( MSVC > 1 limb -; mp_limb_t *z, rcx -; const mp_limb_t *x, rdx -; const mp_limb_t *y, r8 -; const mp_limb_t *m, r9 -; mp_limb_t inv_m [rsp+0x28] -; ) - -%macro mseq_1 4 - mov %2, rcx - mul r14 - add %1, rax - mov rax, [r9+8*%3] - adc %2, rdx - mul r11 -%if %3 < %4 - 1 - add rax, %1 - mov [rbp+8*(%3-1)], rax - mov rax, [r8+8*(%3+1)] - adc %2, rdx - setc cl -%else - add %1, rax - mov [rbp+8*(%3-1)], %1 - adc %2, rdx - mov [rbp+8*%3], %2 - setc cl - mov [rbp+8*(%3+1)], rcx -%endif -%endmacro - -%macro mseq_20 2 - mov r14, [r13+r12*8] - mov rax, [r8] - mov %1, [rbp] - mov %2, [rbp+8] - mul r14 - add r12, 1 - add rax, %1 - adc %2, rdx - setc cl - mov %1, rax - imul rax, r10 - mov r11, rax - mul qword [r9] - add %1, rax - adc %2, rdx - mov rax, [r8+8] -%endmacro - -%macro mseq_2 4 - mov %2, [rbp+8*(%3+1)] - adc %2, rcx -%if %3 < %4 - 1 - setc cl -%endif - mul r14 - add %1, rax - mov rax, [r9+8*%3] - adc %2, rdx -%if %3 < %4 - 1 - adc cl, 0 -%else - setc cl -%endif - mul r11 -%if %3 < %4 - 1 - add rax, %1 - mov [rbp+8*(%3-1)], rax - adc %2, rdx - mov rax, [r8+8*(%3+1)] -%else - add %1, rax - mov [rbp+8*(%3-1)], %1 - adc %2, rdx - mov [rbp+8*%3],%2 - adc cl, 0 - mov [rbp+8*(%3+1)], rcx -%endif -%endmacro - -%macro store 1 -%assign i 0 -%rep %1 - %if i == %1 - 1 && (%1 & 1) - mov rax, [rbp+8*i] - mov [rdi+8*i], rax - %elif (i & 1) - mov [rdi+8*(i-1)], rax - mov [rdi+8*i], rdx - %else - mov rax, [rbp+8*i] - mov rdx, [rbp+8*(i+1)] - %endif - %assign i i + 1 -%endrep -%endmacro - -%macro mulredc 1 - -%assign limbs %1 -%define f_name(x) mulredc %+ x -%define stack_space 8 * (limbs + 1 + (limbs & 1)) - - global f_name(limbs) -%ifdef DLL - export f_name(limbs) -%endif - - align 64 - -PROC_FRAME f_name(limbs) ; SEH Frame - push_reg rbp - push_reg rbx - push_reg rsi - push_reg rdi - push_reg r12 - push_reg r13 - push_reg r14 - alloc_stack stack_space -END_PROLOGUE - ; *y in r8 - mov rdi, rcx ; *z -> rdi - mov r13, rdx ; *x -> r13 - mov r10, [rsp+8*12+stack_space] ; invm -> r10 - ; *m in r9 - mov r14, [r13] - mov rax, [r8] - xor rcx, rcx - lea rbp, [rsp] - mov r12, rcx - mul qword r14 - add r12, 1 - mov rsi, rax - mov rbx, rdx - imul rax, r10 - mov r11, rax - mul qword [r9] - add rsi, rax - mov rax, [r8+8] - adc rbx, rdx - setc cl - -%assign j 1 -%rep limbs - 1 -%if (j & 1) - mseq_1 rbx, rsi, j, limbs -%else - mseq_1 rsi, rbx, j, limbs -%endif - %assign j j + 1 -%endrep - - align 32 -.1: - -%assign j 1 -%if (limbs & 1) - mseq_20 rsi, rbx - %rep limbs - 1 - %if (j & 1) - mseq_2 rbx, rsi, j, limbs - %else - mseq_2 rsi, rbx, j, limbs - %endif - %assign j j + 1 - %endrep -%else - mseq_20 rbx, rsi - %rep limbs - 1 - %if (j & 1) - mseq_2 rsi, rbx, j, limbs - %else - mseq_2 rbx, rsi, j, limbs - %endif - %assign j j + 1 - %endrep -%endif - - cmp r12, limbs - jb .1 - - store limbs - - mov rax, rcx - add rsp, stack_space - pop r14 - pop r13 - pop r12 - pop rdi - pop rsi - pop rbx - pop rbp - ret -ENDPROC_FRAME -%endmacro - - bits 64 - section .text - - global mulredc1 -%ifdef DLL - export mulredc1 -%endif - - align 64 -mulredc1: - mov rax, r8 - mul rdx - mov r10, rax - mov r11, rdx - mul qword [rsp+0x28] - mul r9 - add rax, r10 - adc rdx, r11 - mov [rcx], rdx - adc rax, 0 - ret - -%assign i 2 -%rep 19 ; 2..20 inclusive - mulredc i - %assign i i + 1 -%endrep - - end diff --git a/build.vc15/assembler/a_x64_redc.asm b/build.vc15/assembler/a_x64_redc.asm deleted file mode 100644 index 49a02452..00000000 --- a/build.vc15/assembler/a_x64_redc.asm +++ /dev/null @@ -1,161 +0,0 @@ -; -; Part of GMP-ECM -; -; void ecm_redc3( -; mp_limb_t *z, rdi r8 <- rcx -; const mp_limb_t *x, rsi r9 <- rdx -; size_t n, rdx r10 <- r8 -; mp_limb_t m rcx r11 <- r9 -; ) - -%macro rloop 3 - mov rax,[byte rsi+8*%3] - mul rbp - add [byte rdi+8*%3], %1 - adc %2, rax - mov %1, rdx - adc %1, 0 -%endmacro - - bits 64 - section .text - - global ecm_redc3 -%ifdef DLL - export ecm_redc3 -%endif - -PROC_FRAME ecm_redc3 - push_reg rbp - push_reg rbx - push_reg rsi - push_reg rdi - alloc_stack 5*8 -END_PROLOGUE - mov rdi, rcx - mov rsi, rdx - mov rdx, r8 - mov rcx, r9 - - mov r8, rdi - mov r9, rsi - mov r10, rdx - mov r11, rcx - - mov rcx, r10 - mov [rsp], rcx - cmp rcx, 3 - jae .unroll - -.1: mov rbp, r11 - mov rsi, r9 - imul rbp, [rdi] - mov r8, rdi - mov rcx, r10 - xor rbx, rbx - -.2: mov rax, [rsi] - add rdi, 8 - mul rbp - add rsi, 8 - add rax, rbx - adc rdx, 0 - add [rdi-8], rax - adc rdx, 0 - dec rcx - mov rbx, rdx - jnz .2 - mov rdi, r8 - mov [rdi], rbx - dec qword [rsp] - lea rdi, [rdi+8] - jnz .1 - - add rsp, 5*8 - pop rdi - pop rsi - pop rbx - pop rbp - ret - -.unroll: - mov rdx, rcx - dec rcx - sub rdx, 2 - neg rcx - shr rdx, 4 - and rcx, 15 - mov [rsp+16], rdx - mov rdx, rcx - shl rdx, 4 - lea r10, [.loop_base wrt rip] - add rdx, r10 - lea rdx, [rdx+rcx*4] - add rdx, rcx - neg rcx - mov r10, rcx - mov [rsp+24], rdx - -.4: mov rbp, r11 - mov rsi, r9 - imul rbp, [rdi] - mov r8, rdi - mov rcx, r10 - mov rdx, [rsp+16] - mov [rsp+8], rdx - - mov rax, [rsi] - lea rsi, [rsi+rcx*8+8] - mul rbp - lea rdi, [rdi+rcx*8] - mov rbx, rdx - - mov rdx, [rsp+24] - test rcx, 1 - mov rcx, rax - cmovnz rcx, rbx - cmovnz rbx, rax - jmp rdx - - align 64 - -.5: add rdi, 128 -.loop_base: - rloop rcx, rbx, 0 - rloop rbx, rcx, 1 - rloop rcx, rbx, 2 - rloop rbx, rcx, 3 - rloop rcx, rbx, 4 - rloop rbx, rcx, 5 - rloop rcx, rbx, 6 - rloop rbx, rcx, 7 - rloop rcx, rbx, 8 - rloop rbx, rcx, 9 - rloop rcx, rbx, 10 - rloop rbx, rcx, 11 - rloop rcx, rbx, 12 - rloop rbx, rcx, 13 - rloop rcx, rbx, 14 - rloop rbx, rcx, 15 - - dec qword [rsp+8] - lea rsi, [rsi+128] - jns .5 - - add [rdi+128], rcx - mov rdi, r8 - adc rbx, 0 - mov [rdi], rbx - dec qword [rsp] - lea rdi, [rdi+8] - jnz .4 - - add rsp, 5*8 - pop rdi - pop rsi - pop rbx - pop rbp - ret -ENDPROC_FRAME - - end diff --git a/build.vc15/assembler/mulredc.asm b/build.vc15/assembler/mulredc.asm deleted file mode 100644 index ffe18e1c..00000000 --- a/build.vc15/assembler/mulredc.asm +++ /dev/null @@ -1,8 +0,0 @@ - -%ifdef _WIN64 -%include "a_x64_mulredc.asm" -%elifdef AMD_ASM -%include "a_win32a_mulredc.asm" -%else -%include "a_win32p_mulredc.asm" -%endif diff --git a/build.vc15/assembler/mulredc.h b/build.vc15/assembler/mulredc.h deleted file mode 100644 index 8902af37..00000000 --- a/build.vc15/assembler/mulredc.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef __ASM_REDC_H__ -#define __ASM_REDC_H__ - -#include <gmp.h> - -extern void ecm_redc3(mp_limb_t *cp, const mp_limb_t *np, mp_size_t nn, mp_limb_t Nprim); - - -/* WARNING: the size-1 version doesn't take pointers in input */ -extern mp_limb_t mulredc1(mp_limb_t *z, mp_limb_t x, mp_limb_t y, mp_limb_t m, mp_limb_t inv_m); - -extern mp_limb_t mulredc2(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc3(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc4(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc5(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc6(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc7(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc8(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc9(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc10(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc11(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc12(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc13(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc14(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc15(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc16(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc17(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc18(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc19(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); -extern mp_limb_t mulredc20(mp_limb_t *z, const mp_limb_t *x, const mp_limb_t *y, const mp_limb_t *m, mp_limb_t inv_m); - -#endif diff --git a/build.vc15/assembler/redc.asm b/build.vc15/assembler/redc.asm deleted file mode 100644 index 1653e1ce..00000000 --- a/build.vc15/assembler/redc.asm +++ /dev/null @@ -1,7 +0,0 @@ -%ifdef _WIN64 -%include "a_x64_redc.asm" -%elif AMD_ASM -%include "a_win32a_redc.asm" -%else -%include "a_win32p_redc.asm" -%endif diff --git a/build.vc15/assembler/test_mulredc.c b/build.vc15/assembler/test_mulredc.c deleted file mode 100644 index f95234da..00000000 --- a/build.vc15/assembler/test_mulredc.c +++ /dev/null @@ -1,303 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <assert.h> - -#include <gmp.h> - -#include "asmredc.h" - -void mp_print(mp_limb_t *x, int N) { - int i; - for (i = 0; i < N-1; ++i) - printf("%lu + W*(", x[i]); - printf("%lu", x[N-1]); - for (i = 0; i < N-1; ++i) - printf(")"); - printf("\n"); -} - -static mp_limb_t -call_mulredc (int N, mp_limb_t *z, mp_limb_t *x, mp_limb_t *y, mp_limb_t *m, - mp_limb_t invm) -{ - mp_limb_t cy; - - switch (N) - { - case 1: - cy = mulredc1(z, x[0], y[0], m[0], invm); - break; - case 2: - cy = mulredc2(z, x, y, m, invm); - break; - case 3: - cy = mulredc3(z, x, y, m, invm); - break; - case 4: - cy = mulredc4(z, x, y, m, invm); - break; - case 5: - cy = mulredc5(z, x, y, m, invm); - break; - case 6: - cy = mulredc6(z, x, y, m, invm); - break; - case 7: - cy = mulredc7(z, x, y, m, invm); - break; - case 8: - cy = mulredc8(z, x, y, m, invm); - break; - case 9: - cy = mulredc9(z, x, y, m, invm); - break; - case 10: - cy = mulredc10(z, x, y, m, invm); - break; - case 11: - cy = mulredc11(z, x, y, m, invm); - break; - case 12: - cy = mulredc12(z, x, y, m, invm); - break; - case 13: - cy = mulredc13(z, x, y, m, invm); - break; - case 14: - cy = mulredc14(z, x, y, m, invm); - break; - case 15: - cy = mulredc15(z, x, y, m, invm); - break; - case 16: - cy = mulredc16(z, x, y, m, invm); - break; - case 17: - cy = mulredc17(z, x, y, m, invm); - break; - case 18: - cy = mulredc18(z, x, y, m, invm); - break; - case 19: - cy = mulredc19(z, x, y, m, invm); - break; - case 20: - cy = mulredc20(z, x, y, m, invm); - break; - default: - cy = mulredc20(z, x, y, m, invm); - } - return cy; -} - -void test(mp_size_t N, int k) -{ - mp_limb_t *x, *y, *yp, *z, *m, invm, cy, cy2, *tmp, *tmp2, *tmp3; - int i, j; - - x = (mp_limb_t *) malloc(N*sizeof(mp_limb_t)); - y = (mp_limb_t *) malloc(N*sizeof(mp_limb_t)); - z = (mp_limb_t *) malloc((N+1)*sizeof(mp_limb_t)); - m = (mp_limb_t *) malloc(N*sizeof(mp_limb_t)); - tmp = (mp_limb_t *) malloc((2*N+2)*sizeof(mp_limb_t)); - tmp2 = (mp_limb_t *) malloc((2*N+2)*sizeof(mp_limb_t)); - tmp3 = (mp_limb_t *) malloc((2*N+2)*sizeof(mp_limb_t)); - - if (x == NULL || y == NULL || z == NULL || m == NULL || tmp == NULL || - tmp2 == NULL || tmp3 == NULL) - { - fprintf (stderr, "Cannot allocate memory in test_mulredc\n"); - exit (1); - } - - mpn_random2(m, N); - m[0] |= 1UL; - if (m[N-1] == 0) - m[N-1] = 1UL; - - invm = 1UL; - for (i = 0; i < 10; ++i) - invm = (2*invm-m[0]*invm*invm); - invm = -invm; - - assert( (invm*m[0] +1UL) == 0UL); - - yp = y; - for (i=0; i < k; ++i) { - /* Try a few special cases */ - if (i == 0) - { - /* Try all 0, product should be 0 */ - for (j = 0; j < N; j++) - x[j] = y[j] = 0; - } - else if (i == 1) - { - /* Try all 1 */ - for (j = 0; j < N; j++) - x[j] = y[j] = 1; - } - else if (i == 2) - { - /* Try all 2^wordsize - 1 */ - for (j = 0; j < N; j++) - x[j] = y[j] = ~(0UL); - } - else - { - /* In the other cases, try random data */ - if (i % 2 == 0) - { - /* Try squaring */ - mpn_random2(x, N); - yp = x; - } - else - { - /* Try multiplication */ - mpn_random2(x, N); - mpn_random2(y, N); - } - } - - // Mul followed by ecm_redc3 - mpn_mul_n(tmp, x, yp, N); - ecm_redc3(tmp, m, N, invm); - cy2 = mpn_add_n (tmp2, tmp + N, tmp, N); - - // Mixed mul and redc - cy = call_mulredc (N, z, x, yp, m, invm); - - if (cy != cy2) - printf ("i = %d: mulredc cy = %ld, mpn_mul_n/ecm_redc3 cy = %ld\n", - i, (long) cy, (long) cy2); - assert (cy == cy2); - if (mpn_cmp(z,tmp2, N) != 0) - { - printf ("i = %d\nmulredc = ", i); - for (j = N - 1; j >= 0; j--) - printf ("%lx ", z[j]); - printf ("\nmpn_mul_n/ecm_redc3 = "); - for (j = N - 1; j >= 0; j--) - printf ("%lx ", tmp2[j]); - printf ("\n"); - assert (mpn_cmp(z,tmp2, N) == 0); - } - - if (cy) - printf("!"); - z[N] = cy; - // Check with pure gmp : multiply by 2^(N*GMP_NUMB_BITS) and compare. - for (j=0; j < N; ++j) { - tmp[j] = 0; - tmp[j+N] = z[j]; - } - tmp[2*N] = z[N]; - mpn_tdiv_qr(tmp2, tmp3, 0, tmp, 2*N+1, m, N); - for (j=0; j < N; ++j) - z[j] = tmp3[j]; - - mpn_mul_n(tmp, x, yp, N); - mpn_tdiv_qr(tmp2, tmp3, 0, tmp, 2*N, m, N); - - assert(mpn_cmp(z, tmp3, N) == 0); - } - - free(tmp); free(tmp2); free(tmp3); - free(x); free(y); free(z); free(m); -} - - - -int main(int argc, char** argv) -{ - int i, len; - - if (argc > 1) /* Test a specific length */ - { - len = atoi (argv[1]); - for (i = 0; i < 1; i++) - test (len, 1000000); - return 0; - } - - for (;;) { - for (i = 1; i <= 20; ++i) { - test(i, 1000); - } -#if 0 - test(1, 1000); - test(2, 1000); - test(3, 1000); - test(4, 1000); - test(5, 1000); - test(6, 1000); - test(7, 1000); - test(8, 1000); - test(9, 1000); - test(10, 1000); - test(11, 1000); - test(12, 1000); - test(13, 100); - test(14, 100); - test(15, 100); - test(16, 100); - test(17, 100); - test(18, 100); - test(44, 10); - test(45, 10); - test(46, 10); - test(47, 10); - test(48, 10); - test(49, 10); -#endif - printf("."); fflush(stdout); - } -#if 0 - x[0] = 12580274668139321508UL; - x[1] = 9205793975152560417UL; - x[2] = 7857372727033793057UL; - - y[0] = 13688385828267279103UL; - y[1] = 10575011835742767258UL; - y[2] = 8802048318027595690UL; - - - m[0] = 2981542467342508025UL; - m[1] = 5964669706257742025UL; - m[2] = 18446744073678090270UL; - - invm = 9419286575570128311UL; - - carry = mulredc(z, x, y, m, 3, invm); - - printf("%lu + 2^64*(%lu + 2^64*%lu), carry=%lu\n", z[0], z[1], z[2], carry); -#endif - return 0; -} - - -#if 0 - -W := 2^64; - -x0:= 12580274668139321508; -x1:= 9205793975152560417; -x2:= 7857372727033793057; -x := x0 + W*(x1 + W*x2); - -y0:= 13688385828267279103; -y1:= 10575011835742767258; -y2:= 8802048318027595690; -y := y0 + W*(y1 + W*y2); - -m0:= 2981542467342508025; -m1:= 5964669706257742025; -m2:= 18446744073678090270; -m := m0 + W*(m1 + W*m2); - -invm := 9419286575570128311; - - - -#endif diff --git a/build.vc15/bench_mulredc/Makefile.am b/build.vc15/bench_mulredc/Makefile.am deleted file mode 100644 index 5a7c0bc7..00000000 --- a/build.vc15/bench_mulredc/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = bench_mulredc.vcxproj bench_mulredc.vcxproj.filters diff --git a/build.vc15/bench_mulredc/bench_mulredc.vcxproj b/build.vc15/bench_mulredc/bench_mulredc.vcxproj deleted file mode 100644 index cd4daa80..00000000 --- a/build.vc15/bench_mulredc/bench_mulredc.vcxproj +++ /dev/null @@ -1,171 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{4727DE12-787D-432D-B166-BF103B0C3C87}</ProjectGuid> - <Keyword>Win32Proj</Keyword> - <RootNamespace>bench_mulredc</RootNamespace> - <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(SolutionDir)..bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir>$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(SolutionDir)..bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir>$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir>$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir>$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)$(IntDir);..\..\;..\assembler;..\</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <AdditionalDependencies>psapi.lib;..\..\..\$(mp_dir)$(IntDir)\mpir.lib;..\..\lib\$(IntDir)\libecm.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_WIN64;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)$(IntDir);..\..\;..\assembler;..\</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <AdditionalDependencies>psapi.lib;..\..\..\$(mp_dir)$(IntDir)\mpir.lib;..\..\lib\$(IntDir)\libecm.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <PrecompiledHeader> - </PrecompiledHeader> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)$(IntDir);..\..\;..\assembler;..\</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <AdditionalDependencies>psapi.lib;..\..\..\$(mp_dir)$(IntDir)\mpir.lib;..\..\lib\$(IntDir)\libecm.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <PrecompiledHeader> - </PrecompiledHeader> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>_WIN64;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)$(IntDir);..\..\;..\assembler;..\</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <AdditionalDependencies>psapi.lib;..\..\..\$(mp_dir)$(IntDir)\mpir.lib;..\..\lib\$(IntDir)\libecm.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="..\..\bench_mulredc.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/bench_mulredc/bench_mulredc.vcxproj.filters b/build.vc15/bench_mulredc/bench_mulredc.vcxproj.filters deleted file mode 100644 index 5e88a3d4..00000000 --- a/build.vc15/bench_mulredc/bench_mulredc.vcxproj.filters +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\bench_mulredc.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/config.h b/build.vc15/config.h deleted file mode 100644 index 67936b0a..00000000 --- a/build.vc15/config.h +++ /dev/null @@ -1,246 +0,0 @@ -/* config.h.in. Generated from configure.in by autoheader. */ - -#define VERSION ECM_VERSION - -#define VERSION_GPU "gpu_ecm-win" - -#define PACKAGE_BUGREPORT "ecm-discuss@inria.fr" - -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -#undef CRAY_STACKSEG_END - -/* Define to 1 if using `alloca.c'. */ -#define C_ALLOCA 1 - -/* Define to 1 if you have the `access' function. */ -#undef HAVE_ACCESS - -/* Define to 1 if you have `alloca', as a function or macro. */ -#define HAVE_ALLOCA 1 - -/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). - */ -#undef HAVE_ALLOCA_H - -/* Define to 1 if you have the `ctime' function. */ -#define HAVE_CTIME 1 - -/* Define to 1 if you have the <ctype.h> header file. */ -#define HAVE_CTYPE_H 1 - -/* Define to 1 if you have the `floor' function. */ -#define HAVE_FLOOR 1 - -/* Define to 1 if you have the `fmod' function. */ -#define HAVE_FMOD 1 - -/* Define to 1 if you have the `gethostname' function. */ -#define HAVE_GETHOSTNAME 1 - -/* Define to 1 if you have the `getrusage' function. */ -#define HAVE_GETRUSAGE 1 - -/* Define to 1 if you have the `gettimeofday' function. */ -#undef HAVE_GETTIMEOFDAY - -/* Define to 1 if you have the <gmp.h> header file. */ -#define HAVE_GMP_H 1 - -/* Define to 1 if gwnum.a or gwnum.lib exist */ -#undef HAVE_GWNUM - -/* Define to 1 if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the <io.h> header file. */ -#undef HAVE_IO_H - -/* Define to 1 if you have the `isascii' function. */ -#undef HAVE_ISASCII - -/* Define to 1 if you have the `isdigit' function. */ -#define HAVE_ISDIGIT 1 - -/* Define to 1 if you have the `isspace' function. */ -#define HAVE_ISSPACE 1 - -/* Define to 1 if you have the `isxdigit' function. */ -#define HAVE_ISXDIGIT 1 - -/* Define to 1 if you have the `m' library (-lm). */ -#undef HAVE_LIBM - -/* Define to 1 if you have the <limits.h> header file. */ -#define HAVE_LIMITS_H 1 - -/* Define to 1 if you have the <malloc.h> header file. */ -#define HAVE_MALLOC_H 1 - -/* Define to 1 if you have the `malloc_usable_size' function. */ -#undef HAVE_MALLOC_USABLE_SIZE - -/* Define to 1 if you have the <math.h> header file. */ -#define HAVE_MATH_H 1 - -/* Define to 1 if you have the `memmove' function. */ -#define HAVE_MEMMOVE 1 - -/* Define to 1 if you have the <memory.h> header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have the `memset' function. */ -#define HAVE_MEMSET 1 - -/* Define to 1 if you have the `nice' function. */ -#undef HAVE_NICE - -/* Define to 1 if you have the `pow' function. */ -#define HAVE_POW 1 - -/* Define to 1 if you have the `signal' function. */ -#define HAVE_SIGNAL 1 - -/* Define to 1 if you have the <signal.h> header file. */ -#define HAVE_SIGNAL_H 1 - -/* Define to 1 if you have the `sqrt' function. */ -#define HAVE_SQRT 1 - -/* Define to 1 if you have the <stdint.h> header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the <stdlib.h> header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the `strchr' function. */ -#define HAVE_STRCHR 1 - -/* Define to 1 if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the <string.h> header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the `strlen' function. */ -#define HAVE_STRLEN 1 - -/* Define to 1 if you have the `strncasecmp' function. */ -#undef HAVE_STRNCASECMP - -/* Define to 1 if you have the `strstr' function. */ -#undef HAVE_STRSTR - -/* Define to 1 if you have the <sys/resource.h> header file. */ -#undef HAVE_SYS_RESOURCE_H - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the <sys/time.h> header file. */ -#undef HAVE_SYS_TIME_H - -/* Define to 1 if you have the <sys/types.h> header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the `time' function. */ -#undef HAVE_TIME - -/* Define to 1 if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have the `unlink' function. */ -#define HAVE_UNLINK 1 - -/* Define to 1 if you have the <windows.h> header file. */ -#define HAVE_WINDOWS_H 1 - -/* Define to 1 if you have the `__gmpn_add_nc' function. */ -#if defined( _WIN64 ) -# define HAVE___GMPN_ADD_NC 1 -#endif - -/* Define to 1 if you have the `__gmpn_mod_34lsub1' function. */ -#define HAVE___GMPN_MOD_34LSUB1 1 - -/* Define to 1 if you have the `__gmpn_mul_fft' function. */ -#define HAVE___GMPN_MUL_FFT 1 - -/* Define to 1 if you want memory debugging */ -#undef MEMORY_DEBUG - -/* Define if the system has the type `long long'. */ -#define HAVE_LONG_LONG 1 -#define HAVE_LONG_LONG_INT 1 - -/* Define to 1 to use asm redc on x86 or x86_64 */ -# define NATIVE_REDC 1 - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at runtime. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ -#undef STACK_DIRECTION - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ -#undef TIME_WITH_SYS_TIME - -/* Define to 1 if you want assertions enabled */ -#undef WANT_ASSERT - -/* Define to 1 if you want shell command execution */ -#undef WANT_SHELLCMD - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* How to specify hot-spot attribute, if available */ -#define ATTRIBUTE_HOT - -#define HAVE___GMPN_REDC_1 1 - -#define HAVE___GMPN_REDC_2 1 - -#define HAVE_ASM_REDC3 1 - -#define WINDOWS64_ABI 1 - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -#define inline __inline -#endif - -/* Define to `unsigned int' if <sys/types.h> does not define. */ -#undef size_t - -#define PRIdSIZE "Id" -#define PRIuSIZE "Iu" - -#ifdef _MSC_VER - -#define __func__ __FUNCTION__ - -/* define Windows tuning here */ -# define __tune_corei7__ - -# if _MSC_VER < 1600 -# define int64_t __int64 -# define uint64_t unsigned __int64 -# endif -# define strncasecmp strnicmp -# define access _access -# define alloca _alloca -# define fseek64 _fseek64 -# define ftell64 _ftell64 -# define omp_get_thread_limit omp_get_max_threads -#endif diff --git a/build.vc15/ecm.sln b/build.vc15/ecm.sln deleted file mode 100644 index e5543917..00000000 --- a/build.vc15/ecm.sln +++ /dev/null @@ -1,70 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libecm", "libecm\libecm.vcxproj", "{CD555681-D65B-4173-A29C-B8BF06A4871B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ecm", "ecm\ecm.vcxproj", "{C0E2EA85-996A-4B5F-AD30-590FAF5B7187}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tune", "tune\tune.vcxproj", "{80E08750-5C6C-492E-BB1E-7200978AE125}" - ProjectSection(ProjectDependencies) = postProject - {CD555681-D65B-4173-A29C-B8BF06A4871B} = {CD555681-D65B-4173-A29C-B8BF06A4871B} - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187} = {C0E2EA85-996A-4B5F-AD30-590FAF5B7187} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bench_mulredc", "bench_mulredc\bench_mulredc.vcxproj", "{4727DE12-787D-432D-B166-BF103B0C3C87}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "multiecm", "multiecm\multiecm.vcxproj", "{16434DC2-371C-451B-A336-820499B98B8C}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Debug|Win32.ActiveCfg = Debug|Win32 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Debug|Win32.Build.0 = Debug|Win32 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Debug|x64.ActiveCfg = Debug|x64 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Debug|x64.Build.0 = Debug|x64 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Release|Win32.ActiveCfg = Release|Win32 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Release|Win32.Build.0 = Release|Win32 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Release|x64.ActiveCfg = Release|x64 - {CD555681-D65B-4173-A29C-B8BF06A4871B}.Release|x64.Build.0 = Release|x64 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Debug|Win32.ActiveCfg = Debug|Win32 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Debug|Win32.Build.0 = Debug|Win32 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Debug|x64.ActiveCfg = Debug|x64 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Debug|x64.Build.0 = Debug|x64 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Release|Win32.ActiveCfg = Release|Win32 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Release|Win32.Build.0 = Release|Win32 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Release|x64.ActiveCfg = Release|x64 - {C0E2EA85-996A-4B5F-AD30-590FAF5B7187}.Release|x64.Build.0 = Release|x64 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Debug|Win32.ActiveCfg = Release|x64 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Debug|x64.ActiveCfg = Release|x64 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Debug|x64.Build.0 = Release|x64 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Release|Win32.ActiveCfg = Release|Win32 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Release|Win32.Build.0 = Release|Win32 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Release|x64.ActiveCfg = Release|x64 - {80E08750-5C6C-492E-BB1E-7200978AE125}.Release|x64.Build.0 = Release|x64 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Debug|Win32.ActiveCfg = Debug|Win32 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Debug|Win32.Build.0 = Debug|Win32 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Debug|x64.ActiveCfg = Debug|x64 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Debug|x64.Build.0 = Debug|x64 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Release|Win32.ActiveCfg = Release|Win32 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Release|Win32.Build.0 = Release|Win32 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Release|x64.ActiveCfg = Release|x64 - {4727DE12-787D-432D-B166-BF103B0C3C87}.Release|x64.Build.0 = Release|x64 - {16434DC2-371C-451B-A336-820499B98B8C}.Debug|Win32.ActiveCfg = Debug|Win32 - {16434DC2-371C-451B-A336-820499B98B8C}.Debug|Win32.Build.0 = Debug|Win32 - {16434DC2-371C-451B-A336-820499B98B8C}.Debug|x64.ActiveCfg = Debug|x64 - {16434DC2-371C-451B-A336-820499B98B8C}.Debug|x64.Build.0 = Debug|x64 - {16434DC2-371C-451B-A336-820499B98B8C}.Release|Win32.ActiveCfg = Release|Win32 - {16434DC2-371C-451B-A336-820499B98B8C}.Release|Win32.Build.0 = Release|Win32 - {16434DC2-371C-451B-A336-820499B98B8C}.Release|x64.ActiveCfg = Release|x64 - {16434DC2-371C-451B-A336-820499B98B8C}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/build.vc15/ecm/Makefile.am b/build.vc15/ecm/Makefile.am deleted file mode 100644 index 2f05e85c..00000000 --- a/build.vc15/ecm/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = ecm.vcxproj ecm.vcxproj.filters diff --git a/build.vc15/ecm/ecm.vcxproj b/build.vc15/ecm/ecm.vcxproj deleted file mode 100644 index 2ad6bf2b..00000000 --- a/build.vc15/ecm/ecm.vcxproj +++ /dev/null @@ -1,240 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{C0E2EA85-996A-4B5F-AD30-590FAF5B7187}</ProjectGuid> - <RootNamespace>ecm</RootNamespace> - <Keyword>Win32Proj</Keyword> - <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 9.2.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>false</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX86</TargetMachine> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>ws2_32.lib;..\..\..\$(mp_dir)lib\$(Platform)\release\$(mp_lib);%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>EditAndContinue</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX86</TargetMachine> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c" /> - <ClCompile Include="..\..\auxi.c" /> - <ClCompile Include="..\..\b1_ainc.c" /> - <ClCompile Include="..\..\candi.c" /> - <ClCompile Include="..\..\eval.c" /> - <ClCompile Include="..\..\getprime_r.c" /> - <ClCompile Include="..\..\main.c" /> - <ClCompile Include="..\..\memusage.c" /> - <ClCompile Include="..\..\resume.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\champions.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\getprime_r.h" /> - <ClInclude Include="..\..\longlong.h" /> - <ClInclude Include="..\config.h" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\libecm\libecm.vcxproj"> - <Project>{cd555681-d65b-4173-a29c-b8bf06a4871b}</Project> - <ReferenceOutputAssembly>false</ReferenceOutputAssembly> - </ProjectReference> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 9.2.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/ecm/ecm.vcxproj.filters b/build.vc15/ecm/ecm.vcxproj.filters deleted file mode 100644 index a806e09e..00000000 --- a/build.vc15/ecm/ecm.vcxproj.filters +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\b1_ainc.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\candi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\eval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\main.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\resume.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\memusage.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime_r.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\getprime_r.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/ecm_gpu.sln b/build.vc15/ecm_gpu.sln deleted file mode 100644 index 87325a62..00000000 --- a/build.vc15/ecm_gpu.sln +++ /dev/null @@ -1,39 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libecm_gpu", "libecm_gpu\libecm_gpu.vcxproj", "{3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ecm_gpu", "ecm_gpu\ecm_gpu.vcxproj", "{1B353D8B-9808-4EB3-A5E7-075D751757AD}" - ProjectSection(ProjectDependencies) = postProject - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00} = {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Debug|Win32.ActiveCfg = Debug|Win32 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Debug|Win32.Build.0 = Debug|Win32 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Debug|x64.ActiveCfg = Debug|x64 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Debug|x64.Build.0 = Debug|x64 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Release|Win32.ActiveCfg = Release|Win32 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Release|Win32.Build.0 = Release|Win32 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Release|x64.ActiveCfg = Release|x64 - {3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}.Release|x64.Build.0 = Release|x64 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Debug|Win32.ActiveCfg = Debug|Win32 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Debug|Win32.Build.0 = Debug|Win32 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Debug|x64.ActiveCfg = Debug|x64 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Debug|x64.Build.0 = Debug|x64 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Release|Win32.ActiveCfg = Release|Win32 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Release|Win32.Build.0 = Release|Win32 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Release|x64.ActiveCfg = Release|x64 - {1B353D8B-9808-4EB3-A5E7-075D751757AD}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/build.vc15/ecm_gpu/Makefile.am b/build.vc15/ecm_gpu/Makefile.am deleted file mode 100644 index 0b43ffe2..00000000 --- a/build.vc15/ecm_gpu/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = ecm_gpu.vcxproj ecm_gpu.vcxproj.filters libecm_gpu.vcxproj libecm_gpu.vcxproj.filters diff --git a/build.vc15/ecm_gpu/ecm.vcxproj.filters b/build.vc15/ecm_gpu/ecm.vcxproj.filters deleted file mode 100644 index f3880aba..00000000 --- a/build.vc15/ecm_gpu/ecm.vcxproj.filters +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\b1_ainc.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\candi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\eval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\main.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\resume.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/ecm_gpu/ecm_gpu.vcxproj b/build.vc15/ecm_gpu/ecm_gpu.vcxproj deleted file mode 100644 index 3752b8b8..00000000 --- a/build.vc15/ecm_gpu/ecm_gpu.vcxproj +++ /dev/null @@ -1,280 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{1B353D8B-9808-4EB3-A5E7-075D751757AD}</ProjectGuid> - <RootNamespace>ecm_gpu</RootNamespace> - <Keyword>Win32Proj</Keyword> - <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 10.1.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)$(IntDir)$(mp_lib);..\..\lib\$(IntDir)libecm_gpu.lib;advapi32.lib;ws2_32.lib;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\$(Platform)\cudart.lib</AdditionalDependencies> - <GenerateDebugInformation>false</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>NotSet</TargetMachine> - </Link> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <TargetMachinePlatform>32</TargetMachinePlatform> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <PtxAsOptionV>true</PtxAsOptionV> - <Defines> - </Defines> - </CudaCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;_WIN64;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>ws2_32.lib;..\..\..\$(mp_dir)lib\$(Platform)\release\$(mp_lib);%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>NotSet</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>EditAndContinue</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)$(IntDir)$(mp_lib);..\..\lib\$(IntDir)libecm_gpu.lib;advapi32.lib;ws2_32.lib;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\$(Platform)\cudart.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>NotSet</TargetMachine> - </Link> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <TargetMachinePlatform>32</TargetMachinePlatform> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <PtxAsOptionV>true</PtxAsOptionV> - <Defines> - </Defines> - </CudaCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;_WIN64;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)$(IntDir)$(mp_lib);..\..\lib\$(IntDir)libecm_gpu.lib;advapi32.lib;ws2_32.lib;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\$(Platform)\cudart.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>NotSet</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <TargetMachinePlatform>64</TargetMachinePlatform> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <PtxAsOptionV>true</PtxAsOptionV> - <Defines> - </Defines> - </CudaCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)$(IntDir)$(mp_lib);..\..\lib\$(IntDir)libecm_gpu.lib;advapi32.lib;ws2_32.lib;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\$(Platform)\cudart.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <TargetMachinePlatform>64</TargetMachinePlatform> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <PtxAsOptionV>true</PtxAsOptionV> - <Defines> - </Defines> - </CudaCompile> - <CudaLink> - <AdditionalDependencies> - </AdditionalDependencies> - </CudaLink> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="..\..\auxi.c" /> - <ClCompile Include="..\..\b1_ainc.c" /> - <ClCompile Include="..\..\candi.c" /> - <ClCompile Include="..\..\eval.c" /> - <ClCompile Include="..\..\getprime_r.c" /> - <ClCompile Include="..\..\main.c" /> - <ClCompile Include="..\..\memusage.c" /> - <ClCompile Include="..\..\random.c" /> - <ClCompile Include="..\..\resume.c" /> - <ClCompile Include="..\vacopy.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\champions.h" /> - <ClInclude Include="..\..\config.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\getprime_r.h" /> - <ClInclude Include="..\..\longlong.h" /> - </ItemGroup> - <ItemGroup> - <Object Include="..\fto13.obj"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </Object> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 10.1.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/ecm_gpu/ecm_gpu.vcxproj.filters b/build.vc15/ecm_gpu/ecm_gpu.vcxproj.filters deleted file mode 100644 index 1357d945..00000000 --- a/build.vc15/ecm_gpu/ecm_gpu.vcxproj.filters +++ /dev/null @@ -1,78 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="..\vacopy.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\auxi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\b1_ainc.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\candi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\eval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\main.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\resume.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime_r.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\memusage.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\getprime_r.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <Filter Include="Header Files"> - <UniqueIdentifier>{2a13feaf-0c0e-469a-8047-82c647322da9}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files"> - <UniqueIdentifier>{163547c7-89d7-4ddc-b0ad-02b4cfd722b4}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <Object Include="..\fto13.obj" /> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/file_copy.bat b/build.vc15/file_copy.bat deleted file mode 100644 index dcb84ef9..00000000 --- a/build.vc15/file_copy.bat +++ /dev/null @@ -1,4 +0,0 @@ -if not exist %1 ( echo file_copy failure: %1 not found && goto exit ) -if exist %2 ( fc %1 %2 > nul && if not %errorlevel 1 goto exit ) -echo copying %1 to %2 && copy %1 %2 -:exit diff --git a/build.vc15/gen_ecm_h.bat b/build.vc15/gen_ecm_h.bat deleted file mode 100644 index 280470d5..00000000 --- a/build.vc15/gen_ecm_h.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -echo creating ecm.h from ecm.h.in -echo /* generated from ecm-h.in by gen_ecm_h.bat */>tmp.h - -for /f "tokens=1,2*" %%a in (..\ecm.h.in) do ( - if "%%a" EQU "#undef" ( - if "%%b" EQU "ECM_VERSION" ( - echo #define ECM_VERSION "7.0.6-rc1">>tmp.h - ) - ) else echo %%a %%b %%c>>tmp.h -) - -call out_copy_rename tmp.h ..\ ecm.h diff --git a/build.vc15/getopt.c b/build.vc15/getopt.c deleted file mode 100644 index 1716d95b..00000000 --- a/build.vc15/getopt.c +++ /dev/null @@ -1,1281 +0,0 @@ -/* Getopt for GNU. - NOTE: getopt is now part of the C library, so if you don't know what - "Keep this file name-space clean" means, talk to drepper@gnu.org - before changing it! - Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify 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. - - The GNU C 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>. - Ditto for AIX 3.2 and <stdlib.h>. */ - -#define HAVE_STRING_H 1 - -#ifndef _NO_PROTO -# define _NO_PROTO -#endif - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#if !defined __STDC__ || !__STDC__ -/* This is a separate conditional since some stdc systems - reject `defined (const)'. */ -# ifndef const -# define const -# endif -#endif - -#include <stdio.h> - -/* Comment out all this code if we are using the GNU C Library, and are not - actually compiling the library itself. This code is part of the GNU C - Library, but also included in many other GNU distributions. Compiling - and linking in this code is a waste when using the GNU C library - (especially if it is a shared library). Rather than having every GNU - program understand `configure --with-gnu-libc' and omit the object files, - it is simpler to just do this in the source for each such file. */ - -#define GETOPT_INTERFACE_VERSION 2 -#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 -# include <gnu-versions.h> -# if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION -# define ELIDE_CODE -# endif -#endif - -#ifndef ELIDE_CODE - - -/* This needs to come after some library #include - to get __GNU_LIBRARY__ defined. */ -#ifdef __GNU_LIBRARY__ -/* Don't include stdlib.h for non-GNU C libraries because some of them - contain conflicting prototypes for getopt. */ -# include <stdlib.h> -# include <unistd.h> -#endif /* GNU C library. */ - -#ifdef VMS -# include <unixlib.h> -# if HAVE_STRING_H - 0 -# include <string.h> -# endif -#endif - -#ifndef _ -/* This is for other GNU distributions with internationalized messages. */ -# if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC -# include <libintl.h> -# ifndef _ -# define _(msgid) gettext (msgid) -# endif -# else -# define _(msgid) (msgid) -# endif -# if defined _LIBC && defined USE_IN_LIBIO -# include <wchar.h> -# endif -#endif - -#ifndef attribute_hidden -# define attribute_hidden -#endif - -/* This version of `getopt' appears to the caller like standard Unix `getopt' - but it behaves differently for the user, since it allows the user - to intersperse the options with the other arguments. - - As `getopt' works, it permutes the elements of ARGV so that, - when it is done, all the options precede everything else. Thus - all application programs are extended to handle flexible argument order. - - Setting the environment variable POSIXLY_CORRECT disables permutation. - Then the behavior is completely standard. - - GNU application programs can use a third alternative mode in which - they can distinguish the relative order of options and other arguments. */ - -#include "getopt.h" - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -/* 1003.2 says this must be 1 before any call. */ -int optind = 1; - -/* Formerly, initialization of getopt depended on optind==0, which - causes problems with re-calling getopt as programs generally don't - know that. */ - -int __getopt_initialized attribute_hidden; - -/* The next char to be scanned in the option-element - in which the last option character we returned was found. - This allows us to pick up the scan where we left off. - - If this is zero, or a null string, it means resume the scan - by advancing to the next ARGV-element. */ - -static char *nextchar; - -/* Callers store zero here to inhibit the error message - for unrecognized options. */ - -int opterr = 1; - -/* Set to an option character which was unrecognized. - This must be initialized on some systems to avoid linking in the - system's own getopt implementation. */ - -int optopt = '?'; - -/* Describe how to deal with options that follow non-option ARGV-elements. - - If the caller did not specify anything, - the default is REQUIRE_ORDER if the environment variable - POSIXLY_CORRECT is defined, PERMUTE otherwise. - - REQUIRE_ORDER means don't recognize them as options; - stop option processing when the first non-option is seen. - This is what Unix does. - This mode of operation is selected by either setting the environment - variable POSIXLY_CORRECT, or using `+' as the first character - of the list of option characters. - - PERMUTE is the default. We permute the contents of ARGV as we scan, - so that eventually all the non-options are at the end. This allows options - to be given in any order, even with programs that were not written to - expect this. - - RETURN_IN_ORDER is an option available to programs that were written - to expect options and other ARGV-elements in any order and that care about - the ordering of the two. We describe each non-option ARGV-element - as if it were the argument of an option with character code 1. - Using `-' as the first character of the list of option characters - selects this mode of operation. - - The special argument `--' forces an end of option-scanning regardless - of the value of `ordering'. In the case of RETURN_IN_ORDER, only - `--' can cause `getopt' to return -1 with `optind' != ARGC. */ - -static enum -{ - REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER -} ordering; - -/* Value of POSIXLY_CORRECT environment variable. */ -static char *posixly_correct; - -#ifdef __GNU_LIBRARY__ -/* We want to avoid inclusion of string.h with non-GNU libraries - because there are many ways it can cause trouble. - On some systems, it contains special magic macros that don't work - in GCC. */ -# include <string.h> -# define my_index strchr -#else - -# if HAVE_STRING_H -# include <string.h> -# else -# include <strings.h> -# endif - -/* Avoid depending on library functions or files - whose names are inconsistent. */ - -#ifndef getenv -extern char *getenv (); -#endif - -static char * -my_index (str, chr) - const char *str; - int chr; -{ - while (*str) - { - if (*str == chr) - return (char *) str; - str++; - } - return 0; -} - -/* If using GCC, we can safely declare strlen this way. - If not using GCC, it is ok not to declare it. */ -#ifdef __GNUC__ -/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h. - That was relevant to code that was here before. */ -# if (!defined __STDC__ || !__STDC__) && !defined strlen -/* gcc with -traditional declares the built-in strlen to return int, - and has done so at least since version 2.4.5. -- rms. */ -extern int strlen (const char *); -# endif /* not __STDC__ */ -#endif /* __GNUC__ */ - -#endif /* not __GNU_LIBRARY__ */ - -/* Handle permutation of arguments. */ - -/* Describe the part of ARGV that contains non-options that have - been skipped. `first_nonopt' is the index in ARGV of the first of them; - `last_nonopt' is the index after the last of them. */ - -static int first_nonopt; -static int last_nonopt; - -#ifdef _LIBC -/* Stored original parameters. - XXX This is no good solution. We should rather copy the args so - that we can compare them later. But we must not use malloc(3). */ -extern int __libc_argc; -extern char **__libc_argv; - -/* Bash 2.0 gives us an environment variable containing flags - indicating ARGV elements that should not be considered arguments. */ - -# ifdef USE_NONOPTION_FLAGS -/* Defined in getopt_init.c */ -extern char *__getopt_nonoption_flags; - -static int nonoption_flags_max_len; -static int nonoption_flags_len; -# endif - -# ifdef USE_NONOPTION_FLAGS -# define SWAP_FLAGS(ch1, ch2) \ - if (nonoption_flags_len > 0) \ - { \ - char __tmp = __getopt_nonoption_flags[ch1]; \ - __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ - __getopt_nonoption_flags[ch2] = __tmp; \ - } -# else -# define SWAP_FLAGS(ch1, ch2) -# endif -#else /* !_LIBC */ -# define SWAP_FLAGS(ch1, ch2) -#endif /* _LIBC */ - -/* Exchange two adjacent subsequences of ARGV. - One subsequence is elements [first_nonopt,last_nonopt) - which contains all the non-options that have been skipped so far. - The other is elements [last_nonopt,optind), which contains all - the options processed since those non-options were skipped. - - `first_nonopt' and `last_nonopt' are relocated so that they describe - the new indices of the non-options in ARGV after they are moved. */ - -#if defined __STDC__ && __STDC__ -static void exchange (char **); -#endif - -static void -exchange (argv) - char **argv; -{ - int bottom = first_nonopt; - int middle = last_nonopt; - int top = optind; - char *tem; - - /* Exchange the shorter segment with the far end of the longer segment. - That puts the shorter segment into the right place. - It leaves the longer segment in the right place overall, - but it consists of two parts that need to be swapped next. */ - -#if defined _LIBC && defined USE_NONOPTION_FLAGS - /* First make sure the handling of the `__getopt_nonoption_flags' - string can work normally. Our top argument must be in the range - of the string. */ - if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len) - { - /* We must extend the array. The user plays games with us and - presents new arguments. */ - char *new_str = malloc (top + 1); - if (new_str == NULL) - nonoption_flags_len = nonoption_flags_max_len = 0; - else - { - memset (__mempcpy (new_str, __getopt_nonoption_flags, - nonoption_flags_max_len), - '\0', top + 1 - nonoption_flags_max_len); - nonoption_flags_max_len = top + 1; - __getopt_nonoption_flags = new_str; - } - } -#endif - - while (top > middle && middle > bottom) - { - if (top - middle > middle - bottom) - { - /* Bottom segment is the short one. */ - int len = middle - bottom; - register int i; - - /* Swap it with the top part of the top segment. */ - for (i = 0; i < len; i++) - { - tem = argv[bottom + i]; - argv[bottom + i] = argv[top - (middle - bottom) + i]; - argv[top - (middle - bottom) + i] = tem; - SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); - } - /* Exclude the moved bottom segment from further swapping. */ - top -= len; - } - else - { - /* Top segment is the short one. */ - int len = top - middle; - register int i; - - /* Swap it with the bottom part of the bottom segment. */ - for (i = 0; i < len; i++) - { - tem = argv[bottom + i]; - argv[bottom + i] = argv[middle + i]; - argv[middle + i] = tem; - SWAP_FLAGS (bottom + i, middle + i); - } - /* Exclude the moved top segment from further swapping. */ - bottom += len; - } - } - - /* Update records for the slots the non-options now occupy. */ - - first_nonopt += (optind - last_nonopt); - last_nonopt = optind; -} - -/* Initialize the internal data when the first call is made. */ - -#if defined __STDC__ && __STDC__ -static const char *_getopt_initialize (int, char *const *, const char *); -#endif -static const char * -_getopt_initialize (argc, argv, optstring) - int argc; - char *const *argv; - const char *optstring; -{ - /* Start processing options with ARGV-element 1 (since ARGV-element 0 - is the program name); the sequence of previously skipped - non-option ARGV-elements is empty. */ - - first_nonopt = last_nonopt = optind; - - nextchar = NULL; - - posixly_correct = getenv ("POSIXLY_CORRECT"); - - /* Determine how to handle the ordering of options and nonoptions. */ - - if (optstring[0] == '-') - { - ordering = RETURN_IN_ORDER; - ++optstring; - } - else if (optstring[0] == '+') - { - ordering = REQUIRE_ORDER; - ++optstring; - } - else if (posixly_correct != NULL) - ordering = REQUIRE_ORDER; - else - ordering = PERMUTE; - -#if defined _LIBC && defined USE_NONOPTION_FLAGS - if (posixly_correct == NULL - && argc == __libc_argc && argv == __libc_argv) - { - if (nonoption_flags_max_len == 0) - { - if (__getopt_nonoption_flags == NULL - || __getopt_nonoption_flags[0] == '\0') - nonoption_flags_max_len = -1; - else - { - const char *orig_str = __getopt_nonoption_flags; - int len = nonoption_flags_max_len = strlen (orig_str); - if (nonoption_flags_max_len < argc) - nonoption_flags_max_len = argc; - __getopt_nonoption_flags = - (char *) malloc (nonoption_flags_max_len); - if (__getopt_nonoption_flags == NULL) - nonoption_flags_max_len = -1; - else - memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), - '\0', nonoption_flags_max_len - len); - } - } - nonoption_flags_len = nonoption_flags_max_len; - } - else - nonoption_flags_len = 0; -#endif - - return optstring; -} - -/* Scan elements of ARGV (whose length is ARGC) for option characters - given in OPTSTRING. - - If an element of ARGV starts with '-', and is not exactly "-" or "--", - then it is an option element. The characters of this element - (aside from the initial '-') are option characters. If `getopt' - is called repeatedly, it returns successively each of the option characters - from each of the option elements. - - If `getopt' finds another option character, it returns that character, - updating `optind' and `nextchar' so that the next call to `getopt' can - resume the scan with the following option character or ARGV-element. - - If there are no more option characters, `getopt' returns -1. - Then `optind' is the index in ARGV of the first ARGV-element - that is not an option. (The ARGV-elements have been permuted - so that those that are not options now come last.) - - OPTSTRING is a string containing the legitimate option characters. - If an option character is seen that is not listed in OPTSTRING, - return '?' after printing an error message. If you set `opterr' to - zero, the error message is suppressed but we still return '?'. - - If a char in OPTSTRING is followed by a colon, that means it wants an arg, - so the following text in the same ARGV-element, or the text of the following - ARGV-element, is returned in `optarg'. Two colons mean an option that - wants an optional arg; if there is text in the current ARGV-element, - it is returned in `optarg', otherwise `optarg' is set to zero. - - If OPTSTRING starts with `-' or `+', it requests different methods of - handling the non-option ARGV-elements. - See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. - - Long-named options begin with `--' instead of `-'. - Their names may be abbreviated as long as the abbreviation is unique - or is an exact match for some defined option. If they have an - argument, it follows the option name in the same ARGV-element, separated - from the option name by a `=', or else the in next ARGV-element. - When `getopt' finds a long-named option, it returns 0 if that option's - `flag' field is nonzero, the value of the option's `val' field - if the `flag' field is zero. - - The elements of ARGV aren't really const, because we permute them. - But we pretend they're const in the prototype to be compatible - with other systems. - - LONGOPTS is a vector of `struct option' terminated by an - element containing a name which is zero. - - LONGIND returns the index in LONGOPT of the long-named option found. - It is only valid when a long-named option has been found by the most - recent call. - - If LONG_ONLY is nonzero, '-' as well as '--' can introduce - long-named options. */ - -int -_getopt_internal (argc, argv, optstring, longopts, longind, long_only) - int argc; - char *const *argv; - const char *optstring; - const struct option *longopts; - int *longind; - int long_only; -{ - int print_errors = opterr; - if (optstring[0] == ':') - print_errors = 0; - - if (argc < 1) - return -1; - - optarg = NULL; - - if (optind == 0 || !__getopt_initialized) - { - if (optind == 0) - optind = 1; /* Don't scan ARGV[0], the program name. */ - optstring = _getopt_initialize (argc, argv, optstring); - __getopt_initialized = 1; - } - - /* Test whether ARGV[optind] points to a non-option argument. - Either it does not have option syntax, or there is an environment flag - from the shell indicating it is not an option. The later information - is only used when the used in the GNU libc. */ -#if defined _LIBC && defined USE_NONOPTION_FLAGS -# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \ - || (optind < nonoption_flags_len \ - && __getopt_nonoption_flags[optind] == '1')) -#else -# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0') -#endif - - if (nextchar == NULL || *nextchar == '\0') - { - /* Advance to the next ARGV-element. */ - - /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been - moved back by the user (who may also have changed the arguments). */ - if (last_nonopt > optind) - last_nonopt = optind; - if (first_nonopt > optind) - first_nonopt = optind; - - if (ordering == PERMUTE) - { - /* If we have just processed some options following some non-options, - exchange them so that the options come first. */ - - if (first_nonopt != last_nonopt && last_nonopt != optind) - exchange ((char **) argv); - else if (last_nonopt != optind) - first_nonopt = optind; - - /* Skip any additional non-options - and extend the range of non-options previously skipped. */ - - while (optind < argc && NONOPTION_P) - optind++; - last_nonopt = optind; - } - - /* The special ARGV-element `--' means premature end of options. - Skip it like a null option, - then exchange with previous non-options as if it were an option, - then skip everything else like a non-option. */ - - if (optind != argc && !strcmp (argv[optind], "--")) - { - optind++; - - if (first_nonopt != last_nonopt && last_nonopt != optind) - exchange ((char **) argv); - else if (first_nonopt == last_nonopt) - first_nonopt = optind; - last_nonopt = argc; - - optind = argc; - } - - /* If we have done all the ARGV-elements, stop the scan - and back over any non-options that we skipped and permuted. */ - - if (optind == argc) - { - /* Set the next-arg-index to point at the non-options - that we previously skipped, so the caller will digest them. */ - if (first_nonopt != last_nonopt) - optind = first_nonopt; - return -1; - } - - /* If we have come to a non-option and did not permute it, - either stop the scan or describe it to the caller and pass it by. */ - - if (NONOPTION_P) - { - if (ordering == REQUIRE_ORDER) - return -1; - optarg = argv[optind++]; - return 1; - } - - /* We have found another option-ARGV-element. - Skip the initial punctuation. */ - - nextchar = (argv[optind] + 1 - + (longopts != NULL && argv[optind][1] == '-')); - } - - /* Decode the current option-ARGV-element. */ - - /* Check whether the ARGV-element is a long option. - - If long_only and the ARGV-element has the form "-f", where f is - a valid short option, don't consider it an abbreviated form of - a long option that starts with f. Otherwise there would be no - way to give the -f short option. - - On the other hand, if there's a long option "fubar" and - the ARGV-element is "-fu", do consider that an abbreviation of - the long option, just like "--fu", and not "-f" with arg "u". - - This distinction seems to be the most useful approach. */ - - if (longopts != NULL - && (argv[optind][1] == '-' - || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1]))))) - { - char *nameend; - const struct option *p; - const struct option *pfound = NULL; - int exact = 0; - int ambig = 0; - int indfound = -1; - int option_index; - - for (nameend = nextchar; *nameend && *nameend != '='; nameend++) - /* Do nothing. */ ; - - /* Test all long options for either exact match - or abbreviated matches. */ - for (p = longopts, option_index = 0; p->name; p++, option_index++) - if (!strncmp (p->name, nextchar, nameend - nextchar)) - { - if ((unsigned int) (nameend - nextchar) - == (unsigned int) strlen (p->name)) - { - /* Exact match found. */ - pfound = p; - indfound = option_index; - exact = 1; - break; - } - else if (pfound == NULL) - { - /* First nonexact match found. */ - pfound = p; - indfound = option_index; - } - else if (long_only - || pfound->has_arg != p->has_arg - || pfound->flag != p->flag - || pfound->val != p->val) - /* Second or later nonexact match found. */ - ambig = 1; - } - - if (ambig && !exact) - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"), - argv[0], argv[optind]) >= 0) - { - - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, _("%s: option `%s' is ambiguous\n"), - argv[0], argv[optind]); -#endif - } - nextchar += strlen (nextchar); - optind++; - optopt = 0; - return '?'; - } - - if (pfound != NULL) - { - option_index = indfound; - optind++; - if (*nameend) - { - /* Don't test has_arg with >, because some C compilers don't - allow it to be used on enums. */ - if (pfound->has_arg) - optarg = nameend + 1; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - int n; -#endif - - if (argv[optind - 1][1] == '-') - { - /* --option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("\ -%s: option `--%s' doesn't allow an argument\n"), - argv[0], pfound->name); -#else - fprintf (stderr, _("\ -%s: option `--%s' doesn't allow an argument\n"), - argv[0], pfound->name); -#endif - } - else - { - /* +option or -option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("\ -%s: option `%c%s' doesn't allow an argument\n"), - argv[0], argv[optind - 1][0], - pfound->name); -#else - fprintf (stderr, _("\ -%s: option `%c%s' doesn't allow an argument\n"), - argv[0], argv[optind - 1][0], pfound->name); -#endif - } - -#if defined _LIBC && defined USE_IN_LIBIO - if (n >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#endif - } - - nextchar += strlen (nextchar); - - optopt = pfound->val; - return '?'; - } - } - else if (pfound->has_arg == 1) - { - if (optind < argc) - optarg = argv[optind++]; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, - _("%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]); -#endif - } - nextchar += strlen (nextchar); - optopt = pfound->val; - return optstring[0] == ':' ? ':' : '?'; - } - } - nextchar += strlen (nextchar); - if (longind != NULL) - *longind = option_index; - if (pfound->flag) - { - *(pfound->flag) = pfound->val; - return 0; - } - return pfound->val; - } - - /* Can't find it as a long option. If this is not getopt_long_only, - or the option starts with '--' or is not a valid short - option, then it's an error. - Otherwise interpret it as a short option. */ - if (!long_only || argv[optind][1] == '-' - || my_index (optstring, *nextchar) == NULL) - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - int n; -#endif - - if (argv[optind][1] == '-') - { - /* --option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"), - argv[0], nextchar); -#else - fprintf (stderr, _("%s: unrecognized option `--%s'\n"), - argv[0], nextchar); -#endif - } - else - { - /* +option or -option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"), - argv[0], argv[optind][0], nextchar); -#else - fprintf (stderr, _("%s: unrecognized option `%c%s'\n"), - argv[0], argv[optind][0], nextchar); -#endif - } - -#if defined _LIBC && defined USE_IN_LIBIO - if (n >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#endif - } - nextchar = (char *) ""; - optind++; - optopt = 0; - return '?'; - } - } - - /* Look at and handle the next short option-character. */ - - { - char c = *nextchar++; - char *temp = my_index (optstring, c); - - /* Increment `optind' when we start to process its last character. */ - if (*nextchar == '\0') - ++optind; - - if (temp == NULL || c == ':') - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - int n; -#endif - - if (posixly_correct) - { - /* 1003.2 specifies the format of this message. */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: illegal option -- %c\n"), - argv[0], c); -#else - fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c); -#endif - } - else - { -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: invalid option -- %c\n"), - argv[0], c); -#else - fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c); -#endif - } - -#if defined _LIBC && defined USE_IN_LIBIO - if (n >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#endif - } - optopt = c; - return '?'; - } - /* Convenience. Treat POSIX -W foo same as long option --foo */ - if (temp[0] == 'W' && temp[1] == ';') - { - char *nameend; - const struct option *p; - const struct option *pfound = NULL; - int exact = 0; - int ambig = 0; - int indfound = 0; - int option_index; - - /* This is an option that requires an argument. */ - if (*nextchar != '\0') - { - optarg = nextchar; - /* If we end this ARGV-element by taking the rest as an arg, - we must advance to the next element now. */ - optind++; - } - else if (optind == argc) - { - if (print_errors) - { - /* 1003.2 specifies the format of this message. */ -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, - _("%s: option requires an argument -- %c\n"), - argv[0], c) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, _("%s: option requires an argument -- %c\n"), - argv[0], c); -#endif - } - optopt = c; - if (optstring[0] == ':') - c = ':'; - else - c = '?'; - return c; - } - else - /* We already incremented `optind' once; - increment it again when taking next ARGV-elt as argument. */ - optarg = argv[optind++]; - - /* optarg is now the argument, see if it's in the - table of longopts. */ - - for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++) - /* Do nothing. */ ; - - /* Test all long options for either exact match - or abbreviated matches. */ - for (p = longopts, option_index = 0; p->name; p++, option_index++) - if (!strncmp (p->name, nextchar, nameend - nextchar)) - { - if ((unsigned int) (nameend - nextchar) == strlen (p->name)) - { - /* Exact match found. */ - pfound = p; - indfound = option_index; - exact = 1; - break; - } - else if (pfound == NULL) - { - /* First nonexact match found. */ - pfound = p; - indfound = option_index; - } - else - /* Second or later nonexact match found. */ - ambig = 1; - } - if (ambig && !exact) - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"), - argv[0], argv[optind]) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), - argv[0], argv[optind]); -#endif - } - nextchar += strlen (nextchar); - optind++; - return '?'; - } - if (pfound != NULL) - { - option_index = indfound; - if (*nameend) - { - /* Don't test has_arg with >, because some C compilers don't - allow it to be used on enums. */ - if (pfound->has_arg) - optarg = nameend + 1; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option `-W %s' doesn't allow an argument\n"), - argv[0], pfound->name) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, _("\ -%s: option `-W %s' doesn't allow an argument\n"), - argv[0], pfound->name); -#endif - } - - nextchar += strlen (nextchar); - return '?'; - } - } - else if (pfound->has_arg == 1) - { - if (optind < argc) - optarg = argv[optind++]; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, - _("%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]); -#endif - } - nextchar += strlen (nextchar); - return optstring[0] == ':' ? ':' : '?'; - } - } - nextchar += strlen (nextchar); - if (longind != NULL) - *longind = option_index; - if (pfound->flag) - { - *(pfound->flag) = pfound->val; - return 0; - } - return pfound->val; - } - nextchar = NULL; - return 'W'; /* Let the application handle it. */ - } - if (temp[1] == ':') - { - if (temp[2] == ':') - { - /* This is an option that accepts an argument optionally. */ - if (*nextchar != '\0') - { - optarg = nextchar; - optind++; - } - else - optarg = NULL; - nextchar = NULL; - } - else - { - /* This is an option that requires an argument. */ - if (*nextchar != '\0') - { - optarg = nextchar; - /* If we end this ARGV-element by taking the rest as an arg, - we must advance to the next element now. */ - optind++; - } - else if (optind == argc) - { - if (print_errors) - { - /* 1003.2 specifies the format of this message. */ -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option requires an argument -- %c\n"), - argv[0], c) >= 0) - { - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s", buf); - else - fputs (buf, stderr); - - free (buf); - } -#else - fprintf (stderr, - _("%s: option requires an argument -- %c\n"), - argv[0], c); -#endif - } - optopt = c; - if (optstring[0] == ':') - c = ':'; - else - c = '?'; - } - else - /* We already incremented `optind' once; - increment it again when taking next ARGV-elt as argument. */ - optarg = argv[optind++]; - nextchar = NULL; - } - } - return c; - } -} - -int -getopt (argc, argv, optstring) - int argc; - char *const *argv; - const char *optstring; -{ - return _getopt_internal (argc, argv, optstring, - (const struct option *) 0, - (int *) 0, - 0); -} - -#endif /* Not ELIDE_CODE. */ - -#ifdef TEST - -/* Compile with -DTEST to make an executable for use in testing - the above definition of `getopt'. */ - -int -main (argc, argv) - int argc; - char **argv; -{ - int c; - int digit_optind = 0; - - while (1) - { - int this_option_optind = optind ? optind : 1; - - c = getopt (argc, argv, "abc:d:0123456789"); - if (c == -1) - break; - - switch (c) - { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - if (digit_optind != 0 && digit_optind != this_option_optind) - printf ("digits occur in two different argv-elements.\n"); - digit_optind = this_option_optind; - printf ("option %c\n", c); - break; - - case 'a': - printf ("option a\n"); - break; - - case 'b': - printf ("option b\n"); - break; - - case 'c': - printf ("option c with value `%s'\n", optarg); - break; - - case '?': - break; - - default: - printf ("?? getopt returned character code 0%o ??\n", c); - } - } - - if (optind < argc) - { - printf ("non-option ARGV-elements: "); - while (optind < argc) - printf ("%s ", argv[optind++]); - printf ("\n"); - } - - exit (0); -} - -#endif /* TEST */ - diff --git a/build.vc15/getopt.h b/build.vc15/getopt.h deleted file mode 100644 index 95084d11..00000000 --- a/build.vc15/getopt.h +++ /dev/null @@ -1,182 +0,0 @@ -/* Declarations for getopt. - Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify 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. - - The GNU C 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _GETOPT_H - -#ifndef __need_getopt -# define _GETOPT_H 1 -#endif - -/* If __GNU_LIBRARY__ is not already defined, either we are being used - standalone, or this is the first header included in the source file. - If we are being used with glibc, we need to include <features.h>, but - that does not exist if we are standalone. So: if __GNU_LIBRARY__ is - not defined, include <ctype.h>, which will pull in <features.h> for us - if it's from glibc. (Why ctype.h? It's guaranteed to exist and it - doesn't flood the namespace with stuff the way some other headers do.) */ -#if !defined __GNU_LIBRARY__ -# include <ctype.h> -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -extern char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -extern int optind; - -/* Callers store zero here to inhibit the error message `getopt' prints - for unrecognized options. */ - -extern int opterr; - -/* Set to an option character which was unrecognized. */ - -extern int optopt; - -#ifndef __need_getopt -/* Describe the long-named options requested by the application. - The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector - of `struct option' terminated by an element containing a name which is - zero. - - The field `has_arg' is: - no_argument (or 0) if the option does not take an argument, - required_argument (or 1) if the option requires an argument, - optional_argument (or 2) if the option takes an optional argument. - - If the field `flag' is not NULL, it points to a variable that is set - to the value given in the field `val' when the option is found, but - left unchanged if the option is not found. - - To have a long-named option do something other than set an `int' to - a compiled-in constant, such as set a value from `optarg', set the - option's `flag' field to zero and its `val' field to a nonzero - value (the equivalent single-letter option character, if there is - one). For long options that have a zero `flag' field, `getopt' - returns the contents of the `val' field. */ - -struct option -{ -# if (defined __STDC__ && __STDC__) || defined __cplusplus - const char *name; -# else - char *name; -# endif - /* has_arg can't be an enum because some compilers complain about - type mismatches in all the code that assumes it is an int. */ - int has_arg; - int *flag; - int val; -}; - -/* Names for the values of the `has_arg' field of `struct option'. */ - -# define no_argument 0 -# define required_argument 1 -# define optional_argument 2 -#endif /* need getopt */ - - -/* Get definitions and prototypes for functions to process the - arguments in ARGV (ARGC of them, minus the program name) for - options given in OPTS. - - Return the option character from OPTS just read. Return -1 when - there are no more options. For unrecognized options, or options - missing arguments, `optopt' is set to the option letter, and '?' is - returned. - - The OPTS string is a list of characters which are recognized option - letters, optionally followed by colons, specifying that that letter - takes an argument, to be placed in `optarg'. - - If a letter in OPTS is followed by two colons, its argument is - optional. This behavior is specific to the GNU `getopt'. - - The argument `--' causes premature termination of argument - scanning, explicitly telling `getopt' that there are no more - options. - - If OPTS begins with `--', then non-option arguments are treated as - arguments to the option '\0'. This behavior is specific to the GNU - `getopt'. */ - -#if (defined __STDC__ && __STDC__) || defined __cplusplus -# ifdef __GNU_LIBRARY__ -/* Many other libraries have conflicting prototypes for getopt, with - differences in the consts, in stdlib.h. To avoid compilation - errors, only prototype getopt for the GNU C library. */ -extern int getopt (int ___argc, char *const *___argv, const char *__shortopts); -# else /* not __GNU_LIBRARY__ */ -extern int getopt (); -# endif /* __GNU_LIBRARY__ */ - -# ifndef __need_getopt -extern int getopt_long (int ___argc, char *const *___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind); -extern int getopt_long_only (int ___argc, char *const *___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind); - -/* Internal only. Users should not call this directly. */ -extern int _getopt_internal (int ___argc, char *const *___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind, - int __long_only); -# endif -#else /* not __STDC__ */ -extern int getopt (); -# ifndef __need_getopt -extern int getopt_long (); -extern int getopt_long_only (); - -extern int _getopt_internal (); -# endif -#endif /* __STDC__ */ - -#ifdef __cplusplus -} -#endif - -/* Make sure we later can get all the definitions and declarations. */ -#undef __need_getopt - -#endif /* getopt.h */ - diff --git a/build.vc15/getrusage.c b/build.vc15/getrusage.c deleted file mode 100644 index deea4b13..00000000 --- a/build.vc15/getrusage.c +++ /dev/null @@ -1,71 +0,0 @@ -/* This file is part of the MPIR Library. - - The MPIR Library is free software; you can redistribute it and/or modify - 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. - The MPIR 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 Lesser General Public - License for more details. - You should have received a copy of the GNU Lesser General Public License - along with the MPIR Library; see the file COPYING.LIB. If not, write - to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#define WIN32_LEAN_AND_MEAN - -#include <windows.h> -#include <psapi.h> -#include <errno.h> - -#include "getrusage.h" - -typedef union file_t -{ FILETIME ft; - long long lt; -} file_t; - -int getrusage(int who, rusage *usage) -{ - HANDLE proc_hand; - file_t c_time, x_time, s_time, u_time; - int cb = 0, err = -1; - - if(who != RUSAGE_SELF) - { - errno = (who == RUSAGE_CHILDREN ? ENODATA : EINVAL); - return err; - } - - proc_hand = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, GetCurrentProcessId()); - - if(GetProcessTimes(proc_hand, &(c_time.ft), &(x_time.ft), &(s_time.ft), &(u_time.ft))) - { - PROCESS_MEMORY_COUNTERS ctrs; - - /* The units returned by GetProcessTimes are 100 nanoseconds */ - u_time.lt = (u_time.lt + 5) / 10; - s_time.lt = (s_time.lt + 5) / 10; - - usage->ru_utime.tv_sec = (long)(u_time.lt / 1000000ll); - usage->ru_stime.tv_sec = (long)(s_time.lt / 1000000ll); - usage->ru_utime.tv_usec = (long)(u_time.lt % 1000000ll); - usage->ru_stime.tv_usec = (long)(s_time.lt % 1000000ll); - - if(GetProcessMemoryInfo(proc_hand, &ctrs, sizeof(ctrs))) - { - PERFORMANCE_INFORMATION perf_info; - GetPerformanceInfo(&perf_info, sizeof(perf_info)); - usage->ru_maxrss = (DWORD) (ctrs.WorkingSetSize / perf_info.PageSize); - usage->ru_majflt = ctrs.PageFaultCount; - err = 0; - } - } - - if(err) - errno = EACCES; - CloseHandle(proc_hand); - return err; -} diff --git a/build.vc15/getrusage.h b/build.vc15/getrusage.h deleted file mode 100644 index f449c434..00000000 --- a/build.vc15/getrusage.h +++ /dev/null @@ -1,46 +0,0 @@ - -#ifndef _GETRUSAGE_H -#define _GETRUSAGE_H - -#if defined(__cplusplus) -extern "C" -{ -#endif - -#define ENODATA 61 -#define RUSAGE_SELF 0 -#define RUSAGE_CHILDREN -1 - -typedef struct -{ - long tv_sec; - long tv_usec; -} tval; - -typedef struct rusage -{ - tval ru_utime; /* user time used */ - tval ru_stime; /* system time used */ - long ru_maxrss; /* integral max resident set size */ - long ru_ixrss; /* integral shared text memory size */ - long ru_idrss; /* integral unshared data size */ - long ru_isrss; /* integral unshared stack size */ - long ru_minflt; /* page reclaims */ - long ru_majflt; /* page faults */ - long ru_nswap; /* swaps */ - long ru_inblock; /* block input operations */ - long ru_oublock; /* block output operations */ - long ru_msgsnd; /* messages sent */ - long ru_msgrcv; /* messages received */ - long ru_nsignals;/* signals received */ - long ru_nvcsw; /* voluntary context switches */ - long ru_nivcsw; /* involuntary context switches */ -} rusage; - -int getrusage(int who, rusage *usage); - -#if defined(__cplusplus) -} -#endif - -#endif diff --git a/build.vc15/gettimeofday.c b/build.vc15/gettimeofday.c deleted file mode 100644 index d576e24e..00000000 --- a/build.vc15/gettimeofday.c +++ /dev/null @@ -1,39 +0,0 @@ - -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <time.h> - -#include "gettimeofday.h" - -int gettimeofday(struct timeval *tv, struct timezone *tz) -{ - FILETIME ft; - LARGE_INTEGER li; - __int64 t; - static int tzflag; - - if(tv) - { - GetSystemTimeAsFileTime(&ft); - li.LowPart = ft.dwLowDateTime; - li.HighPart = ft.dwHighDateTime; - t = li.QuadPart; - t -= EPOCHFILETIME; - t /= 10; - tv->tv_sec = (long)(t / 1000000); - tv->tv_usec = (long)(t % 1000000); - } - - if (tz) - { - if (!tzflag) - { - _tzset(); - tzflag++; - } - tz->tz_minuteswest = _timezone / 60; - tz->tz_dsttime = _daylight; - } - - return 0; -} diff --git a/build.vc15/gettimeofday.h b/build.vc15/gettimeofday.h deleted file mode 100644 index 1c9dde98..00000000 --- a/build.vc15/gettimeofday.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * timeval.h 1.0 01/12/19 - * - * Defines gettimeofday, timeval, etc. for Win32 - * - * By Wu Yongwei - * - */ -#ifndef _TIMEVAL_H -#define _TIMEVAL_H - -#include <winsock2.h> - -#define EPOCHFILETIME (116444736000000000LL) - -#if defined(__cplusplus) -extern "C" -{ -#endif - -struct timezone -{ - int tz_minuteswest; /* minutes W of Greenwich */ - int tz_dsttime; /* type of dst correction */ -}; - -int gettimeofday(struct timeval *tv, struct timezone *tz); - -#if defined(__cplusplus) -} -#endif - -#endif /* _TIMEVAL_H */ - diff --git a/build.vc15/libecm/Makefile.am b/build.vc15/libecm/Makefile.am deleted file mode 100644 index 50bc2a0a..00000000 --- a/build.vc15/libecm/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = libecm.vcxproj libecm.vcxproj.filters diff --git a/build.vc15/libecm/libecm.vcxproj b/build.vc15/libecm/libecm.vcxproj deleted file mode 100644 index 037fb79d..00000000 --- a/build.vc15/libecm/libecm.vcxproj +++ /dev/null @@ -1,253 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{CD555681-D65B-4173-A29C-B8BF06A4871B}</ProjectGuid> - <RootNamespace>libecm</RootNamespace> - <Keyword>Win32Proj</Keyword> - <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseOfAtl>Static</UseOfAtl> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <PreBuildEvent> - <Command>..\prebuild NO_GPU</Command> - </PreBuildEvent> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;SSE2;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <YASM> - <ObjectFile>$(IntDir)%(Filename).obj</ObjectFile> - </YASM> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <PreBuildEvent> - <Command>..\prebuild NO_GPU</Command> - </PreBuildEvent> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_LIB;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <Lib /> - <YASM> - <Defines>_WIN64</Defines> - <ObjectFile>$(IntDir)%(Filename).obj</ObjectFile> - </YASM> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <PreBuildEvent> - <Command>..\prebuild NO_GPU</Command> - </PreBuildEvent> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;SSE2;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <YASM> - <ObjectFile>$(IntDir)%(Filename).obj</ObjectFile> - </YASM> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <PreBuildEvent> - <Command>..\prebuild NO_GPU</Command> - </PreBuildEvent> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;_DEBUG;_LIB;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <Lib /> - <YASM> - <Defines>_WIN64</Defines> - <ObjectFile>$(IntDir)%(Filename).obj</ObjectFile> - </YASM> - </ItemDefinitionGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm" /> - <YASM Include="..\assembler\redc.asm" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\addlaws.c" /> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c" /> - <ClCompile Include="..\..\auxarith.c" /> - <ClCompile Include="..\..\auxlib.c" /> - <ClCompile Include="..\..\batch.c" /> - <ClCompile Include="..\..\bestd.c" /> - <ClCompile Include="..\..\cudawrapper.c" /> - <ClCompile Include="..\..\ecm.c" /> - <ClCompile Include="..\..\ecm2.c" /> - <ClCompile Include="..\..\ecm_ntt.c" /> - <ClCompile Include="..\..\factor.c" /> - <ClCompile Include="..\..\getprime_r.c" /> - <ClCompile Include="..\..\ks-multiply.c" /> - <ClCompile Include="..\..\listz.c" /> - <ClCompile Include="..\..\listz_handle.c"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </ClCompile> - <ClCompile Include="..\..\lucas.c" /> - <ClCompile Include="..\..\median.c" /> - <ClCompile Include="..\..\mpmod.c" /> - <ClCompile Include="..\..\mpzspm.c" /> - <ClCompile Include="..\..\mpzspv.c" /> - <ClCompile Include="..\..\mul_lo.c" /> - <ClCompile Include="..\..\ntt_gfp.c" /> - <ClCompile Include="..\..\parametrizations.c" /> - <ClCompile Include="..\..\pm1.c" /> - <ClCompile Include="..\..\pm1fs2.c" /> - <ClCompile Include="..\..\polyeval.c" /> - <ClCompile Include="..\..\pp1.c" /> - <ClCompile Include="..\..\random.c" /> - <ClCompile Include="..\..\rho.c" /> - <ClCompile Include="..\..\schoen_strass.c" /> - <ClCompile Include="..\..\sets_long.c" /> - <ClCompile Include="..\..\sp.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\spm.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\spv.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\stage2.c" /> - <ClCompile Include="..\..\torsions.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\addlaws.h" /> - <ClInclude Include="..\..\aprtcle\jacobi_sum.h" /> - <ClInclude Include="..\..\aprtcle\mpz_aprcl.h" /> - <ClInclude Include="..\..\champions.h" /> - <ClInclude Include="..\..\config.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-gpu.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\getprime_r.h" /> - <ClInclude Include="..\..\listz_handle.h" /> - <ClInclude Include="..\..\longlong.h" /> - <ClInclude Include="..\..\mpmod.h" /> - <ClInclude Include="..\..\sp.h" /> - <ClInclude Include="..\..\torsions.h" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/libecm/libecm.vcxproj.filters b/build.vc15/libecm/libecm.vcxproj.filters deleted file mode 100644 index 12c4727d..00000000 --- a/build.vc15/libecm/libecm.vcxproj.filters +++ /dev/null @@ -1,190 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - <Filter Include="Source Files\Assembler"> - <UniqueIdentifier>{2f18179f-5dba-420c-8dc7-bc7f8228a1b2}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - <YASM Include="..\assembler\redc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxarith.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\auxlib.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\bestd.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm_ntt.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\factor.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ks-multiply.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\listz.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\lucas.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\median.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpmod.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mul_lo.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ntt_gfp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pm1.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pm1fs2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\polyeval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pp1.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\rho.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\schoen_strass.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\sets_long.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\sp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\stage2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\batch.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\parametrizations.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\cudawrapper.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\addlaws.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\listz_handle.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\torsions.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime_r.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\sp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gpu.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\addlaws.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\listz_handle.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\torsions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\aprtcle\jacobi_sum.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\aprtcle\mpz_aprcl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\getprime_r.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\mpmod.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/libecm_gpu/Makefile.am b/build.vc15/libecm_gpu/Makefile.am deleted file mode 100644 index 3885d988..00000000 --- a/build.vc15/libecm_gpu/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = libecm_gpu.vcxproj libecm_gpu.vcxproj.filters diff --git a/build.vc15/libecm_gpu/libecm_gpu.vcxproj b/build.vc15/libecm_gpu/libecm_gpu.vcxproj deleted file mode 100644 index 035c1118..00000000 --- a/build.vc15/libecm_gpu/libecm_gpu.vcxproj +++ /dev/null @@ -1,311 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{3DCDD03F-7F5E-4C3C-BC19-F5C6531EAC00}</ProjectGuid> - <RootNamespace>libecm_gpu</RootNamespace> - <Keyword>Win32Proj</Keyword> - <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseOfAtl>Static</UseOfAtl> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 10.1.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\lib\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> - <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ecmlib</TargetName> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <PreBuildEvent> - <Command>..\prebuild GPU</Command> - </PreBuildEvent> - <ClCompile> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;NDEBUG;_LIB;SSE2;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <Optimization>Full</Optimization> - </ClCompile> - <Lib /> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - </CudaCompile> - <CudaCompile> - <PtxAsOptionV>true</PtxAsOptionV> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <TargetMachinePlatform>32</TargetMachinePlatform> - </CudaCompile> - <ProjectReference> - <LinkLibraryDependencies>true</LinkLibraryDependencies> - </ProjectReference> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <PreBuildEvent> - <Command>..\prebuild GPU</Command> - </PreBuildEvent> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;_WIN64;NDEBUG;_LIB;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <Lib /> - <YASM> - <Defines>_WIN64</Defines> - </YASM> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - <PtxAsOptionV>true</PtxAsOptionV> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <TargetMachinePlatform>64</TargetMachinePlatform> - </CudaCompile> - <ProjectReference> - <LinkLibraryDependencies>true</LinkLibraryDependencies> - </ProjectReference> - <Lib> - <AdditionalDependencies> - </AdditionalDependencies> - </Lib> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <PreBuildEvent> - <Command>..\prebuild GPU</Command> - </PreBuildEvent> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;_DEBUG;_LIB;SSE2;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - </CudaCompile> - <CudaCompile> - <PtxAsOptionV>true</PtxAsOptionV> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <TargetMachinePlatform>32</TargetMachinePlatform> - </CudaCompile> - <ProjectReference> - <LinkLibraryDependencies>true</LinkLibraryDependencies> - </ProjectReference> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <PreBuildEvent> - <Command>..\prebuild GPU</Command> - </PreBuildEvent> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;WITH_GPU;GPU_CC50;_WIN64;_DEBUG;_LIB;USE_ASM_REDC;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Lib /> - <Lib /> - <YASM> - <Defines>_WIN64</Defines> - </YASM> - <CudaCompile> - <CodeGeneration>compute_50,sm_50</CodeGeneration> - </CudaCompile> - <CudaCompile> - <PtxAsOptionV>true</PtxAsOptionV> - <AdditionalCompilerOptions> - </AdditionalCompilerOptions> - <Include>..\;..\..\..\mpir\lib\$(IntDir)</Include> - <TargetMachinePlatform>64</TargetMachinePlatform> - </CudaCompile> - <ProjectReference> - <LinkLibraryDependencies>true</LinkLibraryDependencies> - </ProjectReference> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="..\..\addlaws.c"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - </ClCompile> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c" /> - <ClCompile Include="..\..\auxarith.c" /> - <ClCompile Include="..\..\auxlib.c" /> - <ClCompile Include="..\..\batch.c" /> - <ClCompile Include="..\..\bestd.c" /> - <ClCompile Include="..\..\cudawrapper.c" /> - <ClCompile Include="..\..\ecm.c" /> - <ClCompile Include="..\..\ecm2.c" /> - <ClCompile Include="..\..\ecm_ntt.c" /> - <ClCompile Include="..\..\factor.c" /> - <ClCompile Include="..\..\getprime_r.c" /> - <ClCompile Include="..\..\ks-multiply.c" /> - <ClCompile Include="..\..\listz.c" /> - <ClCompile Include="..\..\listz_handle.c"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - </ClCompile> - <ClCompile Include="..\..\lucas.c" /> - <ClCompile Include="..\..\median.c" /> - <ClCompile Include="..\..\mpmod.c" /> - <ClCompile Include="..\..\mpzspm.c" /> - <ClCompile Include="..\..\mpzspv.c" /> - <ClCompile Include="..\..\mul_lo.c" /> - <ClCompile Include="..\..\ntt_gfp.c" /> - <ClCompile Include="..\..\parametrizations.c" /> - <ClCompile Include="..\..\pm1.c" /> - <ClCompile Include="..\..\pm1fs2.c" /> - <ClCompile Include="..\..\polyeval.c" /> - <ClCompile Include="..\..\pp1.c" /> - <ClCompile Include="..\..\random.c" /> - <ClCompile Include="..\..\rho.c" /> - <ClCompile Include="..\..\schoen_strass.c" /> - <ClCompile Include="..\..\sets_long.c" /> - <ClCompile Include="..\..\sp.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\spm.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\spv.c"> - <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization> - </ClCompile> - <ClCompile Include="..\..\stage2.c" /> - <ClCompile Include="..\..\torsions.c"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\addlaws.h" /> - <ClInclude Include="..\..\aprtcle\jacobi_sum.h" /> - <ClInclude Include="..\..\aprtcle\mpz_aprcl.h" /> - <ClInclude Include="..\..\champions.h" /> - <ClInclude Include="..\..\config.h" /> - <ClInclude Include="..\..\cudakernel.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-gpu.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\getprime_r.h" /> - <ClInclude Include="..\..\listz_handle.h" /> - <ClInclude Include="..\..\longlong.h" /> - <ClInclude Include="..\..\sp.h" /> - <ClInclude Include="..\..\torsions.h" /> - </ItemGroup> - <ItemGroup> - <CudaCompile Include="..\..\cudakernel.cu"> - <FileType>Document</FileType> - </CudaCompile> - </ItemGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm" /> - <YASM Include="..\assembler\redc.asm" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 10.1.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/libecm_gpu/libecm_gpu.vcxproj.filters b/build.vc15/libecm_gpu/libecm_gpu.vcxproj.filters deleted file mode 100644 index cdf9b862..00000000 --- a/build.vc15/libecm_gpu/libecm_gpu.vcxproj.filters +++ /dev/null @@ -1,193 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="..\..\mpmod.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\addlaws.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\auxarith.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\auxlib.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\batch.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\bestd.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\cudawrapper.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm_ntt.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\factor.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ks-multiply.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\listz.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\listz_handle.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\lucas.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\median.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\aprtcle\mpz_aprcl.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mul_lo.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ntt_gfp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\parametrizations.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pm1.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pm1fs2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\polyeval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\pp1.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\rho.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\schoen_strass.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\sets_long.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\sp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\stage2.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\torsions.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime_r.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gpu.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\aprtcle\jacobi_sum.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\listz_handle.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\addlaws.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\aprtcle\mpz_aprcl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\sp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\torsions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\getprime_r.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\cudakernel.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <Filter Include="Header Files"> - <UniqueIdentifier>{dfe792df-b4ff-4147-be95-190117baae33}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files"> - <UniqueIdentifier>{0315d9d5-3f8f-456a-ae54-e00de69b9350}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\Assembler"> - <UniqueIdentifier>{cbe6b893-95dc-4f4b-b2e9-73245cf57c75}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <CudaCompile Include="..\..\cudakernel.cu"> - <Filter>Source Files</Filter> - </CudaCompile> - </ItemGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - <YASM Include="..\assembler\redc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/mp_lib.props b/build.vc15/mp_lib.props deleted file mode 100644 index 5fdc3ad2..00000000 --- a/build.vc15/mp_lib.props +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <PropertyGroup Label="UserMacros"> - <mp_dir>mpir\lib\</mp_dir> - <mp_lib>mpir.lib</mp_lib> - </PropertyGroup> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - </PropertyGroup> - <ItemDefinitionGroup> - <ClCompile> - <PreprocessorDefinitions> - </PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - </ClCompile> - </ItemDefinitionGroup> - <ItemGroup> - <BuildMacro Include="mp_dir"> - <Value>$(mp_dir)</Value> - <EnvironmentVariable>true</EnvironmentVariable> - </BuildMacro> - <BuildMacro Include="mp_lib"> - <Value>$(mp_lib)</Value> - <EnvironmentVariable>true</EnvironmentVariable> - </BuildMacro> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/multiecm/Makefile.am b/build.vc15/multiecm/Makefile.am deleted file mode 100644 index 1a31b47b..00000000 --- a/build.vc15/multiecm/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = multiecm.vcxproj multiecm.vcxproj.filters diff --git a/build.vc15/multiecm/multiecm.vcxproj b/build.vc15/multiecm/multiecm.vcxproj deleted file mode 100644 index d09315f6..00000000 --- a/build.vc15/multiecm/multiecm.vcxproj +++ /dev/null @@ -1,238 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <RootNamespace>multiecm</RootNamespace> - <Keyword>Win32Proj</Keyword> - <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion> - <ProjectGuid>{16434DC2-371C-451B-A336-820499B98B8C}</ProjectGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>false</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX86</TargetMachine> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Full</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)lib\$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>ws2_32.lib;..\..\..\$(mp_dir)lib\$(Platform)\release\$(mp_lib);%(AdditionalDependencies)</AdditionalDependencies> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>EditAndContinue</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX86</TargetMachine> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;_DEBUG;_CONSOLE;OUTSIDE_LIBECM;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <MinimalRebuild>true</MinimalRebuild> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <OpenMPSupport>true</OpenMPSupport> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention> - </DataExecutionPrevention> - <TargetMachine>MachineX64</TargetMachine> - <StackReserveSize>8388608</StackReserveSize> - <StackCommitSize>65536</StackCommitSize> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <AdditionalIncludeDirectories>..\;..\..\;..\assembler;..\..\..\$(mp_dir)$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)$(IntDir)$(mp_lib);advapi32.lib;ws2_32.lib</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="..\..\auxi.c" /> - <ClCompile Include="..\..\b1_ainc.c" /> - <ClCompile Include="..\..\candi.c" /> - <ClCompile Include="..\..\eval.c" /> - <ClCompile Include="..\..\getprime_r.c" /> - <ClCompile Include="..\..\multiecm.c" /> - <ClCompile Include="..\..\random.c" /> - <ClCompile Include="..\..\resume.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\champions.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\getprime_r.h" /> - <ClInclude Include="..\..\longlong.h" /> - <ClInclude Include="..\config.h" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\libecm\libecm.vcxproj"> - <Project>{cd555681-d65b-4173-a29c-b8bf06a4871b}</Project> - <ReferenceOutputAssembly>false</ReferenceOutputAssembly> - </ProjectReference> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/multiecm/multiecm.vcxproj.filters b/build.vc15/multiecm/multiecm.vcxproj.filters deleted file mode 100644 index a22bf49d..00000000 --- a/build.vc15/multiecm/multiecm.vcxproj.filters +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\b1_ainc.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\candi.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\eval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\resume.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\getprime_r.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\multiecm.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\champions.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\getprime_r.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/out_copy_rename.bat b/build.vc15/out_copy_rename.bat deleted file mode 100644 index 5fe442ed..00000000 --- a/build.vc15/out_copy_rename.bat +++ /dev/null @@ -1,31 +0,0 @@ -@echo off -if not exist %1 goto nofile -if exist %2 goto next - -echo creating directory %2 -md %2 > nul - -:next -rem strip quotes if present -set str=%2 -for /f "useback tokens=*" %%a in ('%str%') do set str=%%~a - -rem add a backslash if the output directory lacks one -set str=%str:~-1% -if "%str%" == "\" (set outf=%2%3) else (set outf=%2\%3) - -echo copying %1 to %outf% (if not present or changed) -if not exist "%outf%" goto copy - -rem don't overwrite if output exists and is not changed -fc %1 %outf% > nul && if not %errorlevel 1 goto exit -echo overwriting %outf% with %1 - -:copy -copy %1 %outf% > nul -goto exit - -:nofile -echo %1 not found - -:exit diff --git a/build.vc15/prebuild.bat b/build.vc15/prebuild.bat deleted file mode 100644 index bbc16852..00000000 --- a/build.vc15/prebuild.bat +++ /dev/null @@ -1,3 +0,0 @@ -cd ..\ -call out_copy_rename config.h ..\ config.h -call gen_ecm_h diff --git a/build.vc15/python.bat b/build.vc15/python.bat deleted file mode 100644 index 77b1e718..00000000 --- a/build.vc15/python.bat +++ /dev/null @@ -1,2 +0,0 @@ -@echo off -"c:\program files\python34\python" %1 diff --git a/build.vc15/readme.txt b/build.vc15/readme.txt deleted file mode 100644 index b4f14831..00000000 --- a/build.vc15/readme.txt +++ /dev/null @@ -1,177 +0,0 @@ - -Building GMP-ECM with Microsoft Visual C++ 2017 -=============================================== - -If you wish to build the assembler code support you will need to -install the YASM assembler that is available at: - - http://www.tortall.net/projects/yasm/ - -THe version you need is vsyasm, which should be put it in the directory - - C:\Program Files\yasm - -Alternatively vsyasm can be installed anywhere provided the environment -variable YASMPATH is set to its absolute file path. - -The Multi-Precision Library - GMP and MPIR -========================================== - -GMP-ECM works with either GMP or MPIR, a fork of GMP. To build and run -GMP-ECM using Visual Studio you first need to obtain and build either -GMP or MPIR. MPIR has a fully integrated Visual Studio build system -for Windows but GMP does not. - -The VC++ build of GMP-ECM now defaults to MPIR but the property sheet -mp_lib.vsprops can be edited to set the macro mp_lib to 'gmp' instead -of 'mpir' to build ECM using GMP. - -GMP -=== - -GMP can be built from the GMP source code available here: - - http://gmplib.org/ - -GMP can be built with mingw for 32-bit Windows and mingw64 for Windows x64. -It is reported that the resulting libraries work with Visual Studio when -appropriately renamed. - -MPIR -==== - -MPIR is available here: - - http://www.mpir.org - -It has full support for building MPIR for 32 and 64 bit Windows systems -with x86 assembler support using the YASM assembler. - -Building GMP-ECM -================ - -The build files for GMP-ECM assume that the GMP and ECM build directories -are in a common parent directory as follows: - - Parent Directory - MPIR (or GMP) - build.vc15 -- MPIR (or GMP) build files - ... - GMP-ECM - buid.vc15 -- ECM build files - -The root directories for GMP and GMP-ECM are assumed to have these names -irrespective of which version is being used (they used to be followed by -version numbers but this meant that the build projects had to be updated -too frequently). - -The normal (non GPU) build is opened by loading the file ecm.sln (from -the build.vc14 directory) into Visual Studio. This provides these build -projects in build.vc15 for the non GPU build: - - ecm - the ECM application - ecmlib - the ECM library - tune - a program for tuning - bench_mulredc - for benchmarking mulredc - multiecm - work in progress (not working) - -The GPU build is opened by loading the file ecm.sln (from the build.vc14 -directory) into Visual Studio. This provides two build projects in -build.vc15: - - ecm_gpu - the ECM application - ecmlib_gpu - the ECM library - -In all cases you have to choose either a win32 or x64 build and either a -Release or Debug configuration (however the win32 builds are no longer -actively supported and may not work). - -The non GPU Build ------------------ - -Before starting a build, there are a number of configuration options -that need to be set: - -1. If you wish to compile GMP-ECM for use on a particular processor, - select the appropriate define from the file 'ecm-params.h' in the - GMP-ECM root directory and decide which of the defines suit your - needs (e.g. __tune_corei7__). Then replace the existing define: - - /* define Windows tuning here */ - # define __tune_corei7__ - - towards the end of the file config.h file in the 'build.vc14' - directory (build.vc14\config.h) with the chosen define. - -2. The file at 'build.vc14\mul_fft-params.h' allows the FFT code to - be tuned to 32 or 64-bit systems by selecting an option by - changing the appropriate '#elif 0' to #elif 1'. If you wish to - use the win32 AMD assembler files, you also have to use the - Visual Studio property page to define AMD_ASM (alternatively - you can edit the two files mulredc.asm and redc.asm in the - build.vc14\assembler\ directory to include the AMD assembler). - -The GPU Build -------------- - -1. If you wish to build with a GPU capability you will need to - install Nvidia Nsight for Visual Studio version 5.4 and the - CUDA Toolkit v9.0. You can then build the libecm_gpu and - ecm_gpu projects - -2. The choices above for the non GPU build aslo apply when - building for a GPU based system. - - By default, the GPU configuration is "compute_50,sm_50". If - you need to change this, select libecm_gpu and ecm_gpu and - set the propertiesfor "CUDA C/C++|Device|Code Generation" for - your GPU capability. - - Also under "C/C++|Preprocessor|Preprocessor Definitions" for - both these projects, change the current definition GPU_CC50 to - that for your GPU capability - -Build Configurations --------------------- - -When a version of ecm and ecmlib are built, the library and the application -are put in the directory matching the configuration that has been built: - - GMP-ECM - build.vc15 -- ECM build files - lib -- ECM static library files - bin -- ECM executable files - -within these lib, dll and bin directories, the outputs are located in -sub-directories determined by the platform and configuration: - - win32\release - win32\debug - x64\release - x64\debug - -If you don't want assembler support you need to change the define: - -#define NATIVE_REDC 1 - -in config.h (in the build.vc14 subdirectory) to: - -#undef NATIVE_REDC - -Tune -==== - -If tune is compiled and run for a particular configuration it will output -suitable values for optimising GMP-ECM to the console window. To optimise -GMP-ECM these values should be put in a suitably named file whcih then has -to be integrated in ecm-params.h. - -Tests -===== - -The file test.py is a python script that runs the ECM tests. It runs the -x64/release-amd (non GPU) version by default but can be edited to test other -builds. It cannot run some tests as a result of the diifficulty in the -conversion of the Unix shell scripts for the tests for use on Windows. - - Brian Gladman, November 2017 diff --git a/build.vc15/test.ecm.save b/build.vc15/test.ecm.save deleted file mode 100644 index 40b4fb1f..00000000 --- a/build.vc15/test.ecm.save +++ /dev/null @@ -1 +0,0 @@ -METHOD=ECM; PARAM=0; SIGMA=585928442; B1=174000; N=17061648125571273329563156588435816942778260706938821014533; X=0x1a2a694df04a5c037fd12f42668b474f16b7818933f4c8484; CHECKSUM=1505596339; PROGRAM=GMP-ECM 7.0-dev; Y=0x0; X0=0x0; Y0=0x0; WHO=brian@MEGA-SLAVE; TIME=Fri Feb 13 09:01:45 2015; diff --git a/build.vc15/tests.py b/build.vc15/tests.py deleted file mode 100644 index 1a1a6a30..00000000 --- a/build.vc15/tests.py +++ /dev/null @@ -1,150 +0,0 @@ - -from __future__ import print_function -import os -import sys -import string -import platform -from re import match -from subprocess import Popen, PIPE, STDOUT -from tempfile import * - -try: - from time import perf_counter as timer -except ImportError: - from time import clock as timer - - -x64 = True -debug = False -test_gpu_version = True -run_non_gpu_tests = True -run_gpu_tests = True - -class Timer() : - def __enter__(self): self.start = timer() - def __exit__(self, *args): print(' time {:.3f} milliseconds'.format(1000 * (timer() - self.start))) - -cpath = os.path.dirname(__file__) -config = 'x64' if x64 else 'Win32' -mode = 'Debug' if debug else 'Release' -test_dir = '..\\bin\\{:s}\\{:s}\\'.format(config, mode) - -def get_tests(filename): - print('running tests in {:s}'.format(filename)) - start, sub, tests, c_tests = True, dict(), [], [] - with open(os.path.join(cpath, filename)) as f: - lines = f.readlines() - cnt, lnth = 0, len(lines) - while cnt < lnth: - try: - line = lines[cnt].strip() - cnt += 1 - tkns = line.split() - if line.startswith('echo') and len(tkns) > 2 and tkns[2] == '|': - while cnt < lnth and 'checkcode' not in line: - while cnt < lnth and not lines[cnt]: - cnt += 1 - if cnt < lnth: - line += '|' + lines[cnt] - cnt += 1 - start = False - elif start: - sp = line.split('="') - if len(sp) == 2: - if sp[1].startswith('${1:-./ecm}'): - sub[sp[0]] = sp[1][12:-1] - else: - sub[sp[0]] = sp[1][:-1] - continue - else: - continue - line = line.replace(';', '|') - sub_tests = [] - for line_part in line.split('|'): - tkns = line_part.strip().split() - cmd = [] - for tok in tkns: - if tok.startswith('"') and tok.endswith('"'): - tok = tok[1:-1] - if tok[0] == '$' and tok[1:] in sub: - tok = tok.replace(tok, sub[tok[1:]]) - elif tok == './ecm': - tok = '' - cmd += [tok] - cseq = [] - if cmd and cmd[0] == 'echo': - cseq += [cmd[1]] - cmd = cmd[2:] - if len(cmd) >= 3 and cmd[-3] == 'checkcode' and cmd[-2] == '$?': - cseq += [int(cmd[-1])] - cmd = cmd[:-3] - cmd = (' '.join(cmd)).strip() - if cmd: - cseq += [cmd] - sub_tests += [cseq] - if len(sub_tests) == 3 and all(len(x) == 1 for x in sub_tests): - tests += [tuple(x[0] for x in sub_tests)] - else: - c_tests += [sub_tests] - except ValueError: - print('parsing error on line {} in text "{}"'.format(cnt, line)) - return tests, c_tests - -def run_exe(exe, args, inp) : - al = {'stdin' : PIPE, 'stdout' : PIPE, 'stderr' : STDOUT } - if sys.platform.startswith('win'): - al['creationflags'] = 0x08000000 - p = Popen([os.path.join(cpath, exe)] + args.split(' '), **al) - res = p.communicate(inp.encode())[0].decode() - ret = p.poll() - return (ret, res) - -def output_complex_tests(x): - print('these tests are too complex:') - for t in x: - print(t) - -def do_tests(tests, ctests, out=False, gpu=False): - ecm_exe = test_dir + ("ecm_gpu.exe" if gpu else "ecm.exe") - err_cnt = 0 - for ix, tt in enumerate(tests): - print(tt[1], tt[0], end='') - rv = run_exe(ecm_exe, tt[1], tt[0]) - if type(tt[2]) == int and rv[0] != tt[2]: - print(" - *** ERROR in test {:d}: {:d} {:d} ***".format(ix, rv[0], tt[2])) - err_cnt += 1 - elif type(tt[2]) == tuple and rv[0] != tt[2][0] and rv[0] != tt[2][1]: - print(" - *** ERROR in test {:d}: {:d} {:s} ***".format(ix, rv[0], tt[2])) - err_cnt += 1 - else: - print(" - passed") - if out: - op = rv[1].rsplit('\r\n') - for i in op : - print(i) - - if ctests: - output_complex_tests(ctests) - if not err_cnt: - if ctests: - print('all other tests passed') - else: - print('all tests passed') - -with Timer(): - if os.path.exists('test.pm1.save'): - os.remove('test.pm1.save') - if run_non_gpu_tests: - t, ct = get_tests("..\\test.ecm") - do_tests(t, ct) - t, ct = get_tests("..\\test.pm1") - do_tests(t, ct) - t, ct = get_tests("..\\test.pp1") - do_tests(t, ct) - t, ct = get_tests("..\\testlong.pp1") - do_tests(t, ct) - t, ct = get_tests("..\\testlong.pm1") - do_tests(t, ct) - if run_gpu_tests: - t, ct = get_tests("..\\test.gpuecm") - do_tests(t, ct, gpu=True) diff --git a/build.vc15/tune.txt b/build.vc15/tune.txt deleted file mode 100644 index a330c7ec..00000000 --- a/build.vc15/tune.txt +++ /dev/null @@ -1,11 +0,0 @@ -#define LIST_MUL_TABLE {0,0,0,0,0,0,0,0,0,0,3,3,3,3,1,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3} -#define MPZMOD_THRESHOLD 25 -#define REDC_THRESHOLD 512 -#define MPN_MUL_LO_THRESHOLD_TABLE {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 1, 1, 1} -#define NTT_GFP_TWIDDLE_DIF_BREAKOVER 17 -#define NTT_GFP_TWIDDLE_DIT_BREAKOVER 16 -#define MUL_NTT_THRESHOLD 262144 -#define PREREVERTDIVISION_NTT_THRESHOLD 131072 -#define POLYINVERT_NTT_THRESHOLD 262144 -#define POLYEVALT_NTT_THRESHOLD 32768 -#define MPZSPV_NORMALISE_STRIDE 512 diff --git a/build.vc15/tune/Makefile.am b/build.vc15/tune/Makefile.am deleted file mode 100644 index fe8ca5e2..00000000 --- a/build.vc15/tune/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = tune.vcxproj tune.vcxproj.filters diff --git a/build.vc15/tune/tune.vcxproj b/build.vc15/tune/tune.vcxproj deleted file mode 100644 index ec7e8271..00000000 --- a/build.vc15/tune/tune.vcxproj +++ /dev/null @@ -1,164 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{80E08750-5C6C-492E-BB1E-7200978AE125}</ProjectGuid> - <RootNamespace>tune</RootNamespace> - <Keyword>Win32Proj</Keyword> - <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <CharacterSet>Unicode</CharacterSet> - <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <CharacterSet>NotSet</CharacterSet> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\vsyasm.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="..\mp_lib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\bin\$(Platform)\$(Configuration)\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <Optimization>MaxSpeed</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)$(IntDir);..\..\;..\assembler;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;TUNE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <FunctionLevelLinking>true</FunctionLevelLinking> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)$(IntDir)$(mp_lib);%(AdditionalDependencies)</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <TargetMachine>MachineX86</TargetMachine> - </Link> - <PostBuildEvent> - <Command> - </Command> - </PostBuildEvent> - <YASM> - <Defines> - </Defines> - <ObjectFile>$(IntDir)%(FileName).obj</ObjectFile> - </YASM> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Midl> - <TargetEnvironment>X64</TargetEnvironment> - </Midl> - <ClCompile> - <Optimization>MaxSpeed</Optimization> - <IntrinsicFunctions>true</IntrinsicFunctions> - <AdditionalIncludeDirectories>..\..\..\$(mp_dir)$(IntDir);..\..\;..\assembler;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_CONSOLE;TUNE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <FunctionLevelLinking>true</FunctionLevelLinking> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - </ClCompile> - <Link> - <AdditionalDependencies>..\..\..\$(mp_dir)$(IntDir)$(mp_lib);%(AdditionalDependencies)</AdditionalDependencies> - <GenerateDebugInformation>true</GenerateDebugInformation> - <SubSystem>Console</SubSystem> - <OptimizeReferences>true</OptimizeReferences> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <TargetMachine>MachineX64</TargetMachine> - </Link> - <PostBuildEvent> - <Command> - </Command> - </PostBuildEvent> - <YASM> - <Defines>_WIN64</Defines> - <ObjectFile>$(IntDir)%(FileName).obj</ObjectFile> - </YASM> - </ItemDefinitionGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm" /> - <YASM Include="..\assembler\redc.asm" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxarith.c" /> - <ClCompile Include="..\..\auxlib.c" /> - <ClCompile Include="..\..\ecm_ntt.c" /> - <ClCompile Include="..\..\ks-multiply.c" /> - <ClCompile Include="..\..\listz.c" /> - <ClCompile Include="..\..\median.c" /> - <ClCompile Include="..\..\mpmod.c"> - <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">TUNE_MULREDC_THRESH#0;TUNE_SQRREDC_THRESH#0;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">TUNE_MULREDC_THRESH#0;TUNE_SQRREDC_THRESH#0;%(PreprocessorDefinitions)</PreprocessorDefinitions> - </ClCompile> - <ClCompile Include="..\..\mpzspm.c" /> - <ClCompile Include="..\..\mpzspv.c" /> - <ClCompile Include="..\..\mul_lo.c" /> - <ClCompile Include="..\..\ntt_gfp.c" /> - <ClCompile Include="..\..\polyeval.c" /> - <ClCompile Include="..\..\random.c" /> - <ClCompile Include="..\..\schoen_strass.c" /> - <ClCompile Include="..\..\sp.c" /> - <ClCompile Include="..\..\spm.c" /> - <ClCompile Include="..\..\spv.c" /> - <ClCompile Include="..\..\tune.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h" /> - <ClInclude Include="..\..\ecm-params.h" /> - <ClInclude Include="..\config.h" /> - <ClInclude Include="..\..\ecm-ecm.h" /> - <ClInclude Include="..\..\ecm-gmp.h" /> - <ClInclude Include="..\..\ecm-impl.h" /> - <ClInclude Include="..\..\ecm.h" /> - <ClInclude Include="..\..\longlong.h" /> - <ClInclude Include="..\..\sp.h" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\libecm\libecm.vcxproj"> - <Project>{cd555681-d65b-4173-a29c-b8bf06a4871b}</Project> - </ProjectReference> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\vsyasm.targets" /> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/tune/tune.vcxproj.filters b/build.vc15/tune/tune.vcxproj.filters deleted file mode 100644 index dff0286b..00000000 --- a/build.vc15/tune/tune.vcxproj.filters +++ /dev/null @@ -1,109 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - <Filter Include="Source Files\Assembler"> - <UniqueIdentifier>{38f1a18f-40fc-4eed-a68e-e79b58327b6c}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <YASM Include="..\assembler\mulredc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - <YASM Include="..\assembler\redc.asm"> - <Filter>Source Files\Assembler</Filter> - </YASM> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\auxarith.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\auxlib.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ecm_ntt.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ks-multiply.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\listz.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\median.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpmod.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mpzspv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\mul_lo.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\ntt_gfp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\polyeval.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\random.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\schoen_strass.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\sp.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spm.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\spv.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\tune.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-impl.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\longlong.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\sp.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\ecm-params.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\mpir\lib\x64\release\gmp.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/vacopy.c b/build.vc15/vacopy.c deleted file mode 100644 index d6a3d81a..00000000 --- a/build.vc15/vacopy.c +++ /dev/null @@ -1,8 +0,0 @@ - -#include <stdarg.h> -#include <string.h> - -void _vacopy(va_list *pap, va_list ap) -{ - *pap = ap; -} diff --git a/build.vc15/vsyasm.props b/build.vc15/vsyasm.props deleted file mode 100644 index a3678c6c..00000000 --- a/build.vc15/vsyasm.props +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <PropertyGroup - Condition="'$(YASMBeforeTargets)' == '' and '$(YASMAfterTargets)' == '' and '$(ConfigurationType)' != 'Makefile'"> - <YASMBeforeTargets>Midl</YASMBeforeTargets> - <YASMAfterTargets>CustomBuild</YASMAfterTargets> - </PropertyGroup> - <PropertyGroup> - <YASMDependsOn - Condition="'$(ConfigurationType)' != 'Makefile'">_SelectedFiles;$(YASMDependsOn)</YASMDependsOn> - </PropertyGroup> - <PropertyGroup> - <YasmPath Condition= "'$(YASMPATH)' == ''">C:\Program Files\yasm\</YasmPath> - </PropertyGroup> - <ItemDefinitionGroup> - <YASM> - <Debug>False</Debug> - <ObjectFile>$(IntDir)%(FileName).obj</ObjectFile> - <PreProc>0</PreProc> - <Parser>0</Parser> - <CommandLineTemplate>"$(YasmPath)"vsyasm.exe -Xvc -f $(Platform) [AllOptions] [AdditionalOptions] [Inputs]</CommandLineTemplate> - <Outputs>%(ObjectFile)</Outputs> - <ExecutionDescription>Assembling %(Filename)%(Extension) ==> $(IntDir)%(FileName).obj</ExecutionDescription> - <ShowOnlyRuleProperties>false</ShowOnlyRuleProperties> - </YASM> - </ItemDefinitionGroup> -</Project> \ No newline at end of file diff --git a/build.vc15/vsyasm.targets b/build.vc15/vsyasm.targets deleted file mode 100644 index 9a333f9e..00000000 --- a/build.vc15/vsyasm.targets +++ /dev/null @@ -1,110 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - - <ItemGroup> - <PropertyPageSchema - Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" /> - <AvailableItemName - Include="YASM"> - <Targets>_YASM</Targets> - </AvailableItemName> - </ItemGroup> - - <PropertyGroup> - <ComputeLinkInputsTargets> - $(ComputeLinkInputsTargets); - ComputeYASMOutput; - </ComputeLinkInputsTargets> - <ComputeLibInputsTargets> - $(ComputeLibInputsTargets); - ComputeYASMOutput; - </ComputeLibInputsTargets> - </PropertyGroup> - - <UsingTask - TaskName="YASM" - TaskFactory="XamlTaskFactory" - AssemblyName="Microsoft.Build.Tasks.v4.0"> - <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task> - </UsingTask> - - <Target Name="_WriteYASMTlogs" - Condition="'@(YASM)' != '' and '@(SelectedFiles)' == ''"> - - <ItemGroup> - <_YASMReadTlog - Include="^%(YASM.FullPath);%(YASM.AdditionalDependencies)" - Condition="'%(YASM.ExcludedFromBuild)' != 'true' and '%(YASM.ObjectFile)' != ''"/> - <_YASMWriteTlog - Include="^%(YASM.FullPath);$([MSBuild]::NormalizePath('$(MSBuildProjectDirectory)', '%(YASM.ObjectFile)'))" - Condition="'%(YASM.ExcludedFromBuild)' != 'true' and '%(YASM.ObjectFile)' != ''"/> - </ItemGroup> - - <WriteLinesToFile - Condition="'@(_YASMReadTlog)' != ''" - File="$(TLogLocation)YASM.read.1u.tlog" - Lines="@(_YASMReadTlog->MetaData('Identity')->ToUpperInvariant());" - Overwrite="true" - Encoding="Unicode"/> - - <WriteLinesToFile - Condition="'@(_YASMWriteTlog)' != ''" - File="$(TLogLocation)YASM.write.1u.tlog" - Lines="@(_YASMWriteTlog->MetaData('Identity')->ToUpperInvariant());" - Overwrite="true" - Encoding="Unicode"/> - - <ItemGroup> - <_YASMReadTlog Remove="@(_YASMReadTlog)" /> - <_YASMWriteTlog Remove="@(_YASMWriteTlog)" /> - </ItemGroup> - - </Target> - - <Target - Name="_YASM" - BeforeTargets="$(YASMBeforeTargets)" - AfterTargets="$(YASMAfterTargets)" - Condition="'@(YASM)' != ''" - Inputs="%(YASM.Identity);%(YASM.AdditionalDependencies);$(MSBuildProjectFile)" - Outputs="%(YASM.ObjectFile)" - DependsOnTargets="PrepareForBuild;_WriteYasmTlogs;_SelectedFiles;$(YASMDependsOn);"> - - <ItemGroup Condition="'@(SelectedFiles)' != ''"> - <YASM Remove="@(YASM)" Condition="'%(Identity)' != '@(SelectedFiles)'" /> - </ItemGroup> - - <Message - Importance="High" - Text="%(YASM.ExecutionDescription)" /> - - <YASM - Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'" - CommandLineTemplate="%(YASM.CommandLineTemplate)" - Debug="%(YASM.Debug)" - PreIncludeFile="%(YASM.PreIncludeFile)" - IncludePaths="%(YASM.IncludePaths)" - Defines="%(YASM.Defines)" - UnDefines="%(YASM.UnDefines)" - ObjectFile="%(YASM.ObjectFile)" - ListFile="%(YASM.ListFile)" - MapFile="%(YASM.MapFile)" - ErrorFile="%(YASM.ErrorFile)" - SymbolPrefix="%(YASM.SymbolPrefix)" - SymbolSuffix="%(YASM.SymbolSuffix)" - PreProc="%(YASM.PreProc)" - Parser="%(YASM.Parser)" - AdditionalOptions="%(YASM.AdditionalOptions)" - Inputs="%(YASM.Identity)" /> - </Target> - - <Target - Name="ComputeYASMOutput" - Condition="'@(YASM)' != ''"> - <ItemGroup> - <Link Include="@(YASM->Metadata('ObjectFile')->Distinct()->ClearMetadata())" Condition="'%(YASM.ExcludedFromBuild)' != 'true'"/> - <Lib Include="@(YASM->Metadata('ObjectFile')->Distinct()->ClearMetadata())" Condition="'%(YASM.ExcludedFromBuild)' != 'true'"/> - </ItemGroup> - </Target> - -</Project> \ No newline at end of file diff --git a/build.vc15/vsyasm.xml b/build.vc15/vsyasm.xml deleted file mode 100644 index 0b259559..00000000 --- a/build.vc15/vsyasm.xml +++ /dev/null @@ -1,283 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:transformCallback="Microsoft.Cpp.Dev10.ConvertPropertyCallback"> - <Rule - Name="YASM" - PageTemplate="tool" - DisplayName="Yasm Assembler" - Order="200"> - - <Rule.DataSource> - <DataSource - Persistence="ProjectFile" - ItemType="YASM" /> - </Rule.DataSource> - - <Rule.Categories> - - <Category - Name="General"> - <Category.DisplayName> - <sys:String>General</sys:String> - </Category.DisplayName> - </Category> - - <Category - Name="Symbols"> - <Category.DisplayName> - <sys:String>Symbols</sys:String> - </Category.DisplayName> - </Category> - - <Category - Name="Files"> - <Category.DisplayName> - <sys:String>Files</sys:String> - </Category.DisplayName> - </Category> - - <Category - Name="Command Line" - Subtype="CommandLine"> - <Category.DisplayName> - <sys:String>Command Line</sys:String> - </Category.DisplayName> - </Category> - - </Rule.Categories> - - <StringListProperty - Name="Inputs" - Category="Command Line" - IsRequired="true" - Switch=" "> - <StringListProperty.DataSource> - <DataSource - Persistence="ProjectFile" - ItemType="YASM" - SourceType="Item" /> - </StringListProperty.DataSource> - </StringListProperty> - - <BoolProperty - Name="Debug" - Subcategory="Configuration" - HelpContext="0" - DisplayName="Debug Information" - Description="Generate debugging information" - Switch="-g cv8" /> - - <StringListProperty - Name="IncludePaths" - Subcategory="Configuration" - HelpContext="0" - DisplayName="Include Paths" - Description="Set the paths for any additional include files" - Switch="-i "[value]"" /> - - <StringListProperty - Name="Defines" - Category="Symbols" - Subcategory="Pre-Defined Symbols" - HelpContext="0" - DisplayName="Defined Symbols" - Description="Specify pre-defined symbols ('symbol' or 'symbol = value') " - Switch="-d "[value]"" /> - - <StringListProperty - Name="UnDefines" - Category="Symbols" - Subcategory="Pre-Defined Symbols" - HelpContext="0" - DisplayName="Remove Symbols" - Description="Remove pre-defined symbols " - Switch="-u "[value]"" /> - - <StringProperty - Name="ObjectFile" - Subcategory="Output" - HelpContext="0" - DisplayName="Object File Name" - Description="Select the output file name" - Switch="-o "[value]"" /> - - <StringProperty - Name="ListFile" - Category="Files" - Subcategory="Output" - HelpContext="0" - DisplayName="List File Name" - Description="Select an output listing by setting its file name" - Switch="-l "[value]"" /> - - <StringProperty - Name="PreIncludeFile" - Category="Files" - Subcategory="Configuration" - HelpContext="0" - DisplayName="Pre Include File" - Description="Select a pre-included file by setting its name" - Switch="-P "[value]"" /> - - <StringProperty - Name="MapFile" - Category="Files" - Subcategory="Output" - HelpContext="0" - DisplayName="Map File Name" - Description="Select a map output by setting its file name" - Switch="--mapdir="[value]"" /> - - <StringProperty - Name="ErrorFile" - Category="Files" - Subcategory="Output" - HelpContext="0" - DisplayName="Error File Name" - Description="Send error/warning messages to a file by setting its name" - Switch="-E "[value]"" /> - - <StringProperty - Name="SymbolPrefix" - Category="Symbols" - Subcategory="Symbols" - HelpContext="0" - DisplayName="External Symbol Prefix" - Description="Prepend symbol to all external symbols" - Switch="--prefix="[value]"" /> - - <StringProperty - Name="SymbolSuffix" - Category="Symbols" - Subcategory="Symbols" - HelpContext="0" - DisplayName="External Symbol Suffix" - Description="Append symbol to all external symbols" - Switch="--suffix="[value]"" /> - - <EnumProperty - Name="PreProc" - Subcategory="Configuration" - HelpContext="0" - DisplayName="Pre-Processor" - Description="Select the pre-processor ('nasm' or 'raw')"> - <EnumValue - Name="0" - DisplayName="Nasm " - Switch="-rnasm" /> - <EnumValue - Name="1" - DisplayName="Raw" - Switch="-rraw" /> - </EnumProperty> - - <EnumProperty - Name="Parser" - Subcategory="Configuration" - HelpContext="0" - DisplayName="Parser" - Description="Select the parser for Intel ('nasm') or AT&T ( 'gas') syntax"> - <EnumValue - Name="0" - DisplayName="Nasm" - Switch="-pnasm" /> - <EnumValue - Name="1" - DisplayName="Gas" - Switch="-pgas" /> - </EnumProperty> - - <StringProperty - Name="CommandLineTemplate" - DisplayName="Command Line" - Visible="False" - IncludeInCommandLine="False" /> - - <DynamicEnumProperty - Name="YASMBeforeTargets" - Category="General" - EnumProvider="Targets" - IncludeInCommandLine="False"> - <DynamicEnumProperty.DisplayName> - <sys:String>Execute Before</sys:String> - </DynamicEnumProperty.DisplayName> - <DynamicEnumProperty.Description> - <sys:String>Specifies the targets for the build customization to run before.</sys:String> - </DynamicEnumProperty.Description> - <DynamicEnumProperty.ProviderSettings> - <NameValuePair - Name="Exclude" - Value="^YASMBeforeTargets|^Compute" /> - </DynamicEnumProperty.ProviderSettings> - <DynamicEnumProperty.DataSource> - <DataSource - Persistence="ProjectFile" - HasConfigurationCondition="true" /> - </DynamicEnumProperty.DataSource> - </DynamicEnumProperty> - - <DynamicEnumProperty - Name="YASMAfterTargets" - Category="General" - EnumProvider="Targets" - IncludeInCommandLine="False"> - <DynamicEnumProperty.DisplayName> - <sys:String>Execute After</sys:String> - </DynamicEnumProperty.DisplayName> - <DynamicEnumProperty.Description> - <sys:String>Specifies the targets for the build customization to run after.</sys:String> - </DynamicEnumProperty.Description> - <DynamicEnumProperty.ProviderSettings> - <NameValuePair - Name="Exclude" - Value="^YASMAfterTargets|^Compute" /> - </DynamicEnumProperty.ProviderSettings> - <DynamicEnumProperty.DataSource> - <DataSource - Persistence="ProjectFile" - ItemType="" - HasConfigurationCondition="true" /> - </DynamicEnumProperty.DataSource> - </DynamicEnumProperty> - - <StringListProperty - Name="Outputs" - DisplayName="Outputs" - Visible="False" - IncludeInCommandLine="False" /> - - <StringProperty - Name="ExecutionDescription" - DisplayName="Execution Description" - Visible="False" - IncludeInCommandLine="False" /> - - <StringListProperty - Name="AdditionalDependencies" - DisplayName="Additional Dependencies" - IncludeInCommandLine="False" - Visible="true" /> - - <StringProperty - Subtype="AdditionalOptions" - Name="AdditionalOptions" - Category="Command Line"> - <StringProperty.DisplayName> - <sys:String>Additional Options</sys:String> - </StringProperty.DisplayName> - <StringProperty.Description> - <sys:String>Additional Options</sys:String> - </StringProperty.Description> - </StringProperty> - </Rule> - - <ItemType - Name="YASM" - DisplayName="Yasm Assembler" /> - <FileExtension - Name="*.asm" - ContentType="YASM" /> - <ContentType - Name="YASM" - DisplayName="Yasm Assembler" - ItemType="YASM" /> -</ProjectSchemaDefinitions> \ No newline at end of file -- GitLab