ChangeLog: tools/winebuild/build.h tools/winebuild/spec32.c - Replaced .short with .half when Forte C is used. Gregg Mattinson Co-op Developer Sun Microsystems of Canada
Index: tools/winebuild/build.h =================================================================== RCS file: /opcom/comp/ws/wine/CVSROOT/wine/tools/winebuild/build.h,v retrieving revision 1.2 diff -u -r1.2 build.h --- /tmp/T0zraOPW Thu Jul 11 14:24:21 2002 +++ build.h Thu Jul 11 11:59:31 2002 @@ -43,6 +43,12 @@ # define STRING ".ascii" #endif +#ifdef __SUNPRO_C +# define SHORT ".half" +#else +# define SHORT ".short" +#endif + typedef enum { TYPE_VARIABLE, /* variable */ Index: tools/winebuild/spec32.c =================================================================== RCS file: /opcom/comp/ws/wine/CVSROOT/wine/tools/winebuild/spec32.c,v retrieving revision 1.2 diff -u -r1.2 spec32.c --- /tmp/T0rMai9W Fri Jul 12 09:53:18 2002 +++ spec32.c Fri Jul 12 09:51:20 2002 @@ -208,10 +208,14 @@ /* output the function names */ - fprintf( outfile, " \"\\t.text 1\\n\"\n" ); + fprintf( outfile, " \"\\t.text\\n\"\n" ); fprintf( outfile, " \"__wine_spec_exp_names:\\n\"\n" ); for (i = 0; i < nb_names; i++) +#ifdef __SUNPRO_C + fprintf( outfile, " \"\\t" STRING " \\\"%s\\\\0\\\"\\n\"\n", Names[i]->name ); +#else fprintf( outfile, " \"\\t" STRING " \\\"%s\\\"\\n\"\n", Names[i]->name ); +#endif fprintf( outfile, " \"\\t.data\\n\"\n" ); /* output the function ordinals */ @@ -219,12 +223,12 @@ fprintf( outfile, " \"__wine_spec_exp_ordinals:\\n\"\n" ); for (i = 0; i < nb_names; i++) { - fprintf( outfile, " \"\\t.short %d\\n\"\n", Names[i]->ordinal - Base ); + fprintf( outfile, " \"\\t" SHORT " %d\\n\"\n", Names[i]->ordinal - Base ); } total_size += nb_names * sizeof(short); if (nb_names % 2) { - fprintf( outfile, " \"\\t.short 0\\n\"\n" ); + fprintf( outfile, " \"\\t" SHORT " 0\\n\"\n" ); total_size += sizeof(short); } } @@ -238,7 +242,11 @@ { ORDDEF *odp = Ordinals[i]; if (odp && odp->type == TYPE_FORWARD) +#ifdef __SUNPRO_C + fprintf( outfile, " \"\\t" STRING " \\\"%s\\\\0\\\"\\n\"\n", odp->link_name ); +#else fprintf( outfile, " \"\\t" STRING " \\\"%s\\\"\\n\"\n", odp->link_name ); +#endif } fprintf( outfile, " \"\\t.align %d\\n\"\n", get_alignment(4) ); total_size += (fwd_size + 3) & ~3; @@ -286,7 +294,7 @@ case TYPE_CDECL: fprintf( outfile, " \"\\tjmp " PREFIX "%s\\n\"\n", name ); fprintf( outfile, " \"\\tret\\n\"\n" ); - fprintf( outfile, " \"\\t.short 0x%04x\\n\"\n", args ); + fprintf( outfile, " \"\\t" SHORT " 0x%04x\\n\"\n", args ); fprintf( outfile, " \"\\t.long " PREFIX "%s,0x%08x\\n\"\n", name, mask ); break; default: