diff options
author | Clemens Fruhwirth <clemens@endorphin.org> | 2008-01-01 15:40:17 +0000 |
---|---|---|
committer | Clemens Fruhwirth <clemens@endorphin.org> | 2008-01-01 15:40:17 +0000 |
commit | 086bab42386098009471c46139013c41f40856a2 (patch) | |
tree | ee2eaf044b75c66ab44a877e0ce7cc1b50253b5e /rts/Linker.c | |
parent | a759dad95859bf3be8eeb0ed18baeb67397a0795 (diff) | |
download | haskell-086bab42386098009471c46139013c41f40856a2.tar.gz |
Link libgmp.a statically into libHSrts.dll on Windows
Diffstat (limited to 'rts/Linker.c')
-rw-r--r-- | rts/Linker.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/rts/Linker.c b/rts/Linker.c index 7793801325..e2391842a2 100644 --- a/rts/Linker.c +++ b/rts/Linker.c @@ -463,6 +463,23 @@ typedef struct _RtsSymbolVal { SymX(stg_ap_pppppp_ret) #endif +/* On Windows, we link libgmp.a statically into libHSrts.dll */ +#ifdef mingw32_HOST_OS +#define GMP_SYMS \ + SymX(__gmpz_cmp) \ + SymX(__gmpz_cmp_si) \ + SymX(__gmpz_cmp_ui) \ + SymX(__gmpz_get_si) \ + SymX(__gmpz_get_ui) +#else +#define GMP_SYMS \ + SymExtern(__gmpz_cmp) \ + SymExtern(__gmpz_cmp_si) \ + SymExtern(__gmpz_cmp_ui) \ + SymExtern(__gmpz_get_si) \ + SymExtern(__gmpz_get_ui) +#endif + #define RTS_SYMBOLS \ Maybe_Stable_Names \ Sym(StgReturn) \ @@ -502,12 +519,7 @@ typedef struct _RtsSymbolVal { SymX(__encodeDouble) \ SymX(__encodeFloat) \ SymX(addDLL) \ - SymExtern(__gmpn_gcd_1) \ - SymExtern(__gmpz_cmp) \ - SymExtern(__gmpz_cmp_si) \ - SymExtern(__gmpz_cmp_ui) \ - SymExtern(__gmpz_get_si) \ - SymExtern(__gmpz_get_ui) \ + GMP_SYMS \ SymX(__int_encodeDouble) \ SymX(__int_encodeFloat) \ SymX(andIntegerzh_fast) \ |