[Ohrrpgce] FreeBASIC Mac OS X build

Ralph Versteegen teeemcee at gmail.com
Tue Oct 5 15:41:46 PDT 2010


On 6 October 2010 06:24, James Paige <Bob at hamsterrepublic.com> wrote:
> On Wed, Oct 06, 2010 at 02:48:17AM +1300, Ralph Versteegen wrote:
>> OK, I finally have an fbc build that can compile itself and the OHR.
>> James (and anyone else who's interested), let me know if you can get
>> it working.
>
> Spiffy!
>
>> To compile, stick the SDL and SDL_mixer frameworks
>> somewhere (preferably use at least the SDL_mixer build below), stick
>> fbc in PATH (it's a standalone build), make sure SDLmain.a is in
>> $(libpaths) if needed, edit $(FRAMEWORKS_PATH) if needed, and build
>> with make.
>
> I have the frameworks in place, and fbc is in my path now (I can run it
> and get the command line help)
>
> I am not sure how to know whether or not I need to add SDLmain.a to
> $(libpaths), but I am assuming that it I did, that would mean editing
> the Makefile, correct? Also, I am not sure where SDLmain.a is. A file
> search did not turn it up.

That's bizarre. The framework doesn't include it; Xcode doesn't seem
to build it at all. How are you meant to link an SDL app?! I also
compiled SDL using the standard makefile, so I have a copy.
http://tmc.castleparadox.com/freebasic/libSDLmain.a
Eventually we will probably add a modified SDLmain.m to our source and
build it ourselves.

> Same goes for $(FRAMEWORKS_PATH). Not sure how to know if I need it, and
> in this case I don't already see it in the Makefile. Should I add it?
>
> When I run make right now I get complaints about libintl:

Oh dear. I don't actually know anything about redistributable binaries
for unix systems. Maybe gas has a build option to remove the libintl
dependency. I'll spend a couple minutes later today and check.

bin/darwin/as is a cross compiling (--target=i686-linux-gnu I think)
build of gas, from GNU binutils (not Apple binutils)

> --------------------------------
> broaste:~/src/ohr/wip james$ make
> fbc -lang deprecated -m verprint verprint.bas -g
> dyld: Library not loaded: /usr/local/lib/libintl.3.dylib
>  Referenced from: /Users/james/misc/fbc-mac/bin/darwin/as
>  Reason: image not found
> make[1]: *** [verprint] Error 1
> !!! This Makefile is not the recommended way to build the OHRRPGCE, and
> is poorly tested! makegame.sh, makeedit.sh or makegame.bat, makeedit.bat
> are recommended instead !!!
> fbc -lang deprecated -m verprint verprint.bas -g
> dyld: Library not loaded: /usr/local/lib/libintl.3.dylib
>  Referenced from: /Users/james/misc/fbc-mac/bin/darwin/as
>  Reason: image not found
> make[1]: *** [verprint] Error 1
> !!! This Makefile is not the recommended way to build the OHRRPGCE, and
> is poorly tested! makegame.sh, makeedit.sh or makegame.bat, makeedit.bat
> are recommended instead !!!
> Compiling Bam2Midi...
> fbc -lang deprecated bam2mid.bas -mt -g -exx -entry SDL_main -Wl
> -macosx_version_min,10.4
> dyld: Library not loaded: /usr/local/lib/libintl.3.dylib
>  Referenced from: /Users/james/misc/fbc-mac/bin/darwin/as
>  Reason: image not found
> make: *** [bam2mid] Error 1
> --------------------------------
>
>> FB SVN patch against r5402:
>> http://tmc.castleparadox.com/freebasic/fbc_mac_20101006.patch
>>
>> Modified objconv source implementing scattered relocations (I can't
>> provide a patch right now as it was actually updated last week, and I
>> lost my copy of the original source) (objconv binary included with fbc
>> binary) (unfinished):
>> http://tmc.castleparadox.com/freebasic/objconv_mac_relocations_wip.tbz
>
> Ah, scattered relocations. Is that what you were talking about when
> arrays would start somewhere other than 0 but would not be reloacted
> correctly?

Yep. I had no clue what a scattered relocation was after reading
Apple's Mach-O documentation, until I looked at how the native tools
handled those situations.

>> OS 10.4 x86-only builds of SDL and SDL_mixer (built from last stable
>> release of each, plus midi looping fix to SDL_mixer):
>> http://tmc.castleparadox.com/freebasic/SDL_x86_builds.tbz
>> This includes both the framework bundles, and the SDL and SDL_mixer
>> libraries pulled out of them (should be identical). Also an .app
>> template I was playing around with. OK this bundles is a mess, but I
>> don't have any more spare time over the next couple days to figure out
>> packaging. That's up to you!
>
> Cool. I will check it out and see what I can accomplish (assuming I can
> get past the compiling phase )
>
>> That's an awful lot of files, and I have an insane number of builds
>> and backups and downloads and copies of sources and patches floating
>> around my drive, so I may have uploaded something incorrectly. I'm
>> half expecting to find that most of my files have been automatically
>> deleted because I've supposedly gone 1GB over my usage quota!! Yes, an
>> insane number.
>
> Hopefully since it is one of them "soft" quotas, they will be soft about
> enforcing it ;)
>
>> I haven't posted these builds on the FB forums yet. Maybe I'll try
>> clean up the code first - however, even then it'll be nowhere near
>> being acceptable for merging.
>
> Just letting them know it exists, even with the disclaimer of
> unmergeability might get them excited about it.
>
>> Enjoy. I'm not going to look at this stuff again for a couple days.
>
> No worries, take your time. :)
> I will figure out what I can in the mean-time
>
> ---
> James Paige
> _______________________________________________
> Ohrrpgce mailing list
> ohrrpgce at lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>



More information about the Ohrrpgce mailing list