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