Commit Graph

5 Commits

Author SHA1 Message Date
Jia Yuan Lo de112530c4 scripts: add directory symlink for standalone toolchain
Needed by rust 1.75.0+
2024-01-03 07:01:49 +08:00
Tee KOBAYASHI 6938b7c4b4 scripts: Add variable TERMUX_PKG_ENABLE_CLANG16_PORTING
to control errors enabled by default with Clang/LLVM 16.
2023-03-28 16:27:35 +09:00
Aditya Alok 33b1397f36
haskell-packaging: End support for library packages
- Now we use cabal (comparable to rust's cargo) to build binary packages.

Reason:
- Haskell's cabal packaging system is like rust's cargo. Every packages
  depends upon some specific version of other library. Hence, it is
  hard to maintain each and every version.
- Patching packages so that they use latest of dependencies breaks
  compatibility.

Benefits:
- Enables building very large packages like `pandoc`.
- Reduces disk space used.
- Lesser packages to maintain.

Signed-off-by: Aditya Alok <alok@termux.dev>
2023-02-21 10:08:12 +05:30
Henrik Grimler 9063e5919f
scripts: move libutil.so creation to termux_step_start_build
Instead of in termux_setup_toolchain_XX.  This helper lib does really
not have anything to do with our toolchain so it does not belong in
termux_setup_toolchain.

It is also good to only modify $TERMUX_PREFIX (for other things than
make install) before termux_step_create_timestamp_file has been run,
and termux_step_start_build fits that criteria.
2023-02-10 13:52:28 +01:00
Jia Yuan Lo 035c918418
scripts: add termux_setup_gnu_as_23c for NDK r25 (#11615)
NDK r25 has removed GNU Assembler (GAS). Removal of GAS introduced a number of build issues.
The most prominent is:
/usr/bin/as: unrecognized option '-EL'

Some options to solve this:
1. Disable building custom assembly and suffer performance penalty
2. Hand rewrite the custom assembly to be LLVM compatible
3. Wait for upstream to write LLVM compatible assembly (openssl, openssl-1.1)
4. Bring back GAS from NDK r23c

In this commit, GAS is brought back as a separate toolchain instead of following NDK r23c file hierarchy.
We pass "--gcc-toolchain=GAS_TOOLCHAIN_DIR" to NDK r25 clang to detect.
Packages only have to add "termux_step_gnu_as_23c" to build.sh to enable GAS.
In the future, we expect packages should follow option 3 more than option 4 as that is a last resort.

This commit also bumps revision for packages that rely (or previously rely) on "-fno-integrated-as":
hors, libffi, libgcrypt, libpixman, openssl, openssl-1.1

Co-authored-by: Henrik Grimler <grimler@termux.dev>
Co-authored-by: Chongyun Lee <45286352+licy183@users.noreply.github.com>
2022-08-24 23:17:08 +08:00