cross-plat-dev-utils/README-LINUX
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/linux/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
       
    69 $EPOCROOT/build/sbsv2/raptor/lib/config/gcc.xml so that:
       
    70 a) the GCC compiler is configured as gcc, not gcc_mingw.
       
    71 b) the Standard C/C++ Library is configured as the one installed with the
       
    72 compiler, not the PDK's STLPort implementation of the Standard Library.
       
    73 c) the compiler complies with the C++0x standard.
       
    74 
       
    75 * fix_epoc32.pl:
       
    76 ----------------
       
    77 Patches the epoc32 tree:
       
    78 a) to workaround ancient bug #1399.
       
    79 b) to create a valid preinclude header for gcc 4.4
       
    80 
       
    81 * prep_env.pl:
       
    82 --------------
       
    83 A wrapper for all the other fix_???.pl utilities.
       
    84 
       
    85 == General utilities ==
       
    86 =======================
       
    87 
       
    88 * build_raptor.pl:
       
    89 ------------------
       
    90 Builds Raptor
       
    91 
       
    92 * clean_raptor.pl:
       
    93 ------------------
       
    94 Cleans Raptor (by invoking the 'clean' target of the Raptor build).
       
    95 
       
    96 * deepclean_raptor.pl:
       
    97 ----------------------
       
    98 Deletes all files created by building Raptor (which clean_raptor.pl does
       
    99 not).
       
   100 
       
   101 * list_targets.pl:
       
   102 ------------------
       
   103 Lists the targets in the package, with comments on any that don't need to be
       
   104 built. The targets are listed as component paths relative to $EPOCROOT/build.
       
   105 
       
   106 * build_target.pl TARGET:
       
   107 -------------------------
       
   108 Build the target TARGET, where TARGET is one of the targets listed by
       
   109 list_targets.pl.
       
   110   
       
   111 * build_all.pl:
       
   112 ---------------
       
   113 Build all the targets except Raptor, with Raptor.
       
   114 
       
   115 * clean_target.pl TARGET:
       
   116 -------------------------
       
   117 Clean the target TARGET, where TARGET is one of the targets listed by
       
   118 list_targets.pl
       
   119 
       
   120 * clean_all.pl:
       
   121 ---------------
       
   122 Clean all the targets except Raptor, with Raptor.
       
   123 
       
   124 * reallyclean_target.pl TARGET:
       
   125 -------------------------------
       
   126 Really-cleans target TARGET, where TARGET is one of the targets listed by
       
   127 list_targets.pl.
       
   128 
       
   129 * reallyclean_all.pl:
       
   130 ---------------
       
   131 Really-clean all the targets except Raptor, with Raptor.
       
   132 
       
   133 * clean_build_logs.pl:
       
   134 ----------------------
       
   135 Deletes all Raptor build logs from $EPOCROOT/epoc32/build.
       
   136 
       
   137 * weed_backups.pl:
       
   138 -----------------
       
   139 Deletes all files in the package dir that end with '~'.
       
   140 
       
   141 * get_upstream.pl CLONEDIR:
       
   142 ---------------------------
       
   143 Clones or updates the upstream package at the baseline revision found in
       
   144 ../baseline.txt, from http://developer.symbian.org/oss/MCL/sftools/dev/build.
       
   145 The upstream package will be cloned into the existing directory CLONEDIR if
       
   146 this does not appear to have been already done. Otherwise CLONEDIR/build will
       
   147 be updated.
       
   148 
       
   149 * diff_upstream.pl:
       
   150 -------------------
       
   151 Diffs this package with upstream package at the baseline revision found in
       
   152 ../baseline.txt.
       
   153 Options:
       
   154 -d, --diff-file FILE:    The diffs will be written to FILE.
       
   155 Default ./patch-files/diff/patch-N.patch, where N is the baseline revision.
       
   156 -b, --baseline-dir DIR:  The upstream baseline will be cloned into DIR if this
       
   157 does not seem to have been done already. Otherwise DIR/build will be udated to
       
   158 the baseline revision before diffing.
       
   159 It is assumed that the command 'diff' will invoke the diff tool.
       
   160 
       
   161 * patch_upstream.pl
       
   162 -------------------
       
   163 Gets a copy of upstream package at the baseline revision in ../baseline.txt and
       
   164 applies a patch to it, by default making it the same as the revision of this
       
   165 package that had that upstream baseline.
       
   166 Options:
       
   167 -p, --patch-file FILE:   Apply the patch file FILE.
       
   168 Default ./patch-files/diffs/patch-N.patch, where N is the baseline revision
       
   169 -b, --baseline-dir DIR:  The upstream baseline will be cloned into DIR if this
       
   170 does not seem to have been done already. Otherwise DIR/build will be udated to
       
   171 the baseline revision before patching.
       
   172 It is assumed that the command 'patch' will invoke the patch tool.
       
   173 
       
   174 == Getting started ==
       
   175 =====================
       
   176 
       
   177 To start your development cycle with this package:
       
   178 
       
   179 * Run build_raptor.pl. This takes some time.
       
   180 * Run prev_env.pl
       
   181 * Run build_all.pl. This takes some time.
       
   182 * If anything has gone wrong, try fixing it.
       
   183 * Otherwise, pick something to do from the TODO file.
       
   184