diff options
Diffstat (limited to 'meta/recipes-devtools/perl/perl-5.14.2/Makefile.SH.patch')
| -rw-r--r-- | meta/recipes-devtools/perl/perl-5.14.2/Makefile.SH.patch | 298 |
1 files changed, 298 insertions, 0 deletions
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/Makefile.SH.patch b/meta/recipes-devtools/perl/perl-5.14.2/Makefile.SH.patch new file mode 100644 index 0000000000..c9fd5e27e7 --- /dev/null +++ b/meta/recipes-devtools/perl/perl-5.14.2/Makefile.SH.patch | |||
| @@ -0,0 +1,298 @@ | |||
| 1 | Upstream-Status:Inappropriate [embedded specific] | ||
| 2 | |||
| 3 | Index: perl-5.14.2/Makefile.SH | ||
| 4 | =================================================================== | ||
| 5 | --- perl-5.14.2.orig/Makefile.SH | ||
| 6 | +++ perl-5.14.2/Makefile.SH | ||
| 7 | @@ -36,7 +36,7 @@ case "$useshrplib" in | ||
| 8 | true) | ||
| 9 | # Prefix all runs of 'miniperl' and 'perl' with | ||
| 10 | # $ldlibpth so that ./perl finds *this* shared libperl. | ||
| 11 | - ldlibpth=LD_LIBRARY_PATH=`pwd`'$${LD_LIBRARY_PATH:+:}$$LD_LIBRARY_PATH' | ||
| 12 | + #ldlibpth=LD_LIBRARY_PATH=`pwd`'$${LD_LIBRARY_PATH:+:}$$LD_LIBRARY_PATH' | ||
| 13 | |||
| 14 | pldlflags="$cccdlflags" | ||
| 15 | static_ldflags='' | ||
| 16 | @@ -114,7 +114,8 @@ true) | ||
| 17 | ldlibpth='' | ||
| 18 | ;; | ||
| 19 | *) | ||
| 20 | - eval "ldlibpth=\"$ldlibpthname=`pwd`:\$$ldlibpthname\"" | ||
| 21 | +# We compile in the library path in OE from cross-compile, so lets not do this | ||
| 22 | +# eval "ldlibpth=\"$ldlibpthname=`pwd`:\$$ldlibpthname\"" | ||
| 23 | ;; | ||
| 24 | esac | ||
| 25 | # Strip off any trailing :'s | ||
| 26 | @@ -135,18 +136,7 @@ true) | ||
| 27 | # INSTALL file, under "Building a shared perl library". | ||
| 28 | # If there is no pre-existing $libperl, we don't need | ||
| 29 | # to do anything further. | ||
| 30 | - if test -f $archlib/CORE/$libperl; then | ||
| 31 | - rm -f preload | ||
| 32 | - cat <<'EOT' > preload | ||
| 33 | -#! /bin/sh | ||
| 34 | -lib=$1 | ||
| 35 | -shift | ||
| 36 | -test -r $lib && export LD_PRELOAD="$lib $LD_PRELOAD" | ||
| 37 | -exec "$@" | ||
| 38 | -EOT | ||
| 39 | - chmod 755 preload | ||
| 40 | - ldlibpth="$ldlibpth `pwd`/preload `pwd`/$libperl" | ||
| 41 | - fi | ||
| 42 | + echo linux libraries overwritten by cross-compile patches | ||
| 43 | ;; | ||
| 44 | os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth" | ||
| 45 | ;; | ||
| 46 | @@ -529,9 +519,19 @@ splintfiles = $(c1) | ||
| 47 | .c.s: | ||
| 48 | $(CCCMDSRC) -S $*.c | ||
| 49 | |||
| 50 | -all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make | ||
| 51 | - @echo " "; | ||
| 52 | - @echo " Everything is up to date. Type '$(MAKE) test' to run test suite." | ||
| 53 | +#all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make | ||
| 54 | +# @echo " "; | ||
| 55 | +# @echo " Everything is up to date. Type '$(MAKE) test' to run test suite." | ||
| 56 | + | ||
| 57 | +all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) miniperl $(unidatafiles) | ||
| 58 | + | ||
| 59 | +more: $(generated_pods) $(private) $(public) | ||
| 60 | + | ||
| 61 | +more2: $(dynamic_ext) | ||
| 62 | + | ||
| 63 | +more3: $(nonxs_ext) | ||
| 64 | + | ||
| 65 | +more4: extras.make | ||
| 66 | |||
| 67 | .PHONY: all translators utilities | ||
| 68 | |||
| 69 | @@ -539,7 +539,7 @@ all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $( | ||
| 70 | # by make_patchnum.pl. | ||
| 71 | git_version.h: lib/Config_git.pl | ||
| 72 | |||
| 73 | -lib/Config_git.pl: $(MINIPERL_EXE) make_patchnum.pl | ||
| 74 | +lib/Config_git.pl: make_patchnum.pl | ||
| 75 | $(MINIPERL) make_patchnum.pl | ||
| 76 | |||
| 77 | # make sure that we recompile perl.c if the git version changes | ||
| 78 | @@ -552,8 +552,8 @@ perl$(OBJ_EXT): git_version.h | ||
| 79 | # loading, we need to build perl first. | ||
| 80 | case "$usedl" in | ||
| 81 | define) | ||
| 82 | - util_deps='$(MINIPERL_EXE) $(CONFIGPM) lib/auto/Cwd/Cwd$(DLSUFFIX) FORCE' | ||
| 83 | - x2p_deps='$(MINIPERL_EXE) $(CONFIGPM) $(dynamic_ext) FORCE' | ||
| 84 | + util_deps='$(CONFIGPM) lib/auto/Cwd/Cwd$(DLSUFFIX) FORCE' | ||
| 85 | + x2p_deps='$(CONFIGPM) $(dynamic_ext) FORCE' | ||
| 86 | ;; | ||
| 87 | *) util_deps='$(PERL_EXE) $(CONFIGPM) FORCE' | ||
| 88 | x2p_deps='$(PERL_EXE) $(CONFIGPM) FORCE' | ||
| 89 | @@ -627,7 +627,7 @@ generate_uudmap$(HOST_EXE_EXT): generate | ||
| 90 | miniperlmain$(OBJ_EXT): miniperlmain.c patchlevel.h | ||
| 91 | $(CCCMD) $(PLDLFLAGS) $*.c | ||
| 92 | |||
| 93 | -perlmain.c: $(MINIPERL_EXE) lib/ExtUtils/Miniperl.pm | ||
| 94 | +perlmain.c: lib/ExtUtils/Miniperl.pm | ||
| 95 | $(MINIPERL) -Ilib -MExtUtils::Miniperl -e 'writemain(@ARGV)' DynaLoader $(static_ext) > perlmain.c | ||
| 96 | |||
| 97 | perlmain$(OBJ_EXT): perlmain.c | ||
| 98 | @@ -691,7 +691,7 @@ PERLEXPORT = perl.exp | ||
| 99 | ;; | ||
| 100 | esac | ||
| 101 | $spitshell >>$Makefile <<'!NO!SUBS!' | ||
| 102 | -perl.exp: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH) | ||
| 103 | +perl.exp: makedef.pl config.sh $(SYM) $(SYMH) | ||
| 104 | ./$(MINIPERLEXP) makedef.pl PLATFORM=aix CC_FLAGS="$(OPTIMIZE)" | sort -u | sort -f > perl.exp | ||
| 105 | |||
| 106 | !NO!SUBS! | ||
| 107 | @@ -700,7 +700,7 @@ os2) | ||
| 108 | $spitshell >>$Makefile <<'!NO!SUBS!' | ||
| 109 | MINIPERLEXP = miniperl | ||
| 110 | |||
| 111 | -perl5.def: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH) miniperl.map | ||
| 112 | +perl5.def: makedef.pl config.sh $(SYM) $(SYMH) miniperl.map | ||
| 113 | ./$(MINIPERLEXP) makedef.pl PLATFORM=os2 -DPERL_DLL=$(PERL_DLL) CC_FLAGS="$(OPTIMIZE)" > perl5.def | ||
| 114 | |||
| 115 | !NO!SUBS! | ||
| 116 | @@ -757,7 +757,7 @@ $(LIBPERL): $& $(obj) $(DYNALOADER) $(LI | ||
| 117 | true) | ||
| 118 | $spitshell >>$Makefile <<'!NO!SUBS!' | ||
| 119 | rm -f $@ | ||
| 120 | - $(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs) | ||
| 121 | + $(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs) -Wl,-soname,libperl.so.5 | ||
| 122 | !NO!SUBS! | ||
| 123 | case "$osname" in | ||
| 124 | aix) | ||
| 125 | @@ -798,7 +798,9 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX | ||
| 126 | $(CC) -o $(MINIPERL_EXE) $(CLDFLAGS) \ | ||
| 127 | $(mini_obj) \ | ||
| 128 | miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs) | ||
| 129 | - $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest | ||
| 130 | + mv -f miniperl miniperl-target | ||
| 131 | + ln -s hostperl miniperl | ||
| 132 | +# $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest | ||
| 133 | !NO!SUBS! | ||
| 134 | ;; | ||
| 135 | next4*) | ||
| 136 | @@ -806,7 +808,9 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX | ||
| 137 | $(MINIPERL_EXE): $& miniperlmain$(OBJ_EXT) $(mini_obj) perlmini$(OBJ_EXT) opmini$(OBJ_EXT) | ||
| 138 | $(CC) -o $(MINIPERL_EXE) $(mini_obj) \ | ||
| 139 | miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs) | ||
| 140 | - $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest | ||
| 141 | + mv -f miniperl miniperl-target | ||
| 142 | + ln -s hostperl miniperl | ||
| 143 | +# $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest | ||
| 144 | !NO!SUBS! | ||
| 145 | ;; | ||
| 146 | darwin*) | ||
| 147 | @@ -828,7 +832,9 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX | ||
| 148 | $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \ | ||
| 149 | $(mini_obj) \ | ||
| 150 | miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs) | ||
| 151 | - $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest | ||
| 152 | + mv -f miniperl miniperl-target | ||
| 153 | + ln -s hostperl miniperl | ||
| 154 | +# $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest | ||
| 155 | !NO!SUBS! | ||
| 156 | ;; | ||
| 157 | *) | ||
| 158 | @@ -838,7 +844,10 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX | ||
| 159 | $(LDLIBPTH) $(CC) $(CLDFLAGS) -o $(MINIPERL_EXE) \ | ||
| 160 | $(mini_obj) \ | ||
| 161 | miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs) | ||
| 162 | - $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest | ||
| 163 | + | ||
| 164 | + mv -f miniperl miniperl-target | ||
| 165 | + ln -s hostperl miniperl | ||
| 166 | +# $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest | ||
| 167 | !NO!SUBS! | ||
| 168 | ;; | ||
| 169 | esac | ||
| 170 | @@ -960,7 +969,7 @@ case "${osname}" in | ||
| 171 | catamount) | ||
| 172 | $spitshell >>$Makefile <<!GROK!THIS! | ||
| 173 | .PHONY: makeppport | ||
| 174 | -makeppport: \$(MINIPERL_EXE) \$(CONFIGPM) | ||
| 175 | +makeppport: \$(CONFIGPM) | ||
| 176 | -@for f in Makefile.PL PPPort_pm.PL PPPort_xs.PL ppport_h.PL; do \ | ||
| 177 | (cd ext/Devel-PPPort && `pwd`/run.sh ../../$(MINIPERL_EXE) -I../../lib \$\$f); \ | ||
| 178 | done | ||
| 179 | @@ -970,7 +979,7 @@ makeppport: \$(MINIPERL_EXE) \$(CONFIGPM | ||
| 180 | *) | ||
| 181 | $spitshell >>$Makefile <<'!NO!SUBS!' | ||
| 182 | .PHONY: makeppport | ||
| 183 | -makeppport: $(MINIPERL_EXE) $(CONFIGPM) $(nonxs_ext) | ||
| 184 | +makeppport: $(CONFIGPM) $(nonxs_ext) | ||
| 185 | $(MINIPERL) $(Icwd) mkppport | ||
| 186 | |||
| 187 | !NO!SUBS! | ||
| 188 | @@ -980,22 +989,22 @@ esac | ||
| 189 | $spitshell >>$Makefile <<'!NO!SUBS!' | ||
| 190 | |||
| 191 | .PHONY: preplibrary | ||
| 192 | -preplibrary: $(MINIPERL_EXE) $(CONFIGPM) $(PREPLIBRARY_LIBPERL) | ||
| 193 | +preplibrary: $(CONFIGPM) $(PREPLIBRARY_LIBPERL) | ||
| 194 | |||
| 195 | $(CONFIGPM_FROM_CONFIG_SH): $(CONFIGPOD) | ||
| 196 | |||
| 197 | -$(CONFIGPOD): config.sh $(MINIPERL_EXE) configpm Porting/Glossary lib/Config_git.pl | ||
| 198 | +$(CONFIGPOD): config.sh configpm Porting/Glossary lib/Config_git.pl | ||
| 199 | $(MINIPERL) configpm | ||
| 200 | |||
| 201 | -lib/ExtUtils/Miniperl.pm: miniperlmain.c $(MINIPERL_EXE) minimod.pl $(CONFIGPM) | ||
| 202 | +lib/ExtUtils/Miniperl.pm: miniperlmain.c minimod.pl $(CONFIGPM) | ||
| 203 | $(MINIPERL) minimod.pl > lib/ExtUtils/Miniperl.pm | ||
| 204 | |||
| 205 | -lib/buildcustomize.pl: $(MINIPERL_EXE) write_buildcustomize.pl | ||
| 206 | +lib/buildcustomize.pl: write_buildcustomize.pl | ||
| 207 | $(MINIPERL) write_buildcustomize.pl >lib/buildcustomize.pl | ||
| 208 | |||
| 209 | unidatafiles $(unidatafiles) pod/perluniprops.pod: uni.data | ||
| 210 | |||
| 211 | -uni.data: $(MINIPERL_EXE) $(CONFIGPM) lib/unicore/mktables $(nonxs_ext) | ||
| 212 | +uni.data: $(CONFIGPM) lib/unicore/mktables $(nonxs_ext) | ||
| 213 | $(MINIPERL) $(Icwd) lib/unicore/mktables -C lib/unicore -P pod -maketest -makelist -p | ||
| 214 | # Commented out so always runs, mktables looks at far more files than we | ||
| 215 | # can in this makefile to decide if needs to run or not | ||
| 216 | @@ -1004,21 +1013,21 @@ uni.data: $(MINIPERL_EXE) $(CONFIGPM) li | ||
| 217 | # $(PERL_EXE) and ext because buildtoc uses Text::Wrap uses re | ||
| 218 | # But also this ensures that all extensions are built before we try to scan | ||
| 219 | # them, which picks up Devel::PPPort's documentation. | ||
| 220 | -pod/perltoc.pod: $(perltoc_pod_prereqs) $(PERL_EXE) $(ext) pod/buildtoc | ||
| 221 | - $(RUN_PERL) -f -Ilib pod/buildtoc --build-toc -q | ||
| 222 | +pod/perltoc.pod: $(perltoc_pod_prereqs) $(ext) pod/buildtoc | ||
| 223 | + $(MINIPERL) -f -Ilib pod/buildtoc --build-toc -q | ||
| 224 | |||
| 225 | pod/perlapi.pod: pod/perlintern.pod | ||
| 226 | |||
| 227 | -pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc | ||
| 228 | +pod/perlintern.pod: autodoc.pl embed.fnc | ||
| 229 | $(MINIPERL) autodoc.pl | ||
| 230 | |||
| 231 | -pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST | ||
| 232 | +pod/perlmodlib.pod: pod/perlmodlib.PL MANIFEST | ||
| 233 | $(MINIPERL) $(Icwd) pod/perlmodlib.PL -q | ||
| 234 | |||
| 235 | pod/perl5142delta.pod: pod/perldelta.pod | ||
| 236 | $(LNS) perldelta.pod pod/perl5142delta.pod | ||
| 237 | |||
| 238 | -extra.pods: $(MINIPERL_EXE) | ||
| 239 | +extra.pods: | ||
| 240 | -@test ! -f extra.pods || rm -f `cat extra.pods` | ||
| 241 | -@rm -f extra.pods | ||
| 242 | -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \ | ||
| 243 | @@ -1058,11 +1067,7 @@ no-install: | ||
| 244 | INSTALL_DEPENDENCE = all | ||
| 245 | |||
| 246 | install.perl: $(INSTALL_DEPENDENCE) installperl | ||
| 247 | - $(RUN_PERL) installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS) | ||
| 248 | - -@test ! -s extras.lst || $(MAKE) extras.install | ||
| 249 | - | ||
| 250 | -install.man: all installman | ||
| 251 | - $(RUN_PERL) installman --destdir=$(DESTDIR) $(INSTALLFLAGS) | ||
| 252 | + ./hostperl -Ifake_config_library -Ilib -MConfig installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS) | ||
| 253 | |||
| 254 | # XXX Experimental. Hardwired values, but useful for testing. | ||
| 255 | # Eventually Configure could ask for some of these values. | ||
| 256 | @@ -1161,16 +1166,16 @@ manicheck: FORCE | ||
| 257 | # | ||
| 258 | # DynaLoader may be needed for extensions that use Makefile.PL. | ||
| 259 | |||
| 260 | -$(DYNALOADER): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary FORCE $(nonxs_ext) | ||
| 261 | +$(DYNALOADER): lib/buildcustomize.pl preplibrary FORCE $(nonxs_ext) | ||
| 262 | $(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS) | ||
| 263 | |||
| 264 | -d_dummy $(dynamic_ext): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE $(PERLEXPORT) | ||
| 265 | +d_dummy $(dynamic_ext): lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE $(PERLEXPORT) | ||
| 266 | $(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic | ||
| 267 | |||
| 268 | -s_dummy $(static_ext): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE | ||
| 269 | +s_dummy $(static_ext): lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE | ||
| 270 | $(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS) | ||
| 271 | |||
| 272 | -n_dummy $(nonxs_ext): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary FORCE | ||
| 273 | +n_dummy $(nonxs_ext): lib/buildcustomize.pl preplibrary FORCE | ||
| 274 | $(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) | ||
| 275 | !NO!SUBS! | ||
| 276 | |||
| 277 | @@ -1365,10 +1370,10 @@ _test: | ||
| 278 | |||
| 279 | test_prep_pre: preplibrary utilities $(nonxs_ext) | ||
| 280 | |||
| 281 | -test_prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) $(PERL_EXE) $(dynamic_ext) $(TEST_PERL_DLL) runtests x2p/s2p $(generated_pods) | ||
| 282 | +test_prep: test_prep_pre $(unidatafiles) $(PERL_EXE) $(dynamic_ext) $(TEST_PERL_DLL) runtests x2p/s2p $(generated_pods) | ||
| 283 | cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE)) | ||
| 284 | |||
| 285 | -test_prep_reonly: $(MINIPERL_EXE) $(PERL_EXE) $(dynamic_ext_re) $(TEST_PERL_DLL) | ||
| 286 | +test_prep_reonly: $(PERL_EXE) $(dynamic_ext_re) $(TEST_PERL_DLL) | ||
| 287 | $(MINIPERL) make_ext.pl $(dynamic_ext_re) MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic | ||
| 288 | cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE)) | ||
| 289 | |||
| 290 | @@ -1459,7 +1464,7 @@ minitest.prep: | ||
| 291 | |||
| 292 | # Can't depend on lib/Config.pm because that might be where miniperl | ||
| 293 | # is crashing. | ||
| 294 | -minitest: $(MINIPERL_EXE) minitest.prep | ||
| 295 | +minitest: minitest.prep | ||
| 296 | - cd t && (rm -f $(PERL_EXE); $(LNS) ../$(MINIPERL_EXE) $(PERL_EXE)) \ | ||
| 297 | && $(RUN_PERL) TEST base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t op/*.t uni/*.t </dev/tty | ||
| 298 | |||
