Mercurial > sdl-ios-xcode
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 | 1 |
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 | 6 #include "SDL_types.h" |
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 | 18 int main(int argc, char *argv[]) |
19 { | |
20 int error = 0; | |
21 int verbose = 1; | |
22 | |
23 if ( argv[1] && (strcmp(argv[1], "-q") == 0) ) | |
24 verbose = 0; | |
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 | 27 if ( verbose ) |
28 printf("sizeof(Uint8) != 1, instead = %d\n", | |
29 sizeof(Uint8)); | |
30 ++error; | |
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 | 33 if ( verbose ) |
34 printf("sizeof(Uint16) != 2, instead = %d\n", | |
35 sizeof(Uint16)); | |
36 ++error; | |
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 | 39 if ( verbose ) |
40 printf("sizeof(Uint32) != 4, instead = %d\n", | |
41 sizeof(Uint32)); | |
42 ++error; | |
43 } | |
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 | 46 if ( verbose ) |
47 printf("sizeof(Uint64) != 8, instead = %d\n", | |
48 sizeof(Uint64)); | |
49 ++error; | |
50 } | |
51 #else | |
52 if ( verbose ) { | |
53 printf("WARNING: No 64-bit datatype on this platform\n"); | |
54 } | |
55 #endif | |
56 if ( verbose && ! error ) | |
57 printf("All data types are the expected size.\n"); | |
58 | |
59 return( error ? 1 : 0 ); | |
60 } |