Commit Graph

106 Commits

Author SHA1 Message Date
Đoàn Trần Công Danh ddb9e6eb19 environment: set -fdebug-prefix-map relative to build_wrksrc 2022-09-18 20:37:21 +07:00
Đoàn Trần Công Danh 95159532cc C{,XX}FLAGS: change -fdebug-prefix-map for cmake and meson
Both of them build inside a builddir. This change ease the debugging
process.
2022-09-18 20:37:21 +07:00
John ca73e4b1d2
common/environment: set debug-prefix-map to prevent ccache cache misses
Packages with debug symbols do invalidate their cache with every version
change since $wrksrc does contain the version number and is getting cached

Closes: #33002 [via git-merge-pr]
2021-12-08 13:04:22 +01:00
fosslinux 9bdf2f6e4d Revert "common/gnu-configure-args: set exec_prefix to ${prefix}"
This reverts commit c96738a6e9.

This breaks grub-install currently; a temporary rollback until it is
properly fixed.
2021-03-05 04:04:17 -03:00
Đoàn Trần Công Danh c96738a6e9 common/gnu-configure-args: set exec_prefix to ${prefix}
autotools will pass its configure_args to subdir if required,
if we don't init exec_prefix, it will pass --libdir=NONE/lib{32,64} to
subdir configure.
2021-02-24 18:31:34 +07:00
John 7c495a8ca8 environment/configure/gnu-configure-args.sh: do not expand exec_prefix
the expansion did at least result in invalid pkgconfig
and cmake files generated in xapian-core
2021-02-17 22:19:33 +01:00
John b4f67689a1 autoconf_cache/common-glibc: remove *sys_siglist entries, removed with glibc 2.32 2021-01-24 22:51:04 +01:00
q66 5922df60c7 xbps-src: make sure to apply FFLAGS properly like CFLAGS 2021-01-03 14:11:02 +01:00
Érico Rolim de99c9693f environment/configure/gnu-configure: always include configure_args from
template last.

This makes sure that anything set in templates will override the
defaults.
2020-12-27 22:31:15 -03:00
q66 87d28506e1 build-style: change all build-styles to use /usr/libNN 2020-12-22 22:18:25 +01:00
Érico Rolim f97f031010 autoconf_cache/musl-linux: fix sigprocmask value.
It was "1", should have been "yes". This fixes building gettext.
2020-11-20 19:17:38 -03:00
Jürgen Buchmüller 241acab35e .../automake: config.gues fix copy+paste bug 2020-09-23 18:37:09 +02:00
Jürgen Buchmüller a1f6054e90 .../automake: update to latest config.{guess,sub} 2020-09-23 13:30:57 +02:00
John ea2c703153 common/environment/build: set CCACHE_BASEDIR to wrksrc
this will rewrite total paths to be relative to CCACHE_BASEDIR before caching,
helps prevent cache misses due to changed wrksrc with build systems like cmake
that use total paths in their Makefiles
2020-06-26 15:09:41 -07:00
q66 ad7ab5c568 configure/autoconf_cache: endian fix in ppc32 2020-04-30 01:10:21 +02:00
q66 e46ea34662 configure/autoconf_cache: fix long double size on musl 2020-04-30 01:06:51 +02:00
q66 472b244572 configure/autoconf-cache: fix ppc and add ppcle 2020-04-30 01:06:51 +02:00
Juan RP ac4186c7d2
xbps-src/environment/autoconf_cache: disable lchmod.
lchmod in musl always returns ENOTSUP and this makes some
ruby gems fail, i.e jekyll.
2020-04-12 20:32:57 +02:00
Đoàn Trần Công Danh c0ab53b2f5 git: update to 2.25.2. 2020-03-18 09:34:32 +01:00
q66 80b96a0ea0 common: better location for config.{sub,guess} + update 2019-11-18 20:36:27 +01:00
Thomas Batten c785cfd34e common: Add ppc target 2019-01-19 10:15:01 +01:00
Leah Neukirchen 6b81302e38 environment/configure/hardening.sh: enable -fstack-clash-protection
This flag will make GCC 8 touch all space allocated using alloca(3)
and thus detect code jumping over the "stack gap".
2019-01-11 16:20:18 +01:00
q66 151f876627 common: add ppc64 build profiles and other ppc64 bits
This adds the build profiles for ppc64 targets as well as
modifications in other parts of the infra.

These targets are supported:

- ppc64le (glibc little endian elfv2)
- ppc64le-musl (musl little endian)
- ppc64-musl (musl big endian)

ELFv1 targets are explicitly not supported at this point.

Big endian musl supports ppc 970 or newer, while little endian
targets are set to a generic powerpc64le which effectively means
POWER8 and newer. Tuning is always set for POWER9, which is the
most likely target hardware. We also make sure AltiVec is always
on, because it is supported on all hardware we target.

[ci skip]
2019-01-05 23:38:00 +01:00
Jürgen Buchmüller fa8becd3e1 autoconf_cache/arm-linux: fix sizeof(wchar_t) 2018-02-04 13:39:47 +01:00
Jürgen Buchmüller 5bef4d8ad8 autoconf_cache: aarch64 add ac_cv_sizeof_bool=1 2018-01-16 00:29:42 +01:00
hipperson0 fb26ec4a5b New package: cross-mips-linux-muslhf-0.24 2017-11-24 10:11:23 +01:00
Jürgen Buchmüller 546228d62a autoconf_cache/musl-linux: use 64 bit off_t etc. 2017-11-13 16:24:11 +01:00
Jürgen Buchmüller b55932255d configure/hardening.sh: use PIE and SSP by default, drop -specs hacks. 2017-11-02 15:57:31 +01:00
Christian Neukirchen 43c25bf405 autoconf_cache/aarch64-linux: set as_cv_unaligned_access=no.
Unaligned access is generally permitted, but there are modes where it
is not, and who knows which hacks are enabled when that thing is on.
2016-09-19 21:28:14 +02:00
Juan RP 882f23cf98 env/hardening: fix hardening on MIPS.
Thanks to @chneukirchen for finding the correct solution:

gcc sets -mno-shared by default when compiling non-PIC, and because
we are overriding the builtin specs, this internal rule set for gnu/mips
does not trigger:

gcc/config/mips/gnu-user.h:/* Default to -mno-shared for non-PIC.  */
gcc/config/mips/gnu-user.h:  " %{mshared|mno-shared|fpic|fPIC|fpie|fPIE:;:-mno-shared}"

So that we now use a specific specs file just for mips that sets -mshared for PIC.

This fixes building packages with hardening enabled for MIPS.
2016-04-27 15:01:40 +02:00
Juan RP 7e117fb96d env/hardening: reenable hardening for MIPS.
I just booted a full PIE base-system successfully on my CI20 Creator.

For now we set -fPIE again in C{,XX}FLAGS to fix the build in attr/acl/coreutils, etc.
2016-04-27 12:47:56 +02:00
Juan RP d55d16482d env/hardening: disable PIE generally for MIPS.
PIE is currently broken in MIPS.
2016-04-26 09:41:28 +02:00
Jürgen Buchmüller 8ce51e70cf timestamp-macros: fix creation and add cleanup
As described in #3765
2016-03-07 09:46:34 +01:00
Enno Boland 0c4b812ad3 common/environment: fix error message 2016-03-06 14:10:41 +01:00
Enno Boland 15f26298aa common/environment: empty file before writing.
Emptying the headerfile before writing into it. This prevents
defining/undefining a macro multiple times.

addresses #3765.
2016-03-06 13:07:11 +01:00
Enno Boland a04687bf74 common: fix glibc
glibc is a wonderful library. Tidy and clean. To keep it that clean
it does such useful things as sorting the CFLAGS alphabeticly.
Unfortunately this breaks command line arguments that contain parameters
such as `-include /foo/bar`. This commit works around this flaw by
removing the space and using -include/foo/bar instead.
2016-03-01 20:52:44 +01:00
Enno Boland b5e49c48e7 common: replace XBPS_COMMIT_TIMESTAMP by SOURCE_DATE_EPOCH
This way we are compatible to the Debians proposal. See [1].

[1] https://gcc.gnu.org/ml/gcc-patches/2015-06/msg02210.html
2016-03-01 18:27:49 +01:00
Enno Boland 69cb0beb58 environment/configure: move macro definition to a header file and include it.
This prevents escaping issues with command line options.
2016-03-01 18:08:56 +01:00
Enno Boland 995c356e30 Revert "common/environment: add missing backslashes for macro definitions."
This reverts commit c46b43df61.

lynx was complaining about missing " in the CFLAGS. apparently this is an error in the lynx
build system, not in the CFLAGS.
2016-03-01 17:50:06 +01:00
Enno Boland c46b43df61 common/environment: add missing backslashes for macro definitions. 2016-03-01 17:45:42 +01:00
Enno Boland 3c04642877 environment/build: overwrite __DATE__, __TIME__, and __TIMESTAMP__ macros.
This commit overwrites timestamps that depend on timestamps with the
commit date of a package.
2016-03-01 15:33:09 +01:00
Juan RP 3a40219469 env/hardening: fix inverted nopie setting on mips*-musl. 2015-12-12 08:36:51 +01:00
Juan RP b53ac251ea env/hardening: handle {i686,mips,mipsel}-musl in a common place. 2015-12-12 08:32:38 +01:00
Christian Neukirchen 5745ea5b82 configure/hardening.sh: disable hardening on mipsel-musl. 2015-11-27 18:29:19 +01:00
Christian Neukirchen 4c4c82cb19 configure/gnu-configure-args.sh: match mipsel-musl. 2015-11-27 18:29:19 +01:00
Christian Neukirchen e58a7b24e9 gccspecs/hardened-cc1: also pass -fPIE to cpp by default.
Note that -fPIE defines __PIC__ and __PIE__, so passing this on to
pure cpp(1)/gcc -E executions is relevant.

Found the hard way due to ccache breaking on i686 with precompiled
headers which used the non-PIC definitions in cpuid.h since header
precompilation doesn't read cc1_options.
2015-11-19 16:30:06 +01:00
Juan RP 744acd0308 xbps-src: env/hardening: make sure to put pkg overrides at the end. 2015-11-17 17:24:54 +01:00
Juan RP 784f75931d xbps-src: move compiler/linker defaults to env/hardening.sh.
The user can still set his/her defaults via etc/conf, and per
package in the templates.
2015-11-17 17:13:12 +01:00
Juan RP 3fdad91bf9 xbps-src: make 'build_pie' the default; use 'nopie' to disable it.
Discussed with @chneukirchen.
2015-11-17 16:47:19 +01:00
Juan RP bfcc741398 time: unbreak cross musl; set _GNU_SOURCE and override wait3 test.
Thanks @pullmoll
2015-10-28 17:12:38 +01:00