summaryrefslogtreecommitdiffstats
path: root/Makefile.inc1
Commit message (Collapse)AuthorAgeFilesLines
* Fix a thinko in r232322, where gcc (and its tools) are not built duringdim2012-03-041-2/+2
| | | | | | | | | | | | | | the cross-tools stage, if CC=clang and WITH_CLANG_IS_CC is not set. This causes no 'cc' to be installed in the temporary cross-tools tree, making lint fall over later in the build, because it ignores ${CC} and attempts to run 'cc' anyway. To fix this, only skip building gcc during cross-tools, if WITHOUT_GCC is set, or if WITH_CLANG_IS_CC is set. Pointy hat to: dim MFC after: 2 weeks
* Add a WITH_CLANG_IS_CC option for src.conf(5), disabled by default, thatdim2012-02-291-5/+7
| | | | | | | | | | 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
* Allow specification of build shell for the buildenv target.imp2012-01-301-1/+4
| | | | Submitted by: ian lepore
* When the buildkernel stage 2.3 (build tools) runs, the PATH is still setdim2012-01-271-0/+2
| | | | | | | | | | | | | | to the default from the top-level Makefile. Therefore, invocations of lex and yacc (used during building of aicasm) will use the executables in /usr/bin, not those optionally built during the previous buildworld or kernel-toolchain. This makes kernel builds from older FreeBSD releases more difficult than necessary. Fix this by setting PATH to ${BPATH}:${PATH} in stage 2.3, so the bootstrap tools directories are searched before the regular ones. Silence from: svn-src-{all,head} MFC after: 1 week
* Restore functionality to pack several kernels into release. Allglebius2012-01-151-1/+12
| | | | | | | | kernels specified by KERNCONF are built and packed into release. The first one is packed into kernel.txz, all others to kernel.CONFIG.txz. The first one is installed on bootables in /boot.
* Fix the broken non-cross compile build. Oops!adrian2012-01-061-1/+1
| | | | Another pointy hat to: adrian, for stirring up more trouble.
* Allow extra directories to be added to the build-tools target.adrian2012-01-051-0/+5
| | | | | | | Things such as "sh" require local tools to be built before cross-compiling. This allows for extra software (that's built via LOCAL_DIRS) to also have a build-tools target where required.
* Remove -mfancy-math from LIB32CPUFLAGS for amd64. It has been defaultdim2011-12-221-1/+0
| | | | | | | | | for our gcc since more than three years (see r181534, which is also in stable/9 and stable/8). This flag used to be for the benefit of the old in-kernel math emulator, which was removed more than eight years ago. Pointed out by: arundel MFC after: 1 week
* - 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.
OpenPOWER on IntegriCloud