Commit Graph

41 Commits

Author SHA1 Message Date
Arnaud Vrac
f9ab04b63a Add mold linker build
Allows building the #mold linker, which can then be used in the
cross-toolchain by passing the -fuse-ld=mold to the gcc flags. It is
much faster than ld or gold.

This requires a C++20 compiler and cmake.

Initially implemented by Arnaud, and HC added configure check for cmake.

Outstanding task to validate compiler is C++20 compatible.

Signed-off-by: Arnaud Vrac <avrac@freebox.fr>
Signed-off-by: Hans-Christian Noren Egtvedt <egtvedt@samfundet.no>
2024-06-05 19:31:45 +12:00
Kirill K. Smirnov
eb62ec3fbe bootstrap: follow symlinks
newlib-nano package shares patches with newlib package via symlinks.
If a user chooses local setup (--enable-local) it works perfectly, but
if a user chooses normal setup (make install), the links are lost.

Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2023-08-04 16:43:40 +12:00
Bryan Hundven
db942c3d0d Add option for experimental bundled patches
This adds 3 new options to patch order:
* bundled + bundled_exp
* bundled + bundled_exp + local
* local + bundled + bundled_exp

The path for bundled experimental patches is: ${CT_LIB_DIR}/packages/${pkg_dir}/experimental
and patches that are still being reviewed, but not yet applied upstream
may be toggled with ENABLE_EXPERIMENTAL_BUNDLED_PATCHES.

Also fix modelines for editors on bootstrap and scripts/functions, and
fix mix whitespace in scripts/functions.

Closes: #1916

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2023-03-16 16:54:22 +13:00
Bryan Hundven
e51a7ca18c Fix mixed indent in bootstrap
Tabs or spaces... I believe the policy on ct-ng is spaces for shell
scripts. So update bootstrap to stick to 4 space indent.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2022-06-27 12:13:58 -07:00
Chris Packham
7f6fe28ce0 bootstrap: Escape mirrors
When we have mirrors set to $(CT_Mirror foo bar) we need some extra
escaping so that they get interpreted correctly by kconfig.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-02-02 20:06:32 +13:00
Egeyar
7fdb7665f7 Support released versions from Git branches
* Do not assume a release has a tarball if src_release is set to "n".
 * Do not assume versions in repositories are all experimental.
 * Allow versions to define their default repository_branch,
   repository_cset, repository_subdir and bootstrap.
 * Do not expect mirrors, archive_filename, archive_dirname,
   archive_formats and signature_format from a version if src_release
   is set to "n".
 * Add version_number to allow version names to be different than the
   version number. When given, use version_number to compare against
   the milestones.

Signed-off-by: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
2020-11-23 19:47:13 +13:00
Chris Packham
1874893d9f Merge branch 'unused' of git://github.com/jubalh/crosstool-ng into jubalh-unused 2020-09-06 21:43:17 +12:00
Chris Packham
7c628038ab
Merge pull request #1361 from mjsir911/cdpath
Unset CDPATH for duration of bootstrap script
2020-08-30 20:55:18 +12:00
Michael Vetter
e3fc28ae15 Remove unused variables in bootstrap
cmp, u1, u2 seem not to be used at all.
2020-08-21 09:26:19 +02:00
Marco Sirabella
982dee5978
Unset CDPATH for duration of bootstrap script
CDPATH causes the `cd` command to output the directory it's going into
sometimes.

This actually fixes #849, I got bit by this
2020-07-10 19:30:16 -04:00
Norbert Lange
efff0de906 fix bootstrap for old autoconf versions
atleast debian wheezy is affected

Signed-off-by: Norbert Lange <nolange79@gmail.com>
2019-10-10 19:03:15 +02:00
Alexey Neyman
8e24bb22d0 Do not include config/configure.in into the release tarball
Fixes #1176

Signed-off-by: Alexey Neyman <stilor@att.net>
2019-04-04 18:57:42 -07:00
Alexey Neyman
c47dd72602 Check if two versions conflict
by resolving to the same "relevant" portion.

Signed-off-by: Alexey Neyman <stilor@att.net>
2019-02-13 15:51:00 -08:00
Alexey Neyman
74a53fdf3e Use enhanced framework for 'ct-ng update-samples'
Signed-off-by: Alexey Neyman <stilor@att.net>
2019-02-09 15:55:16 -08:00
Alexey Neyman
ea07954745 Ignore vim swap files while generating the file list
Signed-off-by: Alexey Neyman <stilor@att.net>
2019-01-27 22:55:41 -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
71d85c9e16 Include testing/ into the release.
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-11-26 23:50:47 -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
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
5b95b81ea9 Kill gperf vestiges
Generate paths.sh by configure, do away with paths.mk.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:03:17 -07:00
Alexey Neyman
35b830b552 Ignore/modify the list of installed files to match
what was installed before.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:03:17 -07:00
Alexey Neyman
9dc94f3662 Install "pure data" directories
... and update .gitignore. Survives 'make distcheck'.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:03:17 -07:00
Alexey Neyman
896bc2d173 Split local helper macros into separate m4's
... which are then picked up via aclocal.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:02:33 -07:00
Xidorn Quan
0ea428bab5
Use /usr/bin/env to locate bash
On some systems (e.g. macOS), the bash provided by the system at `/bin/bash` is not new enough for the bootstrap script, while users may install a bash instance elsewhere. In that case, `/usr/bin/env` can get the bash in the current environment.
2018-01-06 12:35:33 +11: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
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
961ea19382 Allow loops to skip entries if certain variable is kept
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-24 15:29:55 -07:00
Alexey Neyman
4c1a12f5dd Add "postprocessing" to substituted variables
... and reduce the number of variables defined explicitly.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-24 14:58:14 -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
2dfa203872 Require bash4 to run bootstrap
Fixes #797

(or, at least makes it fail gracefully with an advice)

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-18 23:55:24 -07:00
Alexey Neyman
fd522eed50 Resolve a few more TBDs
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-09 23:08:12 -07:00
Alexey Neyman
9d91f44bc8 Separate the notions of package name/label
Also, remove resolved TBDs.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:57 -07:00
Alexey Neyman
5ba5eaedd1 .in.2 files no longer generated
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:57 -07:00
Alexey Neyman
1b207d0adc Allow packages to define "relevant" part of the version
E.g., only include minor/major of the Linux kernel into the kconfig
symbol. In the future, to be defined by all packages, but for now
matches the current versioning in the packages.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:57 -07:00
Alexey Neyman
4bd6d5f560 Fix bootstrap to work with bash 4.3
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:56 -07:00
Alexey Neyman
ae71ce4106 Kconfigize choice/menu items
Also, add a poor man's upgrade script.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:56 -07:00
Alexey Neyman
ff0a1a3da6 Switch gen-kconfig to new framework
Also:
- Move companion_* to comp_* to match the kconfig symbols
- Replace bootstrap with former gen-versions.sh
- Fold *.in.2 into their respective first parts; this moves common
  options to the end - if it is undesirable, inclusion of *.in
  can be moved where *.in.2 used to be (but that will also move
  version selection after common options).
- Retire addToolVersion.sh (may later replace with a more
  comprehensive script that tries to download the added tarballs,
  copy the patches and try to apply them, and create a version.desc).

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:56 -07:00
Alexey Neyman
0a654319f9 First stab at gen-versions.sh
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:56:29 -07:00
Alexey Neyman
105e4b59b7 Get rid of config.gen
Instead, prepare the files as a part of bootstrap and install them.
This avoids rebuilding these files in each working directory; they
don't change anyway as they are generated from the same installed
source.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-22 18:41:50 -07:00
Yann E. MORIN"
c8e39d6d29 configure: use autoconf to generate configure
Create configure.ac, an autoconf script to generate ./configure
This will be needed by a subsequent patch to properly handle
--build and --host, and more tests, when the kconfig stuff will
be installed pre-built.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-07 22:28:40 +01:00