cross-plat-dev-utils/README-WINDOWS
changeset 2 39c28ec933dd
child 4 1f8f87c60526
equal deleted inserted replaced
1:820b22e13ff1 2:39c28ec933dd
       
     1 # Copyright (c) 2010 Symbian Foundation Ltd
       
     2 # This component and the accompanying materials are made available
       
     3 # under the terms of the License "Eclipse Public License v1.0"
       
     4 # which accompanies this distribution, and is available
       
     5 # at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     6 #
       
     7 # Initial Contributors:
       
     8 # Mike Kinghan, mikek@symbian.org for Symbian Foundation Ltd - initial contribution.
       
     9 
       
    10 == Contents ==
       
    11 ==============
       
    12 - Intro
       
    13 - One-time utilities
       
    14 --- fix_raptor_config.pl
       
    15 --- fix_epoc32.pl
       
    16 --- prep_env.pl
       
    17 - General utilities.
       
    18 --- build_raptor.pl
       
    19 --- clean_raptor.pl
       
    20 --- deepclean_raptor.pl
       
    21 --- list_targets.pl
       
    22 --- build_target.pl
       
    23 --- build_all.pl
       
    24 --- clean_target.pl
       
    25 --- clean_all.pl
       
    26 --- reallyclean_target.pl
       
    27 --- reallyclean_all.pl
       
    28 --- clean_build_logs.pl
       
    29 --- weed_backups.pl
       
    30 --- get_upstream.pl
       
    31 --- diff_upstream.pl:
       
    32 - Getting started.
       
    33 
       
    34 == Intro ==
       
    35 ===========
       
    36 
       
    37 Read the README file in the parent directory, and the NEWS and TODO files if you
       
    38 have not already done so. Make the preparations described in that README before
       
    39 you try to use any of the utilities in this directory.
       
    40 
       
    41 This directory contains utilities and associated resources for building this
       
    42 package on Linux. All the utilities are Perl scripts (.pl files) which will
       
    43 indicate their purpose if run with either of the options -h, --help. They are
       
    44 also documented below.
       
    45 
       
    46 Provided you placed the package directory under the directory you want to be
       
    47 EPOCROOT (as per the build/README file), there is no need to set EPOCROOT to run
       
    48 any of the scripts. They will set it. If you set EPOCROOT in the environment for
       
    49 these scripts they will respect your setting. 
       
    50 
       
    51 There are two sorts of utilities:
       
    52 
       
    53 * Utilities that you need only run once, to make necessary fixes to the upstream
       
    54 Raptor configuration or to the PDK 3.0.h epoc32 tree, so that it is possible to
       
    55 build any of the targets. The one-time utilties may make use of the patch-files
       
    56 directory. Any file located at .\patch-files\windows\SOME_PATH\SOME.FILE will be
       
    57 deployed to replace the file $EPOCROOT\SOME_PATH\SOME.FILE 
       
    58 
       
    59 * General utilities that you can use repeatedly for development work.
       
    60 
       
    61 You need to run these utilities from this directory.
       
    62 
       
    63 == One-time utilities ==
       
    64 ========================
       
    65 
       
    66 * fix_raptor_config.pl:
       
    67 -----------------------
       
    68 Patches the Raptor config file %SBS_HOME%\lib\config\gcc.xml so that the
       
    69 Standard C/C++ Library is configured as the one installed with the compiler,
       
    70 not the PDK's STLPort implementation of the Standard Library.
       
    71 
       
    72 * fix_epoc32.pl:
       
    73 ----------------
       
    74 Patches the epoc32 tree so that it provides a valid pre-include header file to
       
    75 enable compiling of the tools code with gcc 3.4.5
       
    76 
       
    77 * prep_env.pl:
       
    78 --------------
       
    79 A wrapper for all the other fix_???.pl utilities.
       
    80 
       
    81 == General utilities ==
       
    82 =======================
       
    83 
       
    84 * build_raptor.pl:
       
    85 ------------------
       
    86 Builds Raptor. *You needn't build Raptor on Windows. You can use it from your
       
    87 installed PDT 1.6*
       
    88 
       
    89 * clean_raptor.pl:
       
    90 ------------------
       
    91 Cleans Raptor (by invoking the CLEAN target of the Raptor build). *Not needed on
       
    92  Windows if using Raptor from the PDT*
       
    93 
       
    94 * deepclean_raptor.pl:
       
    95 ----------------------
       
    96 Deletes all files created by building Raptor (which clean_raptor.pl does
       
    97 not). *Not needed on Windows if using Raptor from the PDT*
       
    98 
       
    99 * list_targets.pl:
       
   100 ------------------
       
   101 Lists the targets in the package, with comments on any that don't need to be
       
   102 built. The targets are listed as component paths relative to %EPOCROOT%\build.
       
   103 
       
   104 * build_target.pl TARGET:
       
   105 -------------------------
       
   106 Build the target TARGET, where TARGET is one of the targets listed by
       
   107 list_targets.pl.
       
   108   
       
   109 * build_all.pl:
       
   110 ---------------
       
   111 Build all the targets except Raptor, with Raptor.
       
   112 
       
   113 * clean_target.pl TARGET:
       
   114 -------------------------
       
   115 Clean the target TARGET, where TARGET is one of the targets listed by
       
   116 list_targets.pl
       
   117 
       
   118 * clean_all.pl:
       
   119 ---------------
       
   120 Build all the targets except Raptor, with Raptor.
       
   121 
       
   122 * reallyclean_target.pl TARGET:
       
   123 ------------------------
       
   124 Really-cleans target TARGET, where TARGET is one of the targets listed by
       
   125 list_targets.pl.
       
   126 
       
   127 * reallyclean_all.pl:
       
   128 ---------------
       
   129 Really-clean all the targets except Raptor, with Raptor.
       
   130 
       
   131 * clean_build_logs.pl:
       
   132 ----------------------
       
   133 Deletes all Raptor build logs from %EPOCROOT%\epoc32\build.
       
   134 
       
   135 * weed_backups.pl:
       
   136 -----------------
       
   137 Deletes all files in the package dir that end with '~'. Not useful on
       
   138 Windows.
       
   139 
       
   140 * get_upstream.pl CLONEDIR:
       
   141 ---------------------------
       
   142 Clones or updates the upstream package at the baseline revision found in
       
   143 ..\baseline.txt, from http://developer.symbian.org/oss/MCL/sftools/dev/build.
       
   144 The upstream package will be cloned into the existing directory CLONEDIR if
       
   145 this does not appear to have been already done. Otherwise CLONEDIR\build will
       
   146 be updated.
       
   147 
       
   148 * diff_upstream.pl:
       
   149 -------------------
       
   150 Diffs this package with upstream package at the baseline revision found in
       
   151 ../baseline.txt.
       
   152 Options:
       
   153 -d, --diff-file FILE:    The diffs will be written to FILE.
       
   154 Default ./patch-files/diff/patch-N.patch, where N is the baseline revision.
       
   155 -b, --baseline-dir DIR:  The upstream baseline will be cloned into DIR if this
       
   156 does not seem to have been done already. Otherwise DIR/build will be udated to
       
   157 the baseline revision before diffing.
       
   158 It is assumed that the command 'diff' will invoke the diff tool. diff is not
       
   159 standard equioment on Windows but a port is available:
       
   160 http://gnuwin32.sourceforge.net/packages/diffutils.htm.
       
   161 
       
   162 * patch_upstream.pl
       
   163 -------------------
       
   164 Gets a copy of upstream package at the baseline revision in ../baseline.txt and
       
   165 applies a patch to it, by default making it the same as the revision of this
       
   166 package that had that upstream baseline.
       
   167 Options:
       
   168 -p, --patch-file FILE:   Apply the patch file FILE.
       
   169 Default ./patch-files/diffs/patch-N.patch, where N is the baseline revision
       
   170 -b, --baseline-dir DIR:  The upstream baseline will be cloned into DIR if this
       
   171 does not seem to have been done already. Otherwise DIR/build will be udated to
       
   172 the baseline revision before patching.
       
   173 It is assumed that the command 'patch' will invoke the patch tool. patch is not
       
   174 standard equioment on Windows but a port is available:
       
   175 http://gnuwin32.sourceforge.net/packages/patch.htm
       
   176 
       
   177 
       
   178 == Getting started ==
       
   179 =====================
       
   180 
       
   181 To start your development cycle with this package:
       
   182 
       
   183 * Run prev_env.pl
       
   184 * Run build_all.pl. This takes some time.
       
   185 * If anything has gone wrong, try fixing it.
       
   186 * Otherwise, pick something to do from the TODO file. 
       
   187