17d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch#!/usr/bin/perl 27d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# 37d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# Copyright 2010, The Android Open Source Project 47d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# 57d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# Redistribution and use in source and binary forms, with or without 67d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# modification, are permitted provided that the following conditions 77d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# are met: 87d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# * Redistributions of source code must retain the above copyright 97d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# notice, this list of conditions and the following disclaimer. 107d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# * Redistributions in binary form must reproduce the above copyright 117d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# notice, this list of conditions and the following disclaimer in the 127d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# documentation and/or other materials provided with the distribution. 137d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# 147d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 157d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 167d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 177d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 187d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 197d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 207d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 217d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 227d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 237d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 247d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 257d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch 267d214dfa174224b459660971e5b5cce2e06be02aBen Murdochuse File::Path; 277d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch 287d214dfa174224b459660971e5b5cce2e06be02aBen Murdochmy $forward = $ARGV[0]; 297d214dfa174224b459660971e5b5cce2e06be02aBen Murdochmy $to = $ARGV[1]; 307d214dfa174224b459660971e5b5cce2e06be02aBen Murdochmy $copyright = <<COPYRIGHT; 317d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch/* 327d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * Copyright 2010, The Android Open Source Project 337d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * 347d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * Redistribution and use in source and binary forms, with or without 357d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * modification, are permitted provided that the following conditions 367d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * are met: 377d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * * Redistributions of source code must retain the above copyright 387d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * notice, this list of conditions and the following disclaimer. 397d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * * Redistributions in binary form must reproduce the above copyright 407d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * notice, this list of conditions and the following disclaimer in the 417d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * documentation and/or other materials provided with the distribution. 427d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * 437d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 447d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 457d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 467d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 477d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 487d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 497d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 507d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 517d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 527d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 537d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 547d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch */ 557d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch 567d214dfa174224b459660971e5b5cce2e06be02aBen MurdochCOPYRIGHT 577d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch 587d214dfa174224b459660971e5b5cce2e06be02aBen Murdochmy$ header = "// This file has been generated by generateAndroidForwardingHeader.pl\n// DO NOT MODIFY!"; 597d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch 607d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch$forward =~ m/(.*)\//s; 617d214dfa174224b459660971e5b5cce2e06be02aBen Murdochmkpath($1); 627d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch$guard = $forward; 6349139a52abc21019da7fcbafdef393ad960ea0e2Patrick Scott$guard =~ s/[\.\/\\-]/_/g; 647d214dfa174224b459660971e5b5cce2e06be02aBen Murdochopen(my $handle, ">", $forward) or die $!; 657d214dfa174224b459660971e5b5cce2e06be02aBen Murdochprint $handle "$copyright\n"; 667d214dfa174224b459660971e5b5cce2e06be02aBen Murdochprint $handle "$header\n\n\n"; 677d214dfa174224b459660971e5b5cce2e06be02aBen Murdochprint $handle "#ifndef _${guard}_\n"; 687d214dfa174224b459660971e5b5cce2e06be02aBen Murdochprint $handle "#define _${guard}_\n\n"; 697d214dfa174224b459660971e5b5cce2e06be02aBen Murdochprint $handle "#include <$to>\n\n"; 707d214dfa174224b459660971e5b5cce2e06be02aBen Murdochprint $handle "#endif // _${guard}_\n"; 717d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclose($handle); 727d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch 73