gen.lua (3132B)
- 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'