[fpc-pascal] Just out of curiosity: Compiling FPC trunk and fpcmake
Karoly Balogh
charlie at scenergy.dfmk.hu
Mon Mar 21 22:45:23 CET 2022
Hi,
On Mon, 21 Mar 2022, Michael Van Canneyt via fpc-pascal wrote:
> > For years I have been using the same script to compile FPC, I have multiple
> > version of FPC installed in the same machine, mainly my script do:
> >
> > make -j 9 clean all
> >
> > make -j 9 all install FPMAKEOPT="-T 9"
> > INSTALL_PREFIX=.../fpclazarus/fpc/cmp/3.3.1 OPT="-O- -O1 -gl"
> > PP=.../fpclazarus/fpc/lib/3.2.2/ppcx64
> >
> > I have been a few months without compiling FPC trunk, but when I tried it
> > today, I got the next message after calling "make -j 9 clean all"
> >
> > > make: -iVSPTPSOTO: Command not found
>
> This indicates that the PP variable is not valid ?
>
> I run make clean all almost daily, I have not seen what you report here.
I can reproduce this, or something very similar for the clean/distclean
targets, if I have no FPC installed on my machine, but I specify PP= as a
Makefile argument to a "bootstrap" compiler binary, and I use OS_TARGET=
as well, for crosscompiling.
For example, if I try this on Linux/x86_64:
make clean OS_TARGET=aros PP=/path/to/bootstrap/ppcx86-3.2.2
I get a lot of messages like:
ake -C compiler distclean
make[1]: Entering directory '/home/charlie/Develop/fpc/source/compiler'
make[1]: -iTP: Command not found
make[1]: -iTP: Command not found
make[1]: -iTP: Command not found
make[1]: -iTP: Command not found
make[1]: -iTP: Command not found
make[1]: -iTP: Command not found
/bin/rm -f ppcrossx64 ppc ppc1 ppc2 ppc3 ./msg2inc pp1.wpo pp2.wpo
So there's definitely something fishy with the bootstrap/PP compiler use,
if the build box has no FPC installed otherwise. Which to my
understanding, it shouldn't be needed, if PP is specified?
Interestingly, if I don't specify OS_TARGET, the problem doesn't occur.
Note that for a real build ("all" or "crossall" target), the specified PP
compiler still gets used as expected.
Charlie
More information about the fpc-pascal
mailing list