Commit Graph

381 Commits

Author SHA1 Message Date
Warner Losh
f7e19a98fd We can't use ${WORLDTMP}/usr/{include,lib} for the compat layer. This
is because we populate these directories later, and a subsequent
-DNOCLEAN build may fail.  So, we put them in
${WORLDTMP}/build/usr/{include,lib} instead and adjust Makefile.boot.

Again, this works on -stable and -current, but might break older
versions.

Submitted by: ru@
2003-04-06 03:50:28 +00:00
Warner Losh
30aaff1192 Migrate to a new way of dealing with building from old revisions of
FreeBSD.  This method attempts to centralize all the necessary hacks
or work arounds in one of two places in the tree (src/Makefile.inc1
and src/tools/build).  We build a small compatibility library
(libbuild.a) as well as selectively installing necessary include
files.  We then include this directory when building host binaries.

This removes all the past release compatibilty hacks from various
places in the tree.  We still build on tip of stable and current.  I
will work with those that want to support more, although I anticipate
it will just work.

Many thanks to ru@, obrien@ and jhb@ for providing valuable input at
various stage of implementation, as well as for working together to
positively effect a change for the better.
2003-04-05 20:30:30 +00:00
Warner Losh
756ec6a40f Diff reduction with my p4 changes:
Add @ before ${ECHODIR} where appropriate because we don't need to echo
the echo command...  This gets rid of extra echo ===> in log files...
2003-04-04 22:46:08 +00:00
Ruslan Ermilov
cdcdfd877b Parallelize (on the top-level SUBDIR list) the "all" stage of
buildworld.  This gives 5-11% percent gain in real buildworld
times on various UP and SMP systems here.  I used 4 * hw.ncpu
as an argument to "make -j" in my tests.
2003-04-01 11:39:04 +00:00
Ruslan Ermilov
b9040d98f9 Pass NO_WARNS to the build-tool stage too; -Wsystem-headers
isn't known to the 4.x system compiler.
2003-04-01 11:29:29 +00:00
Ruslan Ermilov
effd19ed24 Enable cpp(1) warnings in system headers. GCC is oriented on
glibc which is externally maintained, so GCC ships with these
warnings turned off by default.  This is also consistent with
the src/contrib/gcc/c-lex.c,v 1.2 change.
2003-03-31 13:10:51 +00:00
Ruslan Ermilov
fcdc271389 Slightly improve buildworld times by excluding crunchide(1)
and kgzip(8) from the list of cross-tools during the normal,
non-"make release" buildworld.

Also, don't gratuitously build them, btxld(8) and elf2aout(1)
for native architecture builds, since they have no known
boostrapping issues along the supported upgrade path.

Prodded by:	peter
2003-03-31 12:58:33 +00:00
Ruslan Ermilov
8eb1c4caf9 Convert kgzip(8) to be an i386 cross-tool. This is needed for
cross-releasing i386 on different architectures.  This version
provides an i386 version of <a.out.h>, and handles endianness.

Tested on:	alpha, sparc64
2003-03-11 11:45:43 +00:00
Mark Murray
4d9e5eadf2 KerberosIV de-orbit burn continues. Disconnect from "make world". 2003-03-08 10:01:26 +00:00
Ruslan Ermilov
f93bdc081c With CVS_UPDATE, use read-only repository mode by default. 2003-03-06 13:54:31 +00:00
Ruslan Ermilov
f617fa528d Doh, committed to the wrong branch.
Spotted by:	johan
2003-03-04 17:24:18 +00:00
Ruslan Ermilov
7adf0ebb72 MFC: Ship with /etc/login.conf hashed.
Approved by:	re
2003-03-04 09:49:00 +00:00
Ruslan Ermilov
6192b1dff1 Make sure the default install comes with /etc/login.conf hashed. 2003-03-03 11:19:18 +00:00
Ruslan Ermilov
73ba057ccc Catch up with sys/conf/kern.post.mk,v 1.39 -- we can now use
plain ${CLEANDIR} to clean kernel and modules.  This has an
additional nicety of respecting NOCLEANDIR.
2003-03-03 08:50:32 +00:00
Ruslan Ermilov
2ff31e0d81 Ensure that build-tools end up in the object directory different
from the source directory.  (This mostly affects the RELENG_4's
``make release'' release.5 target, where "rtermcap" build-tool
for release/sysinstall ends up in the source directory and later
steps of release.5 wipe it out.)

Spotted by:	jhay
2003-02-24 20:09:16 +00:00
Ruslan Ermilov
9a9c78bd69 Respect ``makeoptions NO_MODULES'' specified in the kernel config file. 2003-02-21 11:19:25 +00:00
Tom Rhodes
24cc1d58d5 Add -DNOMAN to the list. 2003-02-11 19:21:13 +00:00
Joseph Koshy
07e5ffba6a Catch typos in the kernel name specified for an "installkernel" invocation
early on, rather than failing later with an obscure error message.

Make error messages appear consistent.
2003-02-07 07:29:57 +00:00
Poul-Henning Kamp
d0cfa43f14 Don't attempt buildworld if the path to the source-tree contains a comma.
Can be removed if the underlying issue is fixed.

Submitted by:	Flemming Jacobsen <fj@batmule.dk>
2003-02-04 08:15:30 +00:00
David E. O'Brien
cbb66355ca Move elf2aout back to /usr/bin -- it is a general development tool, not
a sysadmin tool.
2002-12-30 10:01:26 +00:00
Ruslan Ermilov
fc599016e7 For installkernel, use the fresh tools (if we've built them with
buildworld).

Reviewed by:	imp, marcel
Approved by:	re (rwatson)
2002-12-02 14:03:40 +00:00
Ruslan Ermilov
3f66c888ec Make dynamic PAM modules depend on dynamic PAM library.
Requested by:	des, markm
2002-11-14 19:24:51 +00:00
Ruslan Ermilov
40c6b893d8 Take __FreeBSD_version into account when BOOTSTRAPPING. 2002-11-13 13:49:29 +00:00
Scott Long
fb404d6fcf Hook the aic7xxx modules up. This requires some extra care since aicasm
is a compiler tool and needs to be compiled by the host compiler.  I've
tested this in i386->sparc cross-build, 4.7->current upgrade, normal
buildkernel target, and normal /sys/i386/compile/GENERIC configurations.

Submitted by:	ru
2002-11-03 23:48:14 +00:00
Ruslan Ermilov
60e155d99e Emptify. 2002-10-28 08:44:59 +00:00
Peter Wemm
6ef0c7707d DISTDIR is used by 'make release', lets see if this is enough to turn
off the execution test.
2002-10-27 03:38:57 +00:00
Peter Wemm
13f571a36c Provide a bit of anti-foot-shooting protection. Make sure that in the
non-cross cases without DESTDIR, that the bin/sh that we're about to
install works.  Otherwise, a 'make installworld' without having already
rebooted with a post-signal-fix kernel is a rather big disaster when
important things like /bin/sh coredump.
2002-10-25 19:15:29 +00:00
Ruslan Ermilov
017b462e6b _games is gone in rev. 1.305. 2002-10-22 08:30:31 +00:00
Mark Murray
dc2f663b39 Do not build the majority of the games. Remaining are the
"utility-like" games and everyone's favourite, fortune(6).
2002-10-20 11:18:56 +00:00
Peter Wemm
66422f5b7a Initiate deorbit burn for the i386-only a.out related support. Moves are
under way to move the remnants of the a.out toolchain to ports.  As the
comment in src/Makefile said, this stuff is deprecated and one should not
expect this to remain beyond 4.0-REL.  It has already lasted WAY beyond
that.

Notable exceptions:
gcc - I have not touched the a.out generation stuff there.
ldd/ldconfig - still have some code to interface with a.out rtld.
old as/ld/etc - I have not removed these yet, pending their move to ports.
some includes - necessary for ldd/ldconfig for now.

Tested on: i386 (extensively), alpha
2002-09-17 01:49:00 +00:00
Johan Karlsson
c065f5b24b Similar to bsd.subdir.mk, echo the name of the dir before
doing the cd. This is done for bootstrap-tools,
build-tools, cross-tools, and the libraries loop.

Reviewed by:	ru
Approved by:	sheldonh (mentor)
MFC after:	1 week
2002-08-23 12:49:16 +00:00
Ruslan Ermilov
d4f7b113f1 The intent in rev. 1.299 was to make the CPUTYPE assignment type check
bother "only those who attempts to set it to a different value".  This
got broken in rev. 1.300 (that fixed another race).

Reported by:	ache
2002-08-08 15:43:23 +00:00
Ruslan Ermilov
10a6b1ffc9 Makefile.inc1 may eventually be merged with Makefile, so fix an
endless recursion bug similar to the one that has been fixed in
release/Makefile,v 1.698, in advance.  A related fix to make(1)
has been committed in make/main.c,v 1.68.

Requested by:	bde (who has them merged already)
2002-08-07 13:41:46 +00:00
Ruslan Ermilov
9f3089acef An empty CPUTYPE now means ``the default CPUTYPE'' in bsd.cpu.mk.
If there was no CPUTYPE assignment in /etc/make.conf, this would
cause the ``CPUTYPE assignment type'' check to falsely fail.

Reported by:	johan

Fixed this by making sure we always pass the non-empty CPUTYPE.
Also make sure we use the correct set of share/mk files in our
test.
2002-08-05 08:54:26 +00:00
Ruslan Ermilov
32f8ca450d TARGET_CPUTYPE should exist solely in Makefile.inc1, similar to
TARGET_ARCH and TARGET.  This is problematic when one has the =
(unconditional) type of assigment for CPUTYPE in /etc/make.conf.
(This would override what was set on the command line to "make
buildworld".)

Add a (horrible) kludge to Makefile.inc1 to check the type of
assignment for CPUTYPE (only for those who attempts to set it to
a different value).  Fix an example make.conf.  Fix the kernel's
build-tools target (aicasm only at the moment) to catch up with
bsd.cpu.mk,v 1.15 (BOOTSTRAPPING replaced with NO_CPU_CFLAGS in
Makefile.inc1's BMAKE).

Reviewed by:	jhb
2002-08-02 18:04:22 +00:00
John Baldwin
22e256fded - Define NO_CPU_CFLAGS during BMAKE and TMAKE (and thus XMAKE) so that
bsd.cpu.mk doesn't have to worry about compilers other than the current
  version.
- Allow TARGET_CPUTYPE to override CPUTYPE in bsd.cpu.mk.
- Treat an empty CPUTYPE the same as an undefined CPUTYPE.
- For buildworld, buildkernel, etc., define TARGET_CPUTYPE to CPUTYPE for
  native builds and define it to be empty for cross-builds.
  TARGET_CPUTYPE is only defined if it is not already defined via the
  commandline or environment.
2002-07-31 03:56:03 +00:00
Ruslan Ermilov
609b7b3189 Inline ${_cxx_consumers}. 2002-07-24 23:08:57 +00:00
Peter Wemm
6b3086807f We're done with 1.287 and 1.288 now.
Submitted by: ru
2002-07-24 22:44:19 +00:00
Ruslan Ermilov
6faeb36914 Pass -DBOOTSTRAPPING to the kernel's build tool (sys/dev/aic7xxx/aicasm).
This way, it has a chance to be built with gcc 2.95.x (using the bandaid
in share/mk/bsd.cpu.mk,v 1.11).

Feedback timeout from:	gordon
2002-07-11 16:43:59 +00:00
Juli Mallett
b0346d3494 libufs does not need built before most things, after all.
Submitted by:	bde, ru
2002-07-01 17:51:43 +00:00
Juli Mallett
a306cfd13a Add libufs to prebuild_libs, since lots of things will want it, in time. 2002-07-01 05:43:11 +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
Maxim Sobolev
f9382a3cad Don't try to build libssh if NO_OPENSSL is defined because NO_OPENSSL implies
NO_OPENSSH.
2002-06-16 14:24:51 +00:00
Ruslan Ermilov
4093807dd9 libfetch now depends on libcrypto and libssl. 2002-06-06 13:45:46 +00:00
Ruslan Ermilov
99b73fffb8 On behalf of lib/compat/compat4x.i386/libusb.so.0.bz2.uu,v 1.1,
added uudecode(1) to bootstrap-tools.
2002-05-31 13:04:09 +00:00
Peter Wemm
3c67aa80ec Ignore a c++ that is version other than 3.1 if it does not also match
cc's version.  libgcc.a will have been clobbered and will no longer have
the old c++ support.

Submitted by:	jhb
2002-05-30 19:46:34 +00:00
Peter Wemm
f119dc7c54 Bandaid for helping people who have a broken /usr/bin/c++ installation.
This only affects the -current early adopters and developers who have
done a 'make world' in the last few weeks and as a result installed a
gcc-3.1 version of /usr/bin/c++ but without the corresponding library
support that this now requires.  This is a temporary hack that should be
deleted within a few weeks.  In this case we will use the existing
gperf/groff one last time around for the early stage1 bootstrap.  (This
isn't so bad, because we were unconditionally using the host one before)
2002-05-29 03:59:20 +00:00
Peter Wemm
0367ff7599 Put on peril sensitive sunglasses and turn C++ stuff back on. 2002-05-29 00:48:14 +00:00
Ruslan Ermilov
6af587dcab Fixed the world breakage caused by my last commit.
NOMAN is defined when building bootstrap-tools.

Submitted by:	jhay
2002-05-28 07:30:21 +00:00
Ruslan Ermilov
a6290aac9e Bootstrap makewhatis(1). 2002-05-27 15:51:38 +00:00
Ruslan Ermilov
02c0301fa7 Move elf2aout to usr.sbin/.
Approved by:	jake
2002-05-25 13:29:47 +00:00
Ruslan Ermilov
b501b9b5c1 Bootstrap elf2aout(1) for sparc64; used to build sys/boot/sparc64/boot1. 2002-05-20 14:42:48 +00:00
David E. O'Brien
d246873e61 Back out rev 1.278. Seems we grew a getconf(1) that requires it. 2002-05-18 18:23:04 +00:00
David E. O'Brien
17dbb17920 Remove local patch that crept in. 2002-05-18 18:17:13 +00:00
David E. O'Brien
ef446fb2c6 Don't build gperf. 2002-05-18 00:20:01 +00:00
Mark Murray
10b2978e07 Remove the perl bits from the build. 2002-05-16 08:55:59 +00:00
Ruslan Ermilov
83f56d9ae4 Make sure to not yet build the GNU C++, but still allow
for the C++ progs to be built with e.g. an old compiler,
CXX=/usr/bin/c++, for the time being.
2002-05-15 16:29:45 +00:00
Ruslan Ermilov
5d86203733 Rename includes' to buildincludes'.
Rename `incsinstall' to `installincludes'.
Make `includes' a -j safe shortcut for `buildincludes' + `installincludes'.
`buildincludes' and `installincludes' are SUBDIR friendly, if run directly.
2002-05-15 16:19:54 +00:00
Ruslan Ermilov
1fbb6ab569 Restore comment that got lost in revision 1.265. 2002-05-14 08:30:40 +00:00
Ruslan Ermilov
1b690a4832 Do not run includes' and incsinstall' in parallel.
Spotted by:	jhay

Parallel worlds and releases should be working again.
2002-05-14 07:30:40 +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
David E. O'Brien
428019989d Quiet the peanut gallary and back out magical "breakage". 2002-05-12 13:37:59 +00:00
David E. O'Brien
bd7ce31c9a Turn off groff and gperf -- they will not compile with the in-tree Gcc 3.1. 2002-05-10 00:50:43 +00:00
Dag-Erling Smørgrav
c3bb8639af Add rpcgen to the bootstrap tools. 2002-05-09 20:48:19 +00:00
David E. O'Brien
fdc6a23f0e `beforeinstall' w/the csu bits is a nop. 2002-05-09 20:36:42 +00:00
David E. O'Brien
1b860b61d4 Build our native CSU bits before the compiler-specific ones.
This helps in the compiler build.
2002-05-08 20:35:12 +00:00
David E. O'Brien
ce7c5cc8ef Make NO_CXX, really mean NO_CXX. 2002-05-07 07:49:12 +00:00
Bruce Evans
61e86e72c8 Sorted the directories in the rule for the includes target as much as
possible.
2002-04-30 23:29:00 +00:00
Ruslan Ermilov
8f1f55e9ae Milestone #2 in cross-arch make releases. They now work!
You need to set TARGET_ARCH and possibly TARGET, the same
way you normally do it for a cross build(7).

Renamed `distribworld' to a more natutal `distributeworld'.

Put pwd_mkdb(8) under ${INSTALLTMP}; for `distributeworld'.
2002-04-30 11:50:01 +00:00
Ruslan Ermilov
d6e61d989b Back out part of the revision 1.261: "etc" indeed needs to be
last for "distribute" to succeed -- the "make makedb" part of
the etc/Makefile:distribution target should be the last thing
made.
2002-04-30 11:46:49 +00:00
Ruslan Ermilov
64b06e7897 Make crunchide(1) a cross-tool; needed for cross-arch "make release".
Note that a.out is only supported for the non-cross i386 case.
2002-04-30 09:34:53 +00:00
Ruslan Ermilov
d672a60908 Parallel "make release" fixes. 2002-04-29 15:22:01 +00:00
Ruslan Ermilov
6bde859f40 Milestone #1 in cross-arch make releases.
Do not install games and profiled libraries to the ${CHROOTDIR}
with the initial installworld.

Eliminate the need in the second installworld.  For that, make sure
_everything_ is built in the "world" environment, using the right
tool chain.

Added SUBDIR_OVERRIDE helper stuff to Makefile.inc1.  Split the
buildworld process into stages, and skip some stages when
SUBDIR_OVERRIDE is set (used to build crypto, krb4, and krb5
dists).

Added NO_MAKEDB_RUN knob to Makefile.inc1 to avoid running
makewhatis(1) at the end of installworld (used when making crypto,
krb4, and krb5 dists).

In release/scripts/doFS.sh, ensure that the correct boot blocks are
used.

Moved the creation of the "crypto" dist from release.5 to
release.2.

In release.3 and doMFSKERN, build kernels in the "world"
environment.  KERNELS now means "additional" kernels, GENERIC is
always built.

Ensure we build crunched binaries in the "world" environment.
Obfuscate release/Makefile some more (WMAKEENV) to achieve this.

Inline createBOOTMFS target.

Use already built GENERIC kernel modules to augment mfsfd's
/stand/modules.  GC doMODULES as such.

Assorted fixes:

Get rid of the "afterdistribute" target by moving the single use
of it from sys/Makefile to etc/Makefile's "distribute".

Makefile.inc1: apparently "etc" no longer needs to be last for
"distribute" to succeed.

gnu/usr.bin/perl/library/Makefile.inc: do not override the
"install" and "distribute" targets, do it the "canonical" way.

release/scripts/{man,cat}pages-make.sh: make sure Perl manpages and
catpages appear in the right dists.  Note that because Perl does
not respect the MANBUILDCAT (and NOMAN), this results in a loss of
/usr/share/perl/man/cat* empty directories.  This will be fixed
soon.

Turn MAKE_KERBEROS4 into a plain boolean variable (if it is set it
means "make KerberosIV"), as documented in the make.conf(5)
manpage.  Most of the userland makefiles did not test it for "YES"
anyway.

XXX Should specialized kerberized libpam versions be included into
the krb4 and krb5 dists?  (libpam.a would be incorrect anyway if
both krb4 and krb5 dists were choosen.)

Make sure "games" dist is made before "catpages", otherwise games
catpages settle in the wrong dist.

Fast build machine provided by: Igor Kucherenko <kivvy@sunbay.com>
2002-04-26 17:55:27 +00:00
Gregory Neil Shapiro
b56f8802e5 Despite the fact that it is documented in the handbook, the release notes,
and UPDATING and has been posted to both freebsd-current and
freebsd-stable, users are still not adding the required smmsp user and
group before doing an installworld.  Therefore, don't let users do an
installworld unless they have followed directions.

Add a new installcheck Makefile target which installworld runs before
actually starting the installation.  This target can be used by other parts
of userland as well.  The first addition to the target is to check for the
smmsp user and group if NO_SENDMAIL isn't defined.

Others may add checks to this target as they see fit.

MFC after:	1 week
2002-04-20 19:04:59 +00:00
Ruslan Ermilov
92815c0c3a Sort _startup_libs, _prebuild_libs, and _generic_libs lists alphabetically.
Submitted by:	bde, ru
2002-04-16 14:38:15 +00:00
Ruslan Ermilov
dc173bd818 Keep up with lib/Makefile,v 1.64 (uhh). 2002-04-16 14:35:01 +00:00
Dag-Erling Smørgrav
5de7148cc9 Fix incorrect ordering in previous commit. 2002-04-15 15:31:25 +00:00
Dag-Erling Smørgrav
004e686359 Add libypclnt to the prebuild library list, and record its dependency on
librpcsvc.
2002-04-15 11:31:52 +00:00
Dag-Erling Smørgrav
761139b173 Add libypclnt to the includes target. 2002-04-13 07:24:14 +00:00
Ruslan Ermilov
4d8bba465e Add a tool (and the first application of it) that could be used
to automate building of libraries.

Prodded by:	bde
2002-04-12 19:46:25 +00:00
Ruslan Ermilov
b2490f915f I now don't seem to be able to reproduce the -DNOCLEAN buildworld
breakage with ioctl.c.  The .depend file should track dependencies
just fine, and the worst we can have is to miss new ioctls.

But I still think it's a good idea to have -DNOCLEAN build produce
the same ioctl.c as it would without -DNOCLEAN.

Prodded for a long time by:	bde
2002-04-11 14:49:32 +00:00
Ruslan Ermilov
0445498680 Don't special case i386/pc98, replace it with the smarter logic
of setting ${TARGET} -- make it default to ${MACHINE} if we are
not cross-building, and ${TARGET_ARCH} otherwise.

Set MAKEOBJDIREPREFIX based on ${TARGET}, not on ${TARGET_ARCH}.
This is useful if you want to cross-build pc98 worlds on i386.
2002-04-11 13:43:50 +00:00
Ruslan Ermilov
66002be3e8 Avoid cleaning modules twice in `buildkernel'. 2002-04-08 15:11:29 +00:00
Ruslan Ermilov
e69e77782d Bootstrap xargs(1) -- sys/conf/kmod.mk uses the new -J option.
PR:		bin/36747
2002-04-08 07:40:41 +00:00
Ruslan Ermilov
56f2a75b76 Unbreak buildworld after include/Makefile,v 1.167 commit. 2002-04-04 06:49:46 +00:00
Josef Karthauser
1b88dfbd37 Back out lots of the last commit that was committed by accident.
(It's my test rig for some CVSUP,SUP code).

Spotted by:	Michael G. Petry <petry@NetMasters.Com>
2002-04-01 20:47:27 +00:00
Josef Karthauser
388f4c1dd0 Install libusbhid.h during 'make includes'.
Requested by:	jhb
MFC after:	3 days
2002-04-01 16:59:43 +00:00
Ruslan Ermilov
9f1207d517 Install sys/security/lomac/*.h to /usr/include/security/lomac/.
Install sys/<arch>/include/pc/*.h to /usr/include/machine/pc/.

PR:		docs/29534

Install sys/netatm/*/*.h to /usr/include/netatm/*/.

Don't install compatibility symlinks for <machine/soundcard.h>
and <machine/joystick.h>.  Three years is enough to be aware of
the change, and these weren't visible in the SHARED=symlinks
case.

Back out include/Makefile,v 1.160 that was a null change anyway
due to the bug in the path, and we now don't want to install
these headers because they would otherwise be invisible in the
SHARED=symlinks case.

Don't install IPFILTER headers.  Userland utilities fetch them
directly, and they were not visible in the SHARED=symlinks case.

Resurrect SHARED=symlinks in Makefile.inc1.

PR:		bin/28002

Prodded by:	bde
MFC after:	2 weeks
2002-03-26 16:05:14 +00:00
Ruslan Ermilov
bd42830f0f Make lint(1) a cross-tool.
(See commit log for usr.bin/xlint/Makefile,v 1.11 for what was wrong
with enabling build of lint libraries in rev. 1.12.)

This fixes cross-arch compiles (running binaries for a different arch
when generating lint.7 and lint libraries) and cross-branch compiles
(4.x -> 5.0 buildworld should be working again).
2002-03-20 18:25:50 +00:00
Ruslan Ermilov
7b7aae4225 Fixed the NO_PERL braino. 2002-03-20 09:39:16 +00:00
Mark Murray
5ad400ab91 Update for Perl 5.6.1 2002-03-16 21:41:09 +00:00
Mark Murray
9365c8a336 Allow the use of NO_PERL as well as NOPERL. The latter is going to
be removed.
2002-03-16 14:55:37 +00:00
David E. O'Brien
9c15e38ac2 1-true-AWK has a build-tool target. 2002-03-06 08:24:32 +00:00
Ruslan Ermilov
ea5c0da93b Obviate the need to set the COMPILER_PATH and LIBRARY_PATH in Makefile.inc1
to pick up the correct cross-tools (the compiler executables and binutils)
and special linker files (crt*.o).  This is now controlled by a single knob,
TOOLS_PREFIX, when building cross-tools.

Fixed regression in Makefile.inc1,v 1.203 (-nostdinc).  This clobbered target
architecture's CFLAGS with building host's CPUTYPE setting in /etc/make.conf,
and had a nice but nasty side effect of exposing some (normally hidden) bugs
in system headers.

(Attempt to move the "-nostdinc -I..." part of CFLAGS into the new CINCLUDES
(modeled after a similar CXXINCLUDES) eventually failed because hard-coding
${WORLDTMP}/usr/include to be the first in the include list does not always
work, e.g. lib/libbind.)

Compensate the -nostdinc removal by making cpp(1) built in the cross-tools
stage to not look for <> header files in the building host's /usr/include
(already committed as gnu/usr.bin/cc/cc_tools/freebsd-native.h, revisions
1.10-1.12, STANDARD_INCLUDE_DIR).

: $ /usr/obj/usr/src/i386/usr/bin/cpp -v /dev/null
:
: Before:
:
: #include <...> search starts here:
:  /usr/obj/usr/src/i386/usr/include
:  /usr/include
: End of search list.
:
: After:
:
: #include <...> search starts here:
:  /usr/obj/usr/src/i386/usr/include
:  /usr/obj/usr/src/i386/usr/include

(Disabling the use of GCC_INCLUDE_DIR in the FREEBSD_NATIVE case would fix
the duplicate above.)

Get rid of the (now unneeded) -I${DESTDIR}/usr/include magic in bsd.prog.mk
and bsd.lib.mk.  Finish the removal of LDDESTDIR in bsd.lib.mk,v 1.55 -- we
no longer have users of it.

The required changes to gcc were already committed as contrib/gcc.295/gcc.c,
revisions 1.23 and 1.24.

Basically, this allows for the changes above plus makes gcc(1) persistent
about path configuration, whether it's configured as a native or a cross
compiler:

: $ /usr/obj/usr/src/i386/usr/bin/cc -print-search-dirs
: install: /usr/obj/usr/src/i386/usr/libexec/(null)
: programs: /usr/obj/usr/src/i386/usr/libexec/elf/:/usr/obj/usr/src/i386/usr/libexec/
: libraries: /usr/obj/usr/src/i386/usr/lib/
:
: $ /usr/obj/alpha/usr/src/i386/usr/bin/cc -print-search-dirs
: install: /usr/obj/alpha/usr/src/i386/usr/libexec/(null)
: programs: /usr/obj/alpha/usr/src/i386/usr/libexec/elf/:/usr/obj/alpha/usr/src/i386/usr/libexec/
: libraries: /usr/obj/alpha/usr/src/i386/usr/lib/

Reviewed by:	bde, obrien
2002-02-21 10:23:41 +00:00
Ruslan Ermilov
7a6051e857 The previous fix for broken -DMAKE_KERBEROS5 world was incomplete.
Finish it by adding kerberos5/lib/libvers to the build-tools list.

(I didn't notice it before because I tested my fix in a -DNOCLEAN
environment, and static libc.a was already in ${WORLDTMP}/usr/lib,
and libvers's make-print-version build tool used it for linking.)

Spotted by:	John Indra <maverick@office.naver.co.id>
2002-02-14 13:06:52 +00:00
Ruslan Ermilov
19f56da943 Fixed -DMAKE_KERBEROS5 world breakage in kerberos5/lib/libroken
(make-roken is a build tool).  This bug was hiding itself after
a just fixed bug in cross-linker (binutuils/ld/Makefile,v 1.20).

The bug was fatal for cross builds; for example, an alpha binary
(make-roken) was attempted to be run on i386.

Added make-roken to the list of build-tools in libasn1.  It only
worked because another build tool needs make-roken implicitly:

(build-tools: asn1_compile: print_version.o: roken.h: make-roken).

Spotted by:	nectar
2002-02-11 16:47:05 +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
Ruslan Ermilov
fac6ec1f62 FreeBSD 4.1 bootstrapping aid (setproctitle(3) is in -lutil).
This backs out (sort of) delta 1.18 to perl/miniperl/Makefile.
Update to the ld(1) comment by peter in this revision:

ld(1) built as part of the cross-tools stage of buildworld has
been fixed to look for dynamic dependencies in the right place,
${WORLDTMP}/usr/lib, effective binutils/ld/Makefile,v 1.20.

Approved by:	markm
2002-02-08 13:09:08 +00:00
Paul Richards
0f958c273a gnu/libexec has gone so remove it from the most targets. 2001-12-28 11:53:18 +00:00
Chris D. Faulhaber
d235a1a0d7 Specify the full path to mktemp 2001-12-23 22:49:06 +00:00