aboutsummaryrefslogtreecommitdiff
path: root/Makefile.inc1
Commit message (Collapse)AuthorAgeFilesLines
* Build infrastructure for elftoolchain toolsEd Maste2014-12-011-0/+12
| | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=275373
* Slightly alter the handling of LOCAL_LIB_DIRS to skip addition ofBrooks Davis2014-11-211-4/+15
| | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=274807
* Add a guard against attempting to invoke the buildenv target with -j# asBrooks Davis2014-11-211-0/+5
| | | | | | | | | | that silently exits rather than doing something useful. MFC after: 1 week Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=274806
* Add mv, echo and hostname to the native-xtools target. Missed theseSean Bruno2014-11-161-0/+3
| | | | | | | | | when profiling. MFC after: 2 weeks Notes: svn path=/head/; revision=274607
* Flush out many more static binaries that can be used in a jail for buildingSean Bruno2014-11-161-1/+33
| | | | | | | | | | | | pkgs via poudriere. This removes a significant amount of emulation speeding up run times. Phabric: D1172 Reviewed by: imp MFC after: 2 weeks Notes: svn path=/head/; revision=274593
* Add more static binaries to the native-xtools target. These help speedSean Bruno2014-11-131-0/+11
| | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=274490
* Fix build race in Makefile.inc1 after r274226 by adding lib/libm__L dependencyEnji Cooper2014-11-081-1/+1
| | | | | | | | | for gnu/lib/libdialog Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=274270
* For really fast machines, an edge-case may exist where dpv(3) may beDevin Teske2014-11-071-1/+4
| | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=274209
* SUBDIR_DEPENDS__ in lib/Makefile is not working out so well for me.Devin Teske2014-11-061-0/+1
| | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=274203
* Rename XFLAGS to XCFLAGS and XXFLAGS to XCXXFLAGSBaptiste Daroussin2014-10-271-5/+5
| | | | | | | | | | This is less confusing names and actually more reflexting what they are intended to. Discussed with: brooks Notes: svn path=/head/; revision=273755
* My previous commit exposed an issue as it fixed a differentWarner Losh2014-10-221-6/+1
| | | | | | | | | | | | | | | | | | 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. Notes: svn path=/head/; revision=273449
* Generate both userland and kernel option settings for showconfig.Warner Losh2014-10-211-1/+2
| | | | | | | PR: 191920 Notes: svn path=/head/; revision=273418
* You aren't allowed to test WITH_xxx or WITHOUT_xxx here, so remove it.Warner Losh2014-10-211-6/+1
| | | | | | | | | | | | | | 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. Notes: svn path=/head/; revision=273417
* Make the external toolchain support grows to the knowleged of XXFLAGS for ↵Baptiste Daroussin2014-10-211-1/+4
| | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=273408
* Add size(1) to the cross build toolchainBaptiste Daroussin2014-10-091-2/+3
| | | | Notes: svn path=/head/; revision=272827
* Fix typoBaptiste Daroussin2014-10-091-1/+1
| | | | Notes: svn path=/head/; revision=272815
* Add OBJCOPY to the list of external toolsBaptiste Daroussin2014-10-091-2/+3
| | | | Notes: svn path=/head/; revision=272814
* Fix build when XCC is defined and X_COMPILER_TYPE is notBaptiste Daroussin2014-10-091-1/+1
| | | | Notes: svn path=/head/; revision=272813
* Add CROSS_TOOLCHAIN macro select pre seeded external toolchain configuration ↵Baptiste Daroussin2014-10-091-0/+8
| | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=272811
* Fix dependency errors when linking libproc.Mark Johnston2014-10-051-0/+3
| | | | | | | | Reported by: Oliver Hartmann X-MFC-With: r272488 Notes: svn path=/head/; revision=272576
* Add dependencies to various libraries to libzfs and libzpool.Xin LI2014-10-031-0/+6
| | | | | | | Submitted by: sef Notes: svn path=/head/; revision=272484
* Fix the TARGET_ABI value clang uses. It shpuld be gnueabi on all ARMAndrew Turner2014-10-011-3/+3
| | | | | | | soft-float architectures, and gnueabihf for hard-float. Notes: svn path=/head/; revision=272357
* Remove MK_ARM_EABI, the armeb issues have been fixed. The code to supportAndrew Turner2014-10-011-1/+1
| | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=272350
* Have distrib-dirs, distribution, hier, hierarchy, redistribute, and reinstallEnji Cooper2014-09-241-4/+4
| | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=272053
* Root the lib32 object tree under the overall object tree.Will Andrews2014-09-181-2/+3
| | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=271730
* Revert r267233 for now. PIE support needs to be reworked.Bryan Drewery2014-08-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=270168
* Create the native-xtools target. This target creates only the crossWarner Losh2014-08-181-1/+43
| | | | | | | | | | | | | | | | | 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@ Notes: svn path=/head/; revision=270155
* Fix atmconfig compilation when MK_ATM == yes and MK_BSNMP == noEnji Cooper2014-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=270027
* Run dtrace in 32-bit mode when compiling 32-bit libraries.Rui Paulo2014-08-081-1/+2
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=269744
* m4 now requires libohash, ensure it gets built when bootstrapping.Ian Lepore2014-08-071-1/+2
| | | | Notes: svn path=/head/; revision=269688
* 10 has a new flex (2.5.37) and the config.h for unbound has been updated toOllivier Robert2014-08-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=269662
* Merge from CheriBSD:Brooks Davis2014-08-041-1/+2
| | | | | | | | | | | | | | 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. Notes: svn path=/head/; revision=269541
* Deprecate the use of XDEV and XDEV_ARCH and just use TARGET/TARGET_ARCHSean Bruno2014-07-231-9/+7
| | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=269031
* Run mtree for BSD.tests.dist during make xdev-install, if the tests areDimitry Andric2014-07-211-0/+4
| | | | | | | | | | 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 Notes: svn path=/head/; revision=268957
* Make MK_GNUCXX mean "build the libstdc++ and libsupc++ libraries" andWarner Losh2014-07-101-1/+1
| | | | | | | | | | 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. Notes: svn path=/head/; revision=268508
* Separate out the links creation from the other targets. This wasWarner Losh2014-07-101-6/+6
| | | | | | | | | | supposed to have been done for the original commit, but somebody forgot. Pointy-hat-to: imp@ Notes: svn path=/head/; revision=268503
* Typo means that this couldn't have possibly fixed anything, so revertWarner Losh2014-07-081-1/+0
| | | | | | | r268377. Notes: svn path=/head/; revision=268380
* xdev builds libsupc++ and libstdc++ in a slightly strange way. ThisWarner Losh2014-07-071-0/+1
| | | | | | | | cause a race to be exposed between the two. Compensate for this race by serializing the build/install of libstdc++ before libsupc++. Notes: svn path=/head/; revision=268377
* Remove ia64 from the list of known architectures and add an entry toMarcel Moolenaar2014-07-021-1/+1
| | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=268191
* Merge ^/projects/release-debugdist into ^/head:Glen Barber2014-07-011-13/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=268111
* Rename the WITHOUT_VT_SUPPORT knob to WITHOUT_VTEd Maste2014-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 Notes: svn path=/head/; revision=268022
* - Add a LOCAL_ITOOLS to allow adding additional tools required for theBryan Drewery2014-06-171-1/+3
| | | | | | | | | | | installworld and distributeworld targets PR: 179562 Submitted by: Garrett Cooper <yaneurabeya@gmail.com> MFC after: 1 week Notes: svn path=/head/; revision=267599
* Build vt(4) fonts during buildworldEd Maste2014-06-121-1/+6
| | | | | | | | | | | 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 Notes: svn path=/head/; revision=267423
* Put the test suite in its own tests.txz distribution file.Julio Merino2014-06-101-0/+7
| | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=267331
* In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE.Bryan Drewery2014-06-081-3/+3
| | | | | | | | | | | | | | | | | | | 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] Notes: svn path=/head/; revision=267233
* When libelf and libdwarf were updated, we didn't bump the minimalWarner Losh2014-05-231-3/+2
| | | | | | | | 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. Notes: svn path=/head/; revision=266567
* Fix build: Build libavl as prebuild-lib.Xin LI2014-05-221-0/+2
| | | | | | | X-MFC-With: 266520 Notes: svn path=/head/; revision=266534
* Eliminate EARLY_BUILD flag. It is redundant and means MK_CLANG_FULL=noWarner Losh2014-05-101-4/+5
| | | | | | | | | 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. Notes: svn path=/head/; revision=265831
* Migrate NO_WARN to MK_WARN. Support legacy NO_WARN usage. Remove aWarner Losh2014-05-101-5/+5
| | | | | | | | check for EARLY_BUILD because it isn't necessary (MK_WARN=no will always be defined for that). Notes: svn path=/head/; revision=265830
* Document src.opts.mk changes and the decoupling of /etc/src.conf fromWarner Losh2014-05-061-1/+1
| | | | | | | anything but the source tree. Notes: svn path=/head/; revision=265422