X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=cbits%2FPrelIOUtils.c;h=9e05f08396be7df894733564fd449263b4458f5a;hb=7dbb606d7b57cdad87a0ffbdb6ea4a274ebca7c0;hp=44065b84dec82c82c9a985637e50fe5da4835dec;hpb=260e7f2ed9a43c6ecf5a556d77817f39ed2893ab;p=ghc-base.git diff --git a/cbits/PrelIOUtils.c b/cbits/PrelIOUtils.c index 44065b8..9e05f08 100644 --- a/cbits/PrelIOUtils.c +++ b/cbits/PrelIOUtils.c @@ -1,9 +1,52 @@ /* - * (c) The University of Glasgow 2001 + * (c) The University of Glasgow 2002 * * static versions of the inline functions in HsCore.h */ #define INLINE -#include "HsCore.h" +#ifdef __GLASGOW_HASKELL__ +# include "Rts.h" +#endif + +#include "HsBase.h" + +#ifdef __GLASGOW_HASKELL__ + +void errorBelch2(const char*s, char *t) +{ + errorBelch(s,t); +} + +void debugBelch2(const char*s, char *t) +{ + debugBelch(s,t); +} + +#if defined(HAVE_LIBCHARSET) +# include +#elif defined(HAVE_LANGINFO_H) +# include +#endif + +#if !defined(mingw32_HOST_OS) +const char* localeEncoding(void) +{ +#if defined(HAVE_LIBCHARSET) + return locale_charset(); + +#elif defined(HAVE_LANGINFO_H) + return nl_langinfo(CODESET); + +#else +#warning Depending on the unportable behavior of GNU iconv due to absence of both libcharset and langinfo.h + /* GNU iconv accepts "" to mean the current locale's + * encoding. Warning: This isn't portable. + */ + return ""; +#endif +} +#endif + +#endif /* __GLASGOW_HASKELL__ */