Hi,

As far as I know (and I would like to be corrected...) there is no general 
macro on solaris that aids in ANSI/UNICODE duality. UTF-16 string literals are 
prefixed with U (like U"ASCII_String") - but I've not found anything like the 
_T or TEXT macros defined in <tchar.h> on Win32

The reason for _T breaking the Solaris build now is the upgrade to SunStudio 
12.1. This version includes a default STL library that uses _T internally for 
template parameters.

I don't think the CLucene build will break on other platforms due to the _T 
macro replacement - but depending on the use of this macro in client code there 
might be a need for at least some rewrites.

/jens


> -----Original Message-----
> From: Itamar Syn-Hershko [mailto:ita...@code972.com]
> Sent: 8. februar 2011 23:10
> To: clucene-developers@lists.sourceforge.net
> Subject: Re: [CLucene-dev] Solaris 10 build issues
>
> Jens,
>
>
> Thanks for your work on this.
>
>
> Re the _T macro - what is the general practice or macro used in Solaris to
> achieve ANSI / Unicode duality in strings? I'm curious because I think CLucene
> did compile on Solaris, and the _T macro has been there forever. Perhaps
> there is a way of macro-hacking it to work?
>
>
> If CLucene doesn't break compilation on all other platforms we'll be more
> than happy to include it...
>
>
> Itamar.
>
>
> On 8/2/2011 2:39 PM, Lien, Jens wrote:
>
> > Hi Veit,
> >
> > See below for comments. I'll split the patch (and create two issues in the
> > tracker) - one for the solaris build fixes and one for the ArrayBase issue
> >
> > /jens
> >
> >> -----Original Message-----
> >> From: Veit Jahns [mailto:nuncupa...@googlemail.com]
> >> Sent: 7. februar 2011 17:02
> >> To: clucene-developers@lists.sourceforge.net
> >> Subject: Re: [CLucene-dev] Solaris 10 build issues
> >>
> >> Hi Jens!
> >>
> >> 2011/2/3 Lien, Jens<jens.l...@capgemini.com>:
> >>> All,
> >>>
> >>> I’ve recently worked on getting CLucene building and running on Solaris
> 10
> >> using Sun Studio 12.1 compilers. To get this (almost) done, I’ve had to do 
> >> a
> >> few fixes. Before I submit a patch I would like to discuss the proposed
> >> changes:
> >>> 1) Usage of the _T macro:
> >>> The STL version used default by the 12.1 compiler uses _T heavily for
> >> internal template types and gets confused by the macro expansion
> >> SYMBOL__T defined in src/shared/CMakeLists.txt.
> >>> Replacing _T with e.g. clT makes the compiler compile almost all the
> code.
> >> I'm aware that client code might be using this macro already, but to be
> >> compatible with 12.1 (both default STL version as well as the --stlport4
> >> version) I think this needs to be fixed.
> >>
> >> Did you compiled it in ASCII mode and UNICODE mode? I suppose that can
> >> cause problems on Windows plattforms, because the _T macro has a
> special
> >> meaning. At least it should be chechked there.
> >>
> > Compiled both ASCII and UNICODE mode on multiple platforms (Win32,
> > Solaris and linux)
> >
> > The _T macro is used on the Windows platform to simplify usage of the
> > wide string literal prefix (L).  But in clucene _T is defined for all 
> > platforms,
> > expanded to L"" on Windows compiled with Unicode.
> >
> >>> 2) Updating use of the  _CLFINALLY(...) macro. Removed space
> >>> (_CLFINALLY (...) to  _CLFINALLY(...)
> >> What is the purpose of this change?
> >>
> > Solaris compiler complaints on space between macro name and argument
> list.
> >
> >>> 3) Change the type used for insertion in the fieldSelections map
> >>> (FieldSelector.cpp, line 60), now using FieldSelectionType::value_type
> >> Makes sense to me.
> >>
> >>> 4) Added macro for return value in searchDocs (TestIndexSearcher.cpp).
> >> Compiler complaints.
> >>
> >> What are the compiler complaints?
> > Missing return value.
> >
> >>> 5) Added copy constructor and assignment operator in ArrayBase
> >>> (Array.h). The lack of these made both cl_demo and cl_test to fail on
> >>> solaris. Quite obvious actually - and scary since the Win32 and Linux
> >>> builds works perfectly without this fix.  (Evaluate usage in
> >>> DocumentsWriterThreadState.cpp)
> >> Ok.
> >>
> >>> After all of these changes, I'm able to compile, run cl_demo and cl_test
> on
> >> Solaris 10, Win32 and Linux using the same sources. However, the sort
> tests
> >> fails on Solaris, this I'll need to look more into.
> >>
> >> That would be great!
> >>
> >> Kind regards,
> >>
> >> Veit
> >>
> >> ------------------------------------------------------------------------------
> >> The modern datacenter depends on network connectivity to access
> >> resources and provide services. The best practices for maximizing a
> physical
> >> server's connectivity to a physical network are well understood - see how
> >> these rules translate into the virtual world?
> >> http://p.sf.net/sfu/oracle-sfdevnlfb
> >> _______________________________________________
> >> CLucene-developers mailing list
> >> CLucene-developers@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/clucene-developers
> > Capgemini is a trading name used by the Capgemini Group of companies
> which includes Capgemini Norge AS, a company registered in Norway
> (number 943574537) whose registered office is at Hoffsveien 1 D - Pb. 475,
> Skøyen – 0214 Oslo.
> >
> >
> >
> >
> >
> >
> > This message contains information that may be privileged or confidential
> and is the property of the Capgemini Group. It is
> > intended only for the person to whom it is addressed. If you are not the
> intended recipient, you are not authorized to
> > read, print, retain, copy, disseminate, distribute, or use this message or 
> > any
> part thereof. If you receive this message
> > in error, please notify the sender immediately and delete all copies of this
> message.
> > ------------------------------------------------------------------------------
> > The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
> > Pinpoint memory and threading errors before they happen.
> > Find and fix more than 250 security defects in the development cycle.
> > Locate bottlenecks in serial and parallel code that limit performance.
> > http://p.sf.net/sfu/intel-dev2devfeb
> > _______________________________________________
> > CLucene-developers mailing list
> > CLucene-developers@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/clucene-developers
>
> ------------------------------------------------------------------------------
> The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
> Pinpoint memory and threading errors before they happen.
> Find and fix more than 250 security defects in the development cycle.
> Locate bottlenecks in serial and parallel code that limit performance.
> http://p.sf.net/sfu/intel-dev2devfeb
> _______________________________________________
> CLucene-developers mailing list
> CLucene-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/clucene-developers

Capgemini is a trading name used by the Capgemini Group of companies which 
includes Capgemini Norge AS, a company registered in Norway (number 943574537) 
whose registered office is at Hoffsveien 1 D - Pb. 475, Skøyen – 0214 Oslo.






This message contains information that may be privileged or confidential and is 
the property of the Capgemini Group. It is 
intended only for the person to whom it is addressed. If you are not the 
intended recipient, you are not authorized to 
read, print, retain, copy, disseminate, distribute, or use this message or any 
part thereof. If you receive this message 
in error, please notify the sender immediately and delete all copies of this 
message.
------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
CLucene-developers mailing list
CLucene-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/clucene-developers

Reply via email to