blob: 70cb7750efab110b96f6ee37622dab0abc147e27 [file] [log] [blame]
_realname=ghdl
pkgbase="mingw-w64-${_realname}"
pkgname='__placeholder__'
pkgver=1.0.0.r348.g7d5c6c48
pkgrel=1
pkgdesc='GHDL: the open-source analyzer, compiler, simulator and (experimental) synthesizer for VHDL'
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
license=('GPL2+')
url='https://github.com/ghdl'
groups=("${MINGW_PACKAGE_PREFIX}-eda")
checkdepends=("${MINGW_PACKAGE_PREFIX}-python")
provides=("${MINGW_PACKAGE_PREFIX}-${_realname}")
source=("${_realname}::git://github.com/ghdl/ghdl.git#commit=7d5c6c48")
sha512sums=('SKIP')
pkgver() {
cd "ghdl"
git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//g'
}
build() {
[[ -d "${srcdir}"/build-${CARCH} ]] && rm -rf "${srcdir}"/build-${CARCH}
mkdir -p "${srcdir}"/build-${CARCH} && cd "${srcdir}"/build-${CARCH}
if [ "$CARCH" = "i686" ]; then
echo 'Configuring ghdl-mcode...'
MSYS2_ARG_CONV_EXCL="--prefix" ../${_realname}/configure \
--prefix=${MINGW_PREFIX} \
--enable-checks \
--enable-libghdl \
--enable-synth \
LDFLAGS="-static -Wl,--stack=8388608"
fi
if [ "$CARCH" = "x86_64" ]; then
echo 'Configuring ghdl-llvm...'
export CC=clang
export CXX=clang++
MSYS2_ARG_CONV_EXCL="--prefix" ../${_realname}/configure \
--prefix=${MINGW_PREFIX} \
--enable-checks \
--enable-libghdl \
--enable-synth \
--with-llvm-config="llvm-config --link-static" \
LDFLAGS="-static"
fi
make GNATMAKE="gnatmake -j$(nproc)"
}
check() {
cd "${srcdir}/build-${CARCH}"
make install.vpi.local
make CC=gcc test
}
_package() {
cd "${srcdir}"/build-${CARCH}
_lib="${pkgdir}${MINGW_PREFIX}"/lib
mkdir -p "${_lib}"
make DESTDIR="${pkgdir}" install
sed -i -e 's@.*\(/mingw.*\)@\1@' "${_lib}"/libghdl.link
if [ "${CARCH}" = "x86_64" ]; then
sed -i -e 's@^-L.*\(/mingw.*\)@-L\1@' "${_lib}"/ghdl/grt.lst
fi
# License
install -Dm644 ${srcdir}/${_realname}/doc/licenses.rst ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/licenses.rst
}
if [ "${CARCH}" = "x86_64" ]; then
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}-llvm")
makedepends=("${MINGW_PACKAGE_PREFIX}-clang")
package() {
pkgdesc="$pkgdesc (LLVM backend) (mingw-w64)"
depends=(
"${MINGW_PACKAGE_PREFIX}-gcc-ada"
"${MINGW_PACKAGE_PREFIX}-clang"
"${MINGW_PACKAGE_PREFIX}-llvm"
"${MINGW_PACKAGE_PREFIX}-zlib"
)
options=(!emptydirs)
_package
}
fi
if [ "${CARCH}" = "i686" ]; then
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}-mcode")
package() {
pkgdesc="$pkgdesc (mcode backend) (mingw-w64)"
depends=(
"${MINGW_PACKAGE_PREFIX}-gcc-ada"
"${MINGW_PACKAGE_PREFIX}-zlib"
)
_package
}
fi