proper use of bsd.port.options.mk

Chris Rees utisoft at gmail.com
Mon May 16 17:27:16 UTC 2011


On 16 May 2011 18:23, Doug Barton <dougb at freebsd.org> wrote:
> On 5/16/2011 3:23 AM, Chris Rees wrote:
>>
>> On 16 May 2011 05:18, Warren Block<wblock at wonkity.com>  wrote:
>>>
>>> On Sun, 15 May 2011, Doug Barton wrote:
>>>
>>>> I'm confused (yeah, I know, nothing new about that). From
>>>> ports/Mk/bsd.port.options.mk:
>>>>
>>>> # usage:
>>>> #
>>>> #       .include "bsd.port.options.mk"
>>>> #<deal with user options>
>>>> #       .include "bsd.port.pre.mk"
>>>> #<other work, including adjusting dependencies>
>>>> #       .include "bsd.port.post.mk"
>>>>
>>>>
>>>> However the ports I've looked at so far all do:
>>>>
>>>> OPTIONS=        blah
>>>>
>>>> .include<bsd.port.options.mk>
>>>>
>>>> blah
>>>>
>>>> .include<bsd.port.mk>
>>>> EOF
>>>>
>>>> I assume that this method works, since it seems like so many ports use
>>>> it.
>>>> Should the notes in options.mk be updated?
>>>
>>> Yes, it should be updated.  See examples "5.8 Simple use of OPTIONS" and
>>> "5.9 Old style use of OPTIONS" in the Porter's Handbook:
>>>
>>>
>>> http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/makefile-options.html
>>
>> No, because stuff is done in pre.mk which is not done in OPTIONS;
>> handling dependencies such as USE_BZIP2 or USE_JAVA for example.
>>
>> After options processing, pre.mk is only needed if you need to do the
>> above, which is why it's missed out on most ports.
>>
>> The Handbook part refers to 'SIMPLE' use of OPTIONS, so perhaps should
>> have a 'complex' use of options as well...
>
> Can you give an example of a port that needs this? I didn't find any
> examples of ports doing it the "complex" way, but my search wasn't
> exhaustive.
>
>
> Doug
>

Top of my head, no.

However...

OPTIONS=    WITH_JAVA "With Java" on

.include <bsd.port.options.mk>

.if !defined(WITHOUT_JAVA)
USE_JAVA=1.5+
.endif

.include <bsd.port.pre.mk>

--- do something with JAVA_PORT ----

.include <bsd.port.post.mk>



I know this is rather strange, but that's how I see it being used.

Chris


More information about the freebsd-ports mailing list