Commit Graph

323 Commits

Author SHA1 Message Date
Alexey Neyman
16e703a4e5 Merge pull request #676 from tamird/mingw-secure-api
MinGW: add --enable-secure-api config option
2017-04-07 10:13:06 -07:00
Tamir Duberstein
2e9863531f libc/mingw: quote variable in comparison
Building with CT_MINGW_TOOLS unset before this change produces:

	/usr/local/ct-ng/lib/crosstool-ng-1.23.0-rc2/scripts/build/libc/mingw.sh: line 212: [: =: unary operator expected
2017-04-06 20:14:36 -07:00
Tamir Duberstein
89468256ec
MinGW: add --enable-secure-api config option
Without this flag, MinGW does not expose secure variants of functions
such as strcpy_s.

See https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-headers/crt/sec_api/string_s.h#l11.
2017-04-06 21:23:49 -04:00
Alexey Neyman
9a9b02acef Pass HOSTCC to uclibc's make
Else it looks for 'gcc'.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-02 13:25:41 -07:00
Alexey Neyman
7111f95dc3 MinGW-W64 fixes
- libpthread requires iteration over multilibs, unlike the core, it
does not detect and build multilibs by itself.

- Disable parallel builds for mingw-w64 components; until mingw-w64 core
builds clean, I am not trusting it.

- Make the list of tools to build configurable

- Turn on multilib in x86_64 sample.

- Make warnings about tuple less redundant. As in, "one WARN is enough,
no need to shout it three times".

- Messages about various steps/substeps are more aligned with the rest
of the components.

- Use 'make' instead of ${make} to invoke the companion make just built,
if applicable.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-30 19:11:33 -07:00
Alexey Neyman
b090e0f74d Fix up ld.so symlinks for musl
Convert absolute targets to relative so that they are valid on the host,
too. The procedure is very similar to uclibc, so it is moved into a
common function.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-12 19:41:09 -07:00
Alexey Neyman
8600f3ce56 Move tools alias creation to a common function
... and in addition to final toolchain aliasing, use it when configuring
multilibs for glibc/musl. Note that uClibc does not need it, it is
explicitly selecting the tools using CROSS_PREFIX.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-12 16:56:19 -07:00
Alexey Neyman
bfcc1e112a Merge pull request #635 from stilor/macos-skip-locales
Skip locales on macos
2017-03-07 08:51:43 -08:00
Alexey Neyman
ea7f559ef4 Merge pull request #627 from dankm/freebsd
FreeBSD build support
2017-03-07 08:50:43 -08:00
Alexey Neyman
3e94b4f680 Skip building locales on macos, too
--enable-hacker-mode is not sufficient, in 2.25 configure then
fails while checking for sysdeps fragments that apply to a given
configuration, and with that worked around, fails on binutils &
compiler version check.

In brief: if someone wants locales on cygwin/macos, you'd have to
implement cross-localedef (similar to cross-rpcgen) in glibc and
submit it upstream.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-06 23:12:16 -08:00
Alexey Neyman
865a095d70 Do not pretend we're downloading anything
... when we're actually don't.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-03 16:45:05 -08:00
Dan McGregor
c88621f740 glibc: hide native c++ executable from build
If glibc's configure finds the host c++ executable it assumes that
c++ should be enabled for the build. In case we don't have cross g++
built yet (ie, for headers), this causes the build to fail creating
C++ headers. So hide C++ from the build.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2017-03-01 22:23:39 -06:00
Dan McGregor
f2f782dd1c Bring in FreeBSD support
Check for FreeBSD specific issues, it is mostly the same as Darwin.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2017-03-01 22:22:02 -06:00
Alexey Neyman
864d1358e0 Merge pull request #625 from stilor/skip-localedef
Skip localedef
2017-02-28 21:52:06 -08:00
Alexey Neyman
e7163a46c4 Skip locale build on Cygwin
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-28 20:35:14 -08:00
Alexey Neyman
b04d2e84a8 Avoid -T, it is not available on macos
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-28 18:40:51 -08:00
Alexey Neyman
59bab98b2d Revert "Determine whether -E/-r option selects extended regexp"
This reverts commit 7bcf18bfab.
2017-02-26 19:06:35 -08:00
Alexey Neyman
7bcf18bfab Determine whether -E/-r option selects extended regexp
... and then use the right option. See the note in scripts/functions
on where we should use ${foo} and where just 'foo'; this boils down to
whether we can expect the build tools override to be in effect (e.g. in
the actual build scripts) or not (i.e. outside of scripts/build).
While running in scripts/functions, or in scripts/crosstool-NG.sh the
build tools override directory (.build/tools/bin) may have not been
set up (yet, or at all).

Also, modify the installed scripts (populate, xldd) accordingly.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-13 22:47:40 -08:00
Alexey Neyman
5e0b489b12 External addons supported by glibc even now
... though none are provided by default.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-09 18:05:36 -08:00
Alexey Neyman
f6ef2be9f3 Revert "glibc: Remove support for downloading and extracting add-ons"
This reverts commit 39273e0843.
2017-02-09 18:05:36 -08:00
Alexey Neyman
df68f203b4 Use 'make olddefconfig' in uClibc/uClibc-ng configuration
instead of 'make oldconfig' and responding 'y'. This avoids 'Broken pipe'
errors in the log, as well as selects default setting for all options not
explicitly set.

This requires a small fix in the old uClibc. Won't have to maintain that fix
for long though :)

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-04 21:16:10 -08:00
Alexey Neyman
6c9e949ae3 Fix location where libc manual is built
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-30 12:11:37 -08:00
Alexey Neyman
d7b043e360 Create <sgidefs.h> if MUSL doesn't create one
Document the status quo and work around for mips-musl.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-26 13:50:18 -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
65e037b654 Merge pull request #552 from stilor/uclibc-ng-for-buildroot
Restore uClibc-ng usability in buildroot
2017-01-23 16:12:18 -08:00
Alexey Neyman
aa24e9d913 Add selection for RPC
So that uClibc config can be matched to Buildroot's expectations via
the menu, without the need for a saved config.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-23 14:37:18 -08:00
Li-Hang Lin
1f6c6d3f32 mingw: compile the mingw-w64 companion tools as well
There are some useful tools such as widl, gendef, genidl ... etc.
provided by mingw-w64 and do not waste the developers' works.

Signed-off-by: Li-Hang Lin <lihang.lin@gmail.com>
2017-01-22 18:09:49 +08:00
Alexey Neyman
c1612e9295 Use ${CT_CC} instead of gcc ...
... when refering to target's compiler.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13 21:47:07 -08:00
Alexey Neyman
949cc86ab7 Merge pull request #526 from stilor/double-include
Avoid creating include/include
2017-01-13 21:44:33 -08:00
Alexey Neyman
9f5a92a783 Unify fetching Linaro components.
Add CT_GetLinaro, use it from gcc/binutils/gdb/glibc/newlib.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:41 -08:00
Alexey Neyman
fddbf8f99e AVR32 support has been retired.
Scripts no longer download avr-headers.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:20 -08:00
Alexey Neyman
01a4bed794 install_root has no effect on newlib install.
And never had, at least since newlib 1.17 (first version added to
crosstool-ng). Apparently, copy-pasted from glibc.sh.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:20 -08:00
Alexey Neyman
ec9ddee933 Remove 2nd copy of the option.
Added above, as part of the list.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:20 -08:00
Alexey Neyman
eff79ab714 Merge pull request #519 from InfernoEmbedded/newlib-enhancements
Newlib enhancements
2017-01-10 18:17:21 -08:00
Alexey Neyman
25bc99f4d0 Darwin needs -liconv when building glibc.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:39:37 -08:00
Alexey Neyman
c1b7324fc3 Avoid trampling user's LDFLAGS_FOR_HOST...
... by passing BUILD_LDFLAGS twice (the 2nd argument overrides the first).
Also, no need to pass -I/-L for BUILD_CFLAGS/LDFLAGS, they are already included
by crosstool-NG.sh (but keep for BUILD_CPPFLAGS, as we set it up here).
Remove -Wl,-Bstatic/-Wl,-Bdynamic (we only build static complibs).

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:39:37 -08:00
Alastair D'Silva
14896a2600 Support building Newlib with Link Time Optimisation
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-10 10:51:32 +11:00
Alastair D'Silva
2ac39621bc Add more newlib options 2017-01-10 09:47:35 +11: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
Dmitry Pankratov
0d17d26005 Merge remote-tracking branch 'upstream/master' 2016-11-11 21:03:11 +01:00
Bryan Hundven
dc280e477d Merge branch 'master' into janitorial 2016-10-24 10:07:16 -07:00
Alexey Neyman
8121be5b21 Fix m68k with uClibc-ng >= 1.0.15.
1.0.15 only kept a single LINUXTHREADS option, and renamed it, making it
no longer option-compatible with uClibc.

The option for "1.0.14 or later" version of uClibc-ng is not currently
used; rename it to "1.0.15 or later" and use it to handle newer
uClibc-ng's linuxthreads.

m68k happens to be the only sample using linuxthreads.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-10-04 17:47:15 -07:00
Dmitry Pankratov
34ca68e3b0 Merge branch 'master' of https://github.com/crosstool-ng/crosstool-ng 2016-10-01 22:43:56 +02:00
Kirill K. Smirnov
d84501b980 build/glibc: Improve confusing comment
Up until cset 4e2227e8a5 there was an 'if'
statement with a comment. The abovementioned changeset removed the
conditional statement but the comment survived.

Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2016-09-15 01:31:45 +03:00
Kirill K. Smirnov
41cd6542a7 uClibc: propagate SHARED_LIBS option.
This patch synchronizes crosstool CT_SHARED_LIBS and uclibc
HAVE_SHARED options.

Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2016-08-30 01:54:08 +03:00
Kirill K. Smirnov
7120d81f48 uClibc: install native utils
This change adds native ldd and ldconfig utils to sysroot.
For glibc just 'make install' installs everything including utils.
For uclibc there exists a separate goal 'install_utils'. Make it.

Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2016-08-30 01:54:08 +03:00
Alexey Neyman
d2af095eb2 musl: Add multilib support.
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Alexey Neyman
49d1d8f513 uClibc: move ldso check to post_cc.
It turns out that core GCC on binfmt architectures (m68k, for example)
cannot produce the final executable (looks for ld.real in the wrong
place). Need to wait for the final gcc to become available.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00
Alexey Neyman
98e556d386 Support multilib in sh/uClibc.
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23 11:00:27 -07:00