Commit Graph

186 Commits

Author SHA1 Message Date
peter
5e4cf5aee9 Provide backwards compatable recognition of ${KERNEL}. You should be
able to use KERNEL= again with buildkernel, but it will point you at
KERNCONF= and press on regardless.
2001-01-23 09:52:50 +00:00
peter
c98acd5ed7 Sigh, I thought we still had the rm -rf objdir stuff in make world, which
would have taken care of the possibility of buildkernel crossing over
from one binutils set to another.  Back out the part about turning off
'make clean' if the 'make depend' is still active, but add a NO_KERNELCLEAN
target instead that works like NOCLEAN but just for the kernel.
2001-01-22 23:29:13 +00:00
peter
9f847f13c7 Use 'make clean' instead of 'config -r', and only if the 'depend' step has
been skipped.  We went to a lot of trouble to make the 'blow away' stage
unneeded, and it has not been needed for quite some time.
2001-01-22 23:10:01 +00:00
imp
eef8c6f7b9 As threatened in hackers@ on Friday, obviate the need for a buildworld
to preceed a buildkernel.

The buildworld is still required when upgrading across major releases,
across binutil upgrades and when config changes version.  If
buildkernel breaks, and you haven't done a buildworld, then do not
complain unless you do a buildworld and it still breaks.
2001-01-22 08:07:58 +00:00
peter
ee06b9ce92 Using "KERNEL" for buildkernel was a very very bad mistake. $KERNEL is
already used by the kernel makefiles themselves, and this leads to a lot
of trouble when people put "KERNEL=MYKERNEL" in make.conf.  Bite the bullet
and change it to KERNCONF instead, before it gets too far entrenched.

The kernel Makefiles use ${KERNEL} as the name of what to install the
kernel as, eg: /boot/${KERNEL}/kernel or /${KERNEL}.  This leads to much
unhappiness with things like /LOCAL instead of /kernel.  buildkernel is
severely limited as it is only useful directly after a buildworld.

Reviewed by: jhb
2001-01-22 07:29:48 +00:00
jkh
64445bb95a Also add some timing information for kernel builds so that it's
easy to do "make world kernel |grep -e '^>>>'" and get a complete
event log.
2001-01-21 23:44:41 +00:00
peter
9dbfa12c64 Create a build-tools target for sysinstall and rtermcap. This is still
not right because rtermcap would be reading the *host* termcap, not
from the termcap in the src tree.  Besides, /usr/sbin/sysinstall
(not the crunched one in /stand) should use the runtime termcap
not the precompiled set.
2001-01-19 09:24:00 +00:00
kato
ed5e105bd8 Removed pc98-hack of aout tools. 2000-12-24 14:58:34 +00:00
marcel
2b1bcb2e81 Fix cross-building once again.
Forgotten by: ache
2000-12-03 20:29:31 +00:00
marcel
da4d2f75d9 Fix release, broken by the perl cross-build fixes.
The distribute target is basicly the same as an install. For
perl, this means that miniperl is needed. Since miniperl is
only present in the object directory, we need to make sure
the path is set correctly. To do this, we have make release
use a new distribworld target that sets the path before doing
a make distribute.
2000-11-21 04:37:30 +00:00
marcel
e7311b7ac2 Fix cross-building.
o  Move building libperl and miniperl from build-tools to
   cross-tools. libperl uses MACHINE_ARCH to determine the
   right configuration, which doesn't match the build
   machine when cross-building if they are built as build-
   tools.
o  Since miniperl needs to be built as a cross-tool, it
   needs to be installed under /usr/obj so that it can be
   used (cross-tools have a special object directory to
   avoid build conflicts. As a downside, you can't easily
   run cross-tools from their object directory). Remove
   the install and distribute override targets. To avoid
   having miniperl installed by installworld, remove it
   from SUBDIR.
o  We can't pickup miniperl from the object directory but
   since it's installed, depend on PATH. This is save,
   because the makefiles are run with a known path.
o  Build libperl again as part of the library target. A
   _libperl variable existed, but it was never defined.
o  Add chmod to the list of saved tools, because perl
   conditionally uses it during install.

The bootstrap-tools and cross-tools targets are modified to
avoid building profiled and shared libraries. While here,
have these targets build static binaries instead of shared
binaries.

Approved by: markm
2000-11-20 02:17:34 +00:00
obrien
080eab3fac libgcc now needs to be built earlier in the build.
Submitted by:	jdp
2000-11-10 22:02:06 +00:00
obrien
82c32a8a3f * Bring back the guts of crt{i,n}.S. This allows C++ exceptions to work
when using the egcs and gcc-devel ports, along with GCC built from stock
public FSF sources.  With out this change, FreeBSD will be removed from
the list of systems GCC 3.0 must be evaluated on before release.  With
the effort some of us put into getting FreeBSD on this list, we should
not turn this effort into a waste, else we might not be worth fighting
for in the future.  (note that Alpha and IA-64 versions of crt{i,n}.S
are needed)

* Switch from our own crt{begin,in} to those created from GCC's crtstuff.c.
This will allow us to switch to DWARF2 exceptions in the future, along with
staying in sync with any future GCC requirements.

* Break out our ELF branding bits into a seperate file.  Currently this
is now included by our crt1.c files (since this functionality was part of
our native crtbegin.c).  Later crtbrand.o will be merged in the creation
of crti.o.
2000-10-28 21:26:48 +00:00
jkoshy
de9ac9599b Fail the 'buildkernel' target if not even one of the specified kernel configuration
files was found.

Reviewed by:	obrien
2000-10-25 04:31:32 +00:00
obrien
d1724c542c Number the stages in the documentation to match what is printed out when
running.
2000-10-13 01:19:36 +00:00
gibbs
3dc41a81fd This is really gross.
If a user decides to forego a make depend during "make buildkernel",
they should get what they deserve if no previous make depend has
been run for that kernel.  Instead, the build process includes
special instructions to unconditionally rebuild aicasm.  When aicasm
moved to its own directory, this hack broke.

Correct the hack until a get buy off on killing it.
2000-09-18 03:35:49 +00:00
imp
ef2cc02be7 Add reinstallkernel target. Does same thing as installkernel, but
executes the reinstall target rather than the install target that
installkernel does.
2000-09-17 21:02:58 +00:00
des
2676894951 Include libfetch in the includes target. 2000-09-09 14:37:06 +00:00
peter
e02c3d5c17 USA_RESIDENT is no longer required for buildworld, do not force it. 2000-09-09 04:42:34 +00:00
obrien
c779653ba8 Allow one to specify what the installed kernel's name is by setting
"INSTKERNNAME".

Reviewed by:	marcel
2000-09-03 02:58:39 +00:00
joe
e7eabf2bfc Define SUPHOST. If this is set a '-h ${SUPHOST}' is added to the
SUPFLAGS when a 'make update' is run.  This means that the supfile
doesn't need to be edited because the -h will override the
CHANGE_THIS.FreeBSD.org host.
2000-08-13 12:36:40 +00:00
sheldonh
8fd46ab455 Make the update target consistent; both ports and doc are updated
if their SUPFILE variables are defined _and_ NO_PORTSUPDATE and
NO_DOCUPDATE respectively are not defined.

Previously, only ports was updated and there was no way to prevent
this without undefining its SUPFILE variable.

PR:		17514
Reported by:	Udo Erdelhoff <ue@nathan.ruhr.de>
2000-08-07 14:35:49 +00:00
marcel
f7fe974d76 Fix buildkernel and installkernel when KERNEL is defined in
/etc/make.conf.

PR: 20325
Submitted by: Johan Karlsson <k@numeri.campus.luth.se>
2000-08-03 05:52:22 +00:00
marcel
173f0f34e5 Argh... mtree has been removed from the bootstrap-tools. In that
case we need to save it in installworld. That latter I forgot...

Pointy hat: me
2000-07-23 21:30:35 +00:00
marcel
ba50f41256 Name all kernels 'kernel'. This fixes the incompatible behaviour
of the buildkernel and installkernel targets where the kernel
was called after the config name.

While here, fix the brokenness of the installkernel target. It
used to use ${IMAKEENV}, but since that has a very restricted
PATH, it couldn't find make(1). Use ${CROSSENV} instead.
2000-07-23 17:38:32 +00:00
marcel
232803be5c Remove mtree for bootstrap-tools. The -L switch change has been
backed out.
2000-07-23 16:43:03 +00:00
marcel
8c6203a18e Don't save cp(1) in installworld. Its use has been replaced by
a use of install.
2000-07-23 00:20:56 +00:00
marcel
32f585d1c5 Add awk and wc to the list of copied binaries for the installworld
target. These are needed by liloldr.

Found by: make release
2000-07-20 03:03:23 +00:00
marcel
8eabbf5453 Add cp(1) to the list of binaries we need to save. The cp(1) command
is used by the installation of ld-elf.so when an existing version
exists.
2000-07-19 22:48:52 +00:00
marcel
192923ebc9 Don't save install-info. We already have that built. We'll use
the one we built anyway.
2000-07-19 18:18:21 +00:00
marcel
e6caba2a62 Save any binaries we use by installworld, so that we won't use the
binaries we just installed. This allows a future upgrade target to
install a new system without intermediate reboots and also
prevents conflicts for parallel make runs where we might exec a
binary that's being installed at the same time.
2000-07-19 04:41:59 +00:00
ache
a7d840945c Move mtree to bootstrap-tools and add PATH=${TMPPATH} to IMAKEENV to pick it 2000-07-18 01:49:05 +00:00
ache
615931bbc7 Add mtree to cross-tools to make it updated for new -L option
It must solve make world breakage
2000-07-18 00:21:05 +00:00
markm
381b0a1475 Perl's version number needs to change. 2000-07-02 16:15:03 +00:00
markm
03f53f17a2 Rearrange Perl's build priority; it needs to get made earlier. 2000-06-25 15:02:18 +00:00
brian
cc59a2825d Add -DNO_KERNELDEPEND and -DNO_KERNELCONFIG
Not reviewed by: sheldonh
2000-06-15 10:00:20 +00:00
brian
7de0edc1cb Set KERNEL=${INSTALLKERNEL} doing a make install in /sys/conf 2000-06-09 10:42:36 +00:00
nyan
687f789b88 GENERIC98 is removed. 2000-05-05 08:02:15 +00:00
wollman
676117ef4c Make gperf be a bootstrap-tool, since we now depend on features of
the specific version in -current.

Approved in principle by: marcel
2000-04-27 21:24:43 +00:00
wollman
1aa2c61215 Revert my changes to make gperf a build-tool; that was the wrong thing.
All builds had been broken; now just upgrade builds are until I or
someone else can figure out the Right Thing.
2000-04-27 19:38:57 +00:00
wollman
66fc22fbc9 Add gperf(1) to build tools. It should have been one before, but
gcc does not depend on version-specific gperf behavior (yet).
2000-04-27 16:43:45 +00:00
sheldonh
a937799c07 Create ${KRNLOBJDIR} before running config(8), since config(8) does
not create required parent directories of the kernel compile
directory specified with its -d option.
2000-04-27 09:20:18 +00:00
kris
f46f4ce972 Unbreak make world (libpam depends on libopie) 2000-04-17 03:50:53 +00:00
sheldonh
fa40de6c54 Fix the buildkernel and installkernel targets for the case where
KERNEL specifies multiple kernels.

PR:		17536
Submitted by:	Johan Karlsson <k@numeri.campus.luth.se>
2000-03-30 13:06:53 +00:00
ru
d2601a9b07 Get rid of "sticky" files when updating sources with cvs(1).
Approved by:	peter
2000-03-29 07:30:44 +00:00
kris
0d1f47825b Buildworld fixes for NO_OPENSSH and NO_OPENSSL
Approved by:	jkh
2000-03-09 06:29:05 +00:00
markm
31b82ccb0a A lot of tools need to be built before compilation proper can happen. 2000-02-28 21:04:38 +00:00
markm
eb2f1b4a7c We have a new world order in libraries.
Goodbye libdes; Welcome libcrypto.
2000-02-24 23:03:16 +00:00
jkh
ebc52ef07e Docfix: Note krb5 flags.
PR:		16818
Submitted by:	martti.kuparinen@nomadiclab.com
2000-02-20 09:13:30 +00:00
ru
ee4700428f Now that bsd.lib.mk has PRECIOUSLIB feature back (rev 1.91),
we need -DNOFSCHG at stage 4 (building libraries) to support
non-root buildworlds.

Reviewed by:	<buildworld@current.freebsd.org>
2000-02-03 09:43:17 +00:00