diff --git a/Transmission.xcodeproj/project.pbxproj b/Transmission.xcodeproj/project.pbxproj index 321a25c19..7148b8f38 100644 --- a/Transmission.xcodeproj/project.pbxproj +++ b/Transmission.xcodeproj/project.pbxproj @@ -121,6 +121,20 @@ A2F40AE40A361C00006B8288 /* Transmission.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4D2784360905709500687951 /* Transmission.icns */; }; A2F6DB090A55F31C0058D1E5 /* SpeedLimitButton.png in Resources */ = {isa = PBXBuildFile; fileRef = A2F6DB070A55F31C0058D1E5 /* SpeedLimitButton.png */; }; A2FB057F0BFEB6800095564D /* DragOverlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = A2FB057D0BFEB6800095564D /* DragOverlayView.m */; }; + BE75C3650C72A0EF00DBEFE0 /* kqueue.c in Sources */ = {isa = PBXBuildFile; fileRef = BE75C3580C72A0EF00DBEFE0 /* kqueue.c */; }; + BE75C3660C72A0EF00DBEFE0 /* signal.c in Sources */ = {isa = PBXBuildFile; fileRef = BE75C3590C72A0EF00DBEFE0 /* signal.c */; }; + BE75C3670C72A0EF00DBEFE0 /* buffer.c in Sources */ = {isa = PBXBuildFile; fileRef = BE75C35A0C72A0EF00DBEFE0 /* buffer.c */; }; + BE75C3680C72A0EF00DBEFE0 /* log.c in Sources */ = {isa = PBXBuildFile; fileRef = BE75C35B0C72A0EF00DBEFE0 /* log.c */; }; + BE75C3690C72A0EF00DBEFE0 /* strlcpy.c in Sources */ = {isa = PBXBuildFile; fileRef = BE75C35C0C72A0EF00DBEFE0 /* strlcpy.c */; }; + BE75C36A0C72A0EF00DBEFE0 /* evbuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = BE75C35D0C72A0EF00DBEFE0 /* evbuffer.c */; }; + BE75C36B0C72A0EF00DBEFE0 /* event.c in Sources */ = {isa = PBXBuildFile; fileRef = BE75C35E0C72A0EF00DBEFE0 /* event.c */; }; + BE75C36C0C72A0EF00DBEFE0 /* http.c in Sources */ = {isa = PBXBuildFile; fileRef = BE75C35F0C72A0EF00DBEFE0 /* http.c */; }; + BE75C36D0C72A0EF00DBEFE0 /* event_tagging.c in Sources */ = {isa = PBXBuildFile; fileRef = BE75C3600C72A0EF00DBEFE0 /* event_tagging.c */; }; + BE75C36E0C72A0EF00DBEFE0 /* evrpc.c in Sources */ = {isa = PBXBuildFile; fileRef = BE75C3610C72A0EF00DBEFE0 /* evrpc.c */; }; + BE75C36F0C72A0EF00DBEFE0 /* evdns.c in Sources */ = {isa = PBXBuildFile; fileRef = BE75C3620C72A0EF00DBEFE0 /* evdns.c */; }; + BE75C3700C72A0EF00DBEFE0 /* poll.c in Sources */ = {isa = PBXBuildFile; fileRef = BE75C3630C72A0EF00DBEFE0 /* poll.c */; }; + BE75C3710C72A0EF00DBEFE0 /* select.c in Sources */ = {isa = PBXBuildFile; fileRef = BE75C3640C72A0EF00DBEFE0 /* select.c */; }; + BE75C38A0C72A1ED00DBEFE0 /* libevent.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE75C3490C729E9500DBEFE0 /* libevent.a */; }; BEFC1C040C07753100B0BB3C /* libcrypto.0.9.7.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D2617F709DECE3D00D08EFA /* libcrypto.0.9.7.dylib */; }; BEFC1C050C07753500B0BB3C /* libtransmission.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D18389709DEC0030047D688 /* libtransmission.a */; }; BEFC1C1A0C07756200B0BB3C /* daemon.c in Sources */ = {isa = PBXBuildFile; fileRef = BEFC1C0E0C07756200B0BB3C /* daemon.c */; }; @@ -128,7 +142,6 @@ BEFC1C1C0C07756200B0BB3C /* misc.c in Sources */ = {isa = PBXBuildFile; fileRef = BEFC1C110C07756200B0BB3C /* misc.c */; }; BEFC1C1F0C07756200B0BB3C /* server.c in Sources */ = {isa = PBXBuildFile; fileRef = BEFC1C150C07756200B0BB3C /* server.c */; }; BEFC1C200C07756200B0BB3C /* torrents.c in Sources */ = {isa = PBXBuildFile; fileRef = BEFC1C170C07756200B0BB3C /* torrents.c */; }; - BEFC1C490C07796B00B0BB3C /* libevent.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEFC1C480C07796B00B0BB3C /* libevent.a */; }; BEFC1CEF0C07822400B0BB3C /* errors.c in Sources */ = {isa = PBXBuildFile; fileRef = BEFC1C0F0C07756200B0BB3C /* errors.c */; }; BEFC1CF40C07822400B0BB3C /* libcrypto.0.9.7.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D2617F709DECE3D00D08EFA /* libcrypto.0.9.7.dylib */; }; BEFC1D000C07824D00B0BB3C /* torrents.c in Sources */ = {isa = PBXBuildFile; fileRef = BEFC1C170C07756200B0BB3C /* torrents.c */; }; @@ -136,13 +149,11 @@ BEFC1D0E0C07827300B0BB3C /* misc.c in Sources */ = {isa = PBXBuildFile; fileRef = BEFC1C110C07756200B0BB3C /* misc.c */; }; BEFC1D230C07839E00B0BB3C /* client.c in Sources */ = {isa = PBXBuildFile; fileRef = BEFC1C0C0C07756200B0BB3C /* client.c */; }; BEFC1D2D0C0783D900B0BB3C /* libtransmission.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D18389709DEC0030047D688 /* libtransmission.a */; }; - BEFC1D2F0C0783E200B0BB3C /* libevent.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEFC1C480C07796B00B0BB3C /* libevent.a */; }; BEFC1D3E0C0783EE00B0BB3C /* libcrypto.0.9.7.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D2617F709DECE3D00D08EFA /* libcrypto.0.9.7.dylib */; }; BEFC1D3F0C0783EE00B0BB3C /* libtransmission.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D18389709DEC0030047D688 /* libtransmission.a */; }; BEFC1D490C07842200B0BB3C /* proxy.c in Sources */ = {isa = PBXBuildFile; fileRef = BEFC1C130C07756200B0BB3C /* proxy.c */; }; BEFC1D4F0C07843400B0BB3C /* misc.c in Sources */ = {isa = PBXBuildFile; fileRef = BEFC1C110C07756200B0BB3C /* misc.c */; }; BEFC1D540C07843900B0BB3C /* errors.c in Sources */ = {isa = PBXBuildFile; fileRef = BEFC1C0F0C07756200B0BB3C /* errors.c */; }; - BEFC1D5A0C07844500B0BB3C /* libevent.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEFC1C480C07796B00B0BB3C /* libevent.a */; }; BEFC1E270C07861A00B0BB3C /* xml.h in Headers */ = {isa = PBXBuildFile; fileRef = BEFC1DEE0C07861A00B0BB3C /* xml.h */; }; BEFC1E280C07861A00B0BB3C /* xml.c in Sources */ = {isa = PBXBuildFile; fileRef = BEFC1DEF0C07861A00B0BB3C /* xml.c */; }; BEFC1E290C07861A00B0BB3C /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = BEFC1DF00C07861A00B0BB3C /* version.h */; }; @@ -221,6 +232,13 @@ remoteGlobalIDString = 4D18389609DEC0030047D688; remoteInfo = libtransmission; }; + BE75C34E0C729ED300DBEFE0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = BE75C3480C729E9500DBEFE0; + remoteInfo = event; + }; BEFC1C020C07751A00B0BB3C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; @@ -462,6 +480,24 @@ A2FB057C0BFEB6800095564D /* DragOverlayView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = DragOverlayView.h; path = macosx/DragOverlayView.h; sourceTree = ""; }; A2FB057D0BFEB6800095564D /* DragOverlayView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = DragOverlayView.m; path = macosx/DragOverlayView.m; sourceTree = ""; }; A2FB06950BFF484A0095564D /* Globe.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Globe.png; path = macosx/Images/Globe.png; sourceTree = ""; }; + BE75C3490C729E9500DBEFE0 /* libevent.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libevent.a; sourceTree = BUILT_PRODUCTS_DIR; }; + BE75C3580C72A0EF00DBEFE0 /* kqueue.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = kqueue.c; path = "third-party/libevent/kqueue.c"; sourceTree = ""; }; + BE75C3590C72A0EF00DBEFE0 /* signal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = signal.c; path = "third-party/libevent/signal.c"; sourceTree = ""; }; + BE75C35A0C72A0EF00DBEFE0 /* buffer.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = buffer.c; path = "third-party/libevent/buffer.c"; sourceTree = ""; }; + BE75C35B0C72A0EF00DBEFE0 /* log.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = log.c; path = "third-party/libevent/log.c"; sourceTree = ""; }; + BE75C35C0C72A0EF00DBEFE0 /* strlcpy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = strlcpy.c; path = "third-party/libevent/strlcpy.c"; sourceTree = ""; }; + BE75C35D0C72A0EF00DBEFE0 /* evbuffer.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = evbuffer.c; path = "third-party/libevent/evbuffer.c"; sourceTree = ""; }; + BE75C35E0C72A0EF00DBEFE0 /* event.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = event.c; path = "third-party/libevent/event.c"; sourceTree = ""; }; + BE75C35F0C72A0EF00DBEFE0 /* http.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = http.c; path = "third-party/libevent/http.c"; sourceTree = ""; }; + BE75C3600C72A0EF00DBEFE0 /* event_tagging.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = event_tagging.c; path = "third-party/libevent/event_tagging.c"; sourceTree = ""; }; + BE75C3610C72A0EF00DBEFE0 /* evrpc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = evrpc.c; path = "third-party/libevent/evrpc.c"; sourceTree = ""; }; + BE75C3620C72A0EF00DBEFE0 /* evdns.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = evdns.c; path = "third-party/libevent/evdns.c"; sourceTree = ""; }; + BE75C3630C72A0EF00DBEFE0 /* poll.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = poll.c; path = "third-party/libevent/poll.c"; sourceTree = ""; }; + BE75C3640C72A0EF00DBEFE0 /* select.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = select.c; path = "third-party/libevent/select.c"; sourceTree = ""; }; + BE75C3810C72A1C100DBEFE0 /* evhttp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = evhttp.h; path = "third-party/libevent/evhttp.h"; sourceTree = ""; }; + BE75C3820C72A1C100DBEFE0 /* evdns.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = evdns.h; path = "third-party/libevent/evdns.h"; sourceTree = ""; }; + BE75C3830C72A1C100DBEFE0 /* evrpc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = evrpc.h; path = "third-party/libevent/evrpc.h"; sourceTree = ""; }; + BE75C3840C72A1C100DBEFE0 /* event.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = event.h; path = "third-party/libevent/event.h"; sourceTree = ""; }; BEFC1C000C07750000B0BB3C /* transmission-daemon */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "transmission-daemon"; sourceTree = BUILT_PRODUCTS_DIR; }; BEFC1C0C0C07756200B0BB3C /* client.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = client.c; path = daemon/client.c; sourceTree = ""; }; BEFC1C0D0C07756200B0BB3C /* client.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = client.h; path = daemon/client.h; sourceTree = ""; }; @@ -476,7 +512,6 @@ BEFC1C160C07756200B0BB3C /* server.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = server.h; path = daemon/server.h; sourceTree = ""; }; BEFC1C170C07756200B0BB3C /* torrents.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = torrents.c; path = daemon/torrents.c; sourceTree = ""; }; BEFC1C180C07756200B0BB3C /* torrents.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = torrents.h; path = daemon/torrents.h; sourceTree = ""; }; - BEFC1C480C07796B00B0BB3C /* libevent.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libevent.a; path = libevent/libevent.a; sourceTree = ""; }; BEFC1CF90C07822400B0BB3C /* transmission-remote */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "transmission-remote"; sourceTree = BUILT_PRODUCTS_DIR; }; BEFC1D430C0783EE00B0BB3C /* transmission-proxy */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "transmission-proxy"; sourceTree = BUILT_PRODUCTS_DIR; }; BEFC1DEE0C07861A00B0BB3C /* xml.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = xml.h; path = libtransmission/xml.h; sourceTree = ""; }; @@ -536,7 +571,6 @@ BEFC1E240C07861A00B0BB3C /* bencode.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = bencode.c; path = libtransmission/bencode.c; sourceTree = ""; }; BEFC1E250C07861A00B0BB3C /* bsdqueue.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = bsdqueue.h; path = libtransmission/bsdqueue.h; sourceTree = ""; }; BEFC1E260C07861A00B0BB3C /* trcompat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = trcompat.h; path = libtransmission/trcompat.h; sourceTree = ""; }; - BEFC1EEB0C0790CA00B0BB3C /* event.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = event.h; path = libevent/event.h; sourceTree = ""; }; D4AF3B2D0C41F7A500D46B6B /* list.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = list.c; path = libtransmission/list.c; sourceTree = ""; }; D4AF3B2E0C41F7A500D46B6B /* list.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = list.h; path = libtransmission/list.h; sourceTree = ""; }; E138A9730C04D88F00C5426C /* CTGradient.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CTGradient.h; sourceTree = ""; }; @@ -568,13 +602,27 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + BE75C3470C729E9500DBEFE0 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BE75C3860C72A1D300DBEFE0 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + BE75C38A0C72A1ED00DBEFE0 /* libevent.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; BEFC1BFE0C07750000B0BB3C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( BEFC1C040C07753100B0BB3C /* libcrypto.0.9.7.dylib in Frameworks */, BEFC1C050C07753500B0BB3C /* libtransmission.a in Frameworks */, - BEFC1C490C07796B00B0BB3C /* libevent.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -584,7 +632,6 @@ files = ( BEFC1CF40C07822400B0BB3C /* libcrypto.0.9.7.dylib in Frameworks */, BEFC1D2D0C0783D900B0BB3C /* libtransmission.a in Frameworks */, - BEFC1D2F0C0783E200B0BB3C /* libevent.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -594,7 +641,6 @@ files = ( BEFC1D3E0C0783EE00B0BB3C /* libcrypto.0.9.7.dylib in Frameworks */, BEFC1D3F0C0783EE00B0BB3C /* libtransmission.a in Frameworks */, - BEFC1D5A0C07844500B0BB3C /* libevent.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -664,6 +710,7 @@ BEFC1C000C07750000B0BB3C /* transmission-daemon */, BEFC1CF90C07822400B0BB3C /* transmission-remote */, BEFC1D430C0783EE00B0BB3C /* transmission-proxy */, + BE75C3490C729E9500DBEFE0 /* libevent.a */, ); name = Products; sourceTree = ""; @@ -676,6 +723,7 @@ 4DDBB71F09E16BFE00284745 /* CLI */, 4DDBB70A09E16B3200284745 /* GUI */, 4DDBB71509E16B3F00284745 /* Libraries */, + BE75C3570C72A0D600DBEFE0 /* libevent */, 19C28FACFE9D520D11CA2CBB /* Products */, ); name = Transmission; @@ -851,8 +899,6 @@ 4DDBB71509E16B3F00284745 /* Libraries */ = { isa = PBXGroup; children = ( - BEFC1EEB0C0790CA00B0BB3C /* event.h */, - BEFC1C480C07796B00B0BB3C /* libevent.a */, 4D2617F709DECE3D00D08EFA /* libcrypto.0.9.7.dylib */, ); name = Libraries; @@ -866,6 +912,30 @@ name = CLI; sourceTree = ""; }; + BE75C3570C72A0D600DBEFE0 /* libevent */ = { + isa = PBXGroup; + children = ( + BE75C3810C72A1C100DBEFE0 /* evhttp.h */, + BE75C3820C72A1C100DBEFE0 /* evdns.h */, + BE75C3830C72A1C100DBEFE0 /* evrpc.h */, + BE75C3840C72A1C100DBEFE0 /* event.h */, + BE75C3580C72A0EF00DBEFE0 /* kqueue.c */, + BE75C3590C72A0EF00DBEFE0 /* signal.c */, + BE75C35A0C72A0EF00DBEFE0 /* buffer.c */, + BE75C35B0C72A0EF00DBEFE0 /* log.c */, + BE75C35C0C72A0EF00DBEFE0 /* strlcpy.c */, + BE75C35D0C72A0EF00DBEFE0 /* evbuffer.c */, + BE75C35E0C72A0EF00DBEFE0 /* event.c */, + BE75C35F0C72A0EF00DBEFE0 /* http.c */, + BE75C3600C72A0EF00DBEFE0 /* event_tagging.c */, + BE75C3610C72A0EF00DBEFE0 /* evrpc.c */, + BE75C3620C72A0EF00DBEFE0 /* evdns.c */, + BE75C3630C72A0EF00DBEFE0 /* poll.c */, + BE75C3640C72A0EF00DBEFE0 /* select.c */, + ); + name = libevent; + sourceTree = ""; + }; BEFC1C0B0C07754700B0BB3C /* daemon */ = { isa = PBXGroup; children = ( @@ -1003,6 +1073,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + BE75C3450C729E9500DBEFE0 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ @@ -1014,10 +1091,12 @@ 4D18389309DEC0030047D688 /* Headers */, 4D18389409DEC0030047D688 /* Sources */, BEFC1CA00C077F1200B0BB3C /* Resources */, + BE75C3860C72A1D300DBEFE0 /* Frameworks */, ); buildRules = ( ); dependencies = ( + BE75C34F0C729ED300DBEFE0 /* PBXTargetDependency */, ); name = libtransmission; productName = transmission; @@ -1061,6 +1140,24 @@ productReference = 8D1107320486CEB800E47090 /* Transmission.app */; productType = "com.apple.product-type.application"; }; + BE75C3480C729E9500DBEFE0 /* event */ = { + isa = PBXNativeTarget; + buildConfigurationList = BE75C34A0C729EB600DBEFE0 /* Build configuration list for PBXNativeTarget "event" */; + buildPhases = ( + BE75C3510C729EE100DBEFE0 /* ShellScript */, + BE75C3450C729E9500DBEFE0 /* Headers */, + BE75C3460C729E9500DBEFE0 /* Sources */, + BE75C3470C729E9500DBEFE0 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = event; + productName = event; + productReference = BE75C3490C729E9500DBEFE0 /* libevent.a */; + productType = "com.apple.product-type.library.static"; + }; BEFC1BFF0C07750000B0BB3C /* transmission-daemon */ = { isa = PBXNativeTarget; buildConfigurationList = BEFC1C090C07753800B0BB3C /* Build configuration list for PBXNativeTarget "transmission-daemon" */; @@ -1140,6 +1237,7 @@ BEFC1BFF0C07750000B0BB3C /* transmission-daemon */, BEFC1CEA0C07822400B0BB3C /* transmission-remote */, BEFC1D340C0783EE00B0BB3C /* transmission-proxy */, + BE75C3480C729E9500DBEFE0 /* event */, ); }; /* End PBXProject section */ @@ -1238,6 +1336,19 @@ shellPath = /bin/sh; shellScript = "sh version.sh"; }; + BE75C3510C729EE100DBEFE0 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/bash; + shellScript = "if [ ! ./third-party/macosx-libevent-config.h -ef ./third-party/libevent/config.h ]; then\nln -s ../macosx-libevent-config.h ./third-party/libevent/config.h\nfi"; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -1329,6 +1440,26 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + BE75C3460C729E9500DBEFE0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BE75C3650C72A0EF00DBEFE0 /* kqueue.c in Sources */, + BE75C3660C72A0EF00DBEFE0 /* signal.c in Sources */, + BE75C3670C72A0EF00DBEFE0 /* buffer.c in Sources */, + BE75C3680C72A0EF00DBEFE0 /* log.c in Sources */, + BE75C3690C72A0EF00DBEFE0 /* strlcpy.c in Sources */, + BE75C36A0C72A0EF00DBEFE0 /* evbuffer.c in Sources */, + BE75C36B0C72A0EF00DBEFE0 /* event.c in Sources */, + BE75C36C0C72A0EF00DBEFE0 /* http.c in Sources */, + BE75C36D0C72A0EF00DBEFE0 /* event_tagging.c in Sources */, + BE75C36E0C72A0EF00DBEFE0 /* evrpc.c in Sources */, + BE75C36F0C72A0EF00DBEFE0 /* evdns.c in Sources */, + BE75C3700C72A0EF00DBEFE0 /* poll.c in Sources */, + BE75C3710C72A0EF00DBEFE0 /* select.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; BEFC1BFD0C07750000B0BB3C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1376,6 +1507,11 @@ target = 4D18389609DEC0030047D688 /* libtransmission */; targetProxy = 4D9A2BF409E16D30002D0FF9 /* PBXContainerItemProxy */; }; + BE75C34F0C729ED300DBEFE0 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = BE75C3480C729E9500DBEFE0 /* event */; + targetProxy = BE75C34E0C729ED300DBEFE0 /* PBXContainerItemProxy */; + }; BEFC1C030C07751A00B0BB3C /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 4D18389609DEC0030047D688 /* libtransmission */; @@ -1606,6 +1742,24 @@ }; name = Debug; }; + BE75C34B0C729EB600DBEFE0 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /usr/local/lib; + OTHER_CFLAGS = "-DHAVE_CONFIG_H"; + PREBINDING = NO; + PRODUCT_NAME = event; + USER_HEADER_SEARCH_PATHS = "./third-party/libevent ./third-party/libevent/compat"; + ZERO_LINK = NO; + }; + name = Debug; + }; BEFC1C0A0C07753800B0BB3C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1733,6 +1887,14 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + BE75C34A0C729EB600DBEFE0 /* Build configuration list for PBXNativeTarget "event" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BE75C34B0C729EB600DBEFE0 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; BEFC1C090C07753800B0BB3C /* Build configuration list for PBXNativeTarget "transmission-daemon" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/macosx/FileNameCell.m b/macosx/FileNameCell.m index 6b6be54bd..47673b23a 100644 --- a/macosx/FileNameCell.m +++ b/macosx/FileNameCell.m @@ -35,6 +35,9 @@ @interface FileNameCell (Private) +- (NSRect) rectForTitleWithString: (NSAttributedString *) string inBounds: (NSRect) bounds; +- (NSRect) rectForStatusWithString: (NSAttributedString *) string inBounds: (NSRect) bounds; + - (NSAttributedString *) attributedTitleWithColor: (NSColor *) color; - (NSAttributedString *) attributedStatusWithColor: (NSColor *) color; @@ -72,8 +75,46 @@ - (NSRect) titleRectForBounds: (NSRect) bounds { - NSAttributedString * title = [self attributedTitleWithColor: nil]; - NSSize titleSize = [title size]; + return [self rectForTitleWithString: [self attributedTitleWithColor: nil] inBounds: bounds]; +} + +- (NSRect) statusRectForBounds: (NSRect) bounds +{ + return [self rectForStatusWithString: [self attributedStatusWithColor: nil] inBounds: bounds]; +} + +- (void) drawWithFrame: (NSRect) cellFrame inView: (NSView *) controlView +{ + //icon + [[self image] drawInRect: [self imageRectForBounds: cellFrame] fromRect: NSZeroRect operation: NSCompositeSourceOver + fraction: 1.0]; + + BOOL highlighted = [self isHighlighted] && [[self highlightColorWithFrame: cellFrame inView: controlView] + isEqual: [NSColor alternateSelectedControlColor]]; + + //title + NSAttributedString * titleString = [self attributedTitleWithColor: highlighted ? [NSColor whiteColor] + : [NSColor controlTextColor]; + NSRect titleRect = [self rectForTitleWithString: titleString inBounds: cellFrame]; + [titleString drawInRect: titleRect]; + + //status + if ([[[self objectValue] objectForKey: @"IsFolder"] boolValue]) + { + NSAttributedString * statusString = [self attributedStatusWithColor: highlighted ? [NSColor whiteColor] + : [NSColor darkGrayColor]; + NSRect statusRect = [self rectForStatusWithString: statusString inBounds: cellFrame]; + [statusString drawInRect: statusRect]; + } +} + +@end + +@implementation FileNameCell (Private) + +- (NSRect) rectForTitleWithString: (NSAttributedString *) string inBounds: (NSRect) bounds +{ + NSSize titleSize = [string size]; NSRect result = bounds; @@ -93,13 +134,12 @@ return result; } -- (NSRect) statusRectForBounds: (NSRect) bounds +- (NSRect) rectForStatusWithString: (NSAttributedString *) string inBounds: (NSRect) bounds { if ([[[self objectValue] objectForKey: @"IsFolder"] boolValue]) return NSZeroRect; - NSAttributedString * status = [self attributedStatusWithColor: nil]; - NSSize statusSize = [status size]; + NSSize statusSize = [string size]; NSRect result = bounds; @@ -112,32 +152,6 @@ return result; } -- (void) drawWithFrame: (NSRect) cellFrame inView: (NSView *) controlView -{ - //icon - NSImage * icon = [self image]; - NSSize iconSize = [icon size]; - [icon drawInRect: [self imageRectForBounds: cellFrame] fromRect: NSMakeRect(0, 0, iconSize.width, iconSize.height) - operation: NSCompositeSourceOver fraction: 1.0]; - - //title - BOOL highlighted = [self isHighlighted] && [[self highlightColorWithFrame: cellFrame inView: controlView] - isEqual: [NSColor alternateSelectedControlColor]]; - - #warning mimic torrent cell - [[self attributedTitleWithColor: highlighted ? [NSColor whiteColor] : [NSColor controlTextColor]] - drawInRect: [self titleRectForBounds: cellFrame]]; - - //status - NSRect statusRect = [self statusRectForBounds: cellFrame]; - if (!NSEqualRects(statusRect, NSZeroRect)) - [[self attributedStatusWithColor: highlighted ? [NSColor whiteColor] : [NSColor darkGrayColor]] drawInRect: statusRect]; -} - -@end - -@implementation FileNameCell (Private) - - (NSAttributedString *) attributedTitleWithColor: (NSColor *) color { if (!fTitleAttributes) diff --git a/macosx/FilePriorityCell.h b/macosx/FilePriorityCell.h index 7e95667ca..1d9d4019e 100644 --- a/macosx/FilePriorityCell.h +++ b/macosx/FilePriorityCell.h @@ -10,6 +10,4 @@ NSImage * fLowImage, * fHighImage, * fNormalImage, * fMixedImage, * fNoneImage; } -- (void) setItem: (NSMutableDictionary *) item; - @end diff --git a/macosx/FilePriorityCell.m b/macosx/FilePriorityCell.m index 87899a0e0..bb823e878 100644 --- a/macosx/FilePriorityCell.m +++ b/macosx/FilePriorityCell.m @@ -22,18 +22,12 @@ return self; } -- (void) setItem: (NSMutableDictionary *) item -{ - fItem = item; -} - - (void) setSelected: (BOOL) flag forSegment: (int) segment { [super setSelected: flag forSegment: segment]; //only for when clicking manually Torrent * torrent = [[[[self controlView] window] windowController] selectedTorrent]; - NSIndexSet * indexes = [fItem objectForKey: @"Indexes"]; int priority; if (segment == 0) @@ -43,20 +37,21 @@ else priority = TR_PRI_NORMAL; - [torrent setFilePriority: priority forIndexes: indexes]; + [torrent setFilePriority: priority forIndexes: [[self objectValue] objectForKey: @"Indexes"]]; [(FileOutlineView *)[self controlView] reloadData]; } - (void) drawWithFrame: (NSRect) cellFrame inView: (NSView *) controlView { Torrent * torrent = [(InfoWindowController *)[[[self controlView] window] windowController] selectedTorrent]; - NSSet * priorities = [torrent filePrioritiesForIndexes: [fItem objectForKey: @"Indexes"]]; + NSDictionary * dict = [self objectValue]; + NSSet * priorities = [torrent filePrioritiesForIndexes: [dict objectForKey: @"Indexes"]]; int count = [priorities count]; FileOutlineView * view = (FileOutlineView *)[self controlView]; int row = [view hoverRow]; - if (count > 0 && row != -1 && [view itemAtRow: row] == fItem) + if (count > 0 && row != -1 && [view itemAtRow: row] == dict) { [super setSelected: [priorities containsObject: [NSNumber numberWithInt: TR_PRI_LOW]] forSegment: 0]; [super setSelected: [priorities containsObject: [NSNumber numberWithInt: TR_PRI_NORMAL]] forSegment: 1]; diff --git a/macosx/InfoWindowController.m b/macosx/InfoWindowController.m index e918eb028..bfc7d905d 100644 --- a/macosx/InfoWindowController.m +++ b/macosx/InfoWindowController.m @@ -23,7 +23,6 @@ *****************************************************************************/ #import "InfoWindowController.h" -#import "FilePriorityCell.h" #import "StringAdditions.h" #define FILE_ROW_SMALL_HEIGHT 18.0 @@ -105,12 +104,13 @@ [self updateInfoForTorrents: [NSArray array]]; //allow for update notifications - [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(updateInfoStats) - name: @"UpdateStats" object: nil]; + [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(updateInfoStats) name: @"UpdateStats" object: nil]; } - (void) dealloc { + [[NSNotificationCenter defaultCenter] removeObserver: self]; + [fTorrents release]; [fPeers release]; [fFiles release]; @@ -879,10 +879,6 @@ NSString * identifier = [tableColumn identifier]; if ([identifier isEqualToString: @"Check"]) [cell setEnabled: [[fTorrents objectAtIndex: 0] canChangeDownloadCheckForFiles: [item objectForKey: @"Indexes"]]]; - #warning is this redundant? what about objectValue, and remove import too - else if ([identifier isEqualToString: @"Priority"]) - [(FilePriorityCell *)cell setItem: item]; - else; } - (void) outlineView: (NSOutlineView *) outlineView setObjectValue: (id) object @@ -903,7 +899,6 @@ [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateUI" object: nil]; } - else; } - (NSString *) outlineView: (NSOutlineView *) outlineView toolTipForCell: (NSCell *) cell rect: (NSRectPointer) rect diff --git a/third-party/macosx-libevent-config.h b/third-party/macosx-libevent-config.h new file mode 100644 index 000000000..e6f1cbe53 --- /dev/null +++ b/third-party/macosx-libevent-config.h @@ -0,0 +1,312 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.in by autoheader. */ +/* Define if kqueue works correctly with pipes */ +#define HAVE_WORKING_KQUEUE 1 + +/* Define to `unsigned long long' if doesn't define. */ +/* #undef u_int64_t */ + +/* Define to `unsigned int' if doesn't define. */ +/* #undef u_int32_t */ + +/* Define to `unsigned short' if doesn't define. */ +/* #undef u_int16_t */ + +/* Define to `unsigned char' if doesn't define. */ +/* #undef u_int8_t */ + +/* Define if timeradd is defined in */ +#define HAVE_TIMERADD 1 +#ifndef HAVE_TIMERADD +/* #undef timersub */ +#define timeradd(tvp, uvp, vvp) \ + do { \ + (vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec; \ + (vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec; \ + if ((vvp)->tv_usec >= 1000000) { \ + (vvp)->tv_sec++; \ + (vvp)->tv_usec -= 1000000; \ + } \ + } while (0) +#define timersub(tvp, uvp, vvp) \ + do { \ + (vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; \ + (vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; \ + if ((vvp)->tv_usec < 0) { \ + (vvp)->tv_sec--; \ + (vvp)->tv_usec += 1000000; \ + } \ + } while (0) +#endif /* !HAVE_TIMERADD */ + +#define HAVE_TIMERCLEAR 1 +#ifndef HAVE_TIMERCLEAR +#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0 +#endif + +#define HAVE_TIMERCMP 1 +#ifndef HAVE_TIMERCMP +/* #undef timercmp */ +#define timercmp(tvp, uvp, cmp) \ + (((tvp)->tv_sec == (uvp)->tv_sec) ? \ + ((tvp)->tv_usec cmp (uvp)->tv_usec) : \ + ((tvp)->tv_sec cmp (uvp)->tv_sec)) +#endif + +#define HAVE_TIMERISSET 1 +#ifndef HAVE_TIMERISSET +/* #undef timerisset */ +#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec) +#endif + +/* Define if TAILQ_FOREACH is defined in */ +#define HAVE_TAILQFOREACH 1 +#ifndef HAVE_TAILQFOREACH +#define TAILQ_FIRST(head) ((head)->tqh_first) +#define TAILQ_END(head) NULL +#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) +#define TAILQ_FOREACH(var, head, field) \ + for((var) = TAILQ_FIRST(head); \ + (var) != TAILQ_END(head); \ + (var) = TAILQ_NEXT(var, field)) +#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \ + (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \ + (elm)->field.tqe_next = (listelm); \ + *(listelm)->field.tqe_prev = (elm); \ + (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \ +} while (0) +#endif /* TAILQ_FOREACH */ + +/* Define to __FUNCTION__ or __file__ if your compiler doesn't have __func__ */ +#define __func__ __FILE__ + +/* Define if clock_gettime is available in libc */ +/* #undef DNS_USE_CPU_CLOCK_FOR_ID */ + +/* Define is no secure id variant is available */ +#define DNS_USE_GETTIMEOFDAY_FOR_ID 1 + +/* Define to 1 if you have the `clock_gettime' function. */ +/* #undef HAVE_CLOCK_GETTIME */ + +/* Define if /dev/poll is available */ +/* #undef HAVE_DEVPOLL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if your system supports the epoll system calls */ +/* #undef HAVE_EPOLL */ + +/* Define to 1 if you have the `epoll_ctl' function. */ +/* #undef HAVE_EPOLL_CTL */ + +/* Define if your system supports event ports */ +/* #undef HAVE_EVENT_PORTS */ + +/* Define to 1 if you have the `fcntl' function. */ +#define HAVE_FCNTL 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `getaddrinfo' function. */ +#define HAVE_GETADDRINFO 1 + +/* Define to 1 if you have the `getnameinfo' function. */ +#define HAVE_GETNAMEINFO 1 + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `inet_ntop' function. */ +#define HAVE_INET_NTOP 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `kqueue' function. */ +#define HAVE_KQUEUE 1 + +/* Define to 1 if you have the `resolv' library (-lresolv). */ +#define HAVE_LIBRESOLV 1 + +/* Define to 1 if you have the `rt' library (-lrt). */ +/* #undef HAVE_LIBRT */ + +/* Define to 1 if you have the `socket' library (-lsocket). */ +/* #undef HAVE_LIBSOCKET */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETINET_IN6_H */ + +/* Define to 1 if you have the `poll' function. */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_POLL_H 1 + +/* Define to 1 if you have the `port_create' function. */ +/* #undef HAVE_PORT_CREATE */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_PORT_H */ + +/* Define if your system supports POSIX realtime signals */ +/* #undef HAVE_RTSIG */ + +/* Define to 1 if you have the `select' function. */ +#define HAVE_SELECT 1 + +/* Define if F_SETFD is defined in */ +#define HAVE_SETFD 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SIGNAL_H 1 + +/* Define to 1 if you have the `sigtimedwait' function. */ +/* #undef HAVE_SIGTIMEDWAIT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strlcpy' function. */ +#define HAVE_STRLCPY 1 + +/* Define to 1 if you have the `strsep' function. */ +#define HAVE_STRSEP 1 + +/* Define to 1 if you have the `strtok_r' function. */ +#define HAVE_STRTOK_R 1 + +/* Define to 1 if the system has the type `struct in6_addr'. */ +#define HAVE_STRUCT_IN6_ADDR 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_DEVPOLL_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_EPOLL_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_EVENT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_QUEUE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if TAILQ_FOREACH is defined in */ +#define HAVE_TAILQFOREACH 1 + +/* Define if timeradd is defined in */ +#define HAVE_TIMERADD 1 + +/* Define if timerclear is defined in */ +#define HAVE_TIMERCLEAR 1 + +/* Define if timercmp is defined in */ +#define HAVE_TIMERCMP 1 + +/* Define if timerisset is defined in */ +#define HAVE_TIMERISSET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define if kqueue works correctly with pipes */ +#define HAVE_WORKING_KQUEUE 1 + +/* Define if realtime signals work on pipes */ +/* #undef HAVE_WORKING_RTSIG */ + +/* Name of package */ +#define PACKAGE "libevent" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.3c-trunk" + +/* Define to appropriate substitue if compiler doesnt have __func__ */ +#define __func__ __FILE__ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to unsigned int if you dont have it */ +/* #undef socklen_t */ + +/* Define to `unsigned short' if does not define. */ +/* #undef uint16_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef uint32_t */ + +/* Define to `unsigned long long' if does not define. */ +/* #undef uint64_t */ + +/* Define to `unsigned char' if does not define. */ +/* #undef uint8_t */