Hallo,
I'm in the process of extending the debian/rules file to put more
externals into Debian packages (into which package isn't decided yet,
I'm currently using pd-externals for simplicity). New rules are
attached, they now also build vasp and dfx.
One problem always occurs, and it isn't really solvable without help
from you, the developers. I need to build all externals with a
consistent set of compilers. Especially the C++ externals need a lot
of care. That's why I "export CXX=the_compiler" before building all in
one go. Now some makefiles overwrite my environmental choice with
their own choice. I.e. they have something like:
CXX=g++
in their makefiles. This is really annoying. Currently this happens in
some grill-externals, in dfx and in creb.
There is no need to define this variable as isn't for CC. Both are
pre-defined by make anyways. From "info make":
>-------<
Variables Used by Implicit Rules
================================
The commands in built-in implicit rules make liberal use of certain
predefined variables. You can alter these variables in the makefile,
with arguments to `make', or in the environment to alter how the
implicit rules work without redefining the rules themselves.
[...]
`CC'
Program for compiling C programs; default `cc'.
`CXX'
Program for compiling C++ programs; default `g++'.
>-------<
Now I could put "make CXX=xx" arguments inside the rules file, but I
would need to do that for every new external in the library, that
redefines the compilers. Normally I recognize that only, when loading
the externals fails because the wrong compiler was used.
So here's my call to you developers:
1.) Please don't redefine CC and CXX! There's absolutely no need to.
2.) Please don't use non-standard variables like $(CPLUSPLUS)!
It makes building the externals muchmuch easier.
Thank you for your attentention.
ciao
--
Frank Barknecht _ ______footils.org__