summaryrefslogtreecommitdiffstats
path: root/Makefile.inc1
Commit message (Collapse)AuthorAgeFilesLines
* Merge from CheriBSD:brooks2014-01-301-9/+5
| | | | | | | | | | | | 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
* Fix the build so -DNO_TESTS is passed in various phases that don'tasomers2014-01-241-8/+14
| | | | | | | | | | | 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
* Replace the old unix_seqpacket and unix_seqpacket_exercise tests, whichasomers2014-01-231-1/+1
| | | | | | | | | | | 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
* Generate /var/db/services.db during 'make distribution' so that it isjhb2014-01-221-1/+1
| | | | | | | | present during new installs. Update etcupdate and mergemaster to ignore the generated file. Tested by: gjb (release build) MFC after: 1 month
* Remove aicasm as a build dependency. It made sense when the ahc and ahdscottl2014-01-071-9/+0
| | | | | | | | | | | | 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.
* Please welcome casperd daemon. It (and its services) will be responsible forpjd2013-12-021-1/+7
| | | | | | | | | | | | | | | | | | | 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
* Move my simple logging API to a separate library. It is now already usedpjd2013-12-011-1/+3
| | | | | | | | | | 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
* Attempt to move the POSIX iconv* symbols out of runtime linker space.peter2013-11-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Move all atf directories to the tests mtree.jmmv2013-11-161-1/+1
| | | | | | | | | 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)
* Strip the -pN patch level from the VERSION string which gets encoded intocperciva2013-11-131-1/+1
| | | | | | | | | | 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
* This change builds kernel tools based on the same assumption as buildingian2013-11-091-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Subsume the functionality of MK_ATF into MK_TESTS.jmmv2013-11-081-1/+1
| | | | | | | | | | 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)
* Add libatf-c++ to the prebuild libs.jmmv2013-11-081-2/+2
| | | | | | | | | | 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)
* Fix buildworld when WITH_TESTS is enabled.jmmv2013-11-081-12/+16
| | | | | | | | | | | | | 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)
* Build kernel tools along with other tools during world build, as well asian2013-11-081-0/+1
| | | | | | 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'.
* Instead of modeling the kernel-tools build after the bootstrap tools, buildian2013-11-071-14/+4
| | | | | | | | | 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.
* Do not build aicasm with the cross-tools/kernel-toolchain, instead add aian2013-11-071-3/+29
| | | | | | | | | 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.
* Revert r257730:gjb2013-11-061-28/+2
| | | | | | 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)'
* Do not build aicasm with the cross-tools/kernel-toolchain, instead add aian2013-11-061-2/+28
| | | | proper kernel-tools step/target modeled after the world build-tools stuff.
* Rework the aicasm build machinery so that it gets built along with toolchainian2013-11-041-20/+3
| | | | | | | | | | 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
* In r257079, SRCDIR is pointed to ${.CURDIR} when not set. However,delphij2013-10-291-4/+10
| | | | | | | | | | | | | | | 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
* Fix build. Both clang and gcc are required on pc98.nyan2013-10-291-1/+6
| | | | X-MFC with: r256915
* Set up the /usr/tests hierarchy.rpaulo2013-10-251-0/+7
| | | | | | | | | | | | | | | | | | | 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
* Fix build host pollution by avoiding calling 'uname -srp' togjb2013-10-241-2/+6
| | | | | | determine values for 'VERSION'. Looked at by: cperciva
* Revert r256921 to prevent error output when in the wrong directory.gjb2013-10-241-5/+2
| | | | | | | This should have been reverted with the stable/10/Makefile.inc1 revert, but apparently my commit did not go through. Discussed with: cperciva (originally)
* Thou shalt not leak build host state into the system being compiled.cperciva2013-10-221-2/+5
| | | | | | | | | | | | 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
* Stop conflating WITHOUT_CLANG with WITHOUT_CLANG_IS_CC. This allowsbrooks2013-10-221-4/+2
| | | | | | | | | | | 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
* Fix 'make delete-old-libs' and 'make check-libs' to delete .debugbdrewery2013-10-211-0/+12
| | | | | | | | | | | | | | 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
* Allow 'make xdev' to work when DESTDIR is set.ian2013-10-161-3/+4
| | | | Submitted by: Patrick Kelsey <kelsey@ieee.org>
* Bump OS versions in the toolchain triples to 11.0, and bump thedim2013-10-101-1/+1
| | | | | | __FreeBSD_cc_version predefined macros in clang and gcc. Approved by: re (gjb)
* Revert-and-redo r255955: the sort -r should be added to delete-old-dirs.delphij2013-10-011-2/+2
| | | | Approved by: re (gjb)
* Reverse directories order when doing 'make delete-old-dir'. Thisdelphij2013-09-301-1/+1
| | | | | | | | ensures subdirectories gets removed before their parents when doing make delete-old. Approved by: re (gjb) MFC after: 2 weeks
* Remove BIND.des2013-09-301-5/+1
| | | | Approved by: re (gjb)
* Don't parse NO_ROOT metadata for extra kernels if NO_ROOT isn't defined.jhb2013-09-241-0/+2
| | | | | Approved by: re (gjb) MFC after: 1 week
* Remove the armv6eb architecture as it is unused, and almost certainlyandrew2013-09-221-1/+1
| | | | | | | | 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)
* Fix 'make installcheck' to check for missing UID/GID as well, brokenbdrewery2013-09-181-7/+10
| | | | | | | | | | | | | | | | 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)
* Add unbound to the list of UIDs / GIDs to check fore before installing.des2013-09-171-0/+4
| | | | Approved by: re (blanket)
* Clean up the OpenSSH build. It is now possible to build most componentsdes2013-09-101-2/+9
| | | | | | | | | | 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)
* Create a private library directory (LIBPRIVATEDIR) for libraries whichdes2013-09-081-0/+1
| | | | | | | | | | | | | | 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)
* - Fix LOCAL_MTREE so it properly handles multiple files and quotesbdrewery2013-08-301-3/+3
| | | | | | | | | | 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
* Update nvi-1.79 to 2.1.1-4334a8297fpeter2013-08-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* Generate debug data release dist setsemaste2013-07-231-1/+29
| | | | | | | | 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
* Sprinkle some .MAKE magicsjg2013-07-061-13/+13
|
* Use && rather than ; when success of previous job matters.sjg2013-06-301-38/+38
|
* Simplify the hierarchy target's logic. [0]brooks2013-06-141-6/+8
| | | | | | | | | 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
* Flag recursive make targets with .MAKEsjg2013-06-141-0/+2
| | | | | | | | 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
* Be more agressive about bootstrapping ctfmerge and ctfconvert sobrooks2013-06-131-2/+2
| | | | | | | builds from existing releases have a chance of working properly. Sponsored by: DARPA, AFRL MFC after: 3 days
* Add a new knob WITH_DEBUG_FILES to control the building of standaloneemaste2013-06-071-0/+15
| | | | | | | | | | | | | | | | 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.
* release: Allow empty extra distributions.jilles2013-06-051-1/+1
| | | | | | | | | | 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
* Restore (at least temporarily) SHARED=symlinks in the build includesbrooks2013-05-301-1/+1
| | | | | | stage of buildworld. This was accidentally included in r251140. Reported by: jhb
OpenPOWER on IntegriCloud