ports include /etc/src.conf? i.e. graphics/libfpx

O. Hartmann ohartman at zedat.fu-berlin.de
Thu Feb 14 20:58:10 UTC 2013

Am 02/14/13 14:19, schrieb Yamaya Takashi:
> On 2013/02/13 22:33, Tom Evans wrote:
>> On Wed, Feb 13, 2013 at 12:30 PM, Yamaya Takashi
>> <yamayan at kbh.biglobe.ne.jp> wrote:
>>> On 2013/02/13 19:08, O. Hartmann wrote:
>>>> Setting only base system source compiler optins in /etc/src.conf, for
>>>> instance
>>>> #
>>>> CXXFLAGS+=              -stdlib=libc++
>>>> CXXFLAGS+=              -std=c++11
>>>> which do NOT appear in /etc/make.conf, make building port
>>>> grahpics/libfpx complaining about unrecognized compiler options.
>>>> As far a sI know, /etc/src.conf is ONLY for building the source tree of
>>>> the operating system and make.conf is supposed to contain all stuff
>>>> necessary for compiling both world and ports, but /etc/src.conf is world
>>>> only.
>>>> Am I wrong?
>>>> Oliver
>>> Yes.
>>> Because files/Makefile.bsd includes <bsd.lib.mk>,
>>> /etc/src.conf is included.
>> src.conf(5) says:
>>   The only purpose of src.conf is to control the compilation of the FreeBSD
>>   source code, which is usually located in /usr/src.
>> Cheers
>> Tom
> src.conf(5) says:
>      The values of variables are ignored regardless of their setting;
> even if
>      they would be set to ``FALSE'' or ``NO''.  Just the existence of an
>      option will cause it to be honoured by make(1).
>      The following list provides a name and short description for variables
>      that can be used for source builds.
> Does it mean ONLY WITH_* and WITHOUT_* variables are allowed in
> /etc/src.conf?

Shortly, there was a discussion about a fully installed LLVM/CLANG and
the portion of LLVM/CLANG, that is only needed to compile the system's
source. In this case, a strict separartion was intended.

This implies w have setting only applicable for the core system and we
deal with settings for various ports.

I though, until now, FreeBSD, as other *BSDs, follow a strict logical
policy and this implies, in my opinion, that there is in strictu sensu a
separation between the sources of the core system and those for the ports.

If the manpage of /etc/src.conf says that only bool knobs are allowed
like WITH_XXX or WITHOUT_XXX, then: where to put the options?

I feel confused by having /etc/src.conf also involved in port's
compilations and in my opinion, this is a bug! It torpedos the logic
described in the manpage with sounds reasonable to me (the manpage of

If the build system really needs to intertwine both make.conf and
src.conf for ports, then something is illconditioned.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20130214/e8228722/attachment.sig>

More information about the freebsd-current mailing list