summaryrefslogtreecommitdiffstats
path: root/Makefile.inc1
Commit message (Collapse)AuthorAgeFilesLines
* - CTF knob is now implemented using common scheme: MK_CTF=yes/no isfjoe2011-11-301-2/+0
| | | | | | | 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
* Turn off profiled libs build by default.fjoe2011-11-291-5/+5
| | | | Can be enabled back using WITH_PROFILE=yes in /etc/src.conf
* Fix breakage after r227983; lib/libcxxrt still got built, because it wasdim2011-11-261-1/+1
| | | | | | | | not disabled in the usual way (by adding it to __DEFAULT_NO_OPTIONS in share/mk/bsd.own.mk), and because the test for MK_LIBCPLUSPLUS in Makefile.inc1 was incorrect. Pointy hat to: dim
* Provide proper error message when trying to build xdev, xdev-build orgonzo2011-11-261-0/+3
| | | | xdev-install targets without either XDEV or XDEV_ARCH defined.
* Import libc++ / libcxxrt into base. Not build by default yet (usetheraven2011-11-251-0/+3
| | | | | | | | | | | MK_LIBCPLUSPLUS=yes to enable). This is a work-in-progress. It works for me, but is not guaranteed to work for anyone else and may eat your dog. To build C++ using libc++, add -stdlib=libc++ to your CXX and LD flags. Bug reports welcome, bug fixes even more welcome... Approved by: dim (mentor)
* Revert r227841 and part of r227798. We still build libpam in two passes,des2011-11-241-2/+13
| | | | | | but we use STATIC_CFLAGS instead of our own private .c.o rule. MFC after: 3 weeks
* Remove libpam from _prebuild_libs. This should unbreak the -jX build.des2011-11-221-2/+1
| | | | MFC after: 3 weeks
* Simplify the libpam build by removing the shared modules' dependencydes2011-11-211-14/+4
| | | | | | | on the shared library. The modules are loaded by the library, so we know it'll be there when we need it. MFC after: 3 weeks
* Rename the linker emulation name for powerpc and powerc64. This is needed thatandreast2011-11-191-1/+1
| | | | | we can also use the upstream binutils linker where we have to have a unique name for the FreeBSD emulation.
* Revert r227403 for now. Since the cross-tools stage purposefullydim2011-11-101-6/+10
| | | | | | | | | | | | | doesn't have ${WORLDTMP}/usr/bin in its PATH, if you build world with CC=clang, tblgen tools from /usr/bin will be used instead of the ones built under ${WORLDTMP}. This can lead to various errors, especially if you upgrade from an older clang. Note that building world with gcc would not experience these problems, because it only uses the tblgen tools in the world stage, where PATH does contain ${WORLDTMP}/usr/bin. Pointy hat to: dim
* Move building of clang's tblgen tools (and required libraries) from thedim2011-11-091-10/+6
| | | | | | | | | | | | | | | bootstrap-tools stage to the cross-tools stage. These tools are only needed for generating llvm/clang include files, and are not necessary for bootstrapping the build itself. This shaves off some build time, because the required libraries are now just built twice (during the cross-tools and world stages), instead of three times. Also, if you build world using WITHOUT_CLANG= in src.conf(5), no llvm or clang code will be compiled at all anymore. MFC after: 1 week
* Make it possible to set CC and CXX (and optionally, AS and LD) indim2011-11-051-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | make.conf(5), while allowing the build32 stage on 64-bit architectures to still override them, so that stage can successfully build 32-bit compatibility libraries. Explanation: 1) The build32 stage sets environment variables CC, CXX, AS and LD for its sub-make, to add 32-bit specific flags (-m32 and such). 2) The sub-make reads sys.mk, encounters CC?= and CXX?= assignments, so does not alter them. 3) After some other stuff, sys.mk reads /etc/make.conf. When you have "CC=xxx" and "CXX=yyy" statements in there, they will *override* the build32-supplied CC/CXX values, nullifying the 32-bit specific flags. 4) Thus all objects get built as 64-bit anyway, and since LD is usually not set in make.conf, it still has the 32-bit flags! 5) Now, whenever something is linked, you will get a "ld: Relocatable linking with relocations from format elf64-x86-64-freebsd (foo.o) to format elf32-i386-freebsd (bar.o) is not supported" error. Fix this by adding "-ECC -ECXX -EAS -ELD" to the build32 sub-make invocation, which forces those environment variables to always override any assignment in makefiles. Thus making it possible to simply set: CC=my-cc CXX=my-c++ in your make.conf, or specify a path, even: CC=/usr/local/bin/other-cc CXX=/usr/local/bin/other-c++ Note this was never a problem on i386, since it has no build32 stage. Silence from: current@ MFC after: 1 week
* Attempt to fix build logic for gensnmptree.ed2011-10-261-1/+2
| | | | | | | | | There are two problems with the existing logic. It builds gensnmptree on <700018, even if WITHOUT_BSNMP is set, but more importantly, we must not forget to build gensnmptree on systems that have originally been built without. This causes a buildworld on those systems to fail. MFC after: 1 week
* Upgrade our copy of llvm/clang to r142614, from upstream's release_30dim2011-10-221-1/+3
| | | | | | | branch. This brings us very close to the 3.0 release, which is expected in a week or two. MFC after: 1 week
* Farewall, sysinstall! You served us well for many years, but 10.0 is onenwhitehorn2011-10-031-1/+0
| | | | | | | | digit beyond your time. Various sysinstall dependencies (e.g. libftpio, libdisk, libodialog, etc.) will be cleaned up in coming days. Some will take longer than others due to a few other consumers (tzsetup and sade).
* - Add missing interdependencies to kerberos libraries. Some of thestas2011-09-271-1/+16
| | | | | | | | | kerberos libraries were not linked properly (missing dependencies), which causes 3rd party applications linking to fail when --as-needed ld flag is used. I also added the --no-undefined ld(1) flag to make sure that there're no missing dependencies. MFC after: 3 days
* - Merged awk upstream that includes a fix for a bug exposed by kmod_syms.mk.ru2011-08-111-0/+5
| | | | | | - Provide a build aid for those who already have a buggy awk(1) installed. Approved by: re (kib)
* It's a bit odd, but "make update" in src/ can also update the ports/,ru2011-06-161-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | doc/, and now www/ trees, but only using the "cvsup" transport. When "make update" is run using a tree's makefile, it can also use "cvs" (except for www/) and "svn" (only src/). Clean up documentation and code regarding "make update": - Increase oddness by adding support for WWWSUPFILE and NO_WWWUPDATE to Makefile.inc1 (analogous to PORTSSUPFILE/NO_PORTSUPDATE and DOCSUPFILE/NO_DOCUPDATE; WWWSUPFILE already supported by www/Makefile). - Document all trees that support CVS_UPDATE. - Document all trees that support SUP_UPDATE. - Document SVN_UPDATE. - Document NO_WWWUPDATE. - make.conf(5) mistakenly said that *SUPFILE* had defaults. - Add an example entry for WWWSUPFILE.
* Implement WITH{,OUT}_{GCC,BINUTILS} to provide finer-grained controlimp2011-05-191-2/+10
| | | | | | | over building gcc and binutils. They default to true, unless MK_TOOLCHAIN is no. Reviewed by: ru@
* Clean up a loose end from the conversion from gnu ar/ranlib to the BSDimp2011-05-181-2/+4
| | | | | | | | one. Without this, we don't have ar or randlib in the tool path, leading to much pain for some users. This pain is exposed by the external toolchain enhancements that I'm working on. Submitted by: John Hein (ages ago, and dropped on the floor by me: sorry)
* Backout libinstall.a -> libpkg commit.flz2011-05-171-3/+2
| | | | Discussed with: erwin, brooks, bapt
* Disconnect sun4v architecture from the three.attilio2011-05-141-1/+1
| | | | | | | | | Some files keep the SUN4V tags as a code reference, for the future, if any rewamped sun4v support wants to be added again. Reviewed by: marius Tested by: sbruno Approved by: re
* + DTrace as a bootstrap tool is only needed on certain older systems.obrien2011-05-111-4/+10
| | | | | | | + Be more consistent between BMAKE and TMAKE. + Add NO_CTF to crosstools as is done for bootstrap and build tools. Reviewed by: marcel
* Correct the kernel config name printed out during install.obrien2011-05-051-1/+1
| | | | | PR: 156579 Submitted by: dhw
* Note which of the built kernels is being installed.obrien2011-04-221-1/+1
| | | | | PR: 156579 Submitted by: dhw
* Remove libobjc and other Objective-C related components, as these aredim2011-04-171-1/+0
| | | | | | extremely outdated, and not used by anything in the base system. Silence from: current@
* Complete WITHOUT_CXX support. It implies WITHOUT_GROFF anduqs2011-04-061-0/+2
| | | | | | | | WITHOUT_CLANG. Don't build clang bootstrap/build-tools depending on this flag. We also keep gperf, devd and libstdc++ around to prevent foot-shooting and to make this a two-way street.
* Make clang default on x86 and powerpc, but not on other architectures.imp2011-04-051-2/+2
| | | | | | | | | | | | | | Make fdt default on arm and powerpc. This now includes cross compiled targets, where before we tried to make it host-based. Also, move the lists of default yes and no options to a variable. In general, only build tools should get this treatment in bsd.own.mk. Also, the use of TARGET* in the bsd.*mk files is discouraged, but necessary here due to the ordering of things in buildworld. We make the native case work by testing MACHINE_ARCH after TARGET_ARCH.
* Fix the delete-old/check-old targets to work with arbitrarily longuqs2011-04-011-10/+27
| | | | | | | | | | | OLD_FILES/OLD_DIRS/OLD_LIBS lists. If you specify enough WITHOUT_FOO flags, the argument list passed to the shell will be too long. Using .for/.endfor make(1) "loop" will make the parser of the Makefile explode. Hack around this with good old pipes. No objections: netchild Reported by: b.f.
* - Merge in OFED 1.5.3 from projects/ofed/headjeff2011-03-211-1/+8
|
* Improve the distributeworld target in Makefile.inc1 and update the releasenwhitehorn2011-03-021-0/+46
| | | | | | | | | | infrastructure to use it. make distributeworld can now be used without preparing its environment first and installs games into its distribution using the regular make distribute logic instead of post-processing with a script. Also add two new targets, packageworld and packagekernel, that tar up the results of distributeworld and distributekernel (also new), respectively.
* Use a suitable DIRPRFX for each invocation of make in the build32 andjhb2011-03-011-11/+13
| | | | | | | install32 targets so that the full path to each program or library is displayed in the make output. MFC after: 1 week
* Commit two more files missed in r219089.pjd2011-02-271-0/+2
| | | | MFC after: 1 month
* Add the BSD-licensed Citrus iconv to the base system with default offgabor2011-02-251-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | setting. It can be built by setting the WITH_ICONV knob. While this knob is unset, the library part, the binaries, the header file and the metadata files will not be built or installed so it makes no impact on the system if left turned off. This work is based on the iconv implementation in NetBSD but a great number of improvements and feature additions have been included: - Some utilities have been added. There is a conversion table generator, which can compare conversion tables to reference data generated by GNU libiconv. This helps ensuring conversion compatibility. - UTF-16 surrogate support and some endianness issues have been fixed. - The rather chaotic Makefiles to build metadata have been refactored and cleaned up, now it is easy to read and it is also easier to add support for new encodings. - A bunch of new encodings and encoding aliases have been added. - Support for 1->2, 1->3 and 1->4 mappings, which is needed for transliterating with flying accents as GNU does, like "u. - Lots of warnings have been fixed, the major part of the code is now WARNS=6 clean. - New section 1 and section 5 manual pages have been added. - Some GNU-specific calls have been implemented: iconvlist(), iconvctl(), iconv_canonicalize(), iconv_open_into() - Support for GNU's //IGNORE suffix has been added. - The "-" argument for stdin is now recognized in iconv(1) as per POSIX. - The Big5 conversion module has been fixed. - The iconv.h header files is supposed to be compatible with the GNU version, i.e. sources should build with base iconv.h and GNU libiconv. It also includes a macro magic to deal with the char ** and const char ** incompatibility. - GNU compatibility: "" or "char" means the current local encoding in use - Various cleanups and style(9) fixes. Approved by: delphij (mentor) Obtained from: The NetBSD Project Sponsored by: Google Summer of Code 2009
* Flesh out WITHOUT_GROFF support to DTRT.uqs2011-02-221-8/+13
| | | | | | | | | | | | A full featured groff is required during buildworld, so build it always and don't rely on it being present on the host system. vgrind(1) is tightly coupled to a roff processor and will not be built/installed when groff is disabled. Also much of the roff'ed documentation under share/doc will not be built/installed when WITHOUT_GROFF is defined. Reviewed by: ru (partial)
* Back out 218933 and 281934. The easy cases still worked, but someimp2011-02-221-16/+2
| | | | | hard cases broke in worse ways than the status quo. Back them out until that can be resolved.
* Select building CLANG based on ${TARGET_ARCH} and existence ofimp2011-02-221-2/+16
| | | | | WITH{,OUT}_CLANG. We default to yes on some archs, no on others, unless WITHOUT_CLANG or WITH_CLANG is defined respectively.
* Upgrade our copy of llvm/clang to r126079, from upstream's trunk.dim2011-02-201-1/+0
| | | | | This contains many improvements, primarily better C++ support, an integrated assembler for x86 and support for -pg.
* Hmmm, specifying TARGET and TARGET_ARCH in the environment doesn'timp2011-02-111-6/+6
| | | | | | | seem to work when building xdev anymore (most likely my changes lately moving the TARGET guessing stuff to Makefile from Makefile.inc1, but I really don't grok why). Fix make xdev by putting them on the command line. This will work either way while I try to figure it out.
* CPUTYPE is now a required define for calling Makefile.inc1 diretly, soimp2011-02-111-39/+45
| | | | | | | | make sure we define it for the xdev stuff. Move xdev stuff to be last again in this file. # xdev-build works now, but xdev-install appears to be broken though.
* You are now *REQUIRED* to pass both TARGET and TARGET_ARCH to anyimp2011-02-101-0/+11
| | | | | | | invocations of Makefile.inc1 (since that's supposed to be an internal interface for world and related targets). Document this with a .error message. For a transition period, support passing in just TARGET, but give a .warning for that case: I plan on removing it in 9.0...
* Move the architecture guessing from Makefile.inc1 to Makefile. Weimp2011-01-311-26/+0
| | | | | | | | | | need to do this because variables specified on the command line override those specified in the Makefile. This is why we also moved from TARGET to _TARGET in Makefile, and then set TARGET on the command line when we fork a submake with Makefile.inc1. This makes mips/mips work again, even without the workaround committed to lib/libc/Makefile.
* Retire TARGET_ABI.imp2011-01-071-2/+2
| | | | | | | | | | | | | | | Implement MACHINE_ARCH=mips64e[lb] to build N64 images. This replaces MACHINE_ARCH=mipse[lb] TARGET_ABI=n64. MACHINE_ARCH=mipsn32e[lb] has been added, but currently requires WITHOUT_CDDL due to atomic issues in libzfs. I've not investigated this much, but implemented this to preserve as much of the TARGET_ABI functionality that I could. Since its presence doesn't affect the working cases, I've kept it in for now. Added mips64e[lb] to make universe, so more kernels build. And I think this (finally) closes the curtain on the tbemd tree.
* Do not lint code beyond necessity (with apologies to Wiliam of Ockham).markm2010-11-181-1/+1
| | | | | Don't lint externally maintained CDDL code, or relint the 32-bit libraries in amd64 mode.
* add / to the translation of TARGET_ARCH to TARGETimp2010-11-141-1/+1
|
* The fixes for mips/mips arm/arm compat hacks broke if TARGET orimp2010-11-131-2/+3
| | | | | | TARGET_ARCH wasn't defined. Fix it for that case. Submitted by: Garrett Cooper
* Add legacy names for mips:mips and arm with TARGET_BIG_ENDIAN, for the moment.imp2010-11-131-0/+14
|
* Replace libgcc.a by libcompiler_rt.a.ed2010-11-111-1/+2
| | | | | | | | | | | | | | | libcompiler_rt.a is a BSD licensed C language runtime, which implements many routines which are linked into binaries on architectures where certain functionality is missing (e.g. 64 bits mul/div on i386). Unfortunately, libcompiler_rt cannot replace libgcc entirely. Certain features, such as an unwinder for exception handling, are missing. That's why only libgcc.a is replaced for now, because this one does seem to be complete. Tested by: rene (amd64), nwhitehorn (powerpc), droso (i386 exprun) and many others. Thanks! Obtained from: user/ed/compiler-rt
* Merge from tbemd:imp2010-11-091-3/+3
| | | | | | o TARGET=mips --> little endian 32-bit mips build o mipsel and mipseb TARGET_ARCH are both mips TARGETs o Add some more architecture combinations
* Check TARGET_ARCH as well as TARGET to determine if we are doing a crossnwhitehorn2010-09-081-1/+1
| | | | | | | build. This is necessary to be able to cross-build 32-bit PowerPC from a 64-bit PowerPC host. Reviewed by: imp
OpenPOWER on IntegriCloud