Commit Graph

326 Commits

Author SHA1 Message Date
Ruslan Ermilov
e1fe3dba5c Reimplementation of world/kernel build options. For details, see:
http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by:	imp, jhb, kris, phk, ru (all bugs are mine)
2006-03-17 18:54:44 +00:00
Doug Rabson
c0b9f4fe65 Add a new extensible GSS-API layer which can support GSS-API plugins,
similar the the Solaris implementation. Repackage the krb5 GSS mechanism
as a plugin library for the new implementation. This also includes a
comprehensive set of manpages for the GSS-API functions with text mostly
taken from the RFC.

Reviewed by: Love Hörnquist Åstrand <lha@it.su.se>, ru (build system), des (openssh parts)
2005-12-29 14:40:22 +00:00
Ruslan Ermilov
c1c28da069 Revert last revision by phk@, it's redundant since bsd.incs.mk
already handles this, FWIW.
2005-11-19 07:04:17 +00:00
Dag-Erling Smørgrav
725f8b7693 Update for OpenSSH 4.2p1. 2005-09-03 07:10:33 +00:00
Poul-Henning Kamp
f06e2f8233 Don't install includes if NO_TOOLCHAIN 2005-08-03 09:18:59 +00:00
Ken Smith
a84020c2b9 Bump the shared library version number of all libraries that have not
been bumped since RELENG_5.

Reviewed by:	ru
Approved by:	re (not needed for commit check but in principle...)
2005-07-22 17:19:05 +00:00
Dag-Erling Smørgrav
40e0db94af Revert the commits that made libssh an INTERNALLIB; they caused too much
trouble, especially on amd64.

Requested by:	ru
2005-06-07 09:31:28 +00:00
Dag-Erling Smørgrav
32f80c77d0 Make libssh an INTERNALLIB like it is in {Net,Open}BSD. 2005-06-06 16:13:07 +00:00
Dag-Erling Smørgrav
015bad3598 Update for OpenSSH 4.1p1. 2005-06-05 15:47:07 +00:00
Jacques Vidrine
d6608aaa6e Update OpenSSL 0.9.7d -> 0.9.7e. 2005-02-25 06:04:12 +00:00
Ruslan Ermilov
e7b3b699a2 Define PLATFORM correctly when cross-building. 2005-02-16 20:55:47 +00:00
Ruslan Ermilov
ab7a294721 NODOCCOMPRESS -> NO_DOCCOMPRESS
NOINFO -> NO_INFO
NOINFOCOMPRESS -> NO_INFOCOMPRESS
NOLINT -> NO_LINT
NOPIC -> NO_PIC
NOPROFILE -> NO_PROFILE
2004-12-21 09:33:47 +00:00
Dag-Erling Smørgrav
5ba618aa27 Update for OpenSSH 3.9p1. 2004-10-28 16:04:23 +00:00
Ruslan Ermilov
a35d88931c For variables that are only checked with defined(), don't provide
any fake value.
2004-10-24 15:33:08 +00:00
Mark Murray
1f9bb6cd25 Add support for C3 Nehemiah ACE ("Padlock") AES crypto. This comes
from OpenSSL 0.9.5 (yet to be released), and is pretty complete.
2004-08-14 13:38:35 +00:00
Olivier Houchard
59315819d5 Import the openssl conf for arm. 2004-05-14 12:26:51 +00:00
Ruslan Ermilov
1116791977 Record the libssl.so dependency on libcrypto.so. This should
help some ports that depend on libradius that recently gained
the dependency on libssl.  This is also how the stock OpenSSL
build would link libssl.so on FreeBSD.

Prompted by:	kris
OK'ed by:	markm, nectar
2004-05-13 07:51:47 +00:00
Ruslan Ermilov
1f2cef4790 Turn MAKE_IDEA into a true "bool" type variable, as documented in
the make.conf(5) manpage.

PR:		conf/65738
OK'ed by:	markm
2004-04-19 11:35:15 +00:00
Peter Wemm
d901a5218e Turn on the amd64-specific bignum code in openssl. This is actually
a variant of the C code but with some scattered asm and things laid out
more optimally for the platform.  This means that we need to the asm
directory to the search path for the amd64 case so that make can find
the source.
2004-04-14 23:26:26 +00:00
David Malone
8a56b12482 Remove the -pthread from the last commit, as OpenSSL doesn't actually
call any pthread functions as we use compile it. We keep the
-DOPENSSL_THREADS, which stops OpenSSL doing thread-unsafe stuff.

Requested by:	ru
2004-03-30 21:04:04 +00:00
David Malone
1251855f52 Build OpenSSL so that it extects that is may be used in a threaded
environment. This stops some ports keeling over on an OpenSSL assert.
(The patch is not exactly the one from the PR, but has been refined
based on advice from freebsd-threads.)

PR:		51205
Submitted by:	Jim Westfall <jwestfall@surrealistic.net>
MFC after:	1 month
2004-03-30 11:30:02 +00:00
Mark Murray
f3d90904b0 Re-add the hand-optimised assembler versions of some of the ciphers
to the build.

Should have done this ages ago:	markm
Reminded above to do this:	peter
2004-03-23 08:32:29 +00:00
Jacques Vidrine
03886b3681 Update manual pages for OpenSSL 0.9.7d. 2004-03-17 16:15:46 +00:00
Dag-Erling Smørgrav
40dd33e888 Update for 3.8p1, including workaround for a bug in gss-genr.c. 2004-02-26 11:26:46 +00:00
Ruslan Ermilov
9387ab35e7 Cosmetics: rearrange the dependency list to match that of ssh and sshd.
Reviewed by:	des
2004-01-08 11:41:02 +00:00
Dag-Erling Smørgrav
e7ffa415e8 Use += instead of = with DPADD / LDADD. 2004-01-08 09:50:56 +00:00
Dag-Erling Smørgrav
9f80be8e3d Enable GSSAPI support. [1]
Also remove some duplicates from ssh's SRCS.

Submitted by:	[1] Björn Grönvall <bg@sics.se>
2004-01-08 09:05:24 +00:00
Dag-Erling Smørgrav
3b7f13a03b Previous commit erroneously listed some sources with .o suffixes. 2004-01-07 11:59:52 +00:00
Dag-Erling Smørgrav
a04e3d6c30 Update Makefiles for OpenSSH 3.7.1p2. 2004-01-07 11:17:23 +00:00
Gordon Tetlow
41d8423f71 Stage 3 of dynamic root support. Make all the libraries needed to run
binaries in /bin and /sbin installed in /lib. Only the versioned files
reside in /lib, the .so symlink continues to live /usr/lib so the
toolchain doesn't need to be modified.
2003-08-17 08:28:46 +00:00
Mark Murray
4afa371832 Very big makeover in the way telnet, telnetd and libtelnet are built.
Previously, there were two copies of telnet; a non-crypto version
that lived in the usual places, and a crypto version that lived in
crypto/telnet/. The latter was built in a broken manner somewhat akin
to other "contribified" sources. This meant that there were 4 telnets
competing with each other at build time - KerberosIV, Kerberos5,
plain-old-secure and base. KerberosIV is no longer in the running, but
the other three took it in turns to jump all over each other during a
"make buildworld".

As the crypto issue has been clarified, and crypto _calls_ are not
a problem, crypto/telnet has been repo-copied to contrib/telnet,
and with this commit, all telnets are now "contribified". The contrib
path was chosen to not destroy history in the repository, and differs
from other contrib/ entries in that it may be worked on as "normal"
BSD code. There is no dangerous crypto in these sources, only a
very weak system less strong than enigma(1).

Kerberos5 telnet and Secure telnet are now selected by using the usual
macros in /etc/make.conf, and the build process is unsurprising and
less treacherous.
2003-07-16 20:59:15 +00:00
Mark Murray
485721b25e I'm now happy that this is no longer needed. Libcrypto has
all its functionality, and all its consumers have been converted.
2003-06-04 15:26:34 +00:00
Mark Murray
e4a3b084f9 Disconnect libcipher from the build. It only does DES, and we already
have libcrypto to do that. Both consumers of this lib have been
converted to use libcrypto. (bin/ed and secure/usr.bin/bdes).
2003-06-02 20:03:32 +00:00
Mark Murray
c8fa8e25d7 Strip the private blowfish code down to only that which is
required to make crypt(3) blowfish "$2a$..." hashes. Lint and
warnsify.
2003-06-02 19:17:24 +00:00
David E. O'Brien
631a2b1ed8 Ugg, wrong version.
CSTD=gnu89, c89 wont do.
2003-06-01 23:39:16 +00:00
David E. O'Brien
90f6678b64 This isn't C99 clean. 2003-06-01 23:37:46 +00:00
Mark Murray
dbf104e68d Turn MAKE_KERBEROS5 into NO_KERBEROS by negating the logic. Some extra
cleanups were necessary in release/Makefile, and the tinderbox code
was syntax checked, not run checked.
2003-05-05 07:58:44 +00:00
Ruslan Ermilov
f7fa0cbd70 The including makefile's directory is tried first for .include "...". 2003-04-30 07:54:39 +00:00
Ruslan Ermilov
6402d39a2b Most things depend on !defined(NO_OPENSSL); make it look so. 2003-04-30 07:51:51 +00:00
Ruslan Ermilov
bce0c9275c NOSECURE is implied by NOCRYPT, meaning if the latter is defined
we won't be here.
2003-04-30 07:34:14 +00:00
Dag-Erling Smørgrav
581ff5e326 Remove Kerberos IV shims. 2003-04-23 17:26:01 +00:00
Dag-Erling Smørgrav
d8b043c8d4 Update for 3.6.1p1; also remove Kerberos IV shims. 2003-04-23 17:25:47 +00:00
Bruce Evans
d76abd2739 Silence `make -s' (echo -> ${ECHO}). 2003-04-13 14:13:28 +00:00
Ruslan Ermilov
6c4e523908 libtelnet depends on OpenSSL.
PR:	50507
2003-04-01 12:50:40 +00:00
David E. O'Brien
a6c3fa5b5f Back out rev 1.60, taking the pointy hat away from nectar as 'rm -f'
doesn't need to be prefixed with '-'.  Keep the pointy hat for myself
for not reading the code closely.
2003-03-11 17:19:37 +00:00
David E. O'Brien
167cec7565 Don't error out the build if removing a "stale" symlink fails.
Pointy hat for breaking my installworld:	nectar
2003-03-10 19:43:56 +00:00
Ruslan Ermilov
aa1cd79b7f Handle includes the normal way.
Reviewed by:	markm
Approved by:	nectar
2003-02-27 23:07:26 +00:00
Jacques Vidrine
b7d18f9a8a Regenerate man pages after import of OpenSSL 0.9.7a. 2003-02-19 23:30:52 +00:00
Jacques Vidrine
c819173716 LIBDIR/INCLUDEDIR do not include DESTDIR.
Reported by:	Andrzej Tobola <san@iem.pw.edu.pl>
2003-02-18 17:29:04 +00:00
Jacques Vidrine
ba5637c376 Follow-up to previous commit: we had a des.h symlink, too. Remove
that.
2003-02-18 16:07:33 +00:00
Jacques Vidrine
419b10b514 Previously, libcrypto contained symbols that were identical to EAY
libdes, and functionally close enough so that we created symlinks
(libdes -> libcrypto) to help older applications.  With the import of
OpenSSL 0.9.7, this is no longer true and we no longer install these
symlinks.  However, systems that are upgraded may have these symlinks,
which could cause non-obvious breakage at build-time.  Therefore, blow
any old symlinks away in the `afterinstall' target.
2003-02-18 14:23:11 +00:00
Jacques Vidrine
715430f81d Correct path for finding asm-generating files. 2003-02-14 12:25:00 +00:00
Jacques Vidrine
6042ca2e01 Install the OpenSSL man pages in /usr/share/openssl/man
and remove the WANT_OPENSSL_MANPAGES knob.
2003-02-10 19:57:56 +00:00
Jacques Vidrine
a097def45b Do not define OPENSSL_NO_KRB5 here in CFLAGS. It is handled in
opensslconf.h.

Reminded by:	reports from des, obrien
2003-02-09 14:59:56 +00:00
Jacques Vidrine
5654cc45c0 Re-add WANT_OPENSSL_MANPAGES knob.
Noticed by:	ru
2003-01-31 11:30:38 +00:00
Jacques Vidrine
4b2eaea43f Background:
When libdes was replaced with OpenSSL's libcrypto, there were a few
 interfaces that the former implemented but the latter did not.  Because
 some software in the base system still depended upon these interfaces,
 we simply included them in our libcrypto (rnd_keys.c).

Now, finally get around to removing the dependencies on these
interfaces.  There were basically two cases:

  des_new_random_key -- This is just a wrapper for des_random_key, and
     these calls were replaced.

  des_init_random_number_generator et. al. -- A few functions were used
     by the application to seed libdes's PRNG.  These are not necessary
     when using libcrypto, as OpenSSL internally seeds the PRNG from
     /dev/random.  These calls were simply removed.

Again, some of the Kerberos 4 files have been taken off the vendor
branch.  I do not expect there to be future imports of KTH Kerberos 4.
2003-01-29 18:14:29 +00:00
Jacques Vidrine
1db5309254 Re-add WANT_OPENSSL_MANPAGES knob. 2003-01-29 13:35:40 +00:00
Peter Wemm
0e46522662 Hopefully fix world for folks not compiling IDEA (the default).
NO_IDEA is now spelled OPENSSL_NO_IDEA.  Update the bmake glue accordingly
or the IDEA references are not stripped from <openssl/evp.h>
2003-01-29 02:19:15 +00:00
Jacques Vidrine
a01bf47081 Force OPENSSL_NO_KRB5. OpenSSL's current implementation of RFC 2712
can only be built with MIT Kerberos.

If we didn't define this here, then SSL-using applications would have
to define OPENSSL_NO_KRB5 themselves in order to build.
2003-01-29 01:06:15 +00:00
Mark Murray
ab643b4d66 Update for OpenSSL 0.9.7. No assembler code at the moment. This
will follow.
2003-01-28 22:58:14 +00:00
Kris Kennaway
c55ae80a58 Remove myself as maintainer of openssl; I no longer have enough time to
devote to it.
2002-11-21 08:48:08 +00:00
Ruslan Ermilov
7d96ca40e6 DON'T EVER PUT THIS BACK!
Pointy hat to:	obrien
2002-11-08 12:47:51 +00:00
David E. O'Brien
dcb2279368 Style sync with rest of FreeBSD. 2002-11-06 22:54:58 +00:00
Dag-Erling Smørgrav
4d56bc2300 Update for OpenSSH 3.5p1. 2002-10-29 10:18:00 +00:00
Mark Murray
88eede7915 Don't lint contrib'ed sources, even if the builder has asked for linting.
Its Just Too Noisy.
2002-09-25 09:58:00 +00:00
Ruslan Ermilov
47fae43eab Bandaid for a broken world. The real fix is somewhat more
complicated and will be sent for a review.
2002-09-20 12:33:19 +00:00
Ruslan Ermilov
cbf5496382 Added the missing dependencies for openssl/ headers. 2002-09-19 13:24:27 +00:00
Jacques Vidrine
6e44c1a6e4 Use uint32_t' instead of unsigned long', since the code assumes 32-bit
arithmetic.

Reviewed by:	make test

The fact that bdes(1) didn't work was
Reported by:	Fred Clift <fclift@verio.net>
2002-08-24 02:53:23 +00:00
Jacques Vidrine
9ea8ab8314 Update list of installed manual pages after regenerating them. 2002-07-30 14:47:24 +00:00
Jacques Vidrine
d9b11086b0 Import the regenerated OpenSSL man pages after import of OpenSSL 0.9.6e. 2002-07-30 14:34:51 +00:00
Jacques Vidrine
2488110620 Update to match reality (i.e. reference libcrypto headers and
libraries, not the no-longer-existent libdes).
2002-07-30 12:53:15 +00:00
Ruslan Ermilov
dad7ed015c s,/usr/include,${INCLUDEDIR}, 2002-07-22 10:59:22 +00:00
Dag-Erling Smørgrav
f0b56c5c7e No guts, no glory. Switch to OpenSSH-portable.
Sponsored by:	DARPA, NAI Labs
2002-06-25 19:10:09 +00:00
Dag-Erling Smørgrav
fd9fc3f0c2 Update Makefiles for OpenSSH 3.3. 2002-06-23 16:09:29 +00:00
Ruslan Ermilov
072f6798f8 Make NO_OPENSSL actually imply NO_OPENSSH, as documented in make.conf(5). 2002-06-21 08:54:03 +00:00
David E. O'Brien
49b60543d7 for OpenSSL 0.9.5a 2002-05-15 09:17:27 +00:00
Mark Murray
01e8018af8 Build using pregenerated manpages; don't use perl to translate .pod's.
The translated .pod's have already been committed.
2002-05-14 19:39:00 +00:00
Mark Murray
3daf4cff10 As the perl-generated assembler files have been committed, add the
perl-generated (.pod) manual pages too. This is another nail in the
perl5 coffin (for base perl, not the port or the language in general).
2002-05-14 16:06:50 +00:00
Ruslan Ermilov
46f8fdc34e Removed now unused INTERNALSTATICLIB.
INTERNALLIB now implies NOPIC and NOPROFILE.
Removed gratuitous NOMAN.
2002-05-13 11:09:07 +00:00
Ruslan Ermilov
c7b111cba8 Added new bsd.incs.mk which handles installing of header files
via INCS.  Implemented INCSLINKS (equivalent to SYMLINKS) to
handle symlinking include files.  Allow for multiple groups of
include files to be installed, with the powerful INCSGROUPS knob.
Documentation to follow.

Added standard `includes' and `incsinstall' targets, use them
in Makefile.inc1.  Headers from the following makefiles were
not installed before (during `includes' in Makefile.inc1):

	kerberos5/lib/libtelnet/Makefile
	lib/libbz2/Makefile
	lib/libdevinfo/Makefile
	lib/libform/Makefile
	lib/libisc/Makefile
	lib/libmenu/Makefile
	lib/libmilter/Makefile
	lib/libpanel/Makefile

Replaced all `beforeinstall' targets for installing includes
with the INCS stuff.

Renamed INCDIR to INCSDIR, for consistency with FILES and SCRIPTS,
and for compatibility with NetBSD.  Similarly for INCOWN, INCGRP,
and INCMODE.

Consistently use INCLUDEDIR instead of /usr/include.

gnu/lib/libstdc++/Makefile and gnu/lib/libsupc++/Makefile changes
were only lightly tested due to the missing contrib/libstdc++-v3.
I fully tested the pre-WIP_GCC31 version of this patch with the
contrib/libstdc++.295 stuff.

These changes have been tested on i386 with the -DNO_WERROR "make
world" and "make release".
2002-05-12 16:01:00 +00:00
Peter Wemm
81fb684cc3 Pre-generate the optimized x86 crypto code and check it in rather than
depending on perl at build time.  Makefile.asm is a helper for after the
next import.

With my cvs@ hat on, the relatively small repo cost of this is acceptable,
especially given that we have other (much bigger) things like
lib*.so.gz.uu checked in under src/lib/compat/*.

Reviewed by:	kris (maintainer)
2002-05-03 00:14:39 +00:00
Ruslan Ermilov
191ca0354f The library itself does not depend on Kerberos bits.
Otherwise, we would have broken krb4 and krb5 dists.
2002-04-23 11:33:29 +00:00
Dag-Erling Smørgrav
de11a611b5 Install headers with -C. Ideally, these Makefiles should not need to
override the beforeinstall target at all, but this has proven difficult
to achieve.
2002-03-23 18:01:01 +00:00
Dag-Erling Smørgrav
8f7701469e Adjust for OpenSSH 3.1.
Sponsored by:	DARPA, NAI Labs
2002-03-18 10:20:33 +00:00
Bruce Evans
bb791077c7 Fixed some style bugs. Mainly, don't use ${.ALLSRC} in implicit rules.
This change should have been in rev.1.37.
2002-03-17 09:53:21 +00:00
Mark Murray
aee10446c1 Use NO_PERL as well as NOPERL. The latter is going to (eventually) go. 2002-03-16 15:12:13 +00:00
Mark Murray
f2ac424af7 No functional change, but big code cleanup. WARNS, lint(1) and style(9). 2002-03-06 17:18:09 +00:00
Mike Barcroft
fd8e4ebc8c o Move NTOHL() and associated macros into <sys/param.h>. These are
deprecated in favor of the POSIX-defined lowercase variants.
o Change all occurrences of NTOHL() and associated marcros in the
  source tree to use the lowercase function variants.
o Add missing license bits to sparc64's <machine/endian.h>.
  Approved by: jake
o Clean up <machine/endian.h> files.
o Remove unused __uint16_swap_uint32() from i386's <machine/endian.h>.
o Remove prototypes for non-existent bswapXX() functions.
o Include <machine/endian.h> in <arpa/inet.h> to define the
  POSIX-required ntohl() family of functions.
o Do similar things to expose the ntohl() family in libstand, <netinet/in.h>,
  and <sys/param.h>.
o Prepend underscores to the ntohl() family to help deal with
  complexities associated with having MD (asm and inline) versions, and
  having to prevent exposure of these functions in other headers that
  happen to make use of endian-specific defines.
o Create weak aliases to the canonical function name to help deal with
  third-party software forgetting to include an appropriate header.
o Remove some now unneeded pollution from <sys/types.h>.
o Add missing <arpa/inet.h> includes in userland.

Tested on:	alpha, i386
Reviewed by:	bde, jake, tmm
2002-02-18 20:35:27 +00:00
Ruslan Ermilov
e47a40e7f7 Now that cross-tools ld(1) has been fixed to look for dynamic
dependencies in the correct place, record the fact that -lssh
depends on -lcrypto and -lz.

Removed false dependencies on -lz (except ssh(1) and sshd(8)).
Removed false dependencies on -lcrypto and -lutil for scp(1).

Reviewed by:	markm
2002-02-08 13:42:58 +00:00
Kris Kennaway
3bf31598f8 Update list of manpages 2002-01-27 03:36:57 +00:00
Ruslan Ermilov
0509dca0c3 Add pam_ssh support to the static PAM library, libpam.a:
- Spam /usr/lib some more by making libssh a standard library.
- Tweak ${LIBPAM} and ${MINUSLPAM}.
- Garbage collect unused libssh_pic.a.
- Add fake -lz dependency to secure/ makefiles needed for
  dynamic linkage with -lssh.

Reviewed by:	des, markm
Approved by:	markm
2002-01-23 15:54:17 +00:00
Mark Murray
f3c99bd05e Clean up makefiles, and turn on WARNS=2. Take into account the telnet
#if cleanup.
2001-11-30 21:10:58 +00:00
Jake Burkholder
e12e1f3baf Opensslconf for sparc64. Just a copy of the alpha one for now.
Approved by:	kkenn (maintainer)
2001-11-18 20:58:19 +00:00
Mark Murray
fa293fd48d Install libssh and libssh_pic. These are needed when building
statically, and when building things (like login(8)) standalone.
libssh_pic is needed for libpam and modules.

Requested by:	peter
2001-10-30 19:45:00 +00:00
Peter Wemm
68344a9547 __FBSDID() (second half of src/lib/libcrypt changes) 2001-10-23 10:23:32 +00:00
Peter Wemm
a731d80743 Argh! Shoot me! (add closing */ after $FreeBSD$ ) 2001-10-22 09:54:17 +00:00
Peter Wemm
a4476fcc22 Add an ia64 configuration. This is not likely to be optimal, but does
compile and seems to work.  We should run configure after everything
else is self hosting to test the speeds of the various options.
2001-10-10 19:07:31 +00:00
Peter Wemm
cabacc4a0a Sync this file up with its i386 brother. This appears to have been missed
when 0.9.5a was imported.

Approved by:	kris
2001-10-09 01:28:15 +00:00
Ruslan Ermilov
32eef9aeb1 mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
Ruslan Ermilov
4448c79e47 Fix cross-building, etc:
1.  To cross-build, one now needs to set TARGET_ARCH, and not the
    MACHINE_ARCH.  MACHINE_ARCH should never be changed manually!

2.  Initialize DESTDIR= explicitly for bootstrap-tools, build-tools,
    and cross-tools stages.  This fixes broken header and library
    dependencies problem.  We build them in the host environment,
    and obviously want them to depend on host headers and libraries.
    The problem with broken header dependencies for bootstrap-tools
    and cross-tools was already partially solved (see BOOTSTRAPPING
    tests in bsd.prog.mk and bsd.lib.mk), but it was still there for
    build-tools if the user ran "make world DESTDIR=/foo".  Also,
    for all of these stages, the library dependencies were broken
    because of how bsd.libnames.mk define DPADD members.

    We still provide a glue to install bootstrap- and cross-tools
    under the ${WORLDTMP}.

    Removed PATH overrides for bootstrap-, build-, and cross-tools
    stages.  There is just no reason why we would need to override
    it, and the hacks to clean up the ${WORLDTMP} in the -DNOCLEAN
    case are no longer needed with fixes from this step.

    That is, we now never use ${WORLDTMP} headers and libraries,
    and we don't use any ${WORLDTMP} installed binaries during
    these stages.  Again, these stages depend solely on the host
    environment, including compiler, headers, and libraries.

3.  Moved "miniperl" back from cross-tools (it has nothing to do
    with a cross-compiler) to build-tools where it belongs.  The
    change from step 1 let to do this.  Also, to make this work,
    build-tools targets of "cc_tools" and "miniperl" were modified
    to call "depend".  Here follow the detailed explanations.

    There are two categories of build tools, for now.  In the first
    category there are "cc_tools" and "miniperl".  They occupy the
    whole (sub)directory, and nothing needs to be done in this
    subdirectory later during the "all" stage.  They are also
    constructed using system makefiles.  We must build the .depend
    early in the build-tools stage because:

    1)  They use (and depend on) the host environment.

    2)  If we don't do this in build-tools, the "depend" stage of
        buildworld will do this for us; wrong library and header
        dependencies will be recorded (DESTDIR=${WORLDTMP}) and,
        what's worse, the "all" stage may then clobber the
        build-architecture format tools (that we built in the
        build-tools stage) with the target-architecture format
        ones, breaking cross build.

    In the second category there are all other build-tools.  They
    share their directory with the "main" module that needs them
    in the "all" stage, and they don't show up themselves in the
    .depend file.  The portion of this fix was already committed
    in gnu/usr.bin/cc/cc_tools/Makefile,v 1.52.

4.  "libperl" is no longer a build tool, and "miniperl" is the
    stand-alone application.  I had to make this change because
    build-tools and "all" stages share the same object directory.
    Without this change, if we cross compile, libperl.a is first
    built for the build architecture during the build-tools stage
    (for the purposes of immediate linkage with "miniperl").
    Later on, the "all" stage sees this library as up-to-date,
    and doesn't rebuild it.  The effect is that the wrong format
    static libperl library is installed with installworld.

5.  Fixed "includes" to install secure/lib/libtelnet headers if
    required.

Reviewed by:	bde
2001-09-29 13:17:54 +00:00