Commit Graph

568 Commits

Author SHA1 Message Date
Daniel Eischen
00fb440c1a Enable symbol versioning by default. Use WITHOUT_SYMVER to disable it.
Warning, after symbol versioning is enabled, going back is not easy
(use WITHOUT_SYMVER at your own risk).

Change the default thread library to libthr.

There most likely still needs to be a version bump for at least the
thread libraries.  If necessary, this will happen later.
2007-05-13 14:12:40 +00:00
Pawel Jakub Dawidek
1c22c47c35 Link libzpool, ztest and zdb against libpthread.
Requested by:	ru
2007-04-17 15:52:37 +00:00
Pawel Jakub Dawidek
ceef0c312c Connect ZFS to the build. 2007-04-06 02:13:30 +00:00
Rong-En Fan
31b4134f7b Enable ncurses wide character support
Approved by:	delphij (mentor)
Tested by:	kris on pointyhat (early version), current@
2007-03-09 12:11:58 +00:00
Ruslan Ermilov
857be7a47c Bump the bootstrapping requirements for gensnmptree(1) and remove
a note in UPDATING that tried to work around the build breakage.

Tested by:	jhb
OK'ed by:	njl
2007-03-01 15:42:23 +00:00
Ruslan Ermilov
51804c7973 Resurrect one of the patches from attic and refine the
lib32 build somewhat.  Specifically, instead of spamming
${CC} et al with -I${LIB32TMP}/usr/include which can be
harmful (as has been demonstrated by the ncursesw WIP),
use slightly different approach to achieve the same goal.
This also simplifies things a bit.

Prodded by:	rafan
2007-02-28 20:06:21 +00:00
Dag-Erling Smørgrav
9c827cecbd Clean the lib32 object directory with cleandir rather than rm -rf.
Discussed with:	ru
MFC after:	2 weeks
2007-02-27 13:02:29 +00:00
Rong-En Fan
af5b5a0f15 Switch to new ncurses build glue
Approved by:	delphij
2007-01-20 07:48:10 +00:00
Ruslan Ermilov
638b0a3e1a There was a timeframe where crunchgen(1) was broken; force
an upgrade during the build so those who are affected can
build world again.
2006-11-27 19:38:28 +00:00
Ruslan Ermilov
87b8c12df5 There doesn't seem to be a real reason for include/ to be installed
so early.
2006-11-13 05:52:11 +00:00
John Birrell
61517751a7 Add sun4v to the TARGET_ARCH when just TARGET is set (like pc98 is done).
This is required for 'make universe'.
2006-10-16 22:18:13 +00:00
Kip Macy
ddd5342909 buildworld fixes for sun4v
not sure why pmap.c is included as it is unchanged

Approved by: rwatson (mentor)
Reviewed by: jmg
2006-10-09 04:58:45 +00:00
Ruslan Ermilov
49e62f1cb3 Shuffle _*_libs assigments (no functional changes). 2006-10-07 19:26:46 +00:00
Ruslan Ermilov
b193556269 - Prebuild libgssapi only if building with Kerberos support.
- Remove libnetgraph from the list of prebuilt libraries as
  no other library depends on it (snmp_netgraph.so does not
  count as we don't build it in the "libraries" target).

- Restore libssh dependencies when compiling with Kerberos
  support.
2006-10-07 18:34:08 +00:00
Ruslan Ermilov
89edd7e555 Previous revision wasn't enough for "make TARGET=<machine> build*"
to work.  Some build-tools that are part of cross-tools (cc_tools)
also need to know the proper values of TARGET_ARCH and TARGET, so
tell them.
2006-09-08 10:09:02 +00:00
Ruslan Ermilov
0f31538c9d While experimenting with cross-building by specifying just TARGET,
I found one bug.  Pass our idea of TARGET_ARCH and TARGET down to
XMAKE, the cross-tools make.  Previously it worked because usually
TARGET_ARCH was specified on the initial make's command line.
This should also allow us to simplify the "universe" target, which
I'm currently testing.
2006-09-07 20:27:56 +00:00
Ruslan Ermilov
d2f03ebb1a Added timestamping to buildworld, similar to buildkernel. 2006-09-07 19:36:16 +00:00
Ruslan Ermilov
e6cb78fbd4 - Rewrite logic to guess TARGET_ARCH/TARGET to be more readable,
but without changes in behavior.

- Add sanity checking for TARGET_ARCH/TARGET.
2006-09-07 16:41:30 +00:00
Warner Losh
ffbebdce7f make "make TARGET=foo" work correctly. Before, it would fail to set
TARGET_ARCH correctly.  Now it does, even for pc98.  We should suggest
TARGET=foo in preference to TARGET_ARCH because the former is
unambiguous and the latter isn't, so update the docs.

This means that a long standing gripe I've had with this comes to a
close.  I can build pc98 w/o specify both things.  make TARGET=arm
works (rather than trying to build a arm:amd64 image and dying badly
in the attempt).

If you specify only TARGET_ARCH, then you get the old behavior.

# we can likely simplify the UNIVERSE target now to use this, but I'm not
# up for breaking that tonight :-).

# We should consider adding some kind of sanity check for TARGET_ARCH
# and TARGET.
2006-09-07 07:37:16 +00:00
Warner Losh
1bb2049ec1 Always make obj when building the libraries. This never hurts, and
helps some cross-architecture building tool installation patches that
I'm developing.
2006-08-24 17:02:26 +00:00
Ruslan Ermilov
2b46c64c9c Remove alpha left-overs. 2006-08-22 08:03:01 +00:00
Alexander Leidinger
c49d3a7d07 Remove sade from build-tools, the tinderbox problem should be fixed now. 2006-08-09 11:03:06 +00:00
Yoshihiro Takahashi
2d0fba0551 Add the sade to build-tools list. This fixes a tinderbox. 2006-08-09 02:27:31 +00:00
Alexander Leidinger
dad9051355 Fix doxygen target.
Submitted by:	"Alexander Mogilny" <sg@astral.ntu-kpi.kiev.ua>
Pointy hat to:	netchild
2006-08-02 15:26:15 +00:00
Warner Losh
6f13c7adde Also need to quote values so they can be passed on correctly. 2006-06-06 18:07:58 +00:00
Warner Losh
621e4ae168 Create a new target 'buildenvvars'. This target reports the build
environment for cross building (the same one you'd get interactively
in make buildenv).  This cannot be a simple

        make -f Makefile.inc1 -V WMAKEENV

because in PATH is not set correctly unless one takes a trip through
the Makefile/Makefile.inc1 indirection, the logic of which is too
large to reproduce outside of Makefiles.
2006-06-06 16:24:54 +00:00
Alexander Leidinger
becc5c626d Connect the kernel subsystem API documentation generation framework to
the build infrastructure: "make doxygen"

Changes to the man pages will be made when some defaults are revisited.

Requested by:	gnn
2006-05-26 18:10:06 +00:00
Poul-Henning Kamp
f6ce2a64f7 Send the pcvt(4) driver off to retirement. 2006-05-17 09:33:15 +00:00
Ruslan Ermilov
d6acfaf5e6 Sort bootstrap-tools entries. 2006-03-31 14:10:35 +00:00
Ruslan Ermilov
03e21a94e4 Rebuild gensnmptree(1) on 700014 systems too. While 700014 corresponds
to post January 26 systems where gensnmptree(1) code was already fixed,
there was a timeframe between February 14 and February 27 when
usr.sbin/bsnmpd/ including gensnmptree was disconnected from build, so
if you upgraded in this timeframe, you ended up with the 700014 system
but still with a buggy gensnmptree binary.  This also means not being
able to buildworld now.

Reported by:	jhb
Attention:	harti, keramida
2006-03-30 13:50:48 +00:00
Ruslan Ermilov
cea557add0 Extend coverage of the MK_IPX build option to the following:
- <netipx> headers [1]
- IPX library (libipx)
- IPX support in ifconfig(8)
- IPXrouted(8)
- new MK_NCP option

New MK_NCP build option controls:

- <netncp> and <fs/nwfs> headers
- NCP library (libncp)
- ncplist(1) and ncplogin(1)
- mount_nwfs(8)
- ncp and nwfs kernel modules

User knobs: WITHOUT_IPX, WITHOUT_IPX_SUPPORT, WITHOUT_NCP.

[1] <netsmb/netbios.h> unconditionally uses <netipx> headers
so they are still installed.  This needs to be dealt with.
2006-03-20 14:24:58 +00:00
Maxime Henrion
ca404c7dca Change the default SUP command to use csup instead of CVSup for
"make update" when SUP_UPDATE is defined.
2006-03-19 15:36:56 +00:00
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