Issues with config.h

Ryan Schmidt ryandesign at macports.org
Fri Aug 5 20:38:49 UTC 2022


Early in config.h it says:


#ifndef LINUX
	#if defined(__ppc__) || defined(__ppc64__)
		#define ARCH_PPC
	#elif defined(__i386__)
		#define ARCH_X86
	#endif
#else
#define ARCH_X86
#endif


So, on non-Linux systems, it sets ARCH_PPC when building for 32-bit or 64-bit PowerPC systems, it sets ARCH_X86 when building for 32-bit Intel systems, and it sets nothing when building for 64-bit Intel systems and all ARM systems. Since this software predates Apple Silicon systems you may have some work to do to patch it to work on those systems, depending on how ARCH_PPC and ARCH_X86 are used in the code.


And these lines at the end of config.h are suspicious:


#ifndef LINUX
#define WORDS_BIGENDIAN 1
#endif


Certainly not all non-Linux systems are big-endian. Intel and Apple Silicon systems are little-endian.



More information about the macports-dev mailing list