WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: HOW TO Setup TinyCore for the Ultimate Cross Compiling Development Solution  (Read 5040 times)

Offline CaptBill

  • WikiUser
  • *
  • Posts: 17
I would like to introduce Lazarus, the cutting edge Pascal RAD development environment. It's tagline is "Write once, compile anywhere" and it delivers! You write your application ONCE and you can "target" any platform you desire. Over 30(I think it is now) and counting supported platforms/architectures. Yes, ARM platform too! So any applications you design for TinyCore standard can be compiled to TinyCoreArm port and also the Core64 port, for instance. I think you will be surprised at the power of the possibilities that are now in the realm of possibilities for TinyCore, especially.

http://www.lazarus.freepascal.org/

Take a look at just a few of the many projects being created with Lazarus and you might be surprised. This is not your every day Pascal. This is a high quality RAD (rapid applications development) with a solid performance record.

http://wiki.freepascal.org/Lazarus_Application_Gallery

How about:
LazPaint- an impressive graphics app that is right up there with Gimp in many ways. Very impressive "demo project" you can compile from the IDE yourself which showcases the ver successfull BGRAbitmap graphics library backend. Executable size? About 5.6mb (as best I recall)

http://youtu.be/BkZMHf-Efig

http://wiki.freepascal.org/BGRABitmap_tutorial

Here is the BGRAComponents, which utilizes BGRAbitmap library for components in the IDE. Look at the quality of the graphics, out of the box for you apps...

http://wiki.freepascal.org/BGRAControls

All kinds of projects happening in Lazarus you might be interested in.

How about a native version of a NICE CAD application?
Check out ZCAD...with the project source code and all. Compile a full feature CAD application directly from the Lazarus IDE to your TinyCore installation. One binary executable, no dependencies.

ZCAD is getting lot's of raves too. Look at the comments. Haven't yet any personal experience with it, but it should compile fine for TinyCore.
http://shamangrad.ru/project.php?act=view&prj=zcad
http://sourceforge.net/projects/zcad/

In my next post I will give the steps involved to get a working installation to be able to compile LazPaint. Got some preliminary work to install the component libraries, called "packages" (.lpk files). These are "dependencies" that get compiled into the IDE itself, which is tricky in the loop mounting system of TinyCore.

Ps. I was able to (well, almost) get Msegui configured. It is a "window-manager-less" IDE for FreePascal (the Pascal language backend for Lazarus). With it we can quite easily build our own "window management" drawing. Yes, full windowed graphics environment WITHOUT a window manager. Direct to the X11 graphiics subsystem. This set up will get you your own "TinyCore Native Window Manager" if you like. How about an object oriented/sqlite3 data driven "custom wbar" for example. This would be an IDEAL arrangement for TinyCoreARM I would think. Bypass the window manger "middle-man" completely...deals directly with X11.

One of you pros should be able to install Mseide-msegui onto a MicroCore installation WITHOUT any window manager. MicroCore, X11, and your graphical application for a totally "custom drawn" environment is now in easy reach. Take a look at Msegui-mseide...

http://wiki.mageialinux.ru/images/3/38/Mseide-msegui.png

http://www.msegui.org/







Here is the general instructions for installing the ".lpk" files, or "lazarus packages" as they are called.

You will need these to get the LazPaint project to compile:
1) BGRABitmap package (bgrabitmappack.lpk)
       http://sourceforge.net/projects/lazpaint/files/src/
       you want the bgrabitmap7.2.zip
       download to you components directory and extract. Follow instructions below for the "download/install" process (make a directory that's esy to get to and make sub-directories for each component/suite you download)

2) lNet package (lnetbase.lpk FIRST, then lnetvisual.lpk)
      you want lnet-0.6.5.zip http://sourceforge.net/projects/lazarus-ccr/files/lNet/lNet%200.6.5/ (don't know why you need this tcpip component for a graphics library, but the developer is well known in the community. ??)

 
Some others I feel are "essentials" you may want:
Sqlite3 support (available in the official includes packages. No download needed. Follow instructions below)
BGRAControls- these are not in the BGRABitmap base installation but is a library of "components" that install to the IDE which use the bgrabitmap backend.

Here is what I learned and how I managed a work around:
1)Do not put your components directory in the home directory. Put them where they do not get backed-up in the "mydata.tcz" if possible. My system takes 10+ minutes to re-boot.
2) GIVE IT TIME TO BACK-UP. Hundreds of files are being re-compiled so expect a very long backup to occur any time you are re-compiling th complete IDE. Give it time.
3)ONLY install components when you are installing components. Don't touch the compiler and don't open any projects, other than a default.
4)Do only a few at a time, and when you succeed with that batch, do a full re-boot and retest the installation. This final step is important.

There are certain must have components lacking in the stock configuration, for example Sqlite3 support. It is easy to install because it is included with your installation, just not "registered/installed" yet. There are quite a few included directly from the base installation.Here's how to install them and almost any others:

1) Remember: Fresh start. Boot up, open Lazarus (withsimply a stock/blank project runnig) and go strait to installing packages.
2) Go to mainmenu/Package/Install/Uninstall Packages... this will bring up the Package installer. Uninstalled packages are on the right. These are all available in the included libraries. Search in the package list of available packages and fing sqlite3* package (currently it is "sqlite3laz 0.4")...highlight it and hit install selection and it moves it to the install group.
3) Simply click the "save and rebuild" button at the bottom of the form and this will do a full recompilation of the Lazarus IDE, with the packages you added compiled in.
4) The final important step is to fully close down and re-boot. Make sure you using the "backup" option. The new "compiled application" must be finalized in the loop mounting TC. If you forget this shutdown, the changes won't persist.

Downloading other components/packages is easy too. Just download and extract/save them to their own directory.
1) Go to mainmenu/Package/Open Package file (.lpk.). Find the .lpk you want. Ok. This will open another more complex installer.
2) I always try to first compile the .lpk. Hit the "compile" button. It will compile. Watch for erros in the debug window included.
3) If it compiles ok now you click the "use" button. The option "install" should be available. Pick it.
4) You will be prompted for a "Do you want to fully rebuild/compile Lazarus IDE". Click yes an watch the debugger output.
5) Some .lpk files don't have any graphical components and these don't need to be "installed". Just "compile" and they are recognized. A warning dialog will tell you that "there is no registerd components in this lpk. Still want to proceed?" Just cancel. If you compiled it ok it is good to go.
6) And finally, reboot TinyCore making sure you do "backup".

Now just check in the components palette of the Lazarus IDE to check if the components are registered. You can try to compile demo projects that are usually available with each component for a final test. Just cancel. If you compiled it ok it is good to go.
« Last Edit: September 11, 2013, 04:15:33 PM by CaptBill »
James 3[4] Behold also the ships, which though they be so great, and are driven of fierce winds, yet are they turned about with a very small helm, whithersoever the governor listeth.

Offline mse

  • WikiUser
  • *
  • Posts: 2
Re: HOW TO Setup TinyCore for the Ultimate Cross Compiling Development Solution
« Reply #1 on: September 12, 2013, 11:17:36 PM »
Quote from: CaptBill
Ps. I was able to (well, almost) get Msegui configured. It is a "window-manager-less" IDE for FreePascal (the Pascal language backend for Lazarus). With it we can quite easily build our own "window management" drawing. Yes, full windowed graphics environment WITHOUT a window manager. Direct to the X11 graphiics subsystem. This set up will get you your own "TinyCore Native Window Manager" if you like. How about an object oriented/sqlite3 data driven "custom wbar" for example. This would be an IDEAL arrangement for TinyCoreARM I would think. Bypass the window manger "middle-man" completely...deals directly with X11.

Main goal of MSEide+MSEgui is to provide a handy, stable and very productive tool for building cross platform applications. It does *not* depend on an external widgetset library (GTK+,Qt...), MSEgui draws directly to X11 on Linux and gdi32 on Windows, has identical look and feel on all supported platforms and the look of the widgets is highly configurable.
Download and screenshots:
newbielink:http://sourceforge.net/projects/mseide-msegui [nonactive]
git:
newbielink:http://gitorious.org/mseide-msegui [nonactive]
Mailinglist for questions and bug reports:
newbielink:https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk [nonactive]
Web interface:
newbielink:http://www.mail-archive.com/mseide-msegui-talk@lists.sourceforge.net [nonactive]
NNTP gateway:
nntp://news.gmane.org/gmane.comp.ide.mseide.user
newbielink:http://news.gmane.org/gmane.comp.ide.mseide.user [nonactive]

Martin
« Last Edit: September 16, 2013, 12:38:24 PM by mse »

Offline CaptBill

  • WikiUser
  • *
  • Posts: 17
Re: HOW TO Setup TinyCore for the Ultimate Cross Compiling Development Solution
« Reply #2 on: September 16, 2013, 02:29:20 AM »
Ok everything installs just fine without all the issues listed in my original post if you need no USB thumb drive loading. This is not recommended anyway (slow and many re-writes) Do a standard installation with you tce directory on a hard drive and everything installs flawlessly.

Msegui installs good too for the most part. I just can't seem to get the config paths right.
James 3[4] Behold also the ships, which though they be so great, and are driven of fierce winds, yet are they turned about with a very small helm, whithersoever the governor listeth.

Offline mse

  • WikiUser
  • *
  • Posts: 2
Re: HOW TO Setup TinyCore for the Ultimate Cross Compiling Development Solution
« Reply #3 on: September 16, 2013, 12:31:53 PM »
I order to compile MSEide from command line use
fpc -Fulib/common/* -Fulib/common/kernel/linux -Filib/common/kernel apps/ide/mseide.pas
in the directory where you unpacked the MSEide+MSEgui source package.
In running MSEide set 'Settings'-'Configure MSEide'-'${MSEDIR}' to the same directory. That's all. :-)
« Last Edit: September 16, 2013, 12:44:19 PM by mse »