They will never byte-for-byte compare because the SWF contains a time stamp
and is compressed.
I would generate -link-reports and compare them to see if classes are
Okay so after comparing 25K+ lines files I found the following :
In the Ant version report.xml, I have 56 classes pulled from "flash-integration.swc" and in FB version only 1, the others are pulled from framework.swc.
So how to force mxmlc in Ant to compile same classes as FB please ?
In Flash builder you should be able to generate both debug
and realease builds. Have you tried comparing each of them to your ant version?
The two swcs, flash-integration.swc and framework.swc, contain a few classes that are the same. The classes are the same so it doesn't matter which swc the class comes from. It you really want to not link with flash-integration.swc you could override the library-path in flex-config.xml. You would use the library-path option to specify each individual swc you wanted to link with instead of a whole directory which takes all of the swcs in the directory. Using this method you could leave out flash-integration.swc.
But like Alex noted in a previous post, the linked swfs contain a time stamp and so you can't expect two swfs to compare w/o differences.
Thank you for your input, I just tried to replace flash-integration with framework but I still have a TitleWindow related bug in Ant compiled version.
It is not only the timestamp that is causing such a huge difference, there must be some classes missing, right ?
I really don't care about size difference, what I want is to fix the bug.
I compare release versions only of course.
Generate -link-reports and compare them.
I compared link reports but only swc were different, Ant use flex.swc and flash-integration.swc and FB use framework.swc.
Finally I found the problem, it was a trace statement that wasn't executed in Ant generated file but was executed in exported release.
That was very difficult to find, didn't know that trace() was only working for "export release" and not in Ant. I think I have to somehow disable trace() in FB release too.
Thank you very much to all of you for helping,
That might be controlled by optimizer parameters or running the optimizer