mumble/scripts/mklic.pl
2012-08-05 20:15:36 +02:00

78 lines
2.4 KiB
Perl

#! /usr/bin/perl
use warnings;
use strict;
use Carp;
sub licenseFileToVar($$) {
my ($var,$file)=@_;
my $ret;
open(IN, $file) or croak;
my $l = join("", <IN>);
$l =~ s/\r//g;
$l =~ s/\f//g;
$l =~ s/\"/\\\"/g;
$l = join("\\n\"\n\t\"",split(/\n/, $l));
return qq!static const char *${var} = \n\t\"! . $l . "\";\n\n\n";
}
open(F, "> ../src/mumble/licenses.h");
print F "/*\n";
print F " * This file was auto-generated by scripts/mklic.pl\n";
print F " * DO NOT EDIT IT MANUALLY\n";
print F " */\n\n\n";
print F licenseFileToVar("licenseMumble", "../LICENSE");
# List of 3rd party licenses [<variableName>, <pathToLicenseFile>, <DisplayName>, <URL>]
my @thirdPartyLicenses = (
["licenseCELT", "../celt-0.11.0-src/COPYING", "Speex", "http://www.speex.org/"],
["licenseOpus", "../opus-src/COPYING", "Opus", "http://www.opus-codec.org/"],
["licenseSPEEX", "../speex/COPYING", "CELT", "http://www.celt-codec.org/"],
["licenseOpenSSL", "../3rdPartyLicenses/openssl_license.txt", "OpenSSL", "http://www.openssl.org/"],
["licenseLibsndfile", "../3rdPartyLicenses/libsndfile_license.txt", "libsndfile", "http://www.mega-nerd.com/libsndfile/"],
["licenseOgg", "../3rdPartyLicenses/libogg_license.txt", "libogg", "http://www.xiph.org/"],
["licenseVorbis", "../3rdPartyLicenses/libvorbis_license.txt", "libvorbis", "http://www.xiph.org/"],
["licenseFLAC", "../3rdPartyLicenses/libflac_license.txt", "libFLAC", "http://flac.sourceforge.net/"],
["licenseMachOverride", "../3rdPartyLicenses/mach_override_license.txt", "mach_override", "https://github.com/rentzsch/mach_star"]);
# Print 3rd party licenses
foreach (@thirdPartyLicenses) {
print F licenseFileToVar(@$_[0], @$_[1]);
}
# Print list of 3rd party license references
print F "static const char *licenses3rdParty[" . ($#thirdPartyLicenses + 2) . "] = {\n";
foreach (@thirdPartyLicenses) {
print F "\t" . @$_[0] . ", \n";
}
print F "\t0\n";
print F "};\n\n\n";
# Print list of 3rd party names
print F "static const char *licenses3rdPartyNames[" . ($#thirdPartyLicenses + 2) . "] = {\n";
foreach (@thirdPartyLicenses) {
print F "\t\"" . @$_[2] . "\",\n";
}
print F "\t0\n";
print F "};\n\n\n";
# Print list of 3rd party urls
print F "static const char *licenses3rdPartyURLs[" . ($#thirdPartyLicenses + 2) . "] = {\n";
foreach (@thirdPartyLicenses) {
print F "\t\"" . @$_[3] . "\",\n";
}
print F "\t0\n";
print F "};\n\n\n";
close(F);