summaryrefslogtreecommitdiffstats
path: root/sys/conf/kern.pre.mk
Commit message (Collapse)AuthorAgeFilesLines
* MFC r278458, r278519:ian2015-06-061-3/+1
| | | | | | | | Pass MODULES_EXTRA to the modules build. While I'm here, also always pass WITHOUT_MODULES down. There's no need to make this conditional. Properly quote EXTRA_MODULES and WITHOUT_MODULES to ensure that they are passed down properly when there's more than one.
* MFC r260102:dim2014-01-091-1/+3
| | | | | | | | | | | | 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.
* Revert MFC of r260102 for now, until I can merge the required fix fromdim2014-01-051-3/+1
| | | | | head. This should fix building modules which require -fms-extensions to compile them with gcc.
* MFC r260020:dim2014-01-041-1/+3
| | | | | | | | | | | | | | For sys/dev/drm2/radeon, only use -fms-extensions with gcc. This flag is only to stop gcc complaining about anonymous unions, which clang does not do. For clang 3.4 however, -fms-extensions enables the Microsoft __wchar_t type, which clashes with our own types.h. MFC r260102: 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.
* opensolaris code: translate INVARIANTS to DEBUG and ZFS_DEBUGavg2013-08-061-0/+1
| | | | | | | | | | | | | | | | Do this by forcing inclusion of sys/cddl/compat/opensolaris/sys/debug_compat.h via -include option into all source files from OpenSolaris. Note that this -include option must always be after -include opt_global.h. Additionally, remove forced definition of DEBUG for some modules and fix their build without DEBUG. Also, meaning of DEBUG was overloaded to enable WITNESS support for some OpenSolaris (primarily ZFS) locks. Now this overloading is removed and that use of DEBUG is replaced with a new option OPENSOLARIS_WITNESS. MFC after: 17 days
* Add the AR9300 HAL into the kernel and module builds.adrian2013-05-021-1/+1
| | | | | | Tested: * make universe (honest!)
* Fix LINT build for arm: NOTES defines LDFLAGS by way of a make optionmarcel2012-11-291-1/+1
| | | | | | | | but LDFLAGS is not (yet) passed on to the linker (via SYSTEM_LD et al). Do so now. As such, any kernel configuration can now define linker flags by setting LDFLAGS as normal and not have to revert to hacks like setting DEBUG for flags that do not relate to debugging (see sys/powerpc/conf/MPC85XX).
* Redo r242842, now actually fixing the warnings, as follows:dim2012-11-121-1/+1
| | | | | | | | | | | | | | | | - In sys/ofed/drivers/infiniband/core/cma.c, an enum struct member is interpreted as an int, so cast it to an int. - In sys/ofed/drivers/infiniband/core/ud_header.c, initialize the packet_length variable in ib_ud_header_init(), to prevent undefined behaviour. - In sys/ofed/drivers/infiniband/ulp/sdp/sdp_rx.c, call rdma_notify() with the correct enum type and value. - In sys/ofed/include/linux/pci.h, change the PCI_DEVICE and PCI_VDEVICE macros to use C99 struct initializers, so additional members can be overridden. Reviewed by: delphij, Garrett Cooper <yanegomi@gmail.com> MFC after: 1 week
* Attempt toward a buildable universe by silenting a few warnings for OFED.delphij2012-11-101-1/+1
|
* For kernel builds with PROFLEVEL >= 2, such as LINT, don't attempt todim2012-11-071-2/+5
| | | | | | | use the -mprofiler-epilogue option if the compiler is clang, as the flag is not supported. While here, fix up the value indentations. MFC after: 1 week
* For kernel builds with PROFLEVEL >= 1, such as LINT, don't attempt todim2012-11-071-1/+4
| | | | | | | use the -falign-functions option if the compiler is clang, as the flag is not supported. MFC after: 1 week
* Disconnect non-MPSAFE XFS from the build in preparation for droppingattilio2012-10-161-3/+0
| | | | | | GIANT from VFS. This is not targeted for MFC.
* o Create directory sys/netpfil, where all packet filters shouldglebius2012-09-141-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reside, and move there ipfw(4) and pf(4). o Move most modified parts of pf out of contrib. Actual movements: sys/contrib/pf/net/*.c -> sys/netpfil/pf/ sys/contrib/pf/net/*.h -> sys/net/ contrib/pf/pfctl/*.c -> sbin/pfctl contrib/pf/pfctl/*.h -> sbin/pfctl contrib/pf/pfctl/pfctl.8 -> sbin/pfctl contrib/pf/pfctl/*.4 -> share/man/man4 contrib/pf/pfctl/*.5 -> share/man/man5 sys/netinet/ipfw -> sys/netpfil/ipfw The arguable movement is pf/net/*.h -> sys/net. There are future plans to refactor pf includes, so I decided not to break things twice. Not modified bits of pf left in contrib: authpf, ftp-proxy, tftp-proxy, pflogd. The ipfw(4) movement is planned to be merged to stable/9, to make head and stable match. Discussed with: bz, luigi
* Introduce a new make variable COMPILER_TYPE that specifies whatbrooks2012-09-131-3/+4
| | | | | | | | | | | | | | | | | | | | type of compiler is being used (currently clang or gcc). COMPILER_TYPE is set in the new bsd.compiler.mk file based on the value of the CC variable or, should it prove informative, by running ${CC} --version and examining the output. To avoid negative performance impacts in the default case and correct value for COMPILER_TYPE type is determined and passed in the environment of submake instances while building world. Replace adhoc attempts at determining the compiler type by examining CC or MK_CLANG_IS_CC with checks of COMPILER_TYPE. This eliminates bootstrapping complications when first setting WITH_CLANG_IS_CC. Sponsored by: DARPA, AFRL Reviewed by: Yamaya Takashi <yamayan@kbh.biglobe.ne.jp>, imp, linimon (with some modifications post review) MFC after: 2 weeks
* Allow cxgbe to be built into a kernel with "device cxgbe."np2012-09-131-0/+1
| | | | MFC after: 1 week
* Remove duplication and centralize testing of various config(8)ed features.obrien2012-09-121-0/+5
|
* Similar to how r171350 fixed linking of kernel modules containingjhb2012-08-311-2/+3
| | | | | | | firmware objects by adding --no-warn-mismatch to the linker flags, add --no-warn-mismatch when linking firmware objects (*.fwo) as well as to the link of the main kernel file. This permits firmware modules to be statically linked into an ia64 kernel.
* The implied source variable (.IMPSRC) didn't actually work in my previousjhb2012-08-311-2/+2
| | | | | commit. Change this to use .ALLSRC instead, but be careful to only use the .fw file for NORMAL_FWO to ignore opt_global.h.
* Add common rules for building firmware object files (NORMAL_FW to runjhb2012-08-311-0/+3
| | | | | | | | | uudecode, and NORMAL_FWO to use ld to build the .fwo file) and use those instead of explicit ld/uudecode invocations in sys/conf/files. Apart from increasing readability, this makes it possible to adjust the flags used for firmware objects in one place. MFC after: 2 weeks
* Merging of projects/armv6, part 3gonzo2012-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | r238211: Support TARGET_ARCH=armv6 and TARGET_ARCH=armv6eb This adds a new TARGET_ARCH for building on ARM processors that support the ARMv6K multiprocessor extensions. In particular, these processors have better support for TLS and mutex operations. This mostly touches a lot of Makefiles to extend existing patterns for inferring CPUARCH from ARCH. It also configures: * GCC to default to arm1176jz-s * GCC to predefine __FreeBSD_ARCH_armv6__ * gas to default to ARM_ARCH_V6K * uname -p to return 'armv6' * make so that MACHINE_ARCH defaults to 'armv6' It also changes a number of headers to use the compiler __ARM_ARCH_XXX__ macros to configure processor-specific support routines. Submitted by: Tim Kientzle <kientzle@freebsd.org>
* Assume a big-endian default on MIPS and drop the "eb" suffix from MACHINE_ARCH.jmallett2012-03-291-1/+1
| | | | | | | | | | | | | | | This makes our naming scheme more closely match other systems and the expectations of much third-party software. MIPS builds which are little-endian should require and exhibit no changes. Big-endian TARGET_ARCHes must be changed: From: To: mipseb mips mipsn32eb mipsn32 mips64eb mips64 An entry has been added to UPDATING and some foot-shooting protection (complete with warnings which should become errors in the near future) to the top-level base system Makefile.
* Allow (with a license warning) "options ZFS" to work in static kernels.peter2012-03-271-0/+6
| | | | | | | | | | | The 'make depend' rules have to use custom -I paths for the special compat includes for the opensolaris/zfs headers. This option will pull in the couple of files that are shared with dtrace, but they appear to correctly use the MODULE_VERSION/MODULE_DEPEND rules so loader should do the right thing, as should kldload. Reviewed by: pjd (glanced at)
* In r232322, I forgot one case where a check for MK_CLANG_IS_CC wasdim2012-03-041-1/+1
| | | | | | needed, in sys/conf/kern.pre.mk. Add it now. MFC after: 2 weeks
* Revert r232473. I have been convinced by Doug Barton and Bjoern Zeebdim2012-03-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | that it is better to error out when people attempt to build using the wrong bsd.*.mk files, than to silently ignore the problem. This means, that after this commit, if you want to build kernel modules by hand (or via a port) from a head source tree, you *must* make sure the files in /usr/share/mk are in sync with that tree. If that isn't possible, for example when you are running on an older FreeBSD branch, you can: - Run "make buildenv" from your head source tree, to have the correct environment setup. (It's advisable to have run "make buildworld", or at a minimum "make toolchain" first.) - Alternatively, set MAKESYSPATH to the share/mk directory under your head source tree. If your build tools are too old, other problems may still occur. - Alternatively, use "make -m" and specify the share/mk directory under your head source tree. Again, build tools that are too old may still result in trouble. MFC after: 2 weeks
* After r232322, it turned out many people (and some ports) are buildingdim2012-03-031-2/+2
| | | | | | | | | | | | | | | | | | | | | kernel modules using their old installed /usr/share/mk/bsd.*.mk files, instead of the updated ones in their source tree. This leads to errors like: "sys/conf/kmod.mk", line 111: Malformed conditional (${MK_CLANG_IS_CC} == "no" && ${CC:T:Mclang} != "clang") Obviously, these errors will go away after a "make installworld", or alternatively, by using "make buildenv" before attempting to manually build modules. However, since it is apparently an expected use case to build using old .mk files, change the way we test for clang, so it also works when the MK_CLANG_IS_CC macro doesn't exist. Note the conditional expressions are becoming rather unreadable now, but I will attempt to fix that on a followup commit. MFC after: 2 weeks
* Add a WITH_CLANG_IS_CC option for src.conf(5), disabled by default, thatdim2012-02-291-2/+2
| | | | | | | | | | installs clang as /usr/bin/cc, /usr/bin/c++ and /usr/bin/cpp. Note this does *not* disable building and installing gcc, which will still be available as /usr/bin/gcc, /usr/bin/g++ and /usr/bin/gcpp. If you want to disable gcc completely, you must use WITHOUT_GCC. MFC after: 2 weeks
* Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, todim2012-02-281-0/+4
| | | | | | | | | | | | | | | | | | | | | get rid of testing explicitly for clang (using ${CC:T:Mclang}) in individual Makefiles. Instead, use the following extra macros, for use with clang: - NO_WERROR.clang (disables -Werror) - NO_WCAST_ALIGN.clang (disables -Wcast-align) - NO_WFORMAT.clang (disables -Wformat and friends) - CLANG_NO_IAS (disables integrated assembler) - CLANG_OPT_SMALL (adds flags for extra small size optimizations) As a side effect, this enables setting CC/CXX/CPP in src.conf instead of make.conf! For clang, use the following: CC=clang CXX=clang++ CPP=clang-cpp MFC after: 2 weeks
* Revert r230390.andreast2012-01-211-5/+2
|
* Disable GUPROF on archs other than i386/amd64 since the fine details are notandreast2012-01-201-2/+5
| | | | implemented.
* Trivial standardization to a few comments in kern.pre.mk.gjb2012-01-031-2/+2
| | | | | Submitted by: arundel MFC after: 3 days
* When building the kernel for amd64 with clang, don't attempt to use thedim2011-12-241-0/+4
| | | | | | | -frename-registers option, as it is not supported. No change for builds with gcc. MFC after: 1 week
* - CTF knob is now implemented using common scheme: MK_CTF=yes/no isfjoe2011-11-301-2/+4
| | | | | | | defined based on WITH/WITHOUT_CTF settings, default is WITHOUT_CTF, NO_CTF overrides WITH_CTF (used by Makefile.inc1) - CTFCONVERT_CMD/NORMAL_CTFCONVERT are now defined to empty string if make(1) can handle empty commands
* Do not echo ${CTFCONVERT} command: config(8) will be fixed to notfjoe2011-11-291-2/+1
| | | | emit '@' for ${NORMAL_CTFCONVERT} invocation.
* - fix WITH_CTF when specified in /etc/src.conf [1]fjoe2011-11-291-2/+3
| | | | | | | | | | | | | - CTFCONVERT_CMD=... is a hack (should be defined to empty string instead): make(1) should be taught to ignore empty commands silently in compat mode (as it does in !compat mode, GNU make also silently ignores empty commands) and to skip printing empty commands in !compat mode - config(8) should generate ${NORMAL_CTFCONVERT} invocation without '@': this will allow to simplify kern.pre.mk even more and lessen the number of shell invocations during kernel build when CTF is turned off - WITH_CTF can now be converted to usual MK_CTF=yes/no infrastructure Pointy hat to: fjoe [1]
* Conditionalize ctfconvert/ctfmerge runs on make level (.if/.endif) insteadfjoe2011-11-291-3/+5
| | | | | | of executing a shell on every object or executable/library file. This shaves off more than 30,000 shell invocations during buildworld.
* Use a maximum of -O on PowerPC kernels instead of -O2 to prevent a rarenwhitehorn2011-08-151-0/+4
| | | | | | | | bug that could cause intermittent memory corruption on PowerPC SMP systems using non-debug kernels. This is a temporary change until the real problem is fixed. Approved by: re (kib)
* Allow MKMODULESENV being preset from other sources like makeoptionsbz2011-04-301-1/+1
| | | | | | | | | | kernel configurations to apply WITH_* WITHOUT_* knobs we use for module building as well to restrict or control opt_*.h flags. Reviewed by: imp, + Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 2 weeks
* Remove support for the Intel C Compiler from the build infrastructure.dim2011-04-191-25/+7
| | | | | | This support has not worked for several years, and is not likely to work again, unless Intel decides to release a native FreeBSD version of their compiler. ;)
* - Merge changes to the base system to support OFED. These includejeff2011-03-211-0/+8
| | | | | a wider arg2 for sysctl, updates to vlan code, IFT_INFINIBAND, and other miscellaneous small features.
* Clang now supports profiling, so remove the part that says it doesn'tdim2011-02-201-2/+2
| | | | from sys/conf/kern.pre.mk.
* cxgbe(4) - NIC driver for Chelsio T4 (Terminator 4) based 10Gb/1Gb adapters.np2011-02-181-2/+2
| | | | MFC after: 3 weeks
* whitespace nit.imp2011-02-111-1/+1
|
* Remove OpenSolaris include path referring to a non-existing directorypluknet2011-02-021-3/+0
| | | | | | | | | | never committed from p4 dtrace branch. [The correct include path is referenced from every opensolaris compat consumer's module Makefile, so it doesn't serve any purpose anyway.] Reported by: arundel on freebsd-hackers@ via clang Approved by: kib (mentor) MFC after: 1 week
* Make it possible to specify WITHOUT_MODULES in a kernel config file.cperciva2010-12-271-0/+3
| | | | MFC after: 1 week
* Bump up MIPS limits once again; the new Cavium Octeon SDK requires even higherjmallett2010-11-281-1/+2
| | | | | limits. I'd rather disable the warning and keep the limits at a sane level, but for now they'll be ridiculously-high.
* Use :T:Micc here like everywhere else we test iccimp2010-09-131-1/+1
|
* MFtbemd:imp2010-08-231-1/+1
| | | | | Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want to test of all the CPUs of a given family conform.
* For every instance of '.if ${CC} == "foo"' or '.if ${CC} != "foo"' inrpaulo2010-08-171-5/+5
| | | | | | | | | | | | | Makefiles or *.mk files, use ${CC:T:Mfoo} instead, so only the basename of the compiler command (excluding any arguments) is considered. This allows you to use, for example, CC="/nondefault/path/clang -xxx", and still have the various tests in bsd.*.mk identify your compiler as clang correctly. ICC if cases were also changed. Submitted by: Dimitry Andric <dimitry at andric.com>
* Fix previous commit: don't remove the WERROR definition when usingrpaulo2010-07-221-1/+3
| | | | | | | clang. Submitted by: Dimitry Andric <dimitry at andric.com> Reviewed by: jkim
* Handle a few corner cases for clang like we did with icc. These shouldrpaulo2010-07-221-3/+3
| | | | | | reduce the number of warnings seen while building the kernel. Submitted by: Dimitry Andric <dimitry at andric.com>
OpenPOWER on IntegriCloud