Previous setup failed to do link bootstrap libz with msissing
unwind symbols due to not finding libgcc_s.so.1
Change-Id: I80a85502843f82d2324cf816cb761ddfa78e289f
Reviewed-on: https://review.haiku-os.org/c/buildtools/+/3754
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Based on Boost Jam patch: https://github.com/boostorg/build/pull/133
retrofitted to our version. Only the rules whose name contains Cc or C++
are stored there. This can be improved if it's not good enough.
The commands are generated only as they are run. Unfortunately I think
with Jam there isn't really a way to do otherwise.
Change-Id: Ic5d44dc27baa2a2e4157324f6c5a228ab0366afe
Reviewed-on: https://review.haiku-os.org/c/buildtools/+/3260
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
This brings Jam's usage of AR to be more conventional: the flags for AR
are moved to a separate variable, called ARFLAGS, ensuring that any
environment that overrides the AR variable will still end up using the
correct flags to create the archve.
Change-Id: I00449b284fab132d5fc9239017d742480fb51820
Reviewed-on: https://review.haiku-os.org/c/buildtools/+/3226
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Needed for building the EFI bootloader.
Unfortunately gcc doesn't know how to generate PE binaries for AArch64,
so a different solution will be needed there.
Change-Id: Id50d57ae81bdd7a18d424305d08fc55f312a2588
Reviewed-on: https://review.haiku-os.org/c/buildtools/+/2414
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Make new_string_list() initialize the buffer it creates to hold a file's
contents, preventing a segfault later on should jam attempt to parse the
contents of an empty file.
Fixes#15250.
Change-Id: I907dccd26e1ca35fbe07ed6d624b0144487134fe
Reviewed-on: https://review.haiku-os.org/c/buildtools/+/1716
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Among other things this ensures the TARGET2_TYPE linker option is set
correctly, preventing "unresolvable R_ARM_REL32 relocation" errors at
link time.
Fixes#15122.
Change-Id: Id4c6e97cc1739ecfac0f7cd0ec93927750f1b313
Reviewed-on: https://review.haiku-os.org/c/1702
Reviewed-by: Rene Gollent <rene@gollent.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* Noticed that our gcc2 randomly produces a "cpp" instead of a i586-pc-haiku-cpp
* A quick google search turned up a vintage patch for palmos which also
fixes this issue:
https://github.com/jichu4n/prc-tools-remix/blob/master/prc-tools-2.3/gcc-2.95.3.palmos.diff
* Confirmed it fixes the issue, and built a x86_gcc2 image without any
issues
Change-Id: I33959248f10b69d64a4a9e430a9c254a162bcb53
Reviewed-on: https://review.haiku-os.org/c/1583
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Change-Id: I73351225879f0c62613c9e6eff3e2bfc4251f86c
Reviewed-on: https://review.haiku-os.org/c/1537
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Change-Id: I7a413a81d33762f3cb1e8c67883d1e616f83d0e9
Reviewed-on: https://review.haiku-os.org/c/1536
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
* ac9c3b700 introduced modifications to configure.ac which added
HYBRID_SECONDARY support to configure. Without these changes,
HYBRID_SECONDARY = @HYBRID_SECONDARY@ in Makefile.in (configure
doesn't template it out) which trickled into library search paths
in various places. (if def, set to contents of HYBRID_SECONDARY)
* Fixes bootstraps across all architectures (that bootstrap ;-))
We need this to build the openfirmware loader.
Change-Id: Ie53a71fffdbe7e08bce5447062618fd05afc8fed
Reviewed-on: https://review.haiku-os.org/c/1362
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* STARTFILE_PREFIX_SPEC is defined to /usr,/lib,etc on riscv.h
which seems to override the sysroot paths for libraries.
Change-Id: Ia6b785ba1e5421a86227204b73b90496fb1af3ff
- Remove accidentally copied NetBSD stuff, so we actually use our
linkspec
- Put the files in the correct order in config.gcc
This gets us past stage0 bootstrapping (building gcc_bootstrap package).
Change-Id: I245a5ae111a6ca5e02b55e7a49e47cadcbc21731
Reviewed-on: https://review.haiku-os.org/c/1081
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This is kind of a hack, but really it's the configure script that
is broken, as it hard-checks for "gcc-ar" which of course does not
work with Clang builds. We want LTO to be enabled in GCC, and
GCC unconditionally passes all arguments it gets to sub-configures,
so all we can do is stop the flag from having any effect.
Fixes#14733.
Change-Id: Ifa5b93cb959798d74ed045f53f5050651f409314
Reviewed-on: https://review.haiku-os.org/c/1062
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
- If kallisti5 is having fun with RISC-V, why can't I too?
- Gets as far as complaining we don't have a libsolv package in
non-bootstrap builds
Change-Id: I0bb2b632d8f9007d5ad130f8cfddda36787050fc
Reviewed-on: https://review.haiku-os.org/c/1060
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
On most systems, "D" (deterministic) is now the default archiving mode,
and so specifying "u" will throw a warning that "D" is being used anyway.
Jam previously assumed, as it was passing "u", that the timestamps inside
.a's were valid when they were actually 0, which was leading to spurious
rebuilds of .as.
After this change, we assume archives cannot be scanned for timestamps,
which should stop the spurious rebuilds of targets on most systems.
Hopefully this is enough to satisfy the license requirements.
Remove some of the "LOCAL CHANGE" comments as a result (ones about
the HeaderCache remain.)