annotate test/testtypes.c @ 1321:e05bc5d315e3

Date: Wed, 1 Feb 2006 18:20:33 -0800 From: Eric Wing Subject: SDL/Universal Binary updates Hi Sam, Attached is a big set of changes to the Xcode projects to support Universal Binaries. I have also included .dmgs that include the prebuilt frameworks. Ryan, I also updated SMPEG which is also in the package. The SDL and smpeg binaries were built against the CVS version (pulled maybe a month ago?). I do not have an Intel Mac to test on so I have no idea if this stuff actually works. However, Christian Walther has been a big help in testing 10.2.8 and 10.3.9 so I'm fairly confident we got the build settings correct for at least PPC. I have attempted to document the important things for producing these Universal Binaries. Documentation is somewhat scattered through out everything, but there is a big centralized piece of documentation in the UniversalBinaryNotes.rtf in the SDL.dmg. As far as Universal Binaries are concerned, the big things were: - Build with gcc 3.3 on PPC, 4.0 on Intel. - We couldn't get any of the MMX/SSE code to compile/link (SDL and smpeg). - All 3rd party dependencies had to be rebuilt as Universal There were also a bunch of non-Universal things that have been updated: - I converted the SDL-satellites to create .dmg's instead of .pkg installers - Updated all 3rd party static libraries with current versions. (I think libpng was the most dramatic going from 1.0.? to 1.2.8 with API breakage. I haven't found any problems so far in doing this.) - Changed some compiler optimization settings - Finally updated the exports list for SDL_mixer - Tried to include a static smpeg in SDL_mixer (multiple build variants in Xcode project now) - Enabled Altivec in SDL (we forgot to add the flags to Xcode last time) - More documentation Since so many things have changed, there might be new problems introduced. The big issue I've found so far is with SDL_mixer. As I mentioned on the mailing list, MP3's produce an assertion failure. And the MikMod problem reported on Bugzilla continues to persist. There's probably a bunch of other stuff I'm forgetting. There really were hundreds of little things I mucked with so it's hard to remember them all. If you have any questions, feel free to ask. Thanks, Eric
author Sam Lantinga <slouken@libsdl.org>
date Thu, 02 Feb 2006 06:26:39 +0000
parents d93862a3d821
children 835c1831f903
rev   line source
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
1
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
2 #include <stdio.h>
1154
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
3 #include <stdlib.h>
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
4 #include <string.h>
47
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
5 #include "SDL_main.h"
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
6 #include "SDL_types.h"
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
7
1154
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
8 /*
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
9 * Watcom C flags these as Warning 201: "Unreachable code" if you just
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
10 * compare them directly, so we push it through a function to keep the
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
11 * compiler quiet. --ryan.
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
12 */
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
13 static int badsize(size_t sizeoftype, size_t hardcodetype)
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
14 {
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
15 return sizeoftype != hardcodetype;
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
16 }
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
17
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
18 int main(int argc, char *argv[])
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
19 {
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
20 int error = 0;
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
21 int verbose = 1;
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
22
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
23 if ( argv[1] && (strcmp(argv[1], "-q") == 0) )
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
24 verbose = 0;
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
25
1154
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
26 if ( badsize(sizeof(Uint8), 1) ) {
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
27 if ( verbose )
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
28 printf("sizeof(Uint8) != 1, instead = %d\n",
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
29 sizeof(Uint8));
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
30 ++error;
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
31 }
1154
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
32 if ( badsize(sizeof(Uint16), 2) ) {
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
33 if ( verbose )
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
34 printf("sizeof(Uint16) != 2, instead = %d\n",
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
35 sizeof(Uint16));
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
36 ++error;
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
37 }
1154
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
38 if ( badsize(sizeof(Uint32), 4) ) {
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
39 if ( verbose )
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
40 printf("sizeof(Uint32) != 4, instead = %d\n",
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
41 sizeof(Uint32));
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
42 ++error;
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
43 }
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
44 #ifdef SDL_HAS_64BIT_TYPE
1154
d93862a3d821 Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents: 47
diff changeset
45 if ( badsize(sizeof(Uint64), 8) ) {
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
46 if ( verbose )
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
47 printf("sizeof(Uint64) != 8, instead = %d\n",
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
48 sizeof(Uint64));
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
49 ++error;
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
50 }
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
51 #else
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
52 if ( verbose ) {
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
53 printf("WARNING: No 64-bit datatype on this platform\n");
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
54 }
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
55 #endif
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
56 if ( verbose && ! error )
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
57 printf("All data types are the expected size.\n");
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
58
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
59 return( error ? 1 : 0 );
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
60 }