| 1 | # See https://ghc.haskell.org/trac/ghc/wiki/Building/CrossCompiling |
| 2 | # https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Linux |
| 3 | # and |
| 4 | # https://github.com/neurocyte/ghc-android |
| 5 | # Status: Current GHC does not support llvm 3.7. |
| 6 | TERMUX_PKG_HOMEPAGE=https://www.haskell.org/ghc/ |
| 7 | TERMUX_PKG_DESCRIPTION="The Glasgow Haskell Compilation system" |
| 8 | TERMUX_PKG_VERSION=7.10.2 |
| 9 | TERMUX_PKG_SRCURL=http://downloads.haskell.org/~ghc/${TERMUX_PKG_VERSION}/ghc-${TERMUX_PKG_VERSION}-src.tar.xz |
| 10 | TERMUX_PKG_FOLDERNAME=ghc-$TERMUX_PKG_VERSION |
| 11 | TERMUX_PKG_BUILD_IN_SRC=yes |
| 12 | # TERMUX_PKG_DEPENDS="libandroid-support" |
| 13 | TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-target=$TERMUX_HOST_PLATFORM --host=x86_64-unknown-linux --build=x86_64-unknown-linux --target=$TERMUX_HOST_PLATFORM" |
| 14 | |
| 15 | TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-iconv-includes=$TERMUX_PREFIX/include -with-iconv-libraries=$TERMUX_PREFIX/lib" |
| 16 | TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-curses-includes=$TERMUX_PREFIX/include/ncursesw -with-curses-libraries=$TERMUX_PREFIX/lib" |
| 17 | |
| 18 | ORIG_CFLAGS="$CFLAGS" |
| 19 | ORIG_CPPFLAGS="$CPPFLAGS" |
| 20 | ORIG_LDFLAGS="$LDFLAGS" |
| 21 | |
| 22 | unset AR |
| 23 | unset AS |
| 24 | unset CC |
| 25 | export CFLAGS="" |
| 26 | unset CPP |
| 27 | export CPPFLAGS="" |
| 28 | unset CXXFLAGS |
| 29 | unset CXX |
| 30 | export LDFLAGS="" |
| 31 | unset LD |
| 32 | unset PKG_CONFIG |
| 33 | unset RANLIB |
| 34 | |
| 35 | termux_step_pre_configure () { |
| 36 | echo "INTEGER_LIBRARY = integer-simple" > mk/build.mk |
| 37 | #echo "GhcStage2HcOpts = $ORIG_CFLAGS $ORIG_CPPFLAGS $ORIG_LDFLAGS" >> mk/build.mk |
| 38 | |
| 39 | # Avoid "Can't use -fPIC or -dynamic on this platform": |
| 40 | echo "DYNAMIC_GHC_PROGRAMS = NO" >> mk/build.mk |
| 41 | echo "GhcLibWays = v" >> mk/build.m |
| 42 | } |