On March 6, 2015 3:46:46 AM GMT+08:00, Edmund Grimley Evans <edmund.grimley.ev...@gmail.com> wrote: > > Then commit 76af94862352a3f1d26249d9ea6f795d107c1d7f broke building: > > ../tcc -B.. -c libtcc1.c -o i386/libtcc1.o -I.. -Wall -g -O2 > -fno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare > -Wno-unused-result -fPIC -DTCC_TARGET_I386 > In file included from libtcc1.c:31: > In file included from /usr/include/stdint.h:26: > /usr/include/features.h:323: error: include file 'bits/predefs.h' not > found > make[1]: *** [i386/libtcc1.o] Error 1 > make[1]: Leaving directory `/tmp/tt/lib' > > > I believe it's also now broken on Debian arm64 and Ubuntu x86_64. Does > it work for anyone?
I have the same problem. I tracked it down to lines 92-112 [1]. The problem comes from adding the _LINK variable containing the arch-qualified symlink to the native compiler into PROGS. This causes these symlink files to be interpreted as target to be built and they then match the pattern for cross-compilers. Since these does not use multiarch by default, the build fails when trying to use them to compile libtcc1. Even on non-multiarch systems this approach is wrong as it would leads to 2 builds if I'm correct. The right approach is to extend the recipe for building native compiler in the same way as cross-compiler with an extra symlink step. [1] http://repo.or.cz/w/tinycc.git/blob/5de8b5638f3d0bca6723d5d63d9e22a7f04fff6c:/Makefile#l92 Seiko, can you fix this along those lines? Best regards, Tom _______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel