Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2009-05

Name of Make executable may cause errors during makes

2 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Mehmet Erol Sanliturk

Dear All ,

During reading messages from FPC related lists about make errors and from my experiences I think that using name MAKE is causing problems :

(1)
Software developers are likely that they are installing many compilers . Some compilers ( or software packages ) are supplying build executables such as make . link ( ld ) . etc .
These are also recorded in PATH definitions . In a case when I suspected that an improper make is selected , I have counted approximately 80 make executables in my directories with many of them in PATH statement.

Some errors during make usage reported by e-mails getting suggestion about re-install FPC possibly by a new release although the error(s) may not be directly related to FPC itself .

Re-installation is changing PATH definitions and allowing use of make and others from the FPC related directories . I think this point is not mentioned explicitly .

(2)
My approach is that using an FP-Make.BAT having an explicit FPC make path , for example ,
\fpc\2.2.4\ ... \make

Actually this is not also very effective because statements using only names of these programs without complete path within Makefiles are selecting programs from current PATH .

Another problem is FPC supplied make , ld , etc. are NOT displaying information about themselves like FPC compiler itself . Therefore it is not possible to understand which program is used when an error occurs ( Up to now I did not see any other make which is able to apply FPC supplied Makefiles . )

Suggestions :

(1)
Supply these programs as recompiled to display information about themselves .

(ii)
Change their names as specific to FPC such as fpc-ld.exe , fpc-make.exe , etc. , OR
in ALL of the Makefile statements using these programs , use explicit paths
of their names to avoid mix-up with other same programs .

(iii)
In installation notes , ALWAYS specify the above point and how to use a proper make
executable .

Thank you very much .

Mehmet Erol Sanliturk

Reply by email

Jonas Maebe
to Mehmet Erol Sanliturk

On 09 May 2009, at 04:57, Mehmet Erol Sanliturk wrote:

[make, ld]

(1) Supply these programs as recompiled to display information about themselves .

These programs are GNU make, GNU ld, etc (i.e., we don't write these tools nor define how they behave). These behave according to their own (unix) conventions. To get information about these binaries, use "make --version", "as --version" etc.

Show quoted text 6 lines
(ii) Change their names as specific to FPC such as fpc-ld.exe , fpc- make.exe , etc. , OR in ALL of the Makefile statements using these programs , use explicit paths of their names to avoid mix-up with other same programs .

This would be a bad idea, because
a) it would make the Windows version behave differently from the unix versions (thus requiring special mention in the documentation, and making things difficult for people working both under unix and Windows) b) it would make it more difficult for people who have one copy of GNU make/ld/as on their system to have fpc use this copy (it's not just fpc that uses these tools)
c) it would require all kinds of modifications to the compiler to use special names on particular platforms, making maintenance hardr.

(iii) In installation notes , ALWAYS specify the above point and how to use a proper make executable .

It can of course be stressed in the installation notes.

Jonas

Reply by email