Question on port usage

Jason Williams jwilliams at courtesymortgage.com
Wed Jan 7 09:16:08 PST 2004


Good morning everyone.

I wanted to ask a question about ports, the makefile and customizing port 
installation.

I was reading through 'Absolute BSD' last night and was reading up on the 
section on port's. I was unaware that with ports, you can actually edit the 
makefile to add certain options at installation time. Sorta like 
./configure when you install programs from source correct?

I have been working with cyrus-imapd as im going to roll out a mail server 
here pretty soon.
Looking at the make file, I see this:

.if defined(WITH_BDB_VER)
USE_BDB_VER=    ${WITH_BDB_VER}
.else
USE_BDB_VER=    3
.endif
.if ${USE_BDB_VER} == 41
LIB_DEPENDS+=   db41.1:${PORTSDIR}/databases/db41
.elif ${USE_BDB_VER} == 4
LIB_DEPENDS+=   db4.0:${PORTSDIR}/databases/db4
.elif ${USE_BDB_VER} == 3
LIB_DEPENDS+=   db3.3:${PORTSDIR}/databases/db3
.else
BROKEN=         "WITH_BDB_VER must be 3, 4 or 41"
.endif
CONFIGURE_ARGS+=--with-bdb-incdir=${LOCALBASE}/include/db${USE_BDB_VER} \
                 --with-bdb=db${USE_BDB_VER}

.if defined(WITH_SKIPLIST)
WITH_SKIPLIST_MBOX=     YES
WITH_SKIPLIST_SEEN=     YES
.endif
.if defined(WITH_SKIPLIST_MBOX)
CONFIGURE_ARGS+=--with-mboxlist-db=skiplist
.endif
.if defined(WITH_SKIPLIST_SEEN)
CONFIGURE_ARGS+=--with-seen-db=skiplist
.endif

.if defined(WITH_MURDER)


(There is more, but I cut it short to get to the point)

With what is listed above, you can actually specify what and how you want 
the software built?

For instance:
make WITH_BDB_VER=41 WITH_SKIPLIST=YES WITH_MURDER install clean
Would setup cyrus-imapd with Berkeley db41, with_skiplist and with murder 
correct? Or not?

Lastly, since there are quite a few options that you can use to compile 
with most programs, is it possible to specify them somehow at the command 
line when installing through the ports tree?

I'm pretty new to ports, but I really like the idea behind it. Just looking 
for some clarification here.

I appreciate the help.

Jason



More information about the freebsd-questions mailing list