forked from Green-Sky/tomato
c9cdae001 fix(toxav): remove extra copy of video frame on encode 4f6d4546b test: Improve the fake network library. a2581e700 refactor(toxcore): generate `Friend_Request` and `Dht_Nodes_Response` 2aaa11770 refactor(toxcore): use Tox_Memory in generated events 5c367452b test(toxcore): fix incorrect mutex in tox_scenario_get_time 8f92e710f perf: Add a timed limit of number of cookie requests. 695b6417a test: Add some more simulated network support. 815ae9ce9 test(toxcore): fix thread-safety in scenario framework 6d85c754e test(toxcore): add unit tests for net_crypto 9c22e79cc test(support): add SimulatedEnvironment for deterministic testing f34fcb195 chore: Update windows Dockerfile to debian stable (trixie). ece0e8980 fix(group_moderation): allow validating unsorted sanction list signatures a4fa754d7 refactor: rename struct Packet to struct Net_Packet d6f330f85 cleanup: Fix some warnings from coverity. e206bffa2 fix(group_chats): fix sync packets reverting topics 0e4715598 test: Add new scenario testing framework. 668291f44 refactor(toxcore): decouple Network_Funcs from sockaddr via IP_Port fc4396cef fix: potential division by zero in toxav and unsafe hex parsing 8e8b352ab refactor: Add nullable annotations to struct members. 7740bb421 refactor: decouple net_crypto from DHT 1936d4296 test: add benchmark for toxav audio and video 46bfdc2df fix: correct printf format specifiers for unsigned integers REVERT: 1828c5356 fix(toxav): remove extra copy of video frame on encode git-subtree-dir: external/toxcore/c-toxcore git-subtree-split: c9cdae001341e701fca980c9bb9febfeb95d2902
61 lines
1.6 KiB
Perl
Executable File
61 lines
1.6 KiB
Perl
Executable File
#!/usr/bin/env perl
|
|
#
|
|
# This script can be used to create a single .c file with all of toxcore in it
|
|
# as well as your code or test file. It does not depend on any header files
|
|
# anymore, as those are emitted directly into the .c file.
|
|
#
|
|
# Example:
|
|
#
|
|
# other/deploy/single-file/make_single_file auto_tests/scenarios/scenario_toxav_basic_test.c auto_tests/scenarios/framework/framework.c testing/misc_tools.c | \
|
|
# tcc -o toxav_basic_test - $(pkg-config --cflags --libs libsodium opus vpx)
|
|
#
|
|
# other/deploy/single-file/make_single_file -core auto_tests/scenarios/scenario_send_message_test.c auto_tests/scenarios/framework/framework.c testing/misc_tools.c | \
|
|
# tcc -o send_message_test - $(pkg-config --cflags --libs libsodium)
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use Cwd 'abs_path';
|
|
|
|
sub relative_to {
|
|
my ($rel, $fn) = @_;
|
|
my @path = split "/", $rel;
|
|
pop @path;
|
|
abs_path(join "/", @path, $fn)
|
|
}
|
|
|
|
my %seen;
|
|
sub emit {
|
|
my ($fn) = @_;
|
|
return if $seen{$fn};
|
|
$seen{$fn} = 1;
|
|
|
|
open my $fh, "<", $fn or die "$fn: $!";
|
|
my $line = 1;
|
|
print "#line $line \"$fn\"\n";
|
|
while (<$fh>) {
|
|
if (/^#include "([^"]*)"/) {
|
|
emit(relative_to($fn, $1), $1);
|
|
++$line;
|
|
print "#line $line \"$fn\"\n";
|
|
} else {
|
|
print;
|
|
++$line;
|
|
}
|
|
}
|
|
}
|
|
|
|
my @core = (<toxcore/*.c>, <toxcore/*/*.c>, <toxencryptsave/*.c>, <third_party/cmp/*.c>);
|
|
if (@ARGV and $ARGV[0] eq "-core") {
|
|
shift @ARGV;
|
|
emit(abs_path $_) for @core;
|
|
} else {
|
|
if (@ARGV and $ARGV[0] eq "-av") {
|
|
# Ignore -av, it's the default.
|
|
shift @ARGV;
|
|
}
|
|
emit(abs_path $_) for (<toxav/*.c>, @core);
|
|
}
|
|
|
|
emit(abs_path $_) for @ARGV;
|