#
303975 |
|
11-Aug-2016 |
gjb |
Copy stable/11@r303970 to releng/11.0 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, and rename it to RC1.
Update __FreeBSD_version.
Use the quarterly branch for the default FreeBSD.conf pkg(8) repo and the dvd1.iso packages population.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
303360 |
|
27-Jul-2016 |
bdrewery |
MFC r303274:
Don't disable binutils/elftoolchain bootstrapping with external compiler.
Approved by: re (kib)
|
#
302408 |
|
08-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
302257 |
|
29-Jun-2016 |
bdrewery |
WITH_SYSTEM_COMPILER: Avoid using GCC4.8+ logic on native GCC4.2 platforms.
As the XXX notes, these should really be checking MK_GNUCXX since there is already a version check in share/mk/src.opts.mk to disable it. Fixing that here is more complex though. This could also be using X_COMPILER_FEATURES but uses X_COMPILER_VERSION to keep in sync with the src.opts.mk logic.
Tested by: andreast Sponsored by: EMC / Isilon Storage Division Approved by: re (gjb)
|
#
301939 |
|
16-Jun-2016 |
bdrewery |
Fix native powerpc64 build of lib32 with in-tree GCC.
- This was broken by r300350 and r300885. - Add some comments around the external GCC logic since it is spread out and in need of some cleanup. - The problem was that X_COMPILER_TYPE is always defined from CC->XCC's default, so if /usr/bin/cc is GCC (as it is on native powerpc64) then X_COMPILER_TYPE was getting GCC and triggering the external logic in Makefile.libcompat. It was intended to always provide -isystem with GCC since --sysroot is used into the lib32 sysroot which won't modify the header path without the -isystem. The use of the libc++/std=c++11 override was only intended to be used for external compilers though (more accurately GCC 4.8+ but that's a separate assumption to cleanup). Apply the same logic from Makefile.inc1 to Makefile.libcompat to only add the libc++ override when needed for external compilers.
Pointyhat to: bdrewery Tested with: native ppc64 (swills), universe, ppc64 xtoolchain, amd64 xtoolchain, sparc64 cross-build of ppc64 (host GCC 4.2) Reported by: andreast, swills Approved by: re (gjb) Sponsored by: EMC / Isilon Storage Division
|
#
301746 |
|
09-Jun-2016 |
emaste |
Use -L to specify compat32 library paths instead of -Y
-Y is an uncommon linker option that is rather similar to -L. In discussion with Peter it seems early amd64 development might have required the -Y-specific behaviour, but it is no longer necessary.
Switch to -L which is more widely supported and much more commonly used, to make it easier to link the FreeBSD base system with linkers other than ld.bfd.
Submitted by: Rafael Ávila de Espíndola Differential Revision: https://reviews.freebsd.org/D6681
|
#
300944 |
|
29-May-2016 |
bdrewery |
Libcompat: Swap CXX/CFLAGS.
This is the same as done for the native build in r300770 to ensure that the libc++ build reads from SYSROOT/usr/include/c++/v1 before reading from SYSROOT/usr/include.
|
#
300943 |
|
29-May-2016 |
bdrewery |
GCC External: Revert r300886, r300904, r300917, r300918
The fix in r300873 is mostly enough. A fix for lib32 will be committed.separately.
|
#
300926 |
|
29-May-2016 |
bdrewery |
Libcompat: Set build tools in environment rather than make overrides.
This allows the CXX hack in r300917 for external GCC to work for the lib32 build. It is also the same pattern as the native build uses by adding the tools into CROSSENV for external toolchain, rather than make overrides.
Sponsored by: EMC / Isilon Storage Division
|
#
300886 |
|
27-May-2016 |
bdrewery |
Move external GCC compiler hacks to bsd.sys.mk.
This allows respecting -nostdinc, -nostdinc++ and -nostdlib before making the decision to add in -isystem, etc. The -isystem flags are problematic for building lib/libc++ and lib/libcxxrt which wants to only use its own headers.
More information the need of these flags can be found at https://gcc.gnu.org/ml/gcc/2016-03/msg00219.html
This also reverts r300873.
Sponsored by: EMC / Isilon Storage Division
|
#
300885 |
|
27-May-2016 |
bdrewery |
Libcompat: Only pass -isystem =/usr/include for external GCC.
This is the same as the main build logic. GCC with a cross-compiler requires using -isystem to =/usr/include to get the search order correct.
Reported by: dim, asomers Sponsored by: EMC / Isilon Storage Division
|
#
298079 |
|
15-Apr-2016 |
bdrewery |
Set CPP from XCPP for the libcompat build.
Submitted by: Mark Millard <markmi@dsl-only.net>
|
#
297997 |
|
14-Apr-2016 |
bdrewery |
META_MODE: Don't rebuild build-tools targets during normal build.
This avoids 'build command changed' due to CFLAGS/CC changes during the normal build. Without this the build-tools targets end up rebuilding for the *target* rather than keeping the native versions built in build-tools.
Sponsored by: EMC / Isilon Storage Division
|
#
297591 |
|
05-Apr-2016 |
bdrewery |
Remove leftover _LDSCRIPTROOT missed in r297270.
Sponsored by: EMC / Isilon Storage Division
|
#
297462 |
|
31-Mar-2016 |
bdrewery |
LIB32+WITHOUT_TOOLCHAIN: Fix build by staging includes.
This is the same fix as r297281 for the normal build.
Sponsored by: EMC / Isilon Storage Division
|
#
297434 |
|
31-Mar-2016 |
bdrewery |
Remove the old depend (mkdep) code and make FAST_DEPEND the one true way.
Reviewed by: emaste, hselasky (partial), brooks (brief) Discussed on: arch@ Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D5742
|
#
297272 |
|
25-Mar-2016 |
bdrewery |
Fix libcompat not handling some external toolchain flags.
- Use libc++ with GCC. - Use CROSS_BINUTILS_PREFIX with -B (r280980 addressed this mostly already)
Sponsored by: EMC / Isilon Storage Division
|
#
297270 |
|
25-Mar-2016 |
bdrewery |
Build libcompat (lib32) with a --sysroot pointing into its stage directory.
This overrides the cross-compiler's default sysroot to use the WORLD32's sysroot for building the lib32 libraries. Previously the cross-compiler would default the sysroot to the 64bit WORLDTMP and -B/-L/-isystem flags were used to build using the lib32 files. This leads to multiple issues discussed later. Some extra headers are now needed to be staged since the 64bit WORLDTMP is not referenced at all for headers. The 64bit WORLDTMP is still used via PATH for build tools. Overriding the default target/arch is retained in the CC/CXX overrides.
This allows reverting the LDSCRIPT rewriting in installworld from r296921 and r235122, thus allowing read-only objdirs to work for installing again.
This removes the need for _LDSCRIPTROOT.
This allows progressing the change to always use --sysroot for the build rather than only relying on the cross-compiler's default sysroot. The work for that is in D3970 and needed to resolve WITHOUT_CROSS_COMPILER not using a --sysroot [1].
PR: 196193 [1] Sponsored by: EMC / Isilon Storage Division
|
#
297269 |
|
25-Mar-2016 |
bdrewery |
LIBRARIES_ONLY should only be defined during install32.
r245561 added it to prevent extra files from being installed during the install32 phase (to prevent duplicates in the meta log with -DNO_ROOT). The flag should not be passed during build32 though since it may prevent staging of includes during the 'make includes' phase on library directories.
Sponsored by: EMC / Isilon Storage Division
|
#
297248 |
|
24-Mar-2016 |
bdrewery |
Explicit 'make obj' for library dirs in build32 is not needed.
In r138291 some directories were explicitly made to run 'make obj', but each target in 'make libraries' already runs 'make obj' for each library since r161580.
Sponsored by: EMC / Isilon Storage Division
|
#
296779 |
|
12-Mar-2016 |
imp |
Use the newly minted Makefile.libcompat to implement libsoft libraries for the armv6 ABI switch. This also make WITH_LIBSOFT functional on the arm platform. As a transition thing, this seems to work even without switching the ABI (we basically build the same libraries twice when MK_LIBSOFT=yes until the ABI cut over next month). MK_LIBSOFT remains default no.
|
#
296737 |
|
12-Mar-2016 |
bdrewery |
Follow-up r296709: Fix build32 not properly building all libraries.
Pointyhat to: bdrewery Reported by: antoine
|
#
296709 |
|
11-Mar-2016 |
bdrewery |
Move Makefile.lib32 to Makefile.libcompat and generalize it.
This is in preparation for LIBSOFT.
This file only supports *1* LIBCOMPAT value currently and must be capitalized. In Makefile.libcompat given LIBCOMPAT=FOO there can be values set for LIBFOOCFLAGS, LIBFOOCPUFLAGS, LIBFOOWMAKEENV, LIBFOOWMAKEFLAGS, LIBFOOCPUFLAGS, and LIBFOODTRACE. These will have the standard cross-build values appended onto them.
This could be extended to support multiple libcompat libraries in the future once there is a need.
Reviewed by: imp Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D5612
|
#
296642 |
|
11-Mar-2016 |
imp |
Factor out lib32 generation to its own file. This is prep for a similar Makefile.libsoft which will do the same for armv6 soft fp API libraries in prep for pulling the trigger on moving to armv6 hard float. Once there's two files, I'll work with bdrewery@ to merge the two files as they are mostly the same. The high rate of churn for Makefile* makes it quite difficult to make progress out of tree.
Differential Review: https://reviews.freebsd.org/D5566
|
#
296549 |
|
08-Mar-2016 |
bdrewery |
Don't ever create object directories here with MK_AUTO_OBJ.
Sponsored by: EMC / Isilon Storage Division
|
#
296417 |
|
05-Mar-2016 |
dim |
Upgrade our copies of clang, llvm, lldb and compiler-rt to 3.8.0 release.
Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11 support to build; see UPDATING for more information.
Release notes for llvm and clang will soon be available here: <http://llvm.org/releases/3.8.0/docs/ReleaseNotes.html> <http://llvm.org/releases/3.8.0/tools/clang/docs/ReleaseNotes.html>
Thanks to Ed Maste, Roman Divacky, Davide Italiano and Antoine Brodin for their help.
Relnotes: yes
|
#
296405 |
|
05-Mar-2016 |
bdrewery |
Conditionalize building makewhatis(1) for upgrades that need it.
Remove building of the legacy makewhatis(1) since it was only needed for 6.0 upgrades.
On my 2.2 GHz system libsqlite3 takes 60-100 seconds to build, which due to its serialized nature can hold up the build waiting on it to finish in bootstrap-tools.
makewhatis(1) was only required to be a build tool to support upgrades from 6.0 which was properly removed in r208324 but later reverted due to installworld using it. The installworld issue was fixed in r275622 when it was added to ITOOLS. A BOOTSTRAPPING check was missed when makewhatis(1) was replaced with mandoc in r283777.
Sponsored by: EMC / Isilon Storage Division
|
#
296399 |
|
04-Mar-2016 |
bdrewery |
Don't add duplicates from LOCAL_LIB_DIRS.
This causes parallel failures.
Sponsored by: EMC / Isilon Storage Division
|
#
296398 |
|
04-Mar-2016 |
bdrewery |
Fix over/under-linking in contrib/ofed.
Sponsored by: EMC / Isilon Storage Division
|
#
296396 |
|
04-Mar-2016 |
bdrewery |
NO_ROOT: Create the METALOG directory on installworld/distributeworld.
When not using NO_ROOT the DESTDIR is implicitly created by the distrib-dirs call. However with NO_ROOT it is trying to write to the METALOG right away before running distrib-dirs which may fail.
Sponsored by: EMC / Isilon Storage Division
|
#
296387 |
|
04-Mar-2016 |
emaste |
Add dd as a bootstrap tool, for status= support
In r295757 I added status=none to buildworld's use of dd, but FreeBSD versions before April 2014 lack support.
|
#
296047 |
|
25-Feb-2016 |
oshogbo |
Convert casperd(8) daemon to the libcasper. After calling the cap_init(3) function Casper will fork from it's original process, using pdfork(2). Forking from a process has a lot of advantages: 1. We have the same cwd as the original process. 2. The same uid, gid and groups. 3. The same MAC labels. 4. The same descriptor table. 5. The same routing table. 6. The same umask. 7. The same cpuset(1). From now services are also in form of libraries. We also removed libcapsicum at all and converts existing program using Casper to new architecture.
Discussed with: pjd, jonathan, ed, drysdale@google.com, emaste Partially reviewed by: drysdale@google.com, bdrewery Approved by: pjd (mentor) Differential Revision: https://reviews.freebsd.org/D4277
|
#
295990 |
|
24-Feb-2016 |
bdrewery |
FAST_DEPEND: Skip 'make depend' for buildworld and kernel since it is auto-ran now.
Sponsored by: EMC / Isilon Storage Division
|
#
295644 |
|
16-Feb-2016 |
bdrewery |
Don't descend into test directories for distribution->installconfig.
Sponsored by: EMC / Isilon Storage Division
|
#
295581 |
|
12-Feb-2016 |
emaste |
Add libpe for elfcopy(1) PE/COFF support
Sponsored by: The FreeBSD Foundation
|
#
295380 |
|
07-Feb-2016 |
ngie |
Simplify running the FreeBSD test suite
Replace `make regress` (legacy test make target) and `make test` (incomplete test make target added with the FreeBSD test suite) with make check as it's consistent with other open source projects.
`make check` defaults to running tests from `.OBJDIR`, but can be overridden with the `CHECKDIR` variable.
Add `make checkworld` target to simplify running the FreeBSD test suite from `TESTSBASE` (i.e. the top-level tests directory), similar to buildworld.
Document `make check` and `make checkworld` in build(7).
Other minor changes:
- Rename intermediate file (`Kyuafile.auto`) to `Kyuafile` to simplify `make check`. - Remove terse warnings attached to `beforetest`/`aftertest`. - Add kyua binary check to check target in suite.test.mk; error out if it's not found
The MFC is [partly] contingent on other build related changes being MFCed.
Differential Revision: https://reviews.freebsd.org/D4406 MFC after: 2 months X-MFC to: stable/10 Relnotes: yes Reviewed by: bdrewery, Evan Cramer <eccramer@gmail.com> Sponsored by: EMC / Isilon Storage Division
|
#
295217 |
|
03-Feb-2016 |
bdrewery |
Deduplicate distrib-dirs logic from r289086 in distribution.
This does it correctly this time, rather than the incorrect version in r295167.
Sponsored by: EMC / Isilon Storage Division
|
#
295184 |
|
03-Feb-2016 |
cem |
Revert r295167 at bdrewery's request
$ svn merge -c -295167 .
JHB reports Navdeep reports that it breaks distribution and etcupdate.
Approved by: bdrewery
|
#
295167 |
|
02-Feb-2016 |
bdrewery |
Deduplicate distrib-dirs logic from r289086 in distribution.
Sponsored by: EMC / Isilon Storage Division
|
#
295162 |
|
02-Feb-2016 |
bdrewery |
Adjust install .WAITs for lib/ and etc/ to allow parallelization more.
Only 'installworld' needs to be protected and only when not using -DNO_ROOT, which implies not installing to / and not needing the lib dependency protections.
Sponsored by: EMC / Isilon Storage Division
|
#
293697 |
|
11-Jan-2016 |
bdrewery |
Correct a comment.
Submitted by: jhb
|
#
293445 |
|
08-Jan-2016 |
bdrewery |
Chase r292622: Update path to ioctl.c for incremental build hack.
Sponsored by: EMC / Isilon Storage Division
|
#
293440 |
|
08-Jan-2016 |
bdrewery |
Fix upgrading from OSVERSION 1000002-1000032 after r288829.
r288829 states that lex requires the latest m4, but was not always building it. Move lex to the same logic as m4 since they are closely tied now.
MFC after: 3 days Sponsored by: EMC / Isilon Storage Division Reported by: Slawa Olhovchenkov <slw@zxy.spb.ru>
|
#
293282 |
|
06-Jan-2016 |
glebius |
Provide knob NO_INSTALLEXTRAKERNELS. If defined, extra kernels in KERNCONF won't be installed, only the first one would.
|
#
293223 |
|
05-Jan-2016 |
gjb |
Merge ^/projects/release-install-debug:
- Rework MANIFEST generation and parsing via bsdinstall(8). - Allow selecting debugging distribution sets during install. - Rework bsdinstall(8) to fetch remote debug distribution sets when they are not available on the local install medium. - Allow selecting additional non-GENERIC kernels during install. At present, GENERIC is still required, and installed by default.
Tested with: head@r293203 Sponsored by: The FreeBSD Foundation
|
#
292671 |
|
23-Dec-2015 |
sbruno |
Fixup native-xtools target for poudriere cross build jails after svn r291955 by excluding all debug files.
Reported by: swills
Reviewed by: emaste
|
#
292502 |
|
20-Dec-2015 |
ngie |
Always expose LOCALBASE, not just when CROSS_TOOLCHAIN is defined
Instead of using which(1) to look for doxygen, look for it in <LOCALBASE>/bin . $PATH gets mangled by make buildenv, etc so it's better to just be explicit about the path if someone uses that for instance.
Differential Revision: https://reviews.freebsd.org/D4406 (part of a larger diff) Reviewed by: emaste, Evan Cramer <eccramer@gmail.com> Sponsored by: EMC / Isilon Storage Division
|
#
292235 |
|
14-Dec-2015 |
bdrewery |
Follow-up r290423: Don't use CSH for buildenv shell.
It does not properly import PATH; the PATH is reset by included profile files on startup which breaks the biggest feature of buildenv (using sysrooted cc from WORLDTMP)
Spotted by: smh, kib Sponsored by: EMC / Isilon Storage Division
|
#
292186 |
|
14-Dec-2015 |
andrew |
Split KNOWN_ARCHES so we have one per line to simplify merging future architectures.
|
#
292124 |
|
11-Dec-2015 |
br |
Start support for the RISC-V 64-bit architecture developed by UC Berkeley.
RISC-V is a new ISA designed to support computer research and education, and is now become a standard open architecture for industry implementations.
This is a minimal set of changes required to run 'make kernel-toolchain' using external (GNU) toolchain.
The FreeBSD/RISC-V project home: https://wiki.freebsd.org/riscv.
Reviewed by: andrew, bdrewery, emaste, imp Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Differential Revision: https://reviews.freebsd.org/D4445
|
#
291995 |
|
08-Dec-2015 |
bdrewery |
Fix some makeman issues.
- Don't bother looking up REVISION/BRANCH/etc from release/, or the CPUTYPE check, as these are not used for makeman and wastes time. The also invokes auto.obj.mk after I reverted auto.obj.mk ignoring -V in r291312. - Don't modify CC or PATH when WITH_CCACHE_BUILD or WITH_META_MODE is enabled as it leads to bsd.compiler.mk errors.
Sponsored by: EMC / Isilon Storage Division
|
#
291952 |
|
07-Dec-2015 |
bdrewery |
Fix spelling of internal hack.
Reported by: ngie
|
#
291635 |
|
02-Dec-2015 |
bdrewery |
bsd.subdir.mk: Only recurse on called targets, rather than dependencies.
This is to fix 'make all' causing it to recurse on both 'all' and 'buildconfig' due to 'buildconfig' being in ALL_SUBDIR_TARGETS and being a dependency of 'all'.
This now adds all of the '*includes', '*files' targets as subdir targets, allowing them to recurse.
This also removes the need for some 'realinstall' hacks in bsd.subdir.mk since it no longer recurses; only 'install' will recurse and call the proper 'beforeinstall', 'realinstall', and 'afterinstall' in each sub-directory.
This fixes 'make includes' and 'make files' to not be a rerolled ${MAKE} sub-shell but to rather just recurse on 'inclues' and 'files'. This avoids various issues such as the one fixed in r289462. As such revert Makefile.inc1 back to using 'includes' which avoids an extra tree walk and parallelizes the includes phases better.
Makefile.inc1 includes a guard so that 'make all' will not use SUBDIR_PARALLEL, added in r289438. This is so users do not get a probably broken build if they run 'make all' from the top-level. Before the change in this commit, the workaround for 'make everything' was 'par-all' which would depend on 'all' and cause a proper parallel recursion. Now that will not work so a new _PARALLEL_SUBUDIR_OK is used to allow it.
This is still part of an effort to combine bsd.(files|incs|confs).mk and move some of its logic out of bsd.subdir.mk, as attempted in r289282 and reverted in r289331. This commit fixes the problems found there which was mostly double recursing during 'includes' which would recurse on itself and 'buildincludes' and 'installincludes', all in parallel. The logic is still in bsd.subdir.mk for now.
I've been cautious about this commit but have experienced no breakage on the tree except for the 'par-all' case which was already a hack. If something foo is depending on something bar that should recurse, it is very likely that the foo target is being recursed on already meaning that bar will still effectively recurse once sub-directories call foo.
Discussed on: arch@ MFC after: never Sponsored by: EMC / Isilon Storage Division
|
#
291611 |
|
01-Dec-2015 |
bdrewery |
Add NO_INSTALLKERNEL to undo the assumption that the first KERNCONF will be installed as "kernel". This is relevant for packaging of the kernel when not wanting a default "kernel.txz".
Submitted by: Russell Cattelan <cattelan@thebarn.com> MFC after: 2 weeks Obtained from: OneFS Sponsored by: EMC / Isilon Storage Division
|
#
291610 |
|
01-Dec-2015 |
bdrewery |
Allow storing package(world|kernel) tarballs into a different location at PACKAGEDIR.
Submitted by: Russell Cattelan <cattelan@thebarn.com> Discussed with: gjb MFC after: 2 weeks Obtained from: OneFS Sponsored by: EMC / Isilon Storage Division
|
#
291605 |
|
01-Dec-2015 |
bdrewery |
Fix errors being ignored in many phases of the build since the bmake integration.
Say it with me, "I will not chain commands with && in Makefiles"
This was originally fixed and explained quite well by bde@ in r36074. The initial bmake integration caused 'set -e' to stop being used which lead to r252419. Later 'set -e' expectations were fixed with bmake in r254980.
Because of the && here, errors would be ignored when building in parallel and a dependency failed. Such as bootstrap-tools since it builds everything in parallel. If any tool failed in obj/depend/all, it would just ignore the error and continue to build. This later would result in cascaded errors that only confused the real issue. This could also cause commands after the failed command to still execute, leading to more confusion.
This should be fine if the command is in a sub-shell such as: (cmd1 && cmd2)
This reverts r252419.
MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
|
#
291406 |
|
27-Nov-2015 |
jhb |
Add support to libkvm for reading vmcores from other architectures. - Add a kvaddr_type to represent kernel virtual addresses instead of unsigned long. - Add a struct kvm_nlist which is a stripped down version of struct nlist that uses kvaddr_t for n_value. - Add a kvm_native() routine that returns true if an open kvm descriptor is for a native kernel and memory image. - Add a kvm_open2() function similar to kvm_openfiles(). It drops the unused 'swapfile' argument and adds a new function pointer argument for a symbol resolving function. Native kernels still use _fdnlist() from libc to resolve symbols if a resolver function is not supplied, but cross kernels require a resolver. - Add a kvm_nlist2() function similar to kvm_nlist() except that it uses struct kvm_nlist instead of struct nlist. - Add a kvm_read2() function similar to kvm_read() except that it uses kvaddr_t instead of unsigned long for the kernel virtual address. - Add a new kvm_arch switch of routines needed by a vmcore backend. Each backend is responsible for implementing kvm_read2() for a given vmcore format. - Use libelf to read headers from ELF kernels and cores (except for powerpc cores). - Add internal helper routines for the common page offset hash table used by the minidump backends. - Port all of the existing kvm backends to implement a kvm_arch switch and to be cross-friendly by using private constants instead of ones that vary by platform (e.g. PAGE_SIZE). Static assertions are present when a given backend is compiled natively to ensure the private constants match the real ones. - Enable all of the existing vmcore backends on all platforms. This means that libkvm on any platform should be able to perform KVA translation and read data from a vmcore of any platform.
Tested on: amd64, i386, sparc64 (marius) Differential Revision: https://reviews.freebsd.org/D3341
|
#
291026 |
|
18-Nov-2015 |
bdrewery |
Remove unneeded libmd from bootstrap-tools (reverting r246784).
The bootstrap-tools are supposed to be host tools, which in most cases, use host headers and libraries. As such, directly including the src tree's headers for libmd here causes the need to link libmd in since it will be built with the new symbols (which /usr/lib/libmd.so) won't have unless it is new enough. During the target build in buildworld the target headers are staged into WORLDTMP and used via --sysroot, allowing the target xinstall to be built with the new/target libmd.
The .PATH here was also not doing anything since xinstall does not use libmd source files.
Sponsored by: EMC / Isilon Storage Division MFC after: 2 weeks
|
#
290812 |
|
14-Nov-2015 |
bdrewery |
Avoid setting schg in the objtree for lib32 build.
Reported by: kib Sponsored by: EMC / Isilon Storage Division MFC after: 1 week
|
#
290627 |
|
09-Nov-2015 |
bdrewery |
Fix 'make cleanworld' to respect TARGET/TARGET_ARCH for cross-build objtrees.
This simplifies the logic to always try removing the objdir if it exists and to fallback on a 'cleandir' if no objdir exists. The reasoning for this is to avoid rm -rf src/* (r126024)
Sponsored by: EMC / Isilon Storage Division MFC after: 2 weeks
|
#
290626 |
|
09-Nov-2015 |
bdrewery |
Move 'make cleandir' from Makefile to Makefile.inc1.
This leads the way for fixing cross-build cleanup, and eventually replacing 'cleandir' with it during the build.
Sponsored by: EMC / Isilon Storage Division MFC after: 2 weeks
|
#
290526 |
|
08-Nov-2015 |
bdrewery |
Add built-in ccache build support via WITH_CCACHE_BUILD option.
ccache is mostly beneficial for frequent builds where -DNO_CLEAN is not used to achieve a safe pseudo-incremental build. This is explained in more detail upstream [1] [2]. It incurs about a 20%-28% hit to populate the cache, but with a full cache saves 30-50% in build times. When combined with the WITH_FAST_DEPEND feature it saves up to 65% since ccache does cache the resulting dependency file, which it does not do when using mkdep(1)/'CC -E'. Stats are provided at the end of this message.
This removes the need to modify /etc/make.conf with the CC:= and CXX:= lines which conflicted with external compiler support [3] (causing the bootstrap compiler to not be built which lead to obscure failures [4]), incorrectly invoked ccache in various stages, required CCACHE_CPP2 to avoid Clang errors with parenthesis, and did not work with META_MODE.
The option name was picked to match the existing option in ports. This feature is available for both in-src and out-of-src builds that use /usr/share/mk.
Linking, assembly compiles, and pre-processing avoid using ccache since it is only overhead. ccache does nothing special in these modes, although there is no harm in calling it for them.
CCACHE_COMPILERCHECK is set to 'content' when using the in-tree bootstrap compiler to hash the content of the compiler binary to determine if it should be a cache miss. For external compilers the 'mtime' option is used as it is more efficient and likely to be correct. Future work may optimize the 'content' check using the same checks as whether a bootstrap compiler is needed to be built.
The CCACHE_CPP2 pessimization is currently default in our devel/ccache port due to Clang requiring it. Clang's -Wparentheses-equality, -Wtautological-compare, and -Wself-assign warnings do not mix well with compiling already-pre-processed code that may have expanded macros that trigger the warnings. GCC has so far not had this issue so it is allowed to disable the CCACHE_CPP2 default in our port.
Sharing a cache between multiple checkouts, or systems, is explained in the ccache manual. Sharing a cache over NFS would likely not be worth it, but syncing cache directories between systems may be useful for an organization. There is also a memcached backend available [5]. Due to using an object directory outside of the source directory though you will need to ensure that both are in the same prefix and all users use the same layout. A possible working layout is as follows: Source: /some/prefix/src1 Source: /some/prefix/src2 Source: /some/prefix/src3 Objdir: /some/prefix/obj Environment: CCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj' This will use src*/../obj as the MAKEOBJDIRPREFIX and tells ccache to replace all absolute paths to be relative. Using something like this is required due to -I and -o flags containing both SRC and OBJDIR absolute paths that ccache adds into its hash for the object without CCACHE_BASEDIR.
distcc can be hooked into by setting CCACHE_PREFIX=/usr/local/bin/distcc. I have not personally tested this and assume it will not mix well with using the bootstrap compiler.
The cache from buildworld can be reused in a subdir by first running 'make buildenv' (from r290424).
Note that the cache is currently different depending on whether -j is used or not due to ccache enabling -fdiagnostics-color automatically if stderr is a TTY, which bmake only does if not using -j.
The system I used for testing was: WITNESS Build options: -j20 WITH_LLDB=yes WITH_DEBUG_FILES=yes WITH_CCACHE_BUILD=yes DISK: ZFS 3-way mirror with very slow disks using SSD l2arc/log. The arc was fully populated with src tree files and ccache objects. RAM: 76GiB CPU: Intel(R) Xeon(R) CPU L5520 @2.27GHz 2 package(s) x 4 core(s) x 2 SMT threads = hw.ncpu=16
The WITH_FAST_DEPEND feature was used for comparison here as well to show the dramatic time savings with a full cache.
buildworld: x buildworld-before + buildworld-ccache-empty * buildworld-ccache-full % buildworld-ccache-full-fastdep # buildworld-fastdep +-------------------------------------------------------------------------------+ |% * # +| |% * # +| |% * # xxx +| | |A | | A| | A | |A | | A | +-------------------------------------------------------------------------------+ N Min Max Median Avg Stddev x 3 3744.13 3794.31 3752.25 3763.5633 26.935139 + 3 4519 4525.04 4520.73 4521.59 3.1104823 Difference at 95.0% confidence 758.027 +/- 43.4565 20.1412% +/- 1.15466% (Student's t, pooled s = 19.1726) * 3 1823.08 1827.2 1825.62 1825.3 2.0785572 Difference at 95.0% confidence -1938.26 +/- 43.298 -51.5007% +/- 1.15045% (Student's t, pooled s = 19.1026) % 3 1266.96 1279.37 1270.47 1272.2667 6.3971113 Difference at 95.0% confidence -2491.3 +/- 44.3704 -66.1952% +/- 1.17895% (Student's t, pooled s = 19.5758) # 3 3153.34 3155.16 3154.2 3154.2333 0.91045776 Difference at 95.0% confidence -609.33 +/- 43.1943 -16.1902% +/- 1.1477% (Student's t, pooled s = 19.0569)
buildkernel: x buildkernel-before + buildkernel-ccache-empty * buildkernel-ccache-empty-fastdep % buildkernel-ccache-full # buildkernel-ccache-full-fastdep @ buildkernel-fastdep +-------------------------------------------------------------------------------+ |# @ % * | |# @ % * x + | |# @ % * xx ++| | MA | | MA| | A | | A | |A | | A | +-------------------------------------------------------------------------------+ N Min Max Median Avg Stddev x 3 571.57 573.94 571.79 572.43333 1.3094401 + 3 727.97 731.91 728.06 729.31333 2.2492295 Difference at 95.0% confidence 156.88 +/- 4.17129 27.4058% +/- 0.728695% (Student's t, pooled s = 1.84034) * 3 527.1 528.29 528.08 527.82333 0.63516402 Difference at 95.0% confidence -44.61 +/- 2.33254 -7.79305% +/- 0.407478% (Student's t, pooled s = 1.02909) % 3 400.4 401.05 400.62 400.69 0.3306055 Difference at 95.0% confidence -171.743 +/- 2.16453 -30.0023% +/- 0.378128% (Student's t, pooled s = 0.954969) # 3 201.94 203.34 202.28 202.52 0.73020545 Difference at 95.0% confidence -369.913 +/- 2.40293 -64.6212% +/- 0.419774% (Student's t, pooled s = 1.06015) @ 3 369.12 370.57 369.3 369.66333 0.79033748 Difference at 95.0% confidence -202.77 +/- 2.45131 -35.4225% +/- 0.428227% (Student's t, pooled s = 1.0815)
[1] https://ccache.samba.org/performance.html [2] http://www.mail-archive.com/ccache@lists.samba.org/msg00576.html [3] https://reviews.freebsd.org/D3484 [5] https://github.com/jrosdahl/ccache/pull/30
PR: 182944 [4] MFC after: 3 weeks Sponsored by: EMC / Isilon Storage Division Relnotes: yes
|
#
290523 |
|
08-Nov-2015 |
bdrewery |
Add a hack to workaround ZSH as BUILDENV_SHELL breaking CPUTYPE.
ZSH considers CPUTYPE a magic variable that will be the output of 'uname -m' even if already set in environment when starting up.
The CPUTYPE?= check in Makefile.inc1 and supporting overriding CPUTYPE manually in the buildenv shell make automatic workarounds too tricky here. ZSH should really respect variables set in the environment before trashing them.
X-MFC-With: r290423 MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
290494 |
|
07-Nov-2015 |
bapt |
Improve collation string and locales support
Merge collation support from Illumos and DragonflyBSD.
Locales are now generated with the new localedef(1) tool from CLDR POSIX files. The generated files are now identified as "BSD 1.0" format.
The libc now only read "BSD 1.0" locales definitions, all other version will be set to "C" The localedef(1) tool has been imported from Illumos and modified to use tree(3) instead of the CDDL avl(3) A set of tool created by edwin@ and extended by marino@ for dragonfly has been added to be able to generate locales and the Makefiles from the vanilla CLDR unicode databases + a universal UTF-8 charmap (by marino@) Update the locales to unicode v27 Given our regex(3) does not support multibyte (yet) it has been forced to always use locale C Remove now unused colldef(1) and mklocale(1) Finish implementing the numeric BSD extension for ctypes The number of supported locales has grown from 175 to 250 locales. Among the new locales: 6 Arabic locales (AE EG JO MA QA SA), Different variations of spanish locales. Added new 3 components locales for mn_Cyrl_MN, sr_Cyrl_RS sr_Latn_RS, zh_Hans_CN, zh_Hant_HK and zh_Hant_TW. Some aliases has been for 2 components version when possible.
Thanks: Garrett D'Amore (Illumos) who made sure all his work was done under BSD license!, Edwin Groothuis (edwin@) for the work he made on tools to be able to generate locales definition usable in freebsd sources out of vanilla CLDR definitions, John Marino (DragonflyBSD) who first merge the Illumos work into Dragonfly and spent hours tracking down bugs.
|
#
290424 |
|
05-Nov-2015 |
bdrewery |
Allow 'make buildenv' to work anywhere in the src tree.
Sponsored by: EMC / Isilon Storage Division
|
#
290423 |
|
05-Nov-2015 |
bdrewery |
Allow 'make buildenv' to default to the caller's shell by using SHELL.
Also pass BUILDENV=1 into the sub-shell to allow modifying PS1 in .profile such as: if [ -n "${BUILDENV}" ]; then PS1="(buildenv) ${PS1}" fi
SHELL defaults to 'sh' in share/mk/sys.mk, but is typically passed down by the shell invoking make as well. Rather than forcing all 'buildenv' users to use plain /bin/sh, let them use their favorite shell.
MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Discussed with: imp
|
#
290417 |
|
05-Nov-2015 |
imp |
Fix CC being wrong during install* targets.
Move CROSS_TOOLS stuff to top of file (before bsd.compiler.mk) so that decisions made by bsd.compiler.mk can properly affect the defaults in src.opts.mk. Move that to after bsd.compiler.mk. Add a comment about why we include bsd.compiler.mk here despite the fact that src.opts.mk currently does too. Also remove bsd.arch.inc.mk that's been OBE.
Differential Revision: https://reviews.freebsd.org/D4087
|
#
290351 |
|
04-Nov-2015 |
rodrigc |
Rename libohash to libopenbsd.
libopenbsd is an internal library which to bring in compatibility stuff from OpenBSD. This will allow us to bring in more OpenBSD utilities into the FreeBSD base system.
We similarly use libnetbsd for bringing in stuff from NetBSD.
Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D4078
|
#
290019 |
|
26-Oct-2015 |
bdrewery |
Add a note about DEPFLAGS which is currently a hack around not properly passing CXXFLAGS to sub-makes.
The bad passing also causes bsd.dep.mk's logic to selectively pull only some flags from C[XX]FLAGS to not apply which can be seen with '-L' being passed to mkdep when using an external compiler.
|
#
289861 |
|
24-Oct-2015 |
bdrewery |
native-xtools: Replace common path with NXBDESTDIR.
Also combine some mkdir calls.
Sponsored by: EMC / Isilon Storage Division
|
#
289859 |
|
23-Oct-2015 |
bdrewery |
native-xtools: Fix build with WITH_DEBUG_FILES.
Sponsored by: EMC / Isilon Storage Division
|
#
289738 |
|
22-Oct-2015 |
bdrewery |
Parallelize build-tools.
MFC after: 3 weeks Sponsored by: EMC / Isilon Storage Division
|
#
289728 |
|
22-Oct-2015 |
emaste |
Warn that NOCLEAN is deprecated - use NO_CLEAN instead
NO_CLEAN has been the correct spelling for over a decade.
|
#
289725 |
|
22-Oct-2015 |
bdrewery |
Let SUBDIR_OVERRIDE with 'make buildworld' be more useful.
Now it can be used to effectively "build in a subdir". It will use the 'cross-tools', 'libraries', and 'includes' phases of 'buildworld' to properly setup a WORLDTMP to use. Then it will build 'everything' only in the listed SUBDIR_OVERRIDE directories. It is still required to list custom library directories in LOCAL_LIB_DIRS if SUBDIR_OVERRIDE is something that contains libraries outside of the normal area (such as SUBDIR_OVERRIDE=contrib/ofed needing LOCAL_LIB_DIRS=contrib/ofed/usr.lib)
Without these changes, SUBDIR_OVERRIDE with buildworld was broken or hit obscure failures due to missing libraries, includes, or cross compiler.
SUBDIR_OVERRIDE with 'make <target that is not buildworld>' will continue to work as it did before although its usefulness is questionable.
With a fully populated WORLDTMP, building with a SUBDIR_OVERRIDE with -DNO_CLEAN only takes a few minutes to start building the target directories. This is still much better than building unneeded things via 'everything' when testing small subset changes. A BUILDFAST or SKIPWORLDTMP might make sense for this as well.
- Add in '_worldtmp' as we still need to create WORLDTMP as later targets, such as '_libraries' and '_includes' use it. This probably was avoiding calling '_worldtmp' to not remove WORLDTMP for debugging purposes, but -DNO_CLEAN can be used for that.
- '_legacy' must be included since '_build-tools' uses -legacy. The SUBDIR_OVERRIDE change came in r95509, while -legacy being part of build-tools came in r113136.
- 'bootstrap-tools' is still skipped as this feature is not for upgrades.
- Fix buildworld combined with SUBDIR_OVERRIDE not installing all includes.
The original change for SUBDIR_OVERRIDE in r95509 kept '_includes' and '_libraries' as building everything possible as the SUBDIR_OVERRIDE could need anything from them. However in r96462 the real 'includes' target was changed from manual sub-makes to just recursing 'includes' on SUBDIR, thus not all includes have been installed into WORLDTMP since then when combined with 'buildworld'.
This is not done unless calling 'make buildworld' as it would be unexpected to have it go into all directories when doing 'make SUBDIR_OVERRIDE=mydir includes'.
- Also need to build the cross-compiler so it is used with --sysroot. If this is burdensome then telling the build to use the local compiler as an external compiler (thus using a proper --sysroot to WORLDTMP) is possible by setting CC=/usr/bin/cc, CXX=/usr/bin/c++, etc.
- Don't build the lib32 distribution with SUBDIR_OVERRIDE in buildworld since it won't contain anything related to SUBDIR_OVERRIDE. Testing of the lib32 build can be done with 'make build32'.
- Document these changes in build.7
Sponsored by: EMC / Isilon Storage Division MFC after: 2 weeks
|
#
289712 |
|
21-Oct-2015 |
bdrewery |
Fix my change in r289435 causing 'etc' to be added to SUBDIR when using SUBDIR_OVERRIDE.
MFC after: 2 weeks X-MFC-With: r289435 Sponsored by: EMC / Isilon Storage Division
|
#
289676 |
|
21-Oct-2015 |
bdrewery |
Add some missing '+', .MAKE, and .PHONY modifiers.
Some of these targets were lacking both .MAKE and a '+'. Others were just inconsistent.
MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
|
#
289662 |
|
20-Oct-2015 |
jmmv |
Handle lib32 files during delete-old* when MK_LIB32=no.
Extend OptionalObsoleteFiles.inc to delete all lib32 files when MK_LIB32 is set to no on a system that previously had lib32 libraries installed.
Also, to prevent "make delete-old-dirs" from always deleting lib32 directories after an installworld, move the lib32 subtree to its own mtree file that only gets applied when MK_LIB32=yes.
Test: Ran "make delete-old" and "make delete-old-libs" on a system that never had MK_LIB32 enabled, and on a system where MK_LIB32 was enabled and later disabled. Did this both on amd64 and powerpc64.
Test: Ran "make tinderbox" without errors.
Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D3923
|
#
289464 |
|
17-Oct-2015 |
bdrewery |
Remove unneeded MK_CTF=no when MK_CDDL=no.
This has been handled since r228158 made MK_CTF dependent on MK_CDDL in share/mk/bsd.opts.mk.
MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
289462 |
|
17-Oct-2015 |
bdrewery |
Fix wrong PATH being set for world 'includes' stage after r289438.
The 'includes' target is currently a pseudo target in bsd.subdir.mk that does 'cd ${.CURDIR} && ${MAKE} buildincludes && ${MAKE} installincludes', versus all over targets that just recurse.
In Makefile.inc1 the older duplicated bsd.subdir.mk logic for calling 'includes' was being executed in each subdir directly, meaning 'cd lib && make includes' became 'cd lib && make buildincludes && make installincludes'. Now that the bsd.subdir.mk logic is used it is calling 'make buildincludes && make installincludes' from the top-level which pulls in the PATH=<default path> from /Makefile.
The sub-make logic for 'includes' in bsd.subdir.mk was attempted to be removed in r289282 but turned out to be wrong. I have a working version now but it is not yet ready for commit. So for now in Makefile.inc1 split out 'includes' to 'buildincludes' and 'installincludes' which will avoid the problem.
MFC after: 2 weeks X-MFC-With: r289438 Sponsored by: EMC / Isilon Storage Division
|
#
289444 |
|
17-Oct-2015 |
bdrewery |
For 'buildenvvars' show any .exported variables as well to cover recent exporting of OSRELDATE and VERSION. These already do export to 'buildenv' fine.
Sponsored by: EMC / Isilon Storage Division
|
#
289443 |
|
17-Oct-2015 |
bdrewery |
Always export VERSION to the environment to avoid looking it up again in sub-makes.
Some of the world phases that used plain '${MAKE} -f Makefile.inc1' were not passing this variable along which caused them to look it up again. By using bmake's .export we can remove it from all of the other environment lines.
Add a comment about the usage for VERSION for ctfmerge.
Sponsored by: EMC / Isilon Storage Division
|
#
289439 |
|
17-Oct-2015 |
bdrewery |
Export OSRELDATE so sub-makes don't look it up again.
We pass BOOTSTRAPPING=${OSRELDATE} to some of the sub-makes. Rather than chase every ${MAKE} invokation, just export it as bmake lets us.
Sponsored by: EMC / Isilon Storage Division
|
#
289438 |
|
17-Oct-2015 |
bdrewery |
Rework the world subdir build targets to use the standard SUBDIR_PARALLEL mechanism.
Back in r30113, the 'par-*' targets were added to parallelize portions of the build in a very similar fashion as the SUBDIR_PARALLEL feature used in r263778. Calling a target without 'par-' (for 'parallel') resulted in the standard bsd.subdir.mk handling without parallelization. Given we have SUBDIR_PARALLEL now there is no reason to duplicate the handling here.
In build logs this will result in the ${dir}.${target}__D targets now showing as the normal ${target}_subdir_${dir} targets.
I audited all of the uses of Makefile.inc1 and Makefile's targets that use bsd.subdir.mk and found that all but 'all' and 'install' were fine to use as always parallel. - For 'install' (from installworld -j) the ordering of lib/ and libexec/ before the rest of the system (described in r289433), and etc/ being last (described in r289435), is all that matters. So now a .WAIT is added in the proper places when invoking any 'install*' target. A parallel installworld does work and took 46% of the time a non-parallel install would take on my system with -j15 to ZFS. - For 'all' I left the default handling for this to not run in parallel. A 'par-all' target is still used by the 'everything' stage of buildworld to continue building in parallel as it already has been. This works because most of the dependencies are handled by the early bootstrap phases as well as 'libraries' and 'includes' phases. This lets all of the SUBDIR build in parallel fine, such as bin/ and lib/. This will not work if the user invokes 'all' though as we have dependencies spread all over the system with no way to depend between them (except for the dirdeps feature in the META_MODE build). Calling 'make all' from the top-level is still useful at least when using SUBDIR_OVERRIDE.
MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
289435 |
|
16-Oct-2015 |
bdrewery |
Fix adding manpages installed by LOCAL_DIRS to whatis file.
The ordering of 'etc' in the install has a long history dating back to the first time it was realized it needed to be "last" in r4486. That commit still left it before LOCAL_DIRS though. By having it before LOCAL_DIRS any manpages they install were not being added to the whatis database in the install image. They would likely show up in the file after a periodic rebuild of the file though.
Currently the whatis file is built by an 'afterinstall' hook in etc/Makefile that calls share/man's 'makedb' target.
MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
289434 |
|
16-Oct-2015 |
bdrewery |
Remove lockf as an ITOOL.
It was added in r152006 to handle serializing access of info/dir when installing INFO files. We no longer support INFO files since r276551 though.
Sponsored by: EMC / Isilon Storage Division
|
#
289433 |
|
16-Oct-2015 |
bdrewery |
Correct a bitrotted comment about installworld order requirements.
The case of make(1) using a new /bin/sh issue was fixed in r173219 when ITOOLS was introduced.
There are still issues with mid-install errors leaving a system unusable that are currently non-trivial to solve. The safest ordering requires installing rtld, libc and libthr (in that order) before anything else. We don't do that now though. Much improvement is needed here still.
Discussed with: kip and kan (rtld/library ordering) MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
|
#
289430 |
|
16-Oct-2015 |
bdrewery |
Remove .MAKE from targets that do more than just run sub-makes, such as calling rm or mtree.
MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
|
#
289407 |
|
16-Oct-2015 |
bdrewery |
Fix delete-old and check-old-files not removing old debug symbols.
This was handled for libraries in r256842 but for some reason was missed for files (bsd.prog.mk).
MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Relnotes: yes
|
#
289390 |
|
15-Oct-2015 |
bdrewery |
Fix buildworld with clean objdir after r289351.
Sponsored by: EMC / Isilon Storage Division
|
#
289361 |
|
15-Oct-2015 |
bdrewery |
Consider top-level targets to be .PHONY as bmake won't build them otherwise if a file with the same name is found in the directory.
MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
|
#
289360 |
|
15-Oct-2015 |
bdrewery |
Add temporary workaround for .MAKE being applied to _worldtmp, since r251750.
This was causing files to be removed from the objdir when -n was used. _worldtmp makes no sub-make calls.
A more comprehensive solution is coming involving fine-grained '+' where appropriate.
Sponsored by: EMC / Isilon Storage Division MFC after: 1 week
|
#
289351 |
|
15-Oct-2015 |
emaste |
Create /usr/tests *.debug file directory hierarchy
Reviewed by: bdrewery, ngie Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3896
|
#
289115 |
|
10-Oct-2015 |
bapt |
Fix installing config files as non root
Reported by: adrian
|
#
289086 |
|
09-Oct-2015 |
bapt |
Change make distribution so that it now call installconfig in all dirs along with the current behaviour of calling "distribution" in the etc target.
This allows mergemaster/etcupdate to still work when some configuration will be moved to be handled in the same directories their source code lives in.
|
#
288829 |
|
05-Oct-2015 |
ian |
The latest version of lex requires the latest m4 to build, add a dependency when running the build-tools stage.
The requirement is due to the -P flag used when running m4 from usr.bin/lex Makefile to generate skel.c. With the old m4 that fails and the failure is ignored, resulting in an empty(-ish) skel.c, which leads to later build failures when the misconfigured new lex tool is run.
This enables building -current (and 10-stable after MFC) on a stable-8 system again.
MFC after: 3 days
|
#
288485 |
|
02-Oct-2015 |
cperciva |
Final step of eliminating the "games" distribution: Merge src/games (or what's left of it, at least) into src/usr.bin.
This change will not be MFCed.
Discussed at: EuroBSDCon 2014 Committed from: EuroBSDCon 2015
|
#
288339 |
|
28-Sep-2015 |
avg |
remove unused sgsmsg utility (originally imported from opensolaris)
MFC after: 25 days
|
#
288251 |
|
26-Sep-2015 |
bdrewery |
META_MODE: Make it easier to keep the bootstrap-tools args in sync.
Sponsored by: EMC / Isilon Storage Division
|
#
288203 |
|
25-Sep-2015 |
emaste |
Remove EOL whitespace from Makefile.inc1
|
#
288069 |
|
21-Sep-2015 |
emaste |
Move DTrace tools to cross-tools stage
Bootstrap tools exist for backwards compatibility support. DTrace tools tools are also needed for cross builds, so belong in cross-tools.
Reviewed by: imp (earlier), markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D2144
|
#
287902 |
|
17-Sep-2015 |
bdrewery |
Let makeman run 'make showconfig' without hitting the aarch64 error.
|
#
287824 |
|
15-Sep-2015 |
brd |
Fix grammer in an error message
PR: 202310 Submitted by: Chris Petrik <chris@bsdjunk.com> Approved by: will
|
#
287805 |
|
15-Sep-2015 |
markj |
Unconditionally build CTF tools in the bootstrap-tools phase of the build.
Stale CTF tools are a frequent source of DTrace issues, and they compile quickly enough that the increase in build time is negligible.
Reviewed by: emaste, imp Differential Revision: https://reviews.freebsd.org/D3670
|
#
287400 |
|
02-Sep-2015 |
glebius |
The ${BUILDKERNELS:[2..-1]} appears to produce a non zero result for a one word variable, which is quite unexpected from documentation. So, to avoid double installation of a single kernel, protect the extra kernels loop with ${BUILDKERNELS:[#]} > 1 conditional.
Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
287358 |
|
01-Sep-2015 |
glebius |
Not only build with buildworld, but also install with installworld all alternative kernels.
Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
287357 |
|
01-Sep-2015 |
glebius |
When building multiple kernels use [2..-1] to extract !INSTALLKERNEL from BUILDKERNELS list. This is more strict, since INSTALLKERNEL by definition is the first word of BUILDKERNELS list. The previous code failed if INSTALLKERNEL is a substring of additional kernel name.
Reviewed by: gjb Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
287108 |
|
24-Aug-2015 |
bapt |
Remove now unused LIBPRIVATEDIR
Sponsored by: Gandi.net
|
#
287085 |
|
23-Aug-2015 |
imp |
Sparc64 is the odd-man out, so form the if that way rather than listing everybody else.
|
#
286842 |
|
17-Aug-2015 |
emaste |
Separate ELFTOOLCHAIN_BOOTSTRAP from BINUTILS_BOOTSTRAP
For most cases they are equivalent, but BINUTILS_BOOTSTRAP is a BROKEN_OPTION on arm64 as the in-tree GNU binutils do not support it, so we need a separate internal flag for ELF Tool Chain.
Reviewed by: andrew, brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3381
|
#
286747 |
|
13-Aug-2015 |
imp |
Spell binaries in the customary way.
Submitted by: jhb@
|
#
286730 |
|
13-Aug-2015 |
emaste |
Roll WITHOUT_ELFTOOLCHAIN_TOOLS into WITHOUT_TOOLCHAIN
The option was added only to ease the transition from GNU Binutils to ELF Tool Chain tools, and that process is now complete (for the viable replacements). Noting the removal in UPDATING is sufficient as we have not shipped a release with the option.
Reviewed by: brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3240
|
#
286695 |
|
12-Aug-2015 |
imp |
Fix the fixing of the build I broke. rescue/rescue has the right target, but rescue doesn't.
Pointy hat: imp@
|
#
286691 |
|
12-Aug-2015 |
delphij |
Fix build.
|
#
286687 |
|
12-Aug-2015 |
imp |
Document build-tools better. Add rescue back because it builds /bin/sh which has a build-tools target (see commit for how build-tools and cross-tools differ).
|
#
286676 |
|
12-Aug-2015 |
imp |
Why on earth have we been building rescue as a build tool for the past 12 years? Nothing downstream in the build uses it. Eliminate it as a build tool.
Reviewed by: emaste@ ("just delete it")
|
#
286672 |
|
12-Aug-2015 |
imp |
Crunchgen needs to be bootstrapped to pick up the STRIP->STRIPBIN changes to prevent the 'rescue: not found' errors from happening. Bump FreeBSD_version to 1100078 since there's been no version bumps since this change was made. Only people that installed since r284356 really need to do this bootstrapping, but since crunchgen needs to bootstrap for other reasons, bumping the number was the simplest.
|
#
286643 |
|
11-Aug-2015 |
emaste |
Fix comment describing legacy target and wrap to 80 columns
|
#
286635 |
|
11-Aug-2015 |
emaste |
Build libelf and libdwarf in the legacy stage
They need to be built and installed (including headers) prior to the DTrace CTF tools.
Reviewed by: imp (as part of a larger change) Sponsored by: The FreeBSD Foundation
|
#
286536 |
|
09-Aug-2015 |
imp |
cmp and cp are used by the kerberos install, so need to be imclided in ITOOLS. They are tiny enough that I'm not making conditional: the minuscule savings in disk space isn't worth the obfuscation of Makefile.inc1.
|
#
285009 |
|
01-Jul-2015 |
br |
First cut of DTrace for AArch64.
Reviewed by: andrew, emaste Sponsored by: ARM Limited Differential Revision: https://reviews.freebsd.org/D2738
|
#
284898 |
|
27-Jun-2015 |
bapt |
Make all shared library a relative symlink
This makes sysroot usable for cross building, it also removes the need for _SHLIBDIRPREFIX (keeps its definition since picobsd uses it and I have no time to test it)
Differential Revision: https://reviews.freebsd.org/D2920 Submitted by: imp, adrian Tested by: adrian
|
#
284686 |
|
21-Jun-2015 |
bapt |
Only build gperf as a bootstrap tool if gcc is going to be built
|
#
284638 |
|
20-Jun-2015 |
bapt |
Remove temporary changes that crept in r284417 when it should not have
Reported by: antoine, jbeich
|
#
284421 |
|
15-Jun-2015 |
bapt |
Revert r284417 it is not necessary anymore
|
#
283946 |
|
03-Jun-2015 |
bapt |
Revert r283938 it is not needed anymore and broken
gzip(1) cannot be used as bootstrap tools as it depends on syscalls that only exists on HEAD
|
#
283938 |
|
03-Jun-2015 |
bapt |
mandoc's makewhatis requires gnuzip to be in the path when deadling with with compressed manpages.
This should fix spam during installworld: "exec: No such file or directory"
Reported by: many
|
#
283783 |
|
30-May-2015 |
bapt |
Remove libmandoc from bootstrap tools
|
#
283782 |
|
30-May-2015 |
bapt |
Only push libohash once in bootstrap tools
|
#
283777 |
|
30-May-2015 |
bapt |
Switch to mandoc's version of makewhatis(8), whatis(1), apropos(1) utilities.
This change among other things improve search capabilities over the manpages allowing fine grain query.
A new build option WITHOUT_MANDOCDB has been added to keep the ancient version of the database and the tools. The plan is to entirely remove this option before 11.0-RELEASE.
Differential Revision: https://reviews.freebsd.org/D2603
|
#
283772 |
|
30-May-2015 |
bapt |
Do not make libsqlite3 dependency chain only defined for kerberos, soon more options would need libsqlite3 as well thus depends on this definitions
|
#
283572 |
|
26-May-2015 |
bapt |
Fix build WITHOUT_CDDL by unconditionnaly adding libproc and librtld_db on supported arches to the prebuild libs
|
#
283169 |
|
21-May-2015 |
ngie |
_Really_, _Really_ fix buildworld by moving the conditionals down, fixing some typos, and fixing the dependency when MK_LIBCPLUSPLUS != no
- `:D` operator evaluation is immediate, i.e. like .if defined(..). So r283159 was in effect a no-op commit. - Fix dependency in MK_LIBCPLUSPLUS case in two ways: -- lib/libc++ was the wrong dependency. It should have been libcxxrt. -- lib/libc++ was missing __L, so again it was depending on the directory, not the relevant .PHONY target.
Tested with: make tinderbox (amd64, arm, sparc64) and JFLAG=-j16 In collaboration with: bdrewery, imp, peter BIG pointyhat to: ngie (for trying to commit things at 6am while staying up all night working on other tasks)
|
#
283160 |
|
20-May-2015 |
bapt |
Make kerberos use the same sqlite libraries as other sqlite consumer.
This reduces the number of copy of sqlite we have to just one and easier tracking version of sqlite
Differential Revision: https://reviews.freebsd.org/D2443 Reviewed by: imp, stas, bjk
|
#
283159 |
|
20-May-2015 |
ngie |
Fix breakage I didn't fully solve in r283151 by depending on the .PHONY target, not the directory when building libctf for libproc
Reported by: many, Jenkins Submitted by: rodrigc
|
#
283152 |
|
20-May-2015 |
ngie |
Unbreak the arm64/sparc64 tinderbox by only compiling lib/libproc and lib/librtld_db on architectures where they're supported
Reported by: bz, Jenkins Pointyhat to: bapt
|
#
283151 |
|
20-May-2015 |
ngie |
cddl/lib/libctf isn't always a requirement for lib/libproc; its use is dependent on MK_CTF != "no". Use the other divined value instead of reinventing the wheel
|
#
283150 |
|
20-May-2015 |
ngie |
Add _more_ missing dependencies for lib/libproc to further squash build races
Verified via `cd lib/libproc; make -VLIBADD`
Pointyhat to: ngie
|
#
283148 |
|
20-May-2015 |
ngie |
Articulate all dependencies for lib/libproc to squash build races after r283139 on !arm64 and !sparc64
Pointyhat to: bapt Sponsored by: EMC / Isilon Storage Division
|
#
283140 |
|
20-May-2015 |
ngie |
Only build sys/boot/usb/tools if MK_USB != no
Sponsored by: EMC / Isilon Storage Division
|
#
283139 |
|
20-May-2015 |
bapt |
Fix buildworld by adding libproc and librtld_db to the _prebuild_libs Those are needed to build libdtrace
|
#
283108 |
|
19-May-2015 |
emaste |
Update crunch bootstrapping test for recent fixes
- r277259 crunchide: Correct 64-bit section header offset - r281674 crunchide: always include both 32- and 64-bit ELF support
With built-in cross-size support we also no longer need a special case for cross-build crunchide.
Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D2576
|
#
282821 |
|
12-May-2015 |
emaste |
Remove redundant csu subdir logic
The appropriate subdirectories are handled by lib/csu/Makefile. There's no need to duplicate this logic in Makefile.inc1 and lib/Makefile.
Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D2523
|
#
282736 |
|
10-May-2015 |
thomas |
Unbreak build following rev. 282726
(Makefile.inc1): add dependency of xinstall on libmd to avoid failure of parallel bootstrap.
(lib/libmd/*.h): do not redefine symbols if already defined as macros (libcrypt uses the same sources internally, redefining symbols with a prefix of its own).
Fixes build failures caused by previous change to libmd.
Reported by: ian Pointy hat to: thomas
|
#
282318 |
|
01-May-2015 |
bapt |
Replace groff's soelim by soeliminate(1) renamed soelim(1)
|
#
282265 |
|
30-Apr-2015 |
sbruno |
Setting PATH to anything is useless as a bare command. Its only relevant if its set in the environement of each command seperately.
Move the PATH setting to the NXBMAKE variable so its picked up to find the one-off gperf build for the native-xtools target.
Pointed Out by: ngie
|
#
282260 |
|
30-Apr-2015 |
sbruno |
Fix native-xtools breakage when building a gcc enabled target on a clang enabled host. Build a one-off gperf and put it in the PATH for the rest of the target so the ONE call to gperf by the gcc build picks it up and DTRT.
Reviewed by: imp
|
#
281823 |
|
21-Apr-2015 |
ngie |
Serialize all of _kerberos5_bootstrap_tools to avoid build failures involving make bootstrap-tools
On the plus side, this also greatly reduces complexity
MFC after: 1 week Pointyhat to: ngie Reported by: Willem Jan Withagen <wjw@digiware.nl>
|
#
281659 |
|
17-Apr-2015 |
emaste |
Bump crunch BOOTSTRAPPING for ELF header offset fix in r277557
|
#
281658 |
|
17-Apr-2015 |
imp |
RELEASEDIR was removed in FreeBSD 9.x, at the same time /boot/loader stopped using kgzip in the release process. We no longer need to build kgzip as a cross tool, and tests for RELEASEDIR are obsolete, so remove both.
Differential Revision: https://reviews.freebsd.org/D2313
|
#
281618 |
|
16-Apr-2015 |
ngie |
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
MFC after: 1 week Pointyhat to: ngie
|
#
281615 |
|
16-Apr-2015 |
imp |
People are still getting burned by the byacc upgraded, switch to always doing byacc until someone figures out the more nuanced version to switch off of.
|
#
280992 |
|
02-Apr-2015 |
andrew |
Only use the CROSS_BINUTILS_PREFIX tool if it exists.
Reviewed by: emaste Sponsored by: The FreeBSD Foundation
|
#
280980 |
|
02-Apr-2015 |
dim |
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 MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D2187
|
#
280719 |
|
26-Mar-2015 |
rodrigc |
Add --sysroot to the compiler flags for clang or gcc external toolchains
Before this fix, --sysroot was only added to the compiler flags if a clang external toolchain was used.
Reviewed by: imp
|
#
280639 |
|
25-Mar-2015 |
imp |
Add some more explanation to the different phases of the build.
|
#
280631 |
|
25-Mar-2015 |
emaste |
Force MK_INCLUDES for the legacy stage
As legacy executes "make installincludes" we don't want it to be disabled by a src.conf setting.
Reviewed by: imp MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D2143
|
#
280259 |
|
19-Mar-2015 |
andrew |
Start to import support for the AArch64 architecture from ARM. This change only adds support for kernel-toolchain, however it is expected further changes to add kernel and userland support will be committed as they are reviewed.
As our copy of binutils is too old the devel/aarch64-binutils port needs to be installed to pull in a linker.
To build either TARGET needs to be set to arm64, or TARGET_ARCH set to aarch64. The latter is set so uname -p will return aarch64 as existing third party software expects this.
Differential Revision: https://reviews.freebsd.org/D2005 Relnotes: Yes Sponsored by: The FreeBSD Foundation
|
#
280190 |
|
17-Mar-2015 |
emaste |
When cross-building with an external toolchain we still need a target strip
It is used by at least crunchide(1).
|
#
280179 |
|
17-Mar-2015 |
bdrewery |
Add LIB_CXX so that C++ libraries will use CXX to link.
This fixes C++ libraries not implicitly linking in libc++. This is generally not an issue because the final linking with the compiled binary will involve CXX via PROG_CXX or other means. It is however inconsistent with libraries implicitly linking in libc and problematic for trying to build libraries with '-z defs' to ensure all direct dependencies are linked in.
libatf-c++ is currently the only consumer of this new feature.
Differential Revision: https://reviews.freebsd.org/D2039 Reviewed by: imp Discussed with: bapt MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
279908 |
|
12-Mar-2015 |
emaste |
Provide automatic cross-binutils path if no BINUTILS_BOOTSTRAP
The in-tree binutils does not support arm64, so will not work for the forthcoming FreeBSD arm64 port. BROKEN_OPTIONS will include BINUTILS_BOOTSTRAP, so provide a default CROSS_BINUTILS_PREFIX for this case.
Reviewed by: imp Sponsored by: The FreeBSD Foundation
|
#
279905 |
|
12-Mar-2015 |
imp |
It appears that xlint isn't used in the build process, so it certainly doesn't need to be a build tool.
|
#
279328 |
|
26-Feb-2015 |
emaste |
Support CROSS_BINUTILS_PREFIX with in-tree compiler
Reviewed by: bapt, imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D1974
|
#
279198 |
|
23-Feb-2015 |
ngie |
Fill in missing dependencies for dtrace related tools so the bootstrap-tools compiles properly on older hosts
Pointyhat to: me X-MFC with: r279197 MFC after: 2 weeks
|
#
279197 |
|
23-Feb-2015 |
ngie |
Parallelize building bootstrap-tools
Differential Revision: https://reviews.freebsd.org/D1901 MFC after: 2 weeks Reviewed by: ian No serious objections from: imp
|
#
278975 |
|
18-Feb-2015 |
jkim |
Fix bootstrap on systems with old yacc with small MAXTABLE.
|
#
278965 |
|
18-Feb-2015 |
grehan |
Restore the ability to use clang as an external compiler. This was inadvertently removed when support for external GCC was added.
Deprecate XFLAGS in favour of the newer XCFLAGS/XCXXFLAGS.
Tested with: make universe, make CROSS_COMPILER_PREFIX=/usr/bin/ buildworld Reviewed by: imp, bapt
|
#
278926 |
|
17-Feb-2015 |
rpaulo |
release: use xz via pipe when compressing the tarballs.
libarchive(3) doesn't support the new liblzma API yet, but this change allows us to enable multi-threaded xz compression. ``make release'' should now finish in half the time on a machine with several cores and fast disks (our typical build server).
This behaviour only applies when building a release and it doesn't affect buildworld/installworld. To disable threaded xz compression, set XZ_THREADS=1.
Reviewed by: gjb Tested by: gjb
|
#
278873 |
|
16-Feb-2015 |
rpaulo |
Fix a typo when invoking tar(1) to create the debug distributions.
|
#
278616 |
|
12-Feb-2015 |
cperciva |
Step 1 of eliminating the "games" distribution: Move binaries to /usr/bin; update paths; and include everything in the "base" distribution.
The "games" distribution being optional made sense when there were more games and we had small disks; but the "games-like" games were moved into the ports tree a dozen years ago and the remaining "utility-like" games occupy less than 0.001% of my laptop's small hard drive. Meanwhile every new user is confronted by the question "do you want games installed" when they they try to install FreeBSD.
The next steps will be:
2. Removing punch card (bcd, ppt), phase-of-moon (pom), clock (grdc), and caesar cipher (caesar, rot13) utilities. I intend to keep fortune, factor, morse, number, primes, and random, since there is evidence that those are still being used.
3. Merging src/games into src/usr.bin.
This change will not be MFCed.
Reviewed by: jmg Discussed at: EuroBSDCon Approved by: gjb (release-affecting changes)
|
#
278565 |
|
11-Feb-2015 |
bapt |
Remove remnant from texinfo
|
#
278486 |
|
10-Feb-2015 |
gjb |
Exclude 'tests' from DEBUG_DISTRIBUTIONS.
Sponsored by: The FreeBSD Foundation
|
#
278433 |
|
09-Feb-2015 |
rpaulo |
Merge xz 5.2.0.
This brings support for multi-threaded compression. This brings close N times faster compression where N is the number of CPU cores. Because of this, liblzma now depends on libthr.
Soon libarchive will be modified to use the new lzma API.
Thanks to antoine@ for the exp-run.
Differential Revision: https://reviews.freebsd.org/D1786 Reviewed by: bapt
|
#
278182 |
|
04-Feb-2015 |
ngie |
Conditionalize building radius support into libpam, ppp, etc via MK_RADIUS_SUPPORT
MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
|
#
277612 |
|
23-Jan-2015 |
emaste |
Restore addr2line to cross tools
Addr2line is not required for the build, and a per-arch binary is no longer required with the switch to the ELF Tool Chain. However, building these tools during the cross tools stage can be useful for developers who cross build HEAD from stable/10, and adds very little to the build time.
Reviewed by: ian, imp Differential Revision: https://reviews.freebsd.org/D1583
|
#
277517 |
|
21-Jan-2015 |
emaste |
Fix bootstrap on systems with old libdwarf and WITHOUT_CDDL
ELF Tool Chain tools need libelf and libdwarf.
Submitted by: jmallett (earlier version) Reviewed by: jmallett Sponsored by: The FreeBSD Foundation
|
#
277497 |
|
21-Jan-2015 |
emaste |
Remove addr2line from cross elftoolchain tools list
It is not required, and there is no reason to install it just because it came with the binutils cross tools.
Sponsored by: The FreeBSD Foundation
|
#
276551 |
|
02-Jan-2015 |
bapt |
Remove GNU texinfo from base along with all info pages.
To be able to info pages consider installing texinfo from ports print/texinfo or via pkg: pkg install texinfo
Differential Revision: https://reviews.freebsd.org/D1409 Reviewed by: emaste, imp (previous version) Relnotes: yes
|
#
276414 |
|
30-Dec-2014 |
emaste |
Use BINUTILS_BOOTSTRAP knob for binutils only
Previously it also disabled building elftoolchain bootstrap tools such as strip(1).
Differential Revision: https://reviews.freebsd.org/D1398 Reviewed by: imp Sponsored by: The FreeBSD Foundation
|
#
276053 |
|
22-Dec-2014 |
ngie |
Update the text for building texinfo with build-tools to reflect the fact that make install is being called as well
MFC after: 1 week X-MFC with: r276052
|
#
276052 |
|
22-Dec-2014 |
ngie |
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
Tested on a head VM without makeinfo installed and by building with MK_INFO=yes
MFC after: 1 week
|
#
275910 |
|
18-Dec-2014 |
ngie |
Fix accidental MK_DEBUG_FILES=no addition to NXBMAKE in r275909
X-MFC with: r275909 Sponsored by: EMC / Isilon Storage Division
|
#
275909 |
|
18-Dec-2014 |
ngie |
Don't build full clang toolchain or clang extras in stages 1-3 of buildworld
MFC after: 1 week Reviewed by: dim (as part of a "larger" diff) Phabric: D1336 Sponsored by: EMC / Isilon Storage Division
|
#
275907 |
|
18-Dec-2014 |
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
MFC after: 2 weeks Phabric: D1301 Reviewed by: imp Sponsored by: EMC / Isilon Storage Division
|
#
275867 |
|
17-Dec-2014 |
ngie |
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)
MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
|
#
275839 |
|
16-Dec-2014 |
brooks |
Add an UPDATING entry and warning about the change in r274807 to help users transition to the new behavior.
Discussed with: jmallett Sponsored by: DARPA, AFRL
|
#
275622 |
|
08-Dec-2014 |
ngie |
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 MFC after: 1 week
|
#
275602 |
|
08-Dec-2014 |
ngie |
Build gperf with xdev as part of _xb-bootstrap-tools
This will unbreak the build when "env MK_CXX=no make delete-old" has been run on the build host post-r272849
Tested with the following commands:
/bin/sh export __MAKE_CONF=/dev/null SRCCONF=/dev/null export MK_CLANG=no MK_CLANG_BOOTSTRAP=no MK_GCC=yes MK_GCC_BOOTSTRAP=yes export MK_GNUCXX=yes TARGET=armv6 TARGET_ARCH=arm make xdev make toolchain make xdev-build sudo -E make xdev-install /usr/armv6-freebsd/usr/bin/cc -dumpmachine | grep arm
X-MFC with: r272849 Reported by: Dan Raymond <draymond@foxvalley.net>, gjb
|
#
275373 |
|
01-Dec-2014 |
emaste |
Build infrastructure for elftoolchain tools
Set WITH_ELFTOOLCHAIN_TOOLS in src.conf to use the elftoolchain version of the following tools:
* addr2line * elfcopy (strip / mcs) * nm * size * strings
Reviewed by: bapt (earlier version) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D1224
|
#
274807 |
|
21-Nov-2014 |
brooks |
Slightly alter the handling of LOCAL_LIB_DIRS to skip addition of directories in LOCAL_LIB_DIRS if they are subdirectories of directories listed in LOCAL_DIRS. This allows a hierarchy like:
foo foo/lib foo/usr.bin foo/usr.sbin
to be supported with LOCAL_DIRS=foo LOCAL_DIRS=foo/lib.
MFC after: 1 week Sponsored by: DARPA, AFRL
|
#
274806 |
|
21-Nov-2014 |
brooks |
Add a guard against attempting to invoke the buildenv target with -j# as that silently exits rather than doing something useful.
MFC after: 1 week Sponsored by: DARPA, AFRL
|
#
274607 |
|
16-Nov-2014 |
sbruno |
Add mv, echo and hostname to the native-xtools target. Missed these when profiling.
MFC after: 2 weeks
|
#
274593 |
|
16-Nov-2014 |
sbruno |
Flush out many more static binaries that can be used in a jail for building pkgs via poudriere. This removes a significant amount of emulation speeding up run times.
Phabric: D1172 Reviewed by: imp MFC after: 2 weeks
|
#
274490 |
|
13-Nov-2014 |
sbruno |
Add more static binaries to the native-xtools target. These help speed up the cross builds significantly.
adding: bin/sh bin/csh sbin/md5 usr.bin/bzip2 usr.bin/fetch usr.bin/gzip usr.bin/tar usr.bin/unzip usr.bin/xz
Phabric: D1146 Reviewed by: imp bdrewery MFC after: 2 weeks
|
#
274270 |
|
08-Nov-2014 |
ngie |
Fix build race in Makefile.inc1 after r274226 by adding lib/libm__L dependency for gnu/lib/libdialog
Sponsored by: EMC / Isilon Storage Division
|
#
274209 |
|
07-Nov-2014 |
dteske |
For really fast machines, an edge-case may exist where dpv(3) may be built before contrib dependency, dialog(3). Add dialog(3) to the list of _prebuild_libs to ensure that this does not happen.
Tested on: 11.0-CURRENT amd64 @ r274205 Thanks to: kargl, Larry Rosenman <ler@lerctr.org>, ngie, markj Recommended by: ngie Reviewed by: ngie, markj MFC after: 21 days X-MFC-to: stable/10 stable/9 X-MFC-with: 274116 274120 274121 274123 274144 274146 274192 274203
|
#
274203 |
|
06-Nov-2014 |
dteske |
SUBDIR_DEPENDS__ in lib/Makefile is not working out so well for me. Add to using _prebuild_libs in (top-level) Makefile.inc1. NB: Unbreak build yet again (we'll get this right eventually)
Reviewed by: markj, ngie Thanks to: ian, markj, ngie, Nikolai Lifanov <lifanov@mail.lifanov.com> MFC after: 21 days X-MFC-to: stable/10 stable/9 X-MFC-with: 274116 274120 274121 274123 274144 274146 274192
|
#
273755 |
|
27-Oct-2014 |
bapt |
Rename XFLAGS to XCFLAGS and XXFLAGS to XCXXFLAGS
This is less confusing names and actually more reflexting what they are intended to.
Discussed with: brooks
|
#
273449 |
|
22-Oct-2014 |
imp |
My previous commit exposed an issue as it fixed a different issue. lib/atf isn't a prereq_lib, since it isn't required for other libraries to build. Remove it. The old kludge of always building it had effectively been retired. Since we don't want to build the libraries with the tests when we're bootstrapping, invent MK_TESTS_SUPPORT which normally defaults to the current MK_TESTS value, except when explicitly defined. Make lib/atf depend on it being yes. When building the libraries set MK_TESTS to no, and MK_TESTS_SUPPORT to the current value of MK_TESTS so that later stages of the build work correctly. This should fix (and does for me) people's issues with parallel builds racing between lib/atf and libexec/atf. Since lib/atf is built during the libraries phase, the race disappears.
|
#
273418 |
|
21-Oct-2014 |
imp |
Generate both userland and kernel option settings for showconfig.
PR: 191920
|
#
273417 |
|
21-Oct-2014 |
imp |
You aren't allowed to test WITH_xxx or WITHOUT_xxx here, so remove it. Even if you were allowed to test for it, the test makes no sense as it always results in adding -DWITH_ATF unless WITH_ATF was already defined. But if MK_ATF != no, then we know it was defined. This, in turn, caused tools/build/options/makemake always think WITH_ATF is the default, which removed control of that from sys.conf.mk.
To get the intent of the deleted comment, another mechanism is required, assuming that the intent of that comment is desirable.
|
#
273408 |
|
21-Oct-2014 |
bapt |
Make the external toolchain support grows to the knowleged of XXFLAGS for C++ dedicated flags and DEPFLAGS for mkdep flags Pass the path to the libc++ headers in both, enforce the gnu++11 standard in the XXFLAGS to satisfy libc++ requirements pass the libc++ objectdir as a location where to find libraries so it can find libstdc++.so and libstdc++.A
Reviewed by: imp
|
#
272827 |
|
09-Oct-2014 |
bapt |
Add size(1) to the cross build toolchain
|
#
272815 |
|
09-Oct-2014 |
bapt |
Fix typo
|
#
272814 |
|
09-Oct-2014 |
bapt |
Add OBJCOPY to the list of external tools
|
#
272813 |
|
09-Oct-2014 |
bapt |
Fix build when XCC is defined and X_COMPILER_TYPE is not
|
#
272811 |
|
09-Oct-2014 |
bapt |
Add CROSS_TOOLCHAIN macro select pre seeded external toolchain configuration files The goal is to provide pre seeded toolchain configurations withing the ports tree to allow the use of an external toolchain in a simple way:
make CROSS_TOOLCHAIN=powerpc64-gcc TARGET=powerpc TARGET_ARCH=powerpc64 buildworld
This will look for the external toolchain definition in /usr/local/share/mk/powerpc64-gcc.mk While here add the notion of X_COMPILER_TYPE to the external toolchain framework to allow to deal with differences between gcc and clang in regards of cross building
|
#
272576 |
|
05-Oct-2014 |
markj |
Fix dependency errors when linking libproc.
Reported by: Oliver Hartmann X-MFC-With: r272488
|
#
272484 |
|
03-Oct-2014 |
delphij |
Add dependencies to various libraries to libzfs and libzpool.
Submitted by: sef
|
#
272357 |
|
01-Oct-2014 |
andrew |
Fix the TARGET_ABI value clang uses. It shpuld be gnueabi on all ARM soft-float architectures, and gnueabihf for hard-float.
|
#
272350 |
|
01-Oct-2014 |
andrew |
Remove MK_ARM_EABI, the armeb issues have been fixed. The code to support the oabi is still in the tree, but it is expected this will be removed as developers work on surrounding code.
With this commit the ARM EABI is the only supported supported ABI by FreeBSD on ARMa 32-bit processors.
X-MFC after: never Relnotes: yes Differential Revision: https://reviews.freebsd.org/D876
|
#
272053 |
|
24-Sep-2014 |
ngie |
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
MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
271730 |
|
18-Sep-2014 |
will |
Root the lib32 object tree under the overall object tree.
This enables a common root directory for all object files for a given tree, which eases sharing a common MAKEOBJDIRPREFIX, and cleaning up of object trees.
In particular, one can simply (from the source directory) rm -rf /usr/obj$(pwd) to destroy all object files for it. Or to copy/sync files, etc.
Reviewed by: bdrewery CR: https://reviews.freebsd.org/D796 MFC after: 1 month Sponsored by: Spectra Logic
|
#
270168 |
|
19-Aug-2014 |
bdrewery |
Revert r267233 for now. PIE support needs to be reworked.
1. 50+% of NO_PIE use is fixed by adding -fPIC to INTERNALLIB and other build-only utility libraries. 2. Another 40% is fixed by generating _pic.a variants of various libraries. 3. Some of the NO_PIE use is a bit absurd as it is disabling PIE (and ASLR) where it never would work anyhow, such as csu or loader. This suggests there may be better ways of adding support to the tree. Many of these cases can be fixed such that -fPIE will work but there is really no reason to have it in those cases. 4. Some of the uses are working around hacks done to some Makefiles that are really building libraries but have been using bsd.prog.mk because the code is cleaner. Had they been using bsd.lib.mk then NO_PIE would not have been needed.
We likely do want to enable PIE by default (opt-out) for non-tree consumers (such as ports). For in-tree though we probably want to only enable PIE (opt-in) for common attack targets such as remote service daemons and setuid utilities. This is also a great performance compromise since ASLR is expected to reduce performance. As such it does not make sense to enable it in all utilities such as ls(1) that have little benefit to having it enabled.
Reported by: kib
|
#
270155 |
|
18-Aug-2014 |
imp |
Create the native-xtools target. This target creates only the cross building toolchain for the host computer. This toolchain produces TARGET_ARCH and assumes the rest of the system contains libraries for the target. It is intended to be used in a "qemu-user jail" where all the binaries would otherwise be the target architecture's to build ports. However, emulation of the compilers is too slow, so we build native binaries for that. Rather than use the xdev produced binaries, with all their weird links and paths, these binaries use the native paths. They will not work unless installed into the qemu-user jail.
Differential Revision: https://phabric.freebsd.org/D518 Reviewed by: sbruno@
|
#
270027 |
|
15-Aug-2014 |
ngie |
Fix atmconfig 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
Approved by: jmmv (mentor) Phabric: D579 PR: 143830 MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
269744 |
|
08-Aug-2014 |
rpaulo |
Run dtrace in 32-bit mode when compiling 32-bit libraries.
MFC after: 3 days
|
#
269688 |
|
07-Aug-2014 |
ian |
m4 now requires libohash, ensure it gets built when bootstrapping.
|
#
269662 |
|
07-Aug-2014 |
roberto |
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
|
#
269541 |
|
04-Aug-2014 |
brooks |
Merge from CheriBSD:
Make the sysinit tool a build tool rather than building in with /usr/bin/cc and running it from OBJDIR. (It will be moved to usr.bin once a manpage is written and a few style cleanups are done.)
Split the makefile bits for Hans' kernel shim layer into their own includable kshim.mk.
Move USB support into a .mk file so loaders can include it.
|
#
269031 |
|
23-Jul-2014 |
sbruno |
Deprecate the use of XDEV and XDEV_ARCH and just use TARGET/TARGET_ARCH for the xdev build target, which is awesome and totally works.
Reapply svn R268377 with correct name of libsupc++ here as this does resolve one dependancy race when building the xdev target.
the xdev target builds for amd64, i386, mips, mips64 and armv6 with this commit, must be built as root, must be built from /usr/src, must not have a /usr/obj and places the xdev tools in /usr/$TARGET_ARCH-freebsd
the xdev target still leaves some assorted files strewn about your /usr/src when this is done and needs to be investigated further.
Phabric: https://phabric.freebsd.org/D385 Submitted by: bsdimp
|
#
268957 |
|
21-Jul-2014 |
dim |
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.
MFC after: 3 days
|
#
268508 |
|
10-Jul-2014 |
imp |
Make MK_GNUCXX mean "build the libstdc++ and libsupc++ libraries" and nothing more. Force it to be "no" when MK_CXX is "no" to simplify usage. It no longer also means "build g++" since we no longer have a platform where that's interesting now that pc98 no longer needs clang and gcc, but not g++. pc98 now just uses clang after boot2 changes.
|
#
268503 |
|
10-Jul-2014 |
imp |
Separate out the links creation from the other targets. This was supposed to have been done for the original commit, but somebody forgot.
Pointy-hat-to: imp@
|
#
268380 |
|
08-Jul-2014 |
imp |
Typo means that this couldn't have possibly fixed anything, so revert r268377.
|
#
268377 |
|
07-Jul-2014 |
imp |
xdev builds libsupc++ and libstdc++ in a slightly strange way. This cause a race to be exposed between the two. Compensate for this race by serializing the build/install of libstdc++ before libsupc++.
|
#
268191 |
|
02-Jul-2014 |
marcel |
Remove ia64 from the list of known architectures and add an entry to UPDATING. This is the first step towards the removal of ia64 from head. A buildworld for ia64 will now yield:
% make buildworld make[1]: "/usr/src/Makefile.inc1" line 151: Unknown target ia64:ia64.
While here, trim the ia64-specific additions from ObsoleteFiles.inc
Discussed at: BSDcan
|
#
268111 |
|
01-Jul-2014 |
gjb |
Merge ^/projects/release-debugdist into ^/head: r262491, r262493, r262516, r267345, r267397:
r262491: Add DEBUG_DISTRIBUTIONS, and set it to include base and EXTRA_DISTRIBUTIONS, excluding 'doc', since the documentation distribution does not have corresponding debug information.
Use DEBUG_DISTRIBUTIONS in the 'distributeworld installworld' and 'packageworld' targets, to reduce the number of occurances of excluding distributions that do not have .debug files.
r262493: In release/Makefile, explicitly set WITHOUT_DEBUG_FILES=1 for dvdrom and cdrom targets. (Later reverted.)
Exclude the *.debug.txz distributions from dvdrom and cdrom images, but include them for ftp distribution.
r262516: Rename ${dist}.debug.txz to ${dist}-dbg.txz to prevent the following output: eval: ${base....}: Bad substitution eval: ${doc....}: Bad substitution eval: ${games....}: Bad substitution eval: ${lib32....}: Bad substitution
This also follows other naming conventions seen in the wild.
r267345: Explicitly set MK_DEBUG_FILES=no, which overrides the WITH_DEBUG_FILES=1 and WITHOUT_DEBUG_FILES=1 collisions previously experienced.
This change allows us to create the {base,kernel}_debug.txz distributions without accidentally installing the *.debug files on the medium itself.
r267397: Remove evaluations of MK_DEBUG_FILES where not needed. If DEBUG_DISTRIBUTIONS is empty, which is true if MK_DEBUG_FILES evaluates to 'no' above, the loop does nothing.
MFC after: 1 month Tested on: head@r267801 Reviewed by: brooks [1], emaste, imp [1] [1] earlier version Sponsored by: The FreeBSD Foundation
|
#
268022 |
|
30-Jun-2014 |
emaste |
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.
Suggested by: imp, wblock MFC after: 1 week
|
#
267599 |
|
17-Jun-2014 |
bdrewery |
- Add a LOCAL_ITOOLS to allow adding additional tools required for the installworld and distributeworld targets
PR: 179562 Submitted by: Garrett Cooper <yaneurabeya@gmail.com> MFC after: 1 week
|
#
267423 |
|
12-Jun-2014 |
emaste |
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.
Sponsored by: The FreeBSD Foundation
|
#
267331 |
|
10-Jun-2014 |
jmmv |
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 it.
To make this possible, we need two fixes: - bsd.subdir.mk needs to properly honor NO_SUBDIR in all cases so that we do not recurse into 'tests' subdirectories when we needn't. Otherwise, we end up with some Kyuafiles in base.txz. - etc/Makefile needs to skip installing tests in its 'distribute' target so that a Kyuafile doesn't leak into base.txz.
Approved by: gjb
|
#
267233 |
|
08-Jun-2014 |
bdrewery |
In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE.
This is currently an opt-in build flag. Once ASLR support is ready and stable it should changed to opt-out and be enabled by default along with ASLR.
Each application Makefile uses opt-out to ensure that ASLR will be enabled by default in new directories when the system is compiled with PIE/ASLR. [2]
Mark known build failures as NO_PIE for now.
The only known runtime failure was rtld.
[1] http://www.bsdcan.org/2014/schedule/events/452.en.html Submitted by: Shawn Webb <lattera@gmail.com> Discussed between: des@ and Shawn Webb [2]
|
#
266567 |
|
23-May-2014 |
imp |
When libelf and libdwarf were updated, we didn't bump the minimal version needed for CTF tools, so sometimes we'd use the host's CTF tools that didn't work. Be sure to bootstrap in that case.
|
#
266534 |
|
22-May-2014 |
delphij |
Fix build: Build libavl as prebuild-lib.
X-MFC-With: 266520
|
#
265831 |
|
10-May-2014 |
imp |
Eliminate EARLY_BUILD flag. It is redundant and means MK_CLANG_FULL=no and MK_LLDB=no, so set those explicitly (now that we can do that). Simplify tests for these variables as well, since we know they will always be defined regardless of the phase of the build.
|
#
265830 |
|
10-May-2014 |
imp |
Migrate NO_WARN to MK_WARN. Support legacy NO_WARN usage. Remove a check for EARLY_BUILD because it isn't necessary (MK_WARN=no will always be defined for that).
|
#
265422 |
|
06-May-2014 |
imp |
Document src.opts.mk changes and the decoupling of /etc/src.conf from anything but the source tree.
|
#
265420 |
|
06-May-2014 |
imp |
Use src.opts.mk in preference to bsd.own.mk except where we need stuff from the latter.
|
#
265260 |
|
03-May-2014 |
thomas |
Add appropriate quoting to allow building with a KERNCONFDIR containing spaces.
PR: kern/162736 MFC after: 1 week
|
#
265162 |
|
30-Apr-2014 |
imp |
Turns out this .if evaluated not in the context of the makedtb target sometimes due to Makefile expansion rules. Make the test for things being NULL elsewhere...
|
#
265154 |
|
30-Apr-2014 |
imp |
Allow FDT_DTS_FILE to be a list, either in the makedtb target, or in a kernel config file. If you also want to have a static DTB compiled into your kernel, however, it cannot be a list. We have no mechanism in the kernel for picking one, so that doesn't make sense and will result in a compile-time error.
|
#
265063 |
|
28-Apr-2014 |
imp |
Add dependency for libm to libstdc++. This fixes high -j value builds when not building with clang.
Submitted by: ian@
|
#
264979 |
|
26-Apr-2014 |
imp |
make_dtb.sh is designed to be used in a kernel build environment where MACHINE is defined to the target's value, not the host's value. However, in Makefile.inc1, it is still defined to be the host's value. Make the makedtb target work by expanding TARGET in the existance test, and passing MACHINE=$TARGET in the call to make_dtb.sh
|
#
264930 |
|
25-Apr-2014 |
imp |
Eliminate NO_INCS. It is used one place, and MK_TOOLCHAIN=no will handle the job just as well. Opt for simplicity rather than one more option.
|
#
264928 |
|
25-Apr-2014 |
imp |
Spell NO_PROFILE= as MK_PROFILE=no.
|
#
264924 |
|
25-Apr-2014 |
imp |
Remove NO_CTF, exccept as an undocumented compatibility option. Convert all other uses to MK_CTF=no. Set MK_CTF=no rather than the indirect WITHOUT_CDDL in filemon regression. It is expected that NO_CTF will be removed in FreeBSD 12 entirely.
|
#
264660 |
|
18-Apr-2014 |
imp |
Separate out enabling building clang and/or gcc for the system and building clang and/or gcc as the bootstrap compiler. Normally, the default compiler is used. WITH_CLANG_BOOTSTRAP and/or WITH_GCC_BOOTSTRAP will enable building these compilers as part bootstrap phase. WITH/WITHOUT_CLANG_IS_CC controls which compiler is used by default for the bootstrap phase, as well as which compiler is installed as cc. buildworld now successfully completes building the cross compiler with WITHOUT_CLANG=t and WITHOUT_GCC=t and produces a built system with neither of these included.
Similarlly, MK_BINUTILS_BOOTSTRAP controls whether binutils is built during this phase.
WITHOUT_CROSS_COMPILER will now force MK_BINUTILS_BOOTSTRAP=no, MK_CLANG_BOOTSTRAP=no and MK_GCC_BOOTSTRAP=no.
BOOTSTRAP_COMPILER was considered, but rejected, since pc98 needs both clang and gcc to bootstrap still. It should be revisisted in the future if this requirement goes away. Values should be gcc, clang or none. It could also be a list.
The odd interaction with Xfoo cross/external tools needs work, but is beyond the scope of this change as well.
|
#
264396 |
|
13-Apr-2014 |
imp |
Up the minimum system to build FreeBSD current to 8.0-RELEASE. The issues with vendors that needed 7.x support have been resolved. Many vendors are still using 8.x build platforms, however, so bumping this up to 9.0 will have to wait until that is resolved. Actual support for building from 8.x still relies on those vendors fixing bugs that are present as most developers have moved onto 9.x or newer platforms.
Reviewed by: marcel@
|
#
264395 |
|
13-Apr-2014 |
imp |
Determine whether to build clang and its bootstrap tools the same way. This allows a clang bootstrap to happen, even when WITHOUT_CLANG is defined. This is a minimal version of a more extensive change which can be MFC'd more easily. However, we have to also test to see if we're building clang as not cc, since the bootstrap for that needs these cross tools and it is easier to build them in just one place.
MFC after: 1 week
|
#
264131 |
|
04-Apr-2014 |
bapt |
Prevent XDTP from being a relative path XDTP is used as the default SYSROOT for clang and thus should be an absolute path.
PR: arm/188249 Submitted by: Edgar Martinez <wink15987@gmail.com> Reviewed by: imp
|
#
264090 |
|
03-Apr-2014 |
bapt |
XDDESTDIR should not be set by the user, instead the user might want to tweak XDTP and let the standard DESTDIR decide where to install.
Discussed with: imp
|
#
264068 |
|
03-Apr-2014 |
bapt |
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)
Discussed with: imp
|
#
263991 |
|
01-Apr-2014 |
imp |
It is possible that MK_GNUCXX is "yes" but MK_CXX is "no" so make sure MK_CXX isn't "no" before building these libraries.
|
#
263983 |
|
01-Apr-2014 |
bapt |
Ensure make xdev respect which compiler is CC and which compilers should be built according to standard build options
|
#
263953 |
|
30-Mar-2014 |
imp |
There's no need to guess at the COMPILER_TYPE to pass it down. We guess wrong for buildkernel when CC=gcc49, say. Eliminate all the guessing. COMPILER_TYPE propigates properly on its own, if specified, and we guess it correctly otherwise lower in the build. Also, fix conditionals for armv6hf when using an external compiler chain. They were broken before, but unused. Also, prefer checking the compiler type over CLANG_IS_CC since the latter is only supposed to be used to determine what symlinks to install (more fixes to follow).
|
#
263952 |
|
30-Mar-2014 |
imp |
Move stray targets out of the xdev section.
|
#
263951 |
|
30-Mar-2014 |
imp |
Kill NO_TESTS and use MK_TESTS=no when we want to skip them.
|
#
263950 |
|
30-Mar-2014 |
imp |
Allow the build system to safely set MK_FOO to avoid the ambiguity when both WITH_FOO and WITHOUT_FOO are set. Use this where possible. Only disallow setting of MK_FOO on the command line. This was preferable to inventing a new mechanism or fixing the undef bug (bin/183762) which precludes users from turning off anything we turn off for parts of the build with WITHOUT_FOO prior to this.
|
#
263949 |
|
30-Mar-2014 |
imp |
When building g++, we need to build libsupc earlier to avoid a race with libproc. Not sure why people didn't see this before now, but I get it often for higher (20-30) -j builds, but never for -j1 builds.
|
#
263881 |
|
28-Mar-2014 |
imp |
Only set XDDESTDIR if it wasn't already set to allow people to override it.
|
#
263660 |
|
23-Mar-2014 |
andrew |
Add a new ARM TARGET_ARCH, armv6hf. This is considered experimental.
This targets the existing ARMv6 and ARMv7 SoCs that contain a VFP unit. This is an optional coprocessors may not be present in all devices, however it appears to be in all current SoCs we support.
armv6hf targets the VFP variant of the ARM EABI and our copy of gcc is too old to support this. Because of this there are a number of WITH/WITHOUT options that are unsupported and must be left as the default value. The options and their required value are: * WITH_ARM_EABI * WITHOUT_GCC * WITHOUT_GNUCXX
In addition, without an external toolchain, the following need to be left as their default: * WITH_CLANG * WITH_CLANG_IS_CC
As there is a different method of passing float and double values to functions the ABI is incompatible with existing armv6 binaries. To use this a full rebuild of world is required. Because no floating point values are passed into the kernel an armv6 kernel with VFP enabled will work with an armv6hf userland and vice versa.
|
#
263429 |
|
20-Mar-2014 |
asomers |
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).
PR: kern/187712 Reviewed by: will, imp (previous version) MFC after: 3 weeks Sponsored by: Spectra Logic Corporation
|
#
263186 |
|
14-Mar-2014 |
imp |
With the more generous footprints today, it makes little sense to use UFS1 by default any more. Switch to UFS2.
|
#
263140 |
|
14-Mar-2014 |
glebius |
Remove IPX support.
IPX was a network transport protocol in Novell's NetWare network operating system from late 80s and then 90s. The NetWare itself switched to TCP/IP as default transport in 1998. Later, in this century the Novell Open Enterprise Server became successor of Novell NetWare. The last release that claimed to still support IPX was OES 2 in 2007. Routing equipment vendors (e.g. Cisco) discontinued support for IPX in 2011.
Thus, IPX won't be supported in FreeBSD 11.0-RELEASE.
|
#
262670 |
|
02-Mar-2014 |
marcel |
Use ${MAKE} so that we always use the same version/implementation of make.
|
#
262614 |
|
28-Feb-2014 |
imp |
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.
|
#
261303 |
|
30-Jan-2014 |
brooks |
Merge from CheriBSD: commit 1b41f6de7ca09e04fdc6f66bc478ea6c981a41b9 Author: Brooks Davis <brooks@one-eyed-alien.net> Date: Mon Jan 27 22:59:02 2014 +0000
Now that mtree is always nmtree use it as mtree
Tested on: ref9-amd64 X-MFC after: never Sponsored by: DARPA, AFRL
|
#
261132 |
|
24-Jan-2014 |
asomers |
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 MFC after: 13 days
|
#
261081 |
|
23-Jan-2014 |
asomers |
Replace the old unix_seqpacket and unix_seqpacket_exercise tests, which were a little broken and not automatable, with unix_seqpacket_test. It's coverage is a superset of the old tests and it uses ATF. It includes test cases for bugs kern/185813 and kern/185812.
PR: kern/185812 PR: kern/185813 Sponsored by: Spectra Logic MFC after: 2 weeks
|
#
261031 |
|
22-Jan-2014 |
jhb |
Generate /var/db/services.db during 'make distribution' so that it is present during new installs. Update etcupdate and mergemaster to ignore the generated file.
Tested by: gjb (release build) MFC after: 1 month
|
#
260401 |
|
07-Jan-2014 |
scottl |
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.
|
#
258838 |
|
02-Dec-2013 |
pjd |
Please welcome casperd daemon. It (and its services) will be responsible for giving access to functionality that is not available in capability mode sandbox. The functionality can be precisely restricted.
Start with the following services: - system.dns - provides API compatible to: - gethostbyname(3), - gethostbyname2(3), - gethostbyaddr(3), - getaddrinfo(3), - getnameinfo(3), - system.grp - provides getgrent(3)-compatible API, - system.pwd - provides getpwent(3)-compatible API, - system.random - allows to obtain entropy from /dev/random, - system.sysctl - provides sysctlbyname(3-compatible API.
Sponsored by: The FreeBSD Foundation
|
#
258791 |
|
01-Dec-2013 |
pjd |
Move my simple logging API to a separate library. It is now already used by hastctl(8), hastd(8) and auditdistd(8) and will soon be also used by casperd(8) and its services. There is no documentation and pjdlog.h header file is not installed in /usr/include/ to keep it private. Unfortunately we don't have /lib/private/ at this point, only /usr/lib/private/, so the library is installed in /lib/.
Sponsored by: The FreeBSD Foundation
|
#
258283 |
|
17-Nov-2013 |
peter |
Attempt to move the POSIX iconv* symbols out of runtime linker space. FreeBSD systems usually implemented this as a third party module and our implementation hasn't played as nicely with the old way as it could have.
To that end: * Rename the iconv* symbols in libc.so.7 to have a __bsd_ prefix. * Provide .symver compatability with existing 10.x+ binaries that referenced the iconv symbols. All existing binaries should work. * Like on Linux/glibc systems, add a libc_nonshared.a to the ldscript at /usr/lib/libc.so. * Move the "iconv*" wrapper symbols to libc_nonshared.a
This should solve the runtime ambiguity about which symbols resolve to where. If you compile against the iconv in libc, your runtime dependencies will be unambiguous.
Old 9.x libraries and binaries will always resolve against their libiconv.so.3 like they did on 9.x. They won't resolve against libc.
Old 10.x binaries will be satisified by the .symver helpers.
This should allow ports to selectively compile against the libiconv port if needed and it should behave without ambiguity now.
Discussed with: kib
|
#
258233 |
|
16-Nov-2013 |
jmmv |
Move all atf directories to the tests mtree.
This is to ensure that test-related directories don't get needlessly created (and later deleted) when MK_TESTS=no.
Problem found by jhb@.
Approved by: rpaulo (mentor)
|
#
258086 |
|
13-Nov-2013 |
cperciva |
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.
Pointy hat to: cperciva MFC after: 1 day, or before the next BETA
|
#
257873 |
|
09-Nov-2013 |
ian |
This change builds kernel tools based on the same assumption as building the kernel itself: If building for the same architecture as the build host, the kernel build assumes that the host toolchain is capable of building the kernel. If it's not, "make kernel-toolchain" will bootstrap a new set of tools that will work.
With this change the same assumptions are made for building kernel tools, and the existing host toolchain is used to do the build (notably, the build doesn't link the tools with the legacy libraries, which may not even exist). If ever for some reason the host toolchain isn't capable of building the kernel tools, then doing a "make kernel-toolchain" will bootstrap newer tools to get the job done.
So when built as part of buildworld or kernel-toolchain, the kernel tools are built using the XMAKE (via BMAKE) commands and environment. When built as part of building just the kernel on a same-target host, the tools are built using the new KTMAKE commands and environment. What doesn't jump out at you in the diffs is that the difference between BMAKE and KTMAKE is that BMAKE contains this magic line which changes how the build is done because it changes what files get included for .include <bsd.prog.mk> and other standard includes:
MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}"
and KTMAKE doesn't, and contains this instead:
TOOLS_PREFIX=${WORLDTMP}
Hopefully this brings the "how to build aicasm with the right toolchain" saga to a conclusion that works in all usage scenarios that have historically been supported.
|
#
257850 |
|
08-Nov-2013 |
jmmv |
Subsume the functionality of MK_ATF into MK_TESTS.
There is no reason to keep the two knobs separate: if tests are enabled, the ATF libraries are required; and if tests are disabled, the ATF libraries are not necessary. Keeping the two just serves to complicate the build.
Reviewed by: freebsd-testing Approved by: rpaulo (mentor)
|
#
257849 |
|
08-Nov-2013 |
jmmv |
Add libatf-c++ to the prebuild libs.
Some tests may require C++ so we must ensure this library exists as part of the bootstrap process or else they will fail to build. Do this by just depending on lib/atf as part of the bootstrap libraries instead of using lib/atf/libatf-c.
Submitted by: Garrett Cooper <yaneurabeya at gmail dot com> Approved by: rpaulo (mentor)
|
#
257848 |
|
08-Nov-2013 |
jmmv |
Fix buildworld when WITH_TESTS is enabled.
The addition of the TESTS knob and its enabling of the build of tests in lib/libcrypt/tests/ broke the build. The reason is that we cannot descend into tests/ subdirectories until all prerequisites have been built, which in the case of tests may be "a lot of things" (libatf-c in this case).
Ensure that we do not walk tests/ directories during the bootstrapping of the libraries as part of buildworld.
Reviewed by: freebsd-testing Approved by: rpaulo (mentor)
|
#
257838 |
|
08-Nov-2013 |
ian |
Build kernel tools along with other tools during world build, as well as during kernel build (if they didn't get done with world). This will make -DMODULES_WITH_WORLD work, and it ensures the kernel tools are built as part of 'make kernel-toolchain'.
|
#
257825 |
|
07-Nov-2013 |
ian |
Instead of modeling the kernel-tools build after the bootstrap tools, build kernel tools the way cross-tools get built. This seems to result in the tool getting installed in the right place. It also seems more correct in retrospect, because if a tool emitted code or binary data as part of building the kernel, it should do so in target-specific ways (endianess, architecture, whatever). That issue is moot for aicasm, our only current tool, but it still seems to be more correct in principle.
|
#
257777 |
|
07-Nov-2013 |
ian |
Do not build aicasm with the cross-tools/kernel-toolchain, instead add a proper kernel-tools step/target modeled after the world build-tools stuff.
This is a re-do of r257730 which was backed out in r257734, but this time it's one byte smaller... a leftover trailing backslash resulted in a .for loop with no rules, so no compiler stuff got built and later steps built with the wrong toolset.
|
#
257734 |
|
06-Nov-2013 |
gjb |
Revert r257730: Make head/ buildable again, instead of spewing garbage like: /src/gnu/lib/csu/../../../contrib/gcc/config/rs6000/crtsavres.asm:280: Error: no such instruction: `lwz 28,-16(11)'
|
#
257730 |
|
06-Nov-2013 |
ian |
Do not build aicasm with the cross-tools/kernel-toolchain, instead add a proper kernel-tools step/target modeled after the world build-tools stuff.
|
#
257637 |
|
04-Nov-2013 |
ian |
Rework the aicasm build machinery so that it gets built along with toolchain components instead of with the kernel and/or modules. This ensures that it gets built with the host compiler, not the compiler in obj/... used to build the target components (which may be a cross-compiler outputting code for a different architecture and using header files with types and options set up for the wrong architecture).
Reviewed by: imp
|
#
257350 |
|
29-Oct-2013 |
delphij |
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.
Tested by: gjb MFC after: 5 days
|
#
257329 |
|
29-Oct-2013 |
nyan |
Fix build. Both clang and gcc are required on pc98.
X-MFC with: r256915
|
#
257097 |
|
25-Oct-2013 |
rpaulo |
Set up the /usr/tests hierarchy.
Populate /usr/tests with the only test programs that currently live in the tree (those in lib/libcrypt/tests/) and add all the build machinery to accompany this change.
In particular:
- Add a WITHOUT_TESTS variable that users can define to request that no tests be put in /usr/tests. - Add a top-level Kyuafile for /usr/tests and a way to create similar Kyuafiles in top-level subdirectories. - Add a BSD.tests.dist file to define the directory layout of /usr/tests.
Submitted by: Julio Merino jmmv google.com Reviewed by: sjg MFC after: 2 weeks
|
#
257079 |
|
24-Oct-2013 |
gjb |
Fix build host pollution by avoiding calling 'uname -srp' to determine values for 'VERSION'.
Looked at by: cperciva
|
#
257056 |
|
24-Oct-2013 |
gjb |
Revert r256921 to prevent error output when in the wrong directory. This should have been reverted with the stable/10/Makefile.inc1 revert, but apparently my commit did not go through.
Discussed with: cperciva (originally)
|
#
256921 |
|
22-Oct-2013 |
cperciva |
Thou shalt not leak build host state into the system being compiled.
The VERSION variable is encoded into the SUNW_ctf sections of the kernel and every kernel module when dtrace is enabled; starting with 9.2-RELEASE (when dtrace was turned on in GENERIC) this means that different host kernels will result in very different kernel binaries being generated. This tripped up freebsd-update builds after the build boxes were updated from 9.x to 10.x.
MFC after: 3 days (stable/9) X-MFC after: 0 days (stable/10) Security: Rendered two members of so@ temporarily insane
|
#
256915 |
|
22-Oct-2013 |
brooks |
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.
MFC after: 1 week Sponsored by: DARPA/AFRL
|
#
256842 |
|
21-Oct-2013 |
bdrewery |
Fix 'make delete-old-libs' and 'make check-libs' to delete .debug files created by WITH_DEBUG_FILES. Also cleanup .symbols files from the period between r244236 when .symbols were supported and r251512 when they were renamed to .debug.
Only propose to delete a .debug file if the corresponding library itself was deleted already.
Reported by: des Reviewed by: emaste (earlier version) Approved by: bapt MFC after: 3 days
|
#
256640 |
|
16-Oct-2013 |
ian |
Allow 'make xdev' to work when DESTDIR is set.
Submitted by: Patrick Kelsey <kelsey@ieee.org>
|
#
256298 |
|
10-Oct-2013 |
dim |
Bump OS versions in the toolchain triples to 11.0, and bump the __FreeBSD_cc_version predefined macros in clang and gcc.
Approved by: re (gjb)
|
#
255981 |
|
01-Oct-2013 |
delphij |
Revert-and-redo r255955: the sort -r should be added to delete-old-dirs.
Approved by: re (gjb)
|
#
255955 |
|
30-Sep-2013 |
delphij |
Reverse directories order when doing 'make delete-old-dir'. This ensures subdirectories gets removed before their parents when doing make delete-old.
Approved by: re (gjb) MFC after: 2 weeks
|
#
255949 |
|
30-Sep-2013 |
des |
Remove BIND.
Approved by: re (gjb)
|
#
255859 |
|
24-Sep-2013 |
jhb |
Don't parse NO_ROOT metadata for extra kernels if NO_ROOT isn't defined.
Approved by: re (gjb) MFC after: 1 week
|
#
255784 |
|
22-Sep-2013 |
andrew |
Remove the armv6eb architecture as it is unused, and almost certainly broken. None of our kernels can boot armv6eb. The little-endian kernels do not have the required code to be able to switch endian when running a big-endian executable.
Approved by: re (gjb)
|
#
255660 |
|
18-Sep-2013 |
bdrewery |
Fix 'make installcheck' to check for missing UID/GID as well, broken since r249893, by adding a separate _installcheck_world and _installcheck_kernel so the destination targets can be more explicit on which they are needed for.
installcheck will call both, while installworld only calls _installcheck_world and installkernel only calls _installcheck_kernel
While here, mark the internal targets as starting with _.
Reported by: des Reviewed by: des Pointyhat to: bdrewery Approved by: re (delphij)
|
#
255634 |
|
17-Sep-2013 |
des |
Add unbound to the list of UIDs / GIDs to check fore before installing.
Approved by: re (blanket)
|
#
255460 |
|
10-Sep-2013 |
des |
Clean up the OpenSSH build. It is now possible to build most components as static binaries, if desired. The one exception is sshd, which runs into trouble due to libpam.a's includion of pam_ssh.
Make OpenSSH use LDNS if available. This allows it to verify signed SSHFP records.
Approved by: re (blanket)
|
#
255384 |
|
08-Sep-2013 |
des |
Create a private library directory (LIBPRIVATEDIR) for libraries which we don't want to expose but which can't or shouldn't be static.
To mark a library as private, define PRIVATELIB in its Makefile. It will be installed in LIBPRIVATEDIR, which is normally /usr/lib/private (or /usr/lib32/private for 32-bit libraries on 64-bit platforms).
To indicate that a program or library depends on a private library, define USEPRIVATELIB in its Makefile. The correct version of LIBPRIVATEDIR will be added to its run-time library search path.
Approved by: re (blanket)
|
#
255048 |
|
30-Aug-2013 |
bdrewery |
- Fix LOCAL_MTREE so it properly handles multiple files and quotes its value into submakes
PR: conf/179466 Submitted by: Garrett Cooper <yaneurabeya@gmail.com> Approved by: bapt MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
254225 |
|
11-Aug-2013 |
peter |
Update nvi-1.79 to 2.1.1-4334a8297f
This is the gsoc-2011 project to clean up and backport multibyte support from other nvi forks in a form we can use.
USE_WIDECHAR is on unless building for the rescue crunchgen. This should allow editing in the native locale encoding.
USE_ICONV depends on make.conf having 'WITH_ICONV=YES' for now. This adds the ability to do things like edit a KOI8-R file while having $LANG set to (say) en_US.UTF-8. iconv is used to transcode the characters for display.
Other points: * It uses gencat and catopen/etc instead of homegrown msg catalog stuff. * A lot of stuff has been trimmed out, eg: the perl and tcl bindings which we could never use in base anyway. * It uses ncursesw when in widechar mode. This could be interesting.
GSoC info: http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/zy/1 Repo at: https://github.com/lichray/nvi2
Obtained from: Zhihao Yuan <lichray@gmail.com>
|
#
253580 |
|
23-Jul-2013 |
emaste |
Generate debug data release dist sets
If WITH_DEBUG_FILES is set the standalone debug data will be excluded from each ${dist}.txz and placed in a ${dist}.debug.txz.
Submitted by: gjb Reviewed by: brooks
|
#
252856 |
|
06-Jul-2013 |
sjg |
Sprinkle some .MAKE magic
|
#
252419 |
|
30-Jun-2013 |
sjg |
Use && rather than ; when success of previous job matters.
|
#
251765 |
|
14-Jun-2013 |
brooks |
Simplify the hierarchy target's logic. [0]
Run hierarchy with WORLDTMP in the path so it works when it is invoked directly. Such use is nearly alwasy wrong but appears to be common.[1]
PR: conf/178209 [0], conf/178547 [1] Submitted by: Garrett Cooper <yaneurabeya@gmail.com> [0] MFC after: 5 days
|
#
251750 |
|
14-Jun-2013 |
sjg |
Flag recursive make targets with .MAKE so that job token pipe is passed to them. To avoid surprising anyone, only add .MAKE to ${TGTS} when -n has not been specified (at least for Makefile).
Reviewed by: obrien
|
#
251689 |
|
13-Jun-2013 |
brooks |
Be more agressive about bootstrapping ctfmerge and ctfconvert so builds from existing releases have a chance of working properly.
Sponsored by: DARPA, AFRL MFC after: 3 days
|
#
251512 |
|
07-Jun-2013 |
emaste |
Add a new knob WITH_DEBUG_FILES to control the building of standalone debug files for userland programs and libraries. The "-g" debug flag is automatically applied when WITH_DEBUG_FILES is set.
The debug files are now named ${prog}.debug and ${shlib}.debug for consistency with other systems and documentation. In addition they are installed under /usr/lib/debug, to simplify the process of installing them if needed after a crash. Users of bsd.{prog,lib}.mk outside of the base system place the standalone debug files in a .debug subdirectory. GDB automatically searches both of these directories for standalone debug files.
Thanks to everyone who contributed changes, review, and testing during development.
|
#
251443 |
|
05-Jun-2013 |
jilles |
release: Allow empty extra distributions.
For example, WITHOUT_SHAREDOCS= in src.conf creates an empty doc distribution.
Submitted by: Kurt Lidl Tested by: Kurt Lidl Discussed with: gjb MFC after: 1 week
|
#
251141 |
|
30-May-2013 |
brooks |
Restore (at least temporarily) SHARED=symlinks in the build includes stage of buildworld. This was accidentally included in r251140.
Reported by: jhb
|
#
251140 |
|
30-May-2013 |
brooks |
Always define INSTALL_DDIR and define it such that it contains no extra / characters rather than removing them later on. This should fix release builds.
PR: conf/178963 Reviewed by: gjb, hrs
|
#
251084 |
|
28-May-2013 |
gjb |
r245757 introduced warning output if update method is set to CVS_UPDATE or SUP_UPDATE.
CVS exporter for head/ is turned off for nearly one month now.
It is finally time to swing the ax at these update methods.
Reviewed by: eadler MFC after: 1 month
|
#
251075 |
|
28-May-2013 |
gjb |
Update comments to reflect use of svn/svnup to keep the src/ tree up to date.
MFC after: 3 days
|
#
251074 |
|
28-May-2013 |
peter |
Temporarily revert r251058 - it breaks documented use of makeoptions including the tinderbox.
http://tinderbox.freebsd.org/tinderbox-head-build-HEAD-i386-i386.full make: don't know how to make modules-all. Stop make: stopped in /obj/i386.i386/src/sys/PAE *** Error code 2
|
#
251058 |
|
28-May-2013 |
des |
During buildkernel, print a banner before building modules.
|
#
251000 |
|
26-May-2013 |
eadler |
Remove backwards compat layer which was added in r71419 (in 2001).
This change is not intended for MFC.
Reviewed by: peter
|
#
250969 |
|
24-May-2013 |
marcel |
Fix building on slightly older -current and stable systems after the switch to bmake. The rescue bits are built via crunchgen, which didn't respect the MAKE environment variable until r237574 (i.e. ~11 months ago). This resulted in a failure due to bmake's internal -J flag being passed around and not being understood by the standard (i.e. host's) make. Note that the failure is conditional upon having the jobServer feature enabled within bmake.
|
#
250881 |
|
21-May-2013 |
jkim |
Connect flex 2.5.37 to the build and bump __FreeBSD_version.
|
#
250859 |
|
21-May-2013 |
brooks |
Restore the ability to build on systems with 32-bit compat when the system compiler is not clang. clang and gcc appear to differ signficantly in their interpretation of -isystem and --sysroot. Further work is likely required to support an external gcc.
Reported by: andreast, fidaj@ukr.net, sergey.dyatko@gmail.com
|
#
250832 |
|
20-May-2013 |
brooks |
Fix distributekernel in the non NO_ROOT case.
PR: conf/178775 Submitted by: Garrett Cooper <yaneurabeya@gmail.com>
|
#
250707 |
|
16-May-2013 |
brooks |
Implement NO_ROOT support for distributekernel and packagekernel.
|
#
250659 |
|
15-May-2013 |
brooks |
Add support for an external cross compiler. The cross compiler is specified by passing the XCC, XCXX, and XCPP variables (corresponding to CC, CXX, and CPP) to buildworld/buildkernel. The compiler must be clang or be configured to target the appropriate architecture.
To speed build times, if XCC is an absolute path or WITHOUT_CROSS_COMPILER is defined then no cross compiler will be built during the cross-tools stage.
Limited documentation of this feature can currently be found at:
https://wiki.freebsd.org/ExternalToolchain
This functionality should be considered experimental and is subject to change without notice.
Sponsored by: DARPA, AFRL Discussed with: imp, sjg
|
#
250510 |
|
11-May-2013 |
antoine |
Add compile_et to kerberos bootstrap tools. This makes it possible to build a regular world on a host without kerberos.
PR: conf/178421 Submitted by: Garrett Cooper MFC after: 1 month
|
#
250143 |
|
01-May-2013 |
benno |
Optimize SUBDIR_OVERRIDE such that SUBDIR isn't automatically defined if SUBDIR_OVERRIDE is defined.
PR: conf/174071 Submitted by: Garrett Cooper <yaneurabeya@gmail.com> Sponsored by: EMC / Isilon Storage Division
|
#
250048 |
|
29-Apr-2013 |
eadler |
A transition period of more than two years is more than enough: Remove the compatibility code added in 2011-02-10.
This change is not intended for MFC
Reviewed by: imp
|
#
249893 |
|
25-Apr-2013 |
bdrewery |
Fix installworld with DB_FROM_SRC after r249807
Approved by: bapt Reported by: Tom Everett
|
#
249807 |
|
23-Apr-2013 |
bdrewery |
Fix installkernel requiring users/groups defined in CHECK_UIDS and CHECK_GIDS to exist since r152680. This is only needed for installworld. The documented procedure of running mergemaster -p to check for missing users is only needed for installworld, not for installkernel. This fixes auditdistd incorrectly being required for installkernel.
PR: misc/174405 Approved by: bapt
|
#
249682 |
|
20-Apr-2013 |
trociny |
This should have been committed in r249666.
MFC after: 1 month
|
#
249423 |
|
12-Apr-2013 |
dim |
Upgrade our copy of llvm/clang to trunk r178860, in preparation of the upcoming 3.3 release (branching and freezing expected in a few weeks).
Preliminary release notes can be found at the usual location: <http://llvm.org/docs/ReleaseNotes.html>
An MFC is planned once the actual 3.3 release is finished.
|
#
248941 |
|
31-Mar-2013 |
andrew |
Fix xdev-install when installing to a location other than /
|
#
248940 |
|
31-Mar-2013 |
andrew |
Fix xdev. Clang and libc were not building correctly on older worlds, for example, on 9.1. * To fix clang add an _xb-bootstrap-tools target that mirrors the existing bootstrap-tools target in the full world. * For libc have the compiler use the newly installed includes, and, while here, tell the compiler about the xdev library path as some other libraries will link against the installed libraries.
|
#
248797 |
|
27-Mar-2013 |
rene |
Fix a typo, 'xdev-build' should be spelled with a 'd' at the end.
Approved by: cognet
|
#
248571 |
|
21-Mar-2013 |
mm |
Merge libzfs_core branch: includes MFV 238590, 238592, 247580
MFV 238590, 238592: In the first zfs ioctl restructuring phase, the libzfs_core library was introduced. It is a new thin library that wraps around kernel ioctl's. The idea is to provide a forward-compatible way of dealing with new features. Arguments are passed in nvlists and not random zfs_cmd fields, new-style ioctls are logged to pool history using a new method of history logging.
http://blog.delphix.com/matt/2012/01/17/the-future-of-libzfs/
MFV 247580 [1]: To address issues of several deadlocks and race conditions the locking code around dsl_dataset was rewritten and the interface to synctasks was changed.
User-Visible Changes: "zfs snapshot" can create more arbitrary snapshots at once (atomically) "zfs destroy" destroys multiple snapshots at once "zfs recv" has improved performance
Backward Compatibility: I have extended the compatibility layer to support full backward compatibility by remapping or rewriting the responsible ioctl arguments. Old utilities are fully supported by the new kernel module.
Forward Compatibility: New utilities work with old kernels with the following restrictions: - creating, destroying, holding and releasing of multiple snapshots at once is not supported, this includes recursive (-r) commands
Illumos ZFS issues: 2882 implement libzfs_core 2900 "zfs snapshot" should be able to create multiple, arbitrary snapshots at once 3464 zfs synctask code needs restructuring
References: https://www.illumos.org/issues/2882 https://www.illumos.org/issues/2900 https://www.illumos.org/issues/3464 [1]
MFC after: 1 month Sponsored by: Hybrid Logic Inc. [1]
|
#
247285 |
|
25-Feb-2013 |
des |
In all situations where we need to bootstrap yacc, we also need to bootstrap liby. This was not readily apparent, because a normal 'make buildworld' or 'make toolchain' builds liby before building anything that uses yacc. However, 'make kernel-toolchain' does not build headers or libraries, so it was not possible to build a kernel from head on, say, stable/9 without first building the complete toolchain.
MFC after: 1 week
|
#
246784 |
|
14-Feb-2013 |
hrs |
- Fix libmd dependency. It is needed in the bootstrap library list because usr.bin/xinstall depends on it. - Remove libutil from usr.bin/xinstall/Makefile. No symbol was actually used.
Reviewed by: brooks
|
#
246602 |
|
09-Feb-2013 |
brooks |
Add nmtree to ITOOLS if it is installed on the host instead of keying off the BOOTSTRAPPING variable. The previous test was wrong because BOOTSTRAPPING is 0 in most cases.
Tested by: db
|
#
246315 |
|
04-Feb-2013 |
andrew |
Fix xdev by using the install shell script as it knows about the -l argument thile the local version install may not.
|
#
246283 |
|
03-Feb-2013 |
hrs |
- Add CHECKSUM.* support in Makefile[1]. - Use ln -fs to create a symlink. - Remove pkgadd for docports. - Use WITHOUT_JADETEX=yes instead of WITH_JADETEX=no. - Add {WORLD,KERNEL}_FLAGS to [BTWK]MAKE. - Use makefs(8) and gpart(8) for sparc64 ISO image[2]. - Add publisher option to makefs(8)[2].
Based on work by: gjb[1] Discussed with: marius, nwhitehorn[2]
|
#
246097 |
|
29-Jan-2013 |
brooks |
Log the addition of login.conf.db, passwd, pwd.db, and spwd.db via cat -l.
Make cat a bootstrap tool to facilitate this.
|
#
246096 |
|
29-Jan-2013 |
brooks |
Fix installworld when nmtree is not on the host by only adding it to ITOOLS when we will be using the host copy.
Fix installkernel when -DNO_ROOT is set.
|
#
246092 |
|
29-Jan-2013 |
brooks |
Fix installworld when the host does not need to bootstrap nmtree.
Reported by: lev, jmg
|
#
245918 |
|
25-Jan-2013 |
gjb |
Fix update method (s/SUP/CVS) warning.
Submitted by: Ryan Stone MFC after: 1 day
|
#
245890 |
|
24-Jan-2013 |
brooks |
Strip any trailing slash off of the -D argument to install to support the rather fragile destdir stripping in the metalog.
|
#
245825 |
|
22-Jan-2013 |
brooks |
Introduce a new option -DNO_ROOT that allows install and distribution targets to be run without root privilege.
Information about ownership, group, flags, and suid bits are stored in the file specified by METALOG which defaults to ${DESTDIR}/METALOG. This file can be used in conjunction with bsdtar or makefs to generate archives or file system images with correct permissions.
The packageworld target has been altered to use this metadata allowing non-root releases (subject to further changes in release/Makefile.)
Sponsored by: DARPA, AFRL Reviewed by: ian, ray
|
#
245822 |
|
22-Jan-2013 |
theraven |
Fix spurious leading / on dtc path in Makefile.inc1. Spotted by jhb.
|
#
245803 |
|
22-Jan-2013 |
theraven |
Import new (BSDL) device tree compiler. Now built by default, so that it can't be used on the host system (and not installed on the device, if required). The GPL'd one is still available if there are any devices that need it (make universe passes with it, including kernels that use fdt, but there may be some out-of-tree ones). WITH_GPL_DTC can be used to select the old one, for now.
Probably won't be MFC'd, but we'll remove the GPL'd version in head after the new one has had a lot more testing and ship it in 10.0.
|
#
245757 |
|
22-Jan-2013 |
gjb |
Chase r245756 of make.conf(5):
- If update method is SUP_UPDATE or CVS, warn that those update methods are deprecated.
- While here, remove bogus NO_WWWUPDATE.
MFC after: 3 days X-MFC-with: r245756
|
#
245754 |
|
21-Jan-2013 |
brooks |
Always bootstrap nmtree if it is not available on the host. It is fairly small and it is quite annoying to get all the way through buildworld only to discover that you forgot the DB_FROM_SRC (or soon NO_ROOT) option.
|
#
245622 |
|
18-Jan-2013 |
brooks |
Remove a harmless (somewhat to my surprise) bogon that crept into r245440.
|
#
245565 |
|
17-Jan-2013 |
brooks |
Rework the mtree portion of etc/Makefile's distrib-dirs target to run mtree in a shell loop so there is only one mtree commandline. Move the implementation of LOCAL_MTREE into etc/Makefile.
Sponsored by: DARPA, AFRL Reviewed by: mtree :)
|
#
245563 |
|
17-Jan-2013 |
brooks |
Correct the distrib-dirs target in the -DDB_FROM_SRC case.
|
#
245561 |
|
17-Jan-2013 |
brooks |
Add a new LIBRARIES_ONLY make variable to disable the build and install of files other than the actual libraries.
Use LIBRARIES_ONLY to supress the inclusion of files in the lib32 distribution that are duplicates of files in base.
Sponsored by: DARPA, AFRL Reviewed by: emaste
|
#
245440 |
|
15-Jan-2013 |
brooks |
Add an option DB_FROM_SRC to use src/etc's user/group databases when installing. This allows things like running installworld for 10-CURRENT on a 9.0-RELEASE system without adding extra users and groups to the passwd and group files.
To prevent potentially risky uid/gid mismatches on systems with non-standard local values, require that DESTDIR be set if DB_FROM_SRC is set.
Sponsored by: DARPA, AFRL Reviewed by: peter
|
#
245318 |
|
11-Jan-2013 |
brooks |
Revert r245316. Systems with non-standard uids/gids are more prevalent that I'd feared. Discussion is ongoing about the scope of a safer solution.
|
#
245316 |
|
11-Jan-2013 |
brooks |
Use the -N option to install and nmtree to eliminate the need for the checks for missing users and groups.
Sponsored by: DARPA, AFRL
|
#
245309 |
|
11-Jan-2013 |
brooks |
Use find -exec to install zoneinfo instead of requiring xargs to be an install tool.
Suggested by: delphij
|
#
245271 |
|
10-Jan-2013 |
brooks |
Add xargs to the set of install tools when zoneinfo is not disabled. This fixes installworld which I had broken in r245265.
Reported by: Nikolai Lifanov <lifanov@mail.lifanov.com>
|
#
243798 |
|
02-Dec-2012 |
peter |
Add auditdistd to the pre-install required uid check list.
|
#
243713 |
|
30-Nov-2012 |
sjg |
The build-tools step during build32 also needs the -legacy magic.
Approved by: marcel (mentor)
|
#
243322 |
|
20-Nov-2012 |
marcel |
Unbreak amd64 cross-build where amd64 is the target. While clang may be installed as cc and we don't need to build gcc as a cross-tools, we still build gcc and thus need cc_tools built as a build tool. Not doing this results in building gengenrtl with the target compiler while we need to run it on the build machine.
|
#
242874 |
|
10-Nov-2012 |
dim |
Work around pc98 tinderbox failures in sys/boot/pc98, by making sure a cross gcc gets built during the cross-tools stage.
MFC after: 1 week X-MFC-With: 242706
|
#
241823 |
|
22-Oct-2012 |
marcel |
Add ATF to the build. This is may be a bit rought around the egdes, but committing it helps to get everyone on the same page and makes sure we make progress.
Tinderbox breakages that are the result of this commit are entirely the committer's fault -- in other words: buildworld testing on amd64 only.
Credits follow:
Submitted by: Garrett Cooper <yanegomi@gmail.com> Sponsored by: Isilon Systems Based on work by: keramida@ Thanks to: gnn@, mdf@, mlaier@, sjg@ Special thanks to: keramida@
|
#
241684 |
|
18-Oct-2012 |
brooks |
Allow LOCAL_(DIRS,LIBS) to install files in directories not found in the system mtree files via a LOCAL_MTREE variable which contains a list of mtree files to be applyed along with the base mtree files to the tmp root and DESTDIR.
|
#
241312 |
|
07-Oct-2012 |
marcel |
Fix the showconfig target. bmake sends debug output to stderr.
Submitted by: Simon Garrety <sjg@juniper.net>
|
#
241311 |
|
07-Oct-2012 |
marcel |
Fix 32-bit library builds after the removal of adding -E to make for AS, CC, CXX and LD. This fix implements the intended as it should have been implemented all along: by passing AS, CC, CXX and LD on the commandline of the sub-make instead of in the environment of the sub-make.
Breakage pointed-out by: dim@
|
#
241298 |
|
06-Oct-2012 |
marcel |
Add support for bmake. This includes: 1. Don't do upgrade_checks when using bmake. As long as we have WITH_BMAKE, there's a bootstrap complication in ths respect. Avoid it. Make the necessary changes to have upgrade_checks work wth bmake anyway. 2. Remove the use of -E. It's not needed in our build because we use ?= for the respective variables, which means that we'll take the environment value (if any) anyway. 3. Properly declare phony targets as phony as bmake is a lot smarter (and thus agressive) about build avoidance. 4. Make sure CLEANFILES is complete and use it on .NOPATH. bmake is a lot smarter about build avoidance and should not find files we generate in the source tree. We should not have files in the repository we want to generate, but this is an easier way to cross this hurdle. 5. Have behavior under bmake the same as it is under make with respect to halting when sub-commands fail. Add "set -e" to compound commands so that bmake is informed when sub-commands fail. 6. Make sure crunchgen uses the same make as the rest of the build. This is important when the make utility isn't called make (but bmake for example). 7. While here, add support for using MAKEOBJDIR to set the object tree location. It's the second alternative bmake looks for when determining the actual object directory (= .OBJDIR).
Submitted by: Simon Gerraty <sjg@juniper.net> Submitted by: John Van Horne <jvanhorne@juniper.net>
|
#
240468 |
|
13-Sep-2012 |
brooks |
Introduce a new make variable COMPILER_TYPE that specifies what type of compiler is being used (currently clang or gcc). COMPILER_TYPE is set in the new bsd.compiler.mk file based on the value of the CC variable or, should it prove informative, by running ${CC} --version and examining the output.
To avoid negative performance impacts in the default case and correct value for COMPILER_TYPE type is determined and passed in the environment of submake instances while building world.
Replace adhoc attempts at determining the compiler type by examining CC or MK_CLANG_IS_CC with checks of COMPILER_TYPE. This eliminates bootstrapping complications when first setting WITH_CLANG_IS_CC.
Sponsored by: DARPA, AFRL Reviewed by: Yamaya Takashi <yamayan@kbh.biglobe.ne.jp>, imp, linimon (with some modifications post review) MFC after: 2 weeks
|
#
240403 |
|
12-Sep-2012 |
obrien |
Not all Pmake derivatives silently handle empty shell output, so ensure there is something for make(1) to consume. Bmake gives output such as: "warning: Couldn't read shell's output for "/bin/sh -c true" Note we parted from traditional Pmake behavior in r18864 / r18255.
|
#
240077 |
|
03-Sep-2012 |
gjb |
Fix 'distributeworld' target when WITHOUT_GAMES is set.
Reviewed by: des Approved by: des MFC after: 3 days X-MFC-To: 9-only
|
#
239272 |
|
15-Aug-2012 |
gonzo |
Merging of projects/armv6, part 3
r238211: Support TARGET_ARCH=armv6 and TARGET_ARCH=armv6eb
This adds a new TARGET_ARCH for building on ARM processors that support the ARMv6K multiprocessor extensions. In particular, these processors have better support for TLS and mutex operations.
This mostly touches a lot of Makefiles to extend existing patterns for inferring CPUARCH from ARCH. It also configures: * GCC to default to arm1176jz-s * GCC to predefine __FreeBSD_ARCH_armv6__ * gas to default to ARM_ARCH_V6K * uname -p to return 'armv6' * make so that MACHINE_ARCH defaults to 'armv6' It also changes a number of headers to use the compiler __ARM_ARCH_XXX__ macros to configure processor-specific support routines.
Submitted by: Tim Kientzle <kientzle@freebsd.org>
|
#
238926 |
|
30-Jul-2012 |
mm |
Partial MFV (illumos-gate 13753:2aba784c276b) 2762 zpool command should have better support for feature flags
References: https://www.illumos.org/issues/2762
MFC after: 2 weeks
|
#
238051 |
|
03-Jul-2012 |
obrien |
Add "hier" as an alternate spelling of "hierarchy" to match hier(9).
|
#
237142 |
|
15-Jun-2012 |
brooks |
Minor wording change. The previous commit message should have included:
Sponsored by: DARPA, AFRL
|
#
237141 |
|
15-Jun-2012 |
brooks |
MFP4: 212854, 212854
Add a LOCAL_LIB_DIRS variable to complement the existing LOCAL_DIRS and LOCAL_TOOL_DIRS variables. Directories in LOCAL_LIB_DIRS are built at the end of the _generic_libs target.
Reviewed by: imp (212854)
|
#
236528 |
|
03-Jun-2012 |
dim |
During buildworld and buildkernel, define EARLY_BUILD in the earlier stages (build-tools, cross-tools, etc) of the build, so we can detect in bsd.*.mk whether to pass compiler-specific flags to ${CC}.
In particular, this commit will allow using WITH_CLANG_IS_CC when the base compiler is still gcc, and when ${CC}, ${CXX} and ${CPP} are left at their defaults. The early stages will then be built using gcc, and no clang-specific flags will be passed to it. The later stages will be built as usual.
The EARLY_BUILD define can also serve other uses, such as building the world stage C++ executables with libc++ instead of libstdc++: during the early build stages, we cannot assume libc++ is already available, so we must still build with libstdc++ at that time.
MFC after: 1 week
|
#
235788 |
|
22-May-2012 |
des |
Bump __FreeBSD_version for the byacc import, and update _bootstrap_tools.
|
#
235637 |
|
19-May-2012 |
marcel |
Fix bootstrapping from FreeBSD 7.x: we also need to build ar.
|
#
235500 |
|
16-May-2012 |
imp |
By request, add back support from 7.0 and newer, since the changes for that are so minimal.
|
#
235224 |
|
10-May-2012 |
imp |
Do a bit of house cleaning and remove the old, obsolete upgrade from 6.0 support and bump the minimum version to 8.0. These versions have not been tested and are believed to be broken.
|
#
235122 |
|
07-May-2012 |
jlh |
Introduce the ${SHLIB_LDSCRIPT} variable to have an ld(1) script instead of a symlink for .so files.
Reviewed by: kib, kan (previous version), dim Approved by: kib (mentor) Silence from: -hackers@ MFC after: 1 week
|
#
234724 |
|
26-Apr-2012 |
imp |
Fix ordering issue. 'make xdev' can fail with -jN because it tries to run the xdev-install step while xdev-build is still running.
Submitted by: Ian Lepore
|
#
233645 |
|
29-Mar-2012 |
jmallett |
o) Fix mips/mips -> mips for Makefile.inc1. o) Rebuild src.conf.5.
|
#
233644 |
|
29-Mar-2012 |
jmallett |
Assume a big-endian default on MIPS and drop the "eb" suffix from MACHINE_ARCH. This makes our naming scheme more closely match other systems and the expectations of much third-party software. MIPS builds which are little-endian should require and exhibit no changes. Big-endian TARGET_ARCHes must be changed: From: To: mipseb mips mipsn32eb mipsn32 mips64eb mips64
An entry has been added to UPDATING and some foot-shooting protection (complete with warnings which should become errors in the near future) to the top-level base system Makefile.
|
#
233416 |
|
24-Mar-2012 |
gonzo |
Build CTF tools as a part of toolchain for cross-compilation case
|
#
233337 |
|
23-Mar-2012 |
stas |
- Do not build libcom_err and compile_et when kerberos is disabled. They depends on several heimdal libraries and not used by anything but kerberos tools.
|
#
233294 |
|
22-Mar-2012 |
stas |
- Update FreeBSD Heimdal distribution to version 1.5.1. This also brings several new kerberos related libraries and applications to FreeBSD: o kgetcred(1) allows one to manually get a ticket for a particular service. o kf(1) securily forwards ticket to another host through an authenticated and encrypted stream. o kcc(1) is an umbrella program around klist(1), kswitch(1), kgetcred(1) and other user kerberos operations. klist and kswitch are just symlinks to kcc(1) now. o kswitch(1) allows you to easily switch between kerberos credentials if you're running KCM. o hxtool(1) is a certificate management tool to use with PKINIT. o string2key(1) maps a password into key. o kdigest(8) is a userland tool to access the KDC's digest interface. o kimpersonate(8) creates a "fake" ticket for a service.
We also now install manpages for some lirbaries that were not installed before, libheimntlm and libhx509.
- The new HEIMDAL version no longer supports Kerberos 4. All users are recommended to switch to Kerberos 5.
- Weak ciphers are now disabled by default. To enable DES support (used by telnet(8)), use "allow_weak_crypto" option in krb5.conf.
- libtelnet, pam_ksu and pam_krb5 are now compiled with error on warnings disabled due to the function they use (krb5_get_err_text(3)) being deprecated. I plan to work on this next.
- Heimdal's KDC now require sqlite to operate. We use the bundled version and install it as libheimsqlite. If some other FreeBSD components will require it in the future we can rename it to libbsdsqlite and use for these components as well.
- This is not a latest Heimdal version, the new one was released while I was working on the update. I will update it to 1.5.2 soon, as it fixes some important bugs and security issues.
|
#
233098 |
|
17-Mar-2012 |
peter |
Make sure libgcc_s is finished building in _startup_libs before building libcxxrt with high -j levels. The workaround in libc++/Makefile isn't necessary once that race is solved.
Reviewed by: theravin
|
#
232522 |
|
04-Mar-2012 |
dim |
Fix a thinko in r232322, where gcc (and its tools) are not built during the cross-tools stage, if CC=clang and WITH_CLANG_IS_CC is not set.
This causes no 'cc' to be installed in the temporary cross-tools tree, making lint fall over later in the build, because it ignores ${CC} and attempts to run 'cc' anyway.
To fix this, only skip building gcc during cross-tools, if WITHOUT_GCC is set, or if WITH_CLANG_IS_CC is set.
Pointy hat to: dim MFC after: 2 weeks
|
#
232322 |
|
29-Feb-2012 |
dim |
Add a WITH_CLANG_IS_CC option for src.conf(5), disabled by default, that installs clang as /usr/bin/cc, /usr/bin/c++ and /usr/bin/cpp.
Note this does *not* disable building and installing gcc, which will still be available as /usr/bin/gcc, /usr/bin/g++ and /usr/bin/gcpp. If you want to disable gcc completely, you must use WITHOUT_GCC.
MFC after: 2 weeks
|
#
230786 |
|
30-Jan-2012 |
imp |
Allow specification of build shell for the buildenv target.
Submitted by: ian lepore
|
#
230622 |
|
27-Jan-2012 |
dim |
When the buildkernel stage 2.3 (build tools) runs, the PATH is still set to the default from the top-level Makefile. Therefore, invocations of lex and yacc (used during building of aicasm) will use the executables in /usr/bin, not those optionally built during the previous buildworld or kernel-toolchain. This makes kernel builds from older FreeBSD releases more difficult than necessary.
Fix this by setting PATH to ${BPATH}:${PATH} in stage 2.3, so the bootstrap tools directories are searched before the regular ones.
Silence from: svn-src-{all,head} MFC after: 1 week
|
#
230127 |
|
15-Jan-2012 |
glebius |
Restore functionality to pack several kernels into release. All kernels specified by KERNCONF are built and packed into release. The first one is packed into kernel.txz, all others to kernel.CONFIG.txz.
The first one is installed on bootables in /boot.
|
#
229673 |
|
06-Jan-2012 |
adrian |
Fix the broken non-cross compile build. Oops!
Another pointy hat to: adrian, for stirring up more trouble.
|
#
229659 |
|
05-Jan-2012 |
adrian |
Allow extra directories to be added to the build-tools target.
Things such as "sh" require local tools to be built before cross-compiling. This allows for extra software (that's built via LOCAL_DIRS) to also have a build-tools target where required.
|
#
228801 |
|
22-Dec-2011 |
dim |
Remove -mfancy-math from LIB32CPUFLAGS for amd64. It has been default for our gcc since more than three years (see r181534, which is also in stable/9 and stable/8). This flag used to be for the benefit of the old in-kernel math emulator, which was removed more than eight years ago.
Pointed out by: arundel MFC after: 1 week
|
#
228158 |
|
30-Nov-2011 |
fjoe |
- CTF knob is now implemented using common scheme: MK_CTF=yes/no is defined based on WITH/WITHOUT_CTF settings, default is WITHOUT_CTF, NO_CTF overrides WITH_CTF (used by Makefile.inc1) - CTFCONVERT_CMD/NORMAL_CTFCONVERT are now defined to empty string if make(1) can handle empty commands
|
#
228143 |
|
29-Nov-2011 |
fjoe |
Turn off profiled libs build by default. Can be enabled back using WITH_PROFILE=yes in /etc/src.conf
|
#
227987 |
|
26-Nov-2011 |
dim |
Fix breakage after r227983; lib/libcxxrt still got built, because it was not disabled in the usual way (by adding it to __DEFAULT_NO_OPTIONS in share/mk/bsd.own.mk), and because the test for MK_LIBCPLUSPLUS in Makefile.inc1 was incorrect.
Pointy hat to: dim
|
#
227985 |
|
26-Nov-2011 |
gonzo |
Provide proper error message when trying to build xdev, xdev-build or xdev-install targets without either XDEV or XDEV_ARCH defined.
|
#
227983 |
|
25-Nov-2011 |
theraven |
Import libc++ / libcxxrt into base. Not build by default yet (use MK_LIBCPLUSPLUS=yes to enable). This is a work-in-progress. It works for me, but is not guaranteed to work for anyone else and may eat your dog.
To build C++ using libc++, add -stdlib=libc++ to your CXX and LD flags.
Bug reports welcome, bug fixes even more welcome...
Approved by: dim (mentor)
|
#
227933 |
|
24-Nov-2011 |
des |
Revert r227841 and part of r227798. We still build libpam in two passes, but we use STATIC_CFLAGS instead of our own private .c.o rule.
MFC after: 3 weeks
|
#
227841 |
|
22-Nov-2011 |
des |
Remove libpam from _prebuild_libs. This should unbreak the -jX build.
MFC after: 3 weeks
|
#
227798 |
|
21-Nov-2011 |
des |
Simplify the libpam build by removing the shared modules' dependency on the shared library. The modules are loaded by the library, so we know it'll be there when we need it.
MFC after: 3 weeks
|
#
227739 |
|
19-Nov-2011 |
andreast |
Rename the linker emulation name for powerpc and powerc64. This is needed that we can also use the upstream binutils linker where we have to have a unique name for the FreeBSD emulation.
|
#
227427 |
|
10-Nov-2011 |
dim |
Revert r227403 for now. Since the cross-tools stage purposefully doesn't have ${WORLDTMP}/usr/bin in its PATH, if you build world with CC=clang, tblgen tools from /usr/bin will be used instead of the ones built under ${WORLDTMP}. This can lead to various errors, especially if you upgrade from an older clang.
Note that building world with gcc would not experience these problems, because it only uses the tblgen tools in the world stage, where PATH does contain ${WORLDTMP}/usr/bin.
Pointy hat to: dim
|
#
227403 |
|
09-Nov-2011 |
dim |
Move building of clang's tblgen tools (and required libraries) from the bootstrap-tools stage to the cross-tools stage. These tools are only needed for generating llvm/clang include files, and are not necessary for bootstrapping the build itself.
This shaves off some build time, because the required libraries are now just built twice (during the cross-tools and world stages), instead of three times.
Also, if you build world using WITHOUT_CLANG= in src.conf(5), no llvm or clang code will be compiled at all anymore.
MFC after: 1 week
|
#
227120 |
|
05-Nov-2011 |
dim |
Make it possible to set CC and CXX (and optionally, AS and LD) in make.conf(5), while allowing the build32 stage on 64-bit architectures to still override them, so that stage can successfully build 32-bit compatibility libraries.
Explanation: 1) The build32 stage sets environment variables CC, CXX, AS and LD for its sub-make, to add 32-bit specific flags (-m32 and such). 2) The sub-make reads sys.mk, encounters CC?= and CXX?= assignments, so does not alter them. 3) After some other stuff, sys.mk reads /etc/make.conf. When you have "CC=xxx" and "CXX=yyy" statements in there, they will *override* the build32-supplied CC/CXX values, nullifying the 32-bit specific flags. 4) Thus all objects get built as 64-bit anyway, and since LD is usually not set in make.conf, it still has the 32-bit flags! 5) Now, whenever something is linked, you will get a "ld: Relocatable linking with relocations from format elf64-x86-64-freebsd (foo.o) to format elf32-i386-freebsd (bar.o) is not supported" error.
Fix this by adding "-ECC -ECXX -EAS -ELD" to the build32 sub-make invocation, which forces those environment variables to always override any assignment in makefiles. Thus making it possible to simply set:
CC=my-cc CXX=my-c++
in your make.conf, or specify a path, even:
CC=/usr/local/bin/other-cc CXX=/usr/local/bin/other-c++
Note this was never a problem on i386, since it has no build32 stage.
Silence from: current@ MFC after: 1 week
|
#
226785 |
|
26-Oct-2011 |
ed |
Attempt to fix build logic for gensnmptree.
There are two problems with the existing logic. It builds gensnmptree on <700018, even if WITHOUT_BSNMP is set, but more importantly, we must not forget to build gensnmptree on systems that have originally been built without. This causes a buildworld on those systems to fail.
MFC after: 1 week
|
#
226633 |
|
22-Oct-2011 |
dim |
Upgrade our copy of llvm/clang to r142614, from upstream's release_30 branch. This brings us very close to the 3.0 release, which is expected in a week or two.
MFC after: 1 week
|
#
225937 |
|
03-Oct-2011 |
nwhitehorn |
Farewall, sysinstall! You served us well for many years, but 10.0 is one digit beyond your time.
Various sysinstall dependencies (e.g. libftpio, libdisk, libodialog, etc.) will be cleaned up in coming days. Some will take longer than others due to a few other consumers (tzsetup and sade).
|
#
225778 |
|
27-Sep-2011 |
stas |
- Add missing interdependencies to kerberos libraries. Some of the kerberos libraries were not linked properly (missing dependencies), which causes 3rd party applications linking to fail when --as-needed ld flag is used. I also added the --no-undefined ld(1) flag to make sure that there're no missing dependencies.
MFC after: 3 days
|
#
224776 |
|
11-Aug-2011 |
ru |
- Merged awk upstream that includes a fix for a bug exposed by kmod_syms.mk. - Provide a build aid for those who already have a buggy awk(1) installed.
Approved by: re (kib)
|
#
223148 |
|
16-Jun-2011 |
ru |
It's a bit odd, but "make update" in src/ can also update the ports/, doc/, and now www/ trees, but only using the "cvsup" transport.
When "make update" is run using a tree's makefile, it can also use "cvs" (except for www/) and "svn" (only src/).
Clean up documentation and code regarding "make update":
- Increase oddness by adding support for WWWSUPFILE and NO_WWWUPDATE to Makefile.inc1 (analogous to PORTSSUPFILE/NO_PORTSUPDATE and DOCSUPFILE/NO_DOCUPDATE; WWWSUPFILE already supported by www/Makefile).
- Document all trees that support CVS_UPDATE.
- Document all trees that support SUP_UPDATE.
- Document SVN_UPDATE.
- Document NO_WWWUPDATE.
- make.conf(5) mistakenly said that *SUPFILE* had defaults.
- Add an example entry for WWWSUPFILE.
|
#
222090 |
|
19-May-2011 |
imp |
Implement WITH{,OUT}_{GCC,BINUTILS} to provide finer-grained control over building gcc and binutils. They default to true, unless MK_TOOLCHAIN is no.
Reviewed by: ru@
|
#
222072 |
|
18-May-2011 |
imp |
Clean up a loose end from the conversion from gnu ar/ranlib to the BSD one. Without this, we don't have ar or randlib in the tool path, leading to much pain for some users. This pain is exposed by the external toolchain enhancements that I'm working on.
Submitted by: John Hein (ages ago, and dropped on the floor by me: sorry)
|
#
222035 |
|
17-May-2011 |
flz |
Backout libinstall.a -> libpkg commit.
Discussed with: erwin, brooks, bapt
|
#
221869 |
|
14-May-2011 |
attilio |
Disconnect sun4v architecture from the three.
Some files keep the SUN4V tags as a code reference, for the future, if any rewamped sun4v support wants to be added again.
Reviewed by: marius Tested by: sbruno Approved by: re
|
#
221783 |
|
11-May-2011 |
obrien |
+ DTrace as a bootstrap tool is only needed on certain older systems. + Be more consistent between BMAKE and TMAKE. + Add NO_CTF to crosstools as is done for bootstrap and build tools.
Reviewed by: marcel
|
#
221469 |
|
05-May-2011 |
obrien |
Correct the kernel config name printed out during install.
PR: 156579 Submitted by: dhw
|
#
220954 |
|
22-Apr-2011 |
obrien |
Note which of the built kernels is being installed.
PR: 156579 Submitted by: dhw
|
#
220755 |
|
17-Apr-2011 |
dim |
Remove libobjc and other Objective-C related components, as these are extremely outdated, and not used by anything in the base system.
Silence from: current@
|
#
220401 |
|
06-Apr-2011 |
uqs |
Complete WITHOUT_CXX support. It implies WITHOUT_GROFF and WITHOUT_CLANG.
Don't build clang bootstrap/build-tools depending on this flag. We also keep gperf, devd and libstdc++ around to prevent foot-shooting and to make this a two-way street.
|
#
220359 |
|
05-Apr-2011 |
imp |
Make clang default on x86 and powerpc, but not on other architectures. Make fdt default on arm and powerpc.
This now includes cross compiled targets, where before we tried to make it host-based.
Also, move the lists of default yes and no options to a variable.
In general, only build tools should get this treatment in bsd.own.mk. Also, the use of TARGET* in the bsd.*mk files is discouraged, but necessary here due to the ordering of things in buildworld. We make the native case work by testing MACHINE_ARCH after TARGET_ARCH.
|
#
220255 |
|
01-Apr-2011 |
uqs |
Fix the delete-old/check-old targets to work with arbitrarily long OLD_FILES/OLD_DIRS/OLD_LIBS lists.
If you specify enough WITHOUT_FOO flags, the argument list passed to the shell will be too long. Using .for/.endfor make(1) "loop" will make the parser of the Makefile explode. Hack around this with good old pipes.
No objections: netchild Reported by: b.f.
|
#
219820 |
|
21-Mar-2011 |
jeff |
- Merge in OFED 1.5.3 from projects/ofed/head
|
#
219177 |
|
02-Mar-2011 |
nwhitehorn |
Improve the distributeworld target in Makefile.inc1 and update the release infrastructure to use it. make distributeworld can now be used without preparing its environment first and installs games into its distribution using the regular make distribute logic instead of post-processing with a script.
Also add two new targets, packageworld and packagekernel, that tar up the results of distributeworld and distributekernel (also new), respectively.
|
#
219136 |
|
01-Mar-2011 |
jhb |
Use a suitable DIRPRFX for each invocation of make in the build32 and install32 targets so that the full path to each program or library is displayed in the make output.
MFC after: 1 week
|
#
219090 |
|
27-Feb-2011 |
pjd |
Commit two more files missed in r219089.
MFC after: 1 month
|
#
219019 |
|
25-Feb-2011 |
gabor |
Add the BSD-licensed Citrus iconv to the base system with default off setting. It can be built by setting the WITH_ICONV knob. While this knob is unset, the library part, the binaries, the header file and the metadata files will not be built or installed so it makes no impact on the system if left turned off.
This work is based on the iconv implementation in NetBSD but a great number of improvements and feature additions have been included:
- Some utilities have been added. There is a conversion table generator, which can compare conversion tables to reference data generated by GNU libiconv. This helps ensuring conversion compatibility. - UTF-16 surrogate support and some endianness issues have been fixed. - The rather chaotic Makefiles to build metadata have been refactored and cleaned up, now it is easy to read and it is also easier to add support for new encodings. - A bunch of new encodings and encoding aliases have been added. - Support for 1->2, 1->3 and 1->4 mappings, which is needed for transliterating with flying accents as GNU does, like "u. - Lots of warnings have been fixed, the major part of the code is now WARNS=6 clean. - New section 1 and section 5 manual pages have been added. - Some GNU-specific calls have been implemented: iconvlist(), iconvctl(), iconv_canonicalize(), iconv_open_into() - Support for GNU's //IGNORE suffix has been added. - The "-" argument for stdin is now recognized in iconv(1) as per POSIX. - The Big5 conversion module has been fixed. - The iconv.h header files is supposed to be compatible with the GNU version, i.e. sources should build with base iconv.h and GNU libiconv. It also includes a macro magic to deal with the char ** and const char ** incompatibility. - GNU compatibility: "" or "char" means the current local encoding in use - Various cleanups and style(9) fixes.
Approved by: delphij (mentor) Obtained from: The NetBSD Project Sponsored by: Google Summer of Code 2009
|
#
218941 |
|
22-Feb-2011 |
uqs |
Flesh out WITHOUT_GROFF support to DTRT.
A full featured groff is required during buildworld, so build it always and don't rely on it being present on the host system.
vgrind(1) is tightly coupled to a roff processor and will not be built/installed when groff is disabled. Also much of the roff'ed documentation under share/doc will not be built/installed when WITHOUT_GROFF is defined.
Reviewed by: ru (partial)
|
#
218936 |
|
22-Feb-2011 |
imp |
Back out 218933 and 281934. The easy cases still worked, but some hard cases broke in worse ways than the status quo. Back them out until that can be resolved.
|
#
218934 |
|
22-Feb-2011 |
imp |
Select building CLANG based on ${TARGET_ARCH} and existence of WITH{,OUT}_CLANG. We default to yes on some archs, no on others, unless WITHOUT_CLANG or WITH_CLANG is defined respectively.
|
#
218893 |
|
20-Feb-2011 |
dim |
Upgrade our copy of llvm/clang to r126079, from upstream's trunk.
This contains many improvements, primarily better C++ support, an integrated assembler for x86 and support for -pg.
|
#
218534 |
|
11-Feb-2011 |
imp |
Hmmm, specifying TARGET and TARGET_ARCH in the environment doesn't seem to work when building xdev anymore (most likely my changes lately moving the TARGET guessing stuff to Makefile from Makefile.inc1, but I really don't grok why). Fix make xdev by putting them on the command line. This will work either way while I try to figure it out.
|
#
218533 |
|
11-Feb-2011 |
imp |
CPUTYPE is now a required define for calling Makefile.inc1 diretly, so make sure we define it for the xdev stuff.
Move xdev stuff to be last again in this file.
# xdev-build works now, but xdev-install appears to be broken though.
|
#
218526 |
|
10-Feb-2011 |
imp |
You are now *REQUIRED* to pass both TARGET and TARGET_ARCH to any invocations of Makefile.inc1 (since that's supposed to be an internal interface for world and related targets). Document this with a .error message. For a transition period, support passing in just TARGET, but give a .warning for that case: I plan on removing it in 9.0...
|
#
218130 |
|
31-Jan-2011 |
imp |
Move the architecture guessing from Makefile.inc1 to Makefile. We need to do this because variables specified on the command line override those specified in the Makefile. This is why we also moved from TARGET to _TARGET in Makefile, and then set TARGET on the command line when we fork a submake with Makefile.inc1.
This makes mips/mips work again, even without the workaround committed to lib/libc/Makefile.
|
#
217123 |
|
07-Jan-2011 |
imp |
Retire TARGET_ABI.
Implement MACHINE_ARCH=mips64e[lb] to build N64 images. This replaces MACHINE_ARCH=mipse[lb] TARGET_ABI=n64.
MACHINE_ARCH=mipsn32e[lb] has been added, but currently requires WITHOUT_CDDL due to atomic issues in libzfs. I've not investigated this much, but implemented this to preserve as much of the TARGET_ABI functionality that I could. Since its presence doesn't affect the working cases, I've kept it in for now.
Added mips64e[lb] to make universe, so more kernels build.
And I think this (finally) closes the curtain on the tbemd tree.
|
#
215455 |
|
18-Nov-2010 |
markm |
Do not lint code beyond necessity (with apologies to Wiliam of Ockham).
Don't lint externally maintained CDDL code, or relint the 32-bit libraries in amd64 mode.
|
#
215279 |
|
14-Nov-2010 |
imp |
add / to the translation of TARGET_ARCH to TARGET
|
#
215257 |
|
13-Nov-2010 |
imp |
The fixes for mips/mips arm/arm compat hacks broke if TARGET or TARGET_ARCH wasn't defined. Fix it for that case.
Submitted by: Garrett Cooper
|
#
215252 |
|
13-Nov-2010 |
imp |
Add legacy names for mips:mips and arm with TARGET_BIG_ENDIAN, for the moment.
|
#
215127 |
|
11-Nov-2010 |
ed |
Replace libgcc.a by libcompiler_rt.a.
libcompiler_rt.a is a BSD licensed C language runtime, which implements many routines which are linked into binaries on architectures where certain functionality is missing (e.g. 64 bits mul/div on i386).
Unfortunately, libcompiler_rt cannot replace libgcc entirely. Certain features, such as an unwinder for exception handling, are missing. That's why only libgcc.a is replaced for now, because this one does seem to be complete.
Tested by: rene (amd64), nwhitehorn (powerpc), droso (i386 exprun) and many others. Thanks! Obtained from: user/ed/compiler-rt
|
#
215065 |
|
09-Nov-2010 |
imp |
Merge from tbemd: o TARGET=mips --> little endian 32-bit mips build o mipsel and mipseb TARGET_ARCH are both mips TARGETs o Add some more architecture combinations
|
#
212333 |
|
08-Sep-2010 |
nwhitehorn |
Check TARGET_ARCH as well as TARGET to determine if we are doing a cross build. This is necessary to be able to cross-build 32-bit PowerPC from a 64-bit PowerPC host.
Reviewed by: imp
|
#
211934 |
|
28-Aug-2010 |
nwhitehorn |
Repair some build breakage introduced in r211725 and garbage collect some code made obsolete in the same commit.
|
#
211758 |
|
24-Aug-2010 |
imp |
The order was correct before. I'd talked to Nathan about this before, so this must have been mismerged into tbemd before I merged it back to head. This unbreaks this on powerpc64
Submitted by: nathanw@
|
#
211725 |
|
23-Aug-2010 |
imp |
MFtbemd:
Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want to test of all the CPUs of a given family conform.
|
#
211673 |
|
23-Aug-2010 |
imp |
Minor tweak from tbemd
|
#
211577 |
|
21-Aug-2010 |
rpaulo |
Don't link drti.o with libelf_pic.a. This means that all software with userland SDT probes must be linked with libelf explicitly.
Requested by: kib Sponsored by: The FreeBSD Foundation
|
#
211572 |
|
21-Aug-2010 |
rpaulo |
Add clang to the cross-tools build stage.
Submitted by: Dimitry Andric <dimitry at andric.com>
|
#
211560 |
|
21-Aug-2010 |
rpaulo |
Add libelf to the prebuild libs.
This is needed for the DTrace instrumentation object.
Sponsored by: The FreeBSD Foundation
|
#
211450 |
|
18-Aug-2010 |
des |
Revert r211436; it was a good idea, but not fully thought out.
|
#
211436 |
|
17-Aug-2010 |
des |
Split kernel stage 3.2 (build everything) into 3.2 (build the kernel) and 3.3 (build the modules). IMHO, this makes it a little easier to track the progress of a kernel build using whereintheworld et al.
MFC after: 3 weeks
|
#
210116 |
|
15-Jul-2010 |
raj |
Relax FDT_DTS_FILE validation (and unbreak world build).
Pointed out by: kib
|
#
210112 |
|
15-Jul-2010 |
raj |
Fix FDT_DTS_FILE parsing to properly retrieve its value. This unbreaks the 'builddtb' target.
Make the processing more robust against non-existent kernel config files (pointed out by imp@).
|
#
210024 |
|
13-Jul-2010 |
nwhitehorn |
Connect powerpc64 to the build. It is not presently part of make universe, which will be added soon.
Reviewed by: imp
|
#
209511 |
|
24-Jun-2010 |
imp |
Merge from tbemd:
use MACHINE_CPUARCH instead of MACHINE_CPU since the sources for the CSU is based on MACHINE_CPUARCH
Reviewed by: arch@ (twice)
|
#
209510 |
|
24-Jun-2010 |
imp |
Merge from tbemd:
change the name of the object tree from ${TARGET} to ${TARGET}.${TARGET_ARCH} so we can do both big and little endian builds in the same tree.
Reviewed by: arch@ (twice)
|
#
209509 |
|
24-Jun-2010 |
imp |
Merge from TBEMD:
Rather than having arch specific code in Makefile.inc1, generalize so that we can control the settings of different options on a per architecutre basis.
Reviewed by: arch@ (twice)
|
#
209240 |
|
16-Jun-2010 |
raj |
Use awk alone for extracting FDT_DTS_FILE instead of grep/cut, which is simpler and more robust.
Submitted by: Andrzej Tobola
|
#
209128 |
|
13-Jun-2010 |
raj |
Connect FDT infrastructure to the build system.
Reviewed by: imp Sponsored by: The FreeBSD Foundation
|
#
208964 |
|
09-Jun-2010 |
rdivacky |
Hook clang into the build on i386/amd64/powerpc.
Approved by: ed (mentor)
|
#
208363 |
|
20-May-2010 |
jkim |
Revert r208353. It did not work as I expected because WITHOUT_MAN is set for bootstrap-tools target and WITHOUT_MAN_UTILS was implied by default.
Pointy hat: jkim
|
#
208353 |
|
20-May-2010 |
jkim |
We do not have to build makewhatis as a bootstrap tool when it is disabled by WITHOUT_MAN_UTILS.
|
#
208333 |
|
20-May-2010 |
jkim |
Revert r208324. We still need it for installworld as $PATH is overriden.
|
#
208324 |
|
20-May-2010 |
jkim |
Remove makewhatis(1) from bootstrap tools. We no longer support source upgrades from versions prior to 6.0 on head.
|
#
207849 |
|
10-May-2010 |
mm |
Enable liblzma support in libarchive Adjust dependencies for programs using libarchive Add xz and linkage against liblzma to rescue system
Approved by: kientzle, delphij (mentor) MFC after: 2 weeks
|
#
207113 |
|
23-Apr-2010 |
flz |
- Take libinstall.a out of pkg_install and make it a proper shared library. - Rework the wrapper support to check libpkg version as well as pkg_install version. - Add libfetch to _prebuild_libs. - There are no new features introduced.
Notes: the API is not stable, so basically, do not use libpkg in your projects for now. Also there's no manpage for libpkg yet, because the API will change drastically. I repeat, do not use libpkg for now.
|
#
207058 |
|
22-Apr-2010 |
netchild |
Remove explicit setting of NO_CTF in WMAKEENV and in the make call for the buildkernel. This way makeoptions WITH_CTF=yes not only works when compiling the tradtitional way, but also when using buildkernel. This does not enable the CTF part of the world, it still defaults to without CTF info.
The cross/build-tools/bootstrap targets are not affected by this, they still have and should keep the explicit NO_CTF.
Notified by: np
|
#
206618 |
|
14-Apr-2010 |
imp |
Add note about TARGET_ARCH
|
#
205622 |
|
24-Mar-2010 |
delphij |
Expose MACHINE_CPU while building lib32 target.
|
#
204833 |
|
07-Mar-2010 |
antoine |
Remove old documents when they are not compressed. (NO_INFOCOMPRESS, NO_DOCCOMPRESS or NO_MANCOMPRESS)
MFC after: 1 month
|
#
203016 |
|
26-Jan-2010 |
ru |
Regen the list of prebuild libraries using tools/make_libdeps.sh.
|
#
202896 |
|
23-Jan-2010 |
antoine |
Unbreak world: - WITHOUT_OPENSSH (and WITH_KERBEROS) - WITHOUT_KERBEROS and WITH_GSSAPI
PR: 137483 Submitted by: bf MFC after: 2 weeks
Note: this breaks harder world WITHOUT_GSSAPI (and WITH_KERBEROS), but well
|
#
202755 |
|
21-Jan-2010 |
ed |
Remove libulog from the bootstrap again.
libulog now only provides functions that are used by various packages from the ports tree, namely the libutempter ones. There is no reason to link it into the crunch/fixit binaries anymore.
|
#
202324 |
|
14-Jan-2010 |
jilles |
In 'make delete-old', use 'exec' to redirect an fd persistently.
That is, write 'exec 3<&0' instead of '3<&0'. Due to an sh(1) bug fixed in r199953, the latter also persisted, provided that fd 3 was not open before. With newer sh or fd 3 open, it would not delete orphaned catpages.
MFC after: 2 weeks
|
#
201300 |
|
31-Dec-2009 |
ed |
Disable K&R style function definitions for WARNS=6.
Unfortunately there are two slight problems with that:
- Yacc and lex might generate code that generates warnings because of this. Require yacc and lex to be rebuilt during bootstrap. I'm not incrementing __FreeBSD_version here, because I assume someone else will do this eventually.
- When running `make buildkernel', it uses share/mk from the source treeo to build aicasm. Because aicasm also depends on lex, this would break. Lower WARNS to 5 for now. We should just increment it to 6 again somewhere in the very far future.
|
#
200596 |
|
16-Dec-2009 |
imp |
Add NO_KERNELOBJ flag, similar to NO_KERNEL{CONFIG,DEPEND,CLEAN}, which disables doing a make obj. Use it when you know it will work only. KERNFAST now implies NO_KERNELOBJ, since you don't need to keep doing obj when doing incremental kernel builds.
|
#
200413 |
|
11-Dec-2009 |
ed |
Convert pam_lastlog(8) to libulog.
The information used by the "Last login:"-line is obtained by using ulog_setutxfile(3) to switch to the lastlog database. Login and logout are performed using the utility functions ulog_login(3) and ulog_logout(3).
This also means we must build libulog during bootstrap.
Approved by: des
|
#
198741 |
|
01-Nov-2009 |
rdivacky |
Replace -iprefix with -isystem. We only need alternative header files search path and thus -isystem is sufficient. -iprefix is meant to do something entirely different.
Approved by: ed (mentor) OKed by: ru, kan Tested by: make universe
|
#
198535 |
|
28-Oct-2009 |
edwin |
Now that the zoneinfo data is automatically updated when a new world is installed, we should at least have the tzsetup tool available!
Suggested by: Andriy Gapon <avg@freebsd.org> Noticed by: Ben Kaduk <minimarmot@gmail.com> MFC after: 1 week
|
#
198347 |
|
21-Oct-2009 |
ru |
Move sed(1) from cross-tools to bootstrap-tools.
|
#
198020 |
|
13-Oct-2009 |
bland |
Chase dependency changes in libgssapi_krb5 module introruced by revision r197995.
|
#
197056 |
|
10-Sep-2009 |
des |
Fix comment about KERNFAST.
|
#
195697 |
|
14-Jul-2009 |
kan |
Second attempt at eliminating .text relocations in shared libraries compiled with stack protector.
Use libssp_nonshared library to pull __stack_chk_fail_local symbol into each library that needs it instead of pulling it from libc. GCC generates local calls to this function which result in absolute relocations put into position-independent code segment, making dynamic loader do extra work every time given shared library is being relocated and making affected text pages non-shareable.
Reviewed by: kib Approved by: re (kib)
|
#
195152 |
|
29-Jun-2009 |
kan |
Back out previous revision until better tested fix is ready.
Approved by: re (impliciti, by approving previos check-in)
|
#
195151 |
|
28-Jun-2009 |
kan |
Eliminate .text relocations in shared libraries compiled with stack protector.
Use libssp_nonshared library to pull __stack_chk_fail_local symbol into each library that needs it instead of pulling it from libc. GCC generates local calls to this function which result in absolute relocations put into position-independent code segment, making dynamic loader do extra work everys time given shared library is being relocated and making affected text pages non-shareable.
Reviewed by: kib Approved by: re (kensmith)
|
#
194194 |
|
14-Jun-2009 |
markm |
Allow "make update" work with SVN, if you take the time to set up your /etc/make.conf properly.
Only one SCM? I do not think this is right. Now I have fixed it.
|
#
190706 |
|
05-Apr-2009 |
imp |
Revert c190007 at the request of Ruslan. It was not correct because ar had been moved from cross tools to bootstrap tools when bsd ar was introduced.
Submitted by: ru@
|
#
190007 |
|
19-Mar-2009 |
imp |
Add usr.bin/ar to the list of cross tools. Before, when we had gnu ar, it was built in the gnu/usr.bin/binutils tree. Now it isn't.
Submitted by: John Hein
|
#
189865 |
|
15-Mar-2009 |
imp |
Restore missing OSREL definition that accidetnally dropped from an earlier version of this patch.
|
#
189850 |
|
15-Mar-2009 |
gabor |
- Create the buildworld object directories with mtree instead of various mkdir calls - Remove the ugly workaroung from libc NLS, which was to create some of these directories
|
#
189765 |
|
13-Mar-2009 |
gabor |
- Reenable Native Language Support in libc. This feature was disabled due to possible breakages in the catalog handling code. Since then, that code has been replaced by the secure code from NetBSD but NLS in libc remained turned off. Tests have shown that the feature is stable and working so we can now turn it on again.
- Add several new catalog files: - ca_ES.ISO8859-1 - de_DE.ISO8859-1 - el_GR.ISO8859-7 (by manolis@ and keramida@) - es_ES.ISO8859-1 (kern/123179, by carvay@) - fi_FI.ISO8859-1 - fr_FR.ISO8859-1 (kern/78756, by thierry@) - hu_HU.ISO8859-2 (by gabor@) - it_IT.ISO8859-15 - nl_NL.ISO8859-1 (corrections by rene@) - no_NO.ISO8859-1 - mn_MN.UTF-8 (by ganbold@) - sk_SK.ISO8859-2 - sv_SE.ISO8859-1 (The catalogs without explicit source has been obtained from NetBSD.)
Approved by: attilio
|
#
189764 |
|
13-Mar-2009 |
ru |
Don't put "install-info" to the list of install-tools if we're installing with -DWITHOUT_INFO, otherwise one can experience a failure trying to installworld on a system that is built with -DWITHOUT_INFO (i.e., without /usr/bin/install-info).
Reported by: bland MFC after: 3 days
|
#
189760 |
|
13-Mar-2009 |
imp |
Implement the xdev target. When you define XDEV=arch XDEV_ARCH=arch, you can build the cross development tools and install them as $XDEV-freebsd-xxx for each tool. This allows one to use autoconf to find the tools for cross building scenarios.
|
#
188895 |
|
21-Feb-2009 |
ru |
Fix build when WITH_SSP is set explicitly.
Submitted by: Jeremie Le Hen
|
#
187636 |
|
23-Jan-2009 |
imp |
Implement an idea from Sam Leffler: make KERNFAST=blah buildkernel is now a short cut for make KERNCONF=blah -DKERNFAST buildkernel
This change works for all kernel config files not named "1". I did that to make sure that make -DKERNFAST buildkernel remains the same as make -DKERNFAST KERNCONF=GENERIC buildkernel rather than trying to build and configure "1". I've never seen a kernel config file named "1," so I think this is a good compromise.
|
#
187273 |
|
15-Jan-2009 |
imp |
Add KERNFAST define. When defined, it skips all the config, depends and clean steps. KERNFAST was selected to complement KERNCONF which is typically used in these scenarios (especially with cross building).
Reviewed by: arch@
|
#
184860 |
|
12-Nov-2008 |
obrien |
Add the kerberos5 libs to the install32 target. (we've been building the all along, but never installing them)
|
#
184206 |
|
23-Oct-2008 |
des |
Back out testing aid that was inadvertantly committed as part of r184205.
Noticed by: rdivacky
|
#
184205 |
|
23-Oct-2008 |
des |
Retire the MALLOC and FREE macros. They are an abomination unto style(9).
MFC after: 3 months
|
#
183193 |
|
19-Sep-2008 |
obrien |
Rescue is "not yet" for MIPS.
|
#
181871 |
|
19-Aug-2008 |
jhb |
If a CPUTYPE isn't specified, then don't use -march=k8 when compiling 32-bit compat libs on amd64 since -march=k8 may generate instructions that are not implemented on Intel EM64T processors. Instead, use a simpler set of default flags that should work on all amd64-capable CPUs.
PR: amd64/113111 Submitted by: NIIMI Satoshi sa2c of sa2c.net MFC after: 1 week
|
#
181162 |
|
02-Aug-2008 |
jhb |
Various style fixes in the build32 rules.
Submitted by: bde (mostly)
|
#
181136 |
|
01-Aug-2008 |
jhb |
Tweak the support for using ldd on 32-bit objects a bit further. Specifically, build a 32-bit /usr/bin/ldd32 on amd64 which handles 32-bit objects. Since it is a 32-bit binary, it can fork a child process which can dlopen() a 32-bit shared library. The current 32-bit support in ldd can't do this because it does the dlopen() from a 64-bit process. In order to preserve an intuitive interface for users, the ldd binary automatically execs /usr/bin/ldd32 for 32-bit objects. The end result is that ldd on amd64 now transparently handles 32-bit shared libraries in addition to 32-bit binaries.
Submitted by: ps (indirectly)
|
#
180012 |
|
25-Jun-2008 |
ru |
Enable GCC stack protection (aka Propolice) for userland: - It is opt-out for now so as to give it maximum testing, but it may be turned opt-in for stable branches depending on the consensus. You can turn it off with WITHOUT_SSP. - WITHOUT_SSP was previously used to disable the build of GNU libssp. It is harmless to steal the knob as SSP symbols have been provided by libc for a long time, GNU libssp should not have been much used. - SSP is disabled in a few corners such as system bootstrap programs (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves. - It should be safe to use -fstack-protector-all to build world, however libc will be automatically downgraded to -fstack-protector because it breaks rtld otherwise. - This option is unavailable on ia64.
Enable GCC stack protection (aka Propolice) for kernel: - It is opt-out for now so as to give it maximum testing. - Do not compile your kernel with -fstack-protector-all, it won't work.
Submitted by: Jeremie Le Hen <jeremie@le-hen.org>
|
#
179858 |
|
18-Jun-2008 |
obrien |
Add MIPS to the list of known arches.
|
#
179233 |
|
23-May-2008 |
jb |
Add the DTrace build tools to the list of tools and pass NO_CTF to all the stages of the build which don't require CTF conversion.
|
#
178828 |
|
07-May-2008 |
dfr |
Fix conflicts after heimdal-1.1 import and add build infrastructure. Import all non-style changes made by heimdal to our own libgssapi.
|
#
178216 |
|
15-Apr-2008 |
ru |
Bootstrap the build of btxld.
|
#
177714 |
|
29-Mar-2008 |
ru |
Remove options MK_LIBKSE and DEFAULT_THREAD_LIB now that we no longer build libkse. This should fix WITHOUT_LIBTHR builds as a side effect.
|
#
176737 |
|
02-Mar-2008 |
ru |
Set AR=gnu-ar and RANLIB=gnu-ranlib on systems where we are forced to use GNU tools. Remove the _WITH_GNUAR knob.
Prodded by: obrien
|
#
176557 |
|
25-Feb-2008 |
ru |
Sort.
Prodded by: obrien
|
#
176556 |
|
25-Feb-2008 |
ru |
Make again BSD ar(1) the default system ar(1), now properly handling source upgrades by falling back to GNU ar(1) as necessary. Option WITH_BSDAR is gone. Option _WITH_GNUAR to aid in upgrades is *not* supposed to be set by the user.
Stop bootstrapping BSD ar(1) on the next __FreeBSD_version bump, as there are no known bugs in it. Bump __FreeBSD_version to anticipate this and to flag the switch to BSD ar(1), should it be needed for something.
Input from: obrien, des, kaiw
|
#
175991 |
|
05-Feb-2008 |
des |
Satisfy a particularly obstinate nit-picker :)
|
#
175981 |
|
05-Feb-2008 |
des |
Give usr.bin/kdump/kdump_subr.c the same treatment as usr.bin/kdump/ioctl.c and usr.bin/truss/ioctl.c. This is the correct way to address the problem that arises when doing an incremental build after a header used by kdump has been removed (cf. i4b disconnect a while ago)
Explained by: ru MFC after: 2 weeks
|
#
175613 |
|
23-Jan-2008 |
ru |
Support source upgrades from at least 6.0-RELEASE.
Reviewed by: imp, obrien
|
#
175583 |
|
23-Jan-2008 |
ache |
Conditionally add mklocale to bootstrap-tools
|
#
175566 |
|
22-Jan-2008 |
ru |
Cleanup after last commit (remove undefined variables).
|
#
175539 |
|
21-Jan-2008 |
obrien |
Remove 5.x and 6.x cruft - source upgrades to RELENG_8 from versions prior to RELENG_7 are not supported.
|
#
175382 |
|
16-Jan-2008 |
brueffer |
Remove WITHOUT_FORTRAN from the XMAKE target, it doesn't exist anymore.
Reviewed by: imp, kan Approved by: rwatson (mentor) MFC after: 3 days
|
#
174255 |
|
04-Dec-2007 |
yar |
- Explicitly verify if all needed libs were found by ldd(1). Do so through scanning its output as ldd(1) returns a non-zero status only for really abnormal conditions such as an improper file format. Now cp(1) won't get bogus "not" and "found" arguments if a lib is missing. [1]
- Don't guess if an element of a complex pipeline is assigned to the main shell or a sub-shell. Namely use stdio, not vars, to pass lists out from loops. If using vars, there's the risk that a loop will run in a sub-shell and the list won't make it to the main shell. It appears that braces and parens give only limited control over the issue while stdio always works as intended. Apply this solution to both $progs and $libs for consistency, although I've failed to go without it only in the $libs part.
Requested by: emaste [1]
|
#
173219 |
|
31-Oct-2007 |
yar |
Decouple the install tools from the main system as much as possible. I.e., not only copy them to a scratch dir, but also make them use saved copies of libraries and locale files. That gives us several benefits:
1) ABI breakages should no longer affect installworld over the live system.
2) It becomes safe to run installworld while still running the old kernel. However, it can be reasonable to save the old /rescue before that to be able to run the old reboot(8), as the new binaries are rather likely to fail with the old kernel. Anyhow, it's now possible to upgrade a system in a single reboot _reliably_.
3) With a bit of hackery around rtld(8), it becomes possible to do destructive cross-installs, e.g., i386->amd64 over the live system.
The only shared item left between the old and new systems is rtld(8), which cannot be run from a saved copy easily because its full pathname is stored in the respective field of each ELF executable. (In theory, that field could be overridden, e.g., from the environment, but this can lead to security issues.) That's why a destructive cross-install isn't possible w/o hackery yet.
Fruitful ideas by: ru Reviewed by: ru Tested with: audit(4)
|
#
172663 |
|
15-Oct-2007 |
emaste |
If a required install tool is missing, provide a more friendly error message (instead of cp's usage info).
|
#
172500 |
|
09-Oct-2007 |
obrien |
Tweak the handling of "WITHOUT_LIBPTHREAD". Also remove the accidental treatment of 'LIBKSE' as an "old style" knob.
Submitted by: ru Approved by: re(kensmith)
|
#
172491 |
|
09-Oct-2007 |
obrien |
Repo copy libpthreads to libkse. This introduces the WITHOUT_LIBKSE nob, and changes WITHOUT_LIBPTHREADS to mean with neither threading libs. Approved by: re(kensmith)
|
#
172405 |
|
01-Oct-2007 |
ru |
Revise the list of directories we manually create under ${WORLDTMP} and ${LIB32TMP}; some of them are no longer needed, and some were never needed.
Approved by: re (kensmith)
|
#
172403 |
|
01-Oct-2007 |
ru |
Always install libpthread.* symlinks if at least one of the threading libraries is built. This simplifies the logic in makefiles that need to check if the pthreads support is present. It also fixes a bug where we would build a threading library that we shouldn't have built: for example, building with WITHOUT_LIBTHR and the default value of DEFAULT_THREADING_LIB (libthr) would mistakenly build the libthr library, but not install it.
Approved by: re (kensmith)
|
#
171340 |
|
10-Jul-2007 |
delphij |
Add sed(1) to cross tools. We do want newly built version during buildworld.
Approved by: re (rwatson)
|
#
170005 |
|
26-May-2007 |
ru |
lex(1) no longer installs headers into GCC-internal dirs (since src/usr.bin/lex/Makefile,v 1.20).
|
#
169778 |
|
19-May-2007 |
des |
Revision 1.576 removed too much. I didn't notice because my /usr is on ZFS, which doesn't support flags...
|
#
169717 |
|
19-May-2007 |
kan |
GCC will now properly link libc with all shared objects in order to record their dependency on libc and its versioned symbols. For that to work, libc needs to be built before any other shared library that might depend on it. Add necessary glue to make that happen.
|
#
169621 |
|
16-May-2007 |
des |
Don't use a subshell where it isn't needed.
Noticed by: John E Hein <jhein@timing.com>
|
#
169597 |
|
16-May-2007 |
des |
Expose all of {check,delete}-old{,-dirs,-files,-libs}.
MFC after: 3 weeks
|
#
169596 |
|
16-May-2007 |
des |
Remove stray comment which broke delete-old-dirs.
|
#
169595 |
|
16-May-2007 |
des |
Partially revert the check-old / delete-old modifications to clarify the logic.
Apply similar modifications to {check,delete}-old-dirs, which I had overlooked.
|
#
169552 |
|
14-May-2007 |
des |
Restore previous behaviour of aborting delete-old* if rm failed.
Pointed out by: netchild MFC after: 3 weeks
|
#
169531 |
|
13-May-2007 |
des |
Greatly speed up {check,delete}-old* by replacing make loops with sh loops.
MFC after: 3 weeks
|
#
169524 |
|
13-May-2007 |
deischen |
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.
|
#
168818 |
|
17-Apr-2007 |
pjd |
Link libzpool, ztest and zdb against libpthread.
Requested by: ru
|
#
168409 |
|
06-Apr-2007 |
pjd |
Connect ZFS to the build.
|
#
167359 |
|
09-Mar-2007 |
rafan |
Enable ncurses wide character support
Approved by: delphij (mentor) Tested by: kris on pointyhat (early version), current@
|
#
167146 |
|
01-Mar-2007 |
ru |
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
|
#
167117 |
|
28-Feb-2007 |
ru |
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
|
#
167067 |
|
27-Feb-2007 |
des |
Clean the lib32 object directory with cleandir rather than rm -rf.
Discussed with: ru MFC after: 2 weeks
|
#
166131 |
|
20-Jan-2007 |
rafan |
Switch to new ncurses build glue
Approved by: delphij
|
#
164685 |
|
27-Nov-2006 |
ru |
There was a timeframe where crunchgen(1) was broken; force an upgrade during the build so those who are affected can build world again.
|
#
164249 |
|
13-Nov-2006 |
ru |
There doesn't seem to be a real reason for include/ to be installed so early.
|
#
163446 |
|
16-Oct-2006 |
jb |
Add sun4v to the TARGET_ARCH when just TARGET is set (like pc98 is done).
This is required for 'make universe'.
|
#
163148 |
|
09-Oct-2006 |
kmacy |
buildworld fixes for sun4v not sure why pmap.c is included as it is unchanged
Approved by: rwatson (mentor) Reviewed by: jmg
|
#
163102 |
|
07-Oct-2006 |
ru |
Shuffle _*_libs assigments (no functional changes).
|
#
163099 |
|
07-Oct-2006 |
ru |
- 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.
|
#
162146 |
|
08-Sep-2006 |
ru |
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.
|
#
162127 |
|
07-Sep-2006 |
ru |
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.
|
#
162123 |
|
07-Sep-2006 |
ru |
Added timestamping to buildworld, similar to buildkernel.
|
#
162113 |
|
07-Sep-2006 |
ru |
- Rewrite logic to guess TARGET_ARCH/TARGET to be more readable, but without changes in behavior.
- Add sanity checking for TARGET_ARCH/TARGET.
|
#
162104 |
|
07-Sep-2006 |
imp |
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.
|
#
161580 |
|
24-Aug-2006 |
imp |
Always make obj when building the libraries. This never hurts, and helps some cross-architecture building tool installation patches that I'm developing.
|
#
161526 |
|
22-Aug-2006 |
ru |
Remove alpha left-overs.
|
#
161119 |
|
09-Aug-2006 |
netchild |
Remove sade from build-tools, the tinderbox problem should be fixed now.
|
#
161110 |
|
09-Aug-2006 |
nyan |
Add the sade to build-tools list. This fixes a tinderbox.
|
#
160923 |
|
02-Aug-2006 |
netchild |
Fix doxygen target.
Submitted by: "Alexander Mogilny" <sg@astral.ntu-kpi.kiev.ua> Pointy hat to: netchild
|
#
159353 |
|
06-Jun-2006 |
imp |
Also need to quote values so they can be passed on correctly.
|
#
159349 |
|
06-Jun-2006 |
imp |
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.
|
#
158962 |
|
26-May-2006 |
netchild |
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
|
#
158687 |
|
17-May-2006 |
phk |
Send the pcvt(4) driver off to retirement.
|
#
157336 |
|
31-Mar-2006 |
ru |
Sort bootstrap-tools entries.
|
#
157291 |
|
30-Mar-2006 |
ru |
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
|
#
156905 |
|
20-Mar-2006 |
ru |
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.
|
#
156881 |
|
19-Mar-2006 |
mux |
Change the default SUP command to use csup instead of CVSup for "make update" when SUP_UPDATE is defined.
|
#
156854 |
|
18-Mar-2006 |
ru |
Convert NO_PROFILE and NO_LIB32 to new style.
|
#
156840 |
|
18-Mar-2006 |
ru |
Add the new "showconfig" target that displays build configuration.
Suggested by: phk
|
#
156813 |
|
17-Mar-2006 |
ru |
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)
|
#
156764 |
|
16-Mar-2006 |
ru |
When building for pc98, don't create stray objects in the usr.sbin/pcvt/keycap source directory.
Found by: phk MFC after: 3 days
|
#
156493 |
|
09-Mar-2006 |
keramida |
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
|
#
156060 |
|
27-Feb-2006 |
ru |
Detect that the "audit" group is missing earlier during install.
|
#
155818 |
|
18-Feb-2006 |
netchild |
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.
|
#
153975 |
|
02-Jan-2006 |
dfr |
Revert the previous change - the lib32 build should work now.
|
#
153968 |
|
02-Jan-2006 |
dfr |
Temporarily disable the kerberos5 lib32 build while I try to fix it properly.
|
#
153838 |
|
29-Dec-2005 |
dfr |
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)
|
#
153220 |
|
07-Dec-2005 |
obrien |
Use cross-compile friendly spelling of CPUTYPE.
Submitted by: ru
|
#
153210 |
|
07-Dec-2005 |
ru |
Style, no functional changes.
|
#
153206 |
|
07-Dec-2005 |
obrien |
SSE2 comes thru the users choice of CPUTYPE.
|
#
153205 |
|
07-Dec-2005 |
obrien |
Default to producing 'k8' COMPAT_32BIT bits, but allow override.
|
#
153181 |
|
06-Dec-2005 |
imp |
Back out my sh -> ${SHELL} change, since it will be a few days before I can fix it better.
Requested by: ru@
|
#
153041 |
|
03-Dec-2005 |
ambrisko |
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)
|
#
153002 |
|
02-Dec-2005 |
ambrisko |
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 ...
|
#
152986 |
|
01-Dec-2005 |
imp |
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.
|
#
152785 |
|
25-Nov-2005 |
ru |
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.
|
#
152693 |
|
22-Nov-2005 |
ru |
Unbreak installworld.
|
#
152680 |
|
22-Nov-2005 |
ru |
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).
|
#
152679 |
|
22-Nov-2005 |
ru |
Fold some common stuff into a macro ${KMAKE}.
|
#
152602 |
|
19-Nov-2005 |
ru |
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
|
#
152339 |
|
12-Nov-2005 |
ru |
Speed up stale catpages hunting by not running sed(1) for every catpage.
|
#
152338 |
|
12-Nov-2005 |
ru |
Don't check DESTDIR when making distributeworld; the latter expects DISTDIR.
Reported by: nyan
|
#
152285 |
|
10-Nov-2005 |
ru |
Add missing shared library interdependencies.
|
#
152156 |
|
07-Nov-2005 |
ru |
Require DESTDIR to be set when installing for a different architecture.
|
#
152006 |
|
03-Nov-2005 |
ru |
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.
|
#
151510 |
|
20-Oct-2005 |
ru |
Force an upgrade to Groff 1.19.2.
|
#
149386 |
|
23-Aug-2005 |
brian |
Fix a couple of typos
|
#
149319 |
|
20-Aug-2005 |
netchild |
Fix the "unexpected operator" bug some people are seeing.
First noticed by: kris
|
#
148826 |
|
07-Aug-2005 |
netchild |
Remove cat-pages without corresponding man-pages.
|
#
148766 |
|
05-Aug-2005 |
ru |
- clean ${LIB32TMP} in _worldtmp - clean ${OBJTREE}/lib32 in _cleanobj - ensure that ${WORLDTMP} exists in build32
|
#
148685 |
|
03-Aug-2005 |
ru |
- Remove duplicate setting from LIB32MAKE definition. - Install lib32 bits using the real install(1) program.
|
#
148683 |
|
03-Aug-2005 |
ru |
Make delete-old* and friends useable for cross-builds.
|
#
148571 |
|
30-Jul-2005 |
netchild |
- 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.
|
#
148558 |
|
30-Jul-2005 |
des |
Enforce the native environment requirement for {check,delete}-old-* at run time, not parse time. This unbreaks cross-builds.
Pointy hat to: netchild
|
#
148543 |
|
29-Jul-2005 |
netchild |
- 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)
|
#
148389 |
|
25-Jul-2005 |
des |
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
|
#
148330 |
|
23-Jul-2005 |
netchild |
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)
|
#
148051 |
|
15-Jul-2005 |
ru |
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.)
|
#
147804 |
|
07-Jul-2005 |
kan |
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
|
#
147425 |
|
16-Jun-2005 |
ru |
Provide 32-bit runtime support on amd64 as a separate distribution, lib32.
Prodded by: obrien Nodded by: peter Approved by: re
|
#
147049 |
|
06-Jun-2005 |
ru |
Allow to override the compiler, linker, and assembler used to build 32-bit shim libraries on amd64.
|
#
146816 |
|
31-May-2005 |
ru |
Add install-info to the list of install tools now that we don't always bootstrap texinfo.
Reported by: scottl
|
#
146524 |
|
23-May-2005 |
ru |
Stop redundantly rebuilding texinfo on the next __FreeBSD_version bump.
|
#
145781 |
|
01-May-2005 |
imp |
Remove lame and ineffectual attempt to fix ipf breakage of tenderbox.
|
#
145709 |
|
30-Apr-2005 |
imp |
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.
|
#
144701 |
|
06-Apr-2005 |
peter |
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.
|
#
144699 |
|
06-Apr-2005 |
peter |
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.
|
#
144192 |
|
27-Mar-2005 |
ru |
Fix AMD64 cross-builds when WITH_LIB32 is defined.
(Initially spotted by kris@ on RELENG_5.)
|
#
143984 |
|
22-Mar-2005 |
ru |
Protect against DESTDIR being set during the build of build32.
Reported by: pav
|
#
143044 |
|
02-Mar-2005 |
ru |
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.)
|
#
142838 |
|
28-Feb-2005 |
ru |
Bootstrap pwd_mkdb(8) and use its new feature during "make distribute".
|
#
142766 |
|
28-Feb-2005 |
obrien |
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.
|
#
142757 |
|
28-Feb-2005 |
ru |
Unbreak buildworld.
|
#
142686 |
|
27-Feb-2005 |
ru |
Make the format of LC_COLLATE files architecture independent.
|
#
142683 |
|
27-Feb-2005 |
ru |
Bootstrap gencat(1).
OK'ed by: phantom
|
#
142644 |
|
27-Feb-2005 |
ru |
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.
|
#
142643 |
|
27-Feb-2005 |
ru |
Make it clear we no longer support source upgrades from versions prior to 5.3.
|
#
142642 |
|
27-Feb-2005 |
ru |
Add missing continuation.
|
#
142640 |
|
27-Feb-2005 |
ru |
As threatened, drop support for source upgrades from pre-5.3.
Inspired by: obrien
|
#
142585 |
|
26-Feb-2005 |
ru |
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
|
#
142582 |
|
26-Feb-2005 |
ru |
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.)
|
#
142262 |
|
22-Feb-2005 |
ru |
Add endianness support to cap_mkdb(1), useful for cross builds.
|
#
142077 |
|
19-Feb-2005 |
ru |
Add lorder(1) to the list of bootstrap-tools.
|
#
142076 |
|
19-Feb-2005 |
ru |
Allow to cross-build amd64 on non-i386.
|
#
140509 |
|
20-Jan-2005 |
ru |
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
|
#
139412 |
|
29-Dec-2004 |
obrien |
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.
|
#
139212 |
|
22-Dec-2004 |
ru |
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".
|
#
139122 |
|
21-Dec-2004 |
ru |
NOCLEAN -> NO_CLEAN NOCLEANDIR -> NO_CLEANDIR
|
#
139120 |
|
21-Dec-2004 |
ru |
NOSHARE -> NO_SHARE
|
#
139119 |
|
21-Dec-2004 |
ru |
NOHTML -> NO_HTML
|
#
139114 |
|
21-Dec-2004 |
ru |
NOGAMES -> NO_GAMES
|
#
139113 |
|
21-Dec-2004 |
ru |
NOCRYPT -> NO_CRYPT
|
#
139112 |
|
21-Dec-2004 |
ru |
NOSHARED -> NO_SHARED
|
#
139111 |
|
21-Dec-2004 |
ru |
NOFSCHG -> NO_FSCHG
|
#
139106 |
|
21-Dec-2004 |
ru |
NODOCCOMPRESS -> NO_DOCCOMPRESS NOINFO -> NO_INFO NOINFOCOMPRESS -> NO_INFOCOMPRESS NOLINT -> NO_LINT NOPIC -> NO_PIC NOPROFILE -> NO_PROFILE
|
#
139104 |
|
21-Dec-2004 |
ru |
NOLIBC_R -> NO_LIBC_R NOLIBPTHREAD -> NO_LIBPTHREAD NOLIBTHR -> NO_LIBTHR
|
#
139103 |
|
21-Dec-2004 |
ru |
Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by: core
|
#
138965 |
|
17-Dec-2004 |
ru |
Minor tweaks in "make update" comments.
|
#
138291 |
|
01-Dec-2004 |
peter |
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.
|
#
138008 |
|
23-Nov-2004 |
ru |
Hopefully fix the "aicasm" build-tool issue when using ${KERNSRCDIR} different from ${.CURDIR}.
Reported by: jhb
|
#
137951 |
|
20-Nov-2004 |
peter |
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!
|
#
137716 |
|
15-Nov-2004 |
peter |
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.
|
#
137675 |
|
13-Nov-2004 |
bz |
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
|
#
137612 |
|
12-Nov-2004 |
ru |
Show stray files during "cvs update".
|
#
137560 |
|
10-Nov-2004 |
peter |
Ruslan told me I should have quoted the arch strings when comparing to MACHINE_ARCH. Belatedly get around to doing it.
|
#
137558 |
|
10-Nov-2004 |
peter |
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.
|
#
137288 |
|
06-Nov-2004 |
peter |
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.
|
#
136910 |
|
24-Oct-2004 |
ru |
For variables that are only checked with defined(), don't provide any fake value.
|
#
136407 |
|
11-Oct-2004 |
peter |
Catch another gcc-3.3 c++ include path reference and update it to 3.4.
|
#
135851 |
|
27-Sep-2004 |
dougb |
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
|
#
135553 |
|
21-Sep-2004 |
ru |
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
|
#
135549 |
|
21-Sep-2004 |
des |
Switch from BIND 8 to BIND 9.
Submitted by: (in part) dougb@, trhodes@ Reviewed by: dougb@, trhodes@, re@ MFC after: 5 days
|
#
134903 |
|
07-Sep-2004 |
imp |
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
|
#
134343 |
|
26-Aug-2004 |
paul |
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.
|
#
134311 |
|
25-Aug-2004 |
ru |
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.
|
#
134279 |
|
24-Aug-2004 |
paul |
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.
|
#
133956 |
|
18-Aug-2004 |
ru |
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.
|
#
133942 |
|
18-Aug-2004 |
ru |
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.
|
#
133873 |
|
16-Aug-2004 |
ru |
sys/boot seems to compile fine on Alpha; unbreak ``make release''.
Prodded by: re-alpha (wilko)
|
#
133507 |
|
11-Aug-2004 |
harti |
Ensure that a new gensnmptree is built. This should fix the problems with the snmp_atm module.
|
#
133483 |
|
11-Aug-2004 |
ru |
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.
|
#
133433 |
|
10-Aug-2004 |
harti |
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
|
#
133376 |
|
09-Aug-2004 |
harti |
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)
|
#
133368 |
|
09-Aug-2004 |
obrien |
The file(1) related build-tool moved to libmagic.
|
#
132751 |
|
28-Jul-2004 |
kan |
Bmake glue for GCC 3.4.2-prerelease.
|
#
131795 |
|
08-Jul-2004 |
harti |
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.
|
#
130628 |
|
17-Jun-2004 |
obrien |
Third time's a charm?? (the logic was reversed from desired) Time for sleep...
Submitted by: ru
|
#
130624 |
|
17-Jun-2004 |
obrien |
Grrr, use the userland spelling not the kernel tree spelling.
|
#
130621 |
|
17-Jun-2004 |
obrien |
Fall out from Binutils 2.15: disable building the Alpha loader.
|
#
129342 |
|
17-May-2004 |
ru |
Allow buildworld and friends to complete when make(1) is called with some debug flags (-d).
Noticed by: Gleb Smirnoff
|
#
129174 |
|
13-May-2004 |
ru |
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
|
#
129148 |
|
12-May-2004 |
ru |
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.
|
#
128684 |
|
27-Apr-2004 |
ru |
- 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
|
#
128234 |
|
14-Apr-2004 |
harti |
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.
|
#
128189 |
|
13-Apr-2004 |
des |
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
|
#
127360 |
|
24-Mar-2004 |
ru |
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
|
#
127207 |
|
19-Mar-2004 |
ru |
Removed 3x2 dots I don't like. ;)
|
#
127202 |
|
19-Mar-2004 |
ru |
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
|
#
127166 |
|
18-Mar-2004 |
ru |
Comment various stages of buildkernel, symmetrical to buildworld.
|
#
126976 |
|
14-Mar-2004 |
ru |
Don't scare non-root users attempting to build world.
|
#
126921 |
|
13-Mar-2004 |
ru |
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
|
#
126876 |
|
12-Mar-2004 |
ru |
Hide internal implementation details of UID/GID checks from the user.
|
#
126875 |
|
12-Mar-2004 |
ru |
Use find(1) instead of ``pw groupshow'' to detect missing groups. Restore checks for recently added PF groups.
Reviewed by: mlaier
|
#
126867 |
|
12-Mar-2004 |
gshapiro |
Use 'pw groupshow' instead of 'id -g' to see if a group exists.
PR: 64073 Submitted by: jhb MFC after: 5 days
|
#
126829 |
|
11-Mar-2004 |
mlaier |
Back out id -g checks as they are wrong (sendmail group untouched).
Requested by: dwhite Approve by: dwhite
|
#
126815 |
|
10-Mar-2004 |
mlaier |
Add installcheck for proxy:proxy and authpf.
Suggested by: ru Approved by: bms(mentor)
|
#
126664 |
|
05-Mar-2004 |
gad |
Reword two more lines to avoid wrapping.
|
#
126612 |
|
04-Mar-2004 |
gad |
Minor stylistic improvements in the SPECIAL_INSTALLCHECKS section, mainly to reduce the number of wrapped lines.
Suggested by: bde
|
#
126584 |
|
04-Mar-2004 |
bde |
Improved the description of the installkernel targets.
Don't hide what we do to force failures for the installkernel targets or other targets.
|
#
126561 |
|
03-Mar-2004 |
gad |
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
|
#
125789 |
|
13-Feb-2004 |
ru |
Drop directory existence checks.
OK'ed by: bde
|
#
125261 |
|
31-Jan-2004 |
ru |
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
|
#
124873 |
|
23-Jan-2004 |
harti |
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
|
#
124831 |
|
22-Jan-2004 |
ru |
- Run makewhatis(1) in etc/Makefile at the end of "install". - Removed redundant and undocumented NO_MAKEDB_RUN knob.
|
#
124603 |
|
17-Jan-2004 |
ru |
Create ${WORLDTMP}/legacy/usr/include/c++/3.3 for usr.bin/lex.
|
#
124592 |
|
16-Jan-2004 |
ru |
lex(1) prior to flex.skl,v 1.8 and gen.c,v 1.7 requires bootstrapping.
Prodded by: nectar
|
#
124544 |
|
15-Jan-2004 |
ru |
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.
|
#
123309 |
|
09-Dec-2003 |
gad |
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
|
#
122813 |
|
16-Nov-2003 |
gordon |
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
|
#
122568 |
|
12-Nov-2003 |
harti |
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
|
#
122400 |
|
10-Nov-2003 |
harti |
Make two directories under usr/share/bsnmp that are needed during library build to install tree definition files and MIBS.
Okay'ed by: ru
|
#
121979 |
|
03-Nov-2003 |
ru |
Don't be so chatty about building includes.
|
#
120760 |
|
04-Oct-2003 |
ru |
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
|
#
120120 |
|
16-Sep-2003 |
ru |
Help those attempting to upgrade from static to dynamic root.
|
#
120102 |
|
15-Sep-2003 |
ru |
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).
|
#
119846 |
|
07-Sep-2003 |
ru |
- 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
|
#
119645 |
|
01-Sep-2003 |
scottl |
Clarify the numbering of some of the build stages.
|
#
119580 |
|
30-Aug-2003 |
ru |
Revert rev. 1.378, and restore the correct arithmetic expression syntax. The
make buildworld mv /usr/include /usr/include.old make installworld
issue has been fixed a month ago in Makefile,v 1.285, and there is no valid reason to continue to keep the wrong syntax here -- buildworld takes care of upgrading a make for you if necessary. But if you find yourself in an environment with an old make(1) binary that breaks on this, and this is because you attempted to run a target other than buildworld, don't whine but try again with -DALWAYS_CHECK_MAKE defined -- it should do the trick. Otherwise, if you still have a problem, please report it as a bug and attach the ``make -dl ...'' output.
Reviewed by: marcel
|
#
119537 |
|
28-Aug-2003 |
marcel |
Remove the AFM (Anti-Footshooting Measure) added when we split the 5.x signal code from the 4.x signal code. The split happened in Oct 2002 and we have had 2 releases since then. A kernel older than 5.0-R cannot reasonably be called a -current kernel anymore.
This does not break upgrading from an 10 month older kernel. It just makes it more exiting.
|
#
119496 |
|
27-Aug-2003 |
imp |
OSRELDATE should fallback to 'unknown' rather than the kernel that's booted on this machine. This is a slightly better default to use.
Requested by: ru
|
#
119464 |
|
25-Aug-2003 |
imp |
Add @ before the shell invocation for the testing of sufficiently new sh. No need to see this message twice.
|
#
119456 |
|
25-Aug-2003 |
imp |
Fall back to using the kernel version for the OSRELDATE when /usr/include/osreldate.h doesn't exist on the system. While this could be worked around by saying something like 'make includes OSLRELDATE=0' when this file doesn't exist, it is just as easy to provide a fallback when the file we know we depend on doesn't exist. While this doesn't make all targets work w/o a /usr/include/osreldate.h, because some of the FreeBSD bootstrap tools use this file. 'make includes' however does work.
Noticed by: peter, obrien (and likely others) Pointy hat to: imp (for suggesting a method that depended on /usr/include)
|
#
119012 |
|
17-Aug-2003 |
gordon |
In preparation for libraries being installed in /lib, add lib to the list of build directories during the tool creation phase of the build.
|
#
117976 |
|
24-Jul-2003 |
markm |
Don't lint(1) so early in the build. Its OK to keep this for the "make all" phase.
|
#
117555 |
|
14-Jul-2003 |
gordon |
Apparently we prefer underscores in new options. Sorry for the churn folks.
Requested by: obrien
|
#
117450 |
|
11-Jul-2003 |
gordon |
Forgot that the rescue subdir needs to be a conditional for the build-tools bit.
|
#
117449 |
|
11-Jul-2003 |
gordon |
Turn rescue back on, conditional to NORESCUE. We seem to be split on using underscores or not, so I just randomly picked a style. I think I have the logic correct, but if someone wants to give it a once over that would be good.
Tim submitted a patch to fix the cross-building issues which I tested with a tinderbox run for sparc64.
Submitted by: Tim Kientzle <kientzle@acm.org>
|
#
117376 |
|
10-Jul-2003 |
kris |
Correct makefile syntax error in r1.375.
|
#
117322 |
|
08-Jul-2003 |
obrien |
Style nit.
|
#
117293 |
|
06-Jul-2003 |
gshapiro |
Use 'id' instead of 'grep' to detect the presence of the smmsp user/group. This fixes the check for users with smmsp in NIS instead of their local files.
Suggested by: peter MFC after: 5 days
|
#
117229 |
|
04-Jul-2003 |
ru |
Fixed style bugs related to parentheses in Makefile.inc1.
Submitted by: bde
Fixed nearby bug: propagate the root Makefile's idea of the appropriate "make" binary down to release/Makefile.
|
#
117177 |
|
02-Jul-2003 |
gordon |
More NO_RESCUE to RESCUE transitions.
Submitted by: ru
|
#
117140 |
|
01-Jul-2003 |
gordon |
Switch the logic on the /rescue bits from NO_RESCUE to RESCUE, at least until there is a fix for cross building available.
|
#
117112 |
|
01-Jul-2003 |
ru |
Put rescue/ into a correct slot in the SUBDIR list. Sort bootstrap-, build-, and cross-tools lists, reformat lists for easier maintenance.
Submitted by: bde, ru
|
#
117110 |
|
01-Jul-2003 |
ru |
Only bootstrap crunchide(1) and build crunchgen(1) when necessary. The latter needs to be built either if it's used as a cross-tool (${TARGET_ARCH} != ${MACHINE_ARCH}) or if it has backward compat issues, like e.g. lack of the AMD64 support.
|
#
117064 |
|
30-Jun-2003 |
gordon |
Do the deed and hookup /rescue to the build. As a result, always build crunchgen and crunchide as cross-tools.
Submitted by: Tim Kientzle <kientzle@acm.org>
|
#
116939 |
|
28-Jun-2003 |
smkelly |
- Fix a typo.
PR: bin/53864 Submitted by: Lukas Ertl <l.ertl@univie.ac.at> Approved by: jeff (mentor)
|
#
116679 |
|
22-Jun-2003 |
simokawa |
Allow installkernel.debug and reinstallkernel.debug.
|
#
116343 |
|
14-Jun-2003 |
imp |
Minor tweaks to the build process so that we can build 5.1-current on 4.8-stable:
Must build lib/libc before libpthread. Fix how we do this to be more consistant with how lists are handled in the file. Also, don't bother to prebuild libc if we're not building libpthread.
Submitted by: ru@ Reviewed by: bde@ (before ru@ submitted it)
|
#
116335 |
|
14-Jun-2003 |
des |
Do not bogusly set CSTD to the empty string.
|
#
116005 |
|
08-Jun-2003 |
imp |
Add lib/libc to list of _prebuild_libs because we need the target built libc_pic.a for libkse.
# This should finally fix the build on 4.x
Submitted by: kan
|
#
115968 |
|
07-Jun-2003 |
imp |
When boot strapping from older systems, don't specify a C standard in the bootstrap process. This allows one to more completely build from a -stable box.
Reviewed by: ru@ (briefly)
|
#
115574 |
|
31-May-2003 |
obrien |
Wrap gperf & groff wth NO_CXX.
|
#
115219 |
|
21-May-2003 |
ru |
Unbreak world build if NO_OPENSSL is defined but NO_KERBEROS is not.
Submitted by: Marius Strobl <marius@alchemy.franken.de> Approved by: re (jhb)
|
#
115157 |
|
19-May-2003 |
des |
Retire the useless NOSECURE knob.
Approved by: re (scottl)
|
#
115141 |
|
18-May-2003 |
ru |
Unbreak parallel make of _includes after revision 1.356 changes.
Spotted by: bde Approved by: re (scottl)
|
#
115122 |
|
18-May-2003 |
ru |
-lbsdxml lives in lib/libexpat. *Blush*
Submitted by: tmm (Makefile.inc1)
|
#
115120 |
|
17-May-2003 |
ru |
Unbreak world: record libgeom dependency on libbsdxml here too.
Forgotten by: ru Submitted by: des Verified by: tools/make_libdeps.sh Approved by: re (scottl) (related change)
|
#
115034 |
|
15-May-2003 |
ru |
Use the installed world's idea of OSRELDATE rather than the kernel. This was the initial intent anyway, and it became clear that it is really necessary to treat it this way, as many people happen to run with kernel newer than the installed world.
Submitted by: imp, ru Approved by: re (scottl)
|
#
114731 |
|
05-May-2003 |
bde |
Install symlinks to individual headers instead of symlinks to directories in the SHARED=symlinks case. Symlinks to directories only work if all the the necessary headers are in 1 directory, but the necessary headers are scattered for at least ipfilter headers in <netinet>. This change also avoids polluting /usr/include with non-headers; the /usr/include hierarchy is now independent of the setting of SHARED.
Submitted by: ru (edited to fix netgraph/bluetooth/include and machine/pc) PR: 44148
|
#
114719 |
|
05-May-2003 |
markm |
Negate the logic of MAKE_KERBEROS5, and replace it with NO_KERBEROS.
|
#
114634 |
|
04-May-2003 |
imp |
Many developers run with userland != to kernel. While this isn't supported, it usually works for months at a time. Allow these people to override the OSRELDATE of their installed world when things don't match and the exact OSRELDATE matters and is different than the kernel. Now that Makefile.inc1 depends more and more about which date you have to optimize the pieces it builds, it may be necessary to pessimize things if its guesses are wrong.
If OSRELDATE is already set, we won't fork the sysctl to find out what the kernel's date is.
Developers on IRC suggested that they run mismatches all the time as well.
Reviewed by: obrien
|
#
114458 |
|
01-May-2003 |
ru |
For the time being, upgrade the whole Groff (to version 1.19), but stop doing so again on the next __FreeBSD_version bump.
|
#
114292 |
|
30-Apr-2003 |
ru |
Restore the ordering of NO's and remove one redundant NOLINT.
Reviewed by: markm
|
#
114288 |
|
30-Apr-2003 |
markm |
Fix "make world" for the WANT_LINT case. The various build tools must not try to lint(1) stuff at *-tools time; keep the linting for the actual build (which comes later).
|
#
114287 |
|
30-Apr-2003 |
ru |
Groff after 2002/10/15 has no known backward compatibility issues, but we always want the latest macro files.
|
#
113582 |
|
16-Apr-2003 |
jhb |
Rename KRNLSRCDIR to KERNSRCDIR and allow it to be overridden. The name change was to be consistent with other overridable variables such as KERNCONFDIR and KERNCONF.
|
#
113478 |
|
14-Apr-2003 |
ru |
kbdcontrol.c rev. 1.35 and onwards support the KEYMAP_PATH environment variable, and don't need to be bootstrapped.
|
#
113444 |
|
13-Apr-2003 |
ru |
yacc(1) with skeleton.c rev. 1.29 in HEAD and rev. 1.28.2.1 in RELENG_4, and onwards, are believed to not require bootstrapping.
|
#
113443 |
|
13-Apr-2003 |
ru |
xargs.c rev. 1.10 in HEAD and rev. 1.9.2.1 in RELENG_4, and onwards, have support for the -J option we need.
|
#
113442 |
|
13-Apr-2003 |
ru |
elf2aout.c,v 1.6 and onwards have no known backward compatibility issues.
|
#
113440 |
|
13-Apr-2003 |
ru |
uudecode.c rev. 1.23 in HEAD and rev. 1.13.2.3 in RELENG_4, and onwards, have no known backwards compatibility issues.
|
#
113439 |
|
13-Apr-2003 |
ru |
Only create directories that are really needed.
|
#
113435 |
|
13-Apr-2003 |
ru |
Install bootstrap-tools into a separate subtree of ${WORLDTMP}. This allows us to use them as early as possible while building bootstrap-, build-, and cross-tools. Some cleanups to follow.
This change resolves the gperf(1) bootstrapping issue (missing -E option) in gnu/usr.bin/cc/cc1plus while in the cross-tools stage when upgrading from 4.0-RELEASE.
|
#
113400 |
|
12-Apr-2003 |
ru |
Make sure legacy stuff comes last. Some tools that use legacy stuff (binutils) depend on this order.
For this to work, provide (and use) specialized versions of bsd.prog.mk and bsd.lib.mk that include the standard versions first, then augment CFLAGS, DPADD, LDADD, and LDFLAGS as necessary, with the legacy stuff.
Tested on: 4.0-RELEASE
|
#
113368 |
|
11-Apr-2003 |
ru |
libc_gen/basename.c depends on include/libgen.h.
|
#
113190 |
|
07-Apr-2003 |
ru |
Put back the undocumented change from rev. 1.334 too: no need to create ${WORLDTMP}/legacy/usr/include explicitly.
|
#
113189 |
|
06-Apr-2003 |
imp |
Put back parts of 1.335 and 1.336 that 1.337 accidentally backed out.
Submitted by: ru
|
#
113185 |
|
06-Apr-2003 |
imp |
-legacy and /.../legacy/... looks better than build or bootstrap in the logs, so use that instead.
Submitted by: obrien.
|
#
113184 |
|
06-Apr-2003 |
ru |
Always remove ${WORLDTMP}/build/usr/include, even in the NOCLEAN case. This way, we won't have stale compatibility headers there.
|
#
113182 |
|
06-Apr-2003 |
ru |
Moved libbuild target to where it belongs. Added a comment.
|
#
113180 |
|
06-Apr-2003 |
ru |
Fixed buildworld stages names in comments.
|
#
113157 |
|
06-Apr-2003 |
imp |
We can't use ${WORLDTMP}/usr/{include,lib} for the compat layer. This is because we populate these directories later, and a subsequent -DNOCLEAN build may fail. So, we put them in ${WORLDTMP}/build/usr/{include,lib} instead and adjust Makefile.boot.
Again, this works on -stable and -current, but might break older versions.
Submitted by: ru@
|
#
113136 |
|
05-Apr-2003 |
imp |
Migrate to a new way of dealing with building from old revisions of FreeBSD. This method attempts to centralize all the necessary hacks or work arounds in one of two places in the tree (src/Makefile.inc1 and src/tools/build). We build a small compatibility library (libbuild.a) as well as selectively installing necessary include files. We then include this directory when building host binaries.
This removes all the past release compatibilty hacks from various places in the tree. We still build on tip of stable and current. I will work with those that want to support more, although I anticipate it will just work.
Many thanks to ru@, obrien@ and jhb@ for providing valuable input at various stage of implementation, as well as for working together to positively effect a change for the better.
|
#
113099 |
|
04-Apr-2003 |
imp |
Diff reduction with my p4 changes:
Add @ before ${ECHODIR} where appropriate because we don't need to echo the echo command... This gets rid of extra echo ===> in log files...
|
#
112937 |
|
01-Apr-2003 |
ru |
Parallelize (on the top-level SUBDIR list) the "all" stage of buildworld. This gives 5-11% percent gain in real buildworld times on various UP and SMP systems here. I used 4 * hw.ncpu as an argument to "make -j" in my tests.
|
#
112936 |
|
01-Apr-2003 |
ru |
Pass NO_WARNS to the build-tool stage too; -Wsystem-headers isn't known to the 4.x system compiler.
|
#
112869 |
|
31-Mar-2003 |
ru |
Enable cpp(1) warnings in system headers. GCC is oriented on glibc which is externally maintained, so GCC ships with these warnings turned off by default. This is also consistent with the src/contrib/gcc/c-lex.c,v 1.2 change.
|
#
112868 |
|
31-Mar-2003 |
ru |
Slightly improve buildworld times by excluding crunchide(1) and kgzip(8) from the list of cross-tools during the normal, non-"make release" buildworld.
Also, don't gratuitously build them, btxld(8) and elf2aout(1) for native architecture builds, since they have no known boostrapping issues along the supported upgrade path.
Prodded by: peter
|
#
112089 |
|
11-Mar-2003 |
ru |
Convert kgzip(8) to be an i386 cross-tool. This is needed for cross-releasing i386 on different architectures. This version provides an i386 version of <a.out.h>, and handles endianness.
Tested on: alpha, sparc64
|
#
111984 |
|
08-Mar-2003 |
markm |
KerberosIV de-orbit burn continues. Disconnect from "make world".
|
#
111947 |
|
06-Mar-2003 |
ru |
With CVS_UPDATE, use read-only repository mode by default.
|
#
111873 |
|
04-Mar-2003 |
ru |
Doh, committed to the wrong branch.
Spotted by: johan
|
#
111862 |
|
04-Mar-2003 |
ru |
MFC: Ship with /etc/login.conf hashed.
Approved by: re
|
#
111810 |
|
03-Mar-2003 |
ru |
Make sure the default install comes with /etc/login.conf hashed.
|
#
111795 |
|
03-Mar-2003 |
ru |
Catch up with sys/conf/kern.post.mk,v 1.39 -- we can now use plain ${CLEANDIR} to clean kernel and modules. This has an additional nicety of respecting NOCLEANDIR.
|
#
111439 |
|
24-Feb-2003 |
ru |
Ensure that build-tools end up in the object directory different from the source directory. (This mostly affects the RELENG_4's ``make release'' release.5 target, where "rtermcap" build-tool for release/sysinstall ends up in the source directory and later steps of release.5 wipe it out.)
Spotted by: jhay
|
#
111212 |
|
21-Feb-2003 |
ru |
Respect ``makeoptions NO_MODULES'' specified in the kernel config file.
|
#
110722 |
|
11-Feb-2003 |
trhodes |
Add -DNOMAN to the list.
|
#
110485 |
|
07-Feb-2003 |
jkoshy |
Catch typos in the kernel name specified for an "installkernel" invocation early on, rather than failing later with an obscure error message.
Make error messages appear consistent.
|
#
110312 |
|
04-Feb-2003 |
phk |
Don't attempt buildworld if the path to the source-tree contains a comma.
Can be removed if the underlying issue is fixed.
Submitted by: Flemming Jacobsen <fj@batmule.dk>
|
#
108439 |
|
30-Dec-2002 |
obrien |
Move elf2aout back to /usr/bin -- it is a general development tool, not a sysadmin tool.
|
#
107515 |
|
02-Dec-2002 |
ru |
For installkernel, use the fresh tools (if we've built them with buildworld).
Reviewed by: imp, marcel Approved by: re (rwatson)
|
#
106921 |
|
14-Nov-2002 |
ru |
Make dynamic PAM modules depend on dynamic PAM library.
Requested by: des, markm
|
#
106852 |
|
13-Nov-2002 |
ru |
Take __FreeBSD_version into account when BOOTSTRAPPING.
|
#
106389 |
|
03-Nov-2002 |
scottl |
Hook the aic7xxx modules up. This requires some extra care since aicasm is a compiler tool and needs to be compiled by the host compiler. I've tested this in i386->sparc cross-build, 4.7->current upgrade, normal buildkernel target, and normal /sys/i386/compile/GENERIC configurations.
Submitted by: ru
|
#
106079 |
|
28-Oct-2002 |
ru |
Emptify.
|
#
106014 |
|
27-Oct-2002 |
peter |
DISTDIR is used by 'make release', lets see if this is enough to turn off the execution test.
|
#
105953 |
|
25-Oct-2002 |
peter |
Provide a bit of anti-foot-shooting protection. Make sure that in the non-cross cases without DESTDIR, that the bin/sh that we're about to install works. Otherwise, a 'make installworld' without having already rebooted with a post-signal-fix kernel is a rather big disaster when important things like /bin/sh coredump.
|
#
105680 |
|
22-Oct-2002 |
ru |
_games is gone in rev. 1.305.
|
#
105515 |
|
20-Oct-2002 |
markm |
Do not build the majority of the games. Remaining are the "utility-like" games and everyone's favourite, fortune(6).
|
#
103436 |
|
17-Sep-2002 |
peter |
Initiate deorbit burn for the i386-only a.out related support. Moves are under way to move the remnants of the a.out toolchain to ports. As the comment in src/Makefile said, this stuff is deprecated and one should not expect this to remain beyond 4.0-REL. It has already lasted WAY beyond that.
Notable exceptions: gcc - I have not touched the a.out generation stuff there. ldd/ldconfig - still have some code to interface with a.out rtld. old as/ld/etc - I have not removed these yet, pending their move to ports. some includes - necessary for ldd/ldconfig for now.
Tested on: i386 (extensively), alpha
|
#
102312 |
|
23-Aug-2002 |
johan |
Similar to bsd.subdir.mk, echo the name of the dir before doing the cd. This is done for bootstrap-tools, build-tools, cross-tools, and the libraries loop.
Reviewed by: ru Approved by: sheldonh (mentor) MFC after: 1 week
|
#
101530 |
|
08-Aug-2002 |
ru |
The intent in rev. 1.299 was to make the CPUTYPE assignment type check bother "only those who attempts to set it to a different value". This got broken in rev. 1.300 (that fixed another race).
Reported by: ache
|
#
101461 |
|
07-Aug-2002 |
ru |
Makefile.inc1 may eventually be merged with Makefile, so fix an endless recursion bug similar to the one that has been fixed in release/Makefile,v 1.698, in advance. A related fix to make(1) has been committed in make/main.c,v 1.68.
Requested by: bde (who has them merged already)
|
#
101363 |
|
05-Aug-2002 |
ru |
An empty CPUTYPE now means ``the default CPUTYPE'' in bsd.cpu.mk. If there was no CPUTYPE assignment in /etc/make.conf, this would cause the ``CPUTYPE assignment type'' check to falsely fail.
Reported by: johan
Fixed this by making sure we always pass the non-empty CPUTYPE. Also make sure we use the correct set of share/mk files in our test.
|
#
101232 |
|
02-Aug-2002 |
ru |
TARGET_CPUTYPE should exist solely in Makefile.inc1, similar to TARGET_ARCH and TARGET. This is problematic when one has the = (unconditional) type of assigment for CPUTYPE in /etc/make.conf. (This would override what was set on the command line to "make buildworld".)
Add a (horrible) kludge to Makefile.inc1 to check the type of assignment for CPUTYPE (only for those who attempts to set it to a different value). Fix an example make.conf. Fix the kernel's build-tools target (aicasm only at the moment) to catch up with bsd.cpu.mk,v 1.15 (BOOTSTRAPPING replaced with NO_CPU_CFLAGS in Makefile.inc1's BMAKE).
Reviewed by: jhb
|
#
101015 |
|
31-Jul-2002 |
jhb |
- Define NO_CPU_CFLAGS during BMAKE and TMAKE (and thus XMAKE) so that bsd.cpu.mk doesn't have to worry about compilers other than the current version. - Allow TARGET_CPUTYPE to override CPUTYPE in bsd.cpu.mk. - Treat an empty CPUTYPE the same as an undefined CPUTYPE. - For buildworld, buildkernel, etc., define TARGET_CPUTYPE to CPUTYPE for native builds and define it to be empty for cross-builds. TARGET_CPUTYPE is only defined if it is not already defined via the commandline or environment.
|
#
100643 |
|
24-Jul-2002 |
ru |
Inline ${_cxx_consumers}.
|
#
100642 |
|
24-Jul-2002 |
peter |
We're done with 1.287 and 1.288 now.
Submitted by: ru
|
#
99777 |
|
11-Jul-2002 |
ru |
Pass -DBOOTSTRAPPING to the kernel's build tool (sys/dev/aic7xxx/aicasm). This way, it has a chance to be built with gcc 2.95.x (using the bandaid in share/mk/bsd.cpu.mk,v 1.11).
Feedback timeout from: gordon
|
#
99219 |
|
01-Jul-2002 |
jmallett |
libufs does not need built before most things, after all.
Submitted by: bde, ru
|
#
99200 |
|
01-Jul-2002 |
jmallett |
Add libufs to prebuild_libs, since lots of things will want it, in time.
|
#
98548 |
|
21-Jun-2002 |
ru |
Make NO_OPENSSL actually imply NO_OPENSSH, as documented in make.conf(5).
|
#
98298 |
|
16-Jun-2002 |
sobomax |
Don't try to build libssh if NO_OPENSSL is defined because NO_OPENSSL implies NO_OPENSSH.
|
#
97930 |
|
06-Jun-2002 |
ru |
libfetch now depends on libcrypto and libssl.
|
#
97662 |
|
31-May-2002 |
ru |
On behalf of lib/compat/compat4x.i386/libusb.so.0.bz2.uu,v 1.1, added uudecode(1) to bootstrap-tools.
|
#
97622 |
|
30-May-2002 |
peter |
Ignore a c++ that is version other than 3.1 if it does not also match cc's version. libgcc.a will have been clobbered and will no longer have the old c++ support.
Submitted by: jhb
|
#
97439 |
|
29-May-2002 |
peter |
Bandaid for helping people who have a broken /usr/bin/c++ installation.
This only affects the -current early adopters and developers who have done a 'make world' in the last few weeks and as a result installed a gcc-3.1 version of /usr/bin/c++ but without the corresponding library support that this now requires. This is a temporary hack that should be deleted within a few weeks. In this case we will use the existing gperf/groff one last time around for the early stage1 bootstrap. (This isn't so bad, because we were unconditionally using the host one before)
|
#
97435 |
|
29-May-2002 |
peter |
Put on peril sensitive sunglasses and turn C++ stuff back on.
|
#
97382 |
|
28-May-2002 |
ru |
Fixed the world breakage caused by my last commit. NOMAN is defined when building bootstrap-tools.
Submitted by: jhay
|
#
97354 |
|
27-May-2002 |
ru |
Bootstrap makewhatis(1).
|
#
97279 |
|
25-May-2002 |
ru |
Move elf2aout to usr.sbin/.
Approved by: jake
|
#
96995 |
|
20-May-2002 |
ru |
Bootstrap elf2aout(1) for sparc64; used to build sys/boot/sparc64/boot1.
|
#
96868 |
|
18-May-2002 |
obrien |
Back out rev 1.278. Seems we grew a getconf(1) that requires it.
|
#
96867 |
|
18-May-2002 |
obrien |
Remove local patch that crept in.
|
#
96829 |
|
18-May-2002 |
obrien |
Don't build gperf.
|
#
96719 |
|
16-May-2002 |
markm |
Remove the perl bits from the build.
|
#
96669 |
|
15-May-2002 |
ru |
Make sure to not yet build the GNU C++, but still allow for the C++ progs to be built with e.g. an old compiler, CXX=/usr/bin/c++, for the time being.
|
#
96668 |
|
15-May-2002 |
ru |
Rename `includes' to `buildincludes'. Rename `incsinstall' to `installincludes'. Make `includes' a -j safe shortcut for `buildincludes' + `installincludes'. `buildincludes' and `installincludes' are SUBDIR friendly, if run directly.
|
#
96568 |
|
14-May-2002 |
ru |
Restore comment that got lost in revision 1.265.
|
#
96565 |
|
14-May-2002 |
ru |
Do not run `includes' and `incsinstall' in parallel.
Spotted by: jhay
Parallel worlds and releases should be working again.
|
#
96462 |
|
12-May-2002 |
ru |
Added new bsd.incs.mk which handles installing of header files via INCS. Implemented INCSLINKS (equivalent to SYMLINKS) to handle symlinking include files. Allow for multiple groups of include files to be installed, with the powerful INCSGROUPS knob. Documentation to follow.
Added standard `includes' and `incsinstall' targets, use them in Makefile.inc1. Headers from the following makefiles were not installed before (during `includes' in Makefile.inc1):
kerberos5/lib/libtelnet/Makefile lib/libbz2/Makefile lib/libdevinfo/Makefile lib/libform/Makefile lib/libisc/Makefile lib/libmenu/Makefile lib/libmilter/Makefile lib/libpanel/Makefile
Replaced all `beforeinstall' targets for installing includes with the INCS stuff.
Renamed INCDIR to INCSDIR, for consistency with FILES and SCRIPTS, and for compatibility with NetBSD. Similarly for INCOWN, INCGRP, and INCMODE.
Consistently use INCLUDEDIR instead of /usr/include.
gnu/lib/libstdc++/Makefile and gnu/lib/libsupc++/Makefile changes were only lightly tested due to the missing contrib/libstdc++-v3. I fully tested the pre-WIP_GCC31 version of this patch with the contrib/libstdc++.295 stuff.
These changes have been tested on i386 with the -DNO_WERROR "make world" and "make release".
|
#
96450 |
|
12-May-2002 |
obrien |
Quiet the peanut gallary and back out magical "breakage".
|
#
96304 |
|
10-May-2002 |
obrien |
Turn off groff and gperf -- they will not compile with the in-tree Gcc 3.1.
|
#
96271 |
|
09-May-2002 |
des |
Add rpcgen to the bootstrap tools.
|
#
96270 |
|
09-May-2002 |
obrien |
`beforeinstall' w/the csu bits is a nop.
|
#
96230 |
|
08-May-2002 |
obrien |
Build our native CSU bits before the compiler-specific ones. This helps in the compiler build.
|
#
96150 |
|
07-May-2002 |
obrien |
Make NO_CXX, really mean NO_CXX.
|
#
95830 |
|
30-Apr-2002 |
bde |
Sorted the directories in the rule for the includes target as much as possible.
|
#
95793 |
|
30-Apr-2002 |
ru |
Milestone #2 in cross-arch make releases. They now work!
You need to set TARGET_ARCH and possibly TARGET, the same way you normally do it for a cross build(7).
Renamed `distribworld' to a more natutal `distributeworld'.
Put pwd_mkdb(8) under ${INSTALLTMP}; for `distributeworld'.
|
#
95792 |
|
30-Apr-2002 |
ru |
Back out part of the revision 1.261: "etc" indeed needs to be last for "distribute" to succeed -- the "make makedb" part of the etc/Makefile:distribution target should be the last thing made.
|
#
95781 |
|
30-Apr-2002 |
ru |
Make crunchide(1) a cross-tool; needed for cross-arch "make release". Note that a.out is only supported for the non-cross i386 case.
|
#
95730 |
|
29-Apr-2002 |
ru |
Parallel "make release" fixes.
|
#
95509 |
|
26-Apr-2002 |
ru |
Milestone #1 in cross-arch make releases.
Do not install games and profiled libraries to the ${CHROOTDIR} with the initial installworld.
Eliminate the need in the second installworld. For that, make sure _everything_ is built in the "world" environment, using the right tool chain.
Added SUBDIR_OVERRIDE helper stuff to Makefile.inc1. Split the buildworld process into stages, and skip some stages when SUBDIR_OVERRIDE is set (used to build crypto, krb4, and krb5 dists).
Added NO_MAKEDB_RUN knob to Makefile.inc1 to avoid running makewhatis(1) at the end of installworld (used when making crypto, krb4, and krb5 dists).
In release/scripts/doFS.sh, ensure that the correct boot blocks are used.
Moved the creation of the "crypto" dist from release.5 to release.2.
In release.3 and doMFSKERN, build kernels in the "world" environment. KERNELS now means "additional" kernels, GENERIC is always built.
Ensure we build crunched binaries in the "world" environment. Obfuscate release/Makefile some more (WMAKEENV) to achieve this.
Inline createBOOTMFS target.
Use already built GENERIC kernel modules to augment mfsfd's /stand/modules. GC doMODULES as such.
Assorted fixes:
Get rid of the "afterdistribute" target by moving the single use of it from sys/Makefile to etc/Makefile's "distribute".
Makefile.inc1: apparently "etc" no longer needs to be last for "distribute" to succeed.
gnu/usr.bin/perl/library/Makefile.inc: do not override the "install" and "distribute" targets, do it the "canonical" way.
release/scripts/{man,cat}pages-make.sh: make sure Perl manpages and catpages appear in the right dists. Note that because Perl does not respect the MANBUILDCAT (and NOMAN), this results in a loss of /usr/share/perl/man/cat* empty directories. This will be fixed soon.
Turn MAKE_KERBEROS4 into a plain boolean variable (if it is set it means "make KerberosIV"), as documented in the make.conf(5) manpage. Most of the userland makefiles did not test it for "YES" anyway.
XXX Should specialized kerberized libpam versions be included into the krb4 and krb5 dists? (libpam.a would be incorrect anyway if both krb4 and krb5 dists were choosen.)
Make sure "games" dist is made before "catpages", otherwise games catpages settle in the wrong dist.
Fast build machine provided by: Igor Kucherenko <kivvy@sunbay.com>
|
#
95146 |
|
20-Apr-2002 |
gshapiro |
Despite the fact that it is documented in the handbook, the release notes, and UPDATING and has been posted to both freebsd-current and freebsd-stable, users are still not adding the required smmsp user and group before doing an installworld. Therefore, don't let users do an installworld unless they have followed directions.
Add a new installcheck Makefile target which installworld runs before actually starting the installation. This target can be used by other parts of userland as well. The first addition to the target is to check for the smmsp user and group if NO_SENDMAIL isn't defined.
Others may add checks to this target as they see fit.
MFC after: 1 week
|
#
94852 |
|
16-Apr-2002 |
ru |
Sort _startup_libs, _prebuild_libs, and _generic_libs lists alphabetically.
Submitted by: bde, ru
|
#
94851 |
|
16-Apr-2002 |
ru |
Keep up with lib/Makefile,v 1.64 (uhh).
|
#
94771 |
|
15-Apr-2002 |
des |
Fix incorrect ordering in previous commit.
|
#
94750 |
|
15-Apr-2002 |
des |
Add libypclnt to the prebuild library list, and record its dependency on librpcsvc.
|
#
94579 |
|
13-Apr-2002 |
des |
Add libypclnt to the includes target.
|
#
94541 |
|
12-Apr-2002 |
ru |
Add a tool (and the first application of it) that could be used to automate building of libraries.
Prodded by: bde
|
#
94432 |
|
11-Apr-2002 |
ru |
I now don't seem to be able to reproduce the -DNOCLEAN buildworld breakage with ioctl.c. The .depend file should track dependencies just fine, and the worst we can have is to miss new ioctls.
But I still think it's a good idea to have -DNOCLEAN build produce the same ioctl.c as it would without -DNOCLEAN.
Prodded for a long time by: bde
|
#
94431 |
|
11-Apr-2002 |
ru |
Don't special case i386/pc98, replace it with the smarter logic of setting ${TARGET} -- make it default to ${MACHINE} if we are not cross-building, and ${TARGET_ARCH} otherwise.
Set MAKEOBJDIREPREFIX based on ${TARGET}, not on ${TARGET_ARCH}. This is useful if you want to cross-build pc98 worlds on i386.
|
#
94221 |
|
08-Apr-2002 |
ru |
Avoid cleaning modules twice in `buildkernel'.
|
#
94172 |
|
08-Apr-2002 |
ru |
Bootstrap xargs(1) -- sys/conf/kmod.mk uses the new -J option.
PR: bin/36747
|
#
93759 |
|
04-Apr-2002 |
ru |
Unbreak buildworld after include/Makefile,v 1.167 commit.
|
#
93589 |
|
01-Apr-2002 |
joe |
Back out lots of the last commit that was committed by accident. (It's my test rig for some CVSUP,SUP code).
Spotted by: Michael G. Petry <petry@NetMasters.Com>
|
#
93550 |
|
01-Apr-2002 |
joe |
Install libusbhid.h during 'make includes'.
Requested by: jhb MFC after: 3 days
|
#
93229 |
|
26-Mar-2002 |
ru |
Install sys/security/lomac/*.h to /usr/include/security/lomac/.
Install sys/<arch>/include/pc/*.h to /usr/include/machine/pc/.
PR: docs/29534
Install sys/netatm/*/*.h to /usr/include/netatm/*/.
Don't install compatibility symlinks for <machine/soundcard.h> and <machine/joystick.h>. Three years is enough to be aware of the change, and these weren't visible in the SHARED=symlinks case.
Back out include/Makefile,v 1.160 that was a null change anyway due to the bug in the path, and we now don't want to install these headers because they would otherwise be invisible in the SHARED=symlinks case.
Don't install IPFILTER headers. Userland utilities fetch them directly, and they were not visible in the SHARED=symlinks case.
Resurrect SHARED=symlinks in Makefile.inc1.
PR: bin/28002
Prodded by: bde MFC after: 2 weeks
|
#
92813 |
|
20-Mar-2002 |
ru |
Make lint(1) a cross-tool.
(See commit log for usr.bin/xlint/Makefile,v 1.11 for what was wrong with enabling build of lint libraries in rev. 1.12.)
This fixes cross-arch compiles (running binaries for a different arch when generating lint.7 and lint libraries) and cross-branch compiles (4.x -> 5.0 buildworld should be working again).
|
#
92777 |
|
20-Mar-2002 |
ru |
Fixed the NO_PERL braino.
|
#
92452 |
|
16-Mar-2002 |
markm |
Update for Perl 5.6.1
|
#
92410 |
|
16-Mar-2002 |
markm |
Allow the use of NO_PERL as well as NOPERL. The latter is going to be removed.
|
#
91733 |
|
06-Mar-2002 |
obrien |
1-true-AWK has a build-tool target.
|
#
91011 |
|
21-Feb-2002 |
ru |
Obviate the need to set the COMPILER_PATH and LIBRARY_PATH in Makefile.inc1 to pick up the correct cross-tools (the compiler executables and binutils) and special linker files (crt*.o). This is now controlled by a single knob, TOOLS_PREFIX, when building cross-tools.
Fixed regression in Makefile.inc1,v 1.203 (-nostdinc). This clobbered target architecture's CFLAGS with building host's CPUTYPE setting in /etc/make.conf, and had a nice but nasty side effect of exposing some (normally hidden) bugs in system headers.
(Attempt to move the "-nostdinc -I..." part of CFLAGS into the new CINCLUDES (modeled after a similar CXXINCLUDES) eventually failed because hard-coding ${WORLDTMP}/usr/include to be the first in the include list does not always work, e.g. lib/libbind.)
Compensate the -nostdinc removal by making cpp(1) built in the cross-tools stage to not look for <> header files in the building host's /usr/include (already committed as gnu/usr.bin/cc/cc_tools/freebsd-native.h, revisions 1.10-1.12, STANDARD_INCLUDE_DIR).
: $ /usr/obj/usr/src/i386/usr/bin/cpp -v /dev/null : : Before: : : #include <...> search starts here: : /usr/obj/usr/src/i386/usr/include : /usr/include : End of search list. : : After: : : #include <...> search starts here: : /usr/obj/usr/src/i386/usr/include : /usr/obj/usr/src/i386/usr/include
(Disabling the use of GCC_INCLUDE_DIR in the FREEBSD_NATIVE case would fix the duplicate above.)
Get rid of the (now unneeded) -I${DESTDIR}/usr/include magic in bsd.prog.mk and bsd.lib.mk. Finish the removal of LDDESTDIR in bsd.lib.mk,v 1.55 -- we no longer have users of it.
The required changes to gcc were already committed as contrib/gcc.295/gcc.c, revisions 1.23 and 1.24.
Basically, this allows for the changes above plus makes gcc(1) persistent about path configuration, whether it's configured as a native or a cross compiler:
: $ /usr/obj/usr/src/i386/usr/bin/cc -print-search-dirs : install: /usr/obj/usr/src/i386/usr/libexec/(null) : programs: /usr/obj/usr/src/i386/usr/libexec/elf/:/usr/obj/usr/src/i386/usr/libexec/ : libraries: /usr/obj/usr/src/i386/usr/lib/ : : $ /usr/obj/alpha/usr/src/i386/usr/bin/cc -print-search-dirs : install: /usr/obj/alpha/usr/src/i386/usr/libexec/(null) : programs: /usr/obj/alpha/usr/src/i386/usr/libexec/elf/:/usr/obj/alpha/usr/src/i386/usr/libexec/ : libraries: /usr/obj/alpha/usr/src/i386/usr/lib/
Reviewed by: bde, obrien
|
#
90655 |
|
14-Feb-2002 |
ru |
The previous fix for broken -DMAKE_KERBEROS5 world was incomplete. Finish it by adding kerberos5/lib/libvers to the build-tools list.
(I didn't notice it before because I tested my fix in a -DNOCLEAN environment, and static libc.a was already in ${WORLDTMP}/usr/lib, and libvers's make-print-version build tool used it for linking.)
Spotted by: John Indra <maverick@office.naver.co.id>
|
#
90534 |
|
11-Feb-2002 |
ru |
Fixed -DMAKE_KERBEROS5 world breakage in kerberos5/lib/libroken (make-roken is a build tool). This bug was hiding itself after a just fixed bug in cross-linker (binutuils/ld/Makefile,v 1.20).
The bug was fatal for cross builds; for example, an alpha binary (make-roken) was attempted to be run on i386.
Added make-roken to the list of build-tools in libasn1. It only worked because another build tool needs make-roken implicitly:
(build-tools: asn1_compile: print_version.o: roken.h: make-roken).
Spotted by: nectar
|
#
90405 |
|
08-Feb-2002 |
ru |
Now that cross-tools ld(1) has been fixed to look for dynamic dependencies in the correct place, record the fact that -lssh depends on -lcrypto and -lz.
Removed false dependencies on -lz (except ssh(1) and sshd(8)). Removed false dependencies on -lcrypto and -lutil for scp(1).
Reviewed by: markm
|
#
90402 |
|
08-Feb-2002 |
ru |
FreeBSD 4.1 bootstrapping aid (setproctitle(3) is in -lutil).
This backs out (sort of) delta 1.18 to perl/miniperl/Makefile. Update to the ld(1) comment by peter in this revision:
ld(1) built as part of the cross-tools stage of buildworld has been fixed to look for dynamic dependencies in the right place, ${WORLDTMP}/usr/lib, effective binutils/ld/Makefile,v 1.20.
Approved by: markm
|
#
88575 |
|
28-Dec-2001 |
paul |
gnu/libexec has gone so remove it from the most targets.
|
#
88450 |
|
23-Dec-2001 |
jedgar |
Specify the full path to mktemp
|
#
88324 |
|
21-Dec-2001 |
jedgar |
Use a more secure method of creating the temporary install directory.
|
#
87803 |
|
13-Dec-2001 |
imp |
Move NO_WERROR from CROSSENV to BMAKE. In CROSSENV it disables it for the entire build. We only want it for the bootstrap process.
Submitted by: ru
|
#
87775 |
|
13-Dec-2001 |
imp |
Add NO_WERROR to the cross building environment so that we do not bail on warnings generated by earlier versions of the compilers when bootstrapping.
Also a minor formatting nit in the tools list.
Reviewed by: markm
|
#
87660 |
|
11-Dec-2001 |
phantom |
Get rid of unsed since rev 1.109 of lib/Makefile WANT_CSRG_LIBM define. Also replace internal make variable _libm with hardcoded path to lib/msun
Reviewed by: bde
|
#
87436 |
|
06-Dec-2001 |
jhb |
Just to be pedantic and more aesthetically pleasing, move the secure/ top-level subdirectory prior to share/ so that the top-level directories are processed in alphabetical order.
|
#
86609 |
|
19-Nov-2001 |
obrien |
Add the CVS knob so it may be overridden (or have options added).
Submitted by: Andrea Campi <andrea@webcom.it>
|
#
86449 |
|
16-Nov-2001 |
matusita |
Don't cleandir also if MODULES_WITH_WORLD.
MFC after: 3 days
|
#
86388 |
|
15-Nov-2001 |
matusita |
Typo fix (my test version doesn't have this...)
|
#
86387 |
|
15-Nov-2001 |
matusita |
Run "make cleandir" if NO_MODULES are set, or there is no sys/modules directory. Previous commit breaks buildkernel if NO_MODULES was set. Sorry...
Noticed by: mike
|
#
86353 |
|
14-Nov-2001 |
matusita |
"make cleandir" before building a kernel and modules.
This will hopefully fix the recent 'I cannot compile linux module with buildworld' problem. MFC will come shortly.
Submitted by: imura@ryu16.org
|
#
86323 |
|
13-Nov-2001 |
matusita |
Set full-path of cvsup.
In src/Makefile rev 1.232, environment variable PATH is set explicitly to /sbin:/bin:/usr/sbin:/usr/bin. As a result, binaries located on non-standard path cannot be executed without full-path (it's the change of this revision).
However, cvsup is not in our base system -- you lose if you try to "make update" without setting SUP in make.conf or command line argument. I think it is safe to assume that cvsup is located at /usr/local/bin, and it would help other people who first try to do "make update".
PR: 31932 MFC after: 1 day
|
#
85924 |
|
02-Nov-2001 |
obrien |
Bring Gawk back. There just isn't any other POSIX compliant AWK out there. The biggest thing missing from Bell-Labs AWK is the character class regexes.
|
#
85804 |
|
01-Nov-2001 |
obrien |
Add 'awk' to the build-tools, so that the small utility used to build one of the source files is made for the host, not target.
|
#
85468 |
|
25-Oct-2001 |
ru |
Fix cross-building further.
Introduce ${TARGET} defaulting to ${MACHINE} which should be set to whatever your target ${MACHINE} is, and use that with world-related stages. That is, to build pc98 on alpha, one now needs to set both TARGET_ARCH=i386 and TARGET=pc98.
The scope of ${TARGET} is limited to Makefile.inc1 and cross-tools.
In particular, this change was tested to fix:
1. Cross building of "alpha" on i386. The breakage was introduced by rev. 1.10 to sbin/i386/Makefile (missing <machine/cronyx.h>).
2. Descending into machine-specific subdirs for a different arch. Previously, sbin/i386 and usr.sbin/boot0cfg were descended into when cross-building "alpha" or pc98 on i386.
3. Fixes pc98 cross-building which was horribly broken, caused by not setting MACHINE correctly (most ${MACHINE} == pc98 checking Makefiles put -DPC98 to CFLAGS).
|
#
84136 |
|
29-Sep-2001 |
ru |
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
|
#
83925 |
|
25-Sep-2001 |
ru |
Removed touch(1) from the list of installworld tools that was added in previous revision for no apparent reason.
Submitted by: bde
|
#
83721 |
|
20-Sep-2001 |
markm |
Add which(1) the stuff that we need early on. The perl build needs it to find miniperl.
|
#
83570 |
|
17-Sep-2001 |
ru |
Run the `bootstrap-tools' and `cross-tools' stages with BOOTSTRAPPING flag defined. This replaces the WORLD flag that got lost in revision 1.96.
|
#
82491 |
|
29-Aug-2001 |
bde |
Fixed world breakage. mkdir was not copied to ${INSTALLTMP}, but it is used by src/include/Makefile in the SHARED=symlinks case.
|
#
82416 |
|
27-Aug-2001 |
paul |
Change the name of KRNLDEFDIR to KERNCONFDIR.
Suggested by Bruce, since the latter is more acceptable for a variable that is externally visible.
Fix a style nit with a long line.
|
#
82362 |
|
26-Aug-2001 |
paul |
Add a variable KRNLDEFDIR that specifies where to find the kernel config files.
It defaults to KRNLCONFDIR.
|
#
82354 |
|
26-Aug-2001 |
markm |
More libss removal.
|
#
82353 |
|
26-Aug-2001 |
markm |
Adjust dependancies; now that a PAM module (pam_unix) can change NIS passwords, libpam needs rpc dependancies.
|
#
81920 |
|
19-Aug-2001 |
kris |
Say goodbye to libss, which somehow managed to crouch hidden in the tree for long after it was used.
|
#
81845 |
|
17-Aug-2001 |
obrien |
Use a build-tool to create the .mgc files.
Submitted by: ru (partial) Obtained from: NetBSD (basic idea) Reviewed by: bde, ru
|
#
81133 |
|
04-Aug-2001 |
tmm |
Add some features to libdevstat, and overhaul the interface a bit:
1.) prefix all functions in the library with devstat_ (compatability functions are available for all functions that were chaned in an incompatible way, but are deprecated). 2.) Add a pointer to a kvm_t as the first argument to functions that used to get their information via sysctl; they behave the same as before when NULL is passed as this argument, otherwise, the information is obtained via libkvm using the supplied handle. 3.) Add a new function, devstat_compute_statistics(), that is intended to replace the old compute_stats() function. It offers more statistics data, and has a more flexible interface.
libdevstat does now require libkvm; a library depedency is added, so that libkvm only needs to be explicitely specified for statically linked programs. The library major version number is bumped.
Submitted by: Sergey A. Osokin <osa@freebsd.org.ru>, ken (3) Reviewed by: ken
|
#
80530 |
|
29-Jul-2001 |
dd |
Enable the new libmp in the build, and disable libgmp and its henchmen.
|
#
79470 |
|
09-Jul-2001 |
markm |
Axe S/Key. OPIE is the true and faithful successor.
|
#
78197 |
|
14-Jun-2001 |
peter |
Part 2 of gensetdefs de-orbit burn. linker sets are now self contained for ELF, see src/sys/linker_set.h log.
|
#
78173 |
|
13-Jun-2001 |
ru |
WARNS= is fully functional again.
|
#
78085 |
|
11-Jun-2001 |
ru |
- Restore -nostdinc that got lost in rev.1.105; we don't want host headers during `buildworld'.
- During `buildworld', install headers in a "copy" mode until we decide what to do with the (currently broken) SHARED=symlinks.
- Temporarily run `buildworld' with -DNO_WERROR, which effectively disabled the -Werror bit of recently added WARNS=X feature. This is required because adding the -nostdinc bit back revealed bugs in some header files that were hiding after not using -nostdinc. It is unclear currently how exactly (and why) -nostdinc affects gcc(1) warnings.
|
#
77347 |
|
28-May-2001 |
ru |
Bootstrap install(1).
|
#
76581 |
|
14-May-2001 |
ru |
Add kbdcontrol(1) to bootstrap-tools. This fixes the upgrade path breakage in usr.sbin/sysinstall.
|
#
76048 |
|
26-Apr-2001 |
asmodai |
Remove xlint from build-tools. This needs to be fixed in a different way.
|
#
75921 |
|
24-Apr-2001 |
asmodai |
Add usr.bin/xlint to build-tools.
|
#
75896 |
|
24-Apr-2001 |
gshapiro |
${MAKEOBJDIRPREFIX}/usr/src/i386/usr/include/isc was being created as a plain file during the bootstrapping process of a buildworld and contained the last isc include file to be installed. It was meant to be a directory for the isc include files.
|
#
75656 |
|
18-Apr-2001 |
ru |
Add groff to bootstrap-tools.
|
#
74840 |
|
27-Mar-2001 |
ken |
Rewrite of the CAM error recovery code.
Some of the major changes include:
- The SCSI error handling portion of cam_periph_error() has been broken out into a number of subfunctions to better modularize the code that handles the hierarchy of SCSI errors. As a result, the code is now much easier to read.
- String handling and error printing has been significantly revamped. We now use sbufs to do string formatting instead of using printfs (for the kernel) and snprintf/strncat (for userland) as before.
There is a new catchall error printing routine, cam_error_print() and its string-based counterpart, cam_error_string() that allow the kernel and userland applications to pass in a CCB and have errors printed out properly, whether or not they're SCSI errors. Among other things, this helped eliminate a fair amount of duplicate code in camcontrol.
We now print out more information than before, including the CAM status and SCSI status and the error recovery action taken to remedy the problem.
- sbufs are now available in userland, via libsbuf. This change was necessary since most of the error printing code is shared between libcam and the kernel.
- A new transfer settings interface is included in this checkin. This code is #ifdef'ed out, and is primarily intended to aid discussion with HBA driver authors on the final form the interface should take. There is example code in the ahc(4) driver that implements the HBA driver side of the new interface. The new transfer settings code won't be enabled until we're ready to switch all HBA drivers over to the new interface.
src/Makefile.inc1, lib/Makefile: Add libsbuf. It must be built before libcam, since libcam uses sbuf routines.
libcam/Makefile: libcam now depends on libsbuf.
libsbuf/Makefile: Add a makefile for libsbuf. This pulls in the sbuf sources from sys/kern.
bsd.libnames.mk: Add LIBSBUF.
camcontrol/Makefile: Add -lsbuf. Since camcontrol is statically linked, we can't depend on the dynamic linker to pull in libsbuf.
camcontrol.c: Use cam_error_print() instead of checking for CAM_SCSI_STATUS_ERROR on every failed CCB.
sbuf.9: Change the prototypes for sbuf_cat() and sbuf_cpy() so that the source string is now a const char *. This is more in line wth the standard system string functions, and helps eliminate warnings when dealing with a const source buffer.
Fix a typo.
cam.c: Add description strings for the various CAM error status values, as well as routines to look up those strings.
Add new cam_error_string() and cam_error_print() routines for userland and the kernel.
cam.h: Add a new CAM flag, CAM_RETRY_SELTO.
Add enumerated types for the various options available with cam_error_print() and cam_error_string().
cam_ccb.h: Add new transfer negotiation structures/types.
Change inq_len in the ccb_getdev structure to be "reserved". This field has never been filled in, and will be removed when we next bump the CAM version.
cam_debug.h: Fix typo.
cam_periph.c: Modularize cam_periph_error(). The SCSI error handling part of cam_periph_error() is now in camperiphscsistatuserror() and camperiphscsisenseerror().
In cam_periph_lock(), increase the reference count on the periph while we wait for our lock attempt to succeed so that the periph won't go away while we're sleeping.
cam_xpt.c: Add new transfer negotiation code. (ifdefed out)
Add a new function, xpt_path_string(). This is a string/sbuf analog to xpt_print_path().
scsi_all.c: Revamp string handing and error printing code. We now use sbufs for much of the string formatting code. More of that code is shared between userland the kernel.
scsi_all.h: Get rid of SS_TURSTART, it wasn't terribly useful in the first place.
Add a new error action, SS_REQSENSE. (Send a request sense and then retry the command.) This is useful when the controller hasn't performed autosense for some reason.
Change the default actions around a bit.
scsi_cd.c, scsi_da.c, scsi_pt.c, scsi_ses.c: SF_RETRY_SELTO -> CAM_RETRY_SELTO. Selection timeouts shouldn't be covered by a sense flag.
scsi_pass.[ch]: SF_RETRY_SELTO -> CAM_RETRY_SELTO.
Get rid of the last vestiges of a read/write interface.
libkern/bsearch.c, sys/libkern.h, conf/files: Add bsearch.c, which is needed for some of the new table lookup routines.
aic7xxx_freebsd.c: Define AHC_NEW_TRAN_SETTINGS if CAM_NEW_TRAN_CODE is defined.
sbuf.h, subr_sbuf.c: Add the appropriate #ifdefs so sbufs can compile and run in userland.
Change sbuf_printf() to use vsnprintf() instead of kvprintf(), which is only available in the kernel.
Change the source string for sbuf_cpy() and sbuf_cat() to be a const char *.
Add __BEGIN_DECLS and __END_DECLS around function prototypes since they're now exported to userland.
kdump/mkioctls: Include stdio.h before cam.h since cam.h now includes a function with a FILE * argument.
Submitted by: gibbs (mostly) Reviewed by: jdp, marcel (libsbuf makefile changes) Reviewed by: des (sbuf changes) Reviewed by: ken
|
#
74812 |
|
26-Mar-2001 |
ru |
Add missing NOSECURE check for `includes' target.
Reviewed by: markm
|
#
74645 |
|
22-Mar-2001 |
ru |
Enhancement to 1.99 -> 1.100. Avoid EPERM from ln(1) in a different (proper) way.
|
#
73349 |
|
02-Mar-2001 |
ru |
setlocale(3) has been fixed to match POSIX standard: LC_ALL takes precedence over other LC_* envariables.
|
#
72924 |
|
22-Feb-2001 |
jhb |
MACHINE_ARCH is the target arch to crossbuild to, not TARGET_ARCH.
Requested by: marcel
|
#
72859 |
|
22-Feb-2001 |
jhb |
Document TARGET_ARCH.
|
#
72558 |
|
17-Feb-2001 |
bde |
Removed some garbage (genassym(8) and its infrastructure).
|
#
72492 |
|
14-Feb-2001 |
markm |
Fix make world.
|
#
71419 |
|
23-Jan-2001 |
peter |
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.
|
#
71401 |
|
22-Jan-2001 |
peter |
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.
|
#
71397 |
|
22-Jan-2001 |
peter |
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.
|
#
71366 |
|
22-Jan-2001 |
imp |
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.
|
#
71364 |
|
22-Jan-2001 |
peter |
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
|
#
71355 |
|
21-Jan-2001 |
jkh |
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.
|
#
71238 |
|
19-Jan-2001 |
peter |
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.
|
#
70334 |
|
24-Dec-2000 |
kato |
Removed pc98-hack of aout tools.
|
#
69556 |
|
03-Dec-2000 |
marcel |
Fix cross-building once again.
Forgotten by: ache
|
#
68987 |
|
21-Nov-2000 |
marcel |
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.
|
#
68927 |
|
20-Nov-2000 |
marcel |
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
|
#
68586 |
|
10-Nov-2000 |
obrien |
libgcc now needs to be built earlier in the build.
Submitted by: jdp
|
#
67811 |
|
28-Oct-2000 |
obrien |
* 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.
|
#
67547 |
|
25-Oct-2000 |
jkoshy |
Fail the 'buildkernel' target if not even one of the specified kernel configuration files was found.
Reviewed by: obrien
|
#
67050 |
|
13-Oct-2000 |
obrien |
Number the stages in the documentation to match what is printed out when running.
|
#
66018 |
|
18-Sep-2000 |
gibbs |
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.
|
#
66005 |
|
17-Sep-2000 |
imp |
Add reinstallkernel target. Does same thing as installkernel, but executes the reinstall target rather than the install target that installkernel does.
|
#
65636 |
|
09-Sep-2000 |
des |
Include libfetch in the includes target.
|
#
65629 |
|
09-Sep-2000 |
peter |
USA_RESIDENT is no longer required for buildworld, do not force it.
|
#
65387 |
|
03-Sep-2000 |
obrien |
Allow one to specify what the installed kernel's name is by setting "INSTKERNNAME".
Reviewed by: marcel
|
#
64605 |
|
13-Aug-2000 |
joe |
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.
|
#
64340 |
|
07-Aug-2000 |
sheldonh |
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>
|
#
64178 |
|
03-Aug-2000 |
marcel |
Fix buildkernel and installkernel when KERNEL is defined in /etc/make.conf.
PR: 20325 Submitted by: Johan Karlsson <k@numeri.campus.luth.se>
|
#
63783 |
|
23-Jul-2000 |
marcel |
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
|
#
63779 |
|
23-Jul-2000 |
marcel |
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.
|
#
63777 |
|
23-Jul-2000 |
marcel |
Remove mtree for bootstrap-tools. The -L switch change has been backed out.
|
#
63762 |
|
23-Jul-2000 |
marcel |
Don't save cp(1) in installworld. Its use has been replaced by a use of install.
|
#
63592 |
|
20-Jul-2000 |
marcel |
Add awk and wc to the list of copied binaries for the installworld target. These are needed by liloldr.
Found by: make release
|
#
63560 |
|
19-Jul-2000 |
marcel |
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.
|
#
63544 |
|
19-Jul-2000 |
marcel |
Don't save install-info. We already have that built. We'll use the one we built anyway.
|
#
63487 |
|
19-Jul-2000 |
marcel |
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.
|
#
63366 |
|
18-Jul-2000 |
ache |
Move mtree to bootstrap-tools and add PATH=${TMPPATH} to IMAKEENV to pick it
|
#
63360 |
|
18-Jul-2000 |
ache |
Add mtree to cross-tools to make it updated for new -L option It must solve make world breakage
|
#
62419 |
|
02-Jul-2000 |
markm |
Perl's version number needs to change.
|
#
62083 |
|
25-Jun-2000 |
markm |
Rearrange Perl's build priority; it needs to get made earlier.
|
#
61703 |
|
15-Jun-2000 |
brian |
Add -DNO_KERNELDEPEND and -DNO_KERNELCONFIG
Not reviewed by: sheldonh
|
#
61448 |
|
09-Jun-2000 |
brian |
Set KERNEL=${INSTALLKERNEL} doing a make install in /sys/conf
|
#
60026 |
|
05-May-2000 |
nyan |
GENERIC98 is removed.
|
#
59713 |
|
27-Apr-2000 |
wollman |
Make gperf be a bootstrap-tool, since we now depend on features of the specific version in -current.
Approved in principle by: marcel
|
#
59705 |
|
27-Apr-2000 |
wollman |
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.
|
#
59699 |
|
27-Apr-2000 |
wollman |
Add gperf(1) to build tools. It should have been one before, but gcc does not depend on version-specific gperf behavior (yet).
|
#
59680 |
|
27-Apr-2000 |
sheldonh |
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.
|
#
59310 |
|
17-Apr-2000 |
kris |
Unbreak make world (libpam depends on libopie)
|
#
58832 |
|
30-Mar-2000 |
sheldonh |
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>
|
#
58769 |
|
29-Mar-2000 |
ru |
Get rid of "sticky" files when updating sources with cvs(1).
Approved by: peter
|
#
57841 |
|
09-Mar-2000 |
kris |
Buildworld fixes for NO_OPENSSH and NO_OPENSSL
Approved by: jkh
|
#
57575 |
|
28-Feb-2000 |
markm |
A lot of tools need to be built before compilation proper can happen.
|
#
57457 |
|
24-Feb-2000 |
markm |
We have a new world order in libraries.
Goodbye libdes; Welcome libcrypto.
|
#
57353 |
|
20-Feb-2000 |
jkh |
Docfix: Note krb5 flags.
PR: 16818 Submitted by: martti.kuparinen@nomadiclab.com
|
#
56972 |
|
03-Feb-2000 |
ru |
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>
|
#
56909 |
|
30-Jan-2000 |
obrien |
The readline includes handling was moved down a level in src/gnu/libreadline -- reflect that change here.
Ok'ed by: JKH
|
#
56798 |
|
29-Jan-2000 |
imp |
Back out 1.134. It works from 3.3R, but breaks cross compilation for too little gain. I'll work out the issues after 4.0R is out.
|
#
56769 |
|
28-Jan-2000 |
imp |
Remove Fortran from build tools. It isn't needed to build the system and costs us an extra 2% to build it for no reason. It may break building cross compilation environments for fortran, but that isn't officially supported at this time anyway (also, the % of our user base that would use that is < .001% imho). This does't break fortran (it is built again later anyway).
Reviewed by: obrien Tested by: make buildworld and make buildworld -DNOCLEAN
|
#
56551 |
|
24-Jan-2000 |
markm |
Build Kerberos5 if the correct macro is set. This is not for the faint_hearted; serious hackers only!
|
#
56263 |
|
19-Jan-2000 |
kris |
Require USA_RESIDENT to be 'NO' or 'YES' if building secure/
Reviewed by: marcel
|
#
56235 |
|
18-Jan-2000 |
ru |
Finally resolve the texinfo issue by moving it from the cross-tools to the bootstrap-tools.
Requested by: bde, marcel
|
#
56221 |
|
18-Jan-2000 |
ru |
For some reason compiler should be the last in the list of cross-tools. Unbroke the world by moving gnu/usr.bin/texinfo before gnu/usr.bin/cc.
Submitted by: Jim Bloom <bloom@acm.org>
|
#
56195 |
|
17-Jan-2000 |
ru |
Add gnu/usr.bin/texinfo to the list of cross-tools. We need an up-to-date `makeinfo' and `install-info' at `world' and `install' stages.
Pointed out by: bde
|
#
55856 |
|
12-Jan-2000 |
marcel |
Add gross hack to work around bogus dependency information created by gnu/usr.bin/cc/cc_tools/Makefile. This bug is painfully visible when making buildworld with -DNOCLEAN. This work around is beyond dirty...
|
#
55842 |
|
12-Jan-2000 |
marcel |
Fix broken installkernel target. Don't use the WMAKE context to install; use the IMAKE context.
Reported by: sheldonh
|
#
55827 |
|
11-Jan-2000 |
marcel |
Revert gratuitous change in rev. 1.123 which broke building world as non-root.
Breakage caused by: green
|
#
55817 |
|
11-Jan-2000 |
obrien |
Remove Bison from "bootstrap-tools" as we don't use it to build anything in /usr/src/ anymore.
|
#
55816 |
|
11-Jan-2000 |
green |
This is the second half of unbreaking the world build. Add a -DNOHTML corollary for -DNOINFO and -DNOMAN. I'll fix this properly (add specific HTML doc magic) in the .mk files later; right now, just unbreak the world.
|
#
55804 |
|
11-Jan-2000 |
marcel |
Add the -r flag to CONFIGARGS instead of assigning to it so that it's more easy to build a kernel with debugging information.
Suggested by: sheldonh
|
#
55676 |
|
09-Jan-2000 |
marcel |
Add a buildkernel and an installkernel target. With these targets users can more easily upgrade.
buildworld now makes usr.sbin/config in bootstrap-tools so that when you first make buildworld, buildkernel will use config(8) from the temp. world tree (and of course also the compiler).
Which kernel to built is determined by the KERNEL variable. You can have as many kernels listed as you like. When a config file exists for the given MACHINE it will be built. When KERNEL has not been defined it will be set to "GENERIC GENERIC98".
The first valid kernel named in the list will be used by the installkernel target.
When NOCLEAN is defined the kernel object directory is *not* removed by config first. This is in line with normal buildworld behaviour.
The buildkernel target makes aicasm in sys/dev/aic7xxx first and unconditionally. This hack allows us to cross-build kernels and can go away when the problem is solved in a structural way.
|
#
55417 |
|
04-Jan-2000 |
marcel |
Add btxld to the list of cross-tools on machines that don't have it natively (ie non-i386 architectures).
|
#
55266 |
|
30-Dec-1999 |
markm |
Grrrr... This was supoosed to go with the commit to kerberosIV/.../libroken's Makefile.
Fix make world by building appropriate build-tools.
Submitted by: marcel
|
#
55221 |
|
29-Dec-1999 |
obrien |
Restore changes I spammed.
|
#
55220 |
|
29-Dec-1999 |
obrien |
Allow the specification of a prefix for gcc to find all the various bits. If one wishes to anchor the compiler toolchain tree somewhere other than /, all one needs to do is set "TOOLS_PREFIX" to a different rooting.
Submitted by: marcel (in a different format and reworked by me)
|
#
55218 |
|
29-Dec-1999 |
kris |
Only make beforeinstall in libcrypto/libssl if they actually exist. I haven't imported these on Freefall yet for the reasons previously explained.
Noticed by: asami
|
#
55216 |
|
29-Dec-1999 |
asami |
Oops, the previous commit was bogus. I shouldn't commit something without reading all my mail.
I still don't understand why this was was committed on freefall before the libcrypto and libssl subdirectories were imported on freefall though.
|
#
55214 |
|
29-Dec-1999 |
asami |
Typo (libcrypto -> libcrypt).
|
#
55191 |
|
28-Dec-1999 |
kris |
Build openssl properly during make world.
|
#
55060 |
|
23-Dec-1999 |
marcel |
Don't build caesar as a tool. fortune(6) doesn't depend on it anymore. Update comments and variable names as well to wipe out any traces that may confuse people in the future.
|
#
55025 |
|
23-Dec-1999 |
marcel |
Revert previous commit, and
o Add genassym to the list of cross-tools o Remove sh hashing work-around, we don't need it anymore o Clean more directories in WORLDTMP when NOCLEAN is specified
The sh hashing work-around is not needed anymore, because we don't trigger the bug anymore.
When NOCLEAN is not defined, we wipe out the complete WORLDTMP, including the object directories of the tools we have built. When NOCLEAN is defined, we remove anything that we install anyway, which is usr/bin, usr/games, usr/include, usr/lib and usr/sbin.
|
#
55011 |
|
22-Dec-1999 |
ache |
Add ${WORLDTMP}/sbin to ${STRICTTMPPATH} - sysctl not found otherwise
|
#
54875 |
|
20-Dec-1999 |
marcel |
o make SHARED=symlinks a caller defined instead of a callee defined property. This fixes the includes target when DESTDIR is empty. o Do not make build-tools for f771 when NO_FORTRAN is defined. o Add new build stage. See below. o Change banners so that staging information is displayed.
The addition of the build-tools target broke the upgrade path because we couldn't make use of previously built tools that were made for compatibility reasons. Doing so would also result in the cross-compiler being used and that is exactly what had to be avoided.
This is solved by designating the bootstrap-tools stage for building anything that is needed for compatibility only and to create a new stage (started after the build-tools stage) that handles cross-tools building. We now have the following stages: 1. bootstrap-tools (for compatibility issues only) 2. build-tools 3. cross-tools (what it says) 4. world 5. install
Stages 1-4 (inclusive) are handled by buildworld. Stage 5 is handled by installworld.
Any more stages and I'll join Nik in his quest for the holy grail^W^Wworld :-)
|
#
54736 |
|
17-Dec-1999 |
marcel |
Don't build usr.sbin/pcvt/keycap on anything other than i386 when building the libraries target. pcvt is i386 specific.
|
#
54684 |
|
16-Dec-1999 |
marcel |
o Add games/caesar to the list of bootstrap-tools so that a buildworld doesn't break because the host doesn't have any games installed, o Add a new build stage: TMAKE. TMAKE builds all the build-tools targets in the respective makefiles. Note that these targets don't use the bootstrap tools, o Add elf2exe to the bootstrap-tools when cross-building Alpha on other platforms, o Add ${WORLDTMP}/usr/games to TMPPATH, o Remove ${WORLDTMP}/usr/bin even when NOCLEAN is defined. This prevents using any bootstrap-tools previously installed. Most importantly, it prevents using the cross-compiler when we still need the native compiler.
The current stages are BMAKE, TMAKE, XMAKE and IMAKE in that order. BMAKE builds bootstrap-tools that either solve compatibility problems or are needed as cross-tools, TMAKE builds the support tools necessary by some parts in the source tree and also performs the cleandir and par-obj targets, XMAKE builds the includes, libraries and everything (resp.), and IMAKE installs the world. This stage needs further work if it's to be used to install -current over -stable for example.
This is the last major update towards cross-building.
|
#
54663 |
|
16-Dec-1999 |
billf |
It is possible for someone to want to 'make update' wht SUPFILE not defined while SUPFILE1 or PORTSSUPFILE are defined.
|
#
54525 |
|
12-Dec-1999 |
marcel |
Add colldef to the list of tools. It's needed on older systems.
|
#
54523 |
|
12-Dec-1999 |
marcel |
o Add gensetdefs to the list of tools. o Don't set CFLAGS in the bootstrap env. It is very likely to be overridden my any CFLAGS setting in /etc/make.conf. Setting it here is almost useless. So far, it doesn't seem necessary.
|
#
54470 |
|
12-Dec-1999 |
nyan |
Build a.out tools if MACHINE_ARCH == i386 and MACHINE == pc98. The boot2 for pc98 is still a.out program.
I made the original patch, and many problems were fixed by Marcel Moolenaar.
|
#
54445 |
|
11-Dec-1999 |
marcel |
Don't add MACHINE_ARCH to MAKEOBJDIRPREFIX when not cross-building. This should fix make release.
Reported by: jhay, phk
|
#
54408 |
|
10-Dec-1999 |
marcel |
o Don't make games/fortune/strfile if games does not exist or NOGAMES has been defined. o Make libraries before making depend.
|
#
54398 |
|
10-Dec-1999 |
marcel |
Remove installworld related settings that I had as a safety-net and for development. :-/
|
#
54392 |
|
10-Dec-1999 |
marcel |
More cross-building related changes: o Build tools before doing anything in or with the object tree. o Tools don't use the object tree any more, but have there object tree located in the temp. world. o Use the proper make env. for cleaning and building the object tree. o Don't create kernel include subdirectories in the temp. world. These are removed later on and replaced by symlinks. o Change the layout of the object tree:
The temp. world now is /usr/obj/${MACHINE_ARCH}${.CURDIR}/${BUILD_ARCH}. /usr/obj can be set/changed by using MAKEOBJDIRPREFIX, and {.CURDIR} obviously depends on where the source tree is located. MACHINE_ARCH is the arch. for which the world is to be build and BUILD_ARCH is the arch. on which we are building.
The object tree now is /usr/obj/${MACHINE_ARCH}${.CURDIR}.
This allows concurrent cross-builds and allows the object tree to be shared on different archs., each doing the same cross-build. This of course assumes that the output on Alpha (for example) is the same as the output of an Alpha cross-build on i386 (for example).
The use of NOCLEAN is is still dangerous, but should be usable in many more situations than before. It should now be possible to safely restart an interrupted build with NOCLEAN without side-effects. Because the tools don't share the object tree with the normal (cross-build), no tools have to be rebuild.
|
#
54368 |
|
09-Dec-1999 |
marcel |
Don't make gdb, objc and f77 when building tools.
|
#
54365 |
|
09-Dec-1999 |
marcel |
Make sure the links to the source tree end up in the source tree.
|
#
54352 |
|
09-Dec-1999 |
marcel |
o Add usr/lib/compat/aout to the temp world. This is needed by release. o If you can't beat them, join them: use symlinks to populate the obj tree. This avoids using mtree.
|
#
54311 |
|
08-Dec-1999 |
marcel |
Restore the upgrade path from -stable to -current and prepare for non-root cross-building.
o Makefile.inc0 is not used anymore. o The legacy aout build has been removed. o Selectively build tools *before* building includes/libraries. o Avoid using mtree to populate the obj tree.
|
#
53700 |
|
25-Nov-1999 |
julian |
Place netgraph entry into alphabetical position along with the misplaced entries that it was next to.
|
#
53653 |
|
24-Nov-1999 |
obrien |
Revert to rev 1.91. Revs 1.9{2,3} were causing problems for people with pre-Aug 4.0-CURRENT worlds and those with pre-GCC 2.95.2 worlds.
The problem with pre-Aug worlds is the installed Byacc and Bison doesn't have necessary changes to compile either GCC 2.95 or EGCS 1.1.x.
The problem with pre-GCC 2.95 worlds is libgcc is built with the wrong compiler. See rev 1.17 of src/gnu/lib/libgcc/Makefile (which used to live in src/gnu/usr.bin/cc/libgcc) + commit messge for details of the requirements.
|
#
53640 |
|
23-Nov-1999 |
marcel |
Fix some bugs and make some policy changes.
o Send libmytinfo back to the afterlife. It was revived by mistake, o Make gnu/lib/libgcc before making lib/libpam. This dependency has been overlooked in constructing the list, o make depend before make all. It's by using make depend that the dependency was found in the first place and we need it to prevent cleaning everything up before we start, o Don't specify -DNOINFO -DNOMAN for the libraries target. Let the target handle it. We can do away with a single run over the libs if we make everything while we're there and only install the libraries in the object tree.
|
#
53521 |
|
21-Nov-1999 |
marcel |
Build tools against the host's includes and libraries. Also, don't build make(1) twice and merge the bootstrap-libraries and libraries targets.
This change solves the bug where build-tools, compiled against the includes and libraries built from the sources failed to run on the host, as was the case with the sigset_t change. With this update, a buildworld will fail if the tools won't compile on the host. This is solved in further commits where backward compatibility of the tools is enlarged.
The libraries target has been fixed. The libraries are now build in the proper order, satisfying the dependencies. The comment is updated to reflect this.
The linux module and netboot have been removed from the list of tools. More to follow.
Reviewed by: bde, imp
|
#
53186 |
|
15-Nov-1999 |
marcel |
Remove CROSS_MAKE_FLAGS.
|
#
53152 |
|
14-Nov-1999 |
marcel |
${MACHINE} -> ${MACHINE_ARCH}
All Makefiles now use MACHINE_ARCH for the target architecture. Unification is required for cross-building.
Tags added to: sys/boot/Makefile sys/boot/arc/loader/Makefile sys/kern/Makefile usr.bin/cpp/Makefile usr.bin/gcore/Makefile usr.bin/truss/Makefile
usr.bin/gcore/Makefile: fixed typo: MACHINDE -> MACHINE_ARCH
|
#
52489 |
|
25-Oct-1999 |
julian |
install netgraph.h a bit earlier.
Submitted by: Boris Popov <bp@butya.kz>
|
#
52228 |
|
14-Oct-1999 |
bp |
Make libncp actually compiled.
Reviewed by: mdodd
|
#
51934 |
|
04-Oct-1999 |
peter |
Add libkvm to the includes target.
|
#
51482 |
|
20-Sep-1999 |
markm |
Minor (but important) comment change.
|
#
50900 |
|
04-Sep-1999 |
bde |
FIxed disorder in the comments about library build order.
|
#
50690 |
|
31-Aug-1999 |
markm |
Further preparation for tn3270's demise.
|
#
50640 |
|
30-Aug-1999 |
peter |
Update for ncurses5 aftermath..
|
#
50479 |
|
28-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
49551 |
|
08-Aug-1999 |
jdp |
Remove f2c-related stuff from the "includes" target and from a comment. Fixes broken make world.
|
#
49445 |
|
06-Aug-1999 |
jdp |
Add usr.sbin/elf2exe to the build-tools target on the Alpha. This fixes the make buildworld breakage in sys/boot/arc/loader.
|
#
48654 |
|
07-Jul-1999 |
imp |
Per requests from the community, commit rudimentary cross compilation support. I've been building world with these changes for months w/o ill effect. I've also managed to build the cross tool chain for MIPS with these patches.
Please note that the extent to which these patches work is largely dictated by how well our tool chains support the cross compilation. Building alpha binaries on i386 doesn't work. Supposedly building i386 binaries on alpha does work, but I've not verified it with these patches, however.
|
#
47736 |
|
04-Jun-1999 |
billf |
${.CURDIR} doesn't have to be /usr/src, especially in a cvs checkout. Make sure what is reported to the user is accurate.
Stolen From: mharo
|
#
47651 |
|
01-Jun-1999 |
billf |
'make update' in the ports directory.
|
#
46365 |
|
03-May-1999 |
obrien |
Document NO_FORTRAN.
|
#
46314 |
|
02-May-1999 |
markm |
Perl is moving up a maintenance version.
While I'm here - reorder crypto directories to better support dependancies. Perl and others like it better that way.
|
#
45852 |
|
20-Apr-1999 |
jkoshy |
Change 'exists()' constructs to refer to directories in ${.CURDIR}. Tested with a make world.
PR: misc/4395 Submitted by: J Wunsch Reviewed by: bde
|
#
45608 |
|
11-Apr-1999 |
des |
Don't build man page indices if NOMAN is defined.
PR: bin/11035 Submitted by: Chris Costello <chris@holly.dyndns.org>
|
#
45352 |
|
05-Apr-1999 |
obrien |
Clean up "lib-tools:", folding libgcc into the rest.
|
#
45310 |
|
04-Apr-1999 |
obrien |
Remove a lingering reference to libg++.
|
#
45278 |
|
03-Apr-1999 |
obrien |
Missed a gnu/usr.bin/cc/libgcc.
|
#
45261 |
|
03-Apr-1999 |
obrien |
EGCS will have some new includes that need to be installed.
|
#
45248 |
|
02-Apr-1999 |
peter |
Add libwrap to includes target, otherwise <tcpd.h> doesn't get installed in time to build inetd. (If you already have /usr/include/tcpd.h, the build doesn't fail. This mainly affects upgrades and 'make world' from systems more than a few weeks old)
|
#
45172 |
|
31-Mar-1999 |
obrien |
An earlier version of Rev 1.66 was reviewed by bde and the issues were hashed out with his gracious help.
|
#
45170 |
|
31-Mar-1999 |
obrien |
* Deal with libgcc's move from gnu/usr.bin/cc to gnu/lib. Move was necessary as libgcc should be built with the freshly built compiler and thus we must wait until the freshly built bits have been installed somewhere so we can use them. libgcc presence in gnu/usr.bin/cc/ gets in the way of building the new compiler. We could have either cd'ed to specific directories w/in gnu/usr.bin/cc/ and built and installed individual bits, or move libgcc out of the way and let our normal subdir building process work.
* Don't build libgcc in "bootstrap-libraries:" target it should not be assumed the currently installed compiler can correctly build libgcc. (as is the case for g++ 2.7.2 and EGCS' libgcc)
|
#
44355 |
|
01-Mar-1999 |
imp |
The legacy boot stuff is available only on i386, not all architectures which aren't the alpha. Test for MACHINE_ARCH == i386 rather than MACHINE_ARCH != alpha.
|
#
44313 |
|
27-Feb-1999 |
jkh |
Add a new flag, "WORLD", for telling certain tools that they're being build as part of a bootstrap.
|
#
43994 |
|
14-Feb-1999 |
des |
Ignore errors from chflags. This makes it possible to make installworld with DESTDIR set to an NFS-mounted file system.
|
#
43285 |
|
27-Jan-1999 |
jkh |
further refine the upgrade process.
|
#
43094 |
|
23-Jan-1999 |
markm |
More broken crypt(3) backout.
|
#
43061 |
|
22-Jan-1999 |
brandon |
One more fix to remove secure/lib/libcrypt from the build (both cases are now handled in lib/libcrypt, depending upon if secure/lib/libcrypt/crypt-des.c exists)
Reviewed by: Mark Murray
|
#
42885 |
|
20-Jan-1999 |
markm |
Help for Perl5 to make in cross-build environments. Submitted by: Eivind Eklund
|
#
42371 |
|
07-Jan-1999 |
eivind |
Don't do the ldconfig rescan if DESTDIR is set.
|
#
42364 |
|
07-Jan-1999 |
peter |
``Disable'' a.out 'make world', as per flag day notification on current and committers. A 'make aout-to-elf' is strongly encouraged. This isn't quite the end of the line for people who have a real problem with updating yet, but we've got to get this over and done with. Yes, it's bound to be a couple of bumpy couple of days.
|
#
42343 |
|
06-Jan-1999 |
bde |
Removed the weak spam of ${DESTDIR}/usr/include in the bootstrap target (see the previous log message). This works for bootstrapping from 2.2.7. It won't work for bootstrapping from 2.1.x, but that fails due to include problems earlier.
|
#
42285 |
|
04-Jan-1999 |
bde |
Backed out rev.1.49. It broke bootstrapping from 2.1.5 2.2.7 and probably other versions by spamming ${DESTDIR}/usr/include in much the same way as `make includes'.
Details for 2.2.7: the bootstrap target has always done a weak spam of ${DESTDIR}/usr/include; we depend on it not installing any significant anachronisms (it probably shouldn't touch the headers at all; however, we may be depending on it for things like the renaming of ts_nsec to ts_sec in <sys/time.h>). Rev.1.49 strengthens the spam to everything in src/include. For 2.2.7, this is not immediately fatal. However, the `make all' step in src/includes is not followed by a `make clean' step, so new rpc headers are not generated after we've bootstrapped rpcgen. This causes a fatal error much later when the old (generated) rpc headers are used with the current headers (sys/types.h and/or the non-generated rpc headers).
Details for 2.1.x: the bug is immediately fatal. It gives definition of errno that is not supported by 2.1.x's libc. The weak spam in the restored version avoids this problem by not installing errno.h. (Bootstrapping from 2.1.5 actually breaks much earlier.)
I think the header problems supposedly fixed by rev.1.49 were caused by using NOCLEAN and having the build fall over when the weakly spammed headers are active. Minor differences in the layout will then cause the .depend files to point to nonexistent headers. It is a feature for symlinks like errno.h -> sys/errno.h to not exist early.
The other change in rev.1.49 breaks building obj directories if NOCLEAN is set. It is only safe for _re_building with NOCLEAN set.
|
#
42223 |
|
01-Jan-1999 |
peter |
Reconnect pcvt hooks..
Reviewed by: core
|
#
42181 |
|
30-Dec-1998 |
bde |
Backed out previous commit. It depends on a.out utilities and libraries somehow being available even on pure elf systems.
|
#
42180 |
|
30-Dec-1998 |
bde |
Fixed bootstrapping of /usr/mdec/boot[12].
|
#
42128 |
|
28-Dec-1998 |
peter |
Dip my toes into the fire and zap the leftover lkm hooks.. It seems they try and recurse if the lkm dir exists for some reason but there isn't any Makefile there. (eg: stray files prevented cvs update -P from removing the empty dirs)
|
#
42103 |
|
27-Dec-1998 |
phk |
follow up to: Pre 3.0 branch cleanup casualty #4: pcvt
|
#
41973 |
|
21-Dec-1998 |
dillon |
Elf (and a.out?) rebuild of bootstrap tools appeared to be broken due to some tools requiring header files, such as errno.h, that are softlinks. The mini installation of include files in Makefile.inc1 wasn't doing the job, so it has been ripped out and replaced with a true make of the /usr/src/include/ directory (make all and make beforeinstall). I think the original idea was to save time by not installing unnecessary header files, but it doesn't really save all that much time.
Also, I have moved a NOCLEAN conditional to cover rebuilding the object tree 'Rebuilding the ${OBJFORMAT} obj tree' section. This may or may not be correct but it appears to function properly. If it is not correct we need to find another way to avoid scanning every single file in the entire source hierarchy for make restarts.
|
#
41722 |
|
13-Dec-1998 |
dillon |
Grr. removed. backed-out. sorry!
|
#
41720 |
|
13-Dec-1998 |
dillon |
This needs to be commited now to fix usbd for make world
|
#
41384 |
|
28-Nov-1998 |
jkh |
Revert previous commit; write idea, wrong way.
|
#
41380 |
|
28-Nov-1998 |
jkh |
Remove netboot from build order; it's not ready for the limelight and probably doesn't belong there anyway.
|
#
41258 |
|
20-Nov-1998 |
jdp |
Make sure libskey is built before libpam. It is required for one of the PAM modules.
Fix the comments describing the PAM dependencies to be consistent with other related comments.
|
#
41232 |
|
18-Nov-1998 |
jdp |
Add libpam to the "includes" and "libraries" targets.
Build the ordered list of libraries in a variable "_libs" before building any of them. This eliminates a little bit of duplicated code. More importantly, it makes it easier to include or exclude libraries with .if constructs, because the list can be built in multiple steps using "+=".
|
#
41217 |
|
18-Nov-1998 |
jdp |
Note the requirement that libcrypt be built before libkrb.
|
#
41166 |
|
15-Nov-1998 |
jb |
Remove share/info from build tools because it breaks the build when INFODIR is set.
|
#
41122 |
|
13-Nov-1998 |
jdp |
Add libradius and libtacplus to the includes target. Note their dependence on libmd.
|
#
40928 |
|
05-Nov-1998 |
msmith |
Typo , -> .
Submitted by: Shaun Courtney <shaun@emma.eng.uct.ac.za>
|
#
40922 |
|
05-Nov-1998 |
peter |
sys/modules/linux has a build-tools target
|
#
40902 |
|
04-Nov-1998 |
peter |
Add usr.bin/gensetdefs to build-tools; it is used for src/sys/modules and maybe for other things that use linker sets under ELF.
|
#
40479 |
|
17-Oct-1998 |
bde |
Don't add /usr/games to $PATH. Adding it here can only work for the `make world' case, and only made a difference for the evil NOTOOLS case of `make world' since games tools are installed in ${TOOLROOT}/usr/bin if they are built, but the PR was for normal builds. This is fixed in rev.1.14 of src/games/fortune/datfiles/Makefile.
PR: 7936
|
#
40450 |
|
16-Oct-1998 |
bde |
Fixed missing directories in the libraries target: - in the elf case, csu must be built and installed before any shared libraries. It wasn't, but we usually used a stale version that happened to work. E.g., in the !NOTOOLS case we used the version built and installed by the bootstrap-libraries target. Only cross building was completely broken. - the shared libmd must be built and installed before any shared libraries that link to it. It wasn't, but we sometimes used a stale version that happened to work, as above. For elf, this caused bogus linkage of the target shared libatm and libopie with the host static libmd. It isn't clear what this actually breaks, except for cross compiling. For aout, the shared libmd is not built at all, so all shared libraries linked to libmd may be broken. The linker reports them by spewing RRS warnings.
Note that building src/lib early and building subdirs of src/lib in the correct order in src/lib/Makefile doesn't help, since the subdirs are all built before any are installed.
Fixed bitrot in the comments about the ordering requirements.
|
#
40298 |
|
13-Oct-1998 |
rnordier |
Include btxld in build-tools only for i386.
|
#
40283 |
|
13-Oct-1998 |
jkh |
Conditionalise boot block building on i386.
|
#
40234 |
|
11-Oct-1998 |
rnordier |
Remove sys/boot from the install as well.
|
#
40233 |
|
11-Oct-1998 |
rnordier |
In src/Makefile.inc1: Remove /sys/boot from legacy-build. Add btxld to build-tools. In src/sys/Makefile: Add /sys/boot for i386 ELF.
I'm still not sure why the new boot code was being built along with the legacy stuff, which meant a completely wrong default environment for it.
This may well still be the wrong way to go about this, but it can't work all that much worse than it has been.
|
#
40208 |
|
11-Oct-1998 |
peter |
Comment about libm and libmd being needed for some libraries. Prompted by: bde
Also. Don't build & install legacy lkm's when NOLKM has been set. Otherwise it gets built in the src tree rather than obj, because the previous 'make obj' at the start of legacy-build does respect NOLKM.
|
#
40193 |
|
10-Oct-1998 |
jkh |
Move OBJFORMAT hack to the correct line; what can I say, it was very late. :)
|
#
40175 |
|
10-Oct-1998 |
kato |
PC-98 uses different boot code from IBM-PC. So, MACHINE is used instead of MACHINE_ARCH.
Submitted by: Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
|
#
40174 |
|
10-Oct-1998 |
jkh |
Quick commit to see if I can't fix Robert's i386/boot problem in one line. If this doesn't work, we'll try something else.
|
#
40167 |
|
10-Oct-1998 |
jkh |
Don't chain makes with &&; apparently this is evil for parallelism. According to: bde
|
#
40135 |
|
09-Oct-1998 |
jkh |
Clean up the boot targets a bit. Suggested by: jdp
|
#
40058 |
|
08-Oct-1998 |
jkh |
Make both types of boot targets.
|
#
39971 |
|
05-Oct-1998 |
msmith |
Add libstand to the includes target.
|
#
39663 |
|
26-Sep-1998 |
sos |
Backout my last commit. Find another way to get the LKM's rebuild.
|
#
39637 |
|
25-Sep-1998 |
sos |
Build the LKM's both on aout & ELF systems.
Reviewed by: jkh
|
#
39593 |
|
23-Sep-1998 |
obrien |
Add printf(1) to the list of early-build tools. (needed to build Amd, and causing the -jN crowd problems w/o being here) ((I will revisit the usage of printf(1) in building Amd at a later time))
|
#
39586 |
|
23-Sep-1998 |
markm |
Complete the Perl NOSHARED repair. I had not ensured that the shared library was constructed early enough, so perl was linking against the static lib. This was breaking perl under ELF, as perl could not load shared objects (in fact would dump core).
|
#
39542 |
|
21-Sep-1998 |
jb |
Remove the bootstrap-rtld target which wasn't needed.
Install the rest of the legacy libraries (like libgcc.a, libl.a).
Add games to the user's path to avoid the temptation for people to hack paths to unsuitable tools.
|
#
39423 |
|
17-Sep-1998 |
andreas |
Purely cosmetic but useful change. Make output of make world more readable for grep. Now a grep '>>>' world.log shows you the single stages through which the bootstrap process went as discussed on -current. Could be used to debug the bootstrap mechanism in case of trouble more easily. Would be fine if any further @echo "..." messages containing a description, what's going on, could use the new format: @echo ">>> ..."
|
#
39412 |
|
17-Sep-1998 |
phk |
Two patches from the HARP people:
Various Makefile related fixes.
-Wformat fixes.
Submitted by: Mike Spengler <mks@networkcs.com>
|
#
39402 |
|
17-Sep-1998 |
gibbs |
libscsi is obsoleted by CAM.
|
#
39271 |
|
15-Sep-1998 |
phk |
(this is an extract from src/share/examples/atm/README)
=================================== HARP | Host ATM Research Platform ===================================
HARP 3
What is this stuff? ------------------- The Advanced Networking Group (ANG) at the Minnesota Supercomputer Center, Inc. (MSCI), as part of its work on the MAGIC Gigabit Testbed, developed the Host ATM Research Platform (HARP) software, which allows IP hosts to communicate over ATM networks using standard protocols. It is intended to be a high-quality platform for IP/ATM research.
HARP provides a way for IP hosts to connect to ATM networks. It supports standard methods of communication using IP over ATM. A host's standard IP software sends and receives datagrams via a HARP ATM interface. HARP provides functionality similar to (and typically replaces) vendor-provided ATM device driver software.
HARP includes full source code, making it possible for researchers to experiment with different approaches to running IP over ATM. HARP is self-contained; it requires no other licenses or commercial software packages.
HARP implements support for the IETF Classical IP model for using IP over ATM networks, including:
o IETF ATMARP address resolution client o IETF ATMARP address resolution server o IETF SCSP/ATMARP server o UNI 3.1 and 3.0 signalling protocols o Fore Systems's SPANS signalling protocol
What's supported ---------------- The following are supported by HARP 3:
o ATM Host Interfaces - FORE Systems, Inc. SBA-200 and SBA-200E ATM SBus Adapters - FORE Systems, Inc. PCA-200E ATM PCI Adapters - Efficient Networks, Inc. ENI-155p ATM PCI Adapters
o ATM Signalling Protocols - The ATM Forum UNI 3.1 signalling protocol - The ATM Forum UNI 3.0 signalling protocol - The ATM Forum ILMI address registration - FORE Systems's proprietary SPANS signalling protocol - Permanent Virtual Channels (PVCs)
o IETF "Classical IP and ARP over ATM" model - RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5" - RFC 1577, "Classical IP and ARP over ATM" - RFC 1626, "Default IP MTU for use over ATM AAL5" - RFC 1755, "ATM Signaling Support for IP over ATM" - RFC 2225, "Classical IP and ARP over ATM" - RFC 2334, "Server Cache Synchronization Protocol (SCSP)" - Internet Draft draft-ietf-ion-scsp-atmarp-00.txt, "A Distributed ATMARP Service Using SCSP"
o ATM Sockets interface - The file atm-sockets.txt contains further information
What's not supported -------------------- The following major features of the above list are not currently supported:
o UNI point-to-multipoint support o Driver support for Traffic Control/Quality of Service o SPANS multicast and MPP support o SPANS signalling using Efficient adapters
This software was developed under the sponsorship of the Defense Advanced Research Projects Agency (DARPA).
Reviewed (lightly) by: phk Submitted by: Network Computing Services, Inc.
|
#
39226 |
|
15-Sep-1998 |
gibbs |
Hook up beforeinstall targets for libcam and libdevstat
|
#
39034 |
|
10-Sep-1998 |
obrien |
I don't want to be the only one to use ``cut''. Use ``sed'' instead.
|
#
39033 |
|
10-Sep-1998 |
obrien |
Add ``usr/bin/cut'' to "build-tools" target. Used in usr.sbin/amd/include/newvers.sh.
|
#
39027 |
|
09-Sep-1998 |
markm |
Remove the NOPERL block to building Perl5.
Perl 5 will rebuild/bootstrap itself next time a make world is done with this in effect.
|
#
39018 |
|
09-Sep-1998 |
markm |
Add the Perl5 bootstrap tools.
|
#
38975 |
|
09-Sep-1998 |
markm |
Another place to set NOPERL.
|
#
38857 |
|
05-Sep-1998 |
asami |
Remove tcl from /usr/src, according to prior agreement. BTW, tcl-8.0 *is* a port so there is nothing to be done on that side now.
Approved by: jkh === To: "Jordan K. Hubbard" <jkh@time.cdrom.com> cc: Andreas Klemm <andreas@klemm.gtn.com>, current@freebsd.org Subject: Re: Make this a relese coordinator decision (was Re: ports-current/packages-current discontinued) From: David Greenman <dg@root.com> Date: Sun, 03 Aug 1997 20:23:31 -0700
>decision is, I'll respect it.
Another chance to architect people's principles...I can hardly wait. Seems quite appropriate for a Sunday - I just need to get one of those collection plates (and money envelopes) so I can profit, too. :-) Tcl stays in /usr/src for now, but it needs to be kept up to date; same for perl. If Jordan doesn't have "setup" (written in tcl) ready for 3.0, then tcl will be yanked prior to the 3.0 release (and made into a port). As for the ports tree only supporting the last FreeBSD release, this seems sensible to me. The "ports" have always been a moving target between releases and the problem is only going to get worse when we expand to supporting other processor architectures. In any case, Satoshi is and always has been in charge of the ports tree and whatever he wants to do with it (within reason :-)) is his decision. Does this cover the issue completely? I admit to deleting messages in this thread with unusual fervor (people have FAR too much time on their hands!). There's a fair bit of reasoning behind the above, but since everyone is sick of arguing about this, I'll spare you the analysis.
-DG
David Greenman Core-team/Principal Architect, The FreeBSD Project
|
#
38856 |
|
05-Sep-1998 |
jb |
Change i386 in a few paths to ${MACHINE} to support MACHINE=pc98.
|
#
38785 |
|
03-Sep-1998 |
jb |
Only run ldconfig if the OBJFORMAT is aout.
|
#
38721 |
|
01-Sep-1998 |
jb |
Force NOMAN and NOINFO on legacy-install as well as legacy build.
|
#
38715 |
|
01-Sep-1998 |
jb |
Add a target to check the consistency of the make OBJFORMAT variable with the object format determined by objformat. This prevents foot shooting (a form of boot scooting for hackers?) where local changes to /etc/make.conf or /etc/make.conf.local try to override OBJFORMAT in an incomplete way.
|
#
38711 |
|
31-Aug-1998 |
jb |
MACHINE -> MACHINE_ARCH to allow PC98 to define MACHINE=pc98.
Submitted by: Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
|
#
38666 |
|
31-Aug-1998 |
jb |
E-day build system changes.
- Moved most of the guts of Makefile to Makefile.inc1 to become the backend for the build system. - The new Makefile doesn't suffer from problems including the wrong sys.mk because it doesn't use anything in there or bsd.own.mk. So, from now on, the proper build command is just `make world' (or buildworld). - The intermediate makefiles called Makefile.inc0 and Makefile.upgrade fiddle with the OBJFORMAT and MAKEOBJDIRPREFIX variables so that both aout and elf object trees can coexist. Makefile.upgrade contains the aout->elf transition build. - A cross build environment is now very close to reality. Specifying TOOLDIR, setting OBJFORMAT and MAKEOBJDIRPREFIX allow that.
See the comments in Makefile for more info.
|