From: Nick B. <ni...@sg...> - 2005-03-18 05:07:51
|
Hi, thought it was about time I built e17 for IRIX.... Here is some issues I hit (using MipsPro). Hmmm, it seems that a lot of this is using GNU C specific extensions! :-( These are just some of the problems I've hit... And the fixes are very much hacks, just thought I'd let everyone know that this is not building cleanly at all. Any comments? Is it worth continuing? Or has e17 gone gcc specific? Nick ecore: cc-1077 cc: ERROR File = ./Ecore_Data.h, Line = 312 The indicated declaration has no storage class or type specifier. inline void ecore_print_warning(const char *function, const char *sparam); ^ cc-1065 cc: ERROR File = ./Ecore_Data.h, Line = 312 A semicolon is expected at this point. inline void ecore_print_warning(const char *function, const char *sparam); ^ cc-1018 cc: ERROR File = ./Ecore_Data.h, Line = 328 An unmatched left parentheses "(" appears in an expression. # define DPRINTF(debug, format, args...) \ ^ cc-1077 cc: ERROR File = ./Ecore_Data.h, Line = 467 The indicated declaration has no storage class or type specifier. inline void *ecore_sheap_item(Ecore_Sheap *heap, int i); ^ cc-1065 cc: ERROR File = ./Ecore_Data.h, Line = 467 A semicolon is expected at this point. inline void *ecore_sheap_item(Ecore_Sheap *heap, int i); ^ cc-1166 cc: ERROR File = ./Ecore_Data.h, Line = 497 Expected a declaration. ECORE_DECLARE_LOCKS; ^ cc-1166 cc: ERROR File = ./Ecore_Data.h, Line = 512 Expected a declaration. ECORE_DECLARE_LOCKS; ^ Diff: Index: e17/libs/ecore/src/lib/ecore/Ecore_Data.h =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/Ecore_Data.h,v retrieving revision 1.12 diff -u -r1.12 Ecore_Data.h --- e17/libs/ecore/src/lib/ecore/Ecore_Data.h 2 Mar 2005 07:06:32 -00001.12 +++ e17/libs/ecore/src/lib/ecore/Ecore_Data.h 18 Mar 2005 05:03:04 -0000 @@ -9,6 +9,13 @@ # ifdef __cplusplus extern "C" { # endif + +#ifdef __sgi +#define __FUNCTION__ "unknown" +#ifndef __cplusplus +#define inline +#endif +#endif # define PRIME_TABLE_MAX 21 # define PRIME_MIN 17 @@ -102,7 +109,7 @@ # else /* No pthreads available */ -# define ECORE_DECLARE_LOCKS struct { } locks +# define ECORE_DECLARE_LOCKS # define ECORE_INIT_LOCKS(structure) # define ECORE_READ_LOCK(structure) # define ECORE_READ_UNLOCK(structure) @@ -325,10 +332,11 @@ * of the message and checks that it is to be printed at the current debugging * level */ # ifndef DPRINTF -# define DPRINTF(debug, format, args...) \ +# define DPRINTF(debug, format, args) \ if (debug >= DEBUG_LEVEL) \ fprintf(stderr, format, args); # endif + /* convenience macros for checking pointer parameters for non-NULL */ # ifndef CHECK_PARAM_POINTER_RETURN IRIX doesn't support variable argument macros, inline's need to be on declarations not prototypes, MipsPro doesn't like empty structure definitions. cc-1079 cc: ERROR File = ecore_ipc_private.h, Line = 24 A type specifier is expected. } __attribute__ ((packed)); ^ e17/libs/ecore/src/lib/ecore_ipc/ecore_ipc_private.h 22 Oct 2004 03:41:48 -0000 1.4 +++ e17/libs/ecore/src/lib/ecore_ipc/ecore_ipc_private.h 18 Mar 2005 05:05:17 -0000 @@ -21,7 +21,11 @@ int ref_to; int response; int size; -} __attribute__ ((packed)); +} +#ifdef _GNU_C_ +__attribute__ ((packed)); +#endif +; struct _Ecore_Ipc_Client { |