I have found a much simpler way to build gpc (with gcc-3.2.1) on Mac OS X, than what I did before. A summary is given below. I will put full instructions, together with binaries, on my website, somewhere next week (I hope). Regards, Adriaan van Os --------- The following has been tested on Mac OS X.2.3 out-of-the-box. It might also work on Mac OS X.2 or X.2.2 (but I didn't test). (1) Get the gpc-20021128 and gcc-core-3.2.1 sources (2) Remove the space after "-D" in p/Make-lang.in (Frank Heckenbach) $(CC) -o $@ -c $(ALL_GPC_FLAGS) -DRTS_VERSION_CHECK="\"__GPC_RTS_VERSION_`cat $(RTSSRCDIR)/rts-version`__\"" $< (3) Patch p/parse.y (Frank Heckenbach) Try this (patch may need manual applying, since I've changed some other things in my copy meanwhile). *** p/parse.y.orig Fri Jan 3 09:44:04 2003 --- p/parse.y Fri Jan 3 09:49:25 2003 *************** *** 792,799 **** tree name = get_module_destructor_name (current_module); const char *save_filename = start_dummy_file_name (); context = build_nt (CALL_EXPR, name, no_parameters (), NULL_TREE); ! if (!start_function (chainon (build_tree_list (NULL_TREE, static_id), ! build_tree_list (NULL_TREE, void_type_node)), context, NULL_TREE, 0)) YYERROR1; store_parm_decls (); --- 792,798 ---- tree name = get_module_destructor_name (current_module); const char *save_filename = start_dummy_file_name (); context = build_nt (CALL_EXPR, name, no_parameters (), NULL_TREE); ! if (!start_function (build_tree_list (NULL_TREE, void_type_node), context, NULL_TREE, 0)) YYERROR1; store_parm_decls (); (4) Patch stddef.h (Andreas Tobler). The patch can be found at http://gcc.gnu.org/ml/gcc/2002-08/msg01681.html. --- gcc-04072002/gcc/ginclude/stddef.h Wed Jan 9 13:28:06 2002 +++ gccsrc/gcc/gcc/ginclude/stddef.h Thu Jul 4 18:37:27 2002 @@ -242,6 +242,7 @@ #ifndef _WCHAR_T_ #ifndef _BSD_WCHAR_T_ #ifndef _BSD_WCHAR_T_DEFINED_ /* Darwin */ +#ifndef _BSD_RUNE_T_DEFINED_ /* Darwin */ #ifndef _WCHAR_T_DEFINED_ #ifndef _WCHAR_T_DEFINED #ifndef _WCHAR_T_H @@ -278,6 +279,7 @@ #ifdef _BSD_RUNE_T_ #if !defined (_ANSI_SOURCE) && !defined (_POSIX_SOURCE) typedef _BSD_RUNE_T_ rune_t; +#define _BSD_RUNE_T_DEFINED_ #define _BSD_WCHAR_T_DEFINED_ #if defined (__FreeBSD__) /* Why is this file so hard to maintain properly? In constrast to @@ -295,6 +297,7 @@ #endif #ifndef __cplusplus typedef __WCHAR_TYPE__ wchar_t; +#endif #endif #endif #endif (5) Create a build directory and run configure with the right options (as described in the gpc docs) (6) Now, type "make bootstrap" instead of "make". This will build a gcc-3.2.1 and a gpc-3.2.1 compiler. The first stage of the bootstrap uses the gcc compiler that came with Mac OS X.2.3.