cross-plat-dev-utils/README-WINDOWS
changeset 2 39c28ec933dd
child 4 1f8f87c60526
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cross-plat-dev-utils/README-WINDOWS	Mon May 10 19:54:49 2010 +0100
@@ -0,0 +1,187 @@
+# Copyright (c) 2010 Symbian Foundation Ltd
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Mike Kinghan, mikek@symbian.org for Symbian Foundation Ltd - initial contribution.
+
+== Contents ==
+==============
+- Intro
+- One-time utilities
+--- fix_raptor_config.pl
+--- fix_epoc32.pl
+--- prep_env.pl
+- General utilities.
+--- build_raptor.pl
+--- clean_raptor.pl
+--- deepclean_raptor.pl
+--- list_targets.pl
+--- build_target.pl
+--- build_all.pl
+--- clean_target.pl
+--- clean_all.pl
+--- reallyclean_target.pl
+--- reallyclean_all.pl
+--- clean_build_logs.pl
+--- weed_backups.pl
+--- get_upstream.pl
+--- diff_upstream.pl:
+- Getting started.
+
+== Intro ==
+===========
+
+Read the README file in the parent directory, and the NEWS and TODO files if you
+have not already done so. Make the preparations described in that README before
+you try to use any of the utilities in this directory.
+
+This directory contains utilities and associated resources for building this
+package on Linux. All the utilities are Perl scripts (.pl files) which will
+indicate their purpose if run with either of the options -h, --help. They are
+also documented below.
+
+Provided you placed the package directory under the directory you want to be
+EPOCROOT (as per the build/README file), there is no need to set EPOCROOT to run
+any of the scripts. They will set it. If you set EPOCROOT in the environment for
+these scripts they will respect your setting. 
+
+There are two sorts of utilities:
+
+* Utilities that you need only run once, to make necessary fixes to the upstream
+Raptor configuration or to the PDK 3.0.h epoc32 tree, so that it is possible to
+build any of the targets. The one-time utilties may make use of the patch-files
+directory. Any file located at .\patch-files\windows\SOME_PATH\SOME.FILE will be
+deployed to replace the file $EPOCROOT\SOME_PATH\SOME.FILE 
+
+* General utilities that you can use repeatedly for development work.
+
+You need to run these utilities from this directory.
+
+== One-time utilities ==
+========================
+
+* fix_raptor_config.pl:
+-----------------------
+Patches the Raptor config file %SBS_HOME%\lib\config\gcc.xml so that the
+Standard C/C++ Library is configured as the one installed with the compiler,
+not the PDK's STLPort implementation of the Standard Library.
+
+* fix_epoc32.pl:
+----------------
+Patches the epoc32 tree so that it provides a valid pre-include header file to
+enable compiling of the tools code with gcc 3.4.5
+
+* prep_env.pl:
+--------------
+A wrapper for all the other fix_???.pl utilities.
+
+== General utilities ==
+=======================
+
+* build_raptor.pl:
+------------------
+Builds Raptor. *You needn't build Raptor on Windows. You can use it from your
+installed PDT 1.6*
+
+* clean_raptor.pl:
+------------------
+Cleans Raptor (by invoking the CLEAN target of the Raptor build). *Not needed on
+ Windows if using Raptor from the PDT*
+
+* deepclean_raptor.pl:
+----------------------
+Deletes all files created by building Raptor (which clean_raptor.pl does
+not). *Not needed on Windows if using Raptor from the PDT*
+
+* list_targets.pl:
+------------------
+Lists the targets in the package, with comments on any that don't need to be
+built. The targets are listed as component paths relative to %EPOCROOT%\build.
+
+* build_target.pl TARGET:
+-------------------------
+Build the target TARGET, where TARGET is one of the targets listed by
+list_targets.pl.
+  
+* build_all.pl:
+---------------
+Build all the targets except Raptor, with Raptor.
+
+* clean_target.pl TARGET:
+-------------------------
+Clean the target TARGET, where TARGET is one of the targets listed by
+list_targets.pl
+
+* clean_all.pl:
+---------------
+Build all the targets except Raptor, with Raptor.
+
+* reallyclean_target.pl TARGET:
+------------------------
+Really-cleans target TARGET, where TARGET is one of the targets listed by
+list_targets.pl.
+
+* reallyclean_all.pl:
+---------------
+Really-clean all the targets except Raptor, with Raptor.
+
+* clean_build_logs.pl:
+----------------------
+Deletes all Raptor build logs from %EPOCROOT%\epoc32\build.
+
+* weed_backups.pl:
+-----------------
+Deletes all files in the package dir that end with '~'. Not useful on
+Windows.
+
+* get_upstream.pl CLONEDIR:
+---------------------------
+Clones or updates the upstream package at the baseline revision found in
+..\baseline.txt, from http://developer.symbian.org/oss/MCL/sftools/dev/build.
+The upstream package will be cloned into the existing directory CLONEDIR if
+this does not appear to have been already done. Otherwise CLONEDIR\build will
+be updated.
+
+* diff_upstream.pl:
+-------------------
+Diffs this package with upstream package at the baseline revision found in
+../baseline.txt.
+Options:
+-d, --diff-file FILE:    The diffs will be written to FILE.
+Default ./patch-files/diff/patch-N.patch, where N is the baseline revision.
+-b, --baseline-dir DIR:  The upstream baseline will be cloned into DIR if this
+does not seem to have been done already. Otherwise DIR/build will be udated to
+the baseline revision before diffing.
+It is assumed that the command 'diff' will invoke the diff tool. diff is not
+standard equioment on Windows but a port is available:
+http://gnuwin32.sourceforge.net/packages/diffutils.htm.
+
+* patch_upstream.pl
+-------------------
+Gets a copy of upstream package at the baseline revision in ../baseline.txt and
+applies a patch to it, by default making it the same as the revision of this
+package that had that upstream baseline.
+Options:
+-p, --patch-file FILE:   Apply the patch file FILE.
+Default ./patch-files/diffs/patch-N.patch, where N is the baseline revision
+-b, --baseline-dir DIR:  The upstream baseline will be cloned into DIR if this
+does not seem to have been done already. Otherwise DIR/build will be udated to
+the baseline revision before patching.
+It is assumed that the command 'patch' will invoke the patch tool. patch is not
+standard equioment on Windows but a port is available:
+http://gnuwin32.sourceforge.net/packages/patch.htm
+
+
+== Getting started ==
+=====================
+
+To start your development cycle with this package:
+
+* Run prev_env.pl
+* Run build_all.pl. This takes some time.
+* If anything has gone wrong, try fixing it.
+* Otherwise, pick something to do from the TODO file. 
+