1545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#! /usr/bin/perl
2545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#
3545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#   This file is part of the WebKit project
4545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#
5545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#   Copyright (C) 2010 Andras Becsi (abecsi@inf.u-szeged.hu), University of Szeged
6545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#
7545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#   This library is free software; you can redistribute it and/or
8545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#   modify it under the terms of the GNU Library General Public
9545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#   License as published by the Free Software Foundation; either
10545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#   version 2 of the License, or (at your option) any later version.
11545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#
12545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#   This library is distributed in the hope that it will be useful,
13545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#   but WITHOUT ANY WARRANTY; without even the implied warranty of
14545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#   Library General Public License for more details.
16545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#
17545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#   You should have received a copy of the GNU Library General Public License
18545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#   along with this library; see the file COPYING.LIB.  If not, write to
19545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#   Boston, MA 02110-1301, USA.
21545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
22545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochuse strict;
23545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochuse Switch;
24545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochuse File::Basename;
25545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
26545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochmy $outdir = $ARGV[0];
27545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochshift;
28545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochmy $option = basename($ARGV[0],".gperf");
29545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
30bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen
31545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochswitch ($option) {
32545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
33545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochcase "DocTypeStrings" {
34545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
354576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    my $docTypeStringsGenerated    = "$outdir/DocTypeStrings.cpp";
36545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch    my $docTypeStringsGperf        = $ARGV[0];
37545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch    shift;
38545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
39545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch    system("gperf --key-positions=\"*\" -s 2 $docTypeStringsGperf > $docTypeStringsGenerated") == 0 || die "calling gperf failed: $?";
40545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
41545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} # case "DocTypeStrings"
42545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
43545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochcase "ColorData" {
44545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
454576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    my $colorDataGenerated         = "$outdir/ColorData.cpp";
46bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen    my $colorDataGperf             = $ARGV[0];
47545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch    shift;
48545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
49545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch    system("gperf --key-positions=\"*\" -D -s 2 $colorDataGperf > $colorDataGenerated") == 0 || die "calling gperf failed: $?";
50545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
51545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} # case "ColorData"
52545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
53545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} # switch ($option)
54