id summary reporter owner description type status priority milestone component version resolution keywords cc port 51216 Libemf @1.0.8 does not build on PPC Leopard (Mac OS X 10.5.8) because of missing #define ballapete macports-tickets@… "The failure is this: {{{ Making all in libemf make[1]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libemf/libemf/work/libemf-1.0.8/libemf' /bin/sh ../libtool --tag=CXX --mode=compile /usr/bin/g++-4.2 -DHAVE_CONFIG_H -I. -I../config -I../include -I/opt/local/include -pipe -Os -arch ppc -D_REENTRANT -DPTHREADS -MT libemf.lo -MD -MP -MF .deps/libemf.Tpo -c -o libemf.lo libemf.cpp libtool: compile: /usr/bin/g++-4.2 -DHAVE_CONFIG_H -I. -I../config -I../include -I/opt/local/include -pipe -Os -arch ppc -D_REENTRANT -DPTHREADS -MT libemf.lo -MD -MP -MF .deps/libemf.Tpo -c libemf.cpp -fno-common -DPIC -o .libs/libemf.o In file included from ../include/libEMF/wine/windef.h:16, from ../include/libEMF/emf.h:27, from libemf.h:32, from libemf.cpp:24: ../include/libEMF/wine/winnt.h:61:3: error: #error Unknown CPU architecture! ../include/libEMF/wine/winnt.h:1429:2: error: #error You need to define a CONTEXT for your CPU In file included from ../include/libEMF/wine/windef.h:16, from ../include/libEMF/emf.h:27, from libemf.h:32, from libemf.cpp:24: ../include/libEMF/wine/winnt.h:1432: error: expected initializer before ‘*’ token ../include/libEMF/wine/winnt.h:2699: error: ‘PCONTEXT’ does not name a type ../include/libEMF/wine/winnt.h:2712: error: ‘PCONTEXT’ has not been declared In file included from ../include/libEMF/emf.h:28, from libemf.h:32, from libemf.cpp:24: ../include/libEMF/wine/winbase.h:120: error: ‘PCONTEXT’ does not name a type ../include/libEMF/wine/winbase.h:1243: error: ‘CONTEXT’ has not been declared ../include/libEMF/wine/winbase.h:1377: error: expected ‘,’ or ‘...’ before ‘*’ token ../include/libEMF/wine/winbase.h:1377: error: ISO C++ forbids declaration of ‘CONTEXT’ with no type make[1]: *** [libemf.lo] Error 1 make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libemf/libemf/work/libemf-1.0.8/libemf' make: *** [all-recursive] Error 1 }}} The message comes from these lines in `../include/libEMF/wine/winnt.h`: {{{ 30 /* Architecture dependent settings. */ 31 /* These are hardcoded to avoid dependencies on config.h in Winelib apps. */ 32 #if defined(__i386__) 33 # undef WORDS_BIGENDIAN 34 # undef BITFIELDS_BIGENDIAN 35 # define ALLOW_UNALIGNED_ACCESS 36 #elif defined(__x86_64__) 37 # undef WORDS_BIGENDIAN 38 # undef BITFIELDS_BIGENDIAN 39 # define ALLOW_UNALIGNED_ACCESS 40 #elif defined(__alpha__) 41 # undef WORDS_BIGENDIAN 42 # undef BITFIELDS_BIGENDIAN 43 # undef ALLOW_UNALIGNED_ACCESS 44 #elif defined(__arm__) 45 # undef WORDS_BIGENDIAN 46 # undef BITFIELDS_BIGENDIAN 47 # undef ALLOW_UNALIGNED_ACCESS 48 #elif defined(__sparc__) 49 # define WORDS_BIGENDIAN 50 # define BITFIELDS_BIGENDIAN 51 # undef ALLOW_UNALIGNED_ACCESS 52 #elif defined(__PPC__) 53 # define WORDS_BIGENDIAN 54 # define BITFIELDS_BIGENDIAN 55 # undef ALLOW_UNALIGNED_ACCESS 56 #elif defined(__s390__) 57 # define WORDS_BIGENDIAN 58 # define BITFIELDS_BIGENDIAN 59 # undef ALLOW_UNALIGNED_ACCESS 60 #elif !defined(RC_INVOKED) 61 # error Unknown CPU architecture! 62 #endif }}} All architectures are lower case, except PowerPC! And GCC 4.2 #defines: {{{ #define _ARCH_PPC 1 #define _ARCH_PPCGR 1 define __ppc__ 1 #define __POWERPC__ 1 }}} So we have an easy patch for this case! (Presumingly.) " defect closed Normal ports 2.3.4 fixed kurthindenburg libemf