[M3devel] build problems with libunicode

Coleburn, Randy rcolebur at SCIRES.COM
Thu May 29 23:37:59 CEST 2014


I looked thru the various cm3.cfg files (and the ones that get included) and I don't anywhere see a line with "Unicode_WIDECHAR" in it.

So, not sure why libunicode is trying to build on Windows (NT386).

--Randy Coleburn

-----Original Message-----
From: Coleburn, Randy 
Sent: Thursday, May 29, 2014 4:55 PM
To: m3devel at elegosoft.com
Subject: Re: [M3devel] build problems with libunicode


Thanks very much for your response.

As far as I know, I've not changed the default configuration of my compiler, so based on your statement, I don't see why libunicode should be trying to build.

I'll take a look at your release notes.

Randy Coleburn

-----Original Message-----
From: Rodney M. Bates [mailto:rodney_bates at lcwb.coop] 
Sent: Thursday, May 29, 2014 11:27 AM
To: m3devel at elegosoft.com
Subject: EXT:Re: [M3devel] build problems with libunicode

On 05/29/2014 12:40 AM, Coleburn, Randy wrote:
> I've been rebuilding everything from the HEAD branch on Windows XP (32-bit).
> The m3-libs\libunicode package fails to build (see errors below).
> I haven't taken time yet to look at the source code, but wanted to go ahead and post these results to the group in case someone knows of a quick fix.
> The problem module is: UnsafeUniCodec.m3
> Thanks,
> Randy Coleburn

I am responsible for libunicode.

1. libunicode won't and is not designed to build unless the compiler is
    configured to make WIDECHAR have full unicode range, which, by default,
    it is not.

2. The simplest way to thus configure the compiler is to add the line
    Unicode_WIDECHAR="TRUE" to cm3.cfg, in /usr/local/cm3/bin, then rebuild
    everything, starting with m3core.

You can bootstrap all of this using the release compiler, see cm3/scripts/README-build-unicode

I put libunicode in a separate package for that reason, and left the compiler configured by default for the existing 16-bit range of WIDECHAR, so there would be no perturbation to anybody's code unless you take some action.

We can change the default if there is consensus to do so.  Most code should not be affected, but some lower-level things will be.  There is lots of info on this subject, including what you get from it and what kinds of code might be affected in:


Rodney Bates
rodney.m.bates at acm.org

More information about the M3devel mailing list