diff options
author | obache <obache@pkgsrc.org> | 2014-03-07 13:26:15 +0000 |
---|---|---|
committer | obache <obache@pkgsrc.org> | 2014-03-07 13:26:15 +0000 |
commit | 6f5580ef2fc98995bfd3c98c87036d054af4daf4 (patch) | |
tree | 2f93ce4eebfa4243fee9e139c79e31408f5efd00 /devel/gmp | |
parent | cf186a13528ddbd18f2cf2e2351f36174b8b4c5c (diff) | |
download | pkgsrc-6f5580ef2fc98995bfd3c98c87036d054af4daf4.tar.gz |
Rewrite to support builtin gmp on CentOS 6.5/x86_64.
* gmp.h is a wrapper to include archtecture specific include file.
* builtin library is in lib${LIBABISUFFIX}.
Diffstat (limited to 'devel/gmp')
-rw-r--r-- | devel/gmp/builtin.mk | 73 |
1 files changed, 62 insertions, 11 deletions
diff --git a/devel/gmp/builtin.mk b/devel/gmp/builtin.mk index 3e9b4d50674..98fa7e2ee64 100644 --- a/devel/gmp/builtin.mk +++ b/devel/gmp/builtin.mk @@ -1,26 +1,77 @@ -# $NetBSD: builtin.mk,v 1.5 2014/03/07 11:30:49 obache Exp $ +# $NetBSD: builtin.mk,v 1.6 2014/03/07 13:26:15 obache Exp $ BUILTIN_PKG:= gmp BUILTIN_FIND_HEADERS_VAR:= H_GMP BUILTIN_FIND_HEADERS.H_GMP= gmp.h gmp/gmp.h -PKGCONFIG_FILE.gmp= H_GMP -PKGCONFIG_BASE.gmp= ${H_GMP:H:S/\gmp$//:H} -BUILTIN_VERSION_SCRIPT.gmp= ${AWK} \ - '/\#define[ \t]*__GNU_MP_VERSION[ \t]/ { major = $$3; } \ - /\#define[ \t]*__GNU_MP_VERSION_MINOR[ \t]/ { minor = $$3; } \ - /\#define[ \t]*__GNU_MP_VERSION_PATCHLEVEL[ \t]/ { patch = $$3; } \ - END { if (major!="" && minor!="" && patch!="") \ - print major "." minor "." patch; else print ""; }' +BUILTIN_VERSION_SCRIPT.gmp= \ + { ${ECHO} "\#include <${H_GMP}>"; \ + ${ECHO} "__GNU_MP_VERSION/__GNU_MP_VERSION_MINOR/__GNU_MP_VERSION_PATCHLEVEL"; \ + } | ${CCPATH:U${CC}} -E - | ${SED} -e 's,/,.,g' | ${TAIL} -1 + +.include "../../mk/buildlink3/bsd.builtin.mk" + +### +### Determine if there is a built-in implementation of the package and +### set IS_BUILTIN.<pkg> appropriately ("yes" or "no"). +### +.if !defined(IS_BUILTIN.gmp) +IS_BUILTIN.gmp= no +. if empty(H_GMP:M__nonexistent__) && empty(H_GMP:M${LOCALBASE}/*) +IS_BUILTIN.gmp= yes +. endif +.endif +MAKEVARS+= IS_BUILTIN.gmp + +### +### If there is a built-in implementation, then set BUILTIN_PKG.<pkg> to +### a package name to represent the built-in package. +### +.if !defined(BUILTIN_PKG.gmp) && \ + !empty(IS_BUILTIN.gmp:M[yY][eE][sS]) && \ + empty(H_GMP:M__nonexistent__) +BUILTIN_VERSION.gmp!= ${BUILTIN_VERSION_SCRIPT.gmp} +BUILTIN_PKG.gmp= gmp-${BUILTIN_VERSION.gmp} +.endif +MAKEVARS+= BUILTIN_PKG.gmp + +### +### Determine whether we should use the built-in implementation if it +### exists, and set USE_BUILTIN.<pkg> appropriate ("yes" or "no"). +### +.if !defined(USE_BUILTIN.gmp) +. if ${PREFER.gmp} == "pkgsrc" +USE_BUILTIN.gmp= no +. else +USE_BUILTIN.gmp= ${IS_BUILTIN.gmp} +. if defined(BUILTIN_PKG.gmp) && \ + !empty(IS_BUILTIN.gmp:M[yY][eE][sS]) +USE_BUILTIN.gmp= yes +. for _dep_ in ${BUILDLINK_API_DEPENDS.gmp} +. if !empty(USE_BUILTIN.gmp:M[yY][eE][sS]) +USE_BUILTIN.gmp!= \ + if ${PKG_ADMIN} pmatch ${_dep_:Q} ${BUILTIN_PKG.gmp:Q}; then \ + ${ECHO} yes; \ + else \ + ${ECHO} no; \ + fi +. endif +. endfor +. endif +. endif # PREFER.gmp +.endif +MAKEVARS+= USE_BUILTIN.gmp -.include "../../mk/buildlink3/pkgconfig-builtin.mk" CHECK_BUILTIN.gmp?= no .if !empty(CHECK_BUILTIN.gmp:M[Nn][Oo]) . if !empty(USE_BUILTIN.gmp:M[Yy][Ee][Ss]) -GMP_INCLUDE= ${FIND_FILES_gmp:S/\/gmp.h//} +GMP_INCLUDE= ${H_GMP:H} CONFIGURE_ARGS+= --with-gmp-include=${GMP_INCLUDE} +BUILDLINK_INCDIRS.gmp= ${GMP_INCLUDE} +CONFIGURE_ARGS+= --with-gmp-lib=${BUILDLINK_PREFIX.gmp}/lib${LIBABISUFFIX} +BUILDLINK_LIBDIRS.gmp= lib${LIBABISUFFIX} CPPFLAGS+= -I${GMP_INCLUDE} CFLAGS+= -I${GMP_INCLUDE} . endif |