mirror of
https://github.com/aap/librw.git
synced 2026-08-30 11:18:26 +01:00
build the ps2 platform entirely with freesce: --freesce premake option
premake5 gmake --freesce retargets the one ps2 platform at freesce (its own ee-gcc 2.9 + newlib; FREESCE/FREESCE_GCC roots, defaulting to /usr/local/freesce) -- a premake-time choice since the 2.9 and 3.2 C++ ABIs don't link. The tools/freesce wrappers strip premake's gcc-3-style dep flags. demoreel_cd_freesce.elf now links with zero SCE inputs: freesce crt chain, newlib libc/libm, and ctorgen to register the PluginList ctors gcc 2.9 leaves orphaned. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
# premake's gccprefix applies to ar too; just forward
|
||||
exec "${FREESCE_GCC:-/usr/local/freesce/ee/gcc}/bin/ee-ar" "$@"
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
# ee-gcc 2.9 wrapper for the premake gmake build (--freesce): the
|
||||
# generated rules pass gcc-3-style dependency flags; the 2.9 driver
|
||||
# treats -MF's argument as a second input file and dies. Strip -MD,
|
||||
# -MP and -MF <file>, then run the real driver.
|
||||
# FREESCE_GCC is the compiler root (the xtc convention): the compiler
|
||||
# is not SDK-versioned, so it does not derive from FREESCE.
|
||||
skip=
|
||||
for a in "$@"; do
|
||||
shift
|
||||
if [ -n "$skip" ]; then skip=; continue; fi
|
||||
case "$a" in
|
||||
-MD|-MP) continue ;;
|
||||
-MF) skip=1; continue ;;
|
||||
esac
|
||||
set -- "$@" "$a"
|
||||
done
|
||||
exec "${FREESCE_GCC:-/usr/local/freesce/ee/gcc}/bin/ee-g++" "$@"
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
# see ee-g++ in this directory
|
||||
skip=
|
||||
for a in "$@"; do
|
||||
shift
|
||||
if [ -n "$skip" ]; then skip=; continue; fi
|
||||
case "$a" in
|
||||
-MD|-MP) continue ;;
|
||||
-MF) skip=1; continue ;;
|
||||
esac
|
||||
set -- "$@" "$a"
|
||||
done
|
||||
exec "${FREESCE_GCC:-/usr/local/freesce/ee/gcc}/bin/ee-gcc" "$@"
|
||||
Reference in New Issue
Block a user