Today PlayStation 3 homebrew developer BigBoss has released PS3Dev Builder with OSX Mountain Lion alongside some details below from the included ReadMe file.

Download: https://github.com/bigboss-ps3dev/ps3dev-mountain-lion/archive/master.zip / https://github.com/bigboss-ps3dev/ps3dev-mountain-lion

To quote from his blog (linked above): I have just released a tool to let you build under Osx Mountain Lion:
  • Sony binutils and toolchain gcc 4.1.1 for SDK 3.60. Don't ask about how to get SDK 3.60
  • ps3dev binutils, toolchain, psl1ght and ps3libraries

What does this do?

This program will automatically build and install a compiler and other tools official and homebrew used in the creation of official and homebrew software for the Sony PlayStation 3 videogame system using Osx Mountain Lion

What do I need ?

You will need a few tool installed before:

1) Your mac with Osx Mountain Lion. All was tested with mac mini late 2012
2) Enable root account. Ref support.apple.com/kb/PH11331
3) Install xquartz (x11) Ref xquartz.macosforge.org/landing/
4) Install xcode from app store.

After install it, open it and install command line tools. You must go yo Downloads section of Xcode's preferences to do it

5) Install macport distfiles.macports.org/MacPorts/MacPorts-2.1.3-10.8-MountainLion.pkg
6) Update macport and enable +universal
Code:
sudo port -v selfupdate
it will ask you root password, after finish it execute the following line:
Code:
if [ \`sysctl -n hw.cpu64bit_capable\` -eq 1 ] ; then echo "+universal" | sudo tee -a
/opt/local/etc/macports/variants.conf; else echo "not 64bit capable"; fi
7) Install port utils (I installed these, you can have other requirements)
Code:
sudo port install autoconf automake bison flex texinfo ncurses wget libelf zlib libtool git-core gmp openssl mpfr libmpc 

unrar subversion bzip2
8) Install wine port i use it when some Sony tools are not availables in osx
Code:
sudo port install wine
after finish it open a new terminal and run
Code:
winecfg
it will create basic wine configuration needed later

Run these commands from terminal
Code:
sudo launchctl load -w /Library/LaunchDaemons/org.freedesktop.dbus-system.plist

launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
9) Create /usr/local/cell and /usr/local/ps3dev folder:
Code:
su - it will ask you root password 
 
mkdir -p /usr/local/cell 
   
mkdir -p /usr/local/ps3dev
I am using my own user and group, use your own configuration as you like
Code:
  chown -R bigboss:staff /usr/local/cell
  
  chown -R bigboss:staff /usr/local/ps3dev
10) Go to /usr/local/cell and get my repository
Code:
 mkdir /usr/local/cell/work
 
 cd /usr/local/cell/work
 
 git clone https://github.com/bigboss-ps3dev/ps3dev-mountain-lion.git
11) Install a good and light editor

I am using one of the best editor ever made Textmate you can get it from github.com/textmate/textmate there are prebuilt binaries

How do I use it to build Sony toolchain?

1) Get Sony SDK 3.60 full - google for it or if you are a Sony PlayStation licensee get it from scedev.net as usual
2) You will need to put some files on /usr/local/cell/work/sdk this directory is not in my repo, don't upload illegal stuff to github please.

These files are mandatory put on /usr/local/cell/work/sdk if you have other names change the script build_sony.sh or change

filenames:
  • [159]-PS3_SDK-360_002.zip
  • [166]-PS3_SDK_Samples-360_001.zip
  • [78]-PS3_SDK-360_001.zip
  • toolchain-src-3.6.0-GCC411.zip

These files are optional put on /usr/local/cell/work/sdk
  • [28]-PS3_SDKDoc-360_01-CHM-English.zip
  • [29]-PS3_SDKDoc-360_01-Help2-English.zip
  • [30]-PS3_SDKDoc-360_01-HTML-English.zip
  • [31]-PS3_SDKDoc-360_01-Latest-English.zip

These files are not needed to build toolchain but you can use them with wine to work with your PlayStation 3 DEX
  • [84]-SNCPPUToolchainforPlayStation3v360.1.zip
  • [85]-ProDGforPlayStation3v360.2.0.exe
  • [86]-TargetManagerForPlayStation3v360.2.0.exe
  • [87]-TunerforPS3v360.2.0.exe

3) Open a new terminal and go to work directory
Code:
cd /usr/local/cell/work
4) Run build.sh script for sony
Code:
./build.sh sony
You must overwrite some files choosing A option asked with prompt

5) Wait until finish

You can test your new toolchain compiling some sample for example
Code:
cd /usr/local/cell/work
You will need profile variables
Code:
. ./sce_profile

cd $CELL_SDK/samples/sdk/usbd/usbdesc

make
This sample is compiled natively in osx, only when elf is linked it will call ppu-lv2-prx-fixup wine wrapper.

This tool is used to fix lib stub counts and some other things (you have a source example of this part for elf files and - stub-fix-only option implemented if you like to know what is Sony doing when it is calling this tool from linker, i lose some time making it but prx use other options that i have not implemented yet so for this, wrapper is enabled)

Making fself for DEX is using a wine wrapper if you have a legal native solution for osx share sources for it

Sample output:
Code:
bigmini:usbdesc bigboss$ pwd

/usr/local/cell/samples/sdk/usbd/usbdesc

bigmini:usbdesc bigboss$ ls

Makefile	main.c		readme_e.txt	readme_j.txt	usbdesc.vcproj

bigmini:usbdesc bigboss$ make

/usr/local/cell/host-osx/ppu/bin/ppu-lv2-gcc -c -g -O2  -std=c99 -W -Wall -Wuninitialized -Wcomment -Wchar-subscripts -

Wdeprecated-declarations -Wendif-labels -Wformat=2 -Wformat-extra-args -Wimplicit -Wimport -Winline -Wmissing-braces -

Wparentheses -Wpointer-arith -Wredundant-decls -Wreturn-type -Wshadow -Wsign-compare -Wswitch -Wunknown-pragmas -Wunused -

Wwrite-strings -Wmain -Wbad-function-cast -Wmissing-declarations -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes  

-I/usr/local/cell/target/ppu/include/cell/usbd   -DCELL_DATA_DIR=\"/usr/local/cell/sample_data\" -Wp,-MMD,objs/main.ppu.d,-

MT,objs/main.ppu.o -o objs/main.ppu.o main.c

/usr/local/cell/host-osx/ppu/bin/ppu-lv2-g++ -mno-sn-ld  objs/main.ppu.o -lusbd_stub -lsysmodule_stub -lsysutil_stub -o 

sample.elf

calling ppu-lv2-prx-fixup with --stub-fix-only sample.elf

finished ppu-lv2-prx-fixup process with 0

/usr/local/cell/host-osx/bin/make_fself sample.elf sample.self

calling make_fself with sample.elf sample.self

fixme:msvcrt:MSVCRT__sopen_s : pmode 0x01c0 ignored

finished make_fself process with 0

bigmini:usbdesc bigboss$ ls

Makefile	objs		readme_j.txt	sample.self
main.c		readme_e.txt	sample.elf	usbdesc.vcproj
How do I use it to build homebrew toolchain?

1) Open a new terminal
Code:
cd /usr/local/cell/work
2) Run build.sh for ps3dev
Code:
./build.sh ps3dev
3) Wait until finish ignore errors in last lib NoRSX

How to load samples to PS3 CEX and DEX?

TODO

PS3Dev Builder with OSX Mountain Lion is Released By BigBoss

More PlayStation 3 News...