MACOSX port

General discussion for topics related to the FreeBASIC project or its community.
fefe
Posts: 7
Joined: Apr 16, 2008 16:55

MACOSX port

Post by fefe »

Hello,



I've been reading the forum and I've found that a few people are interested in OSX support. So I grabbed the source for the runtimes and started to compile. Here's what I've done so far. I've basically copied the freebsd configure bits and changed the MACHTYPE (??) to look for "darwin", after which configure ran fine.

Code: Select all

        
*-*-darwin* )

cat >>confdefs.h <<\_ACEOF
#define TARGET_FREEBSD 1
_ACEOF


cat >>confdefs.h <<\_ACEOF
#define TARGET_BASE_UNIX 1
_ACEOF

                FBRT_TARGET_BASE=unix
                FBRT_TARGET=freebsd
                ;;
Make bombs out on:

Code: Select all

gcc -DHAVE_CONFIG_H -g -O2  -I. -I./freebsd -I./unix -I./x86 -I.  -include config.h  -c ./static/fbrt0.c -o fbrt0.o
/var/tmp//ccwNwJAx.s:9:Expected comma after segment-name
/var/tmp//ccwNwJAx.s:9:Rest of line ignored. 1st junk character valued 32 ( ).
/var/tmp//ccwNwJAx.s:13:Expected comma after segment-name
/var/tmp//ccwNwJAx.s:13:Rest of line ignored. 1st junk character valued 32 ( ).
make: *** [fbrt0.o] Error 1
The rest here is speculation because I don't know this build environment, and I'm hardly experienced in C, but it seems to me that something in the fcrt0.c is causing the compiler to bomb out.

Here's the bits that I suspect:

Code: Select all

static void * priorityhDoInit __attribute__((section(".ctors.65435"), used)) = fb_hDoInit;
static void * priorityhDoExit __attribute__((section(".dtors.65435"), used)) = fb_hDoExit;
These two section blocks may not be supported by OSX? Again, I'm no asm wizard and I have a little experience in C. Can someone point me in the right direction, or is there further development on the OSX port (in a cvs?) that I should check out.

Thanks!
DrV
Site Admin
Posts: 2116
Joined: May 27, 2005 18:39
Location: Midwestern USA
Contact:

Post by DrV »

If you get the latest code from SVN, I added configure support for the rtlib for darwin and hack-fixed that fbrt0 issue; I didn't get any farther than that, but it should be a start.
fefe
Posts: 7
Joined: Apr 16, 2008 16:55

Post by fefe »

I guess osx wanted comma's after the segment name. I placed commas in there and it compiled.

Code: Select all

static void * priorityhDoInit __attribute__((section(".ctors.65435"), used)) = fb_hDoInit;
static void * priorityhDoExit __attribute__((section(".dtors.65435"), used)) = fb_hDoExit;

Code: Select all

static void * priorityhDoInit __attribute__((section(".ctors.65435,"), used)) = fb_hDoInit;
static void * priorityhDoExit __attribute__((section(".dtors.65435,"), used)) = fb_hDoExit;
fefe
Posts: 7
Joined: Apr 16, 2008 16:55

Post by fefe »

DrV wrote:If you get the latest code from SVN, I added configure support for the rtlib for darwin and hack-fixed that fbrt0 issue; I didn't get any farther than that, but it should be a start.

Thanks! I'll check it out. Sorry I didn't notice you're post before replying to my own.
DrV
Site Admin
Posts: 2116
Joined: May 27, 2005 18:39
Location: Midwestern USA
Contact:

Post by DrV »

Perhaps your fix is actually better than mine - I just figured it wasn't supported at all. Any test reports and patches are welcome. :)
fefe
Posts: 7
Joined: Apr 16, 2008 16:55

Post by fefe »

Is there a way to get the compiler to spit out the ASM code? I want to make sure that it's not doing anything strange by putting that comma in there.
notthecheatr
Posts: 1759
Joined: May 23, 2007 21:52
Location: Cut Bank, MT
Contact:

Post by notthecheatr »

Use the -r commandline option (see http://www.freebasic.net/wiki/wikka.php ... lerCmdLine for all the commandline options).
counting_pine
Site Admin
Posts: 6323
Joined: Jul 05, 2005 17:32
Location: Manchester, Lancs

Post by counting_pine »

Try running gcc --help. IIRC the -S switch makes it output the asm without assembling/linking.
fefe
Posts: 7
Joined: Apr 16, 2008 16:55

Issue with config.h built from ./configure

Post by fefe »

I'm not sure how the configure process works, but the config.h when running the configure on osx does not include #define TARGET_DARWIN 1. I've added this bit manually since I don't know much about writing configure scripts and modified the configure script to include the following:

Code: Select all

        *-*-darwin* )

cat >>confdefs.h <<\_ACEOF
#define TARGET_DARWIN 1
_ACEOF
  
  
cat >>confdefs.h <<\_ACEOF
#define TARGET_BASE_UNIX 1
_ACEOF 
  
                FBRT_TARGET_BASE=unix
                FBRT_TARGET=darwin
                ;;

Now make is barfing on libfb_gfx_blitter_mmx.s. This looks like a ton of assembler, and it will take me a while to decipher it. Is it ok if I continue to post my updates here?

Code: Select all

gcc -g -O2  -I../.. -I../../unix -I../../darwin -I../../x86 -I.  -include config.h  -DHAVE_CONFIG_H -x assembler-with-cpp -c ../../x86/libfb_gfx_blitter_mmx.s -o libfb_gfx_blitter_mmx.o
../../x86/libfb_gfx_blitter_mmx.s:32:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:32:Rest of line ignored. 1st junk character valued 49 (1).
../../x86/libfb_gfx_blitter_mmx.s:34:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:34:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:36:Unknown pseudo-op: .int
../../x86/libfb_gfx_blitter_mmx.s:36:Rest of line ignored. 1st junk character valued 48 (0).
../../x86/libfb_gfx_blitter_mmx.s:37:Unknown pseudo-op: .int
../../x86/libfb_gfx_blitter_mmx.s:37:Rest of line ignored. 1st junk character valued 48 (0).
../../x86/libfb_gfx_blitter_mmx.s:38:Unknown pseudo-op: .int
../../x86/libfb_gfx_blitter_mmx.s:38:Rest of line ignored. 1st junk character valued 48 (0).
../../x86/libfb_gfx_blitter_mmx.s:40:Unknown pseudo-op: .int
../../x86/libfb_gfx_blitter_mmx.s:40:Rest of line ignored. 1st junk character valued 48 (0).
../../x86/libfb_gfx_blitter_mmx.s:42:Unknown pseudo-op: .int
../../x86/libfb_gfx_blitter_mmx.s:42:Rest of line ignored. 1st junk character valued 48 (0).
../../x86/libfb_gfx_blitter_mmx.s:43:Unknown pseudo-op: .int
../../x86/libfb_gfx_blitter_mmx.s:43:Rest of line ignored. 1st junk character valued 48 (0).
../../x86/libfb_gfx_blitter_mmx.s:44:Unknown pseudo-op: .int
../../x86/libfb_gfx_blitter_mmx.s:44:Rest of line ignored. 1st junk character valued 48 (0).
../../x86/libfb_gfx_blitter_mmx.s:45:Unknown pseudo-op: .int
../../x86/libfb_gfx_blitter_mmx.s:45:Rest of line ignored. 1st junk character valued 48 (0).
../../x86/libfb_gfx_blitter_mmx.s:47:Unknown pseudo-op: .int
../../x86/libfb_gfx_blitter_mmx.s:47:Rest of line ignored. 1st junk character valued 48 (0).
../../x86/libfb_gfx_blitter_mmx.s:48:Unknown pseudo-op: .int
../../x86/libfb_gfx_blitter_mmx.s:48:Rest of line ignored. 1st junk character valued 48 (0).
../../x86/libfb_gfx_blitter_mmx.s:49:Unknown pseudo-op: .int
../../x86/libfb_gfx_blitter_mmx.s:49:Rest of line ignored. 1st junk character valued 48 (0).
../../x86/libfb_gfx_blitter_mmx.s:50:Unknown pseudo-op: .int
../../x86/libfb_gfx_blitter_mmx.s:50:Rest of line ignored. 1st junk character valued 48 (0).
../../x86/libfb_gfx_blitter_mmx.s:52:Unknown pseudo-op: .int
../../x86/libfb_gfx_blitter_mmx.s:52:Rest of line ignored. 1st junk character valued 48 (0).
../../x86/libfb_gfx_blitter_mmx.s:53:Unknown pseudo-op: .int
../../x86/libfb_gfx_blitter_mmx.s:53:Rest of line ignored. 1st junk character valued 48 (0).
../../x86/libfb_gfx_blitter_mmx.s:55:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:55:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:59:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:59:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:62:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:62:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:85:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:85:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:95:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:95:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:138:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:138:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:154:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:154:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:177:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:177:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:187:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:187:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:230:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:230:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:246:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:246:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:269:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:269:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:279:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:279:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:325:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:325:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:341:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:341:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:364:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:364:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:374:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:374:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:420:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:420:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:436:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:436:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:457:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:457:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:467:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:467:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:502:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:502:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:518:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:518:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:539:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:539:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:549:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:549:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:588:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:588:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:604:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:604:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:624:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:624:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:634:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:634:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:661:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:661:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:677:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:677:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:697:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:697:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:707:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:707:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:740:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:740:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:756:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:756:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:776:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:776:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:784:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:784:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:811:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:811:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:827:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:827:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:848:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:848:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:856:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:856:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:877:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:877:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:893:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:893:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:913:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:913:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:921:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:921:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:946:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:946:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:962:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:962:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:983:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:983:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:994:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:994:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1039:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1039:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1055:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1055:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:1076:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1076:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1087:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1087:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1127:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1127:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1143:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1143:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:1165:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1165:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1173:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1173:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1199:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1199:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1215:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1215:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:1237:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1237:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1245:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1245:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1271:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1271:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1287:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1287:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:1309:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1309:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1317:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1317:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1349:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1349:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1365:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1365:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:1387:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1387:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1395:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1395:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1427:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1427:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1443:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1443:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:1463:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1463:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1471:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1471:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1503:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1503:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1519:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1519:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:1540:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1540:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1548:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1548:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1574:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1574:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1590:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1590:Rest of line ignored. 1st junk character valued 56 (8).
../../x86/libfb_gfx_blitter_mmx.s:1611:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1611:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1619:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1619:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1647:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1647:Rest of line ignored. 1st junk character valued 52 (4).
../../x86/libfb_gfx_blitter_mmx.s:1661:Unknown pseudo-op: .balign
../../x86/libfb_gfx_blitter_mmx.s:1661:Rest of line ignored. 1st junk character valued 56 (8).
make: *** [libfb_gfx_blitter_mmx.o] Error 1
DrV
Site Admin
Posts: 2116
Joined: May 27, 2005 18:39
Location: Midwestern USA
Contact:

Post by DrV »

I haven't tried building gfxlib yet, so the configure script there is not updated, but I would just not mess with that for now. I would focus on getting a "hello world" console app working, then move on to more complex things like gfxlib (also, gfxlib currently has an X11 driver, but this is probably not desirable for Mac OS X since the X server is not installed by default and it's not the native graphics interface; it would be better to write a Cocoa driver, if I understand correctly).

The x86 assembly in gfxlib will probably have to be tweaked a bit to get it to work with Apple's special assembler; .balign can be replaced with an equivalent .align, for example (balign is in bits, align is in bytes).
srvaldez
Posts: 3383
Joined: Sep 25, 2005 21:54

Post by srvaldez »

fefe, I for one am interested in your progress since I own a Mac, thanks
fefe
Posts: 7
Joined: Apr 16, 2008 16:55

Post by fefe »

DrV wrote:I haven't tried building gfxlib yet, so the configure script there is not updated, but I would just not mess with that for now. I would focus on getting a "hello world" console app working, then move on to more complex things like gfxlib (also, gfxlib currently has an X11 driver, but this is probably not desirable for Mac OS X since the X server is not installed by default and it's not the native graphics interface; it would be better to write a Cocoa driver, if I understand correctly).
Thanks for the input, I'll start on getting a 'hello world' app to run. I'm having problems building the compiler. I had to patch the configure script for osx, but it's still bombing out. It looks like some syntax errors? I keep seeing "make: e: command not found". I'm currently at work so I don't have the exact text. I'll paste it here for input when I get home tonight.
The x86 assembly in gfxlib will probably have to be tweaked a bit to get it to work with Apple's special assembler; .balign can be replaced with an equivalent .align, for example (balign is in bits, align is in bytes).
That's strange that the OSX syntax is different. I wonder why they decided to rewrite the asm syntax for osx. I assume that this balign is only for optimization purposes since a procedure follows it?
aetherFox
Posts: 100
Joined: Jun 23, 2005 16:48

Post by aetherFox »

Hey,

I'm very excited about this, and would love to know what the latest progress has been. I have zero experience trying to pull something like this off, but I'd be glad to test the port out for you as quickly as you can throw builds at me.
marcov
Posts: 3462
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Post by marcov »

That's strange that the OSX syntax is different. I wonder why they decided to rewrite the asm syntax for osx. I assume that this balign is only for optimization purposes since a procedure follows it?
That's because OS X doesn't use GNU AS and LD, but own versions that date back to the BSD distribution the MACH team used around 1990. Keep in mind that Mac has a different binary format!
DrewPee70
Posts: 4
Joined: Oct 01, 2007 12:25

Post by DrewPee70 »

Wow!
I can't believe somebody is working on a OSX port . . . fantastic news.
I know quite a bit of freebasic code already and have been using mac's since around 1987 or so . . . I would love to beta-test once it is up and running.
Regards
DrewPee
Post Reply