b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # SPDX-License-Identifier: GPL-2.0-only |
| 3 | |
| 4 | cflags=$1 |
| 5 | libs=$2 |
| 6 | |
| 7 | PKG="ncursesw" |
| 8 | PKG2="ncurses" |
| 9 | |
| 10 | if [ -n "$(command -v ${HOSTPKG_CONFIG})" ]; then |
| 11 | if ${HOSTPKG_CONFIG} --exists $PKG; then |
| 12 | ${HOSTPKG_CONFIG} --cflags ${PKG} > ${cflags} |
| 13 | ${HOSTPKG_CONFIG} --libs ${PKG} > ${libs} |
| 14 | exit 0 |
| 15 | fi |
| 16 | |
| 17 | if ${HOSTPKG_CONFIG} --exists ${PKG2}; then |
| 18 | ${HOSTPKG_CONFIG} --cflags ${PKG2} > ${cflags} |
| 19 | ${HOSTPKG_CONFIG} --libs ${PKG2} > ${libs} |
| 20 | exit 0 |
| 21 | fi |
| 22 | fi |
| 23 | |
| 24 | # Check the default paths in case pkg-config is not installed. |
| 25 | # (Even if it is installed, some distributions such as openSUSE cannot |
| 26 | # find ncurses by pkg-config.) |
| 27 | if [ -f /usr/include/ncursesw/ncurses.h ]; then |
| 28 | echo -D_GNU_SOURCE -I/usr/include/ncursesw > ${cflags} |
| 29 | echo -lncursesw > ${libs} |
| 30 | exit 0 |
| 31 | fi |
| 32 | |
| 33 | if [ -f /usr/include/ncurses/ncurses.h ]; then |
| 34 | echo -D_GNU_SOURCE -I/usr/include/ncurses > ${cflags} |
| 35 | echo -lncurses > ${libs} |
| 36 | exit 0 |
| 37 | fi |
| 38 | |
| 39 | # As a final fallback before giving up, check if $HOSTCC knows of a default |
| 40 | # ncurses installation (e.g. from a vendor-specific sysroot). |
| 41 | if echo '#include <ncurses.h>' | ${HOSTCC} -E - >/dev/null 2>&1; then |
| 42 | echo -D_GNU_SOURCE > ${cflags} |
| 43 | echo -lncurses > ${libs} |
| 44 | exit 0 |
| 45 | fi |
| 46 | |
| 47 | echo >&2 "*" |
| 48 | echo >&2 "* Unable to find the ncurses package." |
| 49 | echo >&2 "* Install ncurses (ncurses-devel or libncurses-dev" |
| 50 | echo >&2 "* depending on your distribution)." |
| 51 | echo >&2 "*" |
| 52 | echo >&2 "* You may also need to install ${HOSTPKG_CONFIG} to find the" |
| 53 | echo >&2 "* ncurses installed in a non-default location." |
| 54 | echo >&2 "*" |
| 55 | exit 1 |