> 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
>

Reply via email to