- python_module build style now builds modules for python2/3 by default
- new python2_module and python3_module build styles for building
python2-only and python3-only packages respectively
- no more python_versions
- no need to define pycompile_version for Python modules anymore
(still needed for non-Python modules though)
- Python version and paths are now guessed automatically and a set of
useful variables can now be used in templates
- #!/usr/bin/python2 and #!/usr/bin/python3 are now the default shebangs
- /usr/bin/foo2 and /usr/bin/foo3 are now the default names for bin
scripts (for use with alternatives)
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.
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.
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.
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.
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.
Go 1.5 doesn't permit our use of GOBIN anymore, breaking
cross-compilation (for details, see
https://github.com/golang/go/issues/9769)
In retrospect, I'm not sure why we set GOBIN in the first place;
GOPATH/bin should suffice.
Closes#2337