-
Notifications
You must be signed in to change notification settings - Fork 20
MiniMyth2 cross canadian compilation
MiniMyth2 uses cross-compilation in canadian model to build all target architecture binaries. From high-level point of view - process of building cross-compilation environment used to build MiniMyth2 is following:
In this step – MiniMyth2 build process is using host OS installed compiler to build MiniMyth2 bootstrap build compiler called ’gcc-shared’. The name ’shared’ comes from fact that this compiler ’shares’ standard C library (glibc) of host OS.
In this step the build process is using builtin step1 bootstrap compiler to build MiniMyth2 version of standard C library (glibc) header files. Standard C library (glibc) header files are required in next steps to build minimal 'build' gcc compiler.
Standard C library headers built in step2 and bootstrap gcc compiler from step1 are used in this step to build minimal ’build’ gcc compiler called ’gcc-static’. This ’build’ compiler has minimal possible dependency on host OS components but also it offers just minimal required functionality. Its functionality is just enough to build 'main' minimyth2 gcc compiler, its gcc supporting library and standard C library for target architecture.
In this step the minimal ’build’ gcc compiler is used to build start-up files of target standard C library which are required to build compiler support library required to build main MiniMyth2 gcc compiler.
In this step - by using standard C library start-up files built in step4 - the build process builds standard compiler support library of 'main' gcc compiler.
In this step - ’build’ compiler is used to build target standard C library (glibc) which is required to build main gcc compiler in next step.
This step is ......
In this step the ’build’ compiler using target glibc from steep6 and compiler support library from step5 to finally build ’main’ gcc compiler used to compile all components of MiniMyth2 for selected target architecture (i386/x86_64/ARM/aarch64.)
In this final step the ’main’ gcc compiler is used to build all MiniMyth2 components - starting with kernel, drivers, by building perl, python, Qt and finishing with the MythTV application and user tools.