[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: More Apps porting to Alpha



Actually what happens is that alpha is defined by egcs config files to 1,
which (of course) makes your stuff crap out. do gcc -E test.c and see the
result. Solution is easy: just add -Ualpha flag to cc line/CFLAGS and it
would disable that behaviour. Of course, it'd also kill any stuff that
tries to do special behaviour on alpha, but I guess there isn't any in WM.

-alex

On Tue, 10 Nov 1998, Wai-Sun Chia wrote:

> To anyone who tried to build WindowMaker on Alpha-Linux and failed, just
> so that you feel better, you're not alone!
> 
> Actually, after a couple of hours of investigation and confirmation,
> here's my result:
> 
> Kernel:	v2.1.125
> Egcs:	1.1b
> OS:	RedHat 5.1, 5.2
> 
> Apparently EGCS craps out when a variable is defined as the arch name:
> i.e. alpha, i386, arm, m68k, mips, ppc, sparc, sparc64
> 
> I've confirmed it with i386 and alpha. To test yourself, try to compile
> the following simple program:
> 
> ******************** try.c *********************
> #include <stdio.h>
> 
> int main()
> {
> 	int alpha = 1;
> 	printf("alpha = %d\n", alpha);
> 	return 0;
> }
> ************************************************
> You will get a "parse error before `1'". If you change alpha to nalpha
> or beta or anything other than alpha, then it'll work!!! 
> 
> Furthermore, if you s/alpha/i386/g in an Intel Linux box, guess what?
> Same problem!!!
> 
> Perhaps the GCC/EGCS developers think that any programmer which defines
> a variable with the name as "i386" ought to be shot, but "alpha" is a
> pretty common variable. This is especially so in the graphics world
> where there is such a thing as an alpha-channel: in fact if you were to
> do a recursive grep in the WindowMaker sources, you'd be swamped!
> 
> At first, I tried to rename the alpha variables to something else one by
> one, after the 10th file in the first subdirectory, I gave up. I tried
> to be smart and put this is the WindowMaker's system header file,
> "wraster.h" (this is WindowMaker 0.20.2):
> 
> #define alpha	wmalpha
> 
> 
> And voila! WM compiles OK! albeit tons and tons of warning messages, it
> runs too! But the graphics (icons and colors) and totally kaput!
> Apparently my "smart hack" changed the semantics of the system.... :-(
> 
> This is what I see our options:
> 1. Make sure _ALL_ apps don't use arch names as variables (if
> cross-platform is important)
> 2. Ask politely GCC/EGCS developers to kindly remove this constraint
> from the compilers.
> 
> I haven't sent any emails to neither GCC/EGCS nor WindowMaker
> developers. Want to see what other people think...
> 
> BTW, libpng also suffers from this "alpha" variable syndrome....
> 
> 
> -- 
> Wai-Sun
> 
> -- 
> To unsubscribe: send e-mail to axp-list-request@redhat.com with
> 'unsubscribe' as the subject.  Do not send it to axp-list@redhat.com
> 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []