Files
oasis-linux-mirror/pkg/transmission/gen.lua
T
Michael Forney eb314364ea transmission: Fix build with gcc 15.1.0
Use -isystem for the third-party includes. We want our libutp to
come first.

Add patch to fix utp_on_overhead type to match our libutp branch
(C99 bool).
2025-04-28 13:16:39 -07:00

157 lines
3.1 KiB
Lua

sub('libnatpmp.ninja', function()
cflags{'-D ENABLE_STRNATPMPERR'}
lib('libnatpmp.a', 'third-party/libnatpmp/(getgateway.c natpmp.c wingettimeofday.c)')
end)
sub('libminiupnp.ninja', function()
cflags{
'-D _GNU_SOURCE',
'-I $outdir/miniupnpc',
'-isystem $outdir/pkg/openbsd/include',
}
build('sed', '$outdir/miniupnpc/miniupnpcstrings.h', '$srcdir/third-party/miniupnpc/miniupnpcstrings.h.in', {
expr='-e s,OS/version,Linux, -e s,version,,',
})
lib('libminiupnp.a', [[
third-party/miniupnpc/(
connecthostport.c
igd_desc_parse.c
minisoap.c
minissdpc.c
miniupnpc.c
miniwget.c
minixml.c
portlistingparse.c
receivedata.c
upnpcommands.c
upnpdev.c
upnperrors.c
upnpreplyparse.c
)
]], {'$outdir/miniupnpc/miniupnpcstrings.h', 'pkg/openbsd/headers'})
end)
cflags{
'-D __TRANSMISSION__',
'-I $dir',
'-I $srcdir',
'-isystem $builddir/pkg/bearssl/include',
'-isystem $builddir/pkg/curl/include',
'-isystem $builddir/pkg/libevent/include',
'-isystem $builddir/pkg/libutp/include',
'-isystem $builddir/pkg/zlib/include',
'-isystem $builddir/pkg/openbsd/include',
'-isystem $srcdir/third-party',
'-isystem $srcdir/third-party/libb64/include',
'-isystem $srcdir/third-party/libnatpmp',
'-include config.h',
}
pkg.deps = {
'pkg/bearssl/headers',
'pkg/curl/headers',
'pkg/libevent/headers',
'pkg/libutp/headers',
'pkg/openbsd/headers',
'pkg/zlib/headers',
}
lib('libtransmission.a', [[
libtransmission/(
announcer.c
announcer-http.c
announcer-udp.c
bandwidth.c
bitfield.c
blocklist.c
cache.c
clients.c
completion.c
ConvertUTF.c
crypto.c
crypto-utils.c
crypto-utils-fallback.c
error.c
fdlimit.c
file.c
handshake.c
history.c
inout.c
list.c
log.c
magnet.c
makemeta.c
metainfo.c
natpmp.c
net.c
peer-io.c
peer-mgr.c
peer-msgs.c
platform.c
platform-quota.c
port-forwarding.c
ptrarray.c
quark.c
resume.c
rpcimpl.c
rpc-server.c
session.c
session-id.c
stats.c
torrent.c
torrent-ctor.c
torrent-magnet.c
tr-assert.c
tr-dht.c
tr-lpd.c
tr-udp.c
tr-utp.c
tr-getopt.c
trevent.c
upnp.c
utils.c
variant.c
variant-benc.c
variant-json.c
verify.c
watchdir.c
watchdir-generic.c
web.c
webseed.c
wildmat.c
watchdir-inotify.c
file-posix.c
subprocess-posix.c
crypto-utils-bearssl.c
)
libb64.a libdht.a libminiupnp.a libnatpmp.a
$builddir/pkg/(
bearssl/libbearssl.a
curl/libcurl.a.d
libevent/libevent.a
libutp/libutp.a
zlib/libz.a
)
]])
lib('libb64.a', {'third-party/libb64/src/cdecode.c', 'third-party/libb64/src/cencode.c'})
lib('libdht.a', {'third-party/dht/dht.c'})
exe('transmission-daemon', {
'daemon/daemon.c',
'daemon/daemon-posix.c',
'libtransmission.a.d',
})
file('bin/transmission-daemon', '755', '$outdir/transmission-daemon')
man{'daemon/transmission-daemon.1'}
for _, tool in ipairs{'create', 'edit', 'remote', 'show'} do
exe('transmission-'..tool, {'utils/'..tool..'.c', 'libtransmission.a.d'})
file('bin/transmission-'..tool, '755', '$outdir/transmission-'..tool)
man{'utils/transmission-'..tool..'.1'}
end
fetch 'curl'