summaryrefslogtreecommitdiffstats
path: root/share/mk
Commit message (Collapse)AuthorAgeFilesLines
* Introduce a new make variable COMPILER_TYPE that specifies whatbrooks2012-09-133-15/+35
| | | | | | | | | | | | | | | | | | | | 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
* Add MK_KDUMP.obrien2012-09-121-0/+2
|
* When using -stdlib=libc++, add the correct dependency to .depend indim2012-08-251-0/+4
| | | | | | | bsd.prog.mk. Submitted by: Yamaya Takashi <yamayan@kbh.biglobe.ne.jp> MFC after: 2 weeks
* Make sure bsd.dep.mk does not filter out -stdlib=xxx from CXXFLAGS,dim2012-08-231-2/+4
| | | | | | since this determines parts of the C++ include path. MFC after: 1 week
* Merging of projects/armv6, part 3gonzo2012-08-153-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* Import bsdconfig(8) as a replacement for the post-install abilities ofdteske2012-07-141-0/+1
| | | | | | | | deprecated sysinstall(8). NOTE: WITH_BSDCONFIG is currently required. Submitted by: Devin Teske (dteske), Ron McDowell <rcm@fuzzwad.org> Reviewed by: Ron McDowell <rcm@fuzzwad.org> Approved by: Ed Maste (emaste)
* Fix build after r237997.glebius2012-07-021-0/+1
|
* - Switch to BSD sort as default sort. GNU sort will still be installed asgabor2012-06-271-1/+1
| | | | | | | | | "gnusort". Most of the BSD sort development work was done by Oleg Moskalenko <oleg.moskalenko@citrix.com>. - GNU grep can be set to default by setting WITH_GNU_GREP. It will cause BSD sort to be installed as "bsdsort". Portbuild tested by: linimon
* Add -DWITH_INSTALL_AS_USER to the source build (naming matches theobrien2012-06-261-0/+12
| | | | | | | | | | same functionality of The Ports Collection). This sets BINOWN, BINGRP, etc... to match current user. This this allows 'install', as used in 'make install', to succeed (assuming user has write permissions). Submitted by: Simon J Gerraty <sjg@juniper.net> Discussed on: freebsd-arch
* Ensure crunchen uses the same make binary as the rest of the build.obrien2012-06-251-1/+1
| | | | Submitted by: Simon Gerraty <sjg@juniper.net>
* In CTFCONVERT_CMD initialization, check that ${MAKE_VERSION} is definedrmh2012-06-161-1/+1
| | | | | | before using it. Bootstrap make (as built by usr.bin/make/Makefile.dist) does not define this variable, but it needs to parse bsd.own.mk in order to build a complete make.
* Amend r227797 by also passing ${STATIC_CXXFLAGS} for the other supporteddim2012-06-091-1/+1
| | | | | | C++ file extensions. MFC after: 3 days
* During buildworld and buildkernel, define EARLY_BUILD in the earlierdim2012-06-031-3/+6
| | | | | | | | | | | | | | | | | | stages (build-tools, cross-tools, etc) of the build, so we can detect in bsd.*.mk whether to pass compiler-specific flags to ${CC}. In particular, this commit will allow using WITH_CLANG_IS_CC when the base compiler is still gcc, and when ${CC}, ${CXX} and ${CPP} are left at their defaults. The early stages will then be built using gcc, and no clang-specific flags will be passed to it. The later stages will be built as usual. The EARLY_BUILD define can also serve other uses, such as building the world stage C++ executables with libc++ instead of libstdc++: during the early build stages, we cannot assume libc++ is already available, so we must still build with libstdc++ at that time. MFC after: 1 week
* Fix an inconsistency I just ran into for LDADD and DPADD. The descriptionmarcel2012-05-241-2/+2
| | | | | | for both of them use different, and presumably wrong, variables in the example. They set LDFILES and SRCLIB respectively. I guess that's what DPADD and LDADD were called first ...
* Add build opton MK_LS_COLORS to control whether ls(1) supports colorsmarcel2012-05-191-0/+1
| | | | | | | (and thus needs to depend on libtermcap). Embedded systems may not want or need colors. Obtained from: Juniper Networks, Inc.
* Add build option MK_ED_CRYPTO to control whether ed(1) is to have themarcel2012-05-191-0/+1
| | | | | | | ability to encrypt/decrypt files. Embedded systems can typically have OpenSSL, but not for ed(1) to use it. Obtained from: Juniper Networks, Inc.
* Add missing LIBPROCSTAT.marcel2012-05-191-0/+1
|
* Import work done under project/nand (@235533) into head.gber2012-05-171-0/+1
| | | | | | | | | | | | | | The NAND Flash environment consists of several distinct components: - NAND framework (drivers harness for NAND controllers and NAND chips) - NAND simulator (NANDsim) - NAND file system (NAND FS) - Companion tools and utilities - Documentation (manual pages) This work is still experimental. Please use with caution. Obtained from: Semihalf Supported by: FreeBSD Foundation, Juniper Networks
* - Hook up BSD sort to the build. By default, it will be installed asgabor2012-05-111-0/+1
| | | | | | "bsdsort" and GNU sort will be the default "sort". When WITH_BSD_SORT is set, BSD sort will be the default "sort" and GNU sort will be installed as "gnusort".
* Revert r234656, and apply a proper fix for binutils PR 10474, whichdim2012-05-071-2/+1
| | | | | | | | | | | | caused linking clang on 32-bit PowerPC to fail with "relocation truncated to fit: R_PPC_REL24" errors. Original diffs (relicensed under GPLv2 with permission from author): http://sourceware.org/git/?p=binutils.git;a=commit;h=1fd262ff7d7ea5adf4894c6b960e092e7e43e3cd http://sourceware.org/git/?p=binutils.git;a=commit;h=053c49fbff58bd33bd0d12200ea61302f92caceb Tested by: andreast MFC after: 1 week
* Introduce the ${SHLIB_LDSCRIPT} variable to have an ld(1) scriptjlh2012-05-072-2/+29
| | | | | | | | | instead of a symlink for .so files. Reviewed by: kib, kan (previous version), dim Approved by: kib (mentor) Silence from: -hackers@ MFC after: 1 week
* Add src.conf option WITH_SHARED_TOOLCHAIN to enable building thekib2012-04-291-1/+2
| | | | | | | | toolchain binaries as dynamically linked. Option is disabled by default. Reviewed by: ru (previous version) MFC after: 2 weeks
* After r234596, temporarily disable building clang on 32-bit PowerPC,dim2012-04-241-1/+2
| | | | | | until we are able to fix the binutils bug that makes linking clang fail with "relocation truncated to fit: R_PPC_REL24" errors. This should fix the tinderboxes for now.
* Sort nm in order.imp2012-04-221-4/+4
| | | | Submitted by: bde
* Fix partially merged patch from my external compiler tree in r234546.imp2012-04-211-0/+4
| | | | Define NM except when we're in strict POSIX mode.
* Upgrade our copy of llvm/clang to trunk r154661, in preparation of thedim2012-04-161-2/+11
| | | | | | | upcoming 3.1 release (expected in a few weeks). Preliminary release notes can be found at: <http://llvm.org/docs/ReleaseNotes.html> MFC after: 2 weeks
* Assume a big-endian default on MIPS and drop the "eb" suffix from MACHINE_ARCH.jmallett2012-03-292-2/+2
| | | | | | | | | | | | | | | 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.
* - Update FreeBSD Heimdal distribution to version 1.5.1. This also bringsstas2012-03-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | several new kerberos related libraries and applications to FreeBSD: o kgetcred(1) allows one to manually get a ticket for a particular service. o kf(1) securily forwards ticket to another host through an authenticated and encrypted stream. o kcc(1) is an umbrella program around klist(1), kswitch(1), kgetcred(1) and other user kerberos operations. klist and kswitch are just symlinks to kcc(1) now. o kswitch(1) allows you to easily switch between kerberos credentials if you're running KCM. o hxtool(1) is a certificate management tool to use with PKINIT. o string2key(1) maps a password into key. o kdigest(8) is a userland tool to access the KDC's digest interface. o kimpersonate(8) creates a "fake" ticket for a service. We also now install manpages for some lirbaries that were not installed before, libheimntlm and libhx509. - The new HEIMDAL version no longer supports Kerberos 4. All users are recommended to switch to Kerberos 5. - Weak ciphers are now disabled by default. To enable DES support (used by telnet(8)), use "allow_weak_crypto" option in krb5.conf. - libtelnet, pam_ksu and pam_krb5 are now compiled with error on warnings disabled due to the function they use (krb5_get_err_text(3)) being deprecated. I plan to work on this next. - Heimdal's KDC now require sqlite to operate. We use the bundled version and install it as libheimsqlite. If some other FreeBSD components will require it in the future we can rename it to libbsdsqlite and use for these components as well. - This is not a latest Heimdal version, the new one was released while I was working on the update. I will update it to 1.5.2 soon, as it fixes some important bugs and security issues.
* Change the style of share/mk/bsd.sys.mk to that of the other bsd.*.mkdim2012-03-161-84/+85
| | | | | | | | | files, and style.Makefile(5), where applicable. While here, update the link to the gcc warning documentation. No functional change. MFC after: 1 week
* Make boot2 build with Clang again.jkim2012-03-091-2/+4
| | | | | Submitted by: dim (bsd.sys.mk) Reviewed by: dim, jhb
* Revert r232473. I have been convinced by Doug Barton and Bjoern Zeebdim2012-03-031-6/+6
| | | | | | | | | | | | | | | | | | | | | | | 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-6/+6
| | | | | | | | | | | | | | | | | | | | | 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-292-6/+11
| | | | | | | | | | 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-4/+10
| | | | | | | | | | | | | | | | | | | | | 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
* Fix comma splice, can't ambiguity and quoting.imp2012-02-161-1/+1
| | | | | Submitted by: bde@ MFC after: 2 weeks
* Wordsmith the can't find kernel error message, and suggest whichimp2012-02-151-1/+1
| | | | variable to set to override.
* Add a WITH_CLANG_EXTRAS option for src.conf(5), disabled by default,dim2012-02-051-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that builds the following additional llvm/clang tools: - bugpoint - llc - lli - llvm-ar - llvm-as - llvm-bcanalyzer - llvm-diff - llvm-dis - llvm-extract - llvm-ld - llvm-link - llvm-mc - llvm-nm - llvm-objdump - llvm-prof - llvm-ranlib - llvm-rtdyld - llvm-stub - macho-dump - opt These tools are mainly useful for people that want to manipulate llvm bitcode (.bc) and llvm assembly language (.ll) files, or want to tinker with llvm and clang themselves. MFC after: 2 weeks
* Add MK_SOURCELESS build option. Setting MK_SOURCELESS to "no" will disablermh2012-02-041-0/+8
| | | | | | | | | | | kernel modules that include binary-only code. More fine-grained control is provided via MK_SOURCELESS_HOST (for native code that runs on host CPU) and MK_SOURCELESS_UCODE (for microcode). Reviewed by: julian, delphij, freebsd-arch Approved by: kib (mentor) MFC after: 2 weeks
* Allow crunchgen binary link generation to be disabled.adrian2012-01-051-0/+5
| | | | | | | | If CRUNCH_GENERATE_LINKS is set to "no", then no links will be generated. This defaults to "yes" so things like release crunch building still works.
* Add WITHOUT_CAPSICUM src.conf(5) define, which can be used to compile outrwatson2012-01-021-0/+1
| | | | | | | use of Capsicum by userspace applications. MFC after: 3 weeks Sponsored by: Google, Inc.
* Disable another clang warning (-Wempty-body) when WARNS <= 2.dim2011-12-181-1/+1
| | | | MFC after: 1 week
* Disable yet another clang warning (-Wconversion) when WARNS <= 3.dim2011-12-181-1/+2
| | | | MFC after: 1 week
* Disable yet another clang warning when WARNS <= 3.dim2011-12-171-1/+1
| | | | MFC after: 1 week
* Add a NO_WARRAY_BOUNDS setting to bsd.sys.mk, only applicable to clang,dim2011-12-161-0/+3
| | | | | | | | to selectively work around warnings in programs that don't use flexible array members, but instead define arrays of length 1 at the end of the struct, and then access those beyond their declared bounds. MFC after: 1 week
* Disable one more clang warning when WARNS <= 3.dim2011-12-151-1/+2
| | | | MFC after: 1 week
* Clang has more warnings enabled by default, and when using -Wall, so if WARNSdim2011-12-151-0/+13
| | | | | | is set to low values, some of them have to be disabled explicitly. MFC after: 1 week
* Force linker error when created shared library contains a relocationkib2011-12-061-2/+7
| | | | | | | | | against text. Provide the override switch to turn off the strict behaviour. Apparently, openssl libcrypto needs it due to assembler code not being PIC. Discussed with: bf MFC after: 2 weeks
* Revert to conservative defaults. WITH_PROFILE is a default now.fjoe2011-12-021-2/+2
| | | | | NO_PROFILE overrides in Makefile.inc1 and bsd.own.m are left intact so that the reversal to the WITHOUT_PROFILE will be easier in future.
* - CTF knob is now implemented using common scheme: MK_CTF=yes/no isfjoe2011-11-303-11/+16
| | | | | | | 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
* CTFCONVERT_CMD=... hack does not work sufficiently well in parallel builds.fjoe2011-11-291-1/+1
| | | | Put a bandaid until make(1) is taught to ignore empty commands.
OpenPOWER on IntegriCloud