Commit Graph

347 Commits

Author SHA1 Message Date
Garrett Wollman
095a235e17 Revert my changes to make gperf a build-tool; that was the wrong thing.
All builds had been broken; now just upgrade builds are until I or
someone else can figure out the Right Thing.
2000-04-27 19:38:57 +00:00
Garrett Wollman
85a00bb01f Add gperf(1) to build tools. It should have been one before, but
gcc does not depend on version-specific gperf behavior (yet).
2000-04-27 16:43:45 +00:00
Sheldon Hearn
6892430807 Create ${KRNLOBJDIR} before running config(8), since config(8) does
not create required parent directories of the kernel compile
directory specified with its -d option.
2000-04-27 09:20:18 +00:00
Kris Kennaway
9ad4708e6a Unbreak make world (libpam depends on libopie) 2000-04-17 03:50:53 +00:00
Sheldon Hearn
f67ecfeb4c Fix the buildkernel and installkernel targets for the case where
KERNEL specifies multiple kernels.

PR:		17536
Submitted by:	Johan Karlsson <k@numeri.campus.luth.se>
2000-03-30 13:06:53 +00:00
Ruslan Ermilov
8d76bd014c Get rid of "sticky" files when updating sources with cvs(1).
Approved by:	peter
2000-03-29 07:30:44 +00:00
Kris Kennaway
bb49f794f5 Buildworld fixes for NO_OPENSSH and NO_OPENSSL
Approved by:	jkh
2000-03-09 06:29:05 +00:00
Mark Murray
5bf514a380 A lot of tools need to be built before compilation proper can happen. 2000-02-28 21:04:38 +00:00
Mark Murray
84a9e747fa We have a new world order in libraries.
Goodbye libdes; Welcome libcrypto.
2000-02-24 23:03:16 +00:00
Jordan K. Hubbard
3da5eca4bf Docfix: Note krb5 flags.
PR:		16818
Submitted by:	martti.kuparinen@nomadiclab.com
2000-02-20 09:13:30 +00:00
Ruslan Ermilov
858b447106 Now that bsd.lib.mk has PRECIOUSLIB feature back (rev 1.91),
we need -DNOFSCHG at stage 4 (building libraries) to support
non-root buildworlds.

Reviewed by:	<buildworld@current.freebsd.org>
2000-02-03 09:43:17 +00:00
David E. O'Brien
6f96b351c2 The readline includes handling was moved down a level in
src/gnu/libreadline -- reflect that change here.

Ok'ed by:	JKH
2000-01-30 20:57:58 +00:00
Warner Losh
f0d6a66558 Back out 1.134. It works from 3.3R, but breaks cross compilation for too
little gain.  I'll work out the issues after 4.0R is out.
2000-01-29 08:39:07 +00:00
Warner Losh
e208d1083f Remove Fortran from build tools. It isn't needed to build the system
and costs us an extra 2% to build it for no reason.  It may break
building cross compilation environments for fortran, but that isn't
officially supported at this time anyway (also, the % of our user base
that would use that is < .001% imho).  This does't break fortran (it
is built again later anyway).

Reviewed by: obrien
Tested by: make buildworld and make buildworld -DNOCLEAN
2000-01-28 21:15:24 +00:00
Mark Murray
d092560c58 Build Kerberos5 if the correct macro is set. This is not for the
faint_hearted; serious hackers only!
2000-01-24 20:11:53 +00:00
Kris Kennaway
f8c52b7c27 Require USA_RESIDENT to be 'NO' or 'YES' if building secure/
Reviewed by:	marcel
2000-01-19 04:03:48 +00:00
Ruslan Ermilov
85dd55e473 Finally resolve the texinfo issue by moving it
from the cross-tools to the bootstrap-tools.

Requested by:	bde, marcel
2000-01-18 11:00:24 +00:00
Ruslan Ermilov
7e3e88c674 For some reason compiler should be the last in the list of cross-tools.
Unbroke the world by moving gnu/usr.bin/texinfo before gnu/usr.bin/cc.

Submitted by:	Jim Bloom <bloom@acm.org>
2000-01-18 07:26:20 +00:00
Ruslan Ermilov
4928e3ce0a Add gnu/usr.bin/texinfo to the list of cross-tools.
We need an up-to-date `makeinfo' and `install-info'
at `world' and `install' stages.

Pointed out by:	bde
2000-01-17 15:33:34 +00:00
Marcel Moolenaar
d8180fbd67 Add gross hack to work around bogus dependency information created
by gnu/usr.bin/cc/cc_tools/Makefile. This bug is painfully visible
when making buildworld with -DNOCLEAN. This work around is beyond
dirty...
2000-01-12 14:33:00 +00:00
Marcel Moolenaar
2a7a0de6a7 Fix broken installkernel target. Don't use the WMAKE context to
install; use the IMAKE context.

Reported by: sheldonh
2000-01-12 10:00:36 +00:00
Marcel Moolenaar
15e1a3068c Revert gratuitous change in rev. 1.123 which broke building world
as non-root.

Breakage caused by: green
2000-01-11 16:23:51 +00:00
David E. O'Brien
ae41b16cf0 Remove Bison from "bootstrap-tools" as we don't use it to build anything
in /usr/src/ anymore.
2000-01-11 13:19:57 +00:00
Brian Feldman
559048567a This is the second half of unbreaking the world build. Add a -DNOHTML
corollary for -DNOINFO and -DNOMAN.  I'll fix this properly (add
specific HTML doc magic) in the .mk files later; right now, just
unbreak the world.
2000-01-11 12:51:56 +00:00
Marcel Moolenaar
d4ab519ba8 Add the -r flag to CONFIGARGS instead of assigning to it so that
it's more easy to build a kernel with debugging information.

Suggested by: sheldonh
2000-01-11 10:44:37 +00:00
Marcel Moolenaar
f3bb8dbd87 Add a buildkernel and an installkernel target. With these targets
users can more easily upgrade.

buildworld now makes usr.sbin/config in bootstrap-tools so that
when you first make buildworld, buildkernel will use config(8)
from the temp. world tree (and of course also the compiler).

Which kernel to built is determined by the KERNEL variable. You
can have as many kernels listed as you like. When a config file
exists for the given MACHINE it will be built. When KERNEL has
not been defined it will be set to "GENERIC GENERIC98".

The first valid kernel named in the list will be used by the
installkernel target.

When NOCLEAN is defined the kernel object directory is *not*
removed by config first. This is in line with normal buildworld
behaviour.

The buildkernel target makes aicasm in sys/dev/aic7xxx first and
unconditionally. This hack allows us to cross-build kernels and
can go away when the problem is solved in a structural way.
2000-01-09 17:56:40 +00:00
Marcel Moolenaar
1d19afde95 Add btxld to the list of cross-tools on machines that don't have it
natively (ie non-i386 architectures).
2000-01-04 14:12:12 +00:00
Mark Murray
37379a446b Grrrr... This was supoosed to go with the commit to kerberosIV/.../libroken's
Makefile.

Fix make world by building appropriate build-tools.

Submitted by:	 marcel
1999-12-30 10:31:21 +00:00
David E. O'Brien
a886640d01 Restore changes I spammed. 1999-12-29 14:47:00 +00:00
David E. O'Brien
253745e1fc Allow the specification of a prefix for gcc to find all the various bits.
If one wishes to anchor the compiler toolchain tree somewhere other than /,
all one needs to do is set "TOOLS_PREFIX" to a different rooting.

Submitted by:	marcel (in a different format and reworked by me)
1999-12-29 14:42:46 +00:00
Kris Kennaway
4712894e59 Only make beforeinstall in libcrypto/libssl if they actually exist. I haven't
imported these on Freefall yet for the reasons previously explained.

Noticed by:	asami
1999-12-29 14:18:51 +00:00
Satoshi Asami
1a75f3dd99 Oops, the previous commit was bogus. I shouldn't commit something without
reading all my mail.

I still don't understand why this was was committed on freefall before
the libcrypto and libssl subdirectories were imported on freefall though.
1999-12-29 13:57:31 +00:00
Satoshi Asami
019d7e0fc5 Typo (libcrypto -> libcrypt). 1999-12-29 13:33:54 +00:00
Kris Kennaway
47dbe12fc0 Build openssl properly during make world. 1999-12-28 16:22:50 +00:00
Marcel Moolenaar
7377751f18 Don't build caesar as a tool. fortune(6) doesn't depend on it
anymore. Update comments and variable names as well to wipe out any
traces that may confuse people in the future.
1999-12-23 19:18:28 +00:00
Marcel Moolenaar
3eafbc1a3a Revert previous commit, and
o  Add genassym to the list of cross-tools
o  Remove sh hashing work-around, we don't need it anymore
o  Clean more directories in WORLDTMP when NOCLEAN is specified

The sh hashing work-around is not needed anymore, because we don't
trigger the bug anymore.

When NOCLEAN is not defined, we wipe out the complete WORLDTMP,
including the object directories of the tools we have built. When
NOCLEAN is defined, we remove anything that we install anyway, which
is usr/bin, usr/games, usr/include, usr/lib and usr/sbin.
1999-12-23 11:25:34 +00:00
Andrey A. Chernov
02fdddce34 Add ${WORLDTMP}/sbin to ${STRICTTMPPATH} - sysctl not found otherwise 1999-12-22 20:27:45 +00:00
Marcel Moolenaar
7676262457 o make SHARED=symlinks a caller defined instead of a callee defined
property. This fixes the includes target when DESTDIR is empty.
o  Do not make build-tools for f771 when NO_FORTRAN is defined.
o  Add new build stage. See below.
o  Change banners so that staging information is displayed.

The addition of the build-tools target broke the upgrade path because
we couldn't make use of previously built tools that were made for
compatibility reasons. Doing so would also result in the cross-compiler
being used and that is exactly what had to be avoided.

This is solved by designating the bootstrap-tools stage for building
anything that is needed for compatibility only and to create a new
stage (started after the build-tools stage) that handles cross-tools
building. We now have the following stages:
1. bootstrap-tools (for compatibility issues only)
2. build-tools
3. cross-tools (what it says)
4. world
5. install

Stages 1-4 (inclusive) are handled by buildworld.
Stage 5 is handled by installworld.

Any more stages and I'll join Nik in his quest for the
holy grail^W^Wworld :-)
1999-12-20 10:32:11 +00:00
Marcel Moolenaar
5233a96cd1 Don't build usr.sbin/pcvt/keycap on anything other than i386 when
building the libraries target. pcvt is i386 specific.
1999-12-17 11:23:56 +00:00
Marcel Moolenaar
bfc59eb8e0 o Add games/caesar to the list of bootstrap-tools so that a
buildworld doesn't break because the host doesn't have any
   games installed,
o  Add a new build stage: TMAKE. TMAKE builds all the build-tools
   targets in the respective makefiles. Note that these targets
   don't use the bootstrap tools,
o  Add elf2exe to the bootstrap-tools when cross-building Alpha on
   other platforms,
o  Add ${WORLDTMP}/usr/games to TMPPATH,
o  Remove ${WORLDTMP}/usr/bin even when NOCLEAN is defined. This
   prevents using any bootstrap-tools previously installed. Most
   importantly, it prevents using the cross-compiler when we still
   need the native compiler.

The current stages are BMAKE, TMAKE, XMAKE and IMAKE in that order.
BMAKE builds bootstrap-tools that either solve compatibility problems
      or are needed as cross-tools,
TMAKE builds the support tools necessary by some parts in the source
      tree and also performs the cleandir and par-obj targets,
XMAKE builds the includes, libraries and everything (resp.), and
IMAKE installs the world. This stage needs further work if it's to be
      used to install -current over -stable for example.

This is the last major update towards cross-building.
1999-12-16 13:47:34 +00:00
Bill Fumerola
f647fd1549 It is possible for someone to want to 'make update' wht SUPFILE not defined
while SUPFILE1 or PORTSSUPFILE are defined.
1999-12-16 01:21:48 +00:00
Marcel Moolenaar
4ac29d1e8a Add colldef to the list of tools. It's needed on older systems. 1999-12-12 22:24:08 +00:00
Marcel Moolenaar
0dd0e829e5 o Add gensetdefs to the list of tools.
o  Don't set CFLAGS in the bootstrap env. It is very likely to be
   overridden my any CFLAGS setting in /etc/make.conf. Setting it
   here is almost useless. So far, it doesn't seem necessary.
1999-12-12 21:24:07 +00:00
Yoshihiro Takahashi
845eb5375c Build a.out tools if MACHINE_ARCH == i386 and MACHINE == pc98.
The boot2 for pc98 is still a.out program.

I made the original patch, and many problems were fixed by Marcel Moolenaar.
1999-12-12 03:54:58 +00:00
Marcel Moolenaar
3f2aa30a37 Don't add MACHINE_ARCH to MAKEOBJDIRPREFIX when not cross-building.
This should fix make release.

Reported by: jhay, phk
1999-12-11 17:05:36 +00:00
Marcel Moolenaar
f80df2fa88 o Don't make games/fortune/strfile if games does not exist or NOGAMES
has been defined.
o  Make libraries before making depend.
1999-12-10 16:13:41 +00:00
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
Peter Wemm
41da032357 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
Poul-Henning Kamp
306f93f57f follow up to:
Pre 3.0 branch cleanup casualty : pcvt
1998-12-27 21:11:07 +00:00
Matthew Dillon
df00a0360e 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
Matthew Dillon
7015208878 Grr. removed. backed-out. sorry! 1998-12-13 04:39:01 +00:00
Matthew Dillon
fed7770acd This needs to be commited now to fix usbd for make world 1998-12-13 04:32:13 +00:00
Jordan K. Hubbard
23284b1756 Revert previous commit; write idea, wrong way. 1998-11-28 13:14:58 +00:00
Jordan K. Hubbard
f8303e7926 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
John Polstra
127a2cfaf4 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
John Polstra
3da08d4af1 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
John Polstra
c271ea0e09 Note the requirement that libcrypt be built before libkrb. 1998-11-18 00:40:38 +00:00
John Birrell
d5f87f1a87 Remove share/info from build tools because it breaks the build when
INFODIR is set.
1998-11-15 10:03:12 +00:00
John Polstra
5a51bc8e6a Add libradius and libtacplus to the includes target. Note their
dependence on libmd.
1998-11-13 00:59:00 +00:00
Mike Smith
0eda097a0b Typo , -> .
Submitted by:	Shaun Courtney <shaun@emma.eng.uct.ac.za>
1998-11-05 07:54:05 +00:00
Peter Wemm
fafe9c62f2 sys/modules/linux has a build-tools target 1998-11-05 04:38:28 +00:00
Peter Wemm
2bb39627ea 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
Bruce Evans
2a6c45c9aa 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
Bruce Evans
59bec03685 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
Robert Nordier
24f6ecd409 Include btxld in build-tools only for i386. 1998-10-13 10:01:32 +00:00
Jordan K. Hubbard
daf326ce5a Conditionalise boot block building on i386. 1998-10-13 08:13:32 +00:00
Robert Nordier
14b4974827 Remove sys/boot from the install as well. 1998-10-11 19:02:27 +00:00
Robert Nordier
1b9112ea6b 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 Wemm
04e2ebf5df 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
Jordan K. Hubbard
2de520a5a7 Move OBJFORMAT hack to the correct line; what can I say, it was very
late. :)
1998-10-10 19:56:59 +00:00
KATO Takenori
e313ef3368 PC-98 uses different boot code from IBM-PC. So, MACHINE is used
instead of MACHINE_ARCH.

Submitted by:	Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
1998-10-10 11:16:08 +00:00
Jordan K. Hubbard
07bf7f4a0c Quick commit to see if I can't fix Robert's i386/boot problem in one line.
If this doesn't work, we'll try something else.
1998-10-10 10:54:54 +00:00
Jordan K. Hubbard
322a4708b8 Don't chain makes with &&; apparently this is evil for parallelism.
According to:	bde
1998-10-10 08:21:18 +00:00
Jordan K. Hubbard
87ee69f08a Clean up the boot targets a bit.
Suggested by:	jdp
1998-10-09 22:22:34 +00:00
Jordan K. Hubbard
e2d5656999 Make both types of boot targets. 1998-10-08 09:40:17 +00:00
Mike Smith
400b2cc592 Add libstand to the includes target. 1998-10-05 08:06:45 +00:00
Søren Schmidt
5ca77c0764 Backout my last commit.
Find another way to get the LKM's rebuild.
1998-09-26 01:30:36 +00:00
Søren Schmidt
db8b174ef5 Build the LKM's both on aout & ELF systems.
Reviewed by: jkh
1998-09-25 08:58:49 +00:00
David E. O'Brien
bc767300f5 Add printf(1) to the list of early-build tools.
(needed to build Amd, and causing the -jN crowd problems w/o being here)
((I will revisit the usage of printf(1) in building Amd at a later time))
1998-09-23 10:30:43 +00:00
Mark Murray
51a6b2cbda Complete the Perl NOSHARED repair. I had not ensured that the shared library
was constructed early enough, so perl was linking against the static lib.
This was breaking perl under ELF, as perl could not load shared objects
(in fact would dump core).
1998-09-23 06:11:35 +00:00
John Birrell
b510e4c210 Remove the bootstrap-rtld target which wasn't needed.
Install the rest of the legacy libraries (like libgcc.a, libl.a).

Add games to the user's path to avoid the temptation for people to
hack paths to unsuitable tools.
1998-09-21 08:55:50 +00:00
Andreas Klemm
52984c0442 Purely cosmetic but useful change.
Make output of make world more readable for grep. Now a
	grep '>>>' world.log
shows you the single stages through which the bootstrap
process went as discussed on -current. Could be used to
debug the bootstrap mechanism in case of trouble more
easily. Would be fine if any further @echo "..." messages
containing a description, what's going on, could use the
new format: @echo ">>> ..."
1998-09-17 16:32:00 +00:00
Poul-Henning Kamp
d80044954c Two patches from the HARP people:
Various Makefile related fixes.

-Wformat fixes.

Submitted by:	Mike Spengler <mks@networkcs.com>
1998-09-17 09:35:02 +00:00
Justin T. Gibbs
c3deaba902 libscsi is obsoleted by CAM. 1998-09-17 03:56:23 +00:00
Poul-Henning Kamp
3f8c45065e (this is an extract from src/share/examples/atm/README)
===================================
                HARP  |  Host ATM Research Platform
                ===================================

                              HARP 3

What is this stuff?
-------------------
The Advanced Networking Group (ANG) at the Minnesota Supercomputer Center,
Inc. (MSCI), as part of its work on the MAGIC Gigabit Testbed, developed
the Host ATM Research Platform (HARP) software, which allows IP hosts to
communicate over ATM networks using standard protocols.  It is intended to
be a high-quality platform for IP/ATM research.

HARP provides a way for IP hosts to connect to ATM networks.  It supports
standard methods of communication using IP over ATM.  A host's standard IP
software sends and receives datagrams via a HARP ATM interface.  HARP provides
functionality similar to (and typically replaces) vendor-provided ATM device
driver software.

HARP includes full source code, making it possible for researchers to
experiment with different approaches to running IP over ATM.  HARP is
self-contained; it requires no other licenses or commercial software packages.

HARP implements support for the IETF Classical IP model for using IP over ATM
networks, including:

   o IETF ATMARP address resolution client
   o IETF ATMARP address resolution server
   o IETF SCSP/ATMARP server
   o UNI 3.1 and 3.0 signalling protocols
   o Fore Systems's SPANS signalling protocol

What's supported
----------------
The following are supported by HARP 3:

   o ATM Host Interfaces
        - FORE Systems, Inc. SBA-200 and SBA-200E ATM SBus Adapters
        - FORE Systems, Inc. PCA-200E ATM PCI Adapters
        - Efficient Networks, Inc. ENI-155p ATM PCI Adapters

   o ATM Signalling Protocols
        - The ATM Forum UNI 3.1 signalling protocol
        - The ATM Forum UNI 3.0 signalling protocol
        - The ATM Forum ILMI address registration
        - FORE Systems's proprietary SPANS signalling protocol
        - Permanent Virtual Channels (PVCs)

   o IETF "Classical IP and ARP over ATM" model
        - RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5"
        - RFC 1577, "Classical IP and ARP over ATM"
        - RFC 1626, "Default IP MTU for use over ATM AAL5"
        - RFC 1755, "ATM Signaling Support for IP over ATM"
        - RFC 2225, "Classical IP and ARP over ATM"
        - RFC 2334, "Server Cache Synchronization Protocol (SCSP)"
        - Internet Draft draft-ietf-ion-scsp-atmarp-00.txt,
                "A Distributed ATMARP Service Using SCSP"

   o ATM Sockets interface
        - The file atm-sockets.txt contains further information

What's not supported
--------------------
The following major features of the above list are not currently supported:

        o UNI point-to-multipoint support
        o Driver support for Traffic Control/Quality of Service
        o SPANS multicast and MPP support
        o SPANS signalling using Efficient adapters

This software was developed under the sponsorship of the Defense Advanced
Research Projects Agency (DARPA).

Reviewed (lightly) by:	phk
Submitted by:	Network Computing Services, Inc.
1998-09-15 11:44:44 +00:00
Justin T. Gibbs
7004be9b34 Hook up beforeinstall targets for libcam and libdevstat 1998-09-15 07:46:17 +00:00
David E. O'Brien
c4e8b7e41e I don't want to be the only one to use `cut''. Use `sed'' instead. 1998-09-10 00:27:57 +00:00
David E. O'Brien
8f748848d8 Add ``usr/bin/cut'' to "build-tools" target.
Used in usr.sbin/amd/include/newvers.sh.
1998-09-10 00:13:48 +00:00
Mark Murray
ddf0071c01 Remove the NOPERL block to building Perl5.
Perl 5 will rebuild/bootstrap itself next time a make world is done
with this in effect.
1998-09-09 19:30:45 +00:00
Mark Murray
fad8371bdd Add the Perl5 bootstrap tools. 1998-09-09 17:30:30 +00:00
Mark Murray
62dfd75aa2 Another place to set NOPERL. 1998-09-09 06:01:37 +00:00
Satoshi Asami
ff5fcc93d4 Remove tcl from /usr/src, according to prior agreement. BTW, tcl-8.0 *is*
a port so there is nothing to be done on that side now.

Approved by:	jkh
===
To: "Jordan K. Hubbard" <jkh@time.cdrom.com>
cc: Andreas Klemm <andreas@klemm.gtn.com>, current@freebsd.org
Subject: Re: Make this a relese coordinator decision (was Re: ports-current/packages-current discontinued)
From: David Greenman <dg@root.com>
Date: Sun, 03 Aug 1997 20:23:31 -0700

>decision is, I'll respect it.

   Another chance to architect people's principles...I can hardly wait. Seems
quite appropriate for a Sunday - I just need to get one of those collection
plates (and money envelopes) so I can profit, too. :-)
   Tcl stays in /usr/src for now, but it needs to be kept up to date; same
for perl. If Jordan doesn't have "setup" (written in tcl) ready for 3.0,
then tcl will be yanked prior to the 3.0 release (and made into a port).
   As for the ports tree only supporting the last FreeBSD release, this seems
sensible to me. The "ports" have always been a moving target between releases
and the problem is only going to get worse when we expand to supporting other
processor architectures. In any case, Satoshi is and always has been in charge
of the ports tree and whatever he wants to do with it (within reason :-)) is
his decision.
   Does this cover the issue completely? I admit to deleting messages in this
thread with unusual fervor (people have FAR too much time on their hands!).
There's a fair bit of reasoning behind the above, but since everyone is sick
of arguing about this, I'll spare you the analysis.

-DG

David Greenman
Core-team/Principal Architect, The FreeBSD Project
1998-09-05 12:25:55 +00:00
John Birrell
d64c14ce31 Change i386 in a few paths to ${MACHINE} to support MACHINE=pc98. 1998-09-05 11:37:14 +00:00
John Birrell
146cbe7e06 Only run ldconfig if the OBJFORMAT is aout. 1998-09-03 21:34:31 +00:00
John Birrell
741d299c21 Force NOMAN and NOINFO on legacy-install as well as legacy build. 1998-09-01 06:07:47 +00:00
John Birrell
ff1284f6c0 Add a target to check the consistency of the make OBJFORMAT variable
with the object format determined by objformat. This prevents foot
shooting (a form of boot scooting for hackers?) where local changes
to /etc/make.conf or /etc/make.conf.local try to override OBJFORMAT
in an incomplete way.
1998-09-01 00:39:02 +00:00
John Birrell
f471c44869 MACHINE -> MACHINE_ARCH to allow PC98 to define MACHINE=pc98.
Submitted by: Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
1998-08-31 20:48:13 +00:00
John Birrell
11fb97daa7 E-day build system changes.
- Moved most of the guts of Makefile to Makefile.inc1 to become the
  backend for the build system.
- The new Makefile doesn't suffer from problems including the wrong
  sys.mk because it doesn't use anything in there or bsd.own.mk. So,
  from now on, the proper build command is just `make world' (or
  buildworld).
- The intermediate makefiles called Makefile.inc0 and Makefile.upgrade
  fiddle with the OBJFORMAT and MAKEOBJDIRPREFIX variables so that
  both aout and elf object trees can coexist. Makefile.upgrade contains
  the aout->elf transition build.
- A cross build environment is now very close to reality. Specifying
  TOOLDIR, setting OBJFORMAT and MAKEOBJDIRPREFIX allow that.

See the comments in Makefile for more info.
1998-08-31 01:08:08 +00:00