'configure' problem on Solaris 9 - patch enclosed

I'm still playing about, trying to get boost to compile on my Solaris 9 box with the 5.5 SUN compiler. As there is no compiler configuration yet for the 5.5 compiler I tried to run 'configure' in libs/config/tools to generate a user.hpp file. Unfortunately the installed configure assumes that 'tr' knows how to handle character classes. The one on the Solaris 9 box I've got at work doesn't, so trying to use configure to create a user/compiler specific configuration does produce no meaningful output as all the tests fail. The attached patch to boost_1_32_0/libs/config/tools/configure.in fixes that problem for the price of dumbing down the tr invocation. A 'configure' patched along the same lines (the box doesn't have autoconf installed) produced the desired output which will hopefully allow me to get a bit further building boost on the 5.5 compiler. Regards, Timo

On Wed, Jan 12, 2005 at 09:49:46PM +0000, Timo Geusch wrote:
The attached patch to boost_1_32_0/libs/config/tools/configure.in fixes that problem for the price of dumbing down the tr invocation.
- namespace=`echo $macroname | tr [[:upper:]] [[:lower:]]` + namespace=`echo $macroname | tr [[A-Z]] [[a-z]]` should that be this instead? + namespace=`echo $macroname | tr [A-Z] [a-z]` or even + namespace=`echo $macroname | tr '[A-Z]' '[a-z]'` jon -- "I find television very educating. Every time somebody turns on the set, I go into the other room and read a book." - Groucho Marx

Jonathan Wakely wrote:
On Wed, Jan 12, 2005 at 09:49:46PM +0000, Timo Geusch wrote:
The attached patch to boost_1_32_0/libs/config/tools/configure.in fixes that problem for the price of dumbing down the tr invocation.
- namespace=`echo $macroname | tr [[:upper:]] [[:lower:]]` + namespace=`echo $macroname | tr [[A-Z]] [[a-z]]`
should that be this instead? + namespace=`echo $macroname | tr [A-Z] [a-z]`
This is what the code generated by autoconf should look like - the original line above reads as namespace=`echo $macroname | tr [:upper:] [:lower:]` in the configure script that is enclosed with 1.32.0 so I - not being anywhere near an autoconf expert - assumed that the additional [] get stripped out. Can someone please either check or confirm this? Timo

On Thu, Jan 13, 2005 at 07:10:44AM +0000, Timo Geusch wrote:
Jonathan Wakely wrote:
On Wed, Jan 12, 2005 at 09:49:46PM +0000, Timo Geusch wrote:
The attached patch to boost_1_32_0/libs/config/tools/configure.in fixes that problem for the price of dumbing down the tr invocation.
- namespace=`echo $macroname | tr [[:upper:]] [[:lower:]]` + namespace=`echo $macroname | tr [[A-Z]] [[a-z]]`
should that be this instead? + namespace=`echo $macroname | tr [A-Z] [a-z]`
This is what the code generated by autoconf should look like - the original line above reads as namespace=`echo $macroname | tr [:upper:] [:lower:]` in the configure script that is enclosed with 1.32.0 so I - not being anywhere near an autoconf expert - assumed that the additional [] get stripped out. Can someone please either check or confirm this?
OK, I'm wrong then, sorry. SysV tr required "[a-z]" for a range, whereas POSIX tr only needs "a-z" but will still work with the brackets, so as long as the final output is "[a-z]" then that should work everywhere. I'll get back to work, jon -- "More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason - including blind stupidity." - W.A. Wulf

The attached patch to boost_1_32_0/libs/config/tools/configure.in fixes that problem for the price of dumbing down the tr invocation.
A 'configure' patched along the same lines (the box doesn't have autoconf installed) produced the desired output which will hopefully allow me to get a bit further building boost on the 5.5 compiler.
Patch applied, thanks. BTW compiling config_test.cpp on it's own will also tell you which defect-macros need defining, but not which feature macros could be defined, or which defect macros are unnecessarily defined. John.
participants (3)
-
John Maddock
-
Jonathan Wakely
-
Timo Geusch