Commit Graph

124 Commits

Author SHA1 Message Date
Alexey Neyman
0fe21f8db8 Config v2: select relevant parts of each package version
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>
2019-01-30 00:09:30 -08:00
Alexey Neyman
07ec87f14f Avoid adding arch/cpu/tune flags for target to GCC build
... as it may need to override them for building runtime-selectable code.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-06-05 00:16:37 -07:00
Alexey Neyman
1c329c33bf Ncurses fixes for 6.1
- Update to 20180129
- Throw in --disable-db-install if database is disabled; otherwise
  'make install' tries to run tic which is not built.
- Select appropriate strip utility for the host; otherwise non-x86
  architectures fail to install (unless --disable-stripping is also
  added)

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-01-29 22:47:26 -08:00
Alexey Neyman
ca45a8f9ab Add -D__GLIBC__ to target CFLAGS
... when using musl to compile strace.

Also, honor CT_TARGET_CFLAGS in scripts compiling target libs/binaries.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-09-30 18:47:35 -07:00
Alexey Neyman
529e429c6e expat 2.2.4 dropped INSTALL_ROOT
... in favor of its alias, DESTDIR. Before, it supported both.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-09-29 21:29:09 -07:00
Alexey Neyman
567277099a Fix the references to old config variables
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:56 -07:00
Alexey Neyman
e7deac3aad Switch comp.libs/tools and debug to new framework.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:56 -07:00
Alexey Neyman
1b4e784a0b Fix debuild warnings/errors
- 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>
2017-06-07 22:38:53 -07:00
Alexey Neyman
753236ea22 Handle ming32 as a host
zlib refuses to run configure with mingw32 host and insists that
win32/Makefile.gcc is used instead.

This requires a change in this Makefile to support static-only builds.

Fixes #694.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-05-24 23:03:02 -07:00
Alexey Neyman
91c192e318 Always build ncurses-for-build
If the build machine lacks tic, we need to build it in the first pass
even if host==build: ncurses Makefiles are not smart enough to build
'tic' first and use the just-built tic to compile fallback terminfo.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-01 19:17:31 -07:00
Alexey Neyman
456cccc0a7 Merge pull request #634 from stilor/macos-canadian
A couple of fixes for canadian samples on macos
2017-03-07 08:51:35 -08:00
Alexey Neyman
6cdf0df01b Use CHOST instead of CROSS_PREFIX
The latter does not prevent zlib's configure from overriding 'AR' with
/usr/bin/libtool on macos, and that breaks canadian crosses.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-06 18:57:12 -08:00
Dan McGregor
7f961026c1 Explicitly use gcc for GMP
GMP's configure script tries to be too smart, and if it determines
that it's not cross-compiling it chooses gcc or cc instead of the
wrapper we create at the start of the build.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2017-03-06 08:56:36 -06:00
Alexey Neyman
2dae1cf816 Require GNU sed
After much struggling with macos (BSD) sed and even getting everything
work in crosstool-ng itself, I had to abandon that because some
components rely on GNU syntax. Specifically, GNU libc uses '/.../{H;g}'
(note absense of the separator after 'g').

So, revert the -r/-E detection and check for sed's being of GNU origin.
MacOS people, sorry, but you'd have to install GNU sed.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-26 20:42:32 -08:00
Alexey Neyman
a417c31875 Add --disable-database and --with-fallbacks separately
The dependency between them has been removed in Kconfig.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-17 12:07:39 -08:00
Alexey Neyman
07e03aed8c Skip gettext/libiconv on linux-gnu
Previous version by Ray Donnelly was skipping them for all *linux*.
This skips it for GLIBC only.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-14 22:45:56 -08:00
Alexey Neyman
c8e8281533 Skip comp.libs checking on host for canadian
... they all want to run the binaries they produced, which fails
when build!=host.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-11 12:49:48 -08:00
Alexey Neyman
46bfc8a4dc Merge pull request #575 from stilor/ncurses-configure
Allow some tunables for ncurses
2017-02-06 00:04:33 -08:00
Alexey Neyman
d91277e377 Add zlib as a companion lib
with version 1.2.11.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-05 14:26:02 -08:00
Alexey Neyman
ef841ea312 Allow some tunables for ncurses
- Allow user to specify configure arguments to pass through to host/target
ncurses.
- Checkbox for --disable-database
- String option for --with-fallbacks

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-05 14:20:01 -08:00
Alexey Neyman
7186e39f32 Run all configure scripts using ${CONFIG_SHELL}
... as its help message says in menuconfig.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-25 00:06:28 -08:00
Alexey Neyman
8e7ac5fcd9 Change when libiconv/gettext are built.
Make them configurable, default to y when build!=host (i.e.
canadian or cross-native) because we don't know what libraries the host
will provide. GLIBC, as previously, selects them explicitly.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:38:08 -08:00
Alexey Neyman
ca0700010e Simplify a bit, no functional changes.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:38:08 -08:00
Alexey Neyman
53758f34ef Avoid host libs when compiling gettext.
On Travis, old libxml2 is picked up from host and breaks the build.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-17 12:05:23 -08:00
Alexey Neyman
3dbb576c17 Make companion libs static.
This follows the trend set by 1*.sh scripts that configure ISL, GMP,
MPFR, CLooG, etc. Building with shared libraries presents all kinds
of problems:
- The shared libraries need to be installed into ${CT_PREFIX_DIR}.
- The binaries linked against companion libs need to have proper
RPATH, or they're looking for shared libs in
.build/${CT_PREFIX}/buildtools/lib.
- All libraries must agree as to whether they're built shared,
static, or both. Otherwise, gettext tries to link in static libncurses.a
into a shared library and fails (since libncurses was compiled without
the -fPIC switch and hence contains relocations that cannot be handled
in a shared library).

So this fixes the current mess. If we decide to re-enable building
the companion libs shared, we should probably make this dependent on
a separate suboption of CT_STATIC_TOOLCHAIN.

Add a config loosely based on one reported in the issue 274.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-11 00:46:06 -08:00
Alexey Neyman
f5a375e407 Merge pull request #443 from KirillSmirnov/gdb-native
debug/gdb: properly link with expat
2016-12-05 18:24:05 -08:00
Alexey Neyman
51a3606b17 Fix use of custom location if it is a directory.
In that case, CT_GetCustom just creates a symlink to the original.
In that case, 'cp -a <path> .' gives an error and 'cp -a <path> <newdir>'
creates <newdir> as a symlink (which will then run the build inside
the shared directory, .build/src/<package>).

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-02 15:02:58 -08:00
Alexey Neyman
488b27f58b Partially revert 6f8e89cb5c.
The referenced commit replaced 'make' with '${make}' everywhere. This is
wrong for at least the utilities that we may build as companion tools
(make, libtool): this will always invoke the version detected by configure
by supplying the absolute path. In other words, the wrappers in
.build/tools/bin are not fallbacks - they are either temporary (in case
a respective companion tool is built) or permanent redirectors.

This is the reason why the PATH= has .build/*/buildtools/bin at higher
precedence than .build/tools/bin; the latter has the versions detected by
configure and the former has the versions built as companion tools.

Revert the rest of the gang (grep/sed/...) for consistency. After all,
we may decide to supply some of them as well (awk, for instance).

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-20 23:50:17 -08:00
Kirill K. Smirnov
5fd69f7652 complibs: let mingw-gcc find target companion libs
mingw-gcc searches for include and libs in <sysroot>/mingw
directory while non-mingw-gcc uses <sysroot>/usr. This patch
sets an appropriate prefix for target companion libs.

Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2016-09-10 03:35:53 +03:00
Ray Donnelly
24d17220a1 libelf: Cygwin fix for UNC paths
If destdir was / and prefix began with /
then we would attempt to install libelf
to a path beginning with // which is a
UNC path on Cygwin. This is generally
incorrect.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2016-01-03 15:53:09 +00:00
Ray Donnelly
644522fcd0 libiconv: configure with --disable-nls
On Windows a build failure can be triggered during the
build of the static iconv if a dynamic iconv is already
present:

There's a circular dependency between libiconv and gettext
which (on a system with a dynamic gettext (and thus iconv)
installed in the system prefix) causes a failure to build
iconv.exe statically if it is built with nls ..

.. Which needs gettext
.. which depends on libiconv
.. so libtool finds a dynamically linked libgettext.la
.. and therefore presents ld with the dll import library
     libiconv.dll.a when linking iconv.exe
.. as well as the static libiconv.a that it has just built!
.. leading to multiply defined symbols from iconv.

Therefore, we build it without nls. If it later turns out
that we need it to be built with nls, then I will have to
build it in two passes (common practice when bootstrapping
GNU/Linux distros, MSYS2 and probably Cygwin and Homebrew).

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2016-01-03 15:53:07 +00:00
Ray Donnelly
44ee416289 expat: Tidy up and correct configure flags
Build shared builds for host unless CT_STATIC_TOOLCHAIN.
In all other situations, build statically, as before.

It is necessary that the static/shared-ness of expat matches
that of gettext on Cygwin/MinGW-w64 as they can't be linked
together if they don't match, so we follow the same logic.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2016-01-03 15:52:23 +00:00
Bryan Hundven
9f89e082c5 Whitespace: We don't use tabs in shell or kconfig files
We indent by multiples of 4.
This change cleans up whitespace in offending files.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-12-08 10:55:17 -08:00
Bryan Hundven
0e0ecc8bcf PPL: Remove support for PPL and CLooG/PPL
Now that versions of gcc that required PPL are no longer supported
( >= gcc-4.5.x AND <= gcc-4.7.x )
...we no longer require PPL or CLooG/PPL.

This commit:

* Removes PPL
* Removes CLooG/PPL
* Updates the documentation
* Updates build script for CLooG and GCC
* Removes PPL and CLooG/PPL from scripts/addToolVersion.sh and
  scripts/showSamples.sh
* Adds ISL to scripts/addToolVersion.sh and scripts/showSamples.sh

I know that sounds like a lot for one commit, but it was all kind of
inter-tangled.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-29 17:36:58 -08:00
Bryan Hundven
3c1d8625e6 Merge pull request #268 from bhundven/consistent_usage_of_found_apps
consistency: Use exported variables of required tools
2015-11-17 04:13:26 -08:00
Bryan Hundven
6f8e89cb5c consistency: Use exported variables of required tools
We check for apps:

* make
* sed
* grep
* awk
* libtool/libtoolize
* install
* patch
* and more

...during configure. Our scripts should be consistent about using the
variables that define where the found tool was found.

Of course, we do hard-link these tools in buildtools, but that should be
a backup for the components we are building. Our scripts should always
use the tools we find.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-17 02:48:09 -08:00
Bryan Hundven
20f69f3240 ncurses: bump to ncurses-6.0
This commit removes ncurses-5.9 and adds 6.0.
I also provide the stable patch updates in patches/ncurses/6.0.
I have also added an experimental toggle for enabling the new ABI
support.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-16 13:35:56 -08:00
Bryan Hundven
7bca67bbb2 file modes: Fix file modes... again.
These files are sourced, not executed, and do not need to be executable.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-14 20:22:55 -08:00
Alexey Neyman
847d1d8abf Update new companion libs with *_for_target.
Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:34:13 -08:00
Alexey Neyman
be2203be68 Pass CFLAGS/LDFLAGS to backends.
Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:32:26 -08:00
Alexey Neyman
4d2d2ba954 Enable building expat/ncurses for host.
Then re-enable cross-gdb for nios2-spico-elf sample, previously
disabled.
2015-11-13 10:31:46 -08:00
Alexey Neyman
6102726147 Change ncurses to a companion library.
Currently, builds for build and target (matching the current
implementation). Need to add building for host for canadian crosses.

TIC_PATH is removed - configure in ncurses searches $PATH, so it finds
'tic' in buildtools anyway. Arguably unneeded code for MacOS also
removed, with a FIXME comment for validation by someone using MacOS.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:31:46 -08:00
Alexey Neyman
ac7ce38475 Convert expat for target into a companion lib.
Expat-for-host to be done.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:28:44 -08:00
Alexey Neyman
6f7e6b9969 Build companion libs for target.
Currently, only libelf has a for-target step - but it generalizes
the step to hook other libraries into this step.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:24:22 -08:00
Ray Donnelly
9e81836b81 Add gettext and libiconv as companion libs
.. they're needed for the RPC generation in glibc
on both Cygwin and MinGW-w64.

Neither are built on GNU/Linux and iconv is not
built on Darwin.

Two patches for gettext are needed, one so that
-O0 works and one so that static builds can be
made.

They can take a good while to build, so if not
needed for_host or for_build then they are not
built.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:45 +00:00
Bryan Hundven
ad0d71d287 mpfr: Swap primary mirror to gnu.org
mpfr.org has been less then reliable, so lets make gnu.org the primary
instead of the secondary source.

This closes #250

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-11 17:19:51 -08:00
Jasmin Jessich
25dc2d4470 Added new config ISL_V_0_14_or_later and ISL_V_0_12_or_later to select
proper configure options for isl 0.14.x and 0.12.x in 121-isl.sh.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-01 02:18:35 +02:00
Bryan Hundven
7365281973
comp_libs: Fix download locations for cloog and mpc
This change closes #62

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-04-26 08:09:08 -07:00
Bryan Hundven
4b84be34c5 gmp: Disable --enable-mpbsd if version is >= 5.0.2
closes #12

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-23 13:28:26 -08:00
Bryan Hundven
79422633cf scripts: Update download locations
This change updates the download locations to default to the official
download site.

For gcc and gdb, also separate out the linaro download locations so that
if you are downloading the linaro variant, it skips trying to download
from the official gcc mirror.

This commit closes #3

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-08 15:03:08 -08:00