Commit Graph

79 Commits

Author SHA1 Message Date
imp
136f27c25b 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
billf
73eda78319 ${.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
billf
bc62ec7c7b 'make update' in the ports directory. 1999-06-01 02:55:44 +00:00
obrien
a847a648b9 Document NO_FORTRAN. 1999-05-03 17:54:59 +00:00
markm
92f510291f 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
jkoshy
9104dc5780 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
des
839783f3cb 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
obrien
f882950e9c Clean up "lib-tools:", folding libgcc into the rest. 1999-04-05 22:37:54 +00:00
obrien
bd8e7f40fb Remove a lingering reference to libg++. 1999-04-04 21:35:27 +00:00
obrien
c24347c28b Missed a gnu/usr.bin/cc/libgcc. 1999-04-03 23:46:18 +00:00
obrien
a60072138b EGCS will have some new includes that need to be installed. 1999-04-03 08:18:43 +00:00
peter
02500f76dc 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
obrien
f0fff860af 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
obrien
a6dc8c5afd * 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
imp
15ef0b89c9 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
jkh
0dd31950cd 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
des
e158dd910e 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
jkh
5d8d3b87c1 further refine the upgrade process. 1999-01-27 15:08:05 +00:00
markm
b569d7e3f1 More broken crypt(3) backout. 1999-01-23 08:44:17 +00:00
brandon
d1ac7fffdb 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
markm
d0481c5c74 Help for Perl5 to make in cross-build environments.
Submitted by:	Eivind Eklund
1999-01-20 05:45:57 +00:00
eivind
edc7d9f14b Don't do the ldconfig rescan if DESTDIR is set. 1999-01-07 13:09:15 +00:00
peter
57329d7db3 ``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
bde
34694f75a3 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
bde
289384ff72 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
7766c8cbe4 Reconnect pcvt hooks..
Reviewed by:	core
1999-01-01 08:45:44 +00:00
bde
c7d4679276 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
bde
64edc80b7a Fixed bootstrapping of /usr/mdec/boot[12]. 1998-12-30 11:26:24 +00:00
peter
1f0eb44495 Dip my toes into the fire and zap the leftover lkm hooks.. It seems they
try and recurse if the lkm dir exists for some reason but there isn't any
Makefile there. (eg: stray files prevented cvs update -P from removing the
empty dirs)
1998-12-28 17:03:50 +00:00
phk
2ea136bdcf follow up to:
Pre 3.0 branch cleanup casualty #4: pcvt
1998-12-27 21:11:07 +00:00
dillon
fc8ab091d4 Elf (and a.out?) rebuild of bootstrap tools appeared to be broken due to
some tools requiring header files, such as errno.h, that are softlinks.
    The mini installation of include files in Makefile.inc1 wasn't doing
    the job, so it has been ripped out and replaced with a true make of the
    /usr/src/include/ directory (make all and make beforeinstall).  I think
    the original idea was to save time by not installing unnecessary header
    files, but it doesn't really save all that much time.

    Also, I have moved a NOCLEAN conditional to cover rebuilding the object
    tree 'Rebuilding the ${OBJFORMAT} obj tree' section.  This may or may not
    be correct but it appears to function properly.  If it is not correct we
    need to find another way to avoid scanning every single file in the
    entire source hierarchy for make restarts.
1998-12-21 09:41:26 +00:00
dillon
7e32ff5f28 Grr. removed. backed-out. sorry! 1998-12-13 04:39:01 +00:00
dillon
ec1036956e This needs to be commited now to fix usbd for make world 1998-12-13 04:32:13 +00:00
jkh
db70b20239 Revert previous commit; write idea, wrong way. 1998-11-28 13:14:58 +00:00
jkh
1f8fec25e8 Remove netboot from build order; it's not ready for the limelight
and probably doesn't belong there anyway.
1998-11-28 08:19:24 +00:00
jdp
5e928337b4 Make sure libskey is built before libpam. It is required for one of
the PAM modules.

Fix the comments describing the PAM dependencies to be consistent
with other related comments.
1998-11-20 02:03:52 +00:00
jdp
617101032a Add libpam to the "includes" and "libraries" targets.
Build the ordered list of libraries in a variable "_libs" before
building any of them.  This eliminates a little bit of duplicated
code.  More importantly, it makes it easier to include or exclude
libraries with .if constructs, because the list can be built in
multiple steps using "+=".
1998-11-18 01:59:39 +00:00
jdp
b02cc4cba7 Note the requirement that libcrypt be built before libkrb. 1998-11-18 00:40:38 +00:00
jb
d1f01d4b14 Remove share/info from build tools because it breaks the build when
INFODIR is set.
1998-11-15 10:03:12 +00:00
jdp
da5e1981ae Add libradius and libtacplus to the includes target. Note their
dependence on libmd.
1998-11-13 00:59:00 +00:00
msmith
6a9b63e385 Typo , -> .
Submitted by:	Shaun Courtney <shaun@emma.eng.uct.ac.za>
1998-11-05 07:54:05 +00:00
peter
6d7a630db4 sys/modules/linux has a build-tools target 1998-11-05 04:38:28 +00:00
peter
3c6c588b75 Add usr.bin/gensetdefs to build-tools; it is used for src/sys/modules and
maybe for other things that use linker sets under ELF.
1998-11-04 12:43:46 +00:00
bde
7689451b97 Don't add /usr/games to $PATH. Adding it here can only work for the
`make world' case, and only made a difference for the evil NOTOOLS case
of `make world' since games tools are installed in ${TOOLROOT}/usr/bin
if they are built, but the PR was for normal builds.  This is fixed
in rev.1.14 of src/games/fortune/datfiles/Makefile.

PR:		7936
1998-10-17 11:56:20 +00:00
bde
f77a3ee2fe Fixed missing directories in the libraries target:
- in the elf case, csu must be built and installed before any shared
  libraries.  It wasn't, but we usually used a stale version that
  happened to work.  E.g., in the !NOTOOLS case we used the version
  built and installed by the bootstrap-libraries target.  Only cross
  building was completely broken.
- the shared libmd must be built and installed before any shared
  libraries that link to it.  It wasn't, but we sometimes used a stale
  version that happened to work, as above.  For elf, this caused
  bogus linkage of the target shared libatm and libopie with the host
  static libmd.  It isn't clear what this actually breaks, except for
  cross compiling.  For aout, the shared libmd is not built at all, so
  all shared libraries linked to libmd may be broken.  The linker
  reports them by spewing RRS warnings.

Note that building src/lib early and building subdirs of src/lib in
the correct order in src/lib/Makefile doesn't help, since the subdirs
are all built before any are installed.

Fixed bitrot in the comments about the ordering requirements.
1998-10-16 14:22:54 +00:00
rnordier
54b4310518 Include btxld in build-tools only for i386. 1998-10-13 10:01:32 +00:00
jkh
80b5e29334 Conditionalise boot block building on i386. 1998-10-13 08:13:32 +00:00
rnordier
b08a313ee1 Remove sys/boot from the install as well. 1998-10-11 19:02:27 +00:00
rnordier
58a6212678 In src/Makefile.inc1:
Remove /sys/boot from legacy-build.
    Add btxld to build-tools.
In src/sys/Makefile:
    Add /sys/boot for i386 ELF.

I'm still not sure why the new boot code was being built along with the
legacy stuff, which meant a completely wrong default environment for it.

This may well still be the wrong way to go about this, but it can't work
all that much worse than it has been.
1998-10-11 18:39:38 +00:00
peter
4cfebf30fb Comment about libm and libmd being needed for some libraries.
Prompted by: bde

Also. Don't build & install legacy lkm's when NOLKM has been set.
Otherwise it gets built in the src tree rather than obj, because the
previous 'make obj' at the start of legacy-build does respect NOLKM.
1998-10-11 07:41:31 +00:00