Mednafen Members Members   Search Search   Help Help   Register Register   Login Login   Home Home
Home » Other » PC Engine, PC-FX » Compiling HuC on MacOS
Show: Today's Messages  :: Show Polls :: Message Navigator
Switch to threaded view of this topic Create a new topic Submit Reply
Compiling HuC on MacOS [message #2017] Sat, 08 January 2011 04:17
nikdog  [PM]
Has anyone gotten it to work?

My first attempt I got multiple warnings on the first file.
 -----> make all in huc
make --directory=huc all
cc  -Werror -Wall -g -c code.c -o code.o
cc1: warnings being treated as errors
code.c: In function ‘gen_code’:
code.c:186: warning: cast to pointer from integer of different size
code.c:190: warning: cast to pointer from integer of different size
code.c:192: warning: cast to pointer from integer of different size
code.c:198: warning: cast to pointer from integer of different size
code.c:200: warning: cast to pointer from integer of different size
code.c:202: warning: cast to pointer from integer of different size
code.c:208: warning: cast to pointer from integer of different size
code.c:210: warning: cast to pointer from integer of different size
code.c:216: warning: cast to pointer from integer of different size
code.c:223: warning: cast to pointer from integer of different size
code.c:250: warning: cast to pointer from integer of different size
code.c:265: warning: cast to pointer from integer of different size
code.c:288: warning: cast to pointer from integer of different size
code.c:297: warning: cast to pointer from integer of different size
code.c:302: warning: cast to pointer from integer of different size
code.c:307: warning: cast to pointer from integer of different size
code.c:326: warning: cast to pointer from integer of different size
code.c:344: warning: cast to pointer from integer of different size
code.c:365: warning: cast to pointer from integer of different size
code.c:385: warning: cast to pointer from integer of different size
code.c:394: warning: cast to pointer from integer of different size
code.c:399: warning: cast to pointer from integer of different size
code.c:404: warning: cast to pointer from integer of different size
code.c:430: warning: cast to pointer from integer of different size
code.c:511: warning: cast to pointer from integer of different size
code.c:520: warning: cast to pointer from integer of different size
code.c:523: warning: cast to pointer from integer of different size
code.c:533: warning: cast to pointer from integer of different size
code.c:541: warning: cast to pointer from integer of different size
code.c:640: warning: cast to pointer from integer of different size
make[2]: *** code.o] Error 1
make[1]: *** [huc] Error 2
make: *** [all] Error 2 

By default the make file told gcc to treat all warnings as errors. So I changed it not to.


My second attempt got caught on main.c not knowing what operating system I was on.
main.c:540:4: error: #error Add calling sequence depending on your OS


So I looked in the file around line 540.
#ifdef DJGPP
	exe = "pceas.exe";
	opts[i++] = "pceas.exe";
#elif defined(linux) || defined(unix)
	exe = "pceas";
	opts[i++] = "pceas";
#elif defined(WIN32)
	exe = "pceas.exe";
	opts[i++] = "pceas.exe";
#else
  #error Add calling sequence depending on your OS

Now I noticed that Unix was defined so I bitched to my self for a couple of seconds. Then I attempted to define my OS. Tired mac, macos, apple, darwin. It didn't like any of that. I'm sure if I knew anything about C I would immediately have known what to put, but it this point I said fuck it, and changed it to something I know would work.
#ifdef DJGPP
	exe = "pceas.exe";
	opts[i++] = "pceas.exe";
#elif defined(linux) || defined(unix)
	exe = "pceas";
	opts[i++] = "pceas";
#elif defined(WIN32)
	exe = "pceas.exe";
	opts[i++] = "pceas.exe";
#else
	exe = "pceas";
	opts[i++] = "pceas";

Take that i686-apple-darwin10-gcc-4.2.1. My third attempt finished the make process.
StarDestroyer:huc-3.21-src nikdog$ /Users/nikdog/Downloads/huc-3.21-src/bin/huc 
HuC (v3.21, 2005/04/09, Denki release)

USAGE: /Users/nikdog/Downloads/huc-3.21-src/bin/huc [-options] infile

Options to compile step:
-s/-S       : create asm output only (do not invoke assembler)
-t/-T       : include text of 'C' in asm output/listings
-Dsym[=val] : define symbol 'sym' when compiling
-O[val]     : invoke optimization (level <value>)
-cd/-scd    : create CDROM output
-over(lay)  : create CDROM overlay section

Options to assembler step:
-Asym[=val] : define symbol 'sym' to assembler
-v/-V       : verbose - maximum information in output files


After that I copied bin to /usr/bin and include to /usr/include. Then I defined the variable PCE_INCLUDE.
PCE_INCLUDE=/usr/include/pce
export PCE_INCLUDE


Kool, now I can test Aetherbyte's Squirrel Music composer right?

Well I go ahead and run the first command:
StarDestroyer:Squirrel Public nikdog$ wine mml2pce MMLSongs/cathedral.mml
mml2pce - convert mml file to pce playable data
Version 2.4.2 Alpha - internal use only.
Copyright 2010 M.E. Ward / Aetherbyte
For Non-Commercial use only.

Special thanks to GobanToba for Vista /Win7 testing.
Processing [MMLSongs\cathedral.mml]
Processing Track: [.TRACK  Cathedral]
Processing Channel Section: [.CHANNEL 0  Setup]
Processing Channel Section: [.CHANNEL 1  Organ]
Processing Channel Section: [.CHANNEL 2 Violin]
Processing Channel Section: [.CHANNEL 3 Cello]
Processing Channel Section: [.CHANNEL 4 Harpsichord]
Processing Channel Section: [.CHANNEL 5 Strings]
Processing Channel Section: [.CHANNEL 6 Pizzicato]
Processing Envelope Section:[.Envelope]
Processing Modulation Section:[     .mod 0 wiggle]

Awesome Squirrel works with wine, better let Arkhan know. (just did) Now for step 2:
StarDestroyer:Squirrel Public nikdog$ huc -s -scd soundtest.c
HuC (v3.21, 2005/04/09, Denki release)
Segmentation fault


God damn it.

Well at this point I am stuck. I'm going to assume it is because of all the warnings while compiling HuC (there were some for most of the files, not just the one I mentioned at the beginning). If I knew anything about C I might be able to go fix all those warnings.

So again, has anyone ever gotten it to work?
Is anyone C fluent willing to help me?
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic:Revisions
Next Topic:PC Engine Duo IC List
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ ]

Current Time: Sat May 11 05:10:44 CDT 2024
.:: Contact :: Home ::.

Powered by FUDforum.
Copyright © FUDforum Bulletin Board Software