The Allegro Wiki is migrating to github at https://github.com/liballeg/allegro_wiki/wiki

Allegro installer

From Allegro Wiki
Revision as of 18:09, July 15, 2007 by ReyBrujo (talk | contribs) (AllegroInstaller moved to Allegro installer: Twiki -> MediaWiki title format)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
This article is incomplete and needs some revision or has some pending TODOs. Please help Allegro by editing and finishing it. When the article becomes complete, you may remove this tag.


Ideas for an Allegro Installer

Desired Behaviour (General)

A small program, written in each native OS using as few dependencies as possible, will do the following

  • Display a splash screen
    • Here's one I've started:
   /pub/Main/AllegroInstaller/alex-config.png 

* How did you make that? I like it a lot :) [EP] ** PSP. I should really use 2Draw so I can answer that Q at a deeper level :) -- MS * Hm, what I'm still wondering, were you using a mouse? ** Tja, muisje *** I don't believe you - that must be a drawing pad :)


  • search system for Allegro shared libraries
  • search system for allegro.cfg
  • search for compilers
  • for each compiler, search for allegro source tree
  • detect following libs
    • old Allegro
    • allegGL
    • loadpng, libpng, zlb
    • JpegAlleg
     Others? Too many already?

The splash screen will become a dialog, with the options

  • Verify source (md5 against list of known values)
  • Check for updates
  • Build and install Allegro


Desired behaviour, (Windows only)

Installing DLLs

  • dll dir determined from registry?
  • Unpack alleg40.dll and install in dll dir
  • Unpack alleg42.dll and install in dll dir

for developers

  • Unpack debug and profiling DLLs

Windows compilers

MINGW

  • Presence signified by $MINGDIR envvar


MSVC

  • presence signified by $MSVCDir envvar (but only if vcvars32.bat has been run)


Desired Behaviour, (Linux only)

  • Use GTK or wxwidgets, plain X looks ugly, and Qt looks ugly and is slow for me
    • Sadly its just the opposite for me, GTK is ugly one. -- TF

* Isn't there a GUI lib which wraps around both? Hm, I guess not. Maybe make two versions. Quite probably, none will be made anyway.. there's much more need for a Windows installer than Linux. ** If all the buttons are embedded bitmaps, plain X will do, or even svgalib -- MS *** Heck, in that case, plain Allegro would do! It would need to be a binary anyway, so why not a statically linked Allegro .exe? It shouldn't be too big I guess if properly stripped. And maybe the same could be used for windows and linux? Would show off the cross-platform capabilities of Allegro as well. EP

  • Allow to specify configure options
    • installation path
    • static, shared, release, debug version
    • which modules to build
    • maybe even parse ./conigure --help and display all available options?
  • After running it, parse output of configure, and display important things to the user, for example missing X11 development libraries. Tell them the consequences. (Link to the FAQ?)

Desired Behaviour, (MacOSX only)

 TODO
   




  • Alex with a screwdriver:
   /pub/Main/AllegroInstaller/alex-fixing.png 
    • Ooh.. me likes a lot. You are teh good artist :) EP
  • Dangerous Video Test:
   /pub/Main/AllegroInstaller/alex-video.png 
    • Heh, hilarious. But how is this supposed to work? I mean, the user of the installer will click the red button? EP yep, for optional crashy stuff -- MS
   /pub/Main/AllegroInstaller/alex-artist.png