Commit Graph

636 Commits

Author SHA1 Message Date
Ruslan Ermilov
5740a2b62d Convert NO_PROFILE and NO_LIB32 to new style. 2006-03-18 21:37:05 +00:00
Ruslan Ermilov
c3ed02cf4f Add the new "showconfig" target that displays build configuration.
Suggested by:	phk
2006-03-18 14:30:23 +00:00
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
Ruslan Ermilov
6cb9d90a51 When building for pc98, don't create stray objects in the
usr.sbin/pcvt/keycap source directory.

Found by:	phk
MFC after:	3 days
2006-03-16 07:31:50 +00:00
Giorgos Keramidas
00602d0926 After revision 1.4 of `src/usr.sbin/bsnmpd/bsnmpd/Makefile' the
gensnmptree utility is required at "make depend" time, because it
is used to generate `oid.h' for bsnmpd.

This means that all versions of HEAD before 2004/01/23 16:22:49 need
gensnmptree as a bootstrap util when it's not already installed as
part of the base system.  The first __FreeBSD_version that we can
assume this can work is 700014 which happened after the gensnmptree
change (in -r 1.263 of `src/sys/sys/param.h', at 2006/02/17 14:14:15).

For __FreeBSD_version values before 700014 add gensnmptree to the
bootstrap tools, to allow upgrades from versions of FreeBSD before
that date.

Approved by:	ru, harti
2006-03-09 12:55:02 +00:00
Ruslan Ermilov
e8a71dcc2f Detect that the "audit" group is missing earlier during install. 2006-02-27 09:17:39 +00:00
Alexander Leidinger
8a32134cdd A file can also be a link, so check not only for a file, but also for a link
in the delete-old and check-old targets.

We don't install a lib (libXY.so.Z) as a link, but an user may have created
something like this. This is dangerous if this link points to a different
version of the lib. So check for a link also in the *-lib targets (an
annoyed user which absolutely wants this redirection of a lib should use
libmap.conf instead of a link).

A directory can also be a link, but in this case just echo a message to
remove it by hand.
2006-02-18 16:58:21 +00:00
Doug Rabson
38311499cc Revert the previous change - the lib32 build should work now. 2006-01-02 17:52:16 +00:00
Doug Rabson
29af427b83 Temporarily disable the kerberos5 lib32 build while I try to fix it
properly.
2006-01-02 10:03:35 +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
David E. O'Brien
667d8d10c7 Use cross-compile friendly spelling of CPUTYPE.
Submitted by:	ru
2005-12-07 22:55:29 +00:00
Ruslan Ermilov
620b3a0c1d Style, no functional changes. 2005-12-07 20:01:12 +00:00
David E. O'Brien
21c4855ebe SSE2 comes thru the users choice of CPUTYPE. 2005-12-07 17:42:27 +00:00
David E. O'Brien
fef891f794 Default to producing 'k8' COMPAT_32BIT bits, but allow override. 2005-12-07 17:41:10 +00:00
Warner Losh
637750b988 Back out my sh -> ${SHELL} change, since it will be a few days before
I can fix it better.

Requested by: ru@
2005-12-06 23:37:11 +00:00
Doug Ambrisko
c26efd485e Switch BUILD_ARCH in Makefile to use uname -p suggested by ru.
Switch strncpy to strlcpy suggested by gad and issue found by pjd.
Add to uname(3) man page describing:
	UNAME_s
	UNAME_r
	UNAME_v
	UNAME_m
Add to getosreldate(3) man page describing:
	OSVERSION

Submitted by:	ru, pjd/gad
Reviewed by:	ru (man pages)
2005-12-03 05:11:07 +00:00
Doug Ambrisko
d630a05f40 Add support to easily build FreeBSD unpacked in a chroot of another
FreeBSD machine.  To do this add the man 1 uname changes to __xuname.c
so we can override the settings it reports.  Add OSVERSION override
to getosreldate.  Finally which Makefile.inc1 to use uname -m instead
of  sysctl -n hw.machine_arch to get the arch. type.

With these change you can put a complete FreeBSD OS image into a
chroot set:
	UNAME_s=FreeBSD
	UNAME_r=4.7-RELEASE
	UNAME_v="FreeBSD $UNAME_r #1: Fri Jul 22 20:32:52 PDT 2005 fake@fake:/usr/obj/usr/src/sys/FAKE"
	UNAME_m=i386
	UNAME_p=i386
	OSVERSION=470000
on an amd64 or i386 and it just work including building ports and using
pkg_add -r etc.  The caveat for this example is that these patches
have to be applied to FreeBSD 4.7 and the uname(1) changes need to
be merged.  This also addresses issue with libtool.

This is usefull for when a build machine has been trashed for an
old release and we want to do a build on a new machine that FreeBSD
4.7 won't run on ...
2005-12-02 00:50:30 +00:00
Warner Losh
d53cdc6c43 In make buildenv, spell sh as ${SHELL}. In this case, we don't want
to hard code /bin/sh since we're forking it for the user to type
commands into.  As such, ${SHELL} is the preferred thing users type
commands into.
2005-12-01 17:08:56 +00:00
Ruslan Ermilov
4b2095e85b Revert revision 1.416 and don't create a hierarchy before installing
a kernel.  It's slower and is generally only applicable to RELENG_4.
2005-11-25 10:12:58 +00:00
Ruslan Ermilov
1580b6c355 Unbreak installworld. 2005-11-22 20:47:43 +00:00
Ruslan Ermilov
0da07b29c3 Get rid of SPECIAL_INSTALLCHECKS variable that isn't settable
by a user.  Instead, add individual checks as dependencies to
the main "installcheck" target.  Make sure that installkernel
etc. depend on it (including the UID/GID checks).
2005-11-22 12:02:41 +00:00
Ruslan Ermilov
05359b9bb5 Fold some common stuff into a macro ${KMAKE}. 2005-11-22 11:31:03 +00:00
Ruslan Ermilov
be174d0cbd Add the NO_INCS knob to bsd.prog.mk and bsd.lib.mk to not include
bsd.incs.mk, and use it when installing 32-bit compat libraries
on amd64.  This causes it to *not* overwrite native headers with
i386 versions, which was the case with <fenv.h> and <vgl.h>.

PR:		amd64/83806
Prodded by:	bde
MFC after:	1 week
2005-11-19 06:45:44 +00:00
Ruslan Ermilov
006846f7ae Speed up stale catpages hunting by not running sed(1) for every catpage. 2005-11-12 19:31:30 +00:00
Ruslan Ermilov
0f8bb094ff Don't check DESTDIR when making distributeworld; the latter expects
DISTDIR.

Reported by:	nyan
2005-11-12 19:28:46 +00:00
Ruslan Ermilov
e4a93f1ef8 Add missing shared library interdependencies. 2005-11-10 18:07:07 +00:00
Ruslan Ermilov
e576df395b Require DESTDIR to be set when installing for a different architecture. 2005-11-07 15:03:04 +00:00
Ruslan Ermilov
6660f1d7c1 Serialize access to the info/dir file; needed for parallel installs.
Reported by:	scottl

I'm not very fond of using the non-standard lockf(1) here, but I
have no better idea at the moment.  NetBSD uses ln(1) to create a
lock file, but this approach can result in a deadlock if make is
interrupted, leaving an orphaned lock file.
2005-11-03 08:56:39 +00:00
Ruslan Ermilov
338953fb3d Force an upgrade to Groff 1.19.2. 2005-10-20 11:22:30 +00:00
Brian Somers
188a72ee1f Fix a couple of typos 2005-08-23 07:58:55 +00:00
Alexander Leidinger
a332ab6c8e Fix the "unexpected operator" bug some people are seeing.
First noticed by:	kris
2005-08-20 09:27:08 +00:00
Alexander Leidinger
edd04c6f2b Remove cat-pages without corresponding man-pages. 2005-08-07 13:47:25 +00:00
Ruslan Ermilov
8dee041406 - clean ${LIB32TMP} in _worldtmp
- clean ${OBJTREE}/lib32 in _cleanobj
- ensure that ${WORLDTMP} exists in build32
2005-08-05 23:48:58 +00:00
Ruslan Ermilov
467610da0d - Remove duplicate setting from LIB32MAKE definition.
- Install lib32 bits using the real install(1) program.
2005-08-03 20:27:06 +00:00
Ruslan Ermilov
c8ef0ed51d Make delete-old* and friends useable for cross-builds. 2005-08-03 20:09:59 +00:00
Alexander Leidinger
1b24254bec - Only make the delete-old related parts visible if one of the 3 targets
are called (wrapped in ".if make(...)"). This may reduce the amount of
  memory needed for all other targets (the file lists are already large
  and they will grow further).
- Be verbose in the batch case of the delete-old part too.
2005-07-30 18:02:20 +00:00
Dag-Erling Smørgrav
77d2ce5d21 Enforce the native environment requirement for {check,delete}-old-* at
run time, not parse time.  This unbreaks cross-builds.

Pointy hat to:	netchild
2005-07-30 06:14:12 +00:00
Alexander Leidinger
af3e19a68c - Move recently added dir into the correct section.
- Add a note about the organisation of the sections.
 - Expand shell globs (they worked in a previous version of the delete-old
   target, but not in this one).
 - Use the correct way of checking for a native environment. [1]
 - Add some more obsolete files.
 - Fix some bad english. [1]

Suggested by:	ru [1]
Approved by:	mentor (joerg)
2005-07-29 21:45:46 +00:00
Dag-Erling Smørgrav
c9275efacc Disable thread support in BIND. It appears to reduce performance rather
than increase it, and seems to be the cause of the memory leaks which some
users have reported.

Requested by:	dougb
MFC after:	5 days
2005-07-25 14:44:11 +00:00
Alexander Leidinger
e2a3608153 Add delete-old and delete-old-libs targets:
- removes obsolete files/dirs or libraries.
  - works in interactive (default) and batch mode
  - respects DISTDIR
  - documented in UPDATING and build(7)

The head of the file ObsoleteFiles.inc contains instructions how to add
obsolete files/dirs/libs to the list. Obviously one should add obsolete
files to this list, when he removes a file/dir/lib from the basesystem.

Additionally add check-old target:
  - allows re@ to check if a file on the obsolete list resurfaces

Design goals:
  - allows full control by the user (default interactive mode)
  - possibility of scripted removal of obsolete files (batch mode)
  - opt-in removal of files (explicit list of files)
  - seperate removal of libs (2 delete targets)

Important design decissions:
  - structured list of files to remove instead of a plain text file:
    * allows to remove additional files if a NO_foo knob is specified
      without the need to change the targets (no NO_foo knob is respected
      yet)
  - not using mtree like NetBSD does:
    * mtree doesn't has an interactive mode

Discussed on:		arch (long ago), current (this year)
Additional input from:	re (hrs)
Approved by:		mentor (joerg)
2005-07-23 14:23:30 +00:00
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