Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 243510 - app-arch/tardy: CC variable not respected
Summary: app-arch/tardy: CC variable not respected
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Marcelo Goes (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: tc-directly
  Show dependency tree
 
Reported: 2008-10-23 23:57 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2009-12-12 15:17 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch to extend sed call to address various QA issues in the upstream package (tardy-1.17.ebuild.patch,469 bytes, patch)
2009-06-13 03:44 UTC, Kevin Pyle
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2008-10-23 23:57:55 UTC
I'm filing this bug (from a template, mind you) because the ebuild I'm reporting it against failed to build once I removed my /usr/bin/{gcc,cc,c++,c99} binaries. This means that the ebuild is relying on gcc or cc as compiler, while it should use "$(tc-getCC)" so that user choices are respected, and cross-compiling works as intended.

This usually comes down to one of these tasks:

- use emake CC="$(tc-getCC)" for building, to ovewrite make's CC variable (defaults to "cc", some upstream rewrites it);
- the above plus replacing explicit "gcc" (or similar) calls with $(CC) so that the variable is actually respected;
- tc-export CC in src_compile before eventual econf.

For C++, you'd have to replace CC with CXX everywhere above, of course.

If your package is a special case on this, please let me know.

Thanks,
Diego
Comment 1 William Hubbs gentoo-dev 2009-03-23 05:25:48 UTC
This is fixed, thanks for the report. :-)
Comment 2 William Hubbs gentoo-dev 2009-03-23 05:29:02 UTC
Sorry, wrong bug.
Comment 3 Kevin Pyle 2009-06-13 03:44:51 UTC
Created attachment 194475 [details, diff]
Patch to extend sed call to address various QA issues in the upstream package

Diego, did you mean to use the "CC not respected" template?  I do not see a CC/CXX problem with this package, but I do see it forcing premature stripping by overwriting LDFLAGS with "-s".  There are some other QA issues, too:

- Non-echoed "sleep 1" commands scattered throughout the Makefile.  These were likely added due to some race condition, but with my modifications the package builds clean with MAKEOPTS=-j, so those appear to be fixed.[1]
- Use of $CFLAGS when calling $CXX. <http://blog.flameeyes.eu/2008/08/06/flags-and-flags>
- Uses gcc to build the file, but does so without a -o <output>.  The Makefile then needs a follow-up command to move the output file to its proper home.

To address these issues, I extended the sed call to delete the LDFLAGS line, the useless sleep lines, and the calls to mv.  It changes CFLAGS to CXXFLAGS on any line that starts $(CXX), and adds a -o $@ to the CXX rules so that the mv calls are not needed.

[1] There is one race condition remaining in install, but the ebuild calls make install directly, so install ignores $MAKEOPTS.
Comment 4 Marcelo Goes (RETIRED) gentoo-dev 2009-12-12 15:17:08 UTC
I understand this is fixed along with bug 239921.