# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
description A portable foreign function interface library
long_description The libffi library provides a portable, high level \
programming interface to various calling \
conventions. This allows a programmer to call any \
function specified by a call interface description \
homepage http://www.sourceware.org/libffi
master_sites http://www.mirrorservice.org/sites/sourceware.org/pub/libffi/ \
http://ftp-stud.fht-esslingen.de/pub/Mirrors/sourceware.org/libffi/ \
http://mirror.aarnet.edu.au/pub/sourceware/libffi/ \
http://ftp.cs.pu.edu.tw/Linux/sourceware/libffi/ \
ftp://sourceware.org/pub/libffi/
checksums rmd160 9b546a3d002380bec3f00d86fc47d730abf51dfd \
sha256 d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37
# https://trac.macports.org/ticket/44170
patchfiles-append PR-44170.patch
# Don't use macports gcc or clang toolchains to build this due to dependency cycles
compiler.blacklist-append macports-*
# Older versions of cctools have a history of being problematic with complex
# asm like libffi has, so opt for the integrated assembler if it's available
if {[string match *clang* ${configure.compiler}]} {
configure.cflags-append -integrated-as
ppc64 powerpc-apple-darwin
lappend merger_dont_diff \
${prefix}/lib/libffi-${version}/include/ffi.h \
${prefix}/lib/libffi-${version}/include/ffitarget.h
livecheck.url ftp://sourceware.org/pub/libffi/
livecheck.regex ${name}-(\\d+(?:\\.\\d+)+)${extract.suffix}