Opened 15 years ago
Closed 15 years ago
Last modified 15 years ago
#7088 closed defect (fixed)
mythmusic's adding of the cdda includepath the qt project is broken
Reported by: | Owned by: | Janne Grunau | |
---|---|---|---|
Priority: | minor | Milestone: | 0.22 |
Component: | Plugin - MythMusic | Version: | unknown |
Severity: | low | Keywords: | |
Cc: | Ticket locked: | no |
Description
MythMusic adds the $${SYSROOT}/usr/include/cdda to its include path in mythplugins/mythmusic/mythmusic/mythmusic.pro. However, because SYSROOT is never set by either the mythtv or mythplugins configure script, it does not set the correct include path when cross compiling.
Since setting SYSROOT would actually break many other things, that is not a good fix at the moment.
I have attached a patch that move the adding of the cdda include path to the mythplugins configure script. This allows it to take advantage of the configure script's --sysroot option.
Attachments (1)
Change History (6)
Changed 15 years ago by
Attachment: | mythmusic_cdda_includepath.patch added |
---|
comment:1 Changed 15 years ago by
Milestone: | unknown → 0.22 |
---|---|
Owner: | changed from stuartm to janneg |
Status: | new → assigned |
comment:2 Changed 15 years ago by
Owner: | changed from janneg to Janne Grunau |
---|
comment:3 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:4 Changed 15 years ago by
As I mentioned in the bug report, exporting SYSROOT breaks many other things, which I I was suggested the fix.
The problem is how SYSROOT and PREFIX are used.
mythtv never prepends SYSROOT to PREFIX in of its *.pro files or Makefiles. However, it does prepend $sysroot to non $prefix path in the configure script. Therefore, for mythtv to cross-compile correctly, --sysroot must be set and --prefix must be set and prefixed by the value of --sysroot.
However, mythplugins pepends SYSROOT to PREFIX in some of its *.pro and Makefiles but not in others. With SYSROOT exported, any *.pro or Makefile that prepends SYSROOT breaks. In addition, mythplugins and the themes configure scripts prepend $sysroot to $prefix.
Because of these discrepancies, it is not clear to me the intended relationship between sysroot and prefix. When cross compiling, if prefix is intended to be a subdirectory of sysroot, then SYSROOT needs to be prepended to everywhere PREFIX is used in the mythtv and mythplugins *.pro and Makefiles and $sysroot needs to be prepended to $prefix in the configure scripts. When cross compiling, if prefix is intended to be independent of sysroot, then SYSROOT should not prepend PREFIX in any of mythplugins *.pro or Makefiles and $sysroot should not be prepended to $prefix in any of the configure scripts.
(In [22319]) export sysroot to mythconfig.mak so it's available in the plugins. Fixes #7088