Martin,
  I really appreciate your responses to this message, and the other one
regarding locales.  This information should be enough to get the users
I'm helping sorted out.  However, you didn't answer this question, which
is the one I was specifically asked: Can a built version of the library
(ie a .lib, .dll, or .a file) be used on a machine with different
locales than the machine it was built on?  An answer would be
appreciated!

Thanks,
 -Patrick

-----Original Message-----
From: Martin Sebor [mailto:[EMAIL PROTECTED] 
Sent: Thursday, April 12, 2007 11:15 AM
To: [EMAIL PROTECTED]
Subject: Re: Portability of built Standard Library

Patrick Happel wrote:
> Hi all,
>   I had a question come up that I wasn't sure about regarding the 
> released versions of the library, and I'm hoping someone can answer
it:
> Since the Standard Library doesn't build if an acceptable locale isn't

> installed, can a built version of the library (ie a .lib, .dll, or .a
> file) be used on a machine with different locales than the machine it 
> was built on?

All you should need to build the old library on a platform with no
locales is the new config test. In fact, you don't even need the test
itself, you just need its output for the platform the customer is using.
You can compile and run the test on the same platform that does have
locales installed and get its output that way.

You can also see the output of the latest test on the nightly test
results page here:
   http://people.apache.org/~sebor/stdcxx/results/

Scroll down to the row for the customer's platform (build type shouldn't
matter), and follow the (H) link to the config header.
For example, the config header for Solaris 10 obtained with Sun
C++ 5.8 is here:
http://people.apache.org/~sebor/stdcxx/results/solaris-10-sparcv9-sunpro
-64b-5.8-15s-cfg-h.gz.txt

Scroll down to the the line with _RWSTD_NO_LOCALE_NAME_FMAT on it. What
follows (all the way to the line containing the _RWSTD_NO_CONDENSED_NAME
macro) is the rest of the output of the test.

> I'd also like to verify that the newest version of the library does 
> not require any locales to be installed in order to build.

Correct. I don't believe it does. It builds on Cygwin where I don't
think there is any libc support for localization at all (unless that's
changed in recent versions of Cygwin). I also just successfully built it
on Solaris after replacing the libc setlocale() function with a dummy
one in the test that always fails (see line 29 of the latest test). When
the function fails (i.e., when the test fails to find any named
locales), it falls back on the formats hardcoded for each platform. You
can view the latest sources for the test
here:
http://svn.apache.org/repos/asf/incubator/stdcxx/trunk/etc/config/src/LO
CALE_NAME_FMAT.cpp

The previous version (from stdcxx 4.1.3) is here:
http://svn.apache.org/repos/asf/incubator/stdcxx/branches/4.1.3/etc/conf
ig/src/LOCALE_NAME_FMAT.cpp

Martin

>  
> Thanks,
>  -Patrick Happel
>  
> Rogue Wave Software,
> A QUOVADX(tm) division
> Technical Support
> Phone: 303-545-3205 -- 1-800-404-4767
> E-mail: [EMAIL PROTECTED] <blocked::mailto:[EMAIL PROTECTED]>
> Web: http://www.roguewave.com/support
> <blocked::http://www.roguewave.com/support>
> 

Reply via email to