Commit Graph

872 Commits

Author SHA1 Message Date
gjb
3a6b75cfa3 MFC r262670 (marcel):
Use ${MAKE} so that we always use the same version/implementation
  of make(1).

PR:		202277
Submitted by:	John Hein
Sponsored by:	The FreeBSD Foundation
2015-08-13 22:29:26 +00:00
imp
979769b37b Direct commit
When compiling on -current from r284356 to r285986, the host's
crunchgen can't be used because builds of rescue break when STRIP= was
used to prevent stripping of binaries.  Direct commit because -current
code is different. Building 10 on current is common enough to warrnat
a safety belt since this has been broken for two months. The offending
change was never in stable/10.
2015-08-12 16:53:37 +00:00
ngie
d1180c911c MFC r281618,r281823:
r281618:

Defeat race with MK_KERBEROS == yes introduced with bootstrap-tools
parallelization work done in r279197

- kerberos5/lib/libroken requires kerberos5/tools/make-roken to build
- kerberos5/tools/asn1_compile, kerberos5/tools/slc, and usr.bin/compile_et
  require kerberos5/lib/libroken and kerberos5/lib/libvers

This race is incredibly evident when cross-building sparc64 on
ref10-amd64.freebsd.org

Pointyhat to: ngie

r281823:

Serialize all of _kerberos5_bootstrap_tools to avoid build failures involving
make bootstrap-tools

On the plus side, this also greatly reduces complexity

Pointyhat to: ngie
Reported by: Willem Jan Withagen <wjw@digiware.nl>
2015-05-13 10:53:16 +00:00
garga
a669f5aa38 MFC r270155, r274490, r274593, r274607
Add native-xtools target to stable/10

Differential Revision:	https://reviews.freebsd.org/D2044
Reviewed by:	sbruno@
Approved by:	sbruno@
Sponsored by:	Netgate
2015-04-21 17:02:55 +00:00
dim
7f3b476176 MFC r272814 (by bapt):
Add OBJCOPY to the list of external tools

MFC r272815 (by bapt):

  Fix typo

This should fix the build troubles some people have been seeing after
the MFC of r280980 (in r281289).  Sorry for the breakage.
2015-04-10 20:38:31 +00:00
dim
2da35800ba MFC r280980:
Ensure the cross assembler, linker and objcopy are used for the build32
stage, just like for the regular world stage.

Reviewed by:	rodrigc, imp, bapt, emaste
Differential Revision: https://reviews.freebsd.org/D2187
2015-04-09 06:38:32 +00:00
dim
fd1aa4bec9 Ensure yacc is built during bootstrap-tools for __FreeBSD_version
1001506 and earlier, since some of the ACPI tools now reach yacc's old
maximum table limit.  This should fix the Jenkins buildbot, which
apparently runs 10.1-RELEASE.
2015-04-05 15:27:56 +00:00
bdrewery
44dfc90bcd MFC r280179,r280180:
r280179:
    Add LIB_CXX so that C++ libraries will use CXX to link.

    This adds some extra dependencies directly to Makefile.inc1 as
    atf is still a prebuild library in stable/10. If r273449 is MFCd
    these can come out.

  r280180:
    Document LIB and LIB_CXX.
2015-04-04 00:42:09 +00:00
ngie
105c9ecc59 Defeat race with texinfo tools built with make bootstrap-tools
This is a direct commit to stable/10 because texinfo has been removed from
head
2015-03-22 22:00:29 +00:00
ngie
f0ad206868 Remove dependency between usr.bin/m4 and lib/libohash
libohash doesn't exist on stable/10 (only head)

Not sure why my make buildworld didn't catch any issues

This is a direct commit to stable/10 as a followup to r280340
2015-03-22 08:47:35 +00:00
ngie
74e10c6f1a MFC r279197,r279198:
r279197:

Parallelize building bootstrap-tools

Differential Revision: https://reviews.freebsd.org/D1901
Reviewed by: ian
No serious objections from: imp

r279198:

Fill in missing dependencies for dtrace related tools so the bootstrap-tools
compiles properly on older hosts

Pointyhat to: me
2015-03-22 08:42:44 +00:00
ngie
ffd518acc5 MFC r278182:
r278182:

  Conditionalize building radius support into libpam, ppp, etc via
  MK_RADIUS_SUPPORT

  Sponsored by: EMC / Isilon Storage Division
2015-02-11 08:52:29 +00:00
ngie
259bd5c13f MFC r275907:
r275907 (by ngie):

  Fix building/installing tests when TESTSBASE != /usr/tests

  The work in r258233 hardcoded the assumption that tests was the last component
  of the tests tree by pushing tests as an explicit prefix for the paths in
  BSD.tests.dist and /usr was the prefix for all tests, per BSD.usr.dist and all
  of the mtree calls used in Makefile.inc1. This assumption breaks if/when one
  provides a custom TESTSBASE "prefix", e.g. TESTSBASE=/mytests .

  One thing that r258233 did properly though was remove "/usr/tests" creation
  from BSD.usr.dist -- that should have not been there in the first place. That
  was an "oops" on my part for the work that was originally committed in r241823

  Phabric: D1301
  Reviewed by: imp
  Sponsored by: EMC / Isilon Storage Division
2015-01-20 23:39:08 +00:00
bapt
624238bb5e install-info is also needed for installworld so add it to the bootstrap tools
Add BPATH to the installworld path to ensure using installworld works if
install-info is not in base
2015-01-02 23:13:04 +00:00
bapt
44b8a6e1e8 Make texinfo a bootstrap tools this fixes cross building when makeinfo is not \
available on the host

Differential Revision:	https://reviews.freebsd.org/D1410
Submitted by:	ngie (initial patch)
Reviewed by:	ngie, imp
MFC after:	1 week
2015-01-02 21:16:13 +00:00
bapt
54309b420b MFC: r276052,r276053
Build selective portions of gnu/usr.bin/texinfo as part of build-tools to
ensure that building on a host without makeinfo (i.e. a host where
make delete-old -DWITHOUT_INFO was run), then building with MK_INFO == yes
doesn't manifest in build errors when building info pages

This manifested itself like the following when I was build testing an MFC
change on stable/10:

  makeinfo --no-split -I /usr/src/gnu/lib/libregex/doc -I /usr/src/gnu/lib/libregex/doc regex.texi  -o regex.info
  makeinfo: not found
  *** [regex.info] Error code 127

make[6]: stopped in /usr/src/gnu/lib/libregex/doc
1 error
2015-01-02 18:27:32 +00:00
ngie
c090fc5172 MFC r275867:
Fix sporadic build failures due to race when running make installworld
  when strip gets replaced at install time by adding it to ITOOLS for the
  default usr.bin/xinstall STRIP_CMD

  This will fix the failure noted in this Jenkins build step:
  https://jenkins.freebsd.org/job/Build-UFS-image/688/

  This will also fix the issue reported by alfred@ dealing with installing on
  targets that differ from build hosts (e.g. installing on i386/i386 when built
  on amd64/amd64)

  Sponsored by: EMC / Isilon Storage Division
2014-12-27 17:20:24 +00:00
ngie
cf14b8acec MFC r275622:
Add makewhatis to ITOOLS if MK_MAN != no

  This will fix installation with differing host targets in installworld, so
  one can build i386/i386 on an amd64 host, then install to an i386/i386 target

  Reported by: alfred
  Phabric: D1280
2014-12-22 02:22:01 +00:00
brooks
67bd86774a MFC r274806:
Add a guard against attempting to invoke the buildenv target with -j# as
that silently exits rather than doing something useful.

Sponsored by:	DARPA, AFRL
2014-12-02 19:58:26 +00:00
rodrigc
0475e04762 MFC r272484:
Add dependencies to various libraries to libzfs and libzpool.

Submitted by:	sef
2014-11-29 08:33:54 +00:00
dteske
7230e71362 MFC r274116:
Add new libraries/utilities for data throughput visualization.
dpv(3): dialog progress view library
dpv(1): stream data from stdin or multiple paths with dialog progress view
figpar(3): configuration file parsing library

MFC r274120, r274121, r274123, r274124, r274144, r274146, r274159, r274192,
r274203, r274209, r274226, r274270, and r274851: Fixes following r274116

Reviews:        D714
Relnotes:       New libdpv/libfigpar and dpv(1) utility
Reviewed by:    jelischer, shurd
Discussed at:   MeetBSD California 2014 Vendor/Dev Summit
Discussed on:   -current
Thanks to:      ngie, ian, jelischer, shurd, bapt
2014-11-25 13:47:53 +00:00
ian
8f1520bd13 MFC r262626, r262626, r264979, r265154, r265162, r265163, r267319, r270863,
r270991, r271045:

  Enhancements related to compiling FDT data...

 - Use proper include path for dtc as well as cpp.
 - Call cpp with -P to avoid printing line markings.
 - Allow FDT_DTS_FILE to be a list, either in the makedtb target, or in a
   kernel config file.
 - Add the dts include directory to the -I list when doing arm builds.
 - Invoke make_dtb with MACHINE defined for cross building friendliness.
 - Allow the make_dtb script to work outside of a "make buildkernel"
   context by setting MACHINE from uname -m if it's not set already.
 - Use sh -c '...' to launch the dtb build scripts with env prepended,
   otherwise it tries to treat the env var stuff as a script file name.
2014-10-27 00:47:55 +00:00
ngie
cbb305020c MFC r272053:
Have distrib-dirs, distribution, hier, hierarchy, redistribute, and reinstall
  depend on the .MAKE special target

  This will allow users to do something like the following to print out the
  results of the running the simulated make target with bmake, like some of the
  other top-level make targets in Makefile.inc1:

    % make -f Makefile.inc1 -n distribution TARGET=i386 TARGET_ARCH=i386

  Sponsored by: EMC / Isilon Storage Division
2014-10-23 01:06:00 +00:00
emaste
884e0cd091 MFC improved vt(4) font generation
r266851: Add VGAROM 8x8, 8x14 and 8x16 fonts for vt(4)

  These are converted from syscons(4) cp437 fonts.

r267306: Add vgarom font source

  These are in 'GNU Unifont' format, and are converted from syscons(4)
  cp437 fonts.

r267400: Add thin versions of VGAROM 8x8 and 8x16 fonts for vt(4)

  These are converted from syscons(4) cp437-thin-8x* fonts.

r267423: Build vt(4) fonts during buildworld

  vtfontcvt(8) is now built during buildworld, so can be used as a
  bootstrap tool to create vt(4) fonts from source .hex or .bdf font
  files, rather than having uuencoded binary fonts in the tree.

r267578: Add glyphs from converted syscons iso* fonts

  This consists of the unique glyphs from the following font files in
  /usr/share/syscons/fonts:

  iso*.fnt     ISO-8859-1 West European
  iso02*.fnt   ISO-8859-2 Central European
  iso04*.fnt   ISO-8859-4 Baltic
  iso05*.fnt   ISO-8859-5 Cyrillic
  iso07*.fnt   ISO-8859-7 Greek
  iso08*.fnt   ISO-8859-8 Hebrew
  iso09*.fnt   ISO-8859-9 Turkish
  iso15*.fnt   ISO-8859-15 West European

r268022: Rename the WITHOUT_VT_SUPPORT knob to WITHOUT_VT

  The _SUPPORT knobs have a consistent meaning which differs from the
  behaviour controlled by this knob.  As the knob is opt-out and has not
  appeared in a release the impact should be low.

Approved by:	re
Sponsored by:	The FreeBSD Foundation
2014-09-09 20:36:56 +00:00
ngie
f4fd8ca123 MFC r270027:
tmconfig compilation when MK_ATM == yes and MK_BSNMP == no

 Makefile.inc1:
 Always compile gensnmptree with bootstrap-tools when MK_BSNMP != no
 instead of depending on a potentially stale tool installed on the build host

 sbin/atm/atmconfig/Makefile:
 - Always remove oid.h to avoid cluttering up the build/src tree.
 - Consolidate all of the RESCUE/MK_BSNMP != no logic under one
 conditional to improve readability
 - Remove unnecessary ${.OBJDIR} prefixing for oid.h and use ${.TARGET} instead
   of spelling out oid.h
 - Add a missing DPADD for ${LIBCRYPTO} when compiled MK_BSNMP == yes and
   MK_OPENSSL == yes and not compiling for /rescue/rescue

 sbin/atm/atmconfig/main.c:
 Change #ifndef RESCUE to #ifdef WITH_BSNMP in main.c to make it
 clear that we're compiling bsnmp support into atmconfig
2014-08-29 18:26:55 +00:00
ian
a6a20ea907 Revert r270079 which was MFC of r269688, build libohash while bootstrapping.
The changes to split the ohash code out of m4 into its own library haven't
been MFC'd, so this change was causing an error during bootstrap when
building stable-10.

Submitted by:	Dai Sieh <dsieh@dsieh.com>
Pointy hat to:	ian
2014-08-25 17:31:06 +00:00
ian
b7f4763aaf MFC r260401
Remove aicasm as a build dependency.  It made sense when the ahc and ahd
  drivers and their firmware were under active development, but those days
  have passed.  The firmware now exists in pre-compiled form, no longer
  dependent on it's sources or on aicasm.  If you wish to rebuild the
  firmware from source, the glue still exists under the 'make firmware'
  target in sys/modules/aic7xxx.

  This also fixes the problem introduced with r257777 et al with building
  kernels the old fashioned way in sys/$arch/compile/$CONFIG when the
  ahc/ahd drivers were included.
2014-08-21 17:18:21 +00:00
ian
febf3f5203 MFC r257637, r257730, r257734, r257777, r257825, r257838, r257873:
Changes to how the aicasm tool is built.  This series of changes results
in the aicasm tool being built as part of the tools stages of world and
kernel builds.

Most of these changes will ultimately be undone when r260401 is MFC'd,
but it will leave in place the new kernel-build-tool machinery (KTMAKE
stuff) in case a new special kernel tool ever comes along.
2014-08-21 14:56:57 +00:00
ian
c4195049f5 MFC r266473,267331,267511:
Use an intermediate target to associate with _SUBDIR which is marked .MAKE
  this allows make -n to do tree walks as expected without
  doing anything else (as intended).
  Use prefix _sub. to help avoid conflict with any real target.

  Put the test suite in its own tests.txz distribution file.
  Force all the contents of /usr/tests to go into a separate distribution
  file so that users of binary releases can easily choose to not install

  Create a mechanism for providing fine-grained build order dependencies
  during SUBDIR_PARALLEL builds.  This augments the coarse .WAIT mechanism,
  which is still useful if you've got a situation such as "almost everything
  depends on A and B".
2014-08-19 23:33:51 +00:00
ian
93369e5cce MFC r269688: m4 now requires libohash, build it when bootstrapping. 2014-08-17 02:40:44 +00:00
roberto
cb8cf293f9 MFC r269662:
10 has a new flex (2.5.37) and the config.h for unbound has been updated to
take this into account. Alas it breaks source upgrade from any version of
9 because flex is not built as a bootstrap-tools (it would be for older
versions).

That means "libunbound/configlexer.c" is built with the old flex but using
config.h for the new one. Build is thus broken going from 9.* to 10.

Make flex a bootstrap-tools entry if host is less than 1000033 to take into
account the flex update in 10.

Tested on both 9.2-RC3 and 9.3 by myself and dim@. Running buildworld in
head but as both 10 and 11 has the new flex, it will not matter.

Reviewed by:    imp
Approved by:    des, imp
MFC after:      1 week
Phabric:        D554
2014-08-14 12:16:03 +00:00
rpaulo
4313c083af MFC r269744
Run dtrace in 32-bit mode when compiling 32-bit libraries.
2014-08-13 06:45:02 +00:00
dim
f9d311d90a MFC r268957:
Run mtree for BSD.tests.dist during make xdev-install, if the tests are
enabled (which they are in the default configuration).  Otherwise, it
will fail because ${XDDESTDIR}/usr/include/atf-c does not exist.
2014-07-24 20:16:45 +00:00
bdrewery
f6034d31b7 MFC r267599:
- Add a LOCAL_ITOOLS to allow adding additional tools required for the
    installworld and distributeworld targets

PR:		179562
2014-06-24 15:57:48 +00:00
delphij
c49d771309 MFC r266520:
Explicitly link libzfs against libavl as it is done in OpenSolaris
(4543:12bb2876a62e).  Without this, some third party applications
may break because the lack of AVL related symbols.

FreeBSD base system are not affected because the FreeBSD ZFS command
line tools were all linked against libavl and thus hide the underlying
issue.

PR:	bin/183081
2014-05-27 18:22:52 +00:00
ian
5f95900ee1 MFC 263949, 265063: Add library dependencies for a couple bootstrap libs
to fix build failures for high -jN values when building with gcc.
2014-05-26 22:27:14 +00:00
ian
6c4033c89f MFC 262614, 262625, 262626, 262627, 262682, 262714, 262725, 262736
Integrate device-tree upstream files into the build process:
  (1) Invoke cpp to bring in files via #include (although the old
      /include/ stuff is supported still).
  (2) bring in files from either vendor tree or freebsd-custom files
      when building.
  (3) move all dts* files from sys/boot/fdt/dts to
      sys/boot/fdt/dts/${MACHINE} as appropriate.
  (4) encode all the magic to do the build in sys/tools/fdt/make_dtb.sh
      so that the different places in the tree use the exact same logic.
  (5) switch back to gpl dtc by default. the bsdl one in the tree has
      significant issues not easily addressed by those unfamiliar with
      the code.

  Only try to build the static dtb when we're building a static dtb.

  Use proper include path for dtc as well as cpp.

  Fix syntax errors (missing ; other minor glitches) in existing dts files.
2014-05-16 15:56:34 +00:00
thomas
69470d28bf MFC rev. 265260:
Add appropriate quoting to allow building with a KERNCONFDIR containing
spaces.

PR:		kern/162736
2014-05-11 20:44:58 +00:00
bapt
e7708e06f4 MFC: r263881, r263952, r263983, r264068, r264090, r264131
Some xdev fixes:

- if TARGET_ARCH is not defined and XDEV_ARCH is defined then early define
  TARGET_ARCH to the valud of XDEV_ARCH: This allow the xdev-build target
  to be able to correctly chose the compiler it needs to build
- Allow overwriting XDTP to allow a user to not chose where the xdev env will
  live in
- Fix build for gcc only xdev (like ia64) by providing the proper -B to the
  toolchain and not relying on gcc being installed already in base
- Fix TOOLS_PREFIX so the generated toolchain has the right default sysroot when
  installed intead of getting the DESTDIR one
- Fix supporting DESTDIR
- Also overwrite CXX (needed for cross building c++ libraries with clang) and
  CPP (needed to cross build some libraries when gcc is the target default
  compiler but gcc is not installed on the building host)
- Prevent XDTP from being a relative path:
  XDTP is used as the default SYSROOT for clang and thus should be an absolute path.
- Respect default CC
2014-04-12 15:06:15 +00:00
asomers
2ab6848d63 MFC r263429
Fix kern/187712: config(8) does not respect KERNCONFDIR.
The impact of this bug is that you cannot build a kernel if both of the
following are true:
1) The kernel config file is in a non-default location
2) The kernel config file uses the "include" statement from config(5).

usr.sbin/config/main.c
usr.sbin/config/config.8
usr.sbin/config/config.h
usr.sbin/config/lang.l
	Added a "-I path" option to config(8).  By analogy to cc(1), it adds
	an extra path in which the "include" statement will search for
	files.

Makefile.inc1
        Pass "-I ${KERNCONFDIR}" to config(8).
2014-04-10 19:51:33 +00:00
dim
20b24a4adb Turn off warnings for building aicasm. Various versions of yacc exist,
which can result in different warnings-as-errors in this tool, but these
are all completely harmless.

This is a direct commit to stable/7, stable/8, stable/9 and stable/10,
since this kernel build tool has already been removed in head.
2014-03-23 14:18:40 +00:00
asomers
ccd36e4300 MFC r261132
Fix the build so -DNO_TESTS is passed in various phases that don't require
tests in order to build or install.  Crucially, don't try to install tests
during the lib32 install phase.  This commit supersedes r261081, which fixed
the lib32 install phase problem, but didn't fix other phases.

Submitted by:	Garrett Cooper
Reviewed by:	sjg
2014-02-13 19:46:48 +00:00
jmmv
17b80845b0 Plug the ATF tests into the build.
This is a MFC into stable/10 of:
- r257849 Add libatf-c++ to the prebuild libs.
- r257853 Build and install the atf tests.
- r258233 Move all atf directories to the tests mtree.
- r258285 Fix the build of some ATF tests.

This change is "make tinderbox" clean on ref10-amd64 with the default
settings of WITHOUT_TESTS.  It is likely for the WITH_TESTS build to
still be broken because not all relevant changes have been merged yet.
2013-12-28 23:08:58 +00:00
jmmv
b8ce141a40 Set up the /usr/tests hierarchy.
This is a MFC of the following into stable/10:
- r257097 Set up the /usr/tests hierarchy.
- r257098 Add missing WITHOUTTESTS file.
- r257100 Add a tests(7) manual page.
- r257105 Disable WITHTESTS= for now.
- r257848 Fix buildworld when WITHTESTS is enabled.
- r257850 Subsume the functionality of MKATF into MKTESTS.
- r257851 Handle the removal of the test suite when WITHOUTTESTS=yes.
- r257852 Install category Kyuafiles from their category directories.
- r258232 Install BSD.tests.mtree when MKTESTS is yes.

Note that building with WITH_TESTS is still broken at this point (and
hence why WITHOUT_TESTS is the set as the default).  Subsequent pullups
will fix the remaining issues.
2013-12-28 20:05:31 +00:00
ian
be8c9bf1f0 MFC 256640: Allow 'make xdev' to work when DESTDIR is set. 2013-12-13 17:00:25 +00:00
cperciva
484ab7255a MFC r258086:
Strip the -pN patch level from the VERSION string which gets encoded into
  CTF data.  Otherwise FreeBSD Update builds think every kernel file has
  changed every time there's a security advisory, since the FreeBSD Update
  build code isn't smart enough to look inside CTF data to ignore those
  changes.

Approved by:	re (gjb)
2013-11-24 23:30:23 +00:00
peter
f3237abb84 MFC r258283 - move iconv* symbols out of libc.so.7 namespace with
compatibility symbols to aid transition for existing 10.x installs.

Approved by:	re (kib)
2013-11-20 20:24:59 +00:00
delphij
bce61ff508 MFC r257350:
In r257079, SRCDIR is pointed to ${.CURDIR} when not set.  However,
Makefile.inc1 is being called in sub-make's where make(1) would,
by default, implicitly chdir(2) to ${.OBJDIR} before executing any
targets.  This would make some targets, like delete-old, when trying
to derive various variables introduced by change r256921 using
``make -f Makefile.inc1'' that also rely on SRCDIR to fail.

This changeset adds an explicit cd ${.CURDIR} before these unwrapped
make calls, making them in line with the other ones that are already
being wrapped with the explicit chdir's.

Approved by:	re (hrs)
2013-11-03 07:31:54 +00:00
gjb
d1f5c9bfc2 MFC r257329 (nyan):
Fix build, both clang and gcc are required on pc98.

Approved by:	re (kib)
Sponsored by:	The FreeBSD Foundation
2013-11-01 16:48:30 +00:00
brooks
c8322d287b MFC r256915
Stop conflating WITHOUT_CLANG with WITHOUT_CLANG_IS_CC.  This allows
bootstrapping a copy of clang without building clang for the base system

which is useful for nanobsd and similar setups.  It's still probably
wrong to conflate what is installed as /usr/bin/cc with the selection
of a bootstrap compiler under WITH*_CLANG_IS_CC, but that's for another
day.

Sponsored by:	DARPA/AFRL
Approved by:	re (gjb)
2013-10-31 14:07:00 +00:00