The current code does this: if [ -f /usr/include/ncursesw/curses.h ]; then echo '-I/usr/include/ncursesw -DCURSES_LOC="<ncursesw/curses.h>"' elif [ -f /usr/include/ncurses/ncurses.h ]; then echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"' elif [ -f /usr/include/ncurses/curses.h ]; then echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"' [...] This is merely inconsistent: - adding the full path to the directory in the -I directive, - especially since that path is already a sub-path of the system include path, - and then repeating the sub-path in the #include directive. Rationalise each include directive: - only use the filename in the #include directive, - keep the -I directives: they are always searched for before the system include path; this ensures the correct header is used. Using the -I directives and the filename-only in #include is more in line with how pkg-config behaves, eg.: $ pkg-config --cflags ncursesw -I/usr/include/ncursesw This paves the way for using pkg-config for CFLAGS, too, now we use it to find the libraries.
Showing the changes to scripts (1 of 1 file). Show all
Unified · Split
| @@ -22,12 +22,12 @@ ldflags() · 21 unmodified lines | ||
| 22 | 22 | ccflags() |
| 23 | 23 | { |
| 24 | 24 | if [ -f /usr/include/ncursesw/curses.h ]; then |
| 25 | − echo '-I/usr/include/ncursesw -DCURSES_LOC="<ncursesw/curses.h>"' | |
| 25 | + echo '-I/usr/include/ncursesw -DCURSES_LOC="<curses.h>"' | |
| 26 | 26 | echo ' -DNCURSES_WIDECHAR=1' |
| 27 | 27 | elif [ -f /usr/include/ncurses/ncurses.h ]; then |
| 28 | 28 | echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"' |
| 29 | 29 | elif [ -f /usr/include/ncurses/curses.h ]; then |
| 30 | − echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"' | |
| 30 | + echo '-I/usr/include/ncurses -DCURSES_LOC="<curses.h>"' | |
| 31 | 31 | elif [ -f /usr/include/ncurses.h ]; then |
| 32 | 32 | echo '-DCURSES_LOC="<ncurses.h>"' |
| 33 | 33 | else |