----- Forwarded message from Jeroen van der Zijp <[EMAIL PROTECTED]> -----

From: Jeroen van der Zijp <[EMAIL PROTECTED]>
Subject: Re: GCC 4.1 compilation fix for fox version 1.4
Date: Mon, 20 Mar 2006 00:18:50 -0600
To: Martin Michlmayr <[EMAIL PROTECTED]>
User-Agent: KMail/1.8

On Sunday 19 March 2006 19:06, you wrote:
> tags 355998 + patch
> thanks
> 
> The following patch makes fox1.4 compile with GCC 4.1.  Please see
> http://bugs.debian.org/355998
> 
> 
> --- ./include/FXString.h~     2006-03-20 00:34:59.000000000 +0000
> +++ ./include/FXString.h      2006-03-20 00:35:06.000000000 +0000
> @@ -26,6 +26,39 @@
>  
>  namespace FX {
>  
> +FXAPI FXint compare(const FXchar* s1,const FXchar* s2);
> +FXAPI FXint compare(const FXchar* s1,const FXString& s2);
> +FXAPI FXint compare(const FXString& s1,const FXchar* s2);
> +FXAPI FXint compare(const FXString& s1,const FXString& s2);
> +
> +FXAPI FXint compare(const FXchar* s1,const FXchar* s2,FXint n);
> +FXAPI FXint compare(const FXchar* s1,const FXString& s2,FXint n);
> +FXAPI FXint compare(const FXString& s1,const FXchar* s2,FXint n);
> +FXAPI FXint compare(const FXString& s1,const FXString& s2,FXint n);
> +
> +FXAPI FXint comparecase(const FXchar* s1,const FXchar* s2);
> +FXAPI FXint comparecase(const FXchar* s1,const FXString& s2);
> +FXAPI FXint comparecase(const FXString& s1,const FXchar* s2);
> +FXAPI FXint comparecase(const FXString& s1,const FXString& s2);
> +
> +FXAPI FXint comparecase(const FXchar* s1,const FXchar* s2,FXint n);
> +FXAPI FXint comparecase(const FXchar* s1,const FXString& s2,FXint n);
> +FXAPI FXint comparecase(const FXString& s1,const FXchar* s2,FXint n);
> +FXAPI FXint comparecase(const FXString& s1,const FXString& s2,FXint n);
> +
> +FXAPI FXString FXStringFormat(const FXchar* fmt,...) FX_PRINTF(1,2) ;
> +FXAPI FXString FXStringVFormat(const FXchar* fmt,va_list args);
> +
> +FXAPI FXString FXStringVal(FXint num,FXint base);
> +FXAPI FXString FXStringVal(FXuint num,FXint base);
> +
> +FXAPI FXString FXStringVal(FXlong num,FXint base);
> +
> +FXAPI FXString FXStringVal(FXfloat num,FXint prec,FXbool exp);
> +FXAPI FXString FXStringVal(FXdouble num,FXint prec,FXbool exp);
> +
> +FXAPI FXint FXIntVal(const FXString& s,FXint base);
> +FXAPI FXuint FXUIntVal(const FXString& s,FXint base);
>  
>  /**
>  * FXString provides essential string manipulation capabilities.
> --- ./include/FXQuatd.h~      2006-03-20 00:45:12.000000000 +0000
> +++ ./include/FXQuatd.h       2006-03-20 00:46:40.000000000 +0000
> @@ -30,6 +30,8 @@
>  
>  class FXMat3d;
>  
> +class FXQuatd;
> +FXAPI FXQuatd arc(const FXVec3d& a,const FXVec3d& b);
>  
>  /// Double-precision quaternion
>  class FXAPI FXQuatd : public FXVec4d {
> --- ./include/FXQuatf.h~      2006-03-20 00:45:28.000000000 +0000
> +++ ./include/FXQuatf.h       2006-03-20 00:46:29.000000000 +0000
> @@ -30,6 +30,8 @@
>  
>  class FXMat3f;
>  
> +class FXQuatf;
> +FXAPI FXQuatf arc(const FXVec3f& a,const FXVec3f& b);
>  
>  /// Single-precision quaternion
>  class FXAPI FXQuatf : public FXVec4f {


Since FOX 1.4 is "frozen," i.e. header files are supposed to stay the same,
why don't you try passing: -ffriend-injection as an extra compile flag
when using GCC 4.1.  

FOX 1.6.x should already have been fixed for GCC 4.1 and that's the current 
working 
version.  It no longer relies on automatic friend-injection. 

However, these changes break compatibility at the binary level, and obviously 
that's
not a desirable thing for a supposedly stable version.

Please let me know if that works for you; if it doesn't, I can make the changes 
but 
it'll require recompilation of every FOX application out there....




        - Jeroen


+----------------------------------------------------------------------------+
| Copyright (C) 00:00 03/20/2006 Jeroen van der Zijp.   All Rights Reserved. |
+----------------------------------------------------------------------------+



----- End forwarded message -----

-- 
Martin Michlmayr
http://www.cyrius.com/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to