delorie.com/archives/browse.cgi   search  
Mail Archives: pgcc/1998/10/11/19:55:21

X-pop3-spooler: POP3MAIL 2.1.0 b 4 980420 -bs-
Date: Sun, 11 Oct 1998 15:55:21 -0400 (EDT)
From: Jason Ahrens <jahrens AT magma DOT ca>
To: pgcc-list AT Desk DOT nl
Subject: Pgcc and Imake?
Message-ID: <Pine.LNX.3.96dg4.981011153916.24693A-100000@Cougar.CanadianWilds.org>
MIME-Version: 1.0
Sender: Marc Lehmann <pcg AT goof DOT com>
Status: RO
X-Status: A
Lines: 79

Hows the best way to start this...

I guess I should start by saying I am not subscribed to this list.

Ok. Since I installed pgcc (1.1) programs that use Imake to generate
makefiles no longer compile.

For example, this is a line from the generated 'makefile'
   CXXSTD_DEFINES = -Dlinux LinuxMachineDefines -D_POSIX_C_SOURCE=199309L
-D_POSIX_SOURCE -D_XOPEN_SOURCE=500L -D_BSD_SOURCE -D_SVID_SOURCE $(
CXXPROJECT_DEFINES)

The problem lises with the LinuxMachineDefines portion. That should not be
there and in fact appears it should be '-D__i386__' as while sorting
trough trying to find the probelem I found this:
(from /var/X11R6/lib/config/linux.cf)
#ifdef i386Architecture
#define OptimizedCDebugFlags    DefaultGcc2i386Opt
#define LinuxMachineDefines     -D__i386__
#define ServerOSDefines         XFree86ServerOSDefines -DDDXTIME
-DPART_NET
#define ServerExtraDefines      -DGCCUSESGAS XFree86ServerDefines
#endif /* i386Architecture */


and poking around in Imake.cf I find:
#ifdef linux 
# define MacroFile linux.cf
# undef linux
# define LinuxArchitecture
# ifdef i386
#  define i386Architecture
#  undef i386
# endif /* i386 */
# ifdef __i386__
#  ifndef i386Architecture
#   define i386Architecture
#  endif
#  undef __i386__
# endif /* __i386__ */
# ifdef __alpha
#  define AlphaArchitecture
#  undef __alpha
# endif /* __alpha */
# ifdef mc68000
#  define Mc68020Architecture
#  undef mc68000
# endif /* mc68000 */
#endif /* linux */

I can force things to work by adding
# define i386
just after the #ifdef linux, but obviously this is not a good long term
solution.

My pgcc info is:
Cougar:/tmp/xearth-1.0# gcc -v
Reading specs from /usr/lib/gcc-lib/i586-pc-linux-gnu/pgcc-2.91.57/specs
gcc version pgcc-2.91.57 19980901 (egcs-1.1 release)

I have tried playing around with the specs file a little, with no success.
Not understanding exactly how it works I put it back to how it was and
left it.

Any help in this matter would be greatly appreciated. Obviously my current
solution is not the prefered method as it will break again next I update
X.

If this is actually and egcs problem, I apologize in advance. Let me know
and I'll contact them instead.

Thanks

Jason

--
"If you're going to be worried everytime the universe doesn't make sense..
...you're going to be worried every moment of everyday for the rest of your
 natural life!" -G'Kar   Babylon 5

- Raw text -


  webmaster     delorie software   privacy  
  Copyright � 2019   by DJ Delorie     Updated Jul 2019