#!/usr/bin/perl my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(); my $datestr = sprintf("%04u%02u%02u%02u%02u%02u",$year+1900,$mon+1,$mday,$hour,$min,$sec); my $ziptool = "vs/tool/zip.exe"; my $subdir="release/windows"; my $brancha=`git branch`; my $branch; my @a = split(/\n/,$brancha); for ($i=0;$i < @a;$i++) { my $line = $a[$i]; chomp $line; if ($line =~ s/^\* +//) { $branch = $line; } } if ( "$branch" eq "develop-win-sdl1-async-hack-201802" ) { $subdir="release/windows-async"; } $suffix = $subdir; $suffix =~ s/^.*\/windows/vsbuild/g; mkdir "release" unless -d "release"; mkdir "$subdir" unless -d "$subdir"; die "bin directory not exist" unless -d "bin"; die unless -f $ziptool; print "$zipname\n"; my @platforms = ('ARM', 'ARM64', 'Win32', 'x64'); my @builds = ('Release', 'Release SDL2'); my @files = ('dosbox-x.reference.conf', 'dosbox-x.reference.full.conf', 'readme.txt', 'dosbox-x.exe', 'FREECG98.bmp', 'wqy_11pt.bdf', 'wqy_12pt.bdf', 'Nouveau_IBM.ttf', 'SarasaGothicFixed.ttf', 'changelog.txt', 'drivez', 'scripts', 'shaders', 'glshaders', 'languages'); foreach $platform (@platforms) { $plat = $platform; $plat = 'win32' if $plat eq 'Win32'; $plat = 'win64' if $plat eq 'x64'; $plat = 'arm32' if $plat eq 'ARM'; $plat = 'arm64' if $plat eq 'ARM64'; $zipname = "dosbox-x-$suffix-$plat-$datestr.zip"; next if -f $zipname; my @filelist = (); push(@filelist, "COPYING"); foreach $build (@builds) { push(@filelist, "bin/$platform/$build/inpout32.dll") if $plat eq 'win32'; push(@filelist, "bin/$platform/$build/inpoutx64.dll") if $plat eq 'win64'; foreach $file (@files) { $addfile = "bin/$platform/$build/$file"; die "Missing file $addfile" unless -e $addfile; push(@filelist, $addfile); } } # do it $r = system($ziptool, '-9', '-r', "$subdir/$zipname", @filelist); exit 1 unless $r == 0; }