#735: path for installed header files
-------------------+--------------------------------------------------------
Reporter: gerd | Type: patch
Status: new | Priority: normal
Milestone: | Component: install
Version: 1.2.0 | Severity: medium
Keywords: | Lang:
Patch: | Platform:
-------------------+--------------------------------------------------------
Comment(by doughera):
Replying to [comment:3 gerd]:
> Replying to [comment:1 doughera]:
> > This patch would make it harder to maintain two separate installed
versions of parrot. It is also inconsistent with the lib/ directory
layout, which still does have a version-specific part.
>
> This is for installing files on a system and the standard is to have
only one
> version installed of a software and to make updates.
Except your patch affected all installs, not just ones intended for
distribution via packages (which is what I gather you mean by "installing
files on a system").
> I hope the header files of Parrot will not be changed so much.
Experience in perl 5 is that they do change. Looking at other projects
(python, tcl) suggests perl 5's experience is not unique.
> Other software with header files
> installed under /usr/include do not use version numbers.
That's simply not true. For example, on a Debian "lenny" system in
/usr/include, I see directories for python1.5, python2.1, python2.2,
python2.4, and python2.5. Under /usr/include/c++, I see separate
directories for 3.2, 3.3, 4.1.2, 4.1.3, and 4.3.
More generally, for something such as parrot that is intended to provide
an infrastructure, it is unreasonable to expect all applications to
simultaneously upgrade every time a new, incompatible version of parrot
appears.
> But if Parrot
> want to use version numbers in the path of header files
> 'pkg-config --cflags parrot' should provide
'-I/usr/include/parrot/<VERSION>'
Yes, I agree that pkg-config should tell you the correct cflags
invocation. Unfortunately, since the C files have things like {{{
#include <parrot/embed.h> }}}, that means the directory tree would include
things like {{{/usr/include/parrot/<VERSION>/parrot/embed.h}}}. I agree
that's ugly.
My main points are 2:
1. It should be possible (and relatively easy) to maintain more than one
installed version of parrot.
2. pdd30 ought to address the issue explicitly, bearing in mind both
where the files will be installed and how they will be used.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/735#comment:4>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets