NME is short for something like Neko Motion Engine - (I think) and basically it's a library that emulates the normal flash classes, and allows direct remaping of many flash classs to haxe c++ or neko ones, this allow the rapid prototyping and development of flash interfaces to be ported and used on the desktop without the need of a swf projector.
Now that Lion has just been released it is even more reason to create this tutorial for thoughts of us on slightly outdated technology, who want to try the bleading edge source. Unfortunately the approach documented here assumes Intel based processor mac, like mac pro dual core, so if you are using older machines I am unsure that this will help you.
The first step is to setup a suitable compiler. Now this is possible without Xcode but probably fairly tricky. But even with xcode we still need to update the compiler after. I have an old xcode version on my system so can't be sure if you will have any issues setting up, but I have taken trouble to find free access to Xcode.
1) You need to sign away your life to apple and get hold of Xcode 3.1 ( later versions will not run easily on leopard ).
First create a free account, you can pay for full developer accounts but for leopard users this would be fairly pointless?
You probably don't need to give too accurate address phone etc...if your obsessed with privacy, but will have to verify your email address.
next you need to locate and install XCode 3.1
( click on login as the link says timed out, should see a page of links scroll down till you see Xcode 3.1 )
once you have found and installed XCode 3.1 we install Macports, we use this to help get a recent version of gcc and install all it's dependencies.
Once this is installed then from terminal we can get most recent gcc compiler.
sudo port -v install gcc46
For this to install and build takes a few hours so the -v is important as it allows you to check that its working.
Next you have to change the current default gcc used by the terminal. On my machine it would be as below, the first path is the location of the macport gcc you just installed, and the second is the default symbolic name assumed.
sudo ln -sf /opt/local/bin/gcc-mp-4.6 /usr/bin/gcc
Also you need to run similar commands for gcc-- and gcc++, I will try to come back with correct terminal commands but you should be able to work this out by lookng in the directories, so I won't guess them.
2) Getting source files
Ok the work flow Hugh recommends when developing from bleading edge source files is to create a local folder and use haxelib to point to that and keep only stable release builds in the usual standard library. The problem with this approach is that you may easily end up using an incorrect ndll but not be sure that an export link was setup correctly. My suggestion is that the local folder is a good idea, but that it makes sense to remove ( put in an old folder and zip ) all nme related files you have already in your standard library.
TIP1: when trying to write directory paths in terminal you can cd and then drag the folder path from finder to your terminal.
TIP2: for easy access of the hidden directories in finder or terminal.
defaults write com.apple.finder AppleShowAllFiles -bool true
Ok so in your finder find the haxe library... /usr/lib/haxe/lib and if you have a hxcpp, static-sdl and nme then put them in an oldNme folder and zip up.
we now download the source file we need, you will need svnsubversion installed, we can get macports to do this for us from terminal.
sudo port install subversion
Now on your desktop or home folder create a nmeDev folder. From terminal in this folder ( tip1 )
next from terminal lets get the bits that we need.
svn checkout http://nekonme.googlecode.com/svn/trunk/ nme
svn checkout http://sdl-static.googlecode.com/svn/trunk/ sdl-static
svn checkout http://hxcpp.googlecode.com/svn/trunk/ hxcpp
svn checkout http://gm2d.googlecode.com/svn/trunk/ gm2d
These consist of nme ( the remap of the standard flash classes for neko and c++ ), sdl-static some stuff need for creating new ndll's involved? , hxcpp revised hxcpp code and a game engine, with some useful stuff like loading swf assets.
So that haxe lib is not confused we install hxcpp and nme
haxelib install hxcpp
haxelib install nme
tell Haxe to look instead at the svn folders...
haxelib dev hxcpp /Users/myuserName/Desktop/nmeDev/hxcpp
haxelib dev nme /Users/myuserName/Desktop/nmeDev/nme
and add the exports NEED TO MODIFY THIS PART AS THEY DON"T STAY ON REBOOT! so the command line can find stuff.
now we need to build hxcpp
from our Desktop/nmeDev folder we go into the hxcpp runtime folder
and run the build script
haxelib run hxcpp *.xml -Ddebug
and then go back to the nmeDev folder..
now we need to re make static-sdl
going back to Desktop/nmeDev
now we build the nme/project
haxelib run hxcpp *.xml -Ddebug
OH DEAR NOT QUITE WORKING...... To be continued.
We are now ready to try the nme Samples