INSTALL (1625B)
1 Configure libzahl 2 ================= 3 4 libzahl is configured by editing config.mk. You may choose 5 to make a copy of config.mk, and reference the copy with 6 CONFIG when running make. For example: 7 cp config.mk my-config.mk 8 # edit my-config.mk 9 make CONFIG=my-config.mk 10 11 Unless you are compiling for Linux you may have to add 12 -D'FAST_RANDOM_PATHNAME="<path to a non-blocking random number generator>"' 13 (/dev/urandom on Linux) and 14 -D'SECURE_RANDOM_PATHNAME="<path to a blocking random number generator>"' 15 (/dev/random on Linux) to CPPFLAGS. 16 17 If you are using a C standard library where the higher bits have higher 18 entropy in the lower bits in rand(3) (as historically was the case), 19 remove -DGOOD_RAND from CPPFLAGS. 20 21 If you don't care if your program crashes on failure, you can add 22 -DZAHL_UNSAFE to CPPFLAGS. This will give you a marginal performance 23 boost. You should also add, preferably, 24 #define ZAHL_UNSAFE 25 before including <zahl.h> in your program if you are doing this. 26 27 If your CPU does not support indirect jumps (computed jumps) you should 28 add -DZAHL_ISA_MISSING_INDIRECT_JUMP to CPPFLAGS, and preferably add 29 #define ZAHL_ISA_MISSING_INDIRECT_JUMP 30 before including <zahl.h> in your program. 31 32 libzahl contains some (very little) assembly code. In the event 33 that the used instructions are not supported on your machine, please 34 report it, and in the meanwhile add -DZAHL_NO_ASM to CPPFLAGS. You 35 may also have to do this if you are compiling with a compiler that 36 does not support extended inline assembly. You may also have to add 37 #define ZAHL_NO_ASM 38 to your program before includeing <zahl.h>