perl-unicode

Fwd: [Encode] compile -> bin/enc2xs

2002-03-28 15:20:31
Oops, forgot to see perl-unicode(_at_)perl(_dot_)org

Dan

Begin forwarded message:

From: Dan Kogai <dankogai(_at_)dan(_dot_)co(_dot_)jp>
Date: Fri Mar 29, 2002  05:39:42  Asia/Tokyo
To: Nick Ing-Simmons <nick(_dot_)ing-simmons(_at_)elixent(_dot_)com>, Jarkko Hietaniemi <jhi(_at_)iki(_dot_)fi>, Autrijus Tang <autrijus(_at_)autrijus(_dot_)org>, Jungshik Shin <jshin(_at_)mailaps(_dot_)org>, SADAHIRO Tomoyuki <bqw10602(_at_)nifty(_dot_)com>
Subject: [Encode] compile -> bin/enc2xs

NI-S and Encode Hackers,

NI-S in (Prehistoric) Encode.pm
The tables are produced by the Perl script F<compile> (the name needs
to change so we can eventually install it somewhere). F<compile> can
currently read two formats:

I have worked this one out at last! To do so, I have applied the changes below;

- encode.h
+ Encode/encode.h
  encode.h moved to Encode/ so it will be installed for the later
  use by enc2xs
! enc2xs
  h2xs-like feature added via "h2xs -M Name *.(enc|ucm)"
! Makefile.PL
! */Makefile.PL
- compile
+ bin/enc2xs
  compile renamed to enc2xs.
  Affected Makefle.PL updated

After making sure renamed bin/enc2xs works, I have added one more option to enc2xs, the -M option that generates the module suite out of *.ucm or *.enc. Have a look at enc2xs in action.

dankogai(_at_)dan-attic[2714]:~/work/test_enc2xs> ls total 5
 5 my.ucm
dankogai(_at_)dan-attic[2715]:~/work/test_enc2xs> perl5.7.3 ../Encode-current/bin/enc2xs -M My *.ucm
dankogai(_at_)dan-attic[2716]:~/work/test_enc2xs> ls
total 11
 4 Makefile.PL   1 My.pm         5 my.ucm        1 t/
dankogai(_at_)dan-attic[2717]:~/work/test_enc2xs> perl5.7.3 Makefile.PL
Writing Makefile for Encode::My
dankogai(_at_)dan-attic[2718]:~/work/test_enc2xs> make test
cp My.pm blib/lib/Encode/My.pm
/usr/home/dankogai/bin/perl5.7.3 /home/dankogai/work/Encode-
current/bin/enc2xs -Q -O -o encode_t.c -f encode_t.fnm
Reading myascii (myascii)
Writing compiled form
128 bytes in string tables
384 bytes (25%) saved spotting duplicates
1 bytes (99.2%) saved using substrings
/usr/home/dankogai/bin/perl5.7.3 /home/dankogai/lib/perl5/5.7.3/ExtUtils/xsubpp -nolinenumbers -typemap /home/dankogai/lib/perl5/5.7.3/ExtUtils/typemap My.xs > My.xsc && mv My.xsc My.c cc -c -I/home/dankogai/lib/perl5/site_perl/5.7.3/i386-freebsd/Encode -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -I/usr/local/include -O -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -DPIC -fpic -I/home/dankogai/lib/perl5/5.7.3/i386-freebsd/CORE My.c cc -c -I/home/dankogai/lib/perl5/site_perl/5.7.3/i386-freebsd/Encode -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -I/usr/local/include -O -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -DPIC -fpic -I/home/dankogai/lib/perl5/5.7.3/i386-freebsd/CORE encode_t.c
Running Mkbootstrap for Encode::My ()
chmod 644 My.bs
rm -f blib/arch/auto/Encode/My/My.so
LD_RUN_PATH="" cc -shared -L/usr/local/lib My.o encode_t.o -o blib/arch/auto/Encode/My/My.so
chmod 755 blib/arch/auto/Encode/My/My.so
cp My.bs blib/arch/auto/Encode/My/My.bs
chmod 644 blib/arch/auto/Encode/My/My.bs
PERL_DL_NONLAZY=1 /usr/home/dankogai/bin/perl5.7.3 -Iblib/arch -Iblib/lib -e 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
t/My....ok
All tests successful.
Files=1, Tests=2, 0 wallclock secs ( 0.09 cusr + 0.01 csys = 0.09 CPU)

As you see, you can now add any (table-based) encoding so long as you can edit UCM! I hope you guys like it. For the time being, things in bin/ directory will not be installed unless you explictly say

  breadperl Makefile.PL USE_SCRIPTS

  jhi, whether you put enc2xs to utils/ is up to you.

I will release 1.00 after I am done with pod for this.

Dan the Encode Maintainer

<Prev in Thread] Current Thread [Next in Thread>
  • Fwd: [Encode] compile -> bin/enc2xs, Dan Kogai <=