Opened 9 years ago
Closed 9 years ago
#51216 closed defect (fixed)
Libemf @1.0.8 does not build on PPC Leopard (Mac OS X 10.5.8) because of missing #define
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.4 |
Keywords: | Cc: | kurthindenburg (Kurt Hindenburg) | |
Port: | libemf |
Description
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.)
Attachments (3)
Change History (6)
Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
comment:1 Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | PPC_ppc.diff added |
---|
The *working* patch
Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | Portfile.diff added |
---|
Patch for libEMF Portfile
comment:3 Changed 9 years ago by kurthindenburg (Kurt Hindenburg)
Resolution: | → fixed |
---|---|
Status: | new → closed |
done r147999
Note: See
TracTickets for help on using
tickets.
Insufficient patch: