blob: 5f77d2bd6d524bd399a5f7c1f9303d6e57c0e0a7 [file] [log] [blame]
Torne (Richard Coles)5c87bf82012-11-14 11:46:17 +00001#! /usr/bin/perl
2#
3# This file is part of the WebKit project
4#
5# Copyright (C) 2010 Andras Becsi (abecsi@inf.u-szeged.hu), University of Szeged
6# Copyright (C) 2012 Apple Inc. All rights reserved.
7#
8# This library is free software; you can redistribute it and/or
9# modify it under the terms of the GNU Library General Public
10# License as published by the Free Software Foundation; either
11# version 2 of the License, or (at your option) any later version.
12#
13# This library is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16# Library General Public License for more details.
17#
18# You should have received a copy of the GNU Library General Public License
19# along with this library; see the file COPYING.LIB. If not, write to
20# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21# Boston, MA 02110-1301, USA.
22
23use strict;
24use File::Basename;
25
26my $outdir = $ARGV[0];
27shift;
28my $option = basename($ARGV[0],".gperf");
29
30if ($option eq "ColorData") {
31 my $colorDataGenerated = "$outdir/ColorData.cpp";
32 my $colorDataGperf = shift;
33 my $customGperf = shift;
34
35 # gperf emits this filename literally in #line directives, but VS errors
36 # out because the filenames then contain unescaped \s, so replace the \
37 # with /.
38 $colorDataGperf =~ s/\\/\//g;
39 my $gperf = $ENV{GPERF} ? $ENV{GPERF} : ($customGperf ? $customGperf : "gperf");
40 system("\"$gperf\" --key-positions=\"*\" -D -s 2 $colorDataGperf --output-file=$colorDataGenerated") == 0 || die "calling gperf failed: $?";
41
42} else {
43 die "Unknown option.";
44}