Commit 086bab42 authored by Clemens Fruhwirth's avatar Clemens Fruhwirth

Link libgmp.a statically into libHSrts.dll on Windows

parent a759dad9
......@@ -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) \
......
......@@ -28,6 +28,7 @@
#include "Cmm.h"
#ifdef __PIC__
#ifndef mingw32_HOST_OS
import __gmpz_init;
import __gmpz_add;
import __gmpz_sub;
......@@ -44,6 +45,7 @@ import __gmpz_and;
import __gmpz_xor;
import __gmpz_ior;
import __gmpz_com;
#endif
import base_GHCziIOBase_NestedAtomically_closure;
import pthread_mutex_lock;
import pthread_mutex_unlock;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment