mirror of
https://github.com/SDL-Hercules-390/hyperion.git
synced 2026-07-30 12:29:16 +02:00
593830c0c7
1. Each package's extra install files are now unique. This allows all external libraries to be built and installed into the same directory. 2. The EXT_PKGS.msvc makefile fragment has been tweaked to support easily overriding the Hercules default of linking with its own distributed static link libraries to linking instead with your own custom external package static link libraries instead, by simply pointing your "LIB" environment variable to where they are. That is to say, Hercules will now link with YOUR external package static link libraries instead and not its own, as long as your "LIB" environment variable points to where they are. This makes it easier to override Hercules's distributed default libraries with your own instead, without modifying Hercules's defaults. Hercules's default libraries will now remain untouched if you install your overrides into a separate directory somewhere and simply point Hercules to that directory via the "LIB" environment variable. Doing so now causes Hercules to link with your libraries instead of its own, thereby allowing its distributed default libraries to remain untouched (and Hercules will now report a "clean" version number too (just xxxx), instead of "xxxx-modified" as before).
85 lines
2.2 KiB
Plaintext
85 lines
2.2 KiB
Plaintext
basic fixes
|
|
|
|
relevant urls
|
|
|
|
for the general decimal arithmetic
|
|
http://speleotrove.com/decimal/
|
|
|
|
decNumber package documentation
|
|
http://speleotrove.com/decimal/decnumber.html
|
|
|
|
for the errata
|
|
http://speleotrove.com/decimal/decnumerr.html
|
|
|
|
quoting verbatim from the above
|
|
A decNumber user has reported that Visual Studio 2010 (32 bit) has difficulty with compiling the decNumber source files.
|
|
Here are his workarounds.
|
|
http://speleotrove.com/decimal/decnumVS.html
|
|
|
|
the workaround has been implemented using
|
|
quoting verbatim from the above
|
|
|
|
Method 2:
|
|
In file: "decBasic.c"
|
|
1. Change extension from .c to .h
|
|
|
|
2. Add the following at the beginning of the code:
|
|
#if !defined(DECBASIC)
|
|
#define DECBASIC
|
|
|
|
3. Add the following at the end of the code:
|
|
#endif
|
|
|
|
4. Replace the following line 2 lines
|
|
#error decBasic.c must be included after decCommon.c
|
|
#error Routines in decBasic.c are for decDouble and decQuad only
|
|
with
|
|
#error decBasic.h must be included after decCommon.h
|
|
#error Routines in decBasic.h are for decDouble and decQuad only
|
|
respectively.
|
|
|
|
In file "decCommon.c"
|
|
1. Change extension from .c to .h
|
|
|
|
2. Add the following at the beginning of the code:
|
|
#if !defined(DECCOMMON)
|
|
#define DECCOMMON
|
|
3. Add the following at the end of the code:
|
|
#endif
|
|
|
|
In the following files:
|
|
decQuad.c
|
|
decDouble.c
|
|
decSingle.c
|
|
|
|
replace lines:
|
|
#include "decCommon.c"
|
|
#include "decBasic.c"
|
|
|
|
with
|
|
#include "decCommon.h"
|
|
#include "decBasic.h"
|
|
|
|
as applicable.
|
|
|
|
References to decCommon.c and decBasic.c in commentary should also be modified to refer to the corresponding .h.
|
|
|
|
additional fixes
|
|
|
|
http://speleotrove.com/decimal/decnumerr.html
|
|
quoting verbatim from the above
|
|
In addition, an earlier fix (thought to have been applied in 3.67) is still missing in 3.68:
|
|
decDoubleIsSigned and decQuadIsSigned return incorrect result.
|
|
The documentation indicates that these functions return 1 if the number being tested is signed; however they return DECFLOAT_Sign in this case.
|
|
|
|
To fix, change the lines in decBasic.c:
|
|
|
|
uInt decFloatIsSigned(const decFloat *df) {
|
|
return DFISSIGNED(df);
|
|
}
|
|
to
|
|
uInt decFloatIsSigned(const decFloat *df) {
|
|
return DFISSIGNED(df)!=0;
|
|
}
|
|
Many thanks to Matthew Hagerty for finding this one, and to Rahul Ruikar for re-reporting it.
|