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