Commit Graph

52 Commits

Author SHA1 Message Date
Aditya Alok f21125b33a
feat(haskell build): export configure variables in setup toolchain step
Signed-off-by: Aditya Alok <dev.aditya.alok@gmail.com>
2022-03-16 15:32:15 +01:00
Henrik Grimler 0e9c95fd90
toolchain/ndk-sysroot: let mesa provide KHR/khrplatform.h
The headers are nearly identical, use the one from mesa to ensure
compatibility with mesa.
2022-03-09 09:28:40 +01:00
Yaksh Bariya 76e3b95e41
Fix more instances of `which`
How did I miss this before?
2022-01-30 10:26:06 +05:30
Tee KOBAYASHI a50823da6b toolchain: Link libandroid-support with `--no-as-needed` 2021-12-20 12:01:41 +02:00
Tee KOBAYASHI 653a110ddb termux_step_setup_toolchain: `-fPIC` should be in `CFLAGS` 2021-12-05 11:52:23 +02:00
Lucy Phipps ee97e92bfa
ac_cv_func_endpwent=yes 2021-11-01 09:41:43 +00:00
Henrik Grimler 611c40a283 setup_toolchain: specify NM as well 2021-10-24 13:22:40 +02:00
Henrik Grimler f167d07541
termux_step_setup_toolchain: export PKG_CONFIG and PKGCONFIG
Ghostscript uses the latter one in its configure script.
2021-10-24 08:03:58 +02:00
Henrik Grimler d5ba6ecc6b toolchain: fix broken as symlinks in r23b
r23b was suppose to fix so that -fno-integrated-as worked again (which
libx265 needs for example), but the symlinks added point towards an
absolute path in /buildbot/src/android/ndk-release-r23 instead of to
../../bin/. Re-create symlinks with correct destination.
2021-10-23 15:57:11 +02:00
Henrik Grimler 8c1a1b4ba5 termux_step_setup_toolchain: do not add prefix to pkg-config
And create the pkg-config wrapper inside termux_setup_toolchain.
2021-10-22 23:05:45 +02:00
Henrik Grimler 307ffe5a90 termux_setup_standalone_toolchain: remove one indentation level 2021-10-22 23:05:45 +02:00
Henrik Grimler 3f3e2ce49f termux_step_setup_toolchain: print info about applied ndk-patch 2021-10-22 23:05:45 +02:00
Henrik Grimler a465f14c90 Update to use android-ndk r23 2021-10-22 23:05:45 +02:00
Henrik Grimler b782c7da0e toolchain: add -fPIC to CPPFLAGS for i686
When adding this, we go from compiling with

  /home/builder/.termux-build/_cache/android-r21d-api-24-v4/bin/clang++ [...] -mrelocation-model pic -pic-level 2 -pic-is-pie [...]

to

  /home/builder/.termux-build/_cache/android-r21d-api-24-v5/bin/clang++ [...] -mrelocation-model pic -pic-level 2 [...]

Before, we got a warning when compiling libandroid-spawn:

  /home/builder/.termux-build/_cache/android-r21d-api-24-v4/bin/../lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin/ld: warning: shared library text segment is not shareable

and trying to use a program linked against libandroid-spawn gave an
error, see
https://github.com/termux/termux-packages/issues/7215#issuecomment-906154438
the Without this, libraries might end up with text relocations. For
some reason it does not seem to be an issue on the other arches.

%ci:no-build
2021-08-27 10:02:20 +02:00
Henrik Grimler 2c70621a98 build-package: rename TERMUX_DEBUG to TERMUX_DEBUG_BUILD
To make it more self-explanatory.
2021-08-21 20:55:57 +02:00
Butta 167739f5b8 nushell: try again to fix i686 build by exporting RUSTFLAGS earlier and adding a flag 2021-07-15 23:34:56 +05:30
Henrik Grimler 9887e8cbfd Set __USE_FORTIFY_LEVEL for debug builds 2021-02-03 16:57:21 +01:00
Leonid Pliushch 4994a2a322
build-package.sh: remove -static-openmp from CGO_LDFLAGS 2020-12-29 00:42:49 +02:00
Tom Yan faf9dd7ca1 sox: build with omp again 2020-12-14 22:12:04 +02:00
Leonid Pliushch 36a846c725 build-package.sh: do not set -Wl,-z,relro,-z,now ldflags for Golang CGO
Causes this error when building Golang projects:

 invalid flag in go:cgo_ldflag: -Wl,-z,relro,-z,now
2020-11-22 13:52:28 +00:00
Fredrik Fornwall 540dd0689b Fix indentation in termux_step_setup_toolchain 2020-05-05 19:29:04 +02:00
Butta f87609d9f3 termux_step_setup_toolchain.sh: split off setup of standalone toolchain into separate function 2020-04-10 13:03:38 +03:00
Butta b997c4eafa termux_step_setup_toolchain.sh: don't add duplicate rpath for on-device builds
Unlike the NDK clang, the on-device clang has already been patched to add an rpath
to the Termux-prefixed library path, so only have the build script add the rpath
flag for NDK builds.
2020-02-02 01:21:18 +05:30
Leonid Pliushch 729a737a49 build-package.sh: move golang variable configuration to termux_step_setup_toolchain.sh
Allow to use termux_setup_golang.sh for host builds.
2020-01-03 23:39:54 +02:00
Leonid Pliushch 978358cfa3 Merge pull request #4639 from buttaface/headers
ndk-patches: use upstream ifaddrs.h and remove old syslog.h polyfills
2019-12-29 20:35:46 +02:00
Leonid Pliushch 75af2da554 reformat scripts/build/termux_step_setup_toolchain.sh 2019-12-13 23:57:01 +02:00
Leonid Pliushch ce0707260d build-package.sh: fix copy-paste typo
clang & clang++ wrappers were copied to same file
2019-12-13 23:49:41 +02:00
Butta 60e9d47df0 ndk-patches: use upstream ifaddrs.h and remove old syslog.h polyfills 2019-12-08 19:57:10 +05:30
Leonid Pliushch 5493481c5c build-package.sh: better support for metapackages 2019-08-14 20:29:58 +03:00
Leonid Pliushch d08dc0fa13 build-package.sh: use text-based comparsion in conditionals instead of exit-code based 2019-08-13 02:03:47 +03:00
Leonid Pliushch c352216c63 packages: standardize values of several control variables for build.sh
Variables

 TERMUX_PKG_PLATFORM_INDEPENDENT
 TERMUX_DEBUG
 TERMUX_PKG_HAS_DEBUG
 TERMUX_PKG_ESSENTIAL
 TERMUX_SUBPKG_ESSENTIAL
 TERMUX_PKG_NO_STATICSPLIT
 TERMUX_PKG_BUILD_IN_SRC
 TERMUX_PKG_FORCE_CMAKE
 TERMUX_PKG_HOSTBUILD

should not accept arbitrary values for marking them "enabled". Instead
they should accept boolean values which makes them easier to handle and
also makes their meaning clear.

build-package.sh should make decision based on variable's value but not on
whether it is set or empty.

%ci:no-build
2019-08-12 18:49:13 +03:00
Leonid Pliushch 48d257989a build-package.sh: export CC_FOR_BUILD for on-device builds
Required by some packages.
2019-08-10 17:28:08 +03:00
Leonid Pliushch e303212ae5 enable on-device builds
Partial compatibility for on-device builds.

There is no guarantee that it will be possible to build all available
packages and built packages will have same reliability that cross-compiled
but should solve "self-hosting" problems as much as possible.
2019-08-08 16:58:34 +03:00
Leonid Pliushch 0f298bae8f build-package.sh: avoid linking with extra/unneeded libraries 2019-07-29 22:49:15 +03:00
Leonid Pliushch 1b2d8259fb build-package.sh: basic hardening via CFLAGS/LDFLAGS
See https://github.com/termux/termux-packages/issues/4107.

In short:

 * Stack protector will be used by default.

 * GOT/PLT ELF sections will be read-only.
2019-07-29 22:49:15 +03:00
Leonid Pliushch 6e70277fb3 no more develsplit + provide static libraries as separate package
%ci:no-build
2019-07-28 21:17:12 +03:00
Fredrik Fornwall 51c97e3bb5 Always use -Oz optimization level 2019-07-14 20:38:26 +02:00
Tom Yan 0645971354 build-package.sh: export OBJCOPY 2019-06-26 12:14:11 +03:00
its-pointless 1900df549d avoid using system clang instead of ndk one 2019-06-19 20:26:31 +03:00
its-pointless 6c2c06fd6f fix arm-cpp properly... 2019-06-19 20:26:31 +03:00
its-pointless e83b5a2ea8 fix arm cpp 2019-06-19 20:26:31 +03:00
its-pointless 5eada22838 ndk-20 update 2019-06-19 20:26:31 +03:00
Tom Yan d4d8aaeac9 build-package: fix unwind symbols hiding
Apparently because libgcc.a is now a linker script, `--exclude-libs libgcc.a` doesn't seem to do a thing. Also hiding symbols from libunwind.a.
2019-05-14 17:53:00 +03:00
Leonid Pliushch 9dda444a87 new package: libiconv 2019-05-05 21:29:36 +02:00
Tom Yan 5170610f52 zlib: add package 2019-04-14 16:00:23 +03:00
Leonid Pliushch 3d0e516c64 termux_step_setup_toolchain.sh: simplify unneeded headers removal 2019-03-25 17:55:48 +02:00
Leonid Pliushch 9e682ab75f termux_step_setup_toolchain.sh: move 'rm usr/include/sys/capability.h' to correct place 2019-03-25 17:32:00 +02:00
Fredrik Fornwall 2b4652804f Remove sys/capability.h from the NDK sysroot
The sys/capability.h file will be provided by libcap-dev.
2019-03-24 23:15:44 +01:00
Tom Yan 596c8c85da Simplify libc++ setup
As clang++ in the NDK defaults to libc++ since r17, we no longer
need to fake a libstdc++.so at build time (and omit it from the
libc++ package we ship).
2019-03-11 16:33:12 +08:00
Leonid Pliushch d450e6af8f build-package.sh: create dummy libutil.so which links to libc
Replace libutil.so with linker script so we don't have to patch
each program that tries to link with libutil.so.
2019-03-10 15:42:58 +02:00