freebsd-src/share
Ruslan Ermilov 4448c79e47 Fix cross-building, etc:
1.  To cross-build, one now needs to set TARGET_ARCH, and not the
    MACHINE_ARCH.  MACHINE_ARCH should never be changed manually!

2.  Initialize DESTDIR= explicitly for bootstrap-tools, build-tools,
    and cross-tools stages.  This fixes broken header and library
    dependencies problem.  We build them in the host environment,
    and obviously want them to depend on host headers and libraries.
    The problem with broken header dependencies for bootstrap-tools
    and cross-tools was already partially solved (see BOOTSTRAPPING
    tests in bsd.prog.mk and bsd.lib.mk), but it was still there for
    build-tools if the user ran "make world DESTDIR=/foo".  Also,
    for all of these stages, the library dependencies were broken
    because of how bsd.libnames.mk define DPADD members.

    We still provide a glue to install bootstrap- and cross-tools
    under the ${WORLDTMP}.

    Removed PATH overrides for bootstrap-, build-, and cross-tools
    stages.  There is just no reason why we would need to override
    it, and the hacks to clean up the ${WORLDTMP} in the -DNOCLEAN
    case are no longer needed with fixes from this step.

    That is, we now never use ${WORLDTMP} headers and libraries,
    and we don't use any ${WORLDTMP} installed binaries during
    these stages.  Again, these stages depend solely on the host
    environment, including compiler, headers, and libraries.

3.  Moved "miniperl" back from cross-tools (it has nothing to do
    with a cross-compiler) to build-tools where it belongs.  The
    change from step 1 let to do this.  Also, to make this work,
    build-tools targets of "cc_tools" and "miniperl" were modified
    to call "depend".  Here follow the detailed explanations.

    There are two categories of build tools, for now.  In the first
    category there are "cc_tools" and "miniperl".  They occupy the
    whole (sub)directory, and nothing needs to be done in this
    subdirectory later during the "all" stage.  They are also
    constructed using system makefiles.  We must build the .depend
    early in the build-tools stage because:

    1)  They use (and depend on) the host environment.

    2)  If we don't do this in build-tools, the "depend" stage of
        buildworld will do this for us; wrong library and header
        dependencies will be recorded (DESTDIR=${WORLDTMP}) and,
        what's worse, the "all" stage may then clobber the
        build-architecture format tools (that we built in the
        build-tools stage) with the target-architecture format
        ones, breaking cross build.

    In the second category there are all other build-tools.  They
    share their directory with the "main" module that needs them
    in the "all" stage, and they don't show up themselves in the
    .depend file.  The portion of this fix was already committed
    in gnu/usr.bin/cc/cc_tools/Makefile,v 1.52.

4.  "libperl" is no longer a build tool, and "miniperl" is the
    stand-alone application.  I had to make this change because
    build-tools and "all" stages share the same object directory.
    Without this change, if we cross compile, libperl.a is first
    built for the build architecture during the build-tools stage
    (for the purposes of immediate linkage with "miniperl").
    Later on, the "all" stage sees this library as up-to-date,
    and doesn't rebuild it.  The effect is that the wrong format
    static libperl library is installed with installworld.

5.  Fixed "includes" to install secure/lib/libtelnet headers if
    required.

Reviewed by:	bde
2001-09-29 13:17:54 +00:00
..
colldef Add more *.US-ASCII entries 2001-06-10 18:57:27 +00:00
dict Removed ex script left over from incomplete backout in previous commit. 1999-12-26 10:31:29 +00:00
doc Don't build/install game-related documents when building with NOGAMES. 2001-08-09 06:59:16 +00:00
examples Add ports/french and ports/ukrainian to the list of foreign-language ports. 2001-09-20 16:00:24 +00:00
info Update skeleton dir file from the latest install-info(1). 2000-01-24 16:18:12 +00:00
isdn Don't extract these files as mode 666 during build, use mode 644 instead. 2000-08-15 09:14:04 +00:00
man Add support for 28800 baud to sio. 2001-09-29 04:49:11 +00:00
me Remove whitespace at EOL. 2001-07-15 08:21:37 +00:00
misc Added NetBSD 1.5.2 2001-09-28 17:18:10 +00:00
mk Fix cross-building, etc: 2001-09-29 13:17:54 +00:00
mklocale Fix encoding info 2001-06-10 22:13:29 +00:00
monetdef update cs_CZ's MONETARY information to more used format 2001-09-09 14:49:13 +00:00
msgdef Add more *.US-ASCII and Latin15 entries 2001-06-10 19:41:17 +00:00
numericdef Add more *.US-ASCII and Latin15 entries 2001-06-10 20:11:05 +00:00
sendmail Unbreak installworld. Revision 1.41 of src/usr.bin/xinstall/xinstall.c 2001-05-29 17:55:49 +00:00
skel Automatically exec bash at startup if it exists^U Turn on the display of 2001-06-25 20:40:02 +00:00
syscons Added PC-98x1 keymaps. 2001-06-17 03:10:38 +00:00
tabset $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
termcap Don't redirect to /dev/null when executing ex(1). 2001-09-14 17:06:06 +00:00
timedef Add more *.US-ASCII entries 2001-06-10 19:16:43 +00:00
zoneinfo Don't create missing directories; that's the duty of mtree(8). 2001-09-11 14:27:11 +00:00
Makefile Add NO_I4B to avoid building/installing isdn4bsd package. 2001-05-23 13:32:32 +00:00
Makefile.inc $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00