> I don't think this does what you expect it to do. At least looking at > the 8cc makefile, the compiler is hardcoded as `cc', not the expansion > of the variable `cc'.
You are right. But the CC flag is accepted. Try "make CC=clang" and it will work. But "make CC=../1c/8cc" fails. Any idea how to use relative paths like that? > On my system, the resulting binaries include references to the path they were > compiled at. That could be the reason then. Let's try to test on the same absolute paths. On Tue, Jul 5, 2016 at 3:55 PM, S. Gilles <[email protected]> wrote: > On 2016-07-05T15:31:57-0300, Marc Collin wrote: >> I did some tests with 8cc (because it's easier to build than scc for me). >> My results are that the binaries aren't identical. >> Here's a script so you can try to reproduce it. >> >> #!/bin/sh >> mkdir test_comp >> cd test_comp >> git clone https://github.com/rui314/8cc >> mv 8cc 1c >> cp -r 1c 2c >> cp -r 1c Ac >> cp -r 1c Bc >> >> # compile 8cc with gcc >> cd 1c >> make cc=gcc >> >> # compile 8cc with clang >> cd ../2c >> make cc=clang > > I don't think this does what you expect it to do. At least looking at > the 8cc makefile, the compiler is hardcoded as `cc', not the expansion > of the variable `cc'. Try > > make cc=/bin/false > > or such. > >> # compile 8cc with 8cc >> # using the binary that >> # was compiled with gcc >> cd ../Ac >> make cc=../1c/8cc >> >> # compile 8cc with 8cc >> # using the binary that >> # was compiled with clang >> cd ../Bc >> make cc=../2c/8cc >> >> cd .. >> >> # compare binaries >> md5sum Ac/8cc Bc/8cc >> > > On my system, the resulting binaries include references to the path they > were compiled at. > > $ ls */8cc > 8cc/8cc other_8cc/8cc > $ strings 8cc/8cc | grep home > /home/sgilles/temp/a/8cc/include > #include </home/sgilles/temp/a/8cc/include/8cc.h> > /home/sgilles/temp/a/8cc > $ strings other_8cc/8cc | grep home > /home/sgilles/temp/a/other_8cc/include > #include </home/sgilles/temp/a/other_8cc/include/8cc.h> > /home/sgilles/temp/a/other_8cc > > I suspect this is what actually causes the differences in md5sums. > > -- > S. Gilles >
