| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
ptxd_make_world_kconfig() ist used for <pkg>_oldconfig targets. For
packages that build out-of-tree the pkg_build_dir may not yet exist so
create it if necessary.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
| |
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
[mol: set CMAKE=false, otherwise preparing most packages will fail]
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
| |
Without jobserver, the correct PTXDIST_PARALLELMFLAGS_INTERN must be
preserved. Otherwise ninja will just use the default.
This is especially important when '-j1' or '-ji1' is used for debugging.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
| |
A simple s/nomalized/normalized/g in that function did the trick.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
| |
for oot packages
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
| |
The symlink is '.${pkg_label}' so check for this instead of '${pkg_label}'.
Earlier revisions of the original patch used '${pkg_label}' and not all
occurrences where replaced.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
| |
cross-file.meson
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
If all patches for a package are removed then the package is currently not
reextracted because the .srchash dependency is just dropped and not
changed.
Fix this by defining a fake hash. This way the dependency changes and the
package is extracted again.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a bit complex:
Clang does not have default CPU features that can be specified at
build-time. Instead the some features are derived from the compiler name
(e.g. via a symlink with target triple). Others must be specified on the
command-line (e.g. -mfpu=...).
The toolchain provides wrapper scripts with the target triple to do this.
However, using those is incompatible with icecc, because this only works if
the actuall binary is called.
So we let the toolchain provide the extra options and call clang directly.
And fall back to just the target triple if necessary.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After a version bump or package configuration changes, files from the
previous version may still be in sysroot. This can cause all kinds of
problems.
Also, some packages fail to build if sysroot contains the files from the
same packages but with a different configuration.
To avoid this, do the following:
- remember <PKG>_PKGDIR in a way to find the old path after a version bump
- remove all files of a packages from sysroot at the beginning of the
prepare stage and the install stage
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the workspace path contains a symlink, which means
"${PTXDIST_LAYERS[0]}" != $(readlink -f "${PTXDIST_LAYERS[0]}")
and 'base' is a symlink to another subdirectory of the workspace, then
ptxd_normalize_config() returns the wrong result:
For example:
PTXDIST_WORKSPACE = /tmp/link/BSP
$(readlink -f $PTXDIST_WORKSPACE) = /tmp/real/BSP
$(readlink -f $PTXDIST_WORKSPACE/base) = /tmp/real/BSP/layer
file_dotconfig = /tmp/link/BSP/base/configs/ptxconfig
After the first loop iteration:
nomalized = /tmp/link/BSP/layer/configs/ptxconfig
For the next loop iteration the substitution fails because now $nomalized
contains a symlink. As a result, ptxd_normalize_config() returns the wrong
path.
Fix this by checking if the original resolved path is within each layer and
update $nomalized if that is the case. This way the path is normalized
correctly even if other layers patch as well.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
| |
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
| |
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
symbol prefix
The 'config' script removes the CONFIG_ or PTXCONF_ prefix automatically if
an argument starts with it. Currently ptxd_kconfig_create_config_merge()
also removed the prefix when collecting the 'config' arguments.
This breaks if the actual symbol starts with the prefix. In this case, the
prefix is removed twice.
To fix this, pass the unmodified string and let 'config' remove the prefix
for all of them.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
| |
Allow disabling {pre,post}{inst,rm} scripts by providing a local symlink to
/dev/null.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This file has been touched 2 times in the last 7 years, and is no longer
up to date. Remove it to carry less unmaintained stuff around.
Also remove all references to it from file headers using
for file in `g grep -l 'See CREDITS for details about who has'`; do
sed -i '/See CREDITS for details about who has/,+1d' $file
done
as well as the different wording from rules/other/Toplevel.make.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
This might circumvent pkg-config blacklisting.
This is needed only for host packages. For target packages cmake is already
not in use because it is not defined in the cross file.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
This point came up multiple times in the past and the special handling
of targetinstall stages lead to confusion when trying to depend on image
packages. Document it to prevent further confusion in that matter, and
warn the user if such a make target exists.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
| |
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
We cannot simply use NR for line counting because RS is changed in
function dump_file. Add an extra variable to count lines, and reset it
on each new file.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
| |
Add variables for the filename and full path of the command that will be
executed.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
cmake can be used with 'make' and 'ninja'. Currently only 'make' is
supported.
This introduces a check to determine which generator is selected and calls
the corresponding tool in the compile and install stages.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
| |
Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
| |
Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
With --progress, 'make' is called twice so extra handling is needed to only
add the patches and config files to the hash files once.
This is broken for packages with patches but no config file:
The stamp file is never created.
Fix this by creating separate stamp files.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
| |
This is needed for llvm / clang in the toolchain.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
| |
Refuse to delete git repositories unless --force is used.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
| |
This is in preparation to use it for other hashes.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
| |
For legacy reasons, patches could be in a 'generic' subdir.
This has not been used in a long time. Remove support for this but add a
check to fail, if such patches are found.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
It's not needed here. It wastes unnecessary build time and makes working
with '--git' harder because extra files may be are modifies.
This is relevant for packages that support multiple build systems and
autoconf is not used.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
| |
In that case make is called twice. Append the <PKG>_CONFIG file to the hash
file only once. Otherwise a incorrect hash is generated when --progress is
used.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
| |
e.g. glew uses the destdir for includedir/libdir
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
Then devpkgs exist for two different configurations, then switching between
them then the .install.unpack stage will not be triggered again, because
the tarball is older.
Fix this by adding a extra dependency on .cfghash to handle this the same
way as the normal build.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
| |
Without this <PKG>_CFGHASH is used in dependencies before it is set.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
In case of any issue with `selcted_*` (non-exising for example),
it failed (silently at the bottom of ./ptxdist) showing only
> PTXdist: fatal error ... cannot start, sorry!
which isn't helpful, so let's see the real error as well.
Signed-off-by: Christian Hermann <christian.hermann@hytera.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
| |
To do this, append the <PKG>_CONFIG files to the pkghash-<PKG> files in
ptx_dgen_deps.post and delay the md5 generation until that is done.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
| |
This makes it possible to overwrite individual wrapper scripts in the BSP.
Copy the files instead of using symlinks now. This is necessary to find
libwrapper.sh by resolving all links.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
| |
New helper to find a file with ptxd_in_path() and then atomically replace
the target file.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a dependency for a symbol is disabled, then the symbol will be dropped
from the config. In that case, it will not appear in the diff. This is not
exactly a problem, because kconfig will drop the symbol anyways. However,
mconf detects this as a modification and will always ask to save the
config.
To avoid this, add all dropped symbols in the diff and use that information
to drop them when applying the diff.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
This got broken in many ways with the layer rework.
- config/ was missing from the path to Kconfig
- it's a single file outside the BSP, similar to 'setup'
- the file may not exist when 'boardsetup' is called.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
| |
This can happen for 'boardsetup' when the config file does not exist yet.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
If comments or the order of symbols change then the diff is empty.
Create the diff anyways. Otherwise the sanity check in the prepare stage of
kconfig packages may fail.
This can happen for example with a new kernel patch stack that modifies the
kernel version in the top layer.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|