diff options
author | Nicholas Clark <nick@ccl4.org> | 2009-09-25 13:37:29 +0100 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2009-09-25 13:37:29 +0100 |
commit | fafe5ad5a7e57ca14cd0844db173f3a4d6c9e8de (patch) | |
tree | 986df99d21cddd44a0a93e2048d8ad761dbc3865 /ext/Encode/Byte | |
parent | 321c358920f04a77dd5318e7d76f9526d684fd5c (diff) | |
download | perl-fafe5ad5a7e57ca14cd0844db173f3a4d6c9e8de.tar.gz |
Move Encode from ext/ to cpan/
Diffstat (limited to 'ext/Encode/Byte')
-rw-r--r-- | ext/Encode/Byte/Byte.pm | 120 | ||||
-rw-r--r-- | ext/Encode/Byte/Makefile.PL | 194 |
2 files changed, 0 insertions, 314 deletions
diff --git a/ext/Encode/Byte/Byte.pm b/ext/Encode/Byte/Byte.pm deleted file mode 100644 index 3ea9035b7b..0000000000 --- a/ext/Encode/Byte/Byte.pm +++ /dev/null @@ -1,120 +0,0 @@ -package Encode::Byte; -use strict; -use warnings; -use Encode; -our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r }; - -use XSLoader; -XSLoader::load( __PACKAGE__, $VERSION ); - -1; -__END__ - -=head1 NAME - -Encode::Byte - Single Byte Encodings - -=head1 SYNOPSIS - - use Encode qw/encode decode/; - $greek = encode("iso-8859-7", $utf8); # loads Encode::Byte implicitly - $utf8 = decode("iso-8859-7", $greek); # ditto - -=head1 ABSTRACT - -This module implements various single byte encodings. For most cases it uses -\x80-\xff (upper half) to map non-ASCII characters. Encodings -supported are as follows. - - Canonical Alias Description - -------------------------------------------------------------------- - # ISO 8859 series - (iso-8859-1 is in built-in) - iso-8859-2 latin2 [ISO] - iso-8859-3 latin3 [ISO] - iso-8859-4 latin4 [ISO] - iso-8859-5 [ISO] - iso-8859-6 [ISO] - iso-8859-7 [ISO] - iso-8859-8 [ISO] - iso-8859-9 latin5 [ISO] - iso-8859-10 latin6 [ISO] - iso-8859-11 - (iso-8859-12 is nonexistent) - iso-8859-13 latin7 [ISO] - iso-8859-14 latin8 [ISO] - iso-8859-15 latin9 [ISO] - iso-8859-16 latin10 [ISO] - - # Cyrillic - koi8-f - koi8-r cp878 [RFC1489] - koi8-u [RFC2319] - - # Vietnamese - viscii - - # all cp* are also available as ibm-*, ms-*, and windows-* - # also see L<http://msdn.microsoft.com/workshop/author/dhtml/reference/charsets/charset4.asp> - - cp424 - cp437 - cp737 - cp775 - cp850 - cp852 - cp855 - cp856 - cp857 - cp860 - cp861 - cp862 - cp863 - cp864 - cp865 - cp866 - cp869 - cp874 - cp1006 - cp1250 WinLatin2 - cp1251 WinCyrillic - cp1252 WinLatin1 - cp1253 WinGreek - cp1254 WinTurkish - cp1255 WinHebrew - cp1256 WinArabic - cp1257 WinBaltic - cp1258 WinVietnamese - - # Macintosh - # Also see L<http://developer.apple.com/technotes/tn/tn1150.html> - MacArabic - MacCentralEurRoman - MacCroatian - MacCyrillic - MacFarsi - MacGreek - MacHebrew - MacIcelandic - MacRoman - MacRomanian - MacRumanian - MacSami - MacThai - MacTurkish - MacUkrainian - - # More vendor encodings - AdobeStandardEncoding - nextstep - hp-roman8 - -=head1 DESCRIPTION - -To find how to use this module in detail, see L<Encode>. - -=head1 SEE ALSO - -L<Encode> - -=cut diff --git a/ext/Encode/Byte/Makefile.PL b/ext/Encode/Byte/Makefile.PL deleted file mode 100644 index 60caf38e0d..0000000000 --- a/ext/Encode/Byte/Makefile.PL +++ /dev/null @@ -1,194 +0,0 @@ -use 5.7.2; -use strict; -use ExtUtils::MakeMaker; -use File::Spec::Functions; - -my $name = 'Byte'; -my %tables = ( - byte_t => - [ - # misc. vendors - # 'gsm0338.ucm', now in Encode::GSM0338 - 'nextstep.ucm', - 'hp-roman8.ucm', - 'viscii.ucm', - 'adobeStdenc.ucm', - # koi8 - 'koi8-f.ucm', 'koi8-r.ucm', 'koi8-u.ucm', - # Mac - qw( - macArabic.ucm - macCentEuro.ucm - macCroatian.ucm - macCyrillic.ucm - macFarsi.ucm - macGreek.ucm - macHebrew.ucm - macIceland.ucm - macRoman.ucm - macROMnn.ucm - macRUMnn.ucm - macSami.ucm - macThai.ucm - macTurkish.ucm - macUkraine.ucm - ), - ], - ); - -my %not_here = - map {$_ => 1} -( - '8859-1.ucm', # default - qw(cp037.ucm cp1026.ucm cp1047.ucm cp500.ucm cp875.ucm), # EBCDIC - qw(cp932.ucm cp936.ucm cp949.ucm cp950.ucm), # CJK - ); - -opendir(ENC,catdir(updir(),'ucm')) or die $!; -while (defined(my $file = readdir(ENC))) -{ - $file =~ /^(8859|cp).*\.ucm$/io or next; - $not_here{$file} and next; - push(@{$tables{byte_t}},$file); -} -closedir(ENC); - -WriteMakefile( - INC => "-I../Encode", - NAME => 'Encode::'.$name, - VERSION_FROM => "$name.pm", - OBJECT => '$(O_FILES)', - 'dist' => { - COMPRESS => 'gzip -9f', - SUFFIX => 'gz', - DIST_DEFAULT => 'all tardist', - }, - MAN3PODS => {}, - # OS 390 winges about line numbers > 64K ??? - XSOPT => '-nolinenumbers', - ); - -package MY; - -sub post_initialize -{ - my ($self) = @_; - my %o; - my $x = $self->{'OBJ_EXT'}; - # Add the table O_FILES - foreach my $e (keys %tables) - { - $o{$e.$x} = 1; - } - $o{"$name$x"} = 1; - $self->{'O_FILES'} = [sort keys %o]; - my @files = ("$name.xs"); - $self->{'C'} = ["$name.c"]; - $self->{SOURCE} .= " $name.c" - if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$name\.c\b/; - $self->{'H'} = [$self->catfile($self->updir,'Encode', 'encode.h')]; - my %xs; - foreach my $table (keys %tables) { - push (@{$self->{'C'}},"$table.c"); - # Do NOT add $table.h etc. to H_FILES unless we own up as to how they - # get built. - foreach my $ext (qw($(OBJ_EXT) .c .h .exh .fnm)) { - push (@files,$table.$ext); - } - $self->{SOURCE} .= " $table.c" - if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$table\.c\b/; - } - $self->{'XS'} = { "$name.xs" => "$name.c" }; - $self->{'clean'}{'FILES'} .= join(' ',@files); - open(XS,">$name.xs") || die "Cannot open $name.xs:$!"; - print XS <<'END'; -#include <EXTERN.h> -#include <perl.h> -#include <XSUB.h> -#define U8 U8 -#include "encode.h" -END - foreach my $table (keys %tables) { - print XS qq[#include "${table}.h"\n]; - } - print XS <<"END"; - -static void -Encode_XSEncoding(pTHX_ encode_t *enc) -{ - dSP; - HV *stash = gv_stashpv("Encode::XS", TRUE); - SV *sv = sv_bless(newRV_noinc(newSViv(PTR2IV(enc))),stash); - int i = 0; - PUSHMARK(sp); - XPUSHs(sv); - while (enc->name[i]) - { - const char *name = enc->name[i++]; - XPUSHs(sv_2mortal(newSVpvn(name,strlen(name)))); - } - PUTBACK; - call_pv("Encode::define_encoding",G_DISCARD); - SvREFCNT_dec(sv); -} - -MODULE = Encode::$name PACKAGE = Encode::$name -PROTOTYPES: DISABLE -BOOT: -{ -END - foreach my $table (keys %tables) { - print XS qq[#include "${table}.exh"\n]; - } - print XS "}\n"; - close(XS); - return "# Built $name.xs\n\n"; -} - -sub postamble -{ - my $self = shift; - my $dir = $self->catdir($self->updir,'ucm'); - my $str = "# $name\$(OBJ_EXT) depends on .h and .exh files not .c files - but all written by enc2xs\n"; - $str .= "$name.c : $name.xs "; - foreach my $table (keys %tables) - { - $str .= " $table.c"; - } - $str .= "\n\n"; - $str .= "$name\$(OBJ_EXT) : $name.c\n\n"; - - my $enc2xs = $self->catfile($self->updir,'bin', 'enc2xs'); - foreach my $table (keys %tables) - { - my $numlines = 1; - my $lengthsofar = length($str); - my $continuator = ''; - $str .= "$table.c : $enc2xs Makefile.PL"; - foreach my $file (@{$tables{$table}}) - { - $str .= $continuator.' '.$self->catfile($dir,$file); - if ( length($str)-$lengthsofar > 128*$numlines ) - { - $continuator .= " \\\n\t"; - $numlines++; - } else { - $continuator = ''; - } - } - my $plib = $self->{PERL_CORE} ? '"-I$(PERL_LIB)"' : ''; - $plib .= " -MCross=$::Cross::platform" if defined $::Cross::platform; - my $ucopts = '-"Q" -"O"'; - $str .= - qq{\n\t\$(PERL) $plib $enc2xs $ucopts -o \$\@ -f $table.fnm\n\n}; - open (FILELIST, ">$table.fnm") - || die "Could not open $table.fnm: $!"; - foreach my $file (@{$tables{$table}}) - { - print FILELIST $self->catfile($dir,$file) . "\n"; - } - close(FILELIST); - } - return $str; -} - |