- FE2917EF90A8E9DEB4D9F7450CBBC20FDF3CA9F76630B6956137B4648916E143C89F857E0BF0FDE968FD241F3049050EF7F146254A9E8DAEAD54FC0B720C7620
+ 553FD1DBEE5E1F5D3A5EC56690FEA143943CD029CB4DB51651F1BA01EE3069385EA513F0CE5C22A062020A3ACEF6CAC219D0D86CCC56CB2467605776949F915B
eucrypt/mpi/README
(1 . 2)(1 . 86)
715 S.MG, 2017
716 What you see here is a very classic version of the GNU MPI (bignum) library.
717 It has been surgically removed from GnuPG 1.4.10, specifically as found at:
718
719 http://trilema.com/wp-content/uploads/2015/10/gnupg-1.4.10.tar.gz.asc
720
721 SHA512(gnupg-1.4.10.tar.gz) :
722 d037041d2e6882fd3b999500b5a7b42be2c224836afc358e1f8a2465c1b74473d518f185b7c324b2c8dec4ffb70e9e34a03c94d1a54cc55d297f40c9745f6e1b
723
724 DEMO:
725
726 1) make
727 2) cd tests
728 3) make
729 4) ./test_mpi
730 5) output is:
731 37A063D056817668C7AA3418F29
732 6) q: 'Waaaaaa, it barfed!'
733 a: You are probably using GCC 5 or LLVM. Stop.
734
735
736 CHANGES FROM ORIGINAL:
737
738 1) Everything pertaining to Automake was nuked, and the earth where it stood -
739 salted.
740
741 Instead, we now have a conventional Makefile. It builds precisely
742 ONE THING - a single 'mpi.a' library suitable for static linking into
743 another project. This will turn up in 'bin'.
744
745 Among other things, this now means that all KNOBS now reside in a
746 MANUALLY-controlled 'knobs.h' found in 'include'. If you are building
747 on some very peculiar unix, please read it and adjust as appropriate.
748 It contains ONLY those knobs which actually pertain to the code.
749
750 The Makefile contains a 'check-syntax' - users of Emacs and Flymake
751 will see proper error-highlighting.
752
753 2) ALL chip-specific ASM optimizations (including those found in longlong.h)
754 have been nuked.
755
756 3) GPG-specific cruft has been amputated to the extent practical.
757
758 The logging system has been retained, but it can be easily torn out,
759 which I may choose to do in the near future.
760
761 The I/O buffering system has been retained. I may choose to remove it
762 in the near future.
763
764 The 'secure memory' (unpageable alloc) system has been retained.
765
766 'Localization' and all related idiocies have been nuked.
767 Write hieroglyphs at home, leave them there, civilized folk
768 don't need'em in their source code.
769
770 4) Other code has been altered solely to the extent required by items
771 (1), (2), and (3).
772
773 Cruft which appears in dead #ifdefs may be removed in the future.
774 Don't get comfortable with it being there.
775
776 5) Readers who wish to know EXACTLY what I changed, should get a copy of the
777 original tarball and write a simple script involving 'find' and 'vdiff',
778 which sadly did not fit in the margins of this page.
779
780 6) To use the library, include 'include/mpi.h' in your project,
781 and statically link with 'bin/mpi.a'.
782
783 7) The original code was distributed under GPL 3, which may apply on
784 your planet and is therefore included. (See COPYING.)
785
786 ----------
787 UPDATE #1:
788 ----------
789
790 1) Abolished the logging subsystem inherited from GPG.
791
792 2) Abolished the I/O buffering subsystem, from same.
793
794 3) Eliminated all #ifdef blocks pertaining to RiscOS.
795
796 4) config.h is now knobs.h and is considerably shorter
797 on account of there now being a great many fewer knobs.
798
799 5) Eliminated certain blocks of dead code.
800
801 6) Inserted notice of modifications as specified in GPL-3