# Description: Fast Lexical Analyzer Generator
# URL: http://flex.sourceforge.net/
# Maintainer: CRUX System Team, core-ports at crux dot nu
# Arch Maintainer: CRUX-ARM System Team, devel at crux-arm dot nu
# Depends on:

name=flex
version=2.6.3
release=2
source=(https://github.com/westes/flex/releases/download/v$version/$name-$version.tar.gz
        $name-$version-add_defines.patch)

build() {
  cd $name-$version

  echo "ac_cv_func_malloc_0_nonnull=yes" > config.cache 
  echo "ac_cv_func_realloc_0_nonnull=yes" >> config.cache

  patch -p1 -i $SRC/$name-$version-add_defines.patch
  touch doc/flex.1

  # Don't build tests
  sed '51d' -i Makefile.am

  # Build stage1flex for current host
  CC=gcc CFLAGS="" ./configure --disable-nls \
                               --prefix=/tools \
                               --enable-shared 

  make -C lib
  make -C src stage1flex
  mv src/stage1flex src/stage1flex.host
  ./autogen.sh
  make distclean

  ./configure --build=$CHOST \
              --host=$CTARGET \
              --prefix=/usr \
              --disable-nls \
              --cache-file=config.cache

  make -C lib
  # Use stage1flex built for host
  sed 's|./stage1flex$(EXEEXT) $(AM_LFLAGS)|./stage1flex.host$(EXEEXT) $(AM_LFLAGS)|g' -i src/Makefile
  make -C src 
  make DESTDIR=$PKG install

  ln -sf flex $PKG/usr/bin/lex
  ln -sf flex.1.gz $PKG/usr/share/man/man1/lex.1.gz

  rm -r $PKG/usr/share/{info,doc}
}