[mercury-users] Building Mercury on Windows
Sergey Khorev
sergey.khorev at gmail.com
Fri Feb 11 04:42:44 AEDT 2005
Thanks for you response.
> We're approaching the next release so we'll certainly
BTW WHATSNEW inspired me to build ROTD rather than play with old 0.11 :)
> > 2) gcc-3.3.x issues internal error during compilation , so I used gcc 3.4.1-1.
> >
> If it's not too much trouble could you let us know what the internal error
> was.
float.c: In function `float_module21':
float.c:1016: internal compiler error: in verify_wide_reg, at flow.c:549
$ gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/specs
Configured with: /gcc/gcc-3.3.3-3/configure --verbose --prefix=/usr --exec-prefi
x=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/s
hare/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,java,objc,
pascal --enable-nls --without-included-gettext --enable-libgcj --with-system-zli
b --enable-interpreter --enable-threads=posix --enable-java-gc=boehm --enable-sj
lj-exceptions --disable-version-specific-runtime-libs --disable-win32-registry
Thread model: posix
gcc version 3.3.3 (cygwin special)
> The java grade is fairly broken at the moment. The best thing to do is
> just disable it. e.g. pass the option --disable-java grade to configure.
Anyway I don't have plans to use neither .net not java grades =)
Also I've found strange piece of code in runtime/mercury_prof_time.c.
I tried to post it (in -developers and then to -users) but maillist
silently ignored it.
void
MR_init_time_profile_method(void)
{
switch (MR_time_profile_method) {
#if defined(ITIMER_REAL) && defined(SIGALRM)
case MR_profile_real_time:
MR_itimer_type = ITIMER_REAL;
MR_itimer_sig = SIGALRM;
MR_time_method = "real-time";
break;
#endif
#if defined(ITIMER_VIRTUAL) && defined(SIGVTALRM)
case MR_profile_user_time:
MR_itimer_type = ITIMER_VIRTUAL;
MR_itimer_sig = SIGVTALRM;
MR_time_method = "user-time";
break;
#endif
#if defined(ITIMER_VIRTUAL) && defined(SIGVTALRM)
case MR_profile_user_plus_system_time:
MR_itimer_type = ITIMER_PROF;
MR_itimer_sig = SIGPROF;
MR_time_method = "user-plus-system-time";
break;
#endif
default:
MR_fatal_error("invalid time profile method");
}
}
Third #if checks for ITIMER_VIRTUAL and SIGVTALRM, but uses
ITIMER_PROF and SIGPROF. Looks weird.
--------------------------------------------------------------------------
mercury-users mailing list
post: mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the users
mailing list