diff between /opt and /var from LSB perspective
LSB = Linux standard base
use primarily /opt for all the work
out of source builds concept
build triplet
/opt/gcc/build visual:
compare lto-plugin/ stage1-gcc/
config.log Makefile stage1-libbacktrace/
config.status* nohup.out stage1-libcody/
c++tools/ prev-fixincludes/ stage1-libcpp/
fixincludes/ prev-gcc/ stage1-libdecnumber/
gcc/ prev-libbacktrace/ stage1-libiberty/
gcc_version.md prev-libcody/ stage1-lto-plugin/
libbacktrace/ prev-libcpp/ stage1-x86_64-pc-linux-gnu/
libcc1/ prev-libdecnumber/ stage1-zlib/
libcody/ prev-libiberty/ stage_current
libcpp/ prev-lto-plugin/ stage_final
libdecnumber/ prev-x86_64-pc-linux-gnu/ stage_last
libiberty/ prev-zlib/ x86_64-pc-linux-gnu/
log.build stage1-fixincludes/ zlib/
gcc is compiled in 2 stages:
. bootstrap stage
. build stage
stage1-gcc/xgcc
prev-gcc/xgcc
gcc/xgcc
build
host
target
cross-compiling
auto-* tools
autoconf
automake
autogen
All the auto tools are written in PERL and M4 (Macroprocessor).