# New Ticket Created by Jürgen Bömmels # Please include the string: [perl #24257] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=24257 >
Currently ICU is part of the parrot-tree but its not build in any way. The attached patch makes it an optional part of the normal build system. By using the switch --buildicu the ./configure of icu/source is run and the makefile is extended with rules for building and cleaning icu. This option is not enabled by default. BTW, ICU does not build on my machine. It fails with ICU_DATA=../data/out/build LD_LIBRARY_PATH=../common:../i18n:../tools/toolutil:../layout:../layoutex:../extra/ustdio:../tools/ctestfw:../data/out:../data:../stubdata/:$LD_LIBRARY_PATH ../tools/genrb/genrb -k -q -p icudt26l -s ../data/locales -d ../data/out/build ja.txt ../data/locales/ja.txt:15: parse error. Stopped parsing with U_INVALID_FORMAT_ERROR couldn't parse the file ja.txt. Error:U_INVALID_FORMAT_ERROR bye boe -- attachment 1 ------------------------------------------------------ url: http://rt.perl.org/rt2/attach/66292/49536/3be7f2/icu.diff
Index: MANIFEST =================================================================== RCS file: /cvs/public/parrot/MANIFEST,v retrieving revision 1.476 diff -u -r1.476 MANIFEST --- MANIFEST 18 Oct 2003 23:51:05 -0000 1.476 +++ MANIFEST 20 Oct 2003 18:07:32 -0000 @@ -114,6 +114,7 @@ config/gen/core_pmcs.pl [] config/gen/feature_h.pl [] config/gen/feature_h/feature_h.in [] +config/gen/icu.pl [] config/gen/libparrot_def.pl [] config/gen/libparrot_def/libparrot_def.in [] config/gen/makefiles.pl [] Index: config/gen/icu.pl =================================================================== RCS file: config/gen/icu.pl diff -N config/gen/icu.pl --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ config/gen/icu.pl 20 Oct 2003 18:07:33 -0000 @@ -0,0 +1,51 @@ +package Configure::Step; + +use strict; +use vars qw($description @args); + +$description="Configuring ICU ..."; + [EMAIL PROTECTED](buildicu); + +sub runstep { + my ($buildicu) = @_; + + unless ($buildicu) { + print " [Skipped] "; + return; + } + + print "\n"; + # This is the configure line suggested by icu/README.parrot + system "cd icu/source ; ./configure --disable-layout --disable-tests --disable-samples"; + if ($? != 0) { + print " [Failed] "; + return; + } + + Configure::Data->set( + buildicu => 1, + icu_make => <<'RULES', +############################################################################### +# +# Build ICU: +# +############################################################################### + +icu : icu.dummy + +icu.dummy : + $(MAKE_C) icu/source + +icu.clean : + $(MAKE_C) icu/source clean + +all : icu + +clean : icu.clean + +RULES + ); +} + +1; Index: config/gen/makefiles/root.in =================================================================== RCS file: /cvs/public/parrot/config/gen/makefiles/root.in,v retrieving revision 1.153 diff -u -r1.153 root.in --- config/gen/makefiles/root.in 20 Oct 2003 12:45:15 -0000 1.153 +++ config/gen/makefiles/root.in 20 Oct 2003 18:07:33 -0000 @@ -631,6 +631,8 @@ $(MAKE_C) classes +${icu_make} + ############################################################################### # # Testing Targets: Index: config/init/data.pl =================================================================== RCS file: /cvs/public/parrot/config/init/data.pl,v retrieving revision 1.17 diff -u -r1.17 data.pl --- config/init/data.pl 15 Oct 2003 12:06:19 -0000 1.17 +++ config/init/data.pl 20 Oct 2003 18:07:41 -0000 @@ -95,6 +95,9 @@ # Some systems may lack these yacc => 'bison -v -y', lex => 'flex', + + icu_make => '# Building of ICU disabled', + buildicu => 0, ); Index: lib/Parrot/Configure/RunSteps.pm =================================================================== RCS file: /cvs/public/parrot/lib/Parrot/Configure/RunSteps.pm,v retrieving revision 1.26 diff -u -r1.26 RunSteps.pm --- lib/Parrot/Configure/RunSteps.pm 30 Sep 2003 12:52:47 -0000 1.26 +++ lib/Parrot/Configure/RunSteps.pm 20 Oct 2003 18:07:41 -0000 @@ -32,6 +32,7 @@ auto/memalign.pl auto/signal.pl auto/env.pl + gen/icu.pl gen/config_h.pl gen/feature_h.pl gen/config_pm.pl