[AD] OSX Port Notes

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Hi Angelo,

Some notes -- I'm still trying to get it to compile:

- obj/macosx/plugins.h didn't get generated by your makefile, so I made
it myself.

- You can disable precomp by using the apple-only gcc flag
'-no-cpp-precomp' -- however, this generates some interesting errors in
the current codebase.

Because you've included the Cocoa framework by default in all files
(through the platform internal headers), not using precompiled headers
leads the compiler to go crazy when trying to import the Obj-C cocoa
framework headers.  I don't know if you included the framework
intentionally due to some pthread magic or whatever you did to get the
system working.  It might be best to completely seperate the Cocoa
stuff (window, etc) from the rest of the allegro OSX code, so that you
don't need to be including the cocoa framework by file.

- The examples compile and run.  Wild stuff man. ^_^;;  It's amazing
that you got them to accept keyboard input when run from the terminal;
SDL's been wrestling with this for a long time.  Full screen seems
nice, though it does give me the following errors at program close:

kCGErrorIllegalArgument : CGSSetWindowDepth: Invalid window
kCGErrorIllegalArgument : CGSSetWindowDepth: Invalid window

Also, programs run in windowed mode don't respond to a clicking of the
close button.  And I don't know if you want to generate a standard menu
for windowed-mode allegro apps, but at least having a "Quit" under the
program menu would be cool IMHO, since the only way to quit the
examples currently is by hitting escape.

- It might be nice to have another OSX-specific target, for generating
app bundles of all compiled programs (examples, grabber, demo).  You
know, for the sexy double-clickability. ^_^;;  A simple shell script
would do the trick.  

I've attached a bundler script, and some icons.  Note that the script
expects the icons file to be in your current directory.  Also note that
this is my first shell script ever, and may be buggy.  It certainly
doesn't do much safety testing.

- build process halts on this error:

gcc -DALLEGRO_SRC -Wall -Wno-unused -Wno-long-double  -O2
-funroll-loops -ffast-math -fomit-frame-pointer -pipe -DALLEGRO_USE_C
-I. -I./include -o obj/macosx/alleg/maketexi.o -c
docs/src/makedoc/maketexi.c
docs/src/makedoc/maketexi.c:603:160: missing terminating ' character
docs/src/makedoc/maketexi.c:603:160: warning: character constant too
long
docs/src/makedoc/maketexi.c: In function `build_types_lookup_table':
docs/src/makedoc/maketexi.c:603: parse error before '\x20292220'
docs/src/makedoc/maketexi.c:604: parse error before ';' token
docs/src/makedoc/maketexi.c:610: parse error before ';' token
docs/src/makedoc/maketexi.c:796: parse error at end of input
docs/src/makedoc/maketexi.c:41: warning:
`_build_multi_identifier_nodes_table' used but never defined
docs/src/makedoc/maketexi.c:42: warning:
`_destroy_multi_identifier_nodes_table' used but never defined
docs/src/makedoc/maketexi.c:49: warning: `_write_auto_types_xrefs' used
but never defined

Then again, I remember trying to build a CVS build on djgpp about two
weeks ago (needed vesainfo), and it failed back then too, but I forgot
to report it.

- When I run exalpha from inside an app bundle, it stops because it
can't find the allegro.pcx file; on OSX, the allegro packfile routines
should first look int the appbundle/Contents/Resources dir, then in the
app bundle's parent dir, for files.

Whew.  Hope some of this helps. ^_^;;

- Charles
attached: bundlestuff.tgz

Attachment: bundlestuff.tgz
Description: bundlestuff.tgz



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/