aboutsummaryrefslogtreecommitdiff
path: root/ct-ng.in
Commit message (Collapse)AuthorAgeFilesLines
* Add mold linker buildArnaud Vrac2024-06-051-0/+1
| | | | | | | | | | | | | | | 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>
* Unify core passesAlexey Neyman2022-02-111-3/+1
| | | | | | | | | With libc_headers step before pass-1, there is no need to distinguish pass-1 and pass-2; they are configured identically (note that with the current configuration, core pass-2 is only used for win32 - hence, uses build_libgcc=yes and mode=static). Signed-off-by: Alexey Neyman <stilor@att.net>
* Fold libc_start_files into libcAlexey Neyman2022-02-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | After 557b9d4, libc_start_files and libc_main steps are performed one after another. It doesn't make sense, especially since some of the libcs (glibc, uClibc-ng) go to great lengths to first install start files in the first step, libc_start_files, only to remove them immediately in the second step, libc_main. Current build steps also break in the xtensa newlib configurations, as it needs to install the custom xtensa headers before building the libgcc and after 557b9d4, the headers are not installed before libgcc is built in pass-1. Therefore, finish what 557b9d4 mentioned but did not do: move header installation into a new step, libc_headers, and combine libc_start_files and libc_main into a single step. This also allows to combine the core pass-1/pass-2 steps, to be done in a subsequent commit. Signed-off-by: Alexey Neyman <stilor@att.net>
* Upgrade script for uClibc retirementAlexey Neyman2022-02-111-1/+1
| | | | | | | | | | | | | | | | | | Run samples through upgrade and fix accumulated breakages: *-centos6-*: After 2.12.2 retirement, the samples selected most recent glibc (2.34) which also forced kernels 3.2+. Revert to 2.12.1 and 2.6.32.71, respectively. Interestingly, 2.12.1 was marked as being used in CentOS6, but the samples selected 2.12.2. Anyway, CentOS6 is EOL now and glibc 2.12 is going to be marked obsolete, and retired soon. arc-*: Make TARGET_VENDOR match the sample's name; otherwise `ct-ng saveconfig` places the config file into a different location. Fix 'savedefconfig' which was not saving the configuration file version (CT_VCHECK was set to 'load' after CT_LoadConfig call). Signed-off-by: Alexey Neyman <stilor@att.net>
* Make `ct-ng oldconfig` work again after kconfig updatingantmak2021-03-171-1/+1
|
* Move GDB build into a common backend functionAlexey Neyman2019-03-091-1/+1
| | | | | | | ... needed to create a common runtime test for an incompatible change in glibc API. Signed-off-by: Alexey Neyman <stilor@att.net>
* Use enhanced framework for 'ct-ng update-samples'Alexey Neyman2019-02-091-0/+3
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Config v2: select relevant parts of each package versionAlexey Neyman2019-01-301-1/+1
| | | | | | | Also, remove a couple of config options that dealt with package versions that have been since retired. Signed-off-by: Alexey Neyman <stilor@att.net>
* Add upgrade logic to version-check.shAlexey Neyman2019-01-271-2/+20
| | | | | | | | | Slightly rework config version detector to catch the case where neither CONFIG_VERSION/CONFIG_VERSION_CURRENT is defined in the config file. Add olddefconfig and use it after the upgrade. Signed-off-by: Alexey Neyman <stilor@att.net>
* Basic framework for checking config file versionAlexey Neyman2019-01-261-13/+17
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Add moxiebox as a choice for libcAlexey Neyman2018-12-011-1/+1
| | | | | | | | | | | | | | | | | 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>
* Fix installation of the license fileAlexey Neyman2018-11-121-0/+1
| | | | | | | | | | | | | | | ... 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>
* Fix distcleanAlexey Neyman2018-11-101-1/+1
| | | | | | | After d4aa8d9, make distclean removes scripts in ct-ng configured with --enable-local. Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix CT_LIBEXEC_DIR and CT_DOC_DIR if "local" ct-ng is run from other dirAlexey Neyman2018-11-031-3/+3
| | | | | | | | | Also, no need to use $(shell) if make has the same builtin. Fixes #933. Closes #1081. Signed-off-by: Alexey Neyman <stilor@att.net>
* Allow ct-ng to be run from non-repo directoriesDaniel Black2018-11-031-1/+1
| | | | | | closes #993 Signed-off-by: Daniel Black <daniel@linux.ibm.com>
* Check if .config is a regular file before clobbering itAlexey Neyman2018-11-011-6/+9
| | | | | | Fixes #1014. Signed-off-by: Alexey Neyman <stilor@att.net>
* Doh. Change the name of the substituted variableAlexey Neyman2018-05-151-1/+1
| | | | | | | | ... to match the substituted name. Fixes #966. Signed-off-by: Alexey Neyman <stilor@att.net>
* Support out-of-tree local buildsAlexey Neyman2018-04-071-1/+1
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Cannot ignore 'make install' with automakeAlexey Neyman2018-04-071-3/+4
| | | | | | | | | | | | | | | | | | | | Automake does not allow us to place the hooks before its generated actions, and does not allow us to check MAKECMDGOALS, and does not support a mechanism for disabling make install (such as noinst_SUBDIRS, requested a few times on automake mailing list). The only way I could preserve the current behavior is to have a GNUmakefile wrapper that will convert MAKECMDGOAL into a variable unknown to automake - which seems too convoluted a solution for the problem being solved. Hence the approach is to not override anything for --enable-local. It is now fully handled by selecting different values for CT_xxx_DIR in ct-ng.in; but at the build-system level, all the variables remain the same. We just don't support 'make install' in that case anymore; but the ct-ng in the working copy can be used after a regular 'make' (or 'make all'). Help message for --enable-local updated accordingly. Signed-off-by: Alexey Neyman <stilor@att.net>
* Restore --enable-local useAlexey Neyman2018-04-071-0/+7
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Adjust the paths to match new stuff locationAlexey Neyman2018-04-071-5/+5
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Kill gperf vestigesAlexey Neyman2018-04-071-1/+12
| | | | | | Generate paths.sh by configure, do away with paths.mk. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge steps.mk into ct-ngAlexey Neyman2018-04-071-0/+57
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Remove the need for configure substitutions in scriptsAlexey Neyman2018-04-071-1/+6
| | | | | | ... so that scripts/ directory can be installed verbatim. Signed-off-by: Alexey Neyman <stilor@att.net>
* Install ct-ngAlexey Neyman2018-04-071-7/+67
| | | | | | | | Also, move kconfig.mk into the main driver - we'd want kconfig to be a sub-package so there's no sense in writing the installation framework for the ct-ng-specific fragment in an otherwise independent directory. Signed-off-by: Alexey Neyman <stilor@att.net>
* Get rid of sub{lib,doc}dirAlexey Neyman2018-04-071-1/+5
| | | | | | | | | They don't make sense - using same ct-ng won't work with different versions, so they cannot coexist in the same prefix. Also localize other configure variables so that their usage is easier to track. Signed-off-by: Alexey Neyman <stilor@att.net>
* Align script names with the ct-ng commandsAlexey Neyman2017-11-191-1/+1
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Save export status for environment varsAlexey Neyman2017-08-211-4/+0
| | | | | | | | ... and limit our modifications to our variables. Fixes #762. Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix debuild warnings/errorsAlexey Neyman2017-06-071-2/+2
| | | | | | | | | | | | | | | | | | | | - Update .gitignore, do not place .gitignore into directories installed in bulk - Remove executable permissions and shebangs from the scripts that are supposed to be invoked only via ct-ng frontent; prepend them with $(bash). Despite what showSamples.sh said, it already has some bashisms. - Remove --with autotools-dev and override dh_update_autotools_config to avoid having config.{sub,guess} clobbered with older versions - Install bash completion where Debian (now) expects it - Update man page to use .\" as the comment delimiter, instead of undefined macro (."); also, minor text edits. - Install kconfig.mk without execute permission. - Remove shell wrappers from 170-localedef-fix-trampoline.patch, we do not use that for applying patches - Revoke execute permissions on 210-expat.sh - Get flags from dpkg-buildflags if available Signed-off-by: Alexey Neyman <stilor@att.net>
* Use config from the install locationAlexey Neyman2017-04-221-1/+0
| | | | | | ... no need to create a local symlink. Signed-off-by: Alexey Neyman <stilor@att.net>
* Detect both wget/curl and allow user to select the agentAlexey Neyman2017-02-121-2/+2
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Get rid of .config.2.Alexey Neyman2017-01-191-8/+3
| | | | | | Now handled by CT_LoadConfig. Signed-off-by: Alexey Neyman <stilor@att.net>
* Install canadian crosses into a separate subdir.Alexey Neyman2017-01-191-1/+1
| | | | | | | | | | | | Makes them sorted out by host, and removes the need for similar hack in samples.mk. Change how canadian crosses are named: using `=' character resulted in Glibc build failure. Move loading config into a common function, CT_LoadConfig. Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix ct-ng show-config.Alexey Neyman2017-01-101-1/+1
| | | | | | | | If configured with --enable-local, CT_NG is exported as plain 'ct-ng' without any path. showSamples.sh then fails to invoke ct-ng (as current directory is not in $PATH). Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #233 from stilor/fix-build-allBryan Hundven2015-11-041-10/+11
|\ | | | | Fix build-all
| * Fix samples using GMP 4.3.2.Alexey Neyman2015-10-301-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some older versions of configure (including the one in GMP 4.3.2) interpret the $ECHO environment variable as the `echo' utility to use. CT-NG sets the variable to `:' and exports it if V=0 or V=1 is supplied, breaking the samples using such configure. This currently includes bfin-unknown-linux-uclibc and powerpc-unknown-linux-uclibc. Also, correct the description of the V= variable - V=0 is *not* the default; in fact, default does not correspond to any of the V=[012] values. Signed-off-by: Alexey Neyman <stilor@att.net>
| * Clean up new .build-all directory.Alexey Neyman2015-10-301-1/+1
| | | | | | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* | Change sed monstrosity into a make variable.Alexey Neyman2015-10-301-1/+1
| | | | | | | | | | | | | | The convoluted sed expression was doing what is already available in make as `$*'. Signed-off-by: Alexey Neyman <stilor@att.net>
* | Implement 'ct-ng source'.Alexey Neyman2015-10-301-0/+4
|/ | | | | | | Provides a simpler alternative to editing config to enable CT_ONLY_DOWNLOAD, doing ct-ng build and then restoring .config. Signed-off-by: Alexey Neyman <stilor@att.net>
* all: remove references to creating a tarballYann E. MORIN2014-11-241-8/+0
| | | | | | This has been broken for ages, time to finaly remove it. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* ct-ng: 'clean' removes the build dirYann E. MORIN2014-06-281-5/+5
| | | | | | | | It makes more sense to remove the build dir on 'clean' rather than on 'distclean', since the latter also trashes the .config file. Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* docs: update my e-mailYann E. MORIN"2012-03-061-2/+2
| | | | | | | | Since anciens.enib.fr has been dead for two months now, without any hope of recovery, update my e-mail to point to @free.fr instead. Reported-by: "Bryan Hundven" <bryanhundven@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* help: fix typoJohannes Stezenbach2012-02-131-1/+1
| | | | Signed-off-by: Johannes Stezenbach <js@sig21.net>
* configure: handle --program-prefixYann E. MORIN"2011-08-171-1/+1
| | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* scripts: munge .config to handle array variablesYann E. MORIN"2011-05-191-2/+7
| | | | | | | | Transfrom array variables from pure strings (in the kconfig output) into proper bash arrays declarations, for feeding to the build scripts. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
* scripts: leave changelog in build dir, copy to install dirYann E. MORIN"2011-03-201-1/+1
| | | | | | | | | | | | | | Users tend to look for the build log in the current working directory, rather than in the toolchain's installation dir. While bundling the build log in the toolchain installation dir is nice for distribution and review, it can be easier to have the build log readily available in the working directory, as it is quicker to get to it. So, the build log stays in the working directory until the toolchain is completely and successfully built, and then a (compressed) copy is made. Reported-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* scripts: fix distcleanYann E. MORIN"2010-10-061-1/+2
| | | | | | | Do not fail in case either one or both of target/ and .build/ directories are missing. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* scripts: update distcleanYann E. MORIN"2010-10-051-3/+3
| | | | | | | | | | | | The toolchains are now built in .build/ rather than in targets/ so distclean has to get rid of that. We also clean up the old dir, as users may have old samples that still refer to the old location. Do not hide messages during distclean, and do not ignore errors. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* docs: split into multiple filesYann E. MORIN"2010-08-141-2/+2
| | | | | | | The overview.txt file has evolved into more than just an overview. Split it into chapters, and include the misc tutorials. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* scripts: misc help and auto-complete fixesYann E. MORIN"2010-04-021-1/+4
| | | | | | | | | | - don't list samples in the main help screen - improve the samples listing in list-samples - don't document the 'config' action, it's long dead - document the 'V' environment variable - improve on START, STOP and PREFIX environment variables - add PREFIX and V to autocomplete - advertise auto-complete at install time