Closed Ghabry closed 5 months ago
Yep, was also impressed it worked for wiiu, same compiler etc.
The icudata library gets 33 mb, resulting in an executable dol of 38 mb. Nope.
Whoops, missing recent icu data package...
Took a while, but with this patch, ICU works for me. Somehow the std::mutex stuff does not seem to work. The custom ICU installer is not needed, the datafile patch is.
patch section:
# Fix icu build
# Do not write objects, but source files
perl -pi -e 's|#ifndef U_DISABLE_OBJ_CODE|#if 0 // U_DISABLE_OBJ_CODE|' icu/source/tools/toolutil/pkg_genc.h
cp -rup icu icu-native
# Emit correct bigendian icudata header
patch -Np0 < icu-pkg_genc.patch
# Patch mutex support in
patch -Np0 < icu-wii-mutex.patch
Fix-Wii-ICU-custom-mutex-implementation.patch.txt
So another case of a non standard conforming C++ feature implementation. Great :/
Thanks for figuring this out.
I built the new Wii toolchain with the patch applied (and moving # Emit correct bigendian icudata header
at the correct location): Can confirm that it works fine. Could be directly combined with #177 to avoid conflicts.
Okay, let's merge this for now, the next can of worms is opened when I upgrade 3DS toolchain again (which is currently pinned).
3DS was annoying because of the type mismatch (I think this can be upstreamed but it requires a Jira account, will do this later...)
Wii just builds without any patching o_O
Player test is missing but compiling is a good start xD