Alien-TinyCC
view release on metacpan or search on metacpan
=head1 INSTALLATION
I assume that if you are installing this module, you are doing so from
CPAN. The usual Module::Build incantation shold work:
perl Build.PL
./Build
./Build test
./Build install
On Windows, you should omit the C<./> part of the C<Build> commands.
=head1 DEVELOPMENT
If you want to work on Alien::TCC itself, you will need to work with a clone of
this repository, as well as a clone of the tinycc subrepository. To set
everything up, create a F<Build> file and run the C<devsetup> command:
perl Build.PL
./Build devsetup
The C<devsetup> command is essentially equivalent to
git submodule init
git submodule update
cp git-pre-commit-hook.pl .git/hooks/pre-commit
The last bit, the commit hook, helps me keep the Changes file up-to-date. :-)
Also, C<devclean> and C<devrealclean> will restore the contents of F<src/> to
their original state, and should be used instead of Build command C<clean> and
C<realclean>.
=head1 LICENSE, COPYRIGHT
This distribution distributes the source for the Tiny C Compiler project
under the src/ directory, for which the following notice is in effect:
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
lib/Alien/TinyCC.pm view on Meta::CPAN
=item MB_linker_flags
gives the proper list of arguments to link against F<libtcc>.
=back
=head1 SEE ALSO
This module provides the Tiny C Compiler. To learn more about this great
project, see L<http://bellard.org/tcc/> and
L<http://savannah.nongnu.org/projects/tinycc>.
To learn more about Alien Perl distributions in general, read the L<Alien>
manifesto.
This library was built specifically to be used by the C code system provided
by L<C::TinyCompiler>.
=head1 AUTHOR
lib/Alien/TinyCC.pm view on Meta::CPAN
L<http://annocpan.org/dist/Alien-TinyCC>
=item * CPAN Ratings
L<http://cpanratings.perl.org/d/Alien-TinyCC>
=item * Search CPAN
L<http://p3rl.org/Alien::TinyCC>
L<http://search.cpan.org/dist/Alien-TinyCC/>
=item * Stack Overflow
L<//http://stackoverflow.com/questions/tagged/tcc>
=back
=head1 ACKNOWLEDGEMENTS
The tcc developers have made this a very easy project to wrap up. They even
had the Windows install command nicely packaged up! How amazing!
=head1 LICENSE AND COPYRIGHT
Code copyright 2013 Dickinson College. Documentation copyright 2013 David
Mertens.
Everything not contained in the F<src/> directory is free software, the
distribution and/or modification of which is governed by the terms of
either: the GNU General Public License as published
by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
=head1 TINY C COMPILER LICENSE AND COPYRIGHT
This distribution distributes the source for the Tiny C Compiler project
under the src/ directory, for which the following notice is in effect:
src/texi2pod.pl view on Meta::CPAN
s/\@\@/&at;/g;
# Inside a verbatim block, handle @var specially.
if ($shift ne "") {
s/\@var\{([^\}]*)\}/<$1>/g;
}
# POD doesn't interpret E<> inside a verbatim block.
if ($shift eq "") {
s/</</g;
s/>/>/g;
} else {
s/</</g;
s/>/>/g;
}
# Single line command handlers.
/^\@include\s+(.+)$/ and do {
push @instack, $inf;
$inf = gensym();
# Try cwd and $ibase.
open($inf, "<" . $1)
src/texi2pod.pl view on Meta::CPAN
# semantics each time. @url and @email are just like @uref with
# one argument, for our purposes.
s/\@(?:uref|url|email)\{([^\},]*)\}/<B<$1>>/g;
s/\@uref\{([^\},]*),([^\},]*)\}/$2 (C<$1>)/g;
s/\@uref\{([^\},]*),([^\},]*),([^\},]*)\}/$3/g;
# Turn B<blah I<blah> blah> into B<blah> I<blah> B<blah> to
# match Texinfo semantics of @emph inside @samp. Also handle @r
# inside bold.
s/</</g;
s/>/>/g;
1 while s/B<((?:[^<>]|I<[^<>]*>)*)R<([^>]*)>/B<$1>${2}B</g;
1 while (s/B<([^<>]*)I<([^>]+)>/B<$1>I<$2>B</g);
1 while (s/I<([^<>]*)B<([^>]+)>/I<$1>B<$2>I</g);
s/[BI]<>//g;
s/([BI])<(\s+)([^>]+)>/$2$1<$3>/g;
s/([BI])<([^>]+?)(\s+)>/$1<$2>$3/g;
# Extract footnotes. This has to be done after all other
# processing because otherwise the regexp will choke on formatting
# inside @footnote.
( run in 1.052 second using v1.01-cache-2.11-cpan-df04353d9ac )