Pandora Compilers in a PND?


The point is not to give the users something that they will use right away, out of the box.


The point is to give *DEVELOPERS* something they will use, right away, out of the box. Which will then result in a *LOT* more stuff for the end users.


And, I doubt the ""95%"" figure is really accurate. I'm pretty sure that a *LOT* of Pandora owners are coders, man. Maybe not a huge amount, but definitely more than 5% of this community.


Just do it. Its the right thing to do. It will result in faster ports from a wider base of code. The frustration of setting up a cross-compiling environment will be removed for those doing quick ports/development, and I am willing to bet we'll see a lot more developer activity specifically for the Pandora when the compiler is onboard.


Firmware2: I'll help.
 
Setting up cross compiler? You mean like .. using anyh number of the tolchain setup scripts like sebt3's yactfreau, where you run it and you're done? Or the ready to use virtual box VM he made, that is download-and-go? Easy pleasey ;)


I'm stepping back from day to day right now due to the incoming twins .. I've got a couple months hopefully before they arrive, but all that time is in preparation for their arrival :p Not as many spare cycles as I'd like :(


jeff
 
I agree with Torpor - I want a full install of Lazarus, the LCL, FPC for ARM (ppcarm) and the FCL on NAND. That way, I can develop without having to set it up myself by running a script or something like that.


D.
 
the NAND is only so big, If you have a very lean firmware image so you can fit in a bunch of development tools.. your not entirely working with the same environment as a regular Pandora.


I rather see something that could reside on a SD card that could be removed to try in a regular environment. Well until my other Pandora arrives then I can have a development Pandora...
 
Last edited by a moderator:
Just another status update on the PND:


The good news is that is now compiles torpor's PandoraWakeBreaker (which requires g++, make, SDL and openGLES). The bad news is that, as a game, WakeBreaker kinda sucks ;)


I going to try more complicated examples tomorrow. I've a horrible feeling that configure scripts aren't going to go well.


If anyone knows of any examples of good code (that they think should compile on a Pandora without problems), please add a link to it and I'll try it out. Thanks.
 
^ If you plan on including Qt, Wars: Commando should compile pretty much without a hitch with Qt and SDL_Mixer. Also I think the Penjin based games (pandorapanic, greyout, panjoust...) could provide a good test.
 
Hey, I never said it was a great game .. just that its a good example of how to do OpenGL ES 1.1 code .. the sources are there for someone to extend the game out to be something more interesting, btw .. should be quite an approachable project for someone. :)


(I've got Jelly Invaders ported in the same way, btw .. will put it up soon.)
 
I have gcc etc installed, with basically no extra libs, and the result is an almost completely full nand... not good


So, how about a pnd that basically starts a gui allowing you to


a. install/remove ipkg packages into a 'filesystem' in the pnd


b. load/unload the filesystem in the pnd as a union into the root filesystem


This would allow you to add compilers and whatever libraries you needed into the pnd (customised), and unify it with the main filesystem before exiting the pnd. You can then do what you like outside the confines of the pnd (e.g. use the codeblocks pnd), compiler pnds could be provided with the basic stuff already there, and multiple of these pnds could be used if required (though I don't know what happens if the same packages are present in two pnds).


Note: I only have a naive understanding of unionfs and pnds, so perhaps have made an elementary mistake or overlooked something simple here.
 
Last edited by a moderator:
Wouldn't closing the pnd destroy the union? I think you'd have to keep it open in the background; this would also let you unset the union when you wanted to.


I've been working on a gcc pnd for a while now incidentally. I've got it to a point where it successfully compiles C and C++ apps using libraries like SDL, QT, Allegro and GTK+ and openGLES. I've been testing it with BzaR's wars:commando (QT), Quake 2 (SDL), WordWarVi (GTK+), Sword of Forgoal (Allegro) and torpor's PandoraWakeBreaker (GLES). I just need to test it on a SD card with a new OS installation on it (to confirm there's no dependencies in my system) and I'll upload it today or tomorrow to the repo for you to try out.


You can add extra binaries and libraries to it using the unionfs system that inherent in pnds themselves: if you extract an ipk into it's appdata directory, then directories like bin/, include/ and lib/ will merge with those directories in the pnd, and the new content becomes seamlessly available. If you want to run something like codeblocks, you can start the gcc pnd and minimise it, then start codeblocks.pnd and set it's binary search path to something like /mnt/utmp/cdevtools/usr/bin/gcc.
 
Sounds awesome. I'm mostly comfortable with the cross-compiling environments available, but there have been some cases in which they have just become an obstacle. Compiling on-device I could at least find out if the problem is with my environment or code. Also making it easier to port/dev things for the pandora is always good.
 
Back
Top