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
hi Frank, hi list,
On 18 February 2003 at 11:57:21, Frank Barknecht wrote: [snip]
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.
I sometimes use alternate compilers in my projects (not yet for pd)... would it be acceptable to do something like:
CXX ?= g++-3.2
... that ought to let environment variables through, but still allow single-external builds without messing with the environment or 'configure' arguments...
marmosets, Bryan
Hallo, Bryan Jurish hat gesagt: // Bryan Jurish wrote:
I sometimes use alternate compilers in my projects (not yet for pd)... would it be acceptable to do something like:
CXX ?= g++-3.2
... that ought to let environment variables through, but still allow single-external builds without messing with the environment or 'configure' arguments...
I didn't know this. But it sounds okay. I'll speak up again it it doesn't. :)
ciao
hi frank,
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)!
fixed for creb and pdp in ext cvs. (+ added new object to creb: bwin~ a windowing external for spectral processing)
tom
changed for dfx
martin
On Tue, 18 Feb 2003, Frank Barknecht wrote:
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__
martin pi
www.machfeld.net