chiark / gitweb /
pass: Add comment on why we depend on coreutils
[termux-packages] / disabled-packages / ghc / build.sh
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 TERMUX_PKG_HOMEPAGE=https://www.haskell.org/ghc/
6 TERMUX_PKG_DESCRIPTION="The Glasgow Haskell Compilation system"
7 TERMUX_PKG_VERSION=8.0.1
8 TERMUX_PKG_SRCURL=http://downloads.haskell.org/~ghc/${TERMUX_PKG_VERSION}/ghc-${TERMUX_PKG_VERSION}-src.tar.xz
9 TERMUX_PKG_FOLDERNAME=ghc-$TERMUX_PKG_VERSION
10 TERMUX_PKG_BUILD_IN_SRC=yes
11 # Depend on clang for now until llvm is split into separate package:
12 TERMUX_PKG_DEPENDS="clang, ncurses"
13
14 TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-iconv-includes=$TERMUX_PREFIX/include -with-iconv-libraries=$TERMUX_PREFIX/lib"
15 TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-curses-includes=$TERMUX_PREFIX/include/ncursesw -with-curses-libraries=$TERMUX_PREFIX/lib"
16 TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --host=x86_64-unknown-linux --build=x86_64-unknown-linux"
17
18 termux_step_post_extract_package() {
19         ORIG_CFLAGS="$CFLAGS"
20         ORIG_CPPFLAGS="$CPPFLAGS"
21         ORIG_LDFLAGS="$LDFLAGS"
22
23         unset AR
24         unset AS
25         unset CC
26         export CFLAGS=""
27         unset CPP
28         export CPPFLAGS=""
29         unset CXXFLAGS
30         unset CXX
31         export LDFLAGS=""
32         unset LD
33         unset PKG_CONFIG
34         unset RANLIB
35
36         TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --target=${TERMUX_HOST_PLATFORM}"
37 }
38
39 termux_step_pre_configure () {
40         echo "INTEGER_LIBRARY = integer-simple" > mk/build.mk
41         #echo "GhcStage2HcOpts = $ORIG_CFLAGS $ORIG_CPPFLAGS $ORIG_LDFLAGS" >> mk/build.mk
42
43         # Avoid "Can't use -fPIC or -dynamic on this platform":
44         echo "DYNAMIC_GHC_PROGRAMS = NO" >> mk/build.mk
45         echo "GhcLibWays = v" >> mk/build.mk
46         # "Can not build haddock docs when CrossCompiling or Stage1Only".
47         echo "HADDOCK_DOCS=NO" >> mk/build.mk
48 }