Commit Graph

696 Commits

Author SHA1 Message Date
Ruslan Ermilov
a59f6433d7 Make the `distrib-dirs' target official and working properly
when cross-building (installing).  (This is useful for NFS
installing world/kernel to another architecture machine.)
2005-07-15 14:38:54 +00:00
Alexander Kabaev
2b9fc5e637 Exclude build32 target from the list of toolchain and kernel-toolchain
dependencies. We do not need to build 32bit compat tools to compile
a kernel.

Approved by:	re (scottl)
Reported by:	jhb
2005-07-07 00:58:41 +00:00
Ruslan Ermilov
ece6831d38 Provide 32-bit runtime support on amd64 as a separate distribution, lib32.
Prodded by:	obrien
Nodded by:	peter
Approved by:	re
2005-06-16 18:16:14 +00:00
Ruslan Ermilov
cb1e3c19f0 Allow to override the compiler, linker, and assembler used to build 32-bit
shim libraries on amd64.
2005-06-06 09:39:46 +00:00
Ruslan Ermilov
c0913e73f9 Add install-info to the list of install tools now that we don't
always bootstrap texinfo.

Reported by:	scottl
2005-05-31 04:45:47 +00:00
Ruslan Ermilov
49bf419db0 Stop redundantly rebuilding texinfo on the next __FreeBSD_version bump. 2005-05-23 11:15:16 +00:00
Warner Losh
7d23fba22f Remove lame and ineffectual attempt to fix ipf breakage of tenderbox. 2005-05-01 17:36:09 +00:00
Warner Losh
a4f4bae7f5 Add some subversive code to cleandir: remove the sbin/ipf tree
entirely to fix the tinderbox machine.  This change will be reverted
once the tinderboxen are tindering again.
2005-04-30 16:09:23 +00:00
Peter Wemm
39d2cd6f98 Merge from RELENG_5: invert WITH_LIB32 into NO_LIB32 so that we build the
32 bit libraries by default.  Define NO_LIB32 in make.conf if you do not
want this.
2005-04-06 01:55:43 +00:00
Peter Wemm
6459b7dabc Fix the lib32 build for amd64 after v1.238 of src/include/Makefile (imp).
That change exposed the fact that I'd forgotten to set $MACHINE here.
2005-04-06 01:41:08 +00:00
Ruslan Ermilov
6eb46c30aa Fix AMD64 cross-builds when WITH_LIB32 is defined.
(Initially spotted by kris@ on RELENG_5.)
2005-03-27 19:35:09 +00:00
Ruslan Ermilov
9d11d2b6d0 Protect against DESTDIR being set during the build of build32.
Reported by:	pav
2005-03-22 14:22:47 +00:00
Ruslan Ermilov
f09a3cc462 Add hacks that I use to test cross-builds (by building on
native and foreign architectures and comparing products).
They eliminate most of the differences caused by different
object directory paths, timestamping, and identification.

(Note WORLDTMP was renamed to ${OBJTREE}${.CURDIR}/tmp.)
2005-03-02 16:40:51 +00:00
Ruslan Ermilov
0c5397aa69 Bootstrap pwd_mkdb(8) and use its new feature during "make distribute". 2005-02-28 22:55:43 +00:00
David E. O'Brien
30d7f067a4 Accept the old user interface for NO_CLEAN as it is a POLA violation as
we've eventually changed the user interface of a common command.
2005-02-28 09:23:38 +00:00
Ruslan Ermilov
6067dba1bf Unbreak buildworld. 2005-02-28 07:16:39 +00:00
Ruslan Ermilov
edc431123e Make the format of LC_COLLATE files architecture independent. 2005-02-27 20:31:13 +00:00
Ruslan Ermilov
8945135e1f Bootstrap gencat(1).
OK'ed by:	phantom
2005-02-27 19:13:41 +00:00
Ruslan Ermilov
9bdd3e8497 Added the convenience "distribution" target which calls the
target of the same name from src/etc/Makefile with a proper
environment, suitable to be used during upgrades and cross-
builds.
2005-02-27 12:11:35 +00:00
Ruslan Ermilov
88e7c7a466 Make it clear we no longer support source upgrades from
versions prior to 5.3.
2005-02-27 11:51:46 +00:00
Ruslan Ermilov
552b98b913 Add missing continuation. 2005-02-27 11:48:45 +00:00
Ruslan Ermilov
6ad80d4f0d As threatened, drop support for source upgrades from pre-5.3.
Inspired by:	obrien
2005-02-27 11:22:58 +00:00
Ruslan Ermilov
20bfae8441 Added the "buildenv" target, for developers only!
CAVEAT: if you run tcsh(1) from within this target, this will
reset your PATH making this target mostly useless.  Careful!

Submitted by:	jmg, ru
2005-02-26 22:02:18 +00:00
Ruslan Ermilov
3fb3a43079 Make the format of LC_CTYPE files architecture independent by
introducing the disk formats for _RuneLocale and friends.

The disk formats do not have (useless) pointers and have 32-bit
quantities instead of rune_t and long.  (htonl(3) only works
with 32-bit quantities, so there's no loss).

Bootstrap mklocale(1) when necessary.  (Bootstrapping from 4.x
would be trivial (verified), but we no longer provide pre-5.3
source upgrades and this is the first commit to actually break
it.)
2005-02-26 21:47:54 +00:00
Ruslan Ermilov
6fe37d1365 Add endianness support to cap_mkdb(1), useful for cross builds. 2005-02-22 23:29:54 +00:00
Ruslan Ermilov
eac161ef14 Add lorder(1) to the list of bootstrap-tools. 2005-02-19 10:25:42 +00:00
Ruslan Ermilov
fb64060c5c Allow to cross-build amd64 on non-i386. 2005-02-19 10:23:34 +00:00
Ruslan Ermilov
951e4d1c91 In crunchgen(1), when calling make(1), don't redirect stderr to stdout,
just rely on the exit status to detect an error.  This makes crunchgen(1)
safe to use with certain make(1) debugging flags.

MFC after:	1 week
2005-01-20 10:49:03 +00:00
David E. O'Brien
4e6242dfa7 Remove the special sparc64 time_t support.
If someone isn't running with a 64-bit time_t by now, they don't
track -CURRENT and would probably go to RELENG_5 vs. 6-CURRENT.
2004-12-29 19:39:06 +00:00
Ruslan Ermilov
0f399181d3 Further fix the case mentioned in rev. 1.302. The
intent was (and still is) that if a user has say
CPUTYPE=i686 set in /etc/make.conf, we don't print
the assignment type warning unless TARGET_CPUTYPE
is overridden.

Unfortunately, the implementation was buggy, and
only recent changes to bsd.cpu.mk that swapped
canonical and alias values of some CPU types made
the bug apparent.

Here's what happens here.

- CPUTYPE=i686 is set in /etc/make.conf,
- bsd.cpu.mk reset it to "pentiumpro",
- Makefile.inc1 compares this canonical value
  with the result of the following test,

make -f /dev/null CPUTYPE=pentiumpro -V CPUTYPE

and expects the result to be "pentiumpro" too,
but "i686" is returned, here's why.  We have two
CPUTYPE variables, global, set to "i686" in
/etc/make.conf, and command-line (of a higher
precedence), set to "pentiumpro".

The following part of bsd.cpu.mk,

.  elif ${CPUTYPE} == "i686"
CPUTYPE = pentiumpro

which is responsible for converting aliases to
canonical values, sees the value of the CPUTYPE
command-line variable first, "pentiumpro", and
no conversion is done -- the net effect is that
CPUTYPE global stays with its old value "i686",
and "make -V CPUTYPE" (which prints variables
in the global context) returns "i686".

The fix was to pass the CPUTYPE in the test above
as an environment variable instead of as a command
line variable, i.e.,

CPUTYPE=pentiumpro make -f /dev/null -V CPUTYPE

This time, CPUTYPE global is still set to "i686"
initially (by /etc/make.conf), and an envieronment
variable CPUTYPE (of a lower precedence) is set
to "pentiumpro".  The .elif sees it's set to
"i686" and resets it to "pentiumpro", and so
"make -V" returns "pentiumpro".

NB: these various types of make(1) variables can
be very painful, especially when combined with
"make -V".
2004-12-22 22:00:01 +00:00
Ruslan Ermilov
f45a5bbda4 NOCLEAN -> NO_CLEAN
NOCLEANDIR -> NO_CLEANDIR
2004-12-21 12:21:26 +00:00
Ruslan Ermilov
6495335e69 NOSHARE -> NO_SHARE 2004-12-21 12:13:23 +00:00
Ruslan Ermilov
582ef25f94 NOHTML -> NO_HTML 2004-12-21 12:05:11 +00:00
Ruslan Ermilov
39a855c2a1 NOGAMES -> NO_GAMES 2004-12-21 10:36:54 +00:00
Ruslan Ermilov
a216173556 NOCRYPT -> NO_CRYPT 2004-12-21 10:16:04 +00:00
Ruslan Ermilov
83c7ade90a NOSHARED -> NO_SHARED 2004-12-21 09:59:45 +00:00
Ruslan Ermilov
00fbd40770 NOFSCHG -> NO_FSCHG 2004-12-21 09:53:14 +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
Ruslan Ermilov
f1f6253f4f NOLIBC_R -> NO_LIBC_R
NOLIBPTHREAD -> NO_LIBPTHREAD
NOLIBTHR -> NO_LIBTHR
2004-12-21 09:00:26 +00:00
Ruslan Ermilov
e653b48c80 Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by:	core
2004-12-21 08:47:35 +00:00
Ruslan Ermilov
3a35b5b9a5 Minor tweaks in "make update" comments. 2004-12-17 10:11:33 +00:00
Peter Wemm
0228d5b66c Do not leave build droppings in /usr/src for usr.sbin/pcvt/keycap and
usr.bin/lex/lib for the 32 bit libraries on amd64.  Add an explicit
obj for these two directories that are built in for the "libraries" target.
2004-12-01 23:23:14 +00:00
Ruslan Ermilov
d938e8d640 Hopefully fix the "aicasm" build-tool issue when using ${KERNSRCDIR}
different from ${.CURDIR}.

Reported by:	jhb
2004-11-23 09:09:47 +00:00
Peter Wemm
63d76a5f0d In the amd64 hybrid libraries case, move the kerberos5 tools to before
building the kerberos5 includes.  This is not the same patch that
Bjoern A. Zeeb came up with, but the credit still goes to him for finding
the problem.  Thanks!
2004-11-20 23:41:25 +00:00
Peter Wemm
9291686f75 Oops, all my test boxes have NO_KERBEROS set, so I didn't hit the kerberos5
build tools problem.  I'd missed the kerberos5/tools stuff entirely.  Add
the missing bits.
2004-11-15 05:59:10 +00:00
Bjoern A. Zeeb
6c58990d47 Add knob NO_NIS (fka NO_YP_LIBC) and make world compileable when set.
If turned on  no NIS support and related programs will be built.

Lost parts rediscovered by:	Danny Braniss <danny at cs.huji.ac.il>
PR:		bin/68303
No objections:	des, gshapiro, nectar
Reviewed by:	ru
Approved by:	rwatson (mentor)
MFC after:	2 weeks
2004-11-13 20:40:32 +00:00
Ruslan Ermilov
0931d0a9f8 Show stray files during "cvs update". 2004-11-12 13:22:22 +00:00
Peter Wemm
f9faa1eb23 Ruslan told me I should have quoted the arch strings when comparing to
MACHINE_ARCH.  Belatedly get around to doing it.
2004-11-10 23:38:00 +00:00
Peter Wemm
fae9d9992b Change WANT_LIB32 to WITH_LIB32. Sorry for the whiplash folks.
It was pointed out to me that the convention we have is to use WITH_
elsewhere in the system, eg: ports etc.  This is all temporary anyway
and presumably will be inverted to a NO_LIB32 or something like it in
the future.
2004-11-10 23:31:07 +00:00
Peter Wemm
1d9468ee37 Convert tools/lib32/build.sh into world connectable hooks. This still
rates pretty high on the "hack!" scale, but it works for me.  Adding
-DWANT_LIB32 to the world build command line, or 'WANT_LIB32=yes' to
/etc/make.conf will include the 32 bit libraries with the build.

I have not made this default behavior.  Cross compiling this stuff is an
adventure I have not investigated.

This is still a WIP.  We needed this at work so that we could install from
a readonly obj tree - lib32/build.sh wasn't up to that.
2004-11-06 03:14:26 +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
Peter Wemm
c5ebbe8ff0 Catch another gcc-3.3 c++ include path reference and update it to 3.4. 2004-10-11 23:51:13 +00:00
Doug Barton
2a61444749 1. Add much finer granularity to the NO_BIND knobs with the addition of:
NO_BIND_DNSSEC, NO_BIND_ETC, NO_BIND_NAMED, and NO_BIND_UTILS.

2. Make creation of directories in /usr/include that are only needed
in the WITH_BIND_LIBS case conditional.

Reviewed by:	ru, des
2004-09-27 08:23:43 +00:00
Ruslan Ermilov
e19f6f27a7 Hopefully fix alpha and sparc64 builds: on these architectures,
libpthread is provided by src/lib/libc_r.

Also, removed lib/bind from _generic_libs, "lib" will suffice.
Also, removed redundant lib/bind dependency on lib/libpthread
(as lib/bind is not in the _prebuild_libs, it's not needed).

Prodded by:	trhodes@ reporting that des@ is on the flight
2004-09-21 21:47:05 +00:00
Dag-Erling Smørgrav
cd3ee173f9 Switch from BIND 8 to BIND 9.
Submitted by:	(in part) dougb@, trhodes@
Reviewed by:	dougb@, trhodes@, re@
MFC after:	5 days
2004-09-21 19:01:48 +00:00
Warner Losh
d0beb85305 Although 'Unanimous Consent' appears to be a well defined and used in
the US Senate, Canadian Parliament and Australian Senate, it was
causing some confusion.  After some consultation with Mark Murray,
change this to 'without objection' since often times a plain-speaking
term is preferable to a regionally used term.

Also, clarify that this procedure is to be used when for more mundane
matters that need a sanity check, but don't need the whole, ponderous
voting proceedure that more difficult issues require.  Core members
that read email in any given 48 hour period are trusted enough to know
the difference and to provide the sanity check as necessary.

Reviewed by: markm
2004-09-07 15:19:40 +00:00
Paul Richards
db68d2a6b7 Backout the CVSTAG variable, it could potentially be dangerous if
you track multiple releases in different trees.

Leave the CVSOPTIONS variable there since it could be useful.
2004-08-26 10:24:25 +00:00
Ruslan Ermilov
e5d264a34b Fix "make world DESTDIR=/mnt" to work again. A recent change
to make(1) that causes command-line variables to be passed as
command-line variables to sub-processes that make(1) executes
broke it.  By changing the type of all DESTDIR variables used
internally in Makefile.inc1, from environment to command-line
variables of the highest priority, I was able to "make world"
with success, with the command-line variable DESTDIR set.
2004-08-25 22:06:29 +00:00
Paul Richards
e88261150a Add a CVSTAG makefile variable that can be set in /etc/make.conf that
determines which CVS tag to track when running make update. This makes
it easier to configure a box to track a particular release if it does
automated updates from a cvs repository.
2004-08-24 23:12:16 +00:00
Ruslan Ermilov
7c996c4acc A fix from rev. 1.52 of gnu/usr.bin/cc/cc_tools/Makefile was lost
in rev. 1.57.  Fix this regression by making cc_tools a new-style
build-tool in Makefile.inc1.  For details of what has been fixed,
please see the gnu/usr.bin/cc/cc_tools/Makefile,v 1.52 commit log.

Caught this by accidentally touching param.h while in the process
of cross-buildworld for amd64.
2004-08-18 13:21:40 +00:00
Ruslan Ermilov
0ec443a080 Moved the MAKEOBJDIRPREFIX check from Makefile.inc1 to Makefile,
to suppress warnings with installworld and distributeworld when
env(1) cannot be found in the PATH.
2004-08-18 06:49:56 +00:00
Ruslan Ermilov
bf90c6ee99 sys/boot seems to compile fine on Alpha; unbreak ``make release''.
Prodded by:	re-alpha (wilko)
2004-08-16 18:17:14 +00:00
Hartmut Brandt
88e299900c Ensure that a new gensnmptree is built. This should fix the problems
with the snmp_atm module.
2004-08-11 16:45:20 +00:00
Ruslan Ermilov
72e3b0396f Enforce the check that MAKEOBJDIRPREFIX (if set) is set in environment
only, and not as a global (in /etc/make.conf) or command-line variable.

MAKEOBJDIRPREFIX has never been a global or command-line variable, and
the fact that it works in some scenarios for "make buildworld" doesn't
make it any more correct.  Using it as a global or command-line variable
is error prone, discouraged, costs us lot of false build reports, etc.

This commit is aimed to fix it once and for all.

Anyone potentially objecting to this change is encouraged to read the
make(1) and make.conf(5) manpages, and the comments regarding the use
of the MAKEOBJDIRPREFIX variable in /usr/share/mk/bsd.obj.mk and
/usr/share/examples/etc/make.conf.
2004-08-11 11:02:26 +00:00
Hartmut Brandt
de5b5e45a0 Fix recent breakage in rescue. We need to build a new crunchgen
that will not emit the bad MAKE=make line that caused the breakage.

Submitted by:	ru
2004-08-10 13:18:05 +00:00
Hartmut Brandt
088cf0fb43 Make make recurse into sub-directories and sub-makes when given
two -n flags.  If only one -n flag is given the old behaviour
is retained (POLA).  In order to make this working for installworld
change the IMAKEENV in this case so that the tools are found
(we have no temporary installation environment in this case).

Submitted by:	ru (IMAKEENV part)
2004-08-09 11:38:41 +00:00
David E. O'Brien
e62200e75a The file(1) related build-tool moved to libmagic. 2004-08-09 10:51:01 +00:00
Alexander Kabaev
81efba8c9e Bmake glue for GCC 3.4.2-prerelease. 2004-07-28 05:27:21 +00:00
Hartmut Brandt
be628d2848 Get rid of the THISHOST variable when building on sparc64. The problem
with it is that it is set by calling hostname and hostname isn't normally
in the path at that point.
2004-07-08 09:08:09 +00:00
David E. O'Brien
2c67a07fd0 Third time's a charm?? (the logic was reversed from desired)
Time for sleep...

Submitted by:	ru
2004-06-17 08:06:41 +00:00
David E. O'Brien
6e009069f5 Grrr, use the userland spelling not the kernel tree spelling. 2004-06-17 05:27:56 +00:00
David E. O'Brien
f1e3e1c78f Fall out from Binutils 2.15: disable building the Alpha loader. 2004-06-17 02:59:53 +00:00
Ruslan Ermilov
b4c3fa62f8 Allow buildworld and friends to complete when make(1) is called
with some debug flags (-d).

Noticed by:	Gleb Smirnoff
2004-05-17 16:19: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
466b960f3a Catch up with the current output of tools/make_libdeps.sh:
- Removed the stale dependency of libypclnt on librpcsvc.
- Fixed the dependency graph of libssh.
2004-05-12 07:02:17 +00:00
Ruslan Ermilov
b4b831ef39 - Added rad_demangle() for demangling user-passwords (needed for
MS-CHAPv1 MPPE-keys).
- Added rad_demangle_mppe_key() for demangling mppe-keys (needed
  for MPPE-keys).
- Added some typecasts for avoiding compiler warnings.
- Fix: better handle wrong usage of the lib (if the programmer
  has not called rad_create_request() but rad_put_*(), then a
  weird error message was returned).
- Added a new function for putting the Message-Authenticator.
- Verify the Message-Authenticator, if it was found inside a
  response packet and silently drop the packet, if the validation
  failed.
- Implicitly put the Message-Authenticator, if the EAP-Message
  attribute was added.
- Added some missing defines.

Submitted by:	Michael Bretterklieber
PR:		46555
2004-04-27 15:00:29 +00:00
Hartmut Brandt
9de3b3505c Move the SNMP MIBs and tree definitions from /usr/share/bsnmp to
/usr/share/snmp. This mirrors the use of /usr/local/share/snmp and
makes also more sense when non-bsnmp-specific MIBs go in.
2004-04-14 16:06:19 +00:00
Dag-Erling Smørgrav
43fc676240 Add a kernel-toolchain target which only builds the bits required to build
a kernel.  This is essentially the same as the toolchain target, except
that it does not build headers and libraries.

Submitted by:	ru
2004-04-13 13:42:01 +00:00
Ruslan Ermilov
839274c75b Added the `toolchain' top-level target, which builds enough of
buildworld, up to and including libraries, except for actually
building the world.

Requested by:	many
2004-03-24 08:26:22 +00:00
Ruslan Ermilov
e5b369af8c Removed 3x2 dots I don't like. ;) 2004-03-19 17:57:07 +00:00
Ruslan Ermilov
0aacff4d4d Create /usr/sbin in ${WORLDTMP}. I've accidentally removed it in
revision 1.343, but it's needed for btxld(8), and this fix (along
with the --enable-64-bit-bfd configured BFD on i386) allows other
architectures to successfully cross-build the i386 world.

Tested on: 	alpha
2004-03-19 15:08:58 +00:00
Ruslan Ermilov
ba3ae5543b Comment various stages of buildkernel, symmetrical to buildworld. 2004-03-18 10:17:03 +00:00
Ruslan Ermilov
125499e595 Don't scare non-root users attempting to build world. 2004-03-14 16:44:27 +00:00
Ruslan Ermilov
2f00651dae Create hierarchy before installing a new kernel. This is needed
because we require that a new kernel be installed prior to a new
world, and we may need some new directories to succeed.

Once MFCed, this will also help those poor souls who redundantly
``mv /modules /modules.old'' in RELENG_4 before an installkernel.

Requested by:	many
MFC after:	3 days
2004-03-13 15:46:34 +00:00
Ruslan Ermilov
e436e60bb8 Hide internal implementation details of UID/GID checks from the user. 2004-03-12 13:24:17 +00:00
Ruslan Ermilov
2ff05f90ae Use find(1) instead of ``pw groupshow'' to detect missing groups.
Restore checks for recently added PF groups.

Reviewed by:	mlaier
2004-03-12 13:20:24 +00:00
Gregory Neil Shapiro
7698f25ac3 Use 'pw groupshow' instead of 'id -g' to see if a group exists.
PR:		64073
Submitted by:	jhb
MFC after:	5 days
2004-03-12 03:46:15 +00:00
Max Laier
e12b910d65 Back out id -g checks as they are wrong (sendmail group untouched).
Requested by:	dwhite
Approve by:	dwhite
2004-03-11 00:22:04 +00:00
Max Laier
0ab11e651c Add installcheck for proxy:proxy and authpf.
Suggested by:	ru
Approved by:	bms(mentor)
2004-03-10 16:34:11 +00:00
Garance A Drosehn
171ae50e88 Reword two more lines to avoid wrapping. 2004-03-05 18:16:28 +00:00
Garance A Drosehn
b7d4457608 Minor stylistic improvements in the SPECIAL_INSTALLCHECKS section, mainly
to reduce the number of wrapped lines.

Suggested by:	bde
2004-03-04 18:41:35 +00:00
Bruce Evans
9565bbf3b1 Improved the description of the installkernel targets.
Don't hide what we do to force failures for the installkernel targets
or other targets.
2004-03-04 09:14:30 +00:00
Garance A Drosehn
afc6f08629 Commit the first set of files for changing time_t on freebsd/sparc64
from a 32-bit value to a 64-bit value.  This commit does not actually
change anything.  It merely provides instructions, scripts, and a safety
measure in Makefile.inc1 for people who want to make the change.

The real change to 64-bit time_t's on sparc64 is scheduled to happen
on March 10th, assuming that so major problems are found between now
and then by early-adopters.

Reviewed by:	freebsd-sparc64
2004-03-03 19:36:20 +00:00
Ruslan Ermilov
1e40560424 Drop directory existence checks.
OK'ed by:	bde
2004-02-13 21:52:08 +00:00
Ruslan Ermilov
11bf3600e8 Overhaul of kerberos5/ makefiles. Most significant changes are:
- Dropped support for standalone builds, this was only partially
  supported anyway, and required so much magic in makefiles that
  made life dangerous (e.g., by using the custom yacc rules).

- Got rid of .OBJDIR in makefiles -- makes building of individual
  files possible again.

- Made the .x.c transformations -j safe.

- Reprogrammed LDADD to fix static build of some utilities that
  was broken.

- Fixed LDFLAGS and DPADD in the WITH_OPENLDAP case -- positively
  affects the contents of .depend files.

- Removed redundant .h's from SRCS, only kept those that are
  generated.

- libkrb5/ INCS were bogusly installed again with libgssapi/.

- Made build-tools real tools with their own makefiles in
  separate directories.  This allows us to properly track
  their dependencies, etc.

- Faster build, 21% less of makefile code!

Approved by:	nectar
Reviewed by:	markm
Silence on:	arch
2004-01-31 08:15:57 +00:00
Hartmut Brandt
b6a6dd1872 Create the OID and tree files while building the modules and the daemon
instead of creating them by hand and storing them in the CVS tree. Add
gensnmptree to the bootstrap tools (it is used to generated these files).
This simplifies the update procedure.

Submitted by:	ru
2004-01-23 16:22:49 +00:00
Ruslan Ermilov
bbe8270c50 - Run makewhatis(1) in etc/Makefile at the end of "install".
- Removed redundant and undocumented NO_MAKEDB_RUN knob.
2004-01-22 08:18:37 +00:00
Ruslan Ermilov
5151e7223e Create ${WORLDTMP}/legacy/usr/include/c++/3.3 for usr.bin/lex. 2004-01-17 01:24:13 +00:00
Ruslan Ermilov
33b53e37dc lex(1) prior to flex.skl,v 1.8 and gen.c,v 1.7 requires bootstrapping.
Prodded by:	nectar
2004-01-16 16:06:54 +00:00
Ruslan Ermilov
897ca6ebd9 Alongside revision 1.382, don't build profiled libraries so early
in the build -- it's OK to keep this for the "make all" phase.
2004-01-15 09:50:54 +00:00
Garance A Drosehn
5091e3df70 Fix a problem where 'make installworld' will fail and leave the
system in a messy state *if* the user is upgrading from a system
which has no /libexec to a system which builds a DYNAMICROOT, and
if that user has set DISTDIR (as documented for ports, but it turns
out that the same variable name is used for a completely unrelated
purpose in 'make release').

There are other possible fixes for this issue, and ru@ may later
decide to commit one of those fixes.  I just wanted some fix in
ASAP, and this is the fix that I have tested.

Reviewed by:	bde, imp, and ru
2003-12-09 00:42:44 +00:00
Gordon Tetlow
5257abea22 Invert the condition that installs the dynamic linker early, since
DYNAMICROOT is now the default. Also document -DNO_DYNAMICROOT since
that is going to be a documented feature.

Submitted by:	matusita, rushani
2003-11-16 21:17:43 +00:00
Hartmut Brandt
360b288fd2 The snmp_netgraph module depends on libnetgraph. So add a dependency and
add libnetgraph to the list of prebuilt libraries in the main Makefile.

Reviewed by:	ru
2003-11-12 17:09:13 +00:00
Hartmut Brandt
cd7b6c1eea Make two directories under usr/share/bsnmp that are needed during
library build to install tree definition files and MIBS.

Okay'ed by: ru
2003-11-10 09:00:08 +00:00
Ruslan Ermilov
c54d7e028f Don't be so chatty about building includes. 2003-11-03 21:09:47 +00:00
Ruslan Ermilov
829340b175 Retired the "most" and "installmost" targets -- they just
do not have a chance to work nowadays as we have a lot of
internal libraries in lib/.

Discussed with:	marcel, wollman
2003-10-04 18:53:38 +00:00
Ruslan Ermilov
9ed6055244 Help those attempting to upgrade from static to dynamic root. 2003-09-16 12:53:18 +00:00
Ruslan Ermilov
3d0d5c76b0 Catch up with libpthread/support/Makefile.inc,v 1.6 and revert
Makefile.inc1 revisions 1.365 and 1.367: libc_pic.a is no longer
necessary to build libpthread.so (ie: libkse.so).
2003-09-15 21:18:30 +00:00
Ruslan Ermilov
be01c2220b - No need to create libfoo.so -> libfoo.so.X symlinks in /lib,
as it was decided that our toolchain will revert to looking
  for libraries in /usr/lib only.

- Make /usr/lib/libfoo.so -> /lib/libfoo.so.X symlinks absolute
  so that they still work if /usr is symlinked.

- Remove stale /usr/lib/libfoo.so.X libraries during install.

Discussed with:	gordon, obrien, peter
2003-09-07 14:15:40 +00:00
Scott Long
d61a976bc5 Clarify the numbering of some of the build stages. 2003-09-01 06:43:24 +00:00
Ruslan Ermilov
e95130d934 Revert rev. 1.378, and restore the correct arithmetic expression
syntax.  The

	make buildworld
	mv /usr/include /usr/include.old
	make installworld

issue has been fixed a month ago in Makefile,v 1.285, and there
is no valid reason to continue to keep the wrong syntax here --
buildworld takes care of upgrading a make for you if necessary.
But if you find yourself in an environment with an old make(1)
binary that breaks on this, and this is because you attempted
to run a target other than buildworld, don't whine but try again
with -DALWAYS_CHECK_MAKE defined -- it should do the trick.
Otherwise, if you still have a problem, please report it as a
bug and attach the ``make -dl ...'' output.

Reviewed by:	marcel
2003-08-30 13:48:16 +00:00
Marcel Moolenaar
bb66285c75 Remove the AFM (Anti-Footshooting Measure) added when we split the
5.x signal code from the 4.x signal code. The split happened in
Oct 2002 and we have had 2 releases since then. A kernel older than
5.0-R cannot reasonably be called a -current kernel anymore.

This does not break upgrading from an 10 month older kernel. It just
makes it more exiting.
2003-08-28 20:13:34 +00:00
Warner Losh
c3754771d8 OSRELDATE should fallback to 'unknown' rather than the kernel that's
booted on this machine.  This is a slightly better default to use.

Requested by: ru
2003-08-27 04:49:43 +00:00
Warner Losh
e4df6a7dca Add @ before the shell invocation for the testing of sufficiently new sh.
No need to see this message twice.
2003-08-25 18:30:06 +00:00
Warner Losh
b21d83f121 Fall back to using the kernel version for the OSRELDATE when
/usr/include/osreldate.h doesn't exist on the system.  While this
could be worked around by saying something like 'make includes
OSLRELDATE=0' when this file doesn't exist, it is just as easy to
provide a fallback when the file we know we depend on doesn't exist.
While this doesn't make all targets work w/o a
/usr/include/osreldate.h, because some of the FreeBSD bootstrap tools
use this file.  'make includes' however does work.

Noticed by: peter, obrien (and likely others)
Pointy hat to: imp (for suggesting a method that depended on /usr/include)
2003-08-25 17:48:25 +00:00
Gordon Tetlow
0b0c94741a In preparation for libraries being installed in /lib, add lib to the
list of build directories during the tool creation phase of the build.
2003-08-17 07:50:15 +00:00
Mark Murray
234f7acb7c Don't lint(1) so early in the build. Its OK to keep this for the
"make all" phase.
2003-07-24 18:14:29 +00:00
Gordon Tetlow
234a652964 Apparently we prefer underscores in new options. Sorry for the churn folks.
Requested by:	obrien
2003-07-14 16:21:16 +00:00
Gordon Tetlow
a20c015c92 Forgot that the rescue subdir needs to be a conditional for the
build-tools bit.
2003-07-11 17:01:58 +00:00
Gordon Tetlow
4d938af0ba Turn rescue back on, conditional to NORESCUE. We seem to be split on
using underscores or not, so I just randomly picked a style. I think
I have the logic correct, but if someone wants to give it a once over
that would be good.

Tim submitted a patch to fix the cross-building issues which I tested
with a tinderbox run for sparc64.

Submitted by:	Tim Kientzle <kientzle@acm.org>
2003-07-11 16:57:43 +00:00
Kris Kennaway
dda3614332 Correct makefile syntax error in r1.375. 2003-07-10 05:29:56 +00:00
David E. O'Brien
67599f4512 Style nit. 2003-07-08 01:24:21 +00:00
Gregory Neil Shapiro
d0c749d35f Use 'id' instead of 'grep' to detect the presence of the smmsp user/group.
This fixes the check for users with smmsp in NIS instead of their local
files.

Suggested by:	peter
MFC after:	5 days
2003-07-06 19:37:40 +00:00
Ruslan Ermilov
5dc6311712 Fixed style bugs related to parentheses in Makefile.inc1.
Submitted by:	bde

Fixed nearby bug: propagate the root Makefile's idea of
the appropriate "make" binary down to release/Makefile.
2003-07-04 14:27:06 +00:00
Gordon Tetlow
18ecbedd16 More NO_RESCUE to RESCUE transitions.
Submitted by:	ru
2003-07-02 19:26:19 +00:00
Gordon Tetlow
e9693da9e1 Switch the logic on the /rescue bits from NO_RESCUE to RESCUE, at least
until there is a fix for cross building available.
2003-07-01 23:10:39 +00:00
Ruslan Ermilov
3cc956548f Put rescue/ into a correct slot in the SUBDIR list. Sort bootstrap-,
build-, and cross-tools lists, reformat lists for easier maintenance.

Submitted by:	bde, ru
2003-07-01 12:57:53 +00:00
Ruslan Ermilov
a3d6b3e7d7 Only bootstrap crunchide(1) and build crunchgen(1) when necessary.
The latter needs to be built either if it's used as a cross-tool
(${TARGET_ARCH} != ${MACHINE_ARCH}) or if it has backward compat
issues, like e.g. lack of the AMD64 support.
2003-07-01 12:25:11 +00:00
Gordon Tetlow
4e650399de Do the deed and hookup /rescue to the build. As a result, always build
crunchgen and crunchide as cross-tools.

Submitted by:	Tim Kientzle <kientzle@acm.org>
2003-06-30 05:59:35 +00:00
Sean Kelly
e372405047 - Fix a typo.
PR:		bin/53864
Submitted by:	Lukas Ertl <l.ertl@univie.ac.at>
Approved by:	jeff (mentor)
2003-06-28 04:46:45 +00:00
Hidetoshi Shimokawa
0147d2aa71 Allow installkernel.debug and reinstallkernel.debug. 2003-06-22 10:01:03 +00:00
Warner Losh
c452953245 Minor tweaks to the build process so that we can build 5.1-current on
4.8-stable:

Must build lib/libc before libpthread.  Fix how we do this to be more
consistant with how lists are handled in the file.  Also, don't bother
to prebuild libc if we're not building libpthread.

Submitted by: ru@
Reviewed by: bde@ (before ru@ submitted it)
2003-06-14 17:50:13 +00:00
Dag-Erling Smørgrav
f212249acf Do not bogusly set CSTD to the empty string. 2003-06-14 13:30:32 +00:00
Warner Losh
21e24af3ff Add lib/libc to list of _prebuild_libs because we need the target
built libc_pic.a for libkse.

# This should finally fix the build on 4.x

Submitted by: kan
2003-06-08 04:15:05 +00:00
Warner Losh
59d855a0fe When boot strapping from older systems, don't specify a C standard in
the bootstrap process.  This allows one to more completely build from
a -stable box.

Reviewed by: ru@ (briefly)
2003-06-07 18:16:12 +00:00
David E. O'Brien
652b5a7533 Wrap gperf & groff wth NO_CXX. 2003-05-31 21:29:38 +00:00
Ruslan Ermilov
a0218a2a4d Unbreak world build if NO_OPENSSL is defined but NO_KERBEROS is not.
Submitted by:	Marius Strobl <marius@alchemy.franken.de>
Approved by:	re (jhb)
2003-05-21 21:47:20 +00:00
Dag-Erling Smørgrav
7691f66abf Retire the useless NOSECURE knob.
Approved by:	re (scottl)
2003-05-19 15:52:01 +00:00
Ruslan Ermilov
8ec00e70b1 Unbreak parallel make of _includes after revision 1.356 changes.
Spotted by:	bde
Approved by:	re (scottl)
2003-05-18 20:22:26 +00:00
Ruslan Ermilov
5d29610095 -lbsdxml lives in lib/libexpat. *Blush*
Submitted by:	tmm (Makefile.inc1)
2003-05-18 00:40:22 +00:00
Ruslan Ermilov
81d5f4384e Unbreak world: record libgeom dependency on libbsdxml here too.
Forgotten by:	ru
Submitted by:	des
Verified by:	tools/make_libdeps.sh
Approved by:	re (scottl) (related change)
2003-05-17 23:07:09 +00:00
Ruslan Ermilov
50da533c0e Use the installed world's idea of OSRELDATE rather than the kernel.
This was the initial intent anyway, and it became clear that it is
really necessary to treat it this way, as many people happen to run
with kernel newer than the installed world.

Submitted by:	imp, ru
Approved by:	re (scottl)
2003-05-15 17:59:32 +00:00
Bruce Evans
a270eca53b Install symlinks to individual headers instead of symlinks to directories
in the SHARED=symlinks case.  Symlinks to directories only work if all the
the necessary headers are in 1 directory, but the necessary headers are
scattered for at least ipfilter headers in <netinet>.  This change also
avoids polluting /usr/include with non-headers; the /usr/include hierarchy
is now independent of the setting of SHARED.

Submitted by:	ru (edited to fix netgraph/bluetooth/include and machine/pc)
PR:		44148
2003-05-05 12:54:26 +00:00
Mark Murray
4ee05d2921 Negate the logic of MAKE_KERBEROS5, and replace it with NO_KERBEROS. 2003-05-05 08:44:40 +00:00
Warner Losh
22bd4d16b6 Many developers run with userland != to kernel. While this isn't
supported, it usually works for months at a time.  Allow these people
to override the OSRELDATE of their installed world when things don't
match and the exact OSRELDATE matters and is different than the
kernel.  Now that Makefile.inc1 depends more and more about which date
you have to optimize the pieces it builds, it may be necessary to
pessimize things if its guesses are wrong.

If OSRELDATE is already set, we won't fork the sysctl to find out what
the kernel's date is.

Developers on IRC suggested that they run mismatches all the time as
well.

Reviewed by: obrien
2003-05-04 04:14:10 +00:00
Ruslan Ermilov
dd2aac0249 For the time being, upgrade the whole Groff (to version 1.19),
but stop doing so again on the next __FreeBSD_version bump.
2003-05-01 20:41:03 +00:00
Ruslan Ermilov
01b63a1009 Restore the ordering of NO's and remove one redundant NOLINT.
Reviewed by:	markm
2003-04-30 12:38:20 +00:00
Mark Murray
945e0cea45 Fix "make world" for the WANT_LINT case. The various build tools
must not try to lint(1) stuff at *-tools time; keep the linting
for the actual build (which comes later).
2003-04-30 11:17:33 +00:00
Ruslan Ermilov
007bf12e1e Groff after 2002/10/15 has no known backward compatibility issues,
but we always want the latest macro files.
2003-04-30 10:58:52 +00:00
John Baldwin
69e7419512 Rename KRNLSRCDIR to KERNSRCDIR and allow it to be overridden. The name
change was to be consistent with other overridable variables such as
KERNCONFDIR and KERNCONF.
2003-04-16 21:05:06 +00:00
Ruslan Ermilov
c2400c8ec5 kbdcontrol.c rev. 1.35 and onwards support the KEYMAP_PATH
environment variable, and don't need to be bootstrapped.
2003-04-14 14:46:13 +00:00
Ruslan Ermilov
692ebfe975 yacc(1) with skeleton.c rev. 1.29 in HEAD and rev. 1.28.2.1 in RELENG_4,
and onwards, are believed to not require bootstrapping.
2003-04-13 16:26:31 +00:00
Ruslan Ermilov
da54b929c3 xargs.c rev. 1.10 in HEAD and rev. 1.9.2.1 in RELENG_4,
and onwards, have support for the -J option we need.
2003-04-13 16:05:28 +00:00
Ruslan Ermilov
47c95a33ef elf2aout.c,v 1.6 and onwards have no known backward compatibility issues. 2003-04-13 15:43:29 +00:00
Ruslan Ermilov
710b5ef8fc uudecode.c rev. 1.23 in HEAD and rev. 1.13.2.3 in RELENG_4,
and onwards, have no known backwards compatibility issues.
2003-04-13 15:09:26 +00:00
Ruslan Ermilov
7a9bf94022 Only create directories that are really needed. 2003-04-13 14:34:17 +00:00
Ruslan Ermilov
ad1520bdf4 Install bootstrap-tools into a separate subtree of ${WORLDTMP}.
This allows us to use them as early as possible while building
bootstrap-, build-, and cross-tools.  Some cleanups to follow.

This change resolves the gperf(1) bootstrapping issue (missing
-E option) in gnu/usr.bin/cc/cc1plus while in the cross-tools
stage when upgrading from 4.0-RELEASE.
2003-04-13 11:42:55 +00:00
Ruslan Ermilov
cb66f4dd73 Make sure legacy stuff comes last. Some tools that use
legacy stuff (binutils) depend on this order.

For this to work, provide (and use) specialized versions
of bsd.prog.mk and bsd.lib.mk that include the standard
versions first, then augment CFLAGS, DPADD, LDADD, and
LDFLAGS as necessary, with the legacy stuff.

Tested on:	4.0-RELEASE
2003-04-12 15:07:46 +00:00
Ruslan Ermilov
7552a592f4 libc_gen/basename.c depends on include/libgen.h. 2003-04-11 17:58:17 +00:00
Ruslan Ermilov
c0006b49db Put back the undocumented change from rev. 1.334 too: no
need to create ${WORLDTMP}/legacy/usr/include explicitly.
2003-04-07 00:01:33 +00:00
Warner Losh
5675749e1a Put back parts of 1.335 and 1.336 that 1.337 accidentally backed out.
Submitted by: ru
2003-04-06 23:46:02 +00:00
Warner Losh
1c62f92354 -legacy and /.../legacy/... looks better than build or bootstrap in
the logs, so use that instead.

Submitted by: obrien.
2003-04-06 21:46:44 +00:00
Ruslan Ermilov
5ceb21ff5d Always remove ${WORLDTMP}/build/usr/include, even in the NOCLEAN
case.  This way, we won't have stale compatibility headers there.
2003-04-06 21:39:20 +00:00
Ruslan Ermilov
cfc236e808 Moved libbuild target to where it belongs. Added a comment. 2003-04-06 21:33:49 +00:00
Ruslan Ermilov
32054bbb7e Fixed buildworld stages names in comments. 2003-04-06 21:23:02 +00:00
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