From 128cf3412386995c3c99d91998d1df5f9a41a29c Mon Sep 17 00:00:00 2001 From: Mike Gelfand Date: Sun, 18 Dec 2022 11:19:07 -0800 Subject: [PATCH] Move jsonsl and wildmat to third-party (#4402) * Move jsonsl to third-party This treats it as proper 3rd-party code to which our warning and style settings don't extend. * Move wildmat to third-party This treats it as proper 3rd-party code to which our warning and style settings don't extend. * Fixup Xcode project to match new project structure --- .clang-format-ignore | 6 - CMakeLists.txt | 3 + Transmission.xcodeproj/project.pbxproj | 247 +++++++++++++++++- libtransmission/CMakeLists.txt | 14 +- libtransmission/utils.cc | 6 +- libtransmission/variant-json.cc | 2 +- third-party/jsonsl/CMakeLists.txt | 7 + .../jsonsl}/jsonsl.c | 0 .../jsonsl}/jsonsl.h | 0 third-party/wildmat/CMakeLists.txt | 7 + .../wildmat}/wildmat.c | 1 + third-party/wildmat/wildmat.h | 12 + 12 files changed, 270 insertions(+), 35 deletions(-) create mode 100644 third-party/jsonsl/CMakeLists.txt rename {libtransmission => third-party/jsonsl}/jsonsl.c (100%) rename {libtransmission => third-party/jsonsl}/jsonsl.h (100%) create mode 100644 third-party/wildmat/CMakeLists.txt rename {libtransmission => third-party/wildmat}/wildmat.c (99%) create mode 100644 third-party/wildmat/wildmat.h diff --git a/.clang-format-ignore b/.clang-format-ignore index eb1e33910..97e66e0aa 100644 --- a/.clang-format-ignore +++ b/.clang-format-ignore @@ -12,9 +12,3 @@ third-party/* # maintained at https://github.com/sparkle-project/Sparkle macosx/Sparkle.framework/* - -# maintained at https://github.com/mnunberg/jsonsl -libtransmission/jsonsl.* - -# missing official maintainer (XConsortium: wildmat.c,v 1.2 94/04/13); TODO: clang-format it -libtransmission/wildmat.* diff --git a/CMakeLists.txt b/CMakeLists.txt index 3979e87e9..758e1b57b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -428,6 +428,9 @@ if(NOT USE_SYSTEM_MINIUPNPC) set(MINIUPNPC_API_VERSION 12) endif() +add_subdirectory(third-party/jsonsl) +add_subdirectory(third-party/wildmat) + tr_add_external_auto_library(DHT dht dht) tr_add_external_auto_library(PSL libpsl psl) diff --git a/Transmission.xcodeproj/project.pbxproj b/Transmission.xcodeproj/project.pbxproj index 41eed8fca..b4072d1ed 100644 --- a/Transmission.xcodeproj/project.pbxproj +++ b/Transmission.xcodeproj/project.pbxproj @@ -46,7 +46,6 @@ 4D80185910BBC0B0008A4AF2 /* magnet-metainfo.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D80185710BBC0B0008A4AF2 /* magnet-metainfo.cc */; }; 4D80185A10BBC0B0008A4AF2 /* magnet-metainfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D80185810BBC0B0008A4AF2 /* magnet-metainfo.h */; }; 4D9A2BF009E16D21002D0FF9 /* libtransmission.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D18389709DEC0030047D688 /* libtransmission.a */; }; - 4DB74F080E8CD75100AEB1A8 /* wildmat.c in Sources */ = {isa = PBXBuildFile; fileRef = 4DB74F070E8CD75100AEB1A8 /* wildmat.c */; }; 4DCCBB3E09C3D71100D3CABF /* TorrentCell.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4DCCBB3C09C3D71100D3CABF /* TorrentCell.mm */; }; 4DE5CC9D0980656F00BE280E /* NSStringAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4DE5CC9C0980656F00BE280E /* NSStringAdditions.mm */; }; 4DE5CCA70980735700BE280E /* Badger.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4DE5CCA60980735700BE280E /* Badger.mm */; }; @@ -211,8 +210,6 @@ A2A4E9210DE0F7E9000CE197 /* web.h in Headers */ = {isa = PBXBuildFile; fileRef = A29EBE530DC01FC9006CEE80 /* web.h */; }; A2A4E9220DE0F7EB000CE197 /* web.cc in Sources */ = {isa = PBXBuildFile; fileRef = A29EBE520DC01FC9006CEE80 /* web.cc */; }; A2A6321B0CD9751700E3DA60 /* BadgeView.mm in Sources */ = {isa = PBXBuildFile; fileRef = A2A6321A0CD9751700E3DA60 /* BadgeView.mm */; }; - A2A7B32A164F87D400B98C65 /* jsonsl.c in Sources */ = {isa = PBXBuildFile; fileRef = A2A7B328164F87D400B98C65 /* jsonsl.c */; }; - A2A7B32B164F87D400B98C65 /* jsonsl.h in Headers */ = {isa = PBXBuildFile; fileRef = A2A7B329164F87D400B98C65 /* jsonsl.h */; }; A2AA579D0ADFCAB400CA59F6 /* PiecesView.mm in Sources */ = {isa = PBXBuildFile; fileRef = A2AA579B0ADFCAB400CA59F6 /* PiecesView.mm */; }; A2AA9BE1132CAC8E00FA131E /* announcer-udp.cc in Sources */ = {isa = PBXBuildFile; fileRef = A2AA9BE0132CAC8D00FA131E /* announcer-udp.cc */; }; A2AA9BE3132CAE2000FA131E /* evdns.c in Sources */ = {isa = PBXBuildFile; fileRef = A2AA9BE2132CAE2000FA131E /* evdns.c */; }; @@ -352,6 +349,12 @@ C1639A7D1A55F57200E42033 /* cencode.h in Headers */ = {isa = PBXBuildFile; fileRef = C1639A7B1A55F57200E42033 /* cencode.h */; }; C17740D5273A002C00E455D2 /* web-utils.cc in Sources */ = {isa = PBXBuildFile; fileRef = C17740D3273A002C00E455D2 /* web-utils.cc */; }; C17740D6273A002C00E455D2 /* web-utils.h in Headers */ = {isa = PBXBuildFile; fileRef = C17740D4273A002C00E455D2 /* web-utils.h */; }; + C1846BA0294F7A6300A98F30 /* jsonsl.h in Headers */ = {isa = PBXBuildFile; fileRef = C1846B86294F780700A98F30 /* jsonsl.h */; }; + C1846BA1294F7A6300A98F30 /* jsonsl.c in Sources */ = {isa = PBXBuildFile; fileRef = C1846B85294F780700A98F30 /* jsonsl.c */; }; + C1846BA2294F7A6800A98F30 /* wildmat.c in Sources */ = {isa = PBXBuildFile; fileRef = C1846B88294F781800A98F30 /* wildmat.c */; }; + C1846BA3294F7A6800A98F30 /* wildmat.h in Headers */ = {isa = PBXBuildFile; fileRef = C1846B87294F781800A98F30 /* wildmat.h */; }; + C1846BA8294F7B5700A98F30 /* libjsonsl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C1846B91294F796A00A98F30 /* libjsonsl.a */; }; + C1846BA9294F7B5A00A98F30 /* libwildmat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C1846B9E294F7A3400A98F30 /* libwildmat.a */; }; C1BF7BA81F2A3CB7008E88A7 /* upnpdev.c in Sources */ = {isa = PBXBuildFile; fileRef = C1BF7BA71F2A3CB7008E88A7 /* upnpdev.c */; }; C1BF7BAA1F2A3CCE008E88A7 /* upnpdev.h in Headers */ = {isa = PBXBuildFile; fileRef = C1BF7BA91F2A3CCE008E88A7 /* upnpdev.h */; }; C1F690FD1AD0627500D95CF0 /* daemon-posix.cc in Sources */ = {isa = PBXBuildFile; fileRef = C1F690FC1AD0627500D95CF0 /* daemon-posix.cc */; }; @@ -539,6 +542,20 @@ remoteGlobalIDString = C1639A6E1A55F4D600E42033; remoteInfo = b64; }; + C1846BA4294F7B1100A98F30 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = C1846B90294F796A00A98F30; + remoteInfo = jsonsl; + }; + C1846BA6294F7B1400A98F30 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = C1846B96294F7A3400A98F30; + remoteInfo = wildmat; + }; C33E46A12794B3CC0090F2AA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; @@ -751,7 +768,6 @@ 4D8017E910BBC073008A4AF2 /* torrent-magnet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "torrent-magnet.h"; sourceTree = ""; }; 4D80185710BBC0B0008A4AF2 /* magnet-metainfo.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "magnet-metainfo.cc"; sourceTree = ""; }; 4D80185810BBC0B0008A4AF2 /* magnet-metainfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "magnet-metainfo.h"; sourceTree = ""; }; - 4DB74F070E8CD75100AEB1A8 /* wildmat.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = wildmat.c; sourceTree = ""; }; 4DCCBB3C09C3D71100D3CABF /* TorrentCell.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = TorrentCell.mm; sourceTree = ""; }; 4DCCBB3D09C3D71100D3CABF /* TorrentCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TorrentCell.h; sourceTree = ""; }; 4DDBB71909E16BAE00284745 /* transmissioncli */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = transmissioncli; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -967,8 +983,6 @@ A2A1CB780BF29D5500AE959F /* PeerProgressIndicatorCell.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = PeerProgressIndicatorCell.mm; sourceTree = ""; }; A2A632190CD9751700E3DA60 /* BadgeView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BadgeView.h; sourceTree = ""; }; A2A6321A0CD9751700E3DA60 /* BadgeView.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = BadgeView.mm; sourceTree = ""; }; - A2A7B328164F87D400B98C65 /* jsonsl.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = jsonsl.c; sourceTree = ""; }; - A2A7B329164F87D400B98C65 /* jsonsl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = jsonsl.h; sourceTree = ""; }; A2A90DC115F3C3D900FB7115 /* de */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; A2A9D119187DD75100C52A1F /* tr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; A2A9D11A187DD75200C52A1F /* tr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist.strings; sourceTree = ""; }; @@ -1136,6 +1150,12 @@ C1639A7B1A55F57200E42033 /* cencode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cencode.h; path = include/b64/cencode.h; sourceTree = ""; }; C17740D3273A002C00E455D2 /* web-utils.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = "web-utils.cc"; sourceTree = ""; }; C17740D4273A002C00E455D2 /* web-utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "web-utils.h"; sourceTree = ""; }; + C1846B85294F780700A98F30 /* jsonsl.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = jsonsl.c; sourceTree = ""; }; + C1846B86294F780700A98F30 /* jsonsl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = jsonsl.h; sourceTree = ""; }; + C1846B87294F781800A98F30 /* wildmat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wildmat.h; sourceTree = ""; }; + C1846B88294F781800A98F30 /* wildmat.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = wildmat.c; sourceTree = ""; }; + C1846B91294F796A00A98F30 /* libjsonsl.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libjsonsl.a; sourceTree = BUILT_PRODUCTS_DIR; }; + C1846B9E294F7A3400A98F30 /* libwildmat.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwildmat.a; sourceTree = BUILT_PRODUCTS_DIR; }; C1BF7BA71F2A3CB7008E88A7 /* upnpdev.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = upnpdev.c; sourceTree = ""; }; C1BF7BA91F2A3CCE008E88A7 /* upnpdev.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = upnpdev.h; sourceTree = ""; }; C1F690FC1AD0627500D95CF0 /* daemon-posix.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "daemon-posix.cc"; sourceTree = ""; }; @@ -1307,6 +1327,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C1846BA9294F7B5A00A98F30 /* libwildmat.a in Frameworks */, + C1846BA8294F7B5700A98F30 /* libjsonsl.a in Frameworks */, C3D9062F27B7F7E200EF2386 /* libpsl.a in Frameworks */, C3CEBBFC2794A12200683BE0 /* libdeflate.a in Frameworks */, C1639A741A55F4E000E42033 /* libb64.a in Frameworks */, @@ -1349,6 +1371,20 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C1846B8F294F796A00A98F30 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C1846B99294F7A3400A98F30 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; C3CEBBA427949CA000683BE0 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1522,6 +1558,8 @@ C1639A6F1A55F4D600E42033 /* libb64.a */, C3CEBBA927949CA000683BE0 /* libdeflate.a */, C3D9062127B7E3C900EF2386 /* libpsl.a */, + C1846B91294F796A00A98F30 /* libjsonsl.a */, + C1846B9E294F7A3400A98F30 /* libwildmat.a */, ); name = Products; sourceTree = ""; @@ -1544,6 +1582,8 @@ 3C7A11880D0B2E6700B5701F /* libnatpmp */, C3D9061627B7E12F00EF2386 /* libpsl */, C1639A751A55F52800E42033 /* b64 */, + C1846B81294F774D00A98F30 /* jsonsl */, + C1846B82294F777000A98F30 /* wildmat */, 4DDBB71509E16B3F00284745 /* Libraries */, A2F35BBA15C5A0A100EBF632 /* Frameworks */, 19C28FACFE9D520D11CA2CBB /* Products */, @@ -1662,8 +1702,6 @@ BEFC1E160C07861A00B0BB3C /* inout.cc */, BEFC1E150C07861A00B0BB3C /* inout.h */, E23B55A5FC3B557F7746D511 /* interned-string.h */, - A2A7B328164F87D400B98C65 /* jsonsl.c */, - A2A7B329164F87D400B98C65 /* jsonsl.h */, A2AF23C616B44FA0003BC59E /* log.cc */, A2AF23C716B44FA0003BC59E /* log.h */, 4D80185710BBC0B0008A4AF2 /* magnet-metainfo.cc */, @@ -1774,7 +1812,6 @@ A29EBE530DC01FC9006CEE80 /* web.h */, A292A6E50DFB45EC004B9C0A /* webseed.cc */, A292A6E60DFB45EC004B9C0A /* webseed.h */, - 4DB74F070E8CD75100AEB1A8 /* wildmat.c */, ); path = libtransmission; sourceTree = ""; @@ -2021,6 +2058,26 @@ path = "third-party/libb64"; sourceTree = ""; }; + C1846B81294F774D00A98F30 /* jsonsl */ = { + isa = PBXGroup; + children = ( + C1846B85294F780700A98F30 /* jsonsl.c */, + C1846B86294F780700A98F30 /* jsonsl.h */, + ); + name = jsonsl; + path = "third-party/jsonsl"; + sourceTree = ""; + }; + C1846B82294F777000A98F30 /* wildmat */ = { + isa = PBXGroup; + children = ( + C1846B88294F781800A98F30 /* wildmat.c */, + C1846B87294F781800A98F30 /* wildmat.h */, + ); + name = wildmat; + path = "third-party/wildmat"; + sourceTree = ""; + }; C3CEBB9E27949A3900683BE0 /* libdeflate */ = { isa = PBXGroup; children = ( @@ -2246,7 +2303,6 @@ A23F29A1132A447400E9A83B /* announcer-common.h in Headers */, A2EE726F14DCCC950093C99A /* port-forwarding-natpmp.h in Headers */, A2D77451154CC25700A62B93 /* WebSeedTableView.h in Headers */, - A2A7B32B164F87D400B98C65 /* jsonsl.h in Headers */, A25BFD6A167BED3B0039D1AA /* variant-common.h in Headers */, A25BFD6E167BED3B0039D1AA /* variant.h in Headers */, A2EA52321686AC0D00180493 /* quark.h in Headers */, @@ -2320,6 +2376,22 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C1846B8D294F796A00A98F30 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + C1846BA0294F7A6300A98F30 /* jsonsl.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C1846B97294F7A3400A98F30 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + C1846BA3294F7A6800A98F30 /* wildmat.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; C3CEBBA027949CA000683BE0 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -2393,6 +2465,8 @@ buildRules = ( ); dependencies = ( + C1846BA7294F7B1400A98F30 /* PBXTargetDependency */, + C1846BA5294F7B1100A98F30 /* PBXTargetDependency */, C33E46A22794B3CC0090F2AA /* PBXTargetDependency */, A226FDB10D0CDF6E005A7F71 /* PBXTargetDependency */, BE1183760CE161040002D0F3 /* PBXTargetDependency */, @@ -2587,6 +2661,40 @@ productReference = C1639A6F1A55F4D600E42033 /* libb64.a */; productType = "com.apple.product-type.library.static"; }; + C1846B90294F796A00A98F30 /* jsonsl */ = { + isa = PBXNativeTarget; + buildConfigurationList = C1846B92294F796C00A98F30 /* Build configuration list for PBXNativeTarget "jsonsl" */; + buildPhases = ( + C1846B8D294F796A00A98F30 /* Headers */, + C1846B8E294F796A00A98F30 /* Sources */, + C1846B8F294F796A00A98F30 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = jsonsl; + productName = jsonsl; + productReference = C1846B91294F796A00A98F30 /* libjsonsl.a */; + productType = "com.apple.product-type.library.static"; + }; + C1846B96294F7A3400A98F30 /* wildmat */ = { + isa = PBXNativeTarget; + buildConfigurationList = C1846B9A294F7A3400A98F30 /* Build configuration list for PBXNativeTarget "wildmat" */; + buildPhases = ( + C1846B97294F7A3400A98F30 /* Headers */, + C1846B98294F7A3400A98F30 /* Sources */, + C1846B99294F7A3400A98F30 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = wildmat; + productName = jsonsl; + productReference = C1846B9E294F7A3400A98F30 /* libwildmat.a */; + productType = "com.apple.product-type.library.static"; + }; C3CEBB9F27949CA000683BE0 /* deflate */ = { isa = PBXNativeTarget; buildConfigurationList = C3CEBBA527949CA000683BE0 /* Build configuration list for PBXNativeTarget "deflate" */; @@ -2692,6 +2800,9 @@ C1639A6E1A55F4D600E42033 = { CreatedOnToolsVersion = 6.1.1; }; + C1846B90294F796A00A98F30 = { + CreatedOnToolsVersion = 14.1; + }; C3D9062027B7E3C900EF2386 = { CreatedOnToolsVersion = 13.0; }; @@ -2736,6 +2847,8 @@ C1639A6E1A55F4D600E42033 /* b64 */, C3CEBB9F27949CA000683BE0 /* deflate */, C3D9062027B7E3C900EF2386 /* psl */, + C1846B90294F796A00A98F30 /* jsonsl */, + C1846B96294F7A3400A98F30 /* wildmat */, ); }; /* End PBXProject section */ @@ -2952,7 +3065,6 @@ A25E03E30E4015380086C225 /* tr-getopt.cc in Sources */, E71A5565279C2DD600EBFA1E /* tr-assert.mm in Sources */, C1305EBE186A13B100F03351 /* file.cc in Sources */, - 4DB74F080E8CD75100AEB1A8 /* wildmat.c in Sources */, A21FBBAC0EDA78C300BC3C51 /* bandwidth.cc in Sources */, C1033E081A3279B800EF44D8 /* crypto-utils-ccrypto.cc in Sources */, A22CFCA80FC24ED80009BD3E /* tr-dht.cc in Sources */, @@ -2973,7 +3085,6 @@ C1FEE5791C3223CC00D62832 /* watchdir-kqueue.cc in Sources */, A2AA9BE1132CAC8E00FA131E /* announcer-udp.cc in Sources */, A2D77452154CC25700A62B93 /* WebSeedTableView.mm in Sources */, - A2A7B32A164F87D400B98C65 /* jsonsl.c in Sources */, A25BFD69167BED3B0039D1AA /* variant-benc.cc in Sources */, A25BFD6B167BED3B0039D1AA /* variant-json.cc in Sources */, A25BFD6D167BED3B0039D1AA /* variant.cc in Sources */, @@ -3180,6 +3291,22 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C1846B8E294F796A00A98F30 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C1846BA1294F7A6300A98F30 /* jsonsl.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C1846B98294F7A3400A98F30 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C1846BA2294F7A6800A98F30 /* wildmat.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; C3CEBBA227949CA000683BE0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -3294,6 +3421,16 @@ target = C1639A6E1A55F4D600E42033 /* b64 */; targetProxy = C165AB8C1A55FAA900D37711 /* PBXContainerItemProxy */; }; + C1846BA5294F7B1100A98F30 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = C1846B90294F796A00A98F30 /* jsonsl */; + targetProxy = C1846BA4294F7B1100A98F30 /* PBXContainerItemProxy */; + }; + C1846BA7294F7B1400A98F30 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = C1846B96294F7A3400A98F30 /* wildmat */; + targetProxy = C1846BA6294F7B1400A98F30 /* PBXContainerItemProxy */; + }; C33E46A22794B3CC0090F2AA /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = C3CEBB9F27949CA000683BE0 /* deflate */; @@ -3584,6 +3721,8 @@ "third-party/libpsl/include", "third-party/libutp/include", "third-party/utfcpp/source", + "third-party/jsonsl", + "third-party/wildmat", ); OTHER_CFLAGS = ( "$(inherited)", @@ -3834,6 +3973,8 @@ "third-party/libpsl/include", "third-party/libutp/include", "third-party/utfcpp/source", + "third-party/jsonsl", + "third-party/wildmat", ); OTHER_CFLAGS = ( "$(inherited)", @@ -4162,6 +4303,8 @@ "third-party/libpsl/include", "third-party/libutp/include", "third-party/utfcpp/source", + "third-party/jsonsl", + "third-party/wildmat", ); OTHER_CFLAGS = ( "$(inherited)", @@ -4500,6 +4643,66 @@ }; name = Release; }; + C1846B93294F796C00A98F30 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_OBJC_ARC = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GENERATE_MASTER_OBJECT_FILE = YES; + PRODUCT_NAME = jsonsl; + }; + name = Debug; + }; + C1846B94294F796C00A98F30 /* Release - Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_OBJC_ARC = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GENERATE_MASTER_OBJECT_FILE = YES; + PRODUCT_NAME = jsonsl; + }; + name = "Release - Debug"; + }; + C1846B95294F796C00A98F30 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_OBJC_ARC = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GENERATE_MASTER_OBJECT_FILE = YES; + PRODUCT_NAME = jsonsl; + }; + name = Release; + }; + C1846B9B294F7A3400A98F30 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_OBJC_ARC = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GENERATE_MASTER_OBJECT_FILE = YES; + PRODUCT_NAME = wildmat; + }; + name = Debug; + }; + C1846B9C294F7A3400A98F30 /* Release - Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_OBJC_ARC = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GENERATE_MASTER_OBJECT_FILE = YES; + PRODUCT_NAME = wildmat; + }; + name = "Release - Debug"; + }; + C1846B9D294F7A3400A98F30 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_OBJC_ARC = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GENERATE_MASTER_OBJECT_FILE = YES; + PRODUCT_NAME = wildmat; + }; + name = Release; + }; C3CEBBA627949CA000683BE0 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -4909,6 +5112,26 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + C1846B92294F796C00A98F30 /* Build configuration list for PBXNativeTarget "jsonsl" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C1846B93294F796C00A98F30 /* Debug */, + C1846B94294F796C00A98F30 /* Release - Debug */, + C1846B95294F796C00A98F30 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + C1846B9A294F7A3400A98F30 /* Build configuration list for PBXNativeTarget "wildmat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C1846B9B294F7A3400A98F30 /* Debug */, + C1846B9C294F7A3400A98F30 /* Release - Debug */, + C1846B9D294F7A3400A98F30 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; C3CEBBA527949CA000683BE0 /* Build configuration list for PBXNativeTarget "deflate" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/libtransmission/CMakeLists.txt b/libtransmission/CMakeLists.txt index f4cddebb1..7991b6b31 100644 --- a/libtransmission/CMakeLists.txt +++ b/libtransmission/CMakeLists.txt @@ -5,7 +5,7 @@ configure_file( version.h ) -set(PROJECT_FILES +set(${PROJECT_NAME}_SOURCES announce-list.cc announcer-http.cc announcer-udp.cc @@ -89,16 +89,6 @@ set(PROJECT_FILES webseed.cc ) -set(THIRD_PARTY_FILES - jsonsl.c - wildmat.c -) - -set(${PROJECT_NAME}_SOURCES - ${PROJECT_FILES} - ${THIRD_PARTY_FILES} -) - set_source_files_properties(crypto-utils-fallback.cc PROPERTIES HEADER_FILE_ONLY ON) foreach(CP ccrypto cyassl openssl polarssl) if(NOT CP STREQUAL CRYPTO_PKG) @@ -317,6 +307,8 @@ target_link_libraries(${TR_NAME} ${LIBINTL_LIBRARY} ${LIBM_LIBRARY} ${TR_NETWORK_LIBRARIES} + jsonsl + wildmat ) if(ICONV_FOUND) diff --git a/libtransmission/utils.cc b/libtransmission/utils.cc index 66f34b7a5..2a5ea6f3c 100644 --- a/libtransmission/utils.cc +++ b/libtransmission/utils.cc @@ -42,6 +42,7 @@ #include #include +#include #include "transmission.h" @@ -193,11 +194,6 @@ size_t tr_strvToBuf(std::string_view src, char* buf, size_t buflen) return len; } -extern "C" -{ - int DoMatch(char const* text, char const* p); -} - /* User-level routine. returns whether or not 'text' and 'p' matched */ bool tr_wildmat(std::string_view text, std::string_view pattern) { diff --git a/libtransmission/variant-json.cc b/libtransmission/variant-json.cc index 404ce04d4..6304168fa 100644 --- a/libtransmission/variant-json.cc +++ b/libtransmission/variant-json.cc @@ -19,13 +19,13 @@ #include #include +#include #define LIBTRANSMISSION_VARIANT_MODULE #include "transmission.h" #include "error.h" -#include "jsonsl.h" #include "log.h" #include "quark.h" #include "tr-assert.h" diff --git a/third-party/jsonsl/CMakeLists.txt b/third-party/jsonsl/CMakeLists.txt new file mode 100644 index 000000000..c3924a409 --- /dev/null +++ b/third-party/jsonsl/CMakeLists.txt @@ -0,0 +1,7 @@ +add_library(jsonsl STATIC + jsonsl.c + jsonsl.h) + +target_include_directories(jsonsl + PUBLIC + ${CMAKE_CURRENT_LIST_DIR}) diff --git a/libtransmission/jsonsl.c b/third-party/jsonsl/jsonsl.c similarity index 100% rename from libtransmission/jsonsl.c rename to third-party/jsonsl/jsonsl.c diff --git a/libtransmission/jsonsl.h b/third-party/jsonsl/jsonsl.h similarity index 100% rename from libtransmission/jsonsl.h rename to third-party/jsonsl/jsonsl.h diff --git a/third-party/wildmat/CMakeLists.txt b/third-party/wildmat/CMakeLists.txt new file mode 100644 index 000000000..e71b6405b --- /dev/null +++ b/third-party/wildmat/CMakeLists.txt @@ -0,0 +1,7 @@ +add_library(wildmat STATIC + wildmat.c + wildmat.h) + +target_include_directories(wildmat + PUBLIC + ${CMAKE_CURRENT_LIST_DIR}) diff --git a/libtransmission/wildmat.c b/third-party/wildmat/wildmat.c similarity index 99% rename from libtransmission/wildmat.c rename to third-party/wildmat/wildmat.c index 82f9e14e8..0ec7146df 100644 --- a/libtransmission/wildmat.c +++ b/third-party/wildmat/wildmat.c @@ -37,6 +37,7 @@ ** on. */ +#include "wildmat.h" #include #define ABORT -1 diff --git a/third-party/wildmat/wildmat.h b/third-party/wildmat/wildmat.h new file mode 100644 index 000000000..7da98e210 --- /dev/null +++ b/third-party/wildmat/wildmat.h @@ -0,0 +1,12 @@ +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +int +DoMatch (const char * text, const char * p); + +#ifdef __cplusplus +} +#endif