Patrick Georgi | 53ea1d4 | 2019-11-22 16:55:58 +0100 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # SPDX-License-Identifier: GPL-2.0 |
| 3 | |
Patrick Georgi | 7eab8ef | 2023-11-20 18:03:34 +0100 | [diff] [blame] | 4 | cflags=$1 |
| 5 | libs=$2 |
| 6 | |
Patrick Georgi | 53ea1d4 | 2019-11-22 16:55:58 +0100 | [diff] [blame] | 7 | PKG="ncursesw" |
| 8 | PKG2="ncurses" |
| 9 | |
Patrick Georgi | 1215cc7 | 2022-10-28 01:00:26 +0200 | [diff] [blame] | 10 | if [ -n "$(command -v ${HOSTPKG_CONFIG})" ]; then |
| 11 | if ${HOSTPKG_CONFIG} --exists $PKG; then |
Patrick Georgi | 7eab8ef | 2023-11-20 18:03:34 +0100 | [diff] [blame] | 12 | ${HOSTPKG_CONFIG} --cflags ${PKG} > ${cflags} |
| 13 | ${HOSTPKG_CONFIG} --libs ${PKG} > ${libs} |
Patrick Georgi | 53ea1d4 | 2019-11-22 16:55:58 +0100 | [diff] [blame] | 14 | exit 0 |
| 15 | fi |
| 16 | |
Patrick Georgi | 7eab8ef | 2023-11-20 18:03:34 +0100 | [diff] [blame] | 17 | if ${HOSTPKG_CONFIG} --exists ${PKG2}; then |
| 18 | ${HOSTPKG_CONFIG} --cflags ${PKG2} > ${cflags} |
| 19 | ${HOSTPKG_CONFIG} --libs ${PKG2} > ${libs} |
Patrick Georgi | 53ea1d4 | 2019-11-22 16:55:58 +0100 | [diff] [blame] | 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 |
Patrick Georgi | 7eab8ef | 2023-11-20 18:03:34 +0100 | [diff] [blame] | 28 | echo -D_GNU_SOURCE -I/usr/include/ncursesw > ${cflags} |
| 29 | echo -lncursesw > ${libs} |
Patrick Georgi | 53ea1d4 | 2019-11-22 16:55:58 +0100 | [diff] [blame] | 30 | exit 0 |
| 31 | fi |
| 32 | |
| 33 | if [ -f /usr/include/ncurses/ncurses.h ]; then |
Patrick Georgi | 7eab8ef | 2023-11-20 18:03:34 +0100 | [diff] [blame] | 34 | echo -D_GNU_SOURCE -I/usr/include/ncurses > ${cflags} |
| 35 | echo -lncurses > ${libs} |
Patrick Georgi | 53ea1d4 | 2019-11-22 16:55:58 +0100 | [diff] [blame] | 36 | exit 0 |
| 37 | fi |
| 38 | |
Idwer Vollering | d78af11 | 2021-07-28 20:15:29 +0200 | [diff] [blame] | 39 | # We'll want to be able to build on (Free)BSD: |
| 40 | if [ -f /usr/include/ncurses.h ]; then |
| 41 | echo libs=\"-lncurses\" |
| 42 | exit 0 |
| 43 | fi |
| 44 | |
Patrick Georgi | 53ea1d4 | 2019-11-22 16:55:58 +0100 | [diff] [blame] | 45 | # As a final fallback before giving up, check if $HOSTCC knows of a default |
| 46 | # ncurses installation (e.g. from a vendor-specific sysroot). |
| 47 | if echo '#include <ncurses.h>' | ${HOSTCC} -E - >/dev/null 2>&1; then |
Patrick Georgi | 7eab8ef | 2023-11-20 18:03:34 +0100 | [diff] [blame] | 48 | echo -D_GNU_SOURCE > ${cflags} |
| 49 | echo -lncurses > ${libs} |
Patrick Georgi | 53ea1d4 | 2019-11-22 16:55:58 +0100 | [diff] [blame] | 50 | exit 0 |
| 51 | fi |
| 52 | |
| 53 | echo >&2 "*" |
| 54 | echo >&2 "* Unable to find the ncurses package." |
| 55 | echo >&2 "* Install ncurses (ncurses-devel or libncurses-dev" |
| 56 | echo >&2 "* depending on your distribution)." |
| 57 | echo >&2 "*" |
Patrick Georgi | 1215cc7 | 2022-10-28 01:00:26 +0200 | [diff] [blame] | 58 | echo >&2 "* You may also need to install ${HOSTPKG_CONFIG} to find the" |
Patrick Georgi | 53ea1d4 | 2019-11-22 16:55:58 +0100 | [diff] [blame] | 59 | echo >&2 "* ncurses installed in a non-default location." |
| 60 | echo >&2 "*" |
| 61 | exit 1 |