summaryrefslogtreecommitdiffstats
path: root/share/mk
Commit message (Collapse)AuthorAgeFilesLines
* Import HyperV Key-Value Pair (KVP) driver and daemon code by Microsoft,delphij2014-09-131-0/+7
| | | | | | | | | | | | | | many thanks for their continued support of FreeBSD. While I'm there, also implement a new build knob, WITHOUT_HYPERV to disable building and installing of the HyperV utilities when necessary. The HyperV utilities are only built for i386 and amd64 targets. This is a stable/10 candidate for inclusion with 10.1-RELEASE. Submitted by: Wei Hu <weh microsoft com> MFC after: 1 week
* Remove many false positives with make checkdpaddngie2014-09-101-2/+4
| | | | | | | | | | | | | | | | - Reduce DPADD and LDADD in checkdpadd to -l<foo> - Skip over -Wl,[es]*-group because -Wl,--end-group and -Wl,--start-group might be required to properly link objects (see usr.bin/clang/lldb as an example) This caveat has been present for a while with some components of the build. However, these false positives were made more more apparent after r269648. Phabric: D635 Reviewed by: jmmv (an earlier version) PR: 192730 MFC after: 2 weeks
* Define _DTRACE_VERSION in sdt.h rather than setting it manually. This ismarkj2014-09-021-1/+1
| | | | | similar to what illumos does, and makes it easier to enable USDT probes in third-party software that doesn't make use of the system makefiles.
* Allow standalone debug for non-default ${PROG} targetsemaste2014-09-021-3/+1
| | | | | | | | | | | | | | This allows WITH_DEBUG_FILES to produce standalone debug for the ELF runtime linker. We previously disabled standalone debug files for bsd.prog.mk consumers that included a non-default ${PROG} target, but this is not required. Consumers that do not support standalone debug are still handled by disabling it for statically linked binaries, and for those that specify a non-default binary format. Sponsored by: DARPA, AFRL
* Add -Wthread-safety to WARNS=6.ed2014-09-011-0/+3
| | | | | | | | | | While there, add a NO_WTHREAD_SAFETY flag that can be used to disable this specific warning flag. Disable it for auditdistd. We can easily patch up auditdistd to have the right annotations to build, but as auditdistd is intended to be portable across other operating systems, it's not worth the effort. Approved by: brueffer@
* Introduce missing definition for LIBTERMCAPWngie2014-08-261-0/+1
| | | | | | | | | Some Makefiles expect this value to exist Approved by: rpaulo (mentor) MFC after: 5 days Phabric: D675 (as part of a larger diff) PR: 192762
* Fix "make checkdpadd" for lib/libc when MK_SSP != nongie2014-08-251-0/+1
| | | | | | | | | | Add LIBSSP_NONSHARED to bsd.libnames.mk and append LIBSSP_NONSHARED to DPADD in lib/libc when MK_SSP != no Approved by: rpaulo (mentor) MFC after: 3 days Phabric: D675 (as part of a larger diff) PR: 192728
* Revert r267233 for now. PIE support needs to be reworked.bdrewery2014-08-192-14/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Make the libbsdstat useful again.adrian2014-08-131-0/+4
|
* Make sure the DTrace header files are built before depend and beforerpaulo2014-08-133-2/+7
| | | | | | | | | | | | | | | the build starts. This adds a new variable DHDRS that contains a list of all DTrace header files. Then, we use the beforedepend hook to make sure the heaeder files are built. Introduce a beforebuild dependency (from projects/bmake) based on feedback from Simon J. Gerraty. This lets us generate the header files without running make depend. Reviewed by: sjg, imp MFC after: 3 days
* Revert r269839.rpaulo2014-08-111-1/+1
| | | | | | | This doesn't work like I expected and the if clause is never matched. It turns out that the problem with the older make is unrelated. MFC after: 3 days
* Add .d files to the reverse matching pattern in bsd.dep.mk to accountrpaulo2014-08-111-1/+1
| | | | | | | | for source file dependencies. This follows the .y and .l behaviour. MFC after: 3 days
* Fix another typoe in the definition of DTrace SOBJS.rpaulo2014-08-111-1/+1
| | | | MFC after: 3 days
* bsd.dep.mk: use the empty() function with the check for .d files.rpaulo2014-08-111-1/+1
| | | | | | Seems to work better with the old make. MFC after: 3 days
* Fix an error in the dependency of the DTrace object file.rpaulo2014-08-111-1/+1
| | | | MFC after: 3 days
* Fix a few problems with the USDT probes:rpaulo2014-08-101-8/+13
| | | | | | | | * Include OBJDIR to make sure the generated file is found; * Simplify the definition of OBJS; * Add targets for shared objects and for profiled objects. MFC after: 3 days
* Make libohash a proper internallib instead of hidding it in m4bapt2014-08-061-0/+4
| | | | | mandoc development seems to be also using ohash so prepare to share the code when needed
* Rework privatelib/internallibbapt2014-08-064-15/+55
| | | | | | | | | | | | | | Make sure everything linking to a privatelib and/or an internallib does it directly from the OBJDIR rather than DESTDIR. Add src.libnames.mk so bsd.libnames.mk is not polluted by libraries not existsing in final installation Introduce the LD* variable which is what ld(1) is expecting (via LDADD) to link to internal/privatelib Directly link to the .so in case of private library to avoid having to complexify LDFLAGS. Phabric: https://phabric.freebsd.org/D553 Reviewed by: imp, emaste
* We do not ever want _srcconf_included_ as MAIN target.sjg2014-07-281-1/+1
|
* Reviewed by: impsjg2014-07-261-1/+2
| | | | | LDFLAGS is supposed to be given to CC not LD. Define _LDFLAGS as a filtered version of LDFLAGS safe to give to LD
* Document an important, but easy to overlook without grepping theimp2014-07-251-1/+3
| | | | entire tree, detail about LDFLAGS.
* bsd.lib.mk does not add OBJS etc to CLEANFILES so does not automaticallysjg2014-07-222-2/+11
| | | | | | | | | | get them flagged as .NOPATH. This hurts people who don't use obj dirs. Since its clean target seprate rm's for things, use NOPATH_FILES as list to collect things that need .NOPATH. bsd.obj.mk will add CLEANFILES to NOPATH_FILES and do the deed if needed. Reviewed by: sbruno
* Older versions of flex (like the one used in FreeBSD <= 9) expect thedes2014-07-201-1/+1
| | | | | | | | output file name to follow the -o flag immediately, with no intervening whitespace. Reported by: ian@ MFC after: 1 week
* Use -o (output to file) instead of -t (print to stdout) and a redirect.des2014-07-191-1/+1
| | | | MFC after: 1 week
* Enable MK_TESTS by default, take 2.jmmv2014-07-161-1/+1
| | | | | | This is a redo of r267424, which was reverted in r267432 because it broke "make buildworld" from FreeBSD 9.x. This issue has been resolved and this change is still "make tinderbox" clean.
* Remove bsd.dtrace.mk.rpaulo2014-07-121-1/+0
| | | | MFC after: 3 weeks
* Optimisation: replace ${_D:R} with just ${_D}.rpaulo2014-07-121-2/+2
| | | | MFC after: 3 weeks
* Automatically build and link DTrace USDT probes.rpaulo2014-07-122-65/+19
| | | | | | This completely replaces bsd.dtrace.mk which never worked reliably. MFC after: 3 weeks
* Make MK_GNUCXX mean "build the libstdc++ and libsupc++ libraries" andimp2014-07-101-2/+3
| | | | | | | 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.
* The GNU texinfo and GNU info pages are not built and installedbapt2014-07-101-1/+1
| | | | | | | anymore, WITH_INFO knob has been added to allow to built and install them again. Reviewed by: imp
* Now that pc98 no longer needs gcc to compile boot2, remove the specialimp2014-07-101-8/+1
| | | | case and treat it just like i386.
* The GNU readline library is now an INTERNALLIB - that is, it isbapt2014-07-091-2/+0
| | | | | | | | | | statically linked into consumers (GDB and variants) in the base system, and the shared library is no longer installed. That also allows ports to be able to use a modern version of readline PR: 162948 Reviewed by: emaste
* Fix atf-sh's integration_testjmmv2014-07-093-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | With the move of atf-sh into /usr/libexec in r267181, some of the tests in the integration_test program broke because they could not execute atf-sh from the path any longer. This slipped through because I do have a local atf installation in my home directory that appears in my path, hence the tests could still execute my own version. Fix this by forcing /usr/libexec to appear at the beginning of the path when attempting to execute atf-sh. To make upgrading easy (and to avoid an unnecessary entry in UPDATING), make integration_test depend on the Makefile so that a rebuild of the shell script is triggered. This requires a hack in the *.test.mk files to ensure the Makefile is not treated as a source to the generated program. Ugly, I know, but I don't have a better way of doing this at the moment. Will think of one once I address the TODO in the *.test.mk files that suggests generalizing the file generation functionality. PR: 191052 Reviewed by: Garrett Cooper
* Support CXXFLAGS.${MACHINE_ARCH} as well as CFLAGS. This allows differentian2014-07-081-0/+1
| | | | C++ options for toolchain versus target when cross-building.
* Remove ia64.marcel2014-07-073-9/+2
| | | | | | | | | | | | | | | | | This includes: o All directories named *ia64* o All files named *ia64* o All ia64-specific code guarded by __ia64__ o All ia64-specific makefile logic o Mention of ia64 in comments and documentation This excludes: o Everything under contrib/ o Everything under crypto/ o sys/xen/interface o sys/sys/elf_common.h Discussed at: BSDcan
* bsd.dep.mk: add support for generating DTrace header files from .d files.rpaulo2014-07-051-0/+12
| | | | MFC after: 3 weeks
* Merge r267837 from ^/projects/release-debugdist:gjb2014-07-011-1/+2
| | | | | | | | | When building world when WITH_DEBUG_FILES is set, avoid building ar(1) archives with '-g'. Tested on: head@r267801 Reviewed by: emaste, imp Sponsored by: The FreeBSD Foundation
* Rename the WITHOUT_VT_SUPPORT knob to WITHOUT_VTemaste2014-06-301-1/+1
| | | | | | | | | 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
* Create a mechanism for providing fine-grained build order dependenciesian2014-06-151-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | during SUBDIR_PARALLEL builds. This augments the coarse .WAIT mechanism, which is still useful if you've got a situation such as "almost everything depends on A and B". Because the parallel subdir mechanism uses non-obvious mangling of target names, which should probably remain a private detail of the implementation, it's not easy to do things like "libfoo: libbar", so instead the new mechanism lets you set a variable that lists dependencies: SUBDIR_DEPEND_libfoo= libgroodah libpouet Note that while I'm using libraries as an example here, it really has nothing to do with the generated library files. This is really saying "build in directory libfoo after building in the libgroodah and libpouet directories." This updates lib/Makefile with dependency information based on the old almost-accurate comment block and by combing through lib/* makefiles looking for LDADD dependencies to other libraries within lib/*. Reviewed by: Jia-Shiun Li <jiashiun@gmail.com>
* Attach the CUSE library and kernel module to the default FreeBSDhselasky2014-06-131-0/+1
| | | | builds. Bump the FreeBSD version number.
* Revert r267424 and r267425:gjb2014-06-131-1/+1
| | | | | | | | More exploration will be needed in order to silence the tinderbox mails caused by setting WITH_TESTS=1 by default. Ref: http://tinderbox.freebsd.org/tinderbox-head-build-HEAD-amd64-amd64.full With hat: re
* Enable MK_TESTS by default.jmmv2014-06-121-1/+1
| | | | | | | | | | This was never intended to be off by default but was done this way because the initial patches broke the build. Things seem stable now (have been so for a while too) and "make tinderbox" is clean so let's try again. Announced in freebsd-current; all reported shortcomings have been addressed.
* Put the test suite in its own tests.txz distribution file.jmmv2014-06-102-0/+11
| | | | | | | | | | | | | | 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
* Ensure files are created during the build when using bsd.subdir.mk.jmmv2014-06-092-4/+6
| | | | | | | | | | | | | | | | | | | | | | When FILES is defined in a Makefile that _also_ includes bsd.subdir.mk, the build of the files (if any) was not properly triggered during the build stage. This was because bsd.files.mk did not define the buildfiles target if it was already defined... and bsd.subdir.mk defined this target on its own, thus causing a conflict. Fix this by unconditionally defining buildfiles from bsd.files.mk; this is safe because nothing else in the tree needs to redefine this and because the target itself contains no commands: all it does is define dependencies. Also ensure that bsd.files.mk is always pulled in by bsd.test.mk regardless of what bsd.prog.mk does. These fixes allow "make installworld" to run cleanly on a system with read-only src and obj trees. This is "make tinderbox" clean. Reviewed by: imp Obtained from: jilles
* In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE.bdrewery2014-06-082-1/+14
| | | | | | | | | | | | | | | | 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]
* Move atf-sh from /usr/bin/ to /usr/libexec/jmmv2014-06-061-1/+1
| | | | | | | | | | | | | In r266650, we made libatf-c and libatf-c++ private libraries so that no components outside of the source tree could unintendedly depend on them. This change does the same for the "atf-sh library" by moving the atf-sh interpreter from its public location in /usr/bin/ to the private location in /usr/libexec/. Our build system will ensure that our own test programs use the right binary, but users won't be able to depend on atf-sh by "mistake". Committing this now to ride the UPDATING notice added with r267172 today.
* Add the *_TESTS_SH_SED_* functionality to atf.test.mk.jmmv2014-06-061-1/+5
| | | | | | | | This exists already in plain.test.mk and tap.test.mk and should have been added to atf.test.mk too when the feature was first introduced. (It is probably time to address the related TODOs but I will do that separately.)
* Install VT support filesemaste2014-06-051-0/+1
| | | | | | They can be disabled by setting WITHOUT_VT_SUPPORT=yes in src.conf. Sponsored by: The FreeBSD Foundation
* Better documentation for why KERBEROS and OPENSSH are here, and whereimp2014-05-272-3/+8
| | | | | | | to look for all the other options that used to be here (well, in bsd.own.mk) Suggested by: des@
* Change libatf-c and libatf-c++ to be private libraries.jmmv2014-05-252-2/+4
| | | | | | | | | | | | | | We should not be leaking these interfaces to the outside world given that it's much easier for third-party components to use the devel/atf package from ports. As a side-effect, we can also drop the ATF pkgconfig and aclocal files from the base system. Nothing in the base system needs these, and it was quite ugly to have to get them installed only so that a few ports could build. The offending ports have been fixed to depend on devel/atf explicitly. Reviewed by: bapt
OpenPOWER on IntegriCloud