Commit Graph

248 Commits

Author SHA1 Message Date
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 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 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
christos a1d4324dc0 fix the variable name for then non-gmake case. 2018-04-15 15:13:37 +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
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
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 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
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
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
maya c3094abd94 GC more gcc 4.8 specific (dead) logic 2017-02-22 12:34:49 +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
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
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
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
martin c9d7952e8d Add missing closing ) and line continuation for mknative 2016-02-15 13:25:12 +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 d14bf0b7ec bump for printf/syslog format changres 2015-10-16 00:41:07 +00:00
mrg ffaa4bd44e kill the -fPIC that m68000 ends up with, fixing it in the specs
is not trivial..
2015-01-31 08:50:01 +00:00
mrg 5c6c8063ac canonicalise the src dir to /usr/src, so it doesn't matter
where we run mknative.
2015-01-30 12:23:47 +00:00
christos ee9a7d9469 we have lto... 2015-01-16 20:10:26 +00:00
skrll b4b886e5d8 Fix gcc PR target/64479 [SH] wrong optimization delayed-branch 2015-01-15 08:42:14 +00:00
mrg e4e7131a68 use --disable-shared on m68000 for mknative. 2014-11-22 19:41:27 +00:00
skrll d5fd623ace Note new date for version - this is the import date. 2014-10-20 08:37:30 +00:00
mrg c1ff61510d add --enable-libstdcxx-time=rt for the GCC 4.8 build. 2014-10-10 20:23:22 +00:00
matt e1c4f892b5 or1k does not support --with-float 2014-09-03 19:25:29 +00:00
mrg ac641cb906 remove remaining makefile support for GCC < 45 that i found. 2014-06-14 20:49:36 +00:00
skrll bca753667d Don't grab libstdc++-v3/config.h it's not used. 2014-05-29 16:27:50 +00:00
mrg 955b6c1f27 commonize the netbsd local version string. (the native one wasn't
updated, and now that won't be a problem again.)
2014-05-29 07:40:37 +00:00
mrg f6968e3347 two fixes skrll@ pointed out:
- pass --enable-libstdcxx-threads to enable a bunch of tests and thus
  get the right answers
- MKNATIVE_CONFIG_TARGET_LIBS needs to do libgcc before libstdc++-v3,
  for the GCC 4.8 case.

with these we now get the right threading options in the headers.
2014-05-28 07:32:22 +00:00
skrll e0000582f3 Update with-pkgversion date for gcc 4.8.3 import. 2014-05-27 09:19:30 +00:00
joerg 61731496eb Retire USE_COMPILERCRTSTUFF=yes. 2014-04-22 13:20:58 +00:00
mrg 4e43797c9f don't collect gthr-default.h anymore. 2014-03-02 04:58:20 +00:00
mrg 4501ec6885 don't collect c++allocator.h. we copy it via G_ALLOCATOR_H we've
already pulled out, and the extra copy can confuse make when it
has an older timestamp than the copy in dist/libstdc++-v3/.
2014-03-02 03:17:14 +00:00
mrg b53d27fc90 define GCCDIST properly for GCC 4.1, and since it is now the same
as GCCSRCDIR remove the latter.
2014-02-27 20:15:53 +00:00
mrg afa90f2bf5 prepare for moving GCC 4.5 into gcc.old:
- convert to using ${EXTERNAL_GCC_SUBDIR}
- define base-external-gpl3-gcc* subdir as GCC_SUBDIR
- use <bsd.init.mk> over <bsd.own.mk> for a bunch of places; mostly
  because it arranges for ../Makefile.inc to be included earlier, and
  don't bother including the latter if the former is already included.
- move all .PATH: settings after <bsd.{own,lib}.mk> so that all
  valid variables are set before it is evaluated
- rename mknative-gcc* to match their subdir name.

XXX the relationship between the Makefile.inc/Makefile.gcc_path files
    is kind of sketchy, it would be great if this was fixed.
2014-02-26 09:54:32 +00:00
christos eff9fc76a8 put back some cppflags we lost. 2014-02-18 01:34:18 +00:00
christos 8140d3b7fb Merge gcc-4.8 mknative bits. 2014-02-17 21:39:43 +00:00
skrll 9897c7a624 The mpfr sources moved down into a src directory - deal with this in
mknative.
2014-02-16 11:26:31 +00:00
mrg 75219f3a01 update to MPC 1.0.1. 2013-11-28 12:08:56 +00:00
skrll 28fd2e75c0 Improve wording and remove typos 2013-10-21 09:02:08 +00:00
skrll c31e8e667f Move the GNUHOSTDIST assignment back to the top of the Makefile. 2013-10-21 08:59:29 +00:00
skrll 2143de4353 Group the mknative stuff together - no functional change 2013-10-20 17:12:23 +00:00
skrll 739e5cb01a g/c VAX_CONFIGURE_ARGS 2013-10-20 17:10:15 +00:00
skrll e0d4b1e3bf Make sure gmake is quiet when grabbing variables. 2013-10-20 16:00:20 +00:00
skrll 02cb02f748 Deleted 1 line too many in previous commit. 2013-10-20 14:55:28 +00:00
skrll cc4d923295 g/c gcc3 goop 2013-10-20 14:14:18 +00:00
matt 86b93a01b2 m68k doesn't support with-float=soft 2013-07-18 22:00:48 +00:00
mrg 9b70ac591a pass both NEWCONFIGDIR and NETBSDSRCDIR to mknative-gcc. 2013-06-28 08:30:10 +00:00
mrg bbbc9a7e3c use NETBSDSRCDIR to find mpc/mpfr/gmp, not NEWCONFIGDIR, the
latter which is for finding a r/w directory to write to if
we're running from a read-only tree.
2013-06-27 02:38:39 +00:00
skrll e960d69d35 Create a sanitise_includes function and use it everywhere it's needed. 2013-05-05 07:11:34 +00:00
skrll e75ab118f0 Avoid populating mknative output with gmp,mpfr, and mpc source
directories
2013-04-25 16:18:43 +00:00
skrll 3aad465ab1 Use --with-{mpc,mpfr,gmp}-{lib,include} to avoid the LIBISPRIVATE=no
dance in mknative and avoid poluting the DESTDIR.

Update the README to reflect this.
2013-04-18 05:20:00 +00:00
martin db54b43cab Note MKRUMP=no and the need to specify HAVE_GCC= explicitly when using
MKGCC=no. Also point at but number 47353.
2012-12-26 19:11:27 +00:00
skrll 18ea2c9f55 More tweaks 2012-09-27 11:29:49 +00:00
skrll 35ceab06ed No need to do "obj includes" twice. 2012-09-25 11:12:16 +00:00
skrll 40ecf146db More tweaks. I didn't manage to complete a mknative from scratch run, but
this is a step in the right direction.
2012-09-25 06:55:10 +00:00
skrll 9378dd0cd5 Update for gcc 4.5.4 2012-09-18 07:05:15 +00:00
skrll f26f274521 Attempt to describe the gcc 4.5 method (untested) 2012-09-16 15:09:55 +00:00
skrll c3746f757b Grab CRTSTUFF_T_CFLAGS_S.
Gentlement start your mknative runs.
2012-08-11 16:05:01 +00:00
joerg 55a1bc2fcb Always use system zlib. Avoids the need for 32bit build environment when
bootstrapping on some Linux distros. We require zlib to be present anyway.
2012-05-31 21:02:02 +00:00
skrll 3e6a962380 Fix bootstrap-libgcc for gcc 4.5 2012-01-10 12:27:54 +00:00
skrll 4684600473 Fix (harmless?) HAVE_GCC comparison version. 2012-01-10 12:26:45 +00:00
joerg 3a9ee24e6b Explicitly request TLS support for mknative. 2011-12-12 18:59:06 +00:00
skrll a273c995fc Pull across the fix for target/50691
ok'ed by mrg@
2011-12-02 09:44:48 +00:00
matt e1da7aef13 Fix PPC _SOFT_FLOAT 2011-10-13 19:52:33 +00:00
christos be84a9917e remove pre-gcc-4.5 mknative remnants that have long ceased to function. 2011-09-26 21:16:14 +00:00
mrg 68568a44b1 since omp.h is part of libgomp, put it in the libgomp files not the
libstdc++ files.
2011-09-23 06:43:46 +00:00
mrg dc04629559 add libgomp support. needed by "cc -fopenmp", that koffice 2.3 wants to use. 2011-09-21 02:15:18 +00:00
matt cc8037f3d1 Add an inline ex script to modify configargs.h for powerpc to auto-enable
-msoft-float.
2011-08-17 18:34:13 +00:00
mrg fd2a48532a force HAVE_AS_SPARC_GOTDATA_OP to false, since those relocs seem
busted with our binutils.  now sparc64 seems to work fine.
2011-07-10 15:28:26 +00:00
mrg b2ad2936ae fix the previous 2011-07-03 12:26:02 +00:00
mrg 1f61213386 -I$DESTDIR/usr/include is escaping into the generated files from
the native-gcc run.  add some sed commands to remove them.
2011-07-03 12:11:32 +00:00
mrg d2d81d57a9 copy sysroot-suffix.h as well, for sh3. 2011-07-03 06:47:12 +00:00
mrg b9c57fbd15 also pull out LIB2ADD_ST for libgcc. 2011-07-02 13:25:05 +00:00
mrg 0debd27c81 avoid creating an unused directory. 2011-07-01 02:11:14 +00:00
mrg a8847d182c - call each ${MKNATIVE_CONFIG_TARGET_LIBS} target separately
- comment out maybe-all-target-libgcc
- cope with the special transformation needed for gtyp-input.list
2011-07-01 01:27:17 +00:00
mrg 425b4dd861 fix previous; they belong in _headers1 2011-06-30 07:16:59 +00:00
mrg 2703d75c7b - repurpose MKNATIVE_CONFIG_TARGET_LIBS to list all the targets
- disable building pch for the mknative run
2011-06-30 07:02:17 +00:00
mrg 089e26552b also pull tr1_impl_headers parallel_headers and decimal_headers for libstdc++ 2011-06-30 07:01:14 +00:00