TODO
author mikek
Mon, 10 May 2010 19:54:49 +0100
changeset 2 39c28ec933dd
child 7 0232de5196ec
permissions -rw-r--r--
Removing all prior files. Adding a complete branch of the 'build' package with fixes and tools to build all targets on both Linux and Windows.

===============================================================
Things that need done for this package (in no particular order)
===============================================================

2010-05-10, mikek@symbian.org

1.	Test the built tools. No testing has been done whatsoever.

2.	Build the package on platforms not listed here, and add them to the
	list:
		Windows XP 32bit
		Ubuntu 10.4 32bit

3.	Find all the perl scripts that are exported and ensure they run on
	Linux.

4.	Differentiate the exports so that .bat files are only exported by
	Windows builds and .sh files are only exported by *nix builds

5.	Numerous C++ warnings were fixed for constness violations. Where there
	was a choice between changing the constness traits of an API and
	using const_casts on pointers to cure the warning, const_casts were
	always chosen, because changing the constness traits of APIs may spiral
	into major refactoring. But changing the constness traits of the APIs is
	the right thing.

	Get rid of const_casts by fixing the APIs.

6.	On Windows, the imgcheck target needs to link against libwsock32.a. This
	library exist in the gcc mingw lib directory in the PDT, but because
	the library is specified with the STATICLIBRARY keyword, the linker looks
	for it in the epoc32\release\tools2\{deb|rel} directory and doesn't find it.
	It is not included in the upstream package, so it cannot be exported there.
	This bug has been worked around as one of the things done by the
	fix_epoc32_win.pl script - it just copies libwsock32.a from the PDT to
	the tools2 release deb|rel directories, but a real solution should be found.
	Preferably, for all targets on Windows the gcc mingw libraries should be in
	the linker's search path.

7.	Add a toplevel GNU makefile to the package and scripting to support it which
	can generate a GNU tarball containing a "normalised Linux" simplification of
	the package. The normalised Linux spin will strip out everything from the
	package contents and build that is only required for Windows or would
	normally be provided by package prerequisities in a Linux setting, e.g. it
	will not contain Windows binaries or build its own versions of make, bash,
	cpp, python. A normalised Linux spin would be the right basis on which
	to build .deb or .rpm packaging.