xref: /freebsd/crypto/openssl/demos/http3/gen_nghttp3.pl (revision e7be843b4a162e68651d3911f0357ed464915629)
1*e7be843bSPierre Pronchery#!/usr/bin/env perl
2*e7be843bSPierre Pronchery#
3*e7be843bSPierre Pronchery
4*e7be843bSPierre Proncheryuse File::Copy;
5*e7be843bSPierre Proncheryuse File::Path;
6*e7be843bSPierre Proncheryuse Fcntl ':flock';
7*e7be843bSPierre Proncheryuse strict;
8*e7be843bSPierre Proncheryuse warnings;
9*e7be843bSPierre Pronchery
10*e7be843bSPierre Pronchery#open STDOUT, '>&STDERR';
11*e7be843bSPierre Pronchery
12*e7be843bSPierre Proncherychdir "demos/http3";
13*e7be843bSPierre Proncheryopen(my $fh, '>>', './build.info') or die "Could not open build.info - $!";
14*e7be843bSPierre Proncheryflock($fh, LOCK_EX) or die "Could not lock build.info - $!";
15*e7be843bSPierre Pronchery
16*e7be843bSPierre Proncheryif (-d "./nghttp3") {
17*e7be843bSPierre Pronchery    rmtree("./nghttp3") or die "Cannot remove nghttp3: $!";
18*e7be843bSPierre Pronchery}
19*e7be843bSPierre Proncherysystem("git clone https://github.com/ngtcp2/nghttp3.git");
20*e7be843bSPierre Pronchery
21*e7be843bSPierre Proncherychdir "nghttp3";
22*e7be843bSPierre Proncherymkdir "build";
23*e7be843bSPierre Proncherysystem("git submodule init ./lib/sfparse ./tests/munit");
24*e7be843bSPierre Proncherysystem("git submodule update");
25*e7be843bSPierre Proncherysystem("cmake -DENABLE_LIB_ONLY=1 -S . -B build");
26*e7be843bSPierre Proncherysystem("cmake --build build");
27*e7be843bSPierre Pronchery
28*e7be843bSPierre Proncherymy $libs="./build/lib/libnghttp*";
29*e7be843bSPierre Pronchery
30*e7be843bSPierre Proncheryfor my $file (glob $libs) {
31*e7be843bSPierre Pronchery    copy($file, "..");
32*e7be843bSPierre Pronchery}
33*e7be843bSPierre Pronchery
34*e7be843bSPierre Proncherychdir "../../..";
35*e7be843bSPierre Proncheryclose($fh);
36*e7be843bSPierre Pronchery
37*e7be843bSPierre Proncheryexit(0);
38