summaryrefslogtreecommitdiffstats
path: root/Makefile.inc1
Commit message (Collapse)AuthorAgeFilesLines
* Fix build race in Makefile.inc1 after r274226 by adding lib/libm__L dependencyngie2014-11-081-1/+1
| | | | | | for gnu/lib/libdialog Sponsored by: EMC / Isilon Storage Division
* For really fast machines, an edge-case may exist where dpv(3) may bedteske2014-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
* SUBDIR_DEPENDS__ in lib/Makefile is not working out so well for me.dteske2014-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
* Rename XFLAGS to XCFLAGS and XXFLAGS to XCXXFLAGSbapt2014-10-271-5/+5
| | | | | | | This is less confusing names and actually more reflexting what they are intended to. Discussed with: brooks
* My previous commit exposed an issue as it fixed a differentimp2014-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.
* Generate both userland and kernel option settings for showconfig.imp2014-10-211-1/+2
| | | | PR: 191920
* You aren't allowed to test WITH_xxx or WITHOUT_xxx here, so remove it.imp2014-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.
* Make the external toolchain support grows to the knowleged of XXFLAGS for ↵bapt2014-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
* Add size(1) to the cross build toolchainbapt2014-10-091-2/+3
|
* Fix typobapt2014-10-091-1/+1
|
* Add OBJCOPY to the list of external toolsbapt2014-10-091-2/+3
|
* Fix build when XCC is defined and X_COMPILER_TYPE is notbapt2014-10-091-1/+1
|
* Add CROSS_TOOLCHAIN macro select pre seeded external toolchain configuration ↵bapt2014-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
* Fix dependency errors when linking libproc.markj2014-10-051-0/+3
| | | | | Reported by: Oliver Hartmann X-MFC-With: r272488
* Add dependencies to various libraries to libzfs and libzpool.delphij2014-10-031-0/+6
| | | | Submitted by: sef
* Fix the TARGET_ABI value clang uses. It shpuld be gnueabi on all ARMandrew2014-10-011-3/+3
| | | | soft-float architectures, and gnueabihf for hard-float.
* Remove MK_ARM_EABI, the armeb issues have been fixed. The code to supportandrew2014-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
* Have distrib-dirs, distribution, hier, hierarchy, redistribute, and reinstallngie2014-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
* Root the lib32 object tree under the overall object tree.will2014-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
* Revert r267233 for now. PIE support needs to be reworked.bdrewery2014-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
* Create the native-xtools target. This target creates only the crossimp2014-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@
* Fix atmconfig compilation when MK_ATM == yes and MK_BSNMP == nongie2014-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
* Run dtrace in 32-bit mode when compiling 32-bit libraries.rpaulo2014-08-081-1/+2
| | | | MFC after: 3 days
* m4 now requires libohash, ensure it gets built when bootstrapping.ian2014-08-071-1/+2
|
* 10 has a new flex (2.5.37) and the config.h for unbound has been updated toroberto2014-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
* Merge from CheriBSD:brooks2014-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.
* Deprecate the use of XDEV and XDEV_ARCH and just use TARGET/TARGET_ARCHsbruno2014-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
* Run mtree for BSD.tests.dist during make xdev-install, if the tests aredim2014-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
* Make MK_GNUCXX mean "build the libstdc++ and libsupc++ libraries" andimp2014-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.
* Separate out the links creation from the other targets. This wasimp2014-07-101-6/+6
| | | | | | | supposed to have been done for the original commit, but somebody forgot. Pointy-hat-to: imp@
* Typo means that this couldn't have possibly fixed anything, so revertimp2014-07-081-1/+0
| | | | r268377.
* xdev builds libsupc++ and libstdc++ in a slightly strange way. Thisimp2014-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++.
* Remove ia64 from the list of known architectures and add an entry tomarcel2014-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
* Merge ^/projects/release-debugdist into ^/head:gjb2014-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
* 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
* - Add a LOCAL_ITOOLS to allow adding additional tools required for thebdrewery2014-06-171-1/+3
| | | | | | | | installworld and distributeworld targets PR: 179562 Submitted by: Garrett Cooper <yaneurabeya@gmail.com> MFC after: 1 week
* Build vt(4) fonts during buildworldemaste2014-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
* Put the test suite in its own tests.txz distribution file.jmmv2014-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
* In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE.bdrewery2014-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]
* When libelf and libdwarf were updated, we didn't bump the minimalimp2014-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.
* Fix build: Build libavl as prebuild-lib.delphij2014-05-221-0/+2
| | | | X-MFC-With: 266520
* Eliminate EARLY_BUILD flag. It is redundant and means MK_CLANG_FULL=noimp2014-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.
* Migrate NO_WARN to MK_WARN. Support legacy NO_WARN usage. Remove aimp2014-05-101-5/+5
| | | | | check for EARLY_BUILD because it isn't necessary (MK_WARN=no will always be defined for that).
* Document src.opts.mk changes and the decoupling of /etc/src.conf fromimp2014-05-061-1/+1
| | | | anything but the source tree.
* Use src.opts.mk in preference to bsd.own.mk except where we need stuffimp2014-05-061-2/+2
| | | | from the latter.
* Add appropriate quoting to allow building with a KERNCONFDIR containingthomas2014-05-031-2/+2
| | | | | | | spaces. PR: kern/162736 MFC after: 1 week
* Turns out this .if evaluated not in the context of the makedtb targetimp2014-04-301-3/+0
| | | | | sometimes due to Makefile expansion rules. Make the test for things being NULL elsewhere...
* Allow FDT_DTS_FILE to be a list, either in the makedtb target, or in aimp2014-04-301-17/+5
| | | | | | | 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.
* Add dependency for libm to libstdc++. This fixes high -j value buildsimp2014-04-281-0/+1
| | | | | | when not building with clang. Submitted by: ian@
* make_dtb.sh is designed to be used in a kernel build environment whereimp2014-04-261-1/+2
| | | | | | | 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
OpenPOWER on IntegriCloud