After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 519794 - Un-necessary to pass -I flags to linker
Un-necessary to pass -I flags to linker
Status: RESOLVED FIXED
Product: GEGL
Classification: Other
Component: babl
0.0.20
Other All
: Normal normal
: ---
Assigned To: Default Gegl Component Owner
Depends on:
Blocks:
 
 
Reported: 2008-03-01 20:05 UTC by Daniel Macks
Modified: 2008-07-01 21:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
first of several patches to fix various occurrances (473 bytes, patch)
2008-03-01 20:43 UTC, Daniel Macks
none Details | Review
Retain normal configure shell envs and their correct precedence (1.49 KB, patch)
2008-03-02 23:11 UTC, Daniel Macks
none Details | Review

Description Daniel Macks 2008-03-01 20:05:49 UTC
Several Makefile.am pass -I flags in various *CFLAGS variables. However, CFLAGS is passed both to the compiler (.c -> .o) and also to the linker (where -I is irrelevant). The *CPPFLAGS (or INCLUDES) is designed and documented to be used for compiler flags such as -I, as these variables are not passed to the linker.
Comment 1 Daniel Macks 2008-03-01 20:41:24 UTC
More importantly (i.e., functional, not just cosmetic), *CPPFLAGS defined in Makefile.am is passed before CPPFLAGS from user's shell environment, whereas CFPAGS is passed after user's CPPFLAGS. If a user passes global -I flags, that means the compiler will get global -I before local ones, and headers from an installed libbabl (which may be broken) or other library entirely might mask the expected ones from the build dir.
Comment 2 Daniel Macks 2008-03-01 20:43:03 UTC
Created attachment 106349 [details] [review]
first of several patches to fix various occurrances
Comment 3 Daniel Macks 2008-03-02 23:08:28 UTC
In the extensions/ subdir, it's even worse than that...it's actually completely *ignoring* some of the user's shell vars (CPPFLAGS). Why is there so much hand-coding of compiler commands here instead of using existing tools?
Comment 4 Daniel Macks 2008-03-02 23:11:36 UTC
Created attachment 106437 [details] [review]
Retain normal configure shell envs and their correct precedence
Comment 5 Øyvind Kolås (pippin) 2008-07-01 21:07:00 UTC
The reason for the amount of handcoding of commands is the use of wildcards, though discouraged it provides a very nice environment to develop and protoype
the plugins in. Adding a new .c file is all that is needed and it is automatically
integrated in the build process.
integrated in the build process.