2015/04/18

GCC 5 (その 2) の巻

gcc/libstdc++-v3/config/os/haiku/ctype_base.h にパッチを当てて、やっと gcc 5 クロスコンパイラができあがりました。
     static const mask alnum = (1 << 2) | (1 << 3);  // alpha|digit
-#if __cplusplus >= 201103L
-    static const mask blank = 1 << 10;
-#endif
- };
+  };
さっそく Haiku 本体のビルドを始めると、さすがメジャーバージョンアップだけあって出るわ出るわ、いままでなかったようなエラーの山。一つづつ潰していきましたが、最後にどうしてもわからなったのが次のような libroot での redefinition エラーの山。
/home/haiku/haiku/haiku/src/system/libroot/posix/glibc/arch/generic/s_ldexp.c:33:22: error: redefinition of 'ldexp'
 weak_alias (__ldexp, ldexp)
さんざん悩んで、なんとかこのあたりからヒントをもらって、build/jam/ArchitectureRules を修正することで解決できました (その下の clang のとこから適当にコピー)。
         WARNINGS on $(file) = $(WARNINGS) ;
     }

+    if $(gccVersion[1]) >= 5 {
+        AppendToConfigVar CCFLAGS :
+            HAIKU_TOP src system libroot posix glibc :
+            -fgnu89-inline : global ;
+    }
+
     if $(HAIKU_CC_IS_CLANG_$(architecture)) = 1 {
これでやっとビルドも通って、いざ実行!!!

ロケット点火せず…

旅はまだまだ続くようです。

0 件のコメント:

コメントを投稿