BuildSystem: cmake can now build out libc

I can't seem to get libc++ build to work...
This commit is contained in:
Bananymous
2023-04-07 02:27:15 +03:00
parent 989f9ec5fe
commit 25ddc24754
7 changed files with 81 additions and 11 deletions

View File

@@ -43,7 +43,6 @@ if [ ! -f ${PREFIX}/bin/${TARGET}-ld ]; then
--target="$TARGET" \
--prefix="$PREFIX" \
--with-sysroot="$SYSROOT" \
--enable-shared \
--disable-werror
make -j $(nproc)
@@ -73,7 +72,6 @@ if [ ! -f ${PREFIX}/bin/${TARGET}-g++ ]; then
--target="$TARGET" \
--prefix="$PREFIX" \
--with-sysroot="$SYSROOT" \
--enable-shared \
--enable-languages=c,c++
make -j $(nproc) all-gcc all-target-libgcc

View File

@@ -1,4 +1,4 @@
diff -ruN gcc-12.2.0/config.sub gcc-12.2.0-banan/config.sub
/diff -ruN gcc-12.2.0/config.sub gcc-12.2.0-banan/config.sub
--- gcc-12.2.0/config.sub 2022-08-19 11:09:52.128656687 +0300
+++ gcc-12.2.0-banan/config.sub 2023-04-05 21:48:39.434844559 +0300
@@ -1749,7 +1749,7 @@
@@ -25,7 +25,7 @@ diff -ruN gcc-12.2.0/fixincludes/mkfixinc.sh gcc-12.2.0-banan/fixincludes/mkfixi
diff -ruN gcc-12.2.0/gcc/config/banan_os.h gcc-12.2.0-banan/gcc/config/banan_os.h
--- gcc-12.2.0/gcc/config/banan_os.h 1970-01-01 02:00:00.000000000 +0200
+++ gcc-12.2.0-banan/gcc/config/banan_os.h 2023-04-05 22:03:20.133753757 +0300
@@ -0,0 +1,32 @@
@@ -0,0 +1,31 @@
+/* Useful if you wish to make target-specific GCC changes. */
+#undef TARGET_BANAN_OS
+#define TARGET_BANAN_OS 1
@@ -44,9 +44,8 @@ diff -ruN gcc-12.2.0/gcc/config/banan_os.h gcc-12.2.0-banan/gcc/config/banan_os.
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
+
+/* Linker struff */
+#undef LINK_SPEC
+#define LINK_SPEC "%{shared:-shared} %{static:-static} %{!shared: %{!static: %{rdynamic:-export-dynamic}}} -z max-page-size=4096"
+/* Don't use separate math library */
+#define MATH_LIBRARY ""
+
+/* Additional predefined macros. */
+#undef TARGET_OS_CPP_BUILTINS
@@ -54,7 +53,7 @@ diff -ruN gcc-12.2.0/gcc/config/banan_os.h gcc-12.2.0-banan/gcc/config/banan_os.
+ do { \
+ builtin_define ("__banan_os__"); \
+ builtin_define ("__unix__"); \
+ builtin_assert ("system=myos"); \
+ builtin_assert ("system=banan_os"); \
+ builtin_assert ("system=unix"); \
+ builtin_assert ("system=posix"); \
+ } while(0);