Squeak VM for Darwin/X11R6 for PPC?

John M McIntosh johnmci at smalltalkconsulting.com
Wed Apr 10 22:31:10 UTC 2002


>At 12:52 PM -0700 4/10/02, John M McIntosh wrote:
>>
>>If you look in sqGnu.h you'll see
>>
>>#if defined(PPC) || defined(_POWER) || defined(_IBMR2) || defined (__APPLE__)
>>
>>
>>I'd bet the compiler under Darwin isn't defining one of those above. Thus the
>>#define for SP_REG never happens and then we think SP_REG is a variable.
>>
>>Maybe it defines _POWER_?
>>
>
>Is there anyplace that documents all these variables and which 
>environments define which ones? I haven't been able to find such a 
>thing. It sure would make it easier to track down problems in this 
>area if there were somewhere in the SourceForge checkout you could 
>look and see a comment that listed a table of these variables for 
>all platforms. Maybe in sq.h, or at least a comment in the 
>sqPlatformSpecific.h for each platform.
>
>-Martin

Well these ones are the responsibility of the compiler! Somewhere I'd 
think there is a table that explains what they are. That or you need 
a -DPPC in the make file.

So like looking in Apple's gcc source tree for darwin
gcc/config/rs6000/macos.h

I see
#define CPP_PREDEFINES "-D__ppc__ -D__NATURAL_ALIGNMENT__ -D_POWER 
-D__BIG_ENDIAN__ -D__APPLE__ -Asystem(MacOS) -Acp
u(powerpc) -Amachine(powerpc)"


but it seems the macosx.h has

#ifdef MAC_OS_X_SERVER_1_0
#define CPP_PREDEFINES "-Dppc -DNATURAL_ALIGNMENT -DNeXT -Dunix 
-D__MACH__ -D__BIG_ENDIAN__ -D__ARCHITECTURE__=\"ppc
\" -D__APPLE__"
#elif defined (MACOSX) || defined (RC_RELEASE_Flask)
#define CPP_PREDEFINES "-D__ppc__ -D__NATURAL_ALIGNMENT__ -D__MACH__ 
-D__BIG_ENDIAN__ -D__APPLE__"
#else /* predefined macros in Mac OS X Server 1.1 */
#define CPP_PREDEFINES "-Dppc -D__NATURAL_ALIGNMENT__ -D__MACH__ 
-D__BIG_ENDIAN__ -D__ARCHITECTURE__=\"ppc\" -D__APPLE__"
#endif

So you'll notice the missing -D_POWER, which is why I added the __APPLE__

I wonder if there is  some magic compiler flag that will dump the 
current defines.

But you are right there are a few defines in Squeak that should be documented.

-- 
--
===========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================



More information about the Squeak-dev mailing list