sigscheme.h includes sigscheme/config.h and my source code uses its own config.h generated by autotools. So C macros like PACKAGE, VERSION and so on would be re-defined.
Notice: Since uim is not sufferring from this bug, the resolution is marked as NOTOURBUG. This bug only affects libsscm users (libuim does not use libsscm). I accept this bug as a SigScheme devleoper and will fix future version (likely 0.8.0).Notice: Since uim is not sufferring a problem from this bug, the resolution is marked as NOTOURBUG. This bug only affects libsscm users (libuim does not use libsscm). Thanks for the report. I accept this bug as a SigScheme devleoper and will fix it in a future version (probably 0.8.0). There are two workaround until the fix: 1. Use the combined-source mode of SigScheme http://uim.freedesktop.org/doc/sigscheme-0.7.4/global-obj.html 2. Import sigscheme-combined.h to your project, and include it immediately after sigscheme.h as follows: #include <sigscheme/sigscheme.h> #include "sigscheme-combined.h" #include "config.h" Both sigscheme.h and sigscheme-combined.h must be included in prior to your project's own config.h.
Since SigScheme headers depend private config.h and install it, I suggest using name like "sigscheme-config.h" for AC_CONFIG_HEADERS to avoid such a problem.
AC_CONFIG_HEADERS does not resolve the definitions conflict problem, and since SigScheme's config.h is intended to be included as <sigscheme/config.h>, the filename conflict will not occur.
> AC_CONFIG_HEADERS does not resolve the definitions conflict problem, and since > SigScheme's config.h is intended to be included as <sigscheme/config.h>, the > filename conflict will not occur. No. Packages using SigScheme probably uses "pkg-config --cflags sigscheme" for CFLAGS, and since it contains include/sigscheme directory it conflicts config.h inclusion.
Another way to solve these kind of problem without renaming config.h is using include/sigscheme/private directory for config.h.
(In reply to comment #4) > > SigScheme's config.h is intended to be included as <sigscheme/config.h>, the > > filename conflict will not occur. > > No. Packages using SigScheme probably uses "pkg-config --cflags sigscheme" for > CFLAGS, and since it contains include/sigscheme directory it conflicts config.h > inclusion. Oops. It's a sigscheme.pc.in bug. Thanks for letting me know. I'll exclude -I${prefix}/include/sigscheme from it.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.