summaryrefslogtreecommitdiffstats
path: root/share/mk
Commit message (Collapse)AuthorAgeFilesLines
* MFC r267176, r267181, r268445 (ATF-related commits):ngie2014-09-093-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Phabric: https://reviews.freebsd.org/D706 Approved by: rpaulo (mentor) Approved by: re (gjb) Reviewed by: jmmv Sponsored by: EMC / Isilon Storage Division r267176: Add the *_TESTS_SH_SED_* functionality to atf.test.mk. 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.) r267181: Move atf-sh from /usr/bin/ to /usr/libexec/ 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. r268445: Fix atf-sh's integration_test 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
* MFC r270976: Allow standalone debug for non-default ${PROG} targetsemaste2014-09-081-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 Approved by: re
* MFC r266650, r267172 (both by jmmv):ngie2014-08-312-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r266650: Change libatf-c and libatf-c++ to be private libraries. 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 r267172: Homogenize libatf-* version numbers with upstream. The libatf-* major version numbers in FreeBSD were one version ahead of upstream because, when atf was first imported into FreeBSD, the upstream numbers were not respected. This is just confusing and bound to cause problems down the road. Fix this by taking advantage of the fact that libatf-* are now private and that atf is not yet built by default. However, and unfortunately, a clean build is needed for tests to continue working once "make delete-old-libs" has been run; hence the note in UPDATING. Phabric: D701 Approved by: jmmv (maintainer, mentor)
* MFC r270519:ngie2014-08-281-0/+1
| | | | | | | | | | | Fix "make checkdpadd" for lib/libc when MK_SSP != no Add LIBSSP_NONSHARED to bsd.libnames.mk and append LIBSSP_NONSHARED to DPADD in lib/libc when MK_SSP != no Approved by: rpaulo (mentor) Phabric: D675 (as part of a larger diff) PR: 192728
* MFH (r264367): add RANLIBFLAGS and set timestamps in static libraries to 0des2014-08-242-4/+7
|
* MFH (r268877, r268921): use -o instead of a redirect.des2014-08-231-1/+1
|
* MFC r264927 by imp:emaste2014-08-211-1/+1
| | | | NO_DEBUG_FILES -> MK_DEBUG_FILES=no in last remaining place.
* MFC r266473,267331,267511:ian2014-08-192-6/+25
| | | | | | | | | | | | | | | | Use an intermediate target to associate with _SUBDIR which is marked .MAKE this allows make -n to do tree walks as expected without doing anything else (as intended). Use prefix _sub. to help avoid conflict with any real target. Put the test suite in its own tests.txz distribution file. Force all the contents of /usr/tests to go into a separate distribution file so that users of binary releases can easily choose to not install Create a mechanism for providing fine-grained build order dependencies during SUBDIR_PARALLEL builds. This augments the coarse .WAIT mechanism, which is still useful if you've got a situation such as "almost everything depends on A and B".
* MFC r268300 r268541 r268544 r268565 r269775 r269838 r269839 r269840rpaulo2014-08-135-69/+32
| | | | | | r269842 r269844 r269899: BSD make support for generating and compiling USDT DTrace probes.
* MFC r268300:rpaulo2014-07-311-0/+12
| | | | | bsd.dep.mk: add support for generating DTrace header files from .d files.
* MFC r263373, r268402ian2014-07-251-0/+5
| | | | | | | | | | | Add a way to apply CFLAGS only when building the given architecture. This is useful primarily on a system used for cross-building, when you have a set of flags to apply to the TARGET_ARCH being cross-built but don't want those settings applied to building the cross-tools or other components that run on the build host machine. Support CXXFLAGS.${MACHINE_ARCH} as well as CFLAGS. This allows different C++ options for toolchain versus target when cross-building.
* MFC r268022: Rename the WITHOUT_VT_SUPPORT knob to WITHOUT_VTemaste2014-07-081-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.
* MFC r267124, r267582:emaste2014-06-231-0/+1
| | | | | | Install VT support files They can be disabled by setting WITHOUT_VT_SUPPORT=yes in src.conf.
* MFC 262614, 262625, 262626, 262627, 262682, 262714, 262725, 262736ian2014-05-161-1/+1
| | | | | | | | | | | | | | | | | | | | | Integrate device-tree upstream files into the build process: (1) Invoke cpp to bring in files via #include (although the old /include/ stuff is supported still). (2) bring in files from either vendor tree or freebsd-custom files when building. (3) move all dts* files from sys/boot/fdt/dts to sys/boot/fdt/dts/${MACHINE} as appropriate. (4) encode all the magic to do the build in sys/tools/fdt/make_dtb.sh so that the different places in the tree use the exact same logic. (5) switch back to gpl dtc by default. the bsdl one in the tree has significant issues not easily addressed by those unfamiliar with the code. Only try to build the static dtb when we're building a static dtb. Use proper include path for dtc as well as cpp. Fix syntax errors (missing ; other minor glitches) in existing dts files.
* MFC r264822: Allow .WAIT to appear in SUBDIR= listsian2014-05-121-3/+11
|
* MFC refactoring of the *.test.mk files.jmmv2014-04-147-133/+255
| | | | | | | | | - r263161 Make bsd.test.mk the only public mk fragment for the building of tests. - r263172 Move FreeBSD Test Suite-specific code to a suite.test.mk file. - r263204 Add some documentation for bsd.test.mk. - r263217 Document support for TAP-compliant Perl test programs. This is "make tinderbox" clean.
* MFC r263778:dim2014-04-091-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a SUBDIR_PARALLEL option to bsd.subdir.mk, to allow make to process all the SUBDIR entries in parallel, instead of serially. Apply this option to a selected number of Makefiles, which can greatly speed up the build on multi-core machines, when using make -j. This can be extended to more Makefiles later on, whenever they are verified to work correctly with parallel building. I tested this on a 24-core machine, with make -j48 buildworld (N = 6): before stddev after stddev ======= ====== ======= ====== real time 1741.1 16.5 959.8 2.7 user time 12468.7 16.4 14393.0 16.8 sys time 1825.0 54.8 2110.6 22.8 (user+sys)/real 8.2 17.1 E.g. the build was approximately 45% faster in real time. On machines with less cores, or with lower -j settings, the speedup will not be as impressive. But at least you can now almost max out a machine with buildworld! Submitted by: jilles MFC r263833: Enable parallel building for gnu/usr.bin and usr.bin/clang too.
* MFC: r263435jkim2014-03-281-4/+6
| | | | Add new CPUTYPEs supported by Clang 3.4.
* MFC r262613:dim2014-03-261-0/+4
| | | | | | | | | | | | | | | | | | | | | Merge the projects/clang-sparc64 branch back to head. This brings in several updates from the llvm and clang trunks to make the sparc64 backend fully functional. Apart from one patch to sys/sparc64/include/pcpu.h which is still under discussion, this makes it possible to let clang fully build world and kernel for sparc64. Any assistance with testing this on actual sparc64 hardware is greatly appreciated, as there will unavoidably be bugs left. Many thanks go to Roman Divacky for his upstream work on getting the sparc64 backend into shape. MFC r262985: Repair a few minor mismerges from r262261 in the clang-sparc64 project branch. This is also to minimize differences with upstream.
* MFC 261991:dim2014-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upgrade our copy of llvm/clang to 3.4 release. This version supports all of the features in the current working draft of the upcoming C++ standard, provisionally named C++1y. The code generator's performance is greatly increased, and the loop auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The PowerPC backend has made several major improvements to code generation quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ backends have all seen major feature work. Release notes for llvm and clang can be found here: <http://llvm.org/releases/3.4/docs/ReleaseNotes.html> <http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html> MFC 262121 (by emaste): Update lldb for clang/llvm 3.4 import This commit largely restores the lldb source to the upstream r196259 snapshot with the addition of threaded inferior support and a few bug fixes. Specific upstream lldb revisions restored include: SVN git 181387 779e6ac 181703 7bef4e2 182099 b31044e 182650 f2dcf35 182683 0d91b80 183862 15c1774 183929 99447a6 184177 0b2934b 184948 4dc3761 184954 007e7bc 186990 eebd175 Sponsored by: DARPA, AFRL MFC 262186 (by emaste): Fix mismerge in r262121 A break statement was lost in the merge. The error had no functional impact, but restore it to reduce the diff against upstream. MFC 262303: Pull in r197521 from upstream clang trunk (by rdivacky): Use the integrated assembler by default on FreeBSD/ppc and ppc64. Requested by: jhibbits MFC 262611: Pull in r196874 from upstream llvm trunk: Fix a crash that occurs when PWD is invalid. MCJIT needs to be able to run in hostile environments, even when PWD is invalid. There's no need to crash MCJIT in this case. The obvious fix is to simply leave MCContext's CompilationDir empty when PWD can't be determined. This way, MCJIT clients, and other clients that link with LLVM don't need a valid working directory. If we do want to guarantee valid CompilationDir, that should be done only for clients of getCompilationDir(). This is as simple as checking for an empty string. The only current use of getCompilationDir is EmitGenDwarfInfo, which won't conceivably run with an invalid working dir. However, in the purely hypothetically and untestable case that this happens, the AT_comp_dir will be omitted from the compilation_unit DIE. This should help fix assertions occurring with ports-mgmt/tinderbox, when it is using jails, and sometimes invalidates clang's current working directory. Reported by: decke MFC 262809: Pull in r203007 from upstream clang trunk: Don't produce an alias between destructors with different calling conventions. Fixes pr19007. (Please note that is an LLVM PR identifier, not a FreeBSD one.) This should fix Firefox and/or libxul crashes (due to problems with regparm/stdcall calling conventions) on i386. Reported by: multiple users on freebsd-current PR: bin/187103 MFC 263048: Repair recognition of "CC" as an alias for the C++ compiler, since it was silently broken by upstream for a Windows-specific use-case. Apparently some versions of CMake still rely on this archaic feature... Reported by: rakuco MFC 263049: Garbage collect the old way of adding the libstdc++ include directories in clang's InitHeaderSearch.cpp. This has been superseded by David Chisnall's commit in r255321. Moreover, if libc++ is used, the libstdc++ include directories should not be in the search path at all. These directories are now only used if you pass -stdlib=libstdc++.
* MFC: r262398,r262399,r262410,r262975bapt2014-03-111-0/+1
| | | | | | | | | | | | | | Import libucl into head UCL is heavily infused by nginx configuration as the example of a convenient configuration system. However, UCL is fully compatible with JSON format and is able to parse json files. UCL is used by pkg(8) for its configuration file as well for the manifest format in packages, it will be used in base for the pkg boostrap (signature checking and configuration file parsing.) libucl has been developped and is maintained by vsevolod@
* MFC r262689:ache2014-03-091-2/+6
| | | | | | Add fetch and patch to .PHONY and .NOTMAIN only if PORTNAME is defined. Unconditional addition cause real fetch(1) and patch(1) programs are builded every time.
* MFC a couple of improvements to the test suite mk files.jmmv2014-03-062-1/+42
| | | | | - r260632 Support defining test program metadata from the Makefiles. - r260633 Support perl-based TAP-compliant test programs.
* MFC various fixes for the ATF tests.jmmv2014-03-061-9/+14
| | | | | | | | | - r260505 Allow tests to provide a Kyuafile when they relied on auto-generation. - r260525 Respect the original layout of the atf-{c,c++} tests. - r260526 Fix path to the process_helpers for the libatf-c++ tests. - r260576 Generate and install pkg-config files for atf. - r260577 Add atf pkg-config files from the vendor branch. - r260584 Prevent misc_helpers from running as a test.
* MFC r261299:brooks2014-03-011-0/+1
| | | | | | | | | | | Merge from CheriBSD: commit 2d581e8caf79d7a0f5a24590eccd06da90cccb74 Author: Brooks Davis <brooks@one-eyed-alien.net> Date: Mon Jan 27 22:57:51 2014 +0000 Add WITHOUT_FMTREE to disable building fmtree. Sponsored by: DARPA, AFRL
* MFC r261296:brooks2014-03-011-0/+1
| | | | | | | | | | | | | Merge from CheriBSD: commit c1acf022c533c5ae27e0cd556977eafe3f5959eb Author: Brooks Davis <brooks@one-eyed-alien.net> Date: Fri Jan 17 21:46:44 2014 +0000 Add an option WITHOUT_NCURSESW to suppress building and linking to libncursesw. While wide character support it useful we'd like to only need one ncurses library on embedded systems. Sponsored by: DARPA, AFRL
* MFC r262310:dim2014-02-242-9/+6
| | | | | | | Move the part in bsd.own.mk that sets -Wno-c++11-extensions for clang to bsd.sys.mk, where it really belongs. This also causes the flag to get added when clang is *not* the default system compiler, but is still used, e.g. by setting WITH_CLANG_IS_CC manually.
* Merge /head:261072: Remove WITHOUT_ATF from src.conf.5skreuzer2014-01-281-1/+0
| | | | Approved by: hrs (mentor)
* MFC r260102:dim2014-01-091-0/+1
| | | | | | | | | | | | Similar to r260020, only use -fms-extensions with gcc, for all other modules which require this flag to compile. Use a GCC_MS_EXTENSIONS variable, defined in kern.pre.mk, which can be used to easily supply the flag (or not), depending on the compiler type. MFC r260322: In addition to r260102, also define GCC_MS_EXTENSIONS in bsd.sys.mk, since kernel module builds do not use kern.pre.mk.
* MFC r257532 (by adrian):dim2013-12-301-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix this build for clang. MFC r259730: To avoid having to explicitly test COMPILER_TYPE for setting clang-specific or gcc-specific flags, introduce the following new variables for use in Makefiles: CFLAGS.clang CFLAGS.gcc CXXFLAGS.clang CXXFLAGS.gcc In bsd.sys.mk, these get appended to the regular CFLAGS or CXXFLAGS for the right compiler. MFC r259913: For libstand and sys/boot, split off gcc-only flags into CFLAGS.gcc. MFC r259927: Fix pc98 build, by also forcing COMPILER_TYPE in sys/boot/pc98/boot2's Makefile. Pointy hat to: dim
* Add sample test programs.jmmv2013-12-291-0/+10
| | | | | | | | This is a MFC of the following into stable/10: - r258299 Add some sample test programs. - r258552 Generate plain sh test programs from a source file. As usual, "make tinderbox" clean on ref10-amd64.
* Set up the /usr/tests hierarchy.jmmv2013-12-282-1/+16
| | | | | | | | | | | | | | | | | This is a MFC of the following into stable/10: - r257097 Set up the /usr/tests hierarchy. - r257098 Add missing WITHOUTTESTS file. - r257100 Add a tests(7) manual page. - r257105 Disable WITHTESTS= for now. - r257848 Fix buildworld when WITHTESTS is enabled. - r257850 Subsume the functionality of MKATF into MKTESTS. - r257851 Handle the removal of the test suite when WITHOUTTESTS=yes. - r257852 Install category Kyuafiles from their category directories. - r258232 Install BSD.tests.mtree when MKTESTS is yes. Note that building with WITH_TESTS is still broken at this point (and hence why WITHOUT_TESTS is the set as the default). Subsequent pullups will fix the remaining issues.
* Pull up fixes to allow building tests along scripts and data files.jmmv2013-12-282-12/+34
| | | | | | | | | | MFC of the following into stable/10: - r257095 Allow mixing bsd.files.mk with bsd.subdir.mk. - r258095 Allow this (bsd.progs.mk) to work with fmake. - r258330 Need to also test for defined(${v}_${PROG}) in bsd.progs.mk. - r259209 Make bsd.progs.mk work in directories with SCRIPTS but no PROGS. This is all 'make tinderbox' clean as run on ref10-amd64.
* Split and extend bsd.test.mk into {atf,plain,tap}.test.mk.jmmv2013-12-276-49/+384
| | | | | | | | | | | | | | | | | | This is a MFC of: - r256761 Clearly split the logic to build ATF and plain tests apart. - r256762 Add the automatic generation of Atffile files. - r256763 Add the automatic generation of Kyuafile files. - r256764 Plug atf-run into the 'test' target. - r256765 Plug kyua into the 'test' target. - r257096 Move the TESTSBASE definition to bsd.own.mk. - r257099 Add missing plain.test.mk. - r258297 Remove registration of C++ test programs into PROGS. - r258298 Fix the build of plain test programs. - r258551 Install plain.test.mk. - r259208 Add tap.test.mk. Approved by: rpaulo (mentor)
* MFC r259083:dim2013-12-101-1/+1
| | | | | | | | | | | | | | For WARNS <= 3, change the clang warning flag -Wno-conversion to -Wno-enum-conversion. In earlier clang versions (before 3.2), the latter did not exist, and suppressing enum conversion warnings was really the goal of this warning suppression flag. This should enable the same kind of warning again as was fixed by r259072 ("incompatible integer to pointer conversion passing 'Elf_Addr' (aka 'unsigned int') to parameter of type 'void *'"), and which was only emitted by gcc. Noticed by: kib
* MFC r257583, r258012, r258013:gjb2013-11-161-5/+0
| | | | | | | | | | | | | | | | | | | r257583 (peter): Remove the WITH_LIBICONV_COMPAT hack that seems to do more harm than good. This caused libc to spoof the ports libiconv namespace and provide a colliding libiconv.so.3 to fool rtld. This should have been removed some time ago. r258012: Remove WITH_LIBICONV_COMPAT file to chase after r257583. r258013: Regenerate src.conf.5 after removal of WITH_LIBICONV_COMPAT. Approved by: re (kib) Sponsored by: The FreeBSD Foundation Sponsored by: The FreeBSD Foundation
* MFC r257138:brooks2013-10-311-1/+1
| | | | | | | | Switch the default mtree to nmtree our new NetBSD derived mtree. Exp-runs by: bdrewery (ports/182438) Sponsored by: DARPA/AFRL Approved by: re (gjb)
* MFC r256915brooks2013-10-311-1/+0
| | | | | | | | | | | | | Stop conflating WITHOUT_CLANG with WITHOUT_CLANG_IS_CC. This allows bootstrapping a copy of clang without building clang for the base system which is useful for nanobsd and similar setups. It's still probably wrong to conflate what is installed as /usr/bin/cc with the selection of a bootstrap compiler under WITH*_CLANG_IS_CC, but that's for another day. Sponsored by: DARPA/AFRL Approved by: re (gjb)
* MFC r256450:bdrewery2013-10-231-1/+1
| | | | | | | | Rename libbsdyml to libyaml, make private, and bump SHLIB_MAJOR to 1.0 Approved by: bapt Approved by: re (glebius)
* MFC 256365rpaulo2013-10-121-94/+0
| | | | | | Remove most of the ATF tools and the _atf user. Approved by: re
* Revert r256095, r256120 (partial), r256121:gjb2013-10-091-0/+1
| | | | | | | | | | | | | | | r256095: - Add gnu/usr.bin/rcs back to the base system. r256120: - Add WITHOUT_RCS back to src.conf.5. r256121: - Remove UPDATING entry regarding gnu/usr.bin/rcs removal. Requested by: many Approved by: re (marius) Discussed with: core
* Good bye RCS. You will be missed.eadler2013-10-071-1/+0
| | | | | | | (devel/rcs and devel/rcs57 are available as alternatives) Approved by: core Approved by: re (hrs)
* Remove BIND.des2013-09-302-46/+0
| | | | Approved by: re (gjb)
* Flip the switch: disable BIND and enable LDNS_UTILS.des2013-09-241-2/+2
| | | | Approved by: re (blanket)
* Add LLDB bmake infrastructureemaste2013-09-201-0/+5
| | | | | | | | | | | This connects LLDB to the build, but it is disabled by default. Add WITH_LLDB= to src.conf to build it. Note that LLDB requires a C++11 compiler so is disabled on platforms using GCC. Approved by: re (gjb) Sponsored by: DARPA, AFRL
* Set the correct path for LIBUNBOUND.des2013-09-171-1/+1
| | | | Approved by: re (blanket)
* Build and install the Unbound caching DNS resolver daemon.des2013-09-152-0/+5
| | | | Approved by: re (blanket)
* Clean up the Kerberos build by turning libheimipcc and libheimipcs intodes2013-09-101-0/+2
| | | | | | | | private shared libraries, instead of hacked-together archives of PIC objects. This makes it possible to build a static libkrb5 that works. Reviewed by: stas Approved by: re (gjb)
* Emit the correct standard library dependency line for C++ programs. Indes2013-09-091-1/+1
| | | | | | | | the CLANG_IS_CC case, the default is now libc++. Only use libstdc++ if !CLANG_IS_CC or it was explicitly requested in CXXFLAGS. Submitted by: theraven Approved by: re (gjb)
* Make libldns and libssh private.des2013-09-081-2/+2
| | | | Approved by: re (blanket)
OpenPOWER on IntegriCloud