In my special snowflake use case, this more than triples my compiled app size, and is a problem. I’m trying to decide what to do.
It appears that 2014R3 really has a ton of Cocoa/Yosemite fixes, so I’d rather use it for my Cocoa builds.
But I don’t see very many Windows-related fixes in the 2014R3 release notes, so I’m considering building my Windows app using 2014R2.1. Having to switch between IDE versions will be a pain, no doubt.
The new Text class and the ICU dependencies are where all of the excess size is coming from. It’s pity there isn’t a flag that says “Ignore multi-language support” or “Use only deprecated String class” for the build settings because you get all of that ICU stuff even if you’re not using it.
[quote=150473:@Tim Jones]The new Text class and the ICU dependencies are where all of the excess size is coming from. It’s pity there isn’t a flag that says “Ignore multi-language support” or “Use only deprecated String class” for the build settings because you get all of that ICU stuff even if you’re not using it.
[/quote]
You’d need to be able to strip the framework itself which isn’t likely to happen
Thanks for the ideas : I did try the obvious test : make an app which doesn’t use the Text class, and then delete the icut53 DLL file, but the app won’t launch then.
It is possible that we can shrink the size of the DLL in a future release, but like Norman mentioned, the requirement is unlikely to completely disappear.
The application size is also important to us. We had planned on using a Linux Console application with Amazon AWS Lambda but it currently only allows a 20MB compressed package size. Not sure how big our app is compressed but this might not be possible anymore.
This is where static linking + dead code stripping would help in a big way.
Would there be any way to have the entire new framework stripped out? Many of us are bothered by this file size increase especially since it appears to be mandatory, even if we aren’t using Xojo.Core features at all. Using an older version of Xojo is an option of course but there are so many bug fixes in the new version (including IDE fixes) that this is problematic for other reasons.
Quite literally this would require removing the TEXT data type, the new DATE type & all formatting and anything associated with locales from the CORE language and AUTO etc. And I’m sure other components that I’ve overlooked.
This has to do with how DLL’s work, the compiler works etc
I see this is “extremely unlikely”
Not intentionally. Travis reviewed it and corrected it. It did not live to see the light of day … But it looks like there are some improvements which will make the Linux folks happy, and “may” reduce the ICU DLL hit on Windows to around 6.5MB. Better than what it was, right?