| @@ -1,17 +1,76 @@ | | | @@ -1,17 +1,76 @@ |
1 | # $NetBSD: builtin.mk,v 1.3 2011/09/14 17:18:29 hans Exp $ | | 1 | # $NetBSD: builtin.mk,v 1.4 2019/05/31 08:36:12 dholland Exp $ |
2 | | | 2 | |
3 | BUILTIN_PKG:= mpfr | | 3 | BUILTIN_PKG:= mpfr |
4 | | | 4 | |
5 | PKGCONFIG_FILE.mpfr= /usr/include/mpfr.h /usr/include/mpfr/mpfr.h | | 5 | BUILTIN_FIND_HEADERS_VAR:= H_MPFR |
6 | PKGCONFIG_BASE.mpfr= /usr | | 6 | BUILTIN_FIND_HEADERS.H_MPFR= mpfr.h mpfr/mpfr.h |
7 | | | 7 | |
8 | BUILTIN_VERSION_SCRIPT.mpfr= ${AWK} \ | | 8 | BUILTIN_VERSION_SCRIPT.mpfr= ${AWK} \ |
9 | '/\#define[ \t]*MPFR_VERSION_STRING[ \t]/ { \ | | 9 | '/\#define[ \t]*MPFR_VERSION_STRING[ \t]/ { \ |
10 | v = substr($$3, 2, length($$3)-2) } \ | | 10 | v = substr($$3, 2, length($$3)-2) } \ |
11 | END { gsub("-p",".",v); print v }' | | 11 | END { gsub("-p",".",v); print v }' |
12 | | | 12 | |
13 | .include "../../mk/buildlink3/pkgconfig-builtin.mk" | | 13 | .include "../../mk/buildlink3/bsd.builtin.mk" |
14 | | | 14 | |
15 | .if !empty(USE_BUILTIN.mpfr:M[Yy][Ee][Ss]) | | 15 | ### |
16 | CONFIGURE_ARGS+= --with-mpfr-include=${FIND_FILES_mpfr:S/\/mpfr.h//} | | 16 | ### Determine if there is a built-in implementation of the package and |
| | | 17 | ### set IS_BUILTIN.<pkg> appropriately ("yes" or "no"). |
| | | 18 | ### |
| | | 19 | .if !defined(IS_BUILTIN.mpfr) |
| | | 20 | IS_BUILTIN.mpfr= no |
| | | 21 | . if empty(H_MPFR:M__nonexistent__) && empty(H_MPFR:M${LOCALBASE}/*) |
| | | 22 | IS_BUILTIN.mpfr= yes |
| | | 23 | . endif |
17 | .endif | | 24 | .endif |
| | | 25 | MAKEVARS+= IS_BUILTIN.mpfr |
| | | 26 | |
| | | 27 | ### |
| | | 28 | ### If there is a built-in implementation, then set BUILTIN_PKG.<pkg> to |
| | | 29 | ### a package name to represent the built-in package. |
| | | 30 | ### |
| | | 31 | .if !defined(BUILTIN_PKG.mpfr) && \ |
| | | 32 | !empty(IS_BUILTIN.mpfr:M[yY][eE][sS]) && \ |
| | | 33 | empty(H_MPFR:M__nonexistent__) |
| | | 34 | BUILTIN_VERSION.mpfr!= ${BUILTIN_VERSION_SCRIPT.mpfr} ${H_MPFR} |
| | | 35 | BUILTIN_PKG.mpfr= mpfr-${BUILTIN_VERSION.mpfr} |
| | | 36 | .endif |
| | | 37 | MAKEVARS+= BUILTIN_PKG.mpfr |
| | | 38 | |
| | | 39 | ### |
| | | 40 | ### Determine whether we should use the built-in implementation if it |
| | | 41 | ### exists, and set USE_BUILTIN.<pkg> appropriate ("yes" or "no"). |
| | | 42 | ### |
| | | 43 | .if !defined(USE_BUILTIN.mpfr) |
| | | 44 | . if ${PREFER.mpfr} == "pkgsrc" |
| | | 45 | USE_BUILTIN.mpfr= no |
| | | 46 | . else |
| | | 47 | USE_BUILTIN.mpfr= ${IS_BUILTIN.mpfr} |
| | | 48 | . if defined(BUILTIN_PKG.mpfr) && !empty(IS_BUILTIN.mpfr:M[yY][eE][sS]) |
| | | 49 | USE_BUILTIN.mpfr= yes |
| | | 50 | . for _dep_ in ${BUILDLINK_API_DEPENDS.mpfr} |
| | | 51 | . if !empty(USE_BUILTIN.mpfr:M[yY][eE][sS]) |
| | | 52 | USE_BUILTIN.mpfr!= \ |
| | | 53 | if ${PKG_ADMIN} pmatch ${_dep_:Q} ${BUILTIN_PKG.mpfr:Q}; then \ |
| | | 54 | ${ECHO} yes; \ |
| | | 55 | else \ |
| | | 56 | ${ECHO} no; \ |
| | | 57 | fi |
| | | 58 | . endif |
| | | 59 | . endfor |
| | | 60 | . endif |
| | | 61 | . endif # PREFER.mpfr |
| | | 62 | .endif |
| | | 63 | MAKEVARS+= USE_BUILTIN.mpfr |
| | | 64 | |
| | | 65 | CHECK_BUILTIN.mpfr?= no |
| | | 66 | .if !empty(CHECK_BUILTIN.mpfr:M[Nn][Oo]) |
| | | 67 | . if !empty(USE_BUILTIN.mpfr:M[Yy][Ee][Ss]) |
| | | 68 | MPFR_INCLUDE= ${H_MPFR:H} |
| | | 69 | CONFIGURE_ARGS+= --with-mpfr-include=${MPFR_INCLUDE} |
| | | 70 | BUILDLINK_INCDIRS.mpfr= ${MPFR_INCLUDE} |
| | | 71 | CONFIGURE_ARGS+= --with-mpfr-lib=${BUILDLINK_PREFIX.mpfr}/lib${LIBABISUFFIX} |
| | | 72 | BUILDLINK_LIBDIRS.mpfr= lib${LIBABISUFFIX} |
| | | 73 | CPPFLAGS+= -I${MPFR_INCLUDE} |
| | | 74 | CFLAGS+= -I${MPFR_INCLUDE} |
| | | 75 | . endif |
| | | 76 | .endif # CHECK_BUILTIN.mpfr |