|From:||Brandon J. Van Every|
|Subject:||[Chicken-users] re: binaries are not byte identical|
|Date:||Wed, 06 Sep 2006 12:41:30 -0700|
|User-agent:||Thunderbird 22.214.171.124 (Windows/20060719)|
John Cowan wrote:
address@hidden scripsit:BTW: Are the 2 resulting chicken binaries byte-identical? (Sorry, if this question is naive - I should have followed the discussion more closely :-( )No, they're not identical. I got interested in why, and found there are some discrepancies between the chicken-config.h and chicken-defaults.h files generated by the two build processes. 1) In the autotools version of chicken-defaults.h, C_INSTALL_CFLAGS contains the additional options "-Os -fomit-frame-pointer -fno-strict-aliasing -Wall -Wno-unused -Wno-uninitialized".
It is true that I have not implemented GCC specific flags in CMake. This is pretty easy to do.
2) In the autotools version of chicken-defaults.h, C_INSTALL_MORE_LIBS and C_INSTALL_MORE_STATIC_LIBS contain the additional switch "-ldl" before anything else.
I have a vague memory of -ldl appearing twice under Autoconf. I'll look at this.
A quick look at the chicken-config.h diffs doesn't show anything that looks significant: I'm attaching the diff here in case Brandon or Felix wants to run an eye or two over it.
Under Autoconf, chicken-config.h is generated entirely by Autoconf. Under CMake, chicken-config.h is created from the chicken-config-cmake.h.in template. Adding HAVE_SOMETHING works differently under CMake; #if 0 | #if 10 was an easy way to implement the substitutions, rather than Autoconf's more elaborate system of commenting out things that aren't needed. Although, if I cared, I could use the same comment substitution trick that Makefile.am --> Makefile.in generation uses. Anyways, the two files have the same name and fulfill the same functional requirements, but they are generated in completely different manners. CMake doesn't put anything extra in its version, only the variables that actually cause the build to change in some way. Autoconf is notorious for including everything and the kitchen sink.
Brandon Van Every
|[Prev in Thread]||Current Thread||[Next in Thread]|