# Maintainer: Giancarlo Razzolini <grazzolini@archlinux.org>
# Maintainer: Frederik Schwan <freswa at archlinux dot org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>

# NOTE: requires rebuilt with each new gcc version

pkgbase=libtool
pkgname=(libtool lib32-libltdl)
pkgver=2.6.2
_commit=309bb53a8adfb22c6e5869cc8da049bf123e5438
pkgrel=3
_gccver=16
pkgdesc='A generic library support script'
arch=(aarch64 x86_64)
url='https://www.gnu.org/software/libtool'
license=('LGPL-2.0-or-later WITH Libtool-exception')
depends=(
  sh
  tar
)
makedepends=(
  "gcc>=$_gccver"
  git
  glibc
  help2man
)
makedepends_x86_64=(
  lib32-gcc-libs
  lib32-glibc
)
checkdepends=(
  gcc-fortran
)
source=(
  git+https://git.savannah.gnu.org/git/libtool.git#commit=$_commit
  git+https://git.savannah.gnu.org/git/gnulib.git
  gnulib-bootstrap::git+https://github.com/gnulib-modules/bootstrap.git
)
b2sums=('feab7320948202806bb4fa96b3a8724faf24f4033cc4fc34fe6342f31e1f93edca04980138e9bbd2d21c7d412cbd7ac276fb28f0423e138df3bc889657264a0d'
        'SKIP'
        'SKIP')

pkgver() {
  cd libtool
  git describe --tags | sed 's/^v//;s/[^-]*-g/r&/;s/-/+/g'
}

prepare() {
  cd libtool

  git submodule init
  git config --local submodule.gnulib.url "${srcdir}"/gnulib
  git config --local submodule.gl-mod/bootstrap.url "${srcdir}"/gnulib-bootstrap
  git -c protocol.file.allow=always submodule update

  ./bootstrap

  cp -ar "${srcdir}"/libtool "${srcdir}"/libtool32
}

build() {
  cd libtool
  ./configure --prefix=/usr lt_cv_sys_lib_dlsearch_path_spec="/usr/lib /usr/lib32"
  make

  #lib32
  echo $CARCH
  if [[ $CARCH = "x86_64" ]]; then
    cd "${srcdir}"/libtool32
    export CC="gcc -m32" CXX="g++ -m32"
    ./configure --prefix=/usr lt_cv_sys_lib_dlsearch_path_spec="/usr/lib /usr/lib32" --libdir=/usr/lib32
    make
  fi
}

check() {
  cd libtool
  make check gl_public_submodule_commit=
}

package_libtool() {
  depends+=(
    glibc
  )
  provides=(
    "libltdl=$pkgver"
    "libtool-multilib=$pkgver"
  )
  conflicts=(
    libltdl
    libtool-multilib
  )
  replaces=(
    libltdl
    libtool-multilib
  )

  cd libtool
  make DESTDIR="$pkgdir" install
}

package_lib32-libltdl() {
  arch=(x86_64)
  depends+=(
    lib32-glibc
    libtool
  )
  provides=(
    "lib32-libtool=$pkgver"
  )
  conflicts=(
    lib32-libtool
  )
  replaces=(
    lib32-libtool
  )

  cd libtool32
  make DESTDIR="$pkgdir" install-libLTLIBRARIES
}
