DragonFly On-Line Manual Pages

COMPILERS.CONF(5)	 DragonFly File Formats Manual	     COMPILERS.CONF(5)


compilers.conf -- configuration file for external compilers




The compilers.conf file allows to configure ``external'' compilers for usage with the DragonFly build(7) system. The /etc/defaults/compilers.conf file specifies the default settings for all variables, the /etc/compilers.conf file specifies override settings. The following variables are available: <version>_CC The pathname of the cc program of the compiler. <version>_CFLAGS Any additional flags to pass to <version>_CC. <version>_CPP The pathname of the cpp program of the compiler. <version>_CPPFLAGS Any additional flags to pass to <version>_CPP. <version>_CXX The pathname of the c++ program of the compiler. <version>_CXXFLAGS Any additional flags to pass to <version>_CXX. Currently, defaults are provided for clang (installed from pkgsrc(7)'s lang/clang), clangsvn (installed from SVN trunk as described in http://clang.llvm.org/get_started.html), gcc46 (installed from pkgsrc(7)'s lang/gnat-aux), and pcc (installed from pkgsrc(7)'s lang/pcc-current).


In DragonFly, compilers are selected by setting the CCVER variable. The cpp, cc, etc. programs in /usr/bin are actually links to the objformat(1) deflector program which is responsible for executing the correct programs (located in /usr/libexec/$CCVER). Traditionally, DragonFly has 2 compilers in base, one of which is the default compiler and the other is either a newer or older version. In order to allow additional non-base compilers into DragonFly's build process, objformat(1) deflects to /usr/libexec/custom when CCVER's set- ting is not one of the compilers in base. This directory contains a cc wrapper script (and some links to it). The wrapper script then takes care of making the compiler look and behave like a compiler in base. The settings in compilers.conf specify paths and flags for the /usr/libexec/custom/cc script.


/etc/compilers.conf external compiler configuration file


Once configured the compiler can be used like this: env CCVER=clang make To try building world and kernel, use: cd /usr/src env WORLD_CCVER=<version> make -DNO_GCC47 buildworld env WORLD_CCVER=<version> make buildkernel KERNCONF=MYCONF


objformat(1), build(7)


The compilers.conf file first appeared in DragonFly 2.3. DragonFly 3.9 October 14, 2012 DragonFly 3.9