-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtrigger.gpr
More file actions
124 lines (106 loc) · 3.95 KB
/
Copy pathtrigger.gpr
File metadata and controls
124 lines (106 loc) · 3.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
-- Trigger - Multi-Platform Social Media Reporting Tool
-- Ada/SPARK Project File
--
-- This project implements a multi-platform social media reporting utility
-- with support for Telegram, Discord, and Twitter/X.
-- Features: multi-account management, persistent sessions, rate limit handling,
-- platform abstraction via Idris2 ABI and Zig FFI (unified-hexadeca-api).
--
-- Original concept by 2nixx (T.me/NetworkCriminals)
-- Rewritten in Ada/SPARK for safety and verification
project Trigger is
-- Project configuration
for Source_Dirs use ("src");
for Object_Dir use "obj";
for Executable_Dir use "bin";
for Executable ("trigger") use "trigger.adb";
for Main use ("trigger.adb");
-- Compiler options for SPARK verification
package Compiler is
for Default_Switches ("Ada") use (
"-gnatwa", -- Activate all optional warnings
"-gnatwe", -- Warnings as errors
"-gnata", -- Assertions enabled
"-gnatV", -- Verbose error messages
"-gnatN", -- Enable inlining
"-gnato", -- Enable overflow checks
"-g", -- Debug information
"-O2" -- Optimization level 2
);
end Compiler;
-- SPARK specific configuration
package Spark is
for Proof_Level use "2"; -- Full proof
for Assert_Level use "2"; -- Runtime checks
end Spark;
-- Source files
for Source_Files use (
-- Main application
"trigger/trigger.adb",
"trigger/trigger.ads",
-- CLI packages
"trigger/cli/argument_parser.adb",
"trigger/cli/argument_parser.ads",
"trigger/cli/help_generator.adb",
"trigger/cli/help_generator.ads",
"trigger/cli/man_page.adb",
"trigger/cli/man_page.ads",
"trigger/cli/version_info.adb",
"trigger/cli/version_info.ads",
-- Core packages
"trigger/core/application.adb",
"trigger/core/application.ads",
"trigger/core/cryptography.adb",
"trigger/core/cryptography.ads",
-- Platform packages
"trigger/core/platform/platform_types.ads",
"trigger/core/platform/platform_interface.ads",
"trigger/core/platform/platform_factory.ads",
"trigger/core/platform/platform_factory.adb",
-- Platform implementations
"trigger/platforms/telegram/telegram-platform.ads",
"trigger/platforms/telegram/telegram-platform.adb",
"trigger/platforms/discord/discord-platform.ads",
"trigger/platforms/discord/discord-platform.adb",
"trigger/platforms/twitter/twitter-platform.ads",
"trigger/platforms/twitter/twitter-platform.adb",
-- Diagnostics packages
"trigger/diagnostics/system_check.adb",
"trigger/diagnostics/system_check.ads",
"trigger/diagnostics/self_healing.adb",
"trigger/diagnostics/self_healing.ads",
-- TUI packages
"trigger/tui/main_menu.adb",
"trigger/tui/main_menu.ads",
-- FFI bindings
"trigger/ffi/trigger-ffi.ads",
"trigger/ffi/trigger-ffi-discord.ads",
"trigger/ffi/trigger-ffi-telegram.ads",
"trigger/ffi/trigger-ffi-twitter.ads",
"trigger/ffi/trigger-ffi-crypto.ads"
);
-- Library dependencies
-- For Telethon-like functionality via Zig FFI
for Externally_Built use ("zig");
-- Build profiles
type Build_Profile is ("debug", "release");
for Build_Profiles use ("debug", "release");
package Build is
for Default_Build_Profile use "release";
end Build;
-- Profile-specific options
package Profile_Debug is
for Default_Switches ("Ada") use (
Compiler.Default_Switches ("Ada") &
"-g",
"-O0"
);
end Profile_Debug;
package Profile_Release is
for Default_Switches ("Ada") use (
Compiler.Default_Switches ("Ada") &
"-O3",
"-gnatn" -- Disable assertions in release
);
end Profile_Release;
end Trigger;