Age | Commit message (Collapse) | Author |
|
Re-installing the gcc port would previously fail because we failed to
overwrite the symlink.
|
|
|
|
For now this is not a mandatory toolchain rebuild.
|
|
Fixes #8377.
|
|
|
|
CMake specifies -arch arm64 for our toolchain. Unfortunately that's an
option GCC only understands when built for macOS. This causes the build
to fail.
I haven't been able to get CMake to not specify that option so this adds
a dummy option to GCC.
|
|
|
|
|
|
BSD sed differs from GNU sed with the `-i` option.
This commit changes the sed line in package.sh to be
portable across macOS and Linux.
|
|
This makes stdlib.h and stdio.h functions available in the std
namespace for C++.
libstdc++v3's link tests can fail if you don't have an up-to-date
build directory, for example:
1. Have libc with missing _Exit symbol because you haven't done
a build since that was added.
2. Run toolchain rebuild. libstdc++v3's configure script will
realize that it can do link tests in general but will fail
later on when it tries to link a program that tests for _Exit.
Even though this is a toolchain patch this does not necessarily
require rebuilding the toolchain right away. This is only required
once we start using any of these new members in the std namespace,
e.g. for ports.
|
|
|
|
|
|
|
|
This updates the way we verify signatures for the gcc
port because we were previously downloading the keychain
from the mirror which defeats the point of doing signature
checks.
|
|
|
|
This enables POSIX threads for GCC and makes the -pthread
argument available.
|
|
- Replaced /Root with
- Improved documentation.
- Removed a few typos.
- Replaced with
- Added brackets in some cases.
Most of the changes were reviewed and applied manually.
|
|
|
|
|
|
|
|
Recent ports already do this, let's update the others as well. One step
closer to multi-arch support for ports! :^)
|
|
Fixes #5710.
|
|
Our TLS implementation relies on the TLS model being "initial-exec".
We previously enforced this by adding the '-ftls-model=initial-exec'
flag in the root CmakeLists file, but that did not affect ports - So
now we put that flag in the gcc spec files.
Closes #5366
|
|
- Remove superfluous function overrides and use makeopts instead
- Remove superfluous installopts
- Use run rather than cd'ing manually
- Ensure empty line between functions
|
|
|
|
|
|
Previously, some hunks of the t-slibgcc patch failed to apply
|
|
We can now build the porst with the shared libraries toolchain.
|
|
|
|
Since we've already updated the toolchain, might as well update the
port as well. :^)
|
|
|
|
Closes https://github.com/SerenityOS/serenity/issues/2080
|
|
Ever closer to C++20! Also fix up some of those pesky "'s
|
|
* Use ${version} instead of explicit version numbers in urls/filenames
* Move -L option to port script, as this is always good
* Fix some various other stuff
|
|
Looks like this got missed, maybe a messy `git add --patch` job? It
caused packaging of the gcc port to fail.
|
|
Turns out the reason GCC wasn't as smart about startup code for
shared objects as we hoped is because nobody told it to be :D
Change the STARTFILE_SPEC and ENDFILE_SPEC in gcc/config/serenity.h to
skip crt0.o and to link the S variants of crtbegin
and crtend for shared objects.
Because we're using the crtbegin and crtend from libgcc, also tell
libgcc in libgcc/config.host to compile crtbeginS and crtendS from
crtstuff.c.
|
|
|
|
GCC is a huge project that takes a lot of time to build; let's at least
make this a little less painful by using all the available CPU cores.
|
|
To keep the self-hosting build working (note that it's
still broken even with this change).
This reuses the patch from commit c73aa662bba17b50404d3820655847cc9c4c6a44.
|
|
When running ./package.sh to rebuild an already installed port, we would not
want to spend time re-downlodaing the same tarball again. Ideally, this should
use some sort of hash checking to ensure the file is not truncated or something,
but this is good enough for now.
|
|
Partial revert of 704f48d7f3a1a88047a64b4e2939878d6d4fafb8.
These changes made the ports system unusable.
|
|
Ports/.port_include.sh, Toolchain/BuildIt.sh, Toolchain/UseIt.sh
have been left largely untouched due to use of Bash-exclusive
functions and variables such as $BASH_SOURCE, pushd and popd.
|
|
Much redundancy is removed from package scripts with this system.
It also supports simple dependency management, uninstalling (through
BSD ports style plist files), cleaning up after itself (with clean,
clean_dist, clean_all commands), etc.
|
|
|
|
|