aboutsummaryrefslogtreecommitdiffstats
path: root/www/mongoose/Makefile
blob: 7cfb3b94c23b01235551da3e321c5e1444d2758b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# Created by: Boris Lytochkin (lytboris@gmail.com)
# $FreeBSD$

PORTNAME=   mongoose
PORTVERSION=    5.3
CATEGORIES= www

MAINTAINER= lytboris@gmail.com
COMMENT=    Small, fast, embeddable web server with CGI, SSL, Authorization

LICENSE=    GPLv2

USE_GITHUB= yes
GH_ACCOUNT= cesanta
GH_TAGNAME= ${GH_COMMIT}
GH_COMMIT=  30a7965

USES=       gmake dos2unix

ALL_TARGET= server
MAKE_ENV=   LIBS=-lpthread
BUILD_WRKSRC=   ${WRKSRC}/examples

USE_RC_SUBR=    mongoose

NO_OPTIONS_SORT=    YES

FS_DESC=Filesystem options

OPTIONS_MONGOOSE=AUTH CGI DAV DIRECTORY_LISTING LOGGING SSI
OPTIONS_NS=SSL IPV6 DEBUG
OPTIONS_DEFINE=${OPTIONS_MONGOOSE} ${OPTIONS_NS} DEBUG_HEXDUMP THREADS
OPTIONS_DEFAULT=${OPTIONS_DEFINE:NDEBUG*}

POPEN_DESC=     Enable process execute in SSI
CGI_DESC=       Enable CGI
AUTH_DESC=      Enable authentication
DAV_DESC=       Enable DAV (requires DIRECTORY_LISTING)
DIRECTORY_LISTING_DESC= Enable directory listing
LOGGING_DESC=       Enable logging
SSI_DESC=       Enable SSI
THREADS_DESC=       Enable threads
SSL_DESC=       Enable SSL
IPV6_DESC=      Enable IPv6 support
DEBUG_DESC=     Build with debug enabled
DEBUG_HEXDUMP_DESC= Enable hexdump of sent and received traffic

.include <bsd.port.options.mk>

CFLAGS_EXTRA=

.for FLAG in ${OPTIONS_MONGOOSE}
.   if !${PORT_OPTIONS:M${FLAG}}
CFLAGS_EXTRA+=-DMONGOOSE_NO_${FLAG}
.   endif
.endfor

.for FLAG in ${OPTIONS_NS}
.   if ${PORT_OPTIONS:M${FLAG}}
CFLAGS_EXTRA+=-DNS_ENABLE_${FLAG}
.   endif
.endfor

.if !${PORT_OPTIONS:MTHREADS}
CFLAGS_EXTRA+=-DNS_DISABLE_THREADS -DMONGOOSE_NO_THREADS
.endif

.if ${PORT_OPTIONS:MDEBUG_HEXDUMP}
CFLAGS_EXTRA+=-DNS_ENABLE_HEXDUMP
.endif

.if ${PORT_OPTIONS:MSSL}
USE_OPENSSL=    YES
CFLAGS_EXTRA+=  -lssl
.endif

.if !empty(PORT_OPTIONS:MDAV) && empty(PORT_OPTIONS:MDIRECTORY_LISTING)
BROKEN= DAV requires DIRECTORY_LISTING
.endif

MAKE_ENV+=  CFLAGS_EXTRA="-DMONGOOSE_NO_WEBSOCKET ${CFLAGS_EXTRA}"

PLIST_FILES=    bin/mongoose

do-install:
    ${MV} ${BUILD_WRKSRC}/server ${BUILD_WRKSRC}/mongoose
    ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/mongoose ${STAGEDIR}${PREFIX}/bin

.include <bsd.port.mk>