Commit Graph

1361 Commits

Author SHA1 Message Date
maya 2f4a4de5b9 Pass --without-isl to GCC.
We don't provide one, but if we did the build would fail. This can also
happen if there's a system isl that GCC manages to find.

From mgorny.
2018-10-19 16:16:21 +00:00
martin bbde9f9ded Add FLEX to the configure env, from Lloyd Parkes on tech-toolchain.
Some configure scripts seem to need both LEX and FLEX.
2018-10-14 10:23:32 +00:00
maya 89195d5850 force disable seccomp, in case it gets detected.
the configuration in this version of file is non-functional and results
in build failure if detected. The next version should be fine, but let's
ensure nobody runs into this build failure until it's imported.

reported by e3ef13f4ff44 on freenode.
2018-09-28 14:45:16 +00:00
riz 4bb1d11517 Add CPPFLAGS+= -std=c99 so tools can build on systems where the
system compiler doesn't default to C99 (eg, NetBSD 6.1).
2018-09-25 17:57:33 +00:00
joerg e8a46266c8 Don't include NLS for the tools build of xz. 2018-09-25 11:41:35 +00:00
joerg 5ce009f19c Add missing Makefile.inc for xz tools. 2018-09-25 08:54:58 +00:00
joerg d548dd2316 Update build glue for xz-5.2.4. Hook up tools version. 2018-09-25 05:42:08 +00:00
palle 1e0d01e5bc Add instructions for building NetBSD on modern Solaris 11 hosts 2018-09-09 19:17:21 +00:00
mrg ca7bf670d9 remove GCC 5 marker. this is now nb3 20180905. 2018-09-05 05:03:28 +00:00
mrg 958a20d339 copy across GCC 6.4 mknative-gcc into mknative-gcc.old. 2018-09-05 01:20:20 +00:00
mrg d352ad7b99 also pullout INTERNAL_CFLAGS for the libgcc build, where it may have
-DHAVE_CC_TLS defined on the command line.  (we already collect all
the other components.)
2018-09-04 22:57:25 +00:00
mrg e78a8a2b72 in configargs.h, as well as normalising to /usr/src, normalise the
--build to the same as the --host, so that it never changes based
upon the host you ran mknative on.  (some recent changes are only
because i updated a system from netbsd-7 to netbsd-8.  this will
avoid that in the future.)
2018-09-04 06:40:37 +00:00
christos 14cc014e8a deal with getsubopt and strncasecmp (needed by mdocml) 2018-08-30 12:05:34 +00:00
christos 944c86d92b PR/53544: Add a dependency on the Makefile to fix incremental builds. 2018-08-23 06:21:37 +00:00
christos f3451e1460 make sure that nbtools_compat.h is the first thing included for generated files 2018-08-20 10:27:32 +00:00
christos b9f6c86d43 add strncasecmp 2018-08-16 12:03:36 +00:00
christos fd7f76973a Expose re{c,}allocarray decls in current. 2018-08-15 14:31:22 +00:00
christos 05d8d1c80f Add WITHOUT_GZIP 2018-08-12 09:03:42 +00:00
christos 711626f8b9 add WITHOUT_BZ2 2018-08-12 07:53:38 +00:00
christos 6938dd0f89 hook in the tools version of grep 2018-08-11 19:46:03 +00:00
christos 0ffb3ff427 Add strcasecmp 2018-08-11 16:24:59 +00:00
joerg bdc22b2e01 Update LLVM/Clang build system to r337282. 2018-07-17 18:55:24 +00:00
maya c44313b349 Revert my previous config test inclusion for u_longlong_t.
Fixing this differently by avoiding the need for the definition.
It also caused a problem in OS X, as I neglected to include a correct header
2018-06-13 04:17:43 +00:00
christos 4fabbeb31b Move the typedefs before the header inclusions (except <features.h>) and
explain why.
2018-06-12 23:52:56 +00:00
maya a3ebee93c8 Add configure check and fallback definition for u_longlong_t
Should help linux tools compilation of dtrace tools, and not
affect NetBSD.

From Chuck Zmudzinski in current-users, with light modification
by myself.
2018-06-11 18:48:24 +00:00
christos 3732eb3530 remove trailing newline 2018-05-19 17:48:51 +00:00
joerg f0360e1d3e For EXTERNAL_TOOLCHAIN, MKLLVM=yes needs to build only tablegen. 2018-05-09 13:21:27 +00:00
christos 89df939d83 revert previous, breaks llvm build and not easy to fix. 2018-05-04 14:50:18 +00:00
christos 2acd48c6ea need bsd.hostinit.mk before bsd.endian.mk 2018-05-03 01:09:04 +00:00
christos bf7113376a Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
2018-05-01 19:59:42 +00:00
christos c0d10d8e3a Centralize NOMAN handling. 2018-05-01 12:38:39 +00:00
christos b2a8932dbe PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might
not support the necessary options. This is done thusly:

1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that
   use it and don't include bsd.own.mk.
2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that
   include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc
   first. This will also allow us to control other tools options from a
   single location if we need to.

XXX: pullup-8
2018-05-01 00:04:34 +00:00
maya 43018fddb4 Remove hack previously needed to build gcc/arm with clang.
genattrtab.c:1.2 makes this unnecessary.

Tested by thorpej.
2018-04-17 10:08:54 +00:00
christos 622f49cc74 Use the __clang__ preprocessor symbol to check for clang, since --version
might barf. From joerg@
2018-04-17 02:03:56 +00:00
christos 1c811476c7 do the bracket nesting only for clang for now. 2018-04-15 21:50:38 +00:00
christos a1d4324dc0 fix the variable name for then non-gmake case. 2018-04-15 15:13:37 +00:00
snj 6e9004b7ce GCC build exceeds the macOS clang default bracket nesting level of 256.
Work around with -fbracket-depth=512.

From potr in PR toolchain/53178.
2018-04-13 06:15:26 +00:00
ryo fe33aa2786 Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
2018-04-01 04:35:01 +00:00
mrg 3e838582ee bump the NetBSD GCC version. both GCC 5 and 6 got x86 spectre
mitigation code, and both are now "nb2 20180327".
2018-03-28 19:30:41 +00:00
christos e9e7b01807 undo previous; breaks the build. handle inside flex. 2018-03-11 18:32:43 +00:00
hans ccac921152 Fix build of tools/lex on platforms lacking sys/cdefs.h by including
nbtool_config.h in tools/compat/regex.h. Tested on illumos.
2018-03-11 10:14:04 +00:00
uwe 6be0d6d9a0 Fix .endif comment for TOOLS_BUILDRUMP 2018-02-18 01:06:24 +00:00
mrg af3901dedb also fetch GCOV_DUMP_OBJS. 2018-02-06 07:04:01 +00:00
mrg 1fcc5cabfc mark GCC 6.4 has nb1 20180203 2018-02-05 06:22:27 +00:00
mrg adfccf1e30 pullout port_specific_symbol_files from libstdc++. 2018-02-03 19:06:25 +00:00
mrg 6d188dd0d7 convert HAVE_GCC handling to modern GCC release numbering:
- HAVE_GCC=5 is now the default (vs. HAVE_GCC=53 we've been using for
  GCC 5.4 and GCC 5.5.)
- remove some more GCC 4.8 code.  we don't support GCC 4 here.
- adjust set lists to gcc=5 from gcc=53.

add some basic HAVE_GCC=6 handling (totally unused so far.)
2018-02-02 01:02:39 +00:00
skrll ac34435581 Remove port-acorn26
OK core@
2018-01-24 09:04:40 +00:00
uwe 4f2e9ed826 Do not use HOST_CFLAGS and others. build.sh calls configure with
CFLAGS set to HOST_CFLAGS, etc - so HOST_* environment variables are
already taken into account if set.

OTOH, if configure were to add anything to CFLAGS etc, the old code
would happily ignore those changes, picking up original environment
variables instead.
2018-01-16 08:53:51 +00:00
uwe 4b7a180ace Do not use HOST_CFLAGS to link the make binary. 2018-01-15 20:14:49 +00:00
uwe 4b89f891fb G/c unused runcmd. 2018-01-15 19:57:49 +00:00
uwe 06ddb7b0da Make sure nbmake is always built with the right _PATH_DEFSYSPATH. 2018-01-15 19:52:54 +00:00
christos 0e229e5357 Better EXTERNAL_TOOLCHAIN support from Zachary McGrew
- Allow mdsetimage and dbsym to be built with EXTERNAL_TOOLCHAIN
- Allow BFDDIR and IBERTYDIR to be overwritten for mdsetimage and dbsym
2017-12-27 21:34:11 +00:00
sevan d866c85be9 regen 2017-12-09 04:23:22 +00:00
sevan bf692293ff Add asnprintf() to the AC_CHECK_DECLS list.
Resolves conflict when cross compiling on Cygwin the provided implementation
does not get picked up.

Closes PR toolchain/52797
2017-12-09 04:22:53 +00:00
christos 273109cafb we want no-iconv for the tools build, but we want iconv for mknative. 2017-11-29 04:24:35 +00:00
christos 3e9314d067 Changes for gdb-8.0.1 2017-11-29 03:33:01 +00:00
christos 3e65cf6f80 Be more selective about what to quote-quote: only paths and version numbers. 2017-11-29 03:32:28 +00:00
christos 6933911900 backslash me harder! 2017-11-29 03:06:46 +00:00
christos cb9e65d7bb since gmake does not have :Q handle it in sed... 2017-11-29 02:10:15 +00:00
christos c4e49a61b5 Adjust to gdb-8.0.1 which uses c++
XXX: quoting of variables that contain paths and versions is broken.
2017-11-28 22:25:16 +00:00
christos 7a367c106f use make -C path/to -f Makefile instead of make -f path/to/Makefile
so that includes with relative paths work.
2017-11-28 22:05:57 +00:00
mrg 3141ce7b36 update netbsd version. 2017-11-13 08:47:24 +00:00
christos 8018b9b342 use the variable for the source dir instead of duplicating it. 2017-10-04 21:42:20 +00:00
christos d8288c95fa - gcc.old == gcc-5.3, so copy mknative-gcc{,.old} and adjust
- disable dual libstdc++ abi per joerg
  (https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html)
  will require a major libstdc++ major bump.
2017-10-04 21:29:43 +00:00
joerg bf5991674e Be consistent with our header. 2017-10-03 10:28:30 +00:00
christos 2dfeb58bd4 fix fpurge declaration 2017-10-03 01:43:03 +00:00
christos d9a3cc43b7 Simplify. 2017-10-02 22:32:04 +00:00
christos cd84452b4c regen 2017-10-02 22:21:31 +00:00
christos 692f2d0a6f handle __fpurge being declared in <stdio_ext.h> 2017-10-02 22:19:45 +00:00
joerg f6f53c2528 Honor HOST_CC. 2017-09-07 18:57:47 +00:00
mrg 26c43e3543 move the GMP_MACHINE_ARCH definition into external/lgpl3/gmp/Makefile.arch.
soon to be GMP 6 allows us to have only two arm copies.
2017-08-22 09:17:50 +00:00
joerg 7c192b2a5e Update LLVM build glue for 5.0RC1. 2017-08-01 20:07:37 +00:00
jmcneill 055f044508 --disable-nls does not work in gdb subdir, so add am_cv_func_iconv=no to
configure env. Fixes build on FreeBSD.
2017-07-01 12:23:09 +00:00
skrll 48a2d8bd72 Update for new libfdt location 2017-06-08 17:16:44 +00:00
skrll be32318492 New libfdt location 2017-06-08 17:09:29 +00:00
skrll ee83b6cae4 Hook in dtc/libfdt now that it builds for me 2017-06-07 10:38:33 +00:00
skrll e846b19637 Disable dtc/libfdt for now 2017-06-06 08:21:53 +00:00
skrll 03dcb730d4 Add libfdt 2017-06-06 07:45:39 +00:00
christos 85cf7cedea No need to set dtc twice. 2017-06-05 23:55:43 +00:00
christos 484e2f7c2e Add dtc 2017-06-05 23:24:29 +00:00
christos 74d52999c0 tools build glue. 2017-06-05 22:44:40 +00:00
riastradh ef315f7931 Remove MKCRYPTO option.
Originally, MKCRYPTO was introduced because the United States
classified cryptography as a munition and restricted its export.  The
export controls were substantially relaxed fifteen years ago, and are
essentially irrelevant for software with published source code.

In the intervening time, nobody bothered to remove the option after
its motivation -- the US export restriction -- was eliminated.  I'm
not aware of any other operating system that has a similar option; I
expect it is mainly out of apathy for churn that we still have it.
Today, cryptography is an essential part of modern computing -- you
can't use the internet responsibly without cryptography.

The position of the TNF board of directors is that TNF makes no
representation that MKCRYPTO=no satisfies any country's cryptography
regulations.

My personal position is that the availability of cryptography is a
basic human right; that any local laws restricting it to a privileged
few are fundamentally immoral; and that it is wrong for developers to
spend effort crippling cryptography to work around such laws.

As proposed on tech-crypto, tech-security, and tech-userlevel to no
objections:

https://mail-index.netbsd.org/tech-crypto/2017/05/06/msg000719.html
https://mail-index.netbsd.org/tech-security/2017/05/06/msg000928.html
https://mail-index.netbsd.org/tech-userlevel/2017/05/06/msg010547.html

P.S.  Reviewing all the uses of MKCRYPTO in src revealed a lot of
*bad* crypto that was conditional on it, e.g. DES in telnet...  That
should probably be removed too, but on the grounds that it is bad,
not on the grounds that it is (nominally) crypto.
2017-05-21 15:28:36 +00:00
chs 7e30e94394 provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
2017-03-22 23:11:07 +00:00
christos 3e2605f3b9 refresh 2017-02-24 03:44:54 +00:00
maya c3094abd94 GC more gcc 4.8 specific (dead) logic 2017-02-22 12:34:49 +00:00
jakllsch 55e4d28c1e Fix host tools build for asn1_compile, compile_et, and slc. 2017-01-30 02:38:50 +00:00
christos 05e8aa4695 don't try to build links when cleaning or making obj dirs 2017-01-29 22:16:51 +00:00
christos 4f6547fec0 make a symlink to krb5 for the tools build. 2017-01-29 19:23:52 +00:00
joerg 501cd18a74 Sync tools build glue with LLVM pre-4.0.0. 2017-01-11 12:08:34 +00:00
christos b8eef4082a regen 2017-01-07 21:31:07 +00:00
christos 4c2e361d5c strmode on MacOS/X is in string.h 2017-01-07 21:30:42 +00:00
christos 6b3772867a adjust for SSP (MacOS/X) 2017-01-07 21:29:30 +00:00
christos cf6cbc80c5 need ctype.h 2017-01-07 02:55:19 +00:00
christos 621e8732cd Check for declarations, not the existance of functions since some are
visible only when _NETBSD_SOURCE is defined. This avoids || defined(__NetBSD__)
hacks.
2017-01-07 02:52:04 +00:00
christos 81c11d5f0f handle the case where we don't have the files built yet 2017-01-06 20:27:19 +00:00
christos 792fa3b107 don't run grep if we don't have the Makefile, like when we are building
objdirs
2017-01-06 17:22:51 +00:00
christos 0a3c283ede regen 2016-10-19 21:55:26 +00:00
christos 883488e64e try to fix missing decls 2016-10-19 21:54:20 +00:00
mrg 4141e03cf9 pass GDB_MACHINE_ARCH to mknative-gdb and use that as the subdir.
obtain GDB_MACHINE_ARCH from the new gdb Makefile.gdb_arch.
2016-10-16 04:37:42 +00:00
christos 17fc55e9e9 Fix the host build of aarch64 with clang 2016-10-14 14:41:59 +00:00
christos 60788873f5 Define __STDC_{LIMIT,CONSTANT,FORMAT}_MACROS in CXXFLAGS.
The problem is that the gnulib interception of <stdint.h> and <inttypes.h>
does not really work because we implement those internally with
<sys/inttypes.h> and <sys/stdint.h> and those internal headers are used
by other internal headers *before* they get a chance to be intercepted
(where the __STDC_ macros are defined).

Another way to fix this is to move the inclusion of the other headers
in <stdint.h> and <inttypes.h> outside multiple inclusion protection.
2016-10-12 18:43:40 +00:00
mrg 203d3087cb pass -L in LDFLAGS. clang complains about it to stderr, and configure
checks for headers fail if there are unexpected stderr.
2016-10-11 03:57:00 +00:00
christos 9d29ca0833 revert our changes; softfloat removal is now done in libgcc/config.host 2016-10-05 19:25:49 +00:00
christos ca4d0436a9 We provide our own soft-float implementation in libc, so elide the libgcc
sources for it.
2016-10-05 14:16:12 +00:00
christos c232bb11c5 Add exec_ecoff.h 2016-09-14 00:41:04 +00:00
christos e0f345fa97 use the nbcompat copies for those files 2016-09-03 11:34:05 +00:00
mrg 7e5bd89da2 set gcc 5.4 netbsd version to 2016-06-06 2016-06-07 08:12:13 +00:00
mrg 814d336214 set _OUTDIR and _OUTDIRBASE properly for gcc.old, and fix a sed. 2016-04-21 07:22:15 +00:00
riastradh e1fdad5e8b Disable stripping pcc tool.
We don't have a tool that strips tools -- we have only a tool that
strips target programs.  $TOOLDIR/bin/$PLATFORM-install supports -s
by invoking the target-stripping tool, which chokes if you try to use
it to strip tools on a sufficiently different cross build.  So let's
just not strip the pcc tool -- it's tiny enough that I'm not worried
about its unstripped size!
2016-03-30 23:36:45 +00:00
mrg c6df9b1e81 use --with-diagnostics-color=auto-if-env as the default for GCC 5. 2016-03-26 09:02:56 +00:00
mrg 1e7ce98d0d set NETBSD_GCC_VERSION for GCC 5.3 separately.
don't collect crtstuff anymore.
2016-03-17 23:41:21 +00:00
christos 816f40abde Add DPADD's 2016-03-17 18:43:29 +00:00
mrg 6550c74580 grab insn-modes.h, and do the libgcc bootstrap from gcc as well. 2016-03-16 11:16:05 +00:00
mrg a37431532b unwind.h has a new problem, and fix the grabbing of x86 specific files. 2016-03-16 05:47:43 +00:00
mrg df62ea31af - pull i386-builtin-types.inc automatically on x86
- reenable cxx rt support
- don't grab insn-modes.h, we build it
- rename the c98 and c11 subdir codecvt.cc files while extracting
  them with mknative
- grab GGC_H as well, and use it in dependency lists
2016-03-15 21:38:32 +00:00
mrg e008877335 update for GCC 5.3 libgcov and libstdc++ 2016-03-15 06:10:13 +00:00
mrg 334c303b3a very first baby steps towards GCC 5.3 mknative. 2016-03-15 03:22:06 +00:00
mrg 8872ffd0f4 remove some more GCC 4.5 code. make GCC 5.3 be HAVE_GCC=53, so that,
for example, HAVE_GCC >= 48 works properly.
2016-03-13 01:06:51 +00:00
aymeric a3838ae30d add our libc's regex implementation to libnbcompat.
This way, nbsed picks it up and it unbreaks the build of xf86-video-intel-old's
man page under Linux and probably other future changes which rightfully expect
the (net)bsd behaviour.

Full release tested on ArchLinux and NetBSD 7.0_STABLE
2016-03-06 10:19:01 +00:00
martin 7493d9dc28 Remove regexp.h here temporarily 2016-03-01 10:11:07 +00:00
martin 7263822890 Revert to rev 1.77 for now on Aymeric's request 2016-03-01 10:09:00 +00:00
aymeric 978d3464f5 remove regsub.c from the list of files to build because it unbreaks the build
and this API is not yet endorsed. OK christos@
2016-03-01 06:48:55 +00:00
aymeric 90b3c9835b add our libc's regex implementation to libnbcompat.
This way, nbsed picks it up and it unbreaks the build of xf86-video-intel-old's
man page under Linux and probably other future changes which rightfully expect
the (net)bsd behaviour.
2016-02-29 22:19:29 +00:00
skrll a8be279001 Sort using mkheaderlist.sh:1.3 2016-02-23 11:43:57 +00:00
skrll 09049b2f7c Sort the output 2016-02-23 11:43:04 +00:00
martin c9d7952e8d Add missing closing ) and line continuation for mknative 2016-02-15 13:25:12 +00:00
christos 363ff477c7 silent when we don't have -ldl 2016-02-01 14:18:16 +00:00
christos ff7061cdde kill error message 2016-02-01 14:17:21 +00:00
christos ef6d39d2aa Figure out if we need libdl. 2016-02-01 13:48:01 +00:00
christos 9c8e579af7 Add -ldl if it is needed 2016-02-01 13:44:52 +00:00
christos 8523d51853 clean Makefile.local 2016-01-27 21:24:59 +00:00
christos 3c3d44a7db use HOST_CFLAGS for -pthread 2016-01-27 21:18:28 +00:00
christos e93985e2d5 use -pthread for more portability 2016-01-27 18:43:44 +00:00
christos 7f2bcc7a02 use EXTERNAL_GDB_SUBDIR 2016-01-26 17:48:31 +00:00
christos 22253bc332 use EXTERNAL_BINUTILS_SUBDIR 2016-01-26 17:47:35 +00:00
christos a5b18563d7 move cvslatest last 2016-01-24 22:49:08 +00:00
christos b342d8bcb3 Tool version 2016-01-24 20:14:17 +00:00
mrg e369ed1ed0 prepare for GCC 5:
- remove GCC 4.5 stuff, add most very basic GCC 5 stuff.
- use mknative-gcc.old for GCC 4.8
- copy mknative-gcc to mknative-gcc.old (should have done this when we
  switched to using gcc.old.)

this should not affect current builds.
2016-01-24 05:10:26 +00:00
mrg bb92a8ab71 add a comment saying this is for GCC 4.8 2016-01-24 05:02:23 +00:00
christos 73f09d245f Regen with autoconf 2.69. 2016-01-20 19:35:32 +00:00
christos ee45ee4be7 look in gpl3 for stuff too (autoconf) 2016-01-16 18:38:53 +00:00
christos c57a971ad4 grr another copy of the path I missed; factor out to a variable. 2016-01-14 01:13:26 +00:00
christos 8c986671c8 look in external first. 2016-01-13 23:01:15 +00:00
christos d1c4f2bedd groff has moved 2016-01-13 19:29:26 +00:00
christos 12a818e828 lex source moved. 2016-01-09 17:40:37 +00:00
christos 07a1a60ca9 Save a couple of dollars now that make is fixed. 2016-01-09 01:13:42 +00:00
christos eab6a8b567 libelf has moved. 2015-12-27 21:37:50 +00:00
christos 927b4a5792 move sortinfo after pax 2015-12-19 01:10:31 +00:00
christos 14e50442f2 Add sortinfo 2015-12-18 18:56:33 +00:00
christos d8b72b3b93 kill -x, files that don't exist anymore 2015-12-17 22:31:49 +00:00