Commit Graph

362 Commits

Author SHA1 Message Date
Alexey Neyman
cc6b7fad46 Retire obsoleted milestones
... and the code dependent on them, after the latest wave of obsolete
package removals. This concludes the glorious history of the original
uClibc (non-NG) with lots of kludges removed.

There was a choice here, whether to call the resulting libc "uClibc" or
"uClibc-ng". I opted in favor of giving uClibc-ng the recognition it
deserves, although it had some ripple effect in the ct-ng code.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:50 -08:00
Stephanos Ioannidis
b48e1a31f3 Support common local patch directory
This commit updates the patching process such that the local patches
can be applied in a version-independent manner, as with the patches
provided by the crosstool-ng packages.

This is done by reading the patch files from
`${CT_LOCAL_PATCH_DIR}/(package_name)` rather than from
`${CT_LOCAL_PATCH_DIR}/(package_name)/(version)`.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-07-14 00:07:30 +09:00
Chris Packham
1aeeea6919 CT_Mirrors: make use of kernel cdn
cdn.kernel.org automatically redirects to a geographically close mirror.
Make use of this instead of www.kernel.org or mirrors.edge.kernel.org.
While were at it make sure we use https.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-07-06 20:23:49 +12:00
Christoph Muellner
1dc25bf611 scripts/functions: Add better support for annotanted git tags
Annotated git tags are git objects with their own ID.
They contain the commit ID where they point to.

When downloading from annotated tags, we currently get the following warning:
  "Revision being fetched changed to ${new_unique_id};"
The old unique_id is the ID of the annotated tag and the new unique_id
is the commit it points to.

Let's resolve this by first assuming to have an annotated tag and let
git ls-remote dereference it. If that fails (e.g. if it can't be
dereferenced because it is not an annotated tag), then let's proceed as
before and don't do any dereferencing.

Signed-off-by: Christoph Muellner <cmuellner@linux.com>
2021-05-06 02:21:33 +02:00
Chris Packham
ea386017b6 Merge branch 'picolibc-multiarch' of git://github.com/keith-packard/crosstool-ng into master 2020-09-20 21:17:28 +12:00
Keith Packard
c1c475d0a0 Map picolibc to suitable CT_TARGET_SYS values
picolibc is another bare-metal C library, and so should be mapped
to CT_TARGET_SYS just like newlib does.

Signed-off-by: Keith Packard <keithp@keithp.com>
2020-09-16 11:52:58 -07:00
Mikhail Falaleev
4c4e5ba047 Patches: search package patches in the top package directory
Before patches for specific package were searched in
packages/${pkg_name}/${version}. This means that with usage of custom
version, patches wont be applied. This commit makes ct-ng search bundled
patches also in packages/${pkg_name} directory. That means that we can
put some patches in this directory, that will be applied to any version
of this component.
2020-09-10 17:14:39 +03:00
Alexey Neyman
d978290f39 Set --with-cpu-{32,64} for multilib builds
GLIBC 2.31 needs --with-cpu=ultrasparc for both 32/64-bits now, and
--with-cpu only sets the CPU model for the "primary" bitness.

Signed-off-by: Alexey Neyman <stilor@att.net>
2020-02-26 11:05:19 -08:00
Alexey Neyman
064711469c Add Linux versions
Signed-off-by: Alexey Neyman <stilor@att.net>
2019-10-01 21:22:44 -07:00
Alexey Neyman
9b9e5c4162 Make lzip an optional dependency
Signed-off-by: Alexey Neyman <stilor@att.net>
2019-02-28 17:13:12 -08:00
Alexey Neyman
16efa9d3e7 Add debug output to Kconfig manipulation functions
Signed-off-by: Alexey Neyman <stilor@att.net>
2019-02-19 23:45:44 -08:00
Alexey Neyman
7c7eca2fab Improve error detection
... by filtering the messages that contain a *word* "warning" or
"error", i.e. is preceded by a space or is at the beginning of the line.
This improves the output from new uClibc-ng releases - which produce a
warning about an unused label, `mprot_error`.

Signed-off-by: Alexey Neyman <stilor@att.net>
2019-02-14 15:08:01 -08:00
Alexey Neyman
2219aab336 Implement an option to store downloads in subdirs
... following the buildroot model.

Signed-off-by: Alexey Neyman <stilor@att.net>
2019-02-13 01:05:13 -08:00
Dima Krasner
de797aa99d Coding style fixes in functions
Signed-off-by: Dima Krasner <dima@dimakrasner.com>
2019-01-23 09:56:05 +02:00
Dima Krasner
2870ffae51 Moved uClibc configuration installation to uClibc.sh
Signed-off-by: Dima Krasner <dima@dimakrasner.com>
2019-01-23 09:52:04 +02:00
Alexey Neyman
92ad0fe0ab Dump how multilib iterator is invoked
Signed-off-by: Alexey Neyman <stilor@att.net>
2019-01-14 23:58:22 -08:00
Alexey Neyman
5cf859d9d9 Add config flags for omitting 'arch' and 'vendor'
... parts of the config tuple. While here, remove parts that are
setting portions of the target tuple to a value that's already
the default.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-10 01:10:01 -08:00
Alexey Neyman
9d2a5f8413 Set ALL_TARGET_CFLAGS initially for !MULTILIB
Fixes #1107.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-07 00:03:04 -08:00
Alexey Neyman
a4dc14dba4 Consider it success if DoForceRmdir removes only the content
Fixes #929.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-01 14:44:08 -08:00
Alexey Neyman
40d5bf6440 Add moxiebox as a choice for libc
This required some rework of the libc selection, as moxiebox is a layer on
top of another libc - newlib.

Also, moxiebox'es host VM (`sandbox`) needs a libcrypto on the host. We will
not have it if we're cross-compiling a canadian cross. Fortunately, all moxiebox
needs from libcrypto is SHA256, and it already includes a standalone implementation
of SHA256 in its runtime. Provide a little wrapper that allows moxiebox use
that implementation for the host binary, too.

Also, automate collecting/printing the list of all packages in a given category
(e.g. LIBC or COMP_TOOLS), generate a list of all Kconfig symbols for a given
category.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-01 10:10:51 -08:00
Alexey Neyman
172308cb1b Add moxie architecture
and a moxie-unknown-elf target (which is what #1088 apparently wanted).

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-11-28 00:30:10 -08:00
Alexey Neyman
da76ae3ea3 Add DTC as a companion tool
(needed for cross-gdb targeting the moxie-* targets)

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-11-28 00:30:10 -08:00
Alexey Neyman
35bec76b63 Fix installation of the license file
... for ct-ng configured without --enable-local. Also, install
licenses in subdirectories of the components.

Also, ct-ng configured with --enable-local removed the scripts directory
upon `ct-ng distclean`.

Also, misspelled CT_WGET/CT_CURL variables prevented use of
`ct-ng updatetools`.

Fixes #1091.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-11-12 01:19:04 -08:00
Alexey Neyman
4270b8e62e
Merge pull request #1084 from antmak/collect_licences
Collect licenses for the distribution
2018-11-07 11:26:45 -08:00
Alexey Neyman
4acea9cc95 Fix detection of missing overlays
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-11-06 23:48:51 -08:00
Anton Maklakov
b36e89d294 Add an ability to use a regular directory for overlaying. If it doesn't exist, the tarball is still used 2018-11-05 15:49:51 +08:00
Anton Maklakov
aec70d5310 Collect licenses for the distribution 2018-11-05 15:39:47 +08:00
Alexey Neyman
f232d6d09a Add an ability to modify an exported variable
... and use that ability to permanently set CTNG_LD_IS in case gold is default linker
and we're building glibc.

Fixes #988. This was a long-standing breakage in crosstool-NG (at least since it began
to run each step in a sub-shell).

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-11-01 15:50:12 -07:00
Alexey Neyman
21af769802 Detect errors in CT_SaveLocal
The function is called from a conditional and therefore, the CT_OnError
handler is not invoked on failures. Need to return an error and check
for the error return in the caller.

Also, while here, fix the issue that was causing the failure -
move can fail if it crosses a filesystem, so fall back to 'cp+rm' in
that case.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-10-27 13:56:22 -07:00
Austin Beer
11e65e75f9 Add comment about preventing Bash from searching $PATH 2018-10-25 15:07:55 -06:00
Austin Beer
93d86b7e5c Prevent Bash from searching $PATH when sourcing the .config file 2018-10-24 18:56:12 -06:00
Alexey Neyman
ce7eea8003 Try to use 'git fetch --depth 1' if possible
It should be possible if fetching a tag/branch, and it may be possible
if fetching a changeset if a server is configured to allow it.

Fixes #986

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-10-20 23:33:14 -07:00
Alexey Neyman
efe65615d0 Fix up timestamps after patching
... so that autotools-based packages do not re-run autoconf/autoheader/automake.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-09-28 11:48:01 -07:00
Alexey Neyman
d7ee16cb28 Make patch order overridable by individual packages
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-06-06 00:50:36 -07:00
Alexey Neyman
4137c422c6 Detect errors from gas
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-06-05 00:16:37 -07:00
Alexey Neyman
4e7d0906c1 Support out-of-tree local builds
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 14:39:56 -07:00
Alexey Neyman
bc542408ca config.sub/config.guess must either be executable
or be run through shell

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:03:17 -07:00
Alexey Neyman
89181ae277 Avoid calling CT_Abort from CT_Mirrors
... see the comment for the reason. Defer aborting until the result of
CT_Mirrors is actually used (if it is used).

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-02-15 22:45:46 -08:00
Alexey Neyman
9fdb93cce0 Make comp.libs use generated templates, too
This allows us to include the component-to-package relation in the
generated kconfig files and make use of that information in the
show-config.sh script.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-11-29 23:44:49 -08:00
Alexey Neyman
63e91f4eba A few fixes for showSamples
- Use fork's name, not the master package name
- Allow to use a choice selector when printing a package
- Consider complibs always present (they are, gcc does require gmp/...)

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-11-19 21:50:28 -08:00
Sergey Korolev
146c6814c9 scripts/functions: add CT_GetPkgBuildVersion
This allows to get a configured custom version of a package.

Signed-off-by: Sergey Korolev <s.korolev@ndmsystems.com>
2017-11-19 21:50:28 -08:00
Alexey Neyman
a91765156a When handling overlay, move rather than symlink
... as 'tar' does not follow symlink, rather creating a new directory instead.

Fixes #846.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-10-20 09:27:29 -07:00
Alexey Neyman
a6dbc8f701 Do not change {pkg}_VERSION
Instead, use new variable ${pkg_dir} to locate auxiliary files.

Fixes #838.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-10-01 13:55:29 -07:00
Alexey Neyman
b3038a0a41 Add digests for all packages
Also fix test-packages: it was saving the output from CT_DoLog into
the checksum file. Also use one file per version.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-09-29 17:05:22 -07:00
Alexey Neyman
48a949cf60 Add an ability to verify the digest/signature
Fixes #611.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-09-27 22:40:21 -07:00
Alexey Neyman
1e4eeb5c3b Workaround for static uClibc-ng issue with -lpthread
Also, preserve .config when running test-package.sh.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-09-03 12:12:14 -07:00
Alexey Neyman
413f5f6100 Super-H multilib toolchain fixes
1. On SuperH, configuring GCC with explicit variant of the CPU
(like "sh4") limits the default set of multilibs to just that CPU
and requires --with-multilib-list to change. Allow for "unspecified"
variant, so that we can defer to GCC to determine the list.

2. Support toolchains with both endiannesses at the same time.

3. Add a SuperH/newlib sample

4. Add more flags processing for uClibc

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-09-03 12:11:23 -07:00
Alexey Neyman
5324905c14 Fix glibc-ports with the new framework
While here, also consider patched by anything other than "bundled patches"
as per-target sources. Add scary warnings in case of a failure.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-26 13:01:37 -07:00
Alexey Neyman
f8d4ce3d0e Implement a script for checking packages
Then use this script to check that all packages can be extracted and patched.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-23 16:05:40 -07:00
Alexey Neyman
20e0f706c6 Fix PPC64LE by supplying --with-glibc-version
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-22 16:48:45 -07:00