Add PLATFORM_* define to config.h to allow supporting non Linux platforms.
Add kqueue option and allow to disable epoll.
Enable SSL per default on FreeBSD because libssl is in base so it's always available.
Avoid "install -D" because the flag is not available on FreeBSD.
Add missing include for FreeBSD which has AF_INET6 defined
in sys/socket.h

tvheadend-3.4/src/access.c: In function 'netmask_verify':
tvheadend-3.4/src/access.c:164: error: dereferencing pointer to incomplete type
tvheadend-3.4/src/access.c:164: error: 'AF_INET6' undeclared (first use in this function)
tvheadend-3.4/src/access.c:164: error: (Each undeclared identifier is reported only once
tvheadend-3.4/src/access.c:164: error: for each function it appears in.)
tvheadend-3.4/src/access.c:177: error: dereferencing pointer to incomplete type
tvheadend-3.4/src/access.c:177: error: 'AF_INET' undeclared (first use in this function)
tvheadend-3.4/src/access.c:193: error: dereferencing pointer to incomplete type
tvheadend-3.4/src/access.c: In function 'access_set_prefix':
tvheadend-3.4/src/access.c:422: error: 'AF_INET6' undeclared (first use in this function)
tvheadend-3.4/src/access.c: In function 'access_record_build':
tvheadend-3.4/src/access.c:554: error: 'AF_INET6' undeclared (first use in this function)
Add missing includes for shutdown(2) and SHUT_RDWR on FreeBSD.

tvheadend-3.4/src/cwc.c: In function 'cwc_session':
tvheadend-3.4/src/cwc.c:1139: warning: implicit declaration of function 'shutdown'
tvheadend-3.4/src/cwc.c:1139: error: 'SHUT_RDWR' undeclared (first use in this function)
tvheadend-3.4/src/cwc.c:1139: error: (Each undeclared identifier is reported only once
tvheadend-3.4/src/cwc.c:1139: error: for each function it appears in.)
tvheadend-3.4/src/cwc.c: In function 'cwc_entry_update':
tvheadend-3.4/src/cwc.c:2369: error: 'SHUT_RDWR' undeclared
Remove unused sys/epoll.h includes
Add missing include for accept(2) on FreeBSD.

tvheadend-3.4/src/epggrab/module.c: In function '_epggrab_socket_thread':
tvheadend-3.4/src/epggrab/module.c:357: warning: implicit declaration of function 'accept'
tvheadend-3.4/src/epggrab/module.c: In function 'epggrab_module_enable_socket':
tvheadend-3.4/src/epggrab/module.c:382: warning: implicit declaration of function 'shutdown'
tvheadend-3.4/src/epggrab/module.c:382: error: 'SHUT_RDWR' undeclared (first use in this function)
tvheadend-3.4/src/epggrab/module.c:382: error: (Each undeclared identifier is reported only once
tvheadend-3.4/src/epggrab/module.c:382: error: for each function it appears in.)
tvheadend-3.4/src/epggrab/module.c:392: warning: implicit declaration of function 'socket'
tvheadend-3.4/src/epggrab/module.c:392: error: 'AF_UNIX' undeclared (first use in this function)
tvheadend-3.4/src/epggrab/module.c:392: error: 'SOCK_STREAM' undeclared (first use in this function)
tvheadend-3.4/src/epggrab/module.c:398: warning: implicit declaration of function 'bind'
tvheadend-3.4/src/epggrab/module.c:406: warning: implicit declaration of function 'listen'
Add missing include for FreeBSD which has AF_INET6 defined in sys/socket.h
Read timezone from gettimeofday() to not have to rely on an globally set timezone variable.
Add missing include for "struct iovec" which is defined in sys/uio.h
on FreeBSD and also on Linux.

tvheadend-3.4/src/muxer/tvh/mkmux.c: In function 'mk_write_to_fd':
tvheadend-3.4/src/muxer/tvh/mkmux.c:347: error: invalid application of 'sizeof' to incomplete type 'struct iovec'
tvheadend-3.4/src/muxer/tvh/mkmux.c:351: error: invalid use of undefined type 'struct iovec'
tvheadend-3.4/src/muxer/tvh/mkmux.c:351: error: dereferencing pointer to incomplete type
tvheadend-3.4/src/muxer/tvh/mkmux.c:352: error: invalid use of undefined type 'struct iovec'
tvheadend-3.4/src/muxer/tvh/mkmux.c:352: error: dereferencing pointer to incomplete type
cc1: warnings being treated as errors
tvheadend-3.4/src/muxer/tvh/mkmux.c:358: warning: implicit declaration of function 'writev'
tvheadend-3.4/src/muxer/tvh/mkmux.c:364: error: invalid use of undefined type 'struct iovec'
Add missing include for FreeBSD which has AF_INET defined in sys/socket.h

tvheadend-3.4/src/webui/comet.c: In function 'comet_serverIpPort':
tvheadend-3.4/src/webui/comet.c:162: error: 'AF_INET' undeclared (first use in this function)
tvheadend-3.4/src/webui/comet.c:162: error: (Each undeclared identifier is reported only once
tvheadend-3.4/src/webui/comet.c:162: error: for each function it appears in.)
tvheadend-3.4/src/webui/comet.c:164: error: 'AF_INET6' undeclared (first use in this function)
Add missing include for FreeBSD which has AF_INET and AF_INET6 defined in sys/socket.h

tvheadend-3.4/src/webui/extjs.c: In function 'service_update_iptv':
tvheadend-3.4/src/webui/extjs.c:1748: error: 'AF_INET' undeclared (first use in this function)
tvheadend-3.4/src/webui/extjs.c:1748: error: (Each undeclared identifier is reported only once
tvheadend-3.4/src/webui/extjs.c:1748: error: for each function it appears in.)
tvheadend-3.4/src/webui/extjs.c:1749: error: 'AF_INET6' undeclared (first use in this function)
tvheadend-3.4/src/webui/extjs.c: In function 'build_record_iptv':
tvheadend-3.4/src/webui/extjs.c:1776: error: 'AF_INET' undeclared (first use in this function)
tvheadend-3.4/src/webui/extjs.c:1780: error: 'AF_INET6' undeclared (first use in this function)
Dumping NGREG in traphandler only if it is supported by the platform.
stime(2) is only available on Linux so make it optional.
Add sendfile(2) support for FreeBSD.
Use internal tvh_strdupa() because strdupa() is GNU only.
__u8 is not available on FreeBSD so use u_int8_t instead

tvheadend-3.4/src/dvb/diseqc.h:10: error: expected declaration specifiers or '...' before '__u8'
tvheadend-3.4/src/dvb/diseqc.h:11: error: expected declaration specifiers or '...' before '__u8'
Fix IPv4 multicasting on FreeBSD and make IPv6 multicasting optional
because it's not yet supported on FreeBSD.
Add kqueue support and make epoll optional.