Changes between Version 36 and Version 37 of Bootstrapping


Ignore:
Timestamp:
Jul 15, 2007, 3:46:53 PM (17 years ago)
Author:
bird
Comment:

Moved old stuff

Legend:

Unmodified
Added
Removed
Modified
  • Bootstrapping

    v36 v37  
    8282ACLOCAL=aclocal19 AUTOMAKE=automake19 ./kBuild/env.sh gmake -f bootstrap.gmk AUTORECONF=autoreconf259
    8383}}}
    84 
    85 == The OLD Bootstrap Procedure (before r95x) ==
    86 
    87  1. Modify env.sh to accept the uname output.
    88  1. Modify header.kmk to accept and correctly configure the platform / target OS.
    89  1. Run kBuild/env.sh to configure the kBuild environment.
    90  1. Copy unix like tools from you system to kBuild/bin/$BUILD_TARGET.$BUILD_TARGET_ARCH/. kBuild requires all ash (bash is recommended), cat, cp, echo, install, ln, mkdir, mv, rm, rmdir and (gnu) sed. The kBuild copies must be prefixed with {{{kmk_}}}. These tools will be replaced later in the bootstrapping.
    91  1. Configure and build GNU sed:
    92     1. Go to the src/sed directory.
    93     1. Run aclocal, autoconf and automake in src/sed if needed.
    94     1. Create and enter src/sed/obj.
    95     1. Run ../configure --disable-nls.
    96     1. Run make
    97     1. Copy config.h to src/sed/config.h.$BUILD_TARGET (or similar, see Makefile.kmk).
    98     1. Copy sed/sed[.exe] to kBuild/bin/$BUILD_TARGET.$BUILD_TARGET_ARCH/kmk_sed[.exe].
    99  1. Configure and build plain GNU Make:
    100     1. Run aclocal, autoconf and automake in src/gmake if needed.
    101     1. Create and enter src/gmake/obj.
    102     1. Run ../configure --disable-nls.
    103     1. Run make
    104     1. Copy config.h to src/gmake/config.h.$BUILD_TARGET (or similar, see Makefile.kmk). Append empty string #defines for LOCALEDIR, LIBDIR, INCLUDEDIR and ALIASPATH (see config.h.linux).
    105     1. We've now got our own make binary which will be used further down.
    106  1. Build src/gmake using the GNU Make we just made:
    107     1. Go to the src/gmake directory.
    108     1. obj/make -f Makefile.kmk
    109     1. When it breaks fix the compiler / linker error and redo the previous step.
    110     1. Copy out/$BUILD_TARGET.$BUILD_TARGET_ARCH/release/kBuild/bin/$BUILD_TARGET.$BUILD_TARGET_ARCH/ to kBuild/bin/$BUILD_TARGET.$BUILD_TARGET_ARCH/.
    111  1. Rebuild everything using kmk (which should now be in the path):
    112     1. Run kBuild/env.sh (or continue in the shell from the previous step).
    113     1. Go to the root.
    114     1. kmk BUILD_TYPE=release rebuild
    115     1. Fix build breaks and repeat the previous step.
    116     1. Copy out/$BUILD_TARGET.$BUILD_TARGET_ARCH/release/kBuild/bin/$BUILD_TARGET.$BUILD_TARGET_ARCH/ to kBuild/bin/$BUILD_TARGET.$BUILD_TARGET_ARCH/.
    117  1. Add and commit the changes (including the binaries).
    118 
    119 Note! On GNU/Linux make sure you have a real yacc install. GNU bison is not sufficiently compatible with yacc to make src/ash (from NetBSD) happy.