Commit Graph

101 Commits

Author SHA1 Message Date
Marcel Moolenaar
08265f35e5 Remove installworld related settings that I had as a safety-net and
for development. :-/
1999-12-10 11:24:06 +00:00
Marcel Moolenaar
0ea234de3c More cross-building related changes:
o  Build tools before doing anything in or with the object tree.
o  Tools don't use the object tree any more, but have there object
   tree located in the temp. world.
o  Use the proper make env. for cleaning and building the object tree.
o  Don't create kernel include subdirectories in the temp. world. These
   are removed later on and replaced by symlinks.
o  Change the layout of the object tree:

The temp. world now is /usr/obj/${MACHINE_ARCH}${.CURDIR}/${BUILD_ARCH}.
/usr/obj can be set/changed by using MAKEOBJDIRPREFIX, and {.CURDIR}
obviously depends on where the source tree is located. MACHINE_ARCH
is the arch. for which the world is to be build and BUILD_ARCH is the
arch. on which we are building.

The object tree now is /usr/obj/${MACHINE_ARCH}${.CURDIR}.

This allows concurrent cross-builds and allows the object tree to be
shared on different archs., each doing the same cross-build. This of
course assumes that the output on Alpha (for example) is the same as
the output of an Alpha cross-build on i386 (for example).

The use of NOCLEAN is is still dangerous, but should be usable in many
more situations than before. It should now be possible to safely
restart an interrupted build with NOCLEAN without side-effects. Because
the tools don't share the object tree with the normal (cross-build), no
tools have to be rebuild.
1999-12-10 10:48:20 +00:00
Marcel Moolenaar
7466caf46a Don't make gdb, objc and f77 when building tools. 1999-12-09 16:40:27 +00:00
Marcel Moolenaar
aae5d68824 Make sure the links to the source tree end up in the source tree. 1999-12-09 13:36:16 +00:00
Marcel Moolenaar
db10927bf0 o Add usr/lib/compat/aout to the temp world. This is needed by release.
o If you can't beat them, join them: use symlinks to populate the obj
  tree. This avoids using mtree.
1999-12-09 10:45:09 +00:00
Marcel Moolenaar
894157f536 Restore the upgrade path from -stable to -current and prepare for
non-root cross-building.

o  Makefile.inc0 is not used anymore.
o  The legacy aout build has been removed.
o  Selectively build tools *before* building includes/libraries.
o  Avoid using mtree to populate the obj tree.
1999-12-08 13:45:11 +00:00
Julian Elischer
e13b3c7870 Place netgraph entry into alphabetical position
along with the misplaced entries that it was next to.
1999-11-25 20:05:07 +00:00
David E. O'Brien
30fdccdc20 Revert to rev 1.91. Revs 1.9{2,3} were causing problems for people with
pre-Aug 4.0-CURRENT worlds and those with pre-GCC 2.95.2 worlds.

The problem with pre-Aug worlds is the installed Byacc and Bison doesn't
have necessary changes to compile either GCC 2.95 or EGCS 1.1.x.

The problem with pre-GCC 2.95 worlds is libgcc is built with the wrong
compiler.  See rev 1.17 of src/gnu/lib/libgcc/Makefile (which used to live
in src/gnu/usr.bin/cc/libgcc) + commit messge for details of the requirements.
1999-11-24 06:04:11 +00:00
Marcel Moolenaar
6de9679e89 Fix some bugs and make some policy changes.
o  Send libmytinfo back to the afterlife. It was revived by mistake,
o  Make gnu/lib/libgcc before making lib/libpam. This dependency has
   been overlooked in constructing the list,
o  make depend before make all. It's by using make depend that the
   dependency was found in the first place and we need it to prevent
   cleaning everything up before we start,
o  Don't specify -DNOINFO -DNOMAN for the libraries target. Let the
   target handle it. We can do away with a single run over the libs
   if we make everything while we're there and only install the
   libraries in the object tree.
1999-11-23 18:52:12 +00:00
Marcel Moolenaar
be4512ece9 Build tools against the host's includes and libraries. Also, don't
build make(1) twice and merge the bootstrap-libraries and libraries
targets.

This change solves the bug where build-tools, compiled against the
includes and libraries built from the sources failed to run on the
host, as was the case with the sigset_t change. With this update, a
buildworld will fail if the tools won't compile on the host. This
is solved in further commits where backward compatibility of the
tools is enlarged.

The libraries target has been fixed. The libraries are now build in
the proper order, satisfying the dependencies. The comment is updated
to reflect this.

The linux module and netboot have been removed from the list of tools.
More to follow.

Reviewed by: bde, imp
1999-11-21 20:06:03 +00:00
Marcel Moolenaar
f5c0c6abaa Remove CROSS_MAKE_FLAGS. 1999-11-15 17:07:45 +00:00
Marcel Moolenaar
0917704bd4 ${MACHINE} -> ${MACHINE_ARCH}
All Makefiles now use MACHINE_ARCH for the target architecture.
Unification is required for cross-building.

Tags added to:
	sys/boot/Makefile
	sys/boot/arc/loader/Makefile
	sys/kern/Makefile
	usr.bin/cpp/Makefile
	usr.bin/gcore/Makefile
	usr.bin/truss/Makefile

usr.bin/gcore/Makefile:
	fixed typo: MACHINDE -> MACHINE_ARCH
1999-11-14 13:54:44 +00:00
Julian Elischer
5dd05de905 install netgraph.h a bit earlier.
Submitted by:	Boris Popov <bp@butya.kz>
1999-10-25 14:50:13 +00:00
Boris Popov
f24bb3a4b3 Make libncp actually compiled.
Reviewed by:	mdodd
1999-10-14 06:40:46 +00:00
Peter Wemm
6d77c2defa Add libkvm to the includes target. 1999-10-04 14:57:38 +00:00
Mark Murray
1f687ff1e7 Minor (but important) comment change. 1999-09-20 20:27:09 +00:00
Bruce Evans
7dd5e27cc6 FIxed disorder in the comments about library build order. 1999-09-04 13:25:57 +00:00
Mark Murray
da52b932b9 Further preparation for tn3270's demise. 1999-08-31 06:53:39 +00:00
Peter Wemm
4c2a26e352 Update for ncurses5 aftermath.. 1999-08-30 08:33:15 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
John Polstra
4f1b474e39 Remove f2c-related stuff from the "includes" target and from a
comment.  Fixes broken make world.
1999-08-08 22:26:09 +00:00
John Polstra
d72e8db88f Add usr.sbin/elf2exe to the build-tools target on the Alpha. This
fixes the make buildworld breakage in sys/boot/arc/loader.
1999-08-06 00:58:41 +00:00
Warner Losh
1713906692 Per requests from the community, commit rudimentary cross compilation
support.  I've been building world with these changes for months w/o
ill effect.  I've also managed to build the cross tool chain for MIPS
with these patches.

Please note that the extent to which these patches work is largely
dictated by how well our tool chains support the cross compilation.
Building alpha binaries on i386 doesn't work.  Supposedly building
i386 binaries on alpha does work, but I've not verified it with these
patches, however.
1999-07-07 04:46:46 +00:00
Bill Fumerola
554965376c ${.CURDIR} doesn't have to be /usr/src, especially in a cvs checkout. Make
sure what is reported to the user is accurate.

Stolen From:	mharo
1999-06-04 17:34:28 +00:00
Bill Fumerola
03a6bd91f3 'make update' in the ports directory. 1999-06-01 02:55:44 +00:00
David E. O'Brien
7c2a64c438 Document NO_FORTRAN. 1999-05-03 17:54:59 +00:00
Mark Murray
5a528acba3 Perl is moving up a maintenance version.
While I'm here - reorder crypto directories to better support
dependancies. Perl and others like it better that way.
1999-05-02 15:23:55 +00:00
Joseph Koshy
7725a6c940 Change 'exists()' constructs to refer to directories in ${.CURDIR}.
Tested with a make world.

PR:		misc/4395
Submitted by:	J Wunsch
Reviewed by:	bde
1999-04-20 05:33:07 +00:00
Dag-Erling Smørgrav
db0343cabf Don't build man page indices if NOMAN is defined.
PR:		bin/11035
Submitted by:	Chris Costello <chris@holly.dyndns.org>
1999-04-11 21:48:09 +00:00
David E. O'Brien
5999400ea8 Clean up "lib-tools:", folding libgcc into the rest. 1999-04-05 22:37:54 +00:00
David E. O'Brien
a295bf4ee7 Remove a lingering reference to libg++. 1999-04-04 21:35:27 +00:00
David E. O'Brien
68b7e6e749 Missed a gnu/usr.bin/cc/libgcc. 1999-04-03 23:46:18 +00:00
David E. O'Brien
871b1fd2f0 EGCS will have some new includes that need to be installed. 1999-04-03 08:18:43 +00:00
Peter Wemm
15b7d60582 Add libwrap to includes target, otherwise <tcpd.h> doesn't get installed
in time to build inetd.  (If you already have /usr/include/tcpd.h, the
build doesn't fail.  This mainly affects upgrades and 'make world' from
systems more than a few weeks old)
1999-04-02 15:37:07 +00:00
David E. O'Brien
094f039315 An earlier version of Rev 1.66 was reviewed by bde and the issues were
hashed out with his gracious help.
1999-03-31 06:42:36 +00:00
David E. O'Brien
5bcba11b71 * Deal with libgcc's move from gnu/usr.bin/cc to gnu/lib.
Move was necessary as libgcc should be built with the freshly built
  compiler and thus we must wait until the freshly built bits have been
  installed somewhere so we can use them.  libgcc presence in gnu/usr.bin/cc/
  gets in the way of building the new compiler.  We could have either
  cd'ed to specific directories w/in gnu/usr.bin/cc/ and built and installed
  individual bits, or move libgcc out of the way and let our normal subdir
  building process work.

* Don't build libgcc in "bootstrap-libraries:" target it should not be
  assumed the currently installed compiler can correctly build libgcc.
  (as is the case for g++ 2.7.2 and EGCS' libgcc)
1999-03-31 06:38:13 +00:00
Warner Losh
af59b932a7 The legacy boot stuff is available only on i386, not all architectures
which aren't the alpha.  Test for MACHINE_ARCH == i386 rather than
MACHINE_ARCH != alpha.
1999-03-01 01:09:06 +00:00
Jordan K. Hubbard
2d932f1658 Add a new flag, "WORLD", for telling certain tools that they're
being build as part of a bootstrap.
1999-02-27 03:18:10 +00:00
Dag-Erling Smørgrav
ad5ebf3fba Ignore errors from chflags. This makes it possible to make installworld
with DESTDIR set to an NFS-mounted file system.
1999-02-14 13:56:15 +00:00
Jordan K. Hubbard
9c2bbd3bab further refine the upgrade process. 1999-01-27 15:08:05 +00:00
Mark Murray
08275689bc More broken crypt(3) backout. 1999-01-23 08:44:17 +00:00
Brandon Gillespie
2ccdfd96be One more fix to remove secure/lib/libcrypt from the build (both
cases are now handled in lib/libcrypt, depending upon if
secure/lib/libcrypt/crypt-des.c exists)

Reviewed by:	Mark Murray
1999-01-22 15:10:05 +00:00
Mark Murray
3b5d5dcad4 Help for Perl5 to make in cross-build environments.
Submitted by:	Eivind Eklund
1999-01-20 05:45:57 +00:00
Eivind Eklund
b8c993ec7c Don't do the ldconfig rescan if DESTDIR is set. 1999-01-07 13:09:15 +00:00
Peter Wemm
c9ef6e40fe ``Disable'' a.out 'make world', as per flag day notification on current and
committers.  A 'make aout-to-elf' is strongly encouraged.  This isn't quite
the end of the line for people who have a real problem with updating yet,
but we've got to get this over and done with.  Yes, it's bound to be a
couple of bumpy couple of days.
1999-01-07 06:26:33 +00:00
Bruce Evans
fad499d237 Removed the weak spam of ${DESTDIR}/usr/include in the bootstrap
target (see the previous log message).  This works for bootstrapping
from 2.2.7.  It won't work for bootstrapping from 2.1.x, but that
fails due to include problems earlier.
1999-01-06 10:06:36 +00:00
Bruce Evans
1ff0f342b7 Backed out rev.1.49. It broke bootstrapping from 2.1.5 2.2.7 and
probably other versions by spamming ${DESTDIR}/usr/include in much
the same way as `make includes'.

Details for 2.2.7: the bootstrap target has always done a weak spam
of ${DESTDIR}/usr/include; we depend on it not installing any
significant anachronisms (it probably shouldn't touch the headers
at all; however, we may be depending on it for things like the
renaming of ts_nsec to ts_sec in <sys/time.h>).  Rev.1.49 strengthens
the spam to everything in src/include.  For 2.2.7, this is not
immediately fatal.  However, the `make all' step in src/includes
is not followed by a `make clean' step, so new rpc headers are not
generated after we've bootstrapped rpcgen.  This causes a fatal
error much later when the old (generated) rpc headers are used with
the current headers (sys/types.h and/or the non-generated rpc
headers).

Details for 2.1.x: the bug is immediately fatal.  It gives definition
of errno that is not supported by 2.1.x's libc.  The weak spam in the
restored version avoids this problem by not installing errno.h.
(Bootstrapping from 2.1.5 actually breaks much earlier.)

I think the header problems supposedly fixed by rev.1.49 were caused
by using NOCLEAN and having the build fall over when the weakly
spammed headers are active.  Minor differences in the layout will
then cause the .depend files to point to nonexistent headers.  It
is a feature for symlinks like errno.h -> sys/errno.h to not exist
early.

The other change in rev.1.49 breaks building obj directories if NOCLEAN
is set.  It is only safe for _re_building with NOCLEAN set.
1999-01-04 12:05:59 +00:00
Peter Wemm
cc85444017 Reconnect pcvt hooks..
Reviewed by:	core
1999-01-01 08:45:44 +00:00
Bruce Evans
40b843918b Backed out previous commit. It depends on a.out utilities and libraries
somehow being available even on pure elf systems.
1998-12-30 12:06:08 +00:00
Bruce Evans
621be74548 Fixed bootstrapping of /usr/mdec/boot[12]. 1998-12-30 11:26:24 +00:00