[lazarus] More details about Win32 makefile and makefile.fpc problems
Peter Vreman
peter at freepascal.org
Sun Jan 27 14:48:19 EST 2002
At 16:57 27-1-02, you wrote:
>Peter Vreman wrote:
> >
> > > There will be times when it will repeat
> > > the whole -gl -Fu..... -Fi..... -d386 sequence 3 times
> >
> > This is a bug. If you know how i can reproduce this i can look at it.
>
>Here is a dump from the compile itself. As you can see it is very long
>and convoluted. {I have edited onto separate lines for readability.
>
>
>MAKE.EXE[4]: Entering directory `C:/opt/lazarus/lcl/interfaces/win32'
>C:/PP/BIN/WIN32/ppc386.exe -dSUPPORTS_RESOURCES
> -gl
> -Fu.
> -Fu./lcl/units
> -Fu./lcl/units/win32
> -Fu./components/units
> -Fu./designer
> -Fu./debugger
> -Fuc:/pp/units/win32/rtl
> -Fuc:/pp/units/win32/paszlib
> -Fuc:/pp/units/win32/fcl
> -Fuc:/pp/units/win32/gtk
> -Fuc:/pp/units/win32/regexpr -Fuc:/pp/units/win32/mysql
> -Fuc:/pp/units/win32/ibase
> -Fuc:/pp/units/win32/opengl
> -Fi.
> -Fi./include
> -Fi./include/win32
> -di386
> -gl
> -Fu./units
> -Fu./interfaces/abstract
> -Fuc:/pp/units/win32/rtl
> -Fi./include
> -FU./units
> -di386
> -di386
> -gl
> -S2
> -Sh
> -Fu../../units/win32
> -Fu../../units
> -Fuc:/pp/units/win32/rtl
> -Fuc:/pp/units/win32/paszlib
> -Fuc:/pp/units/win32/fcl
> -Fuc:/pp/units/win32/mysql
> -Fuc:/pp/units/win32/ibase
> -Fi.
> -FU../../units/win32
> -di386
> -gl
> -S2
> -Sh
> -Fu../../units/win32
> -Fu../../units
> -Fuc:/pp/units/win32/rtl
> -Fuc:/pp/units/win32/paszlib
> -Fuc:/pp/units/win32/fcl
> -Fuc:/pp/units/win32/mysql
> -Fuc:/pp/units/win32/ibase
> -Fi.
> -FU../../units/win32
> -di386
> interfaces.pp
>
>MAKE.EXE[4]: Leaving directory `C:/opt/lazarus/lcl/interfaces/win32'
>
>It appears to be remembering and using previous Make level settings as
>it goes down in the tree. Again if you call 'make' from the top level of
>Lazarus on Win32 this is what happens. At least for me. :-)
>
> > >Now if I go to the top level and do a 'make ide' it works and doesn't
> > > complain about the synedit file.??????? :-\ :-\
>
>I have sorted this out to some extent by using -va during the compile.
>The problem seems to rise out of the fact that Lazarus has a file called
>'register.pp' AND the fcl has a file call 'register'. Now I didn't look
>real deep but I am guessing because of the above weirdness with the
>'make' call it is finding different 'registry' files at different times
>during the compile.
I'm currently looking at the Makefiles for win32. I hope to finish it
tonight. When everything works i'll commit the working versions. The
fpcmake changes i wrote about are already finished and working under linux.
Only testing them under win32 still needs to be done.
>As to the windres not building issue. I made sure I had the latest
>version of make.exe and it didn't act any differently. Here is the exact
>output from a make call when lazarus.res does not exist. The same
>command made outside of the make environment works just fine. {line
>breaks added to make it more readable}
>
>
>windres -i lazarus.rc -o lazarus.res
>
>GCC.EXE: installation problem, cannot exec 'cpp': No such file or
>directory
>
>windres: no resources
>
>MAKE.EXE[1]: *** [lazarus.res] Error 1
windres requires the preprocessor from gcc, any cpp.exe would be enough.
It's a known problem. The best case would to have a resource compiler not
depending on other executables.
Peter
More information about the Lazarus
mailing list