Go to file
Yegor Yefremov 549bbba67f python/python3: globalize *.pyc files compilation
Currently, each python package (be it the python interpreter package
itself or external python modules) is responsible for compiling its
.py into .pyc files. Unfortunately, this is not ideal as some packages
only install .py files without compiling them into .pyc files. In this
case, if the Buildroot configuration specifies to keep only the .pyc
files, the .py files are removed and lost.

To address this, this commit changes the logic by making the
compilation of .pyc files a global operation: the python interpreter
packages register a target finalize hook that is in charge of
compiling all installed .py files.

The *.pyc generation on a per package basis is disabled in the
python-package infrastructure by passing the "--no-compile" option to
setup.py.

The *.pyc generation for the Python interpreter internal modules is
disabled through --disable-pyc-build configure option.

A small helper script is used to perform the compilation, the purpose
of this script is to abort the compilation process if one of the .py
file cannot be compiled. It has been provided by Samuel Martin and
integrated into this commit.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Cc: Samuel Martin <s.martin49@gmail.com>
[Thomas:
 - rework for python 3.5
 - integrate Samuel proposal that allows to detect compilation
   failures.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-05-26 22:07:35 +02:00
arch toolchain: add coldfire support 2016-04-30 18:50:46 +02:00
board boards: add roseapple pi board support 2016-05-26 10:35:55 +02:00
boot boot: add s500-bootloader package 2016-05-26 10:35:34 +02:00
configs boards: add roseapple pi board support 2016-05-26 10:35:55 +02:00
docs Update for 2016.05-rc1 2016-05-10 23:26:50 +02:00
fs fs/common: fix typo in comments 2016-05-08 15:34:52 +02:00
linux linux: bump default to version 4.6 2016-05-16 21:19:29 +02:00
package python/python3: globalize *.pyc files compilation 2016-05-26 22:07:35 +02:00
support python/python3: globalize *.pyc files compilation 2016-05-26 22:07:35 +02:00
system skeleton: Recreate /var/run symlink 2016-02-11 23:20:38 +01:00
toolchain toolchain-external: bump CodeSourcery NIOSII to 2016.05 2016-05-23 17:36:11 +02:00
.defconfig arch/x86: remove support for i386 2016-04-18 23:38:34 +02:00
.gitignore update gitignore 2013-05-04 12:41:55 +02:00
CHANGES Update for 2016.05-rc1 2016-05-10 23:26:50 +02:00
Config.in Config.in: use better URL for GNU mirrors 2016-05-25 07:24:58 +02:00
Config.in.legacy binutils: remove support for version 2.23 2016-05-17 08:52:02 +02:00
COPYING COPYING: add exception about patch licensing 2016-02-26 19:50:13 +01:00
Makefile Update for 2016.05-rc1 2016-05-10 23:26:50 +02:00
Makefile.legacy Makefile.legacy: fix recursive invocation with BUILDROOT_DL_DIR and _CONFIG 2014-02-11 08:14:57 +01:00
README README: add reference to submitting-patches 2016-02-01 19:16:08 +01:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches