smg_comms_c_wrappers 1 NB: this is used by the smg_rsa component of EuCrypt.
smg_comms_c_wrappers 2
smg_comms_c_wrappers 3 What you see here is a very classic version of the GNU MPI (bignum) library.
smg_comms_c_wrappers 4 It has been surgically removed from GnuPG 1.4.10, specifically as found at:
smg_comms_c_wrappers 5
smg_comms_c_wrappers 6 http://trilema.com/wp-content/uploads/2015/10/gnupg-1.4.10.tar.gz.asc
smg_comms_c_wrappers 7
smg_comms_c_wrappers 8 SHA512(gnupg-1.4.10.tar.gz) :
smg_comms_c_wrappers 9 d037041d2e6882fd3b999500b5a7b42be2c224836afc358e1f8a2465c1b74473d518f185b7c324b2c8dec4ffb70e9e34a03c94d1a54cc55d297f40c9745f6e1b
smg_comms_c_wrappers 10
smg_comms_c_wrappers 11 Recommended compilation:
smg_comms_c_wrappers 12 1) gprbuild mpi.gpr
smg_comms_c_wrappers 13
smg_comms_c_wrappers 14 Tests:
smg_comms_c_wrappers 15 2) cd tests
smg_comms_c_wrappers 16 3) gprbuild
smg_comms_c_wrappers 17 4) ./test_mpi
smg_comms_c_wrappers 18 5) output is:
smg_comms_c_wrappers 19 37A063D056817668C7AA3418F29
smg_comms_c_wrappers 20 6) q: 'Waaaaaa, it barfed!'
smg_comms_c_wrappers 21 a: You are probably using GCC 5 or LLVM. Stop.
smg_comms_c_wrappers 22
smg_comms_c_wrappers 23
smg_comms_c_wrappers 24 CHANGES FROM ORIGINAL:
smg_comms_c_wrappers 25
smg_comms_c_wrappers 26 1) Everything pertaining to Automake was nuked, and the earth where it stood -
smg_comms_c_wrappers 27 salted.
smg_comms_c_wrappers 28
smg_comms_c_wrappers 29 Instead, we now have a conventional Makefile. It builds precisely
smg_comms_c_wrappers 30 ONE THING - a single 'mpi.a' library suitable for static linking into
smg_comms_c_wrappers 31 another project. This will turn up in 'bin'.
smg_comms_c_wrappers 32
smg_comms_c_wrappers 33 Among other things, this now means that all KNOBS now reside in a
smg_comms_c_wrappers 34 MANUALLY-controlled 'knobs.h' found in 'include'. If you are building
smg_comms_c_wrappers 35 on some very peculiar unix, please read it and adjust as appropriate.
smg_comms_c_wrappers 36 It contains ONLY those knobs which actually pertain to the code.
smg_comms_c_wrappers 37
smg_comms_c_wrappers 38 The Makefile contains a 'check-syntax' - users of Emacs and Flymake
smg_comms_c_wrappers 39 will see proper error-highlighting.
smg_comms_c_wrappers 40
smg_comms_c_wrappers 41 2) ALL chip-specific ASM optimizations (including those found in longlong.h)
smg_comms_c_wrappers 42 have been nuked.
smg_comms_c_wrappers 43
smg_comms_c_wrappers 44 3) GPG-specific cruft has been amputated to the extent practical.
smg_comms_c_wrappers 45
smg_comms_c_wrappers 46 The logging system has been retained, but it can be easily torn out,
smg_comms_c_wrappers 47 which I may choose to do in the near future.
smg_comms_c_wrappers 48
smg_comms_c_wrappers 49 The I/O buffering system has been retained. I may choose to remove it
smg_comms_c_wrappers 50 in the near future.
smg_comms_c_wrappers 51
smg_comms_c_wrappers 52 The 'secure memory' (unpageable alloc) system has been retained.
smg_comms_c_wrappers 53
smg_comms_c_wrappers 54 'Localization' and all related idiocies have been nuked.
smg_comms_c_wrappers 55 Write hieroglyphs at home, leave them there, civilized folk
smg_comms_c_wrappers 56 don't need'em in their source code.
smg_comms_c_wrappers 57
smg_comms_c_wrappers 58 4) Other code has been altered solely to the extent required by items
smg_comms_c_wrappers 59 (1), (2), and (3).
smg_comms_c_wrappers 60
smg_comms_c_wrappers 61 Cruft which appears in dead #ifdefs may be removed in the future.
smg_comms_c_wrappers 62 Don't get comfortable with it being there.
smg_comms_c_wrappers 63
smg_comms_c_wrappers 64 5) Readers who wish to know EXACTLY what I changed, should get a copy of the
smg_comms_c_wrappers 65 original tarball and write a simple script involving 'find' and 'vdiff',
smg_comms_c_wrappers 66 which sadly did not fit in the margins of this page.
smg_comms_c_wrappers 67
smg_comms_c_wrappers 68 6) To use the library, include 'include/mpi.h' in your project,
smg_comms_c_wrappers 69 and statically link with 'bin/mpi.a'.
smg_comms_c_wrappers 70
smg_comms_c_wrappers 71 7) The original code was distributed under GPL 3, which may apply on
smg_comms_c_wrappers 72 your planet and is therefore included. (See COPYING.)
smg_comms_c_wrappers 73
smg_comms_c_wrappers 74 ----------
smg_comms_c_wrappers 75 UPDATE #1:
smg_comms_c_wrappers 76 ----------
smg_comms_c_wrappers 77
smg_comms_c_wrappers 78 1) Abolished the logging subsystem inherited from GPG.
smg_comms_c_wrappers 79
smg_comms_c_wrappers 80 2) Abolished the I/O buffering subsystem, from same.
smg_comms_c_wrappers 81
smg_comms_c_wrappers 82 3) Eliminated all #ifdef blocks pertaining to RiscOS.
smg_comms_c_wrappers 83
smg_comms_c_wrappers 84 4) config.h is now knobs.h and is considerably shorter
smg_comms_c_wrappers 85 on account of there now being a great many fewer knobs.
smg_comms_c_wrappers 86
smg_comms_c_wrappers 87 5) Eliminated certain blocks of dead code.
smg_comms_c_wrappers 88
smg_comms_c_wrappers 89 6) Inserted notice of modifications as specified in GPL-3