X68000のGCCの導入について

X68000エミュレータC言語の開発環境を構築する

 

自分はC言語は「若いころ、ちょっといじったことがある」程度なのでほぼど素人であります

retropc.net

SHARP製Cコンパイラ(XC)やGCCなど必要なソフトはこちらで入手できます。

 

今回は

コンパイラはXCではなく広くX68ユーザーに使われているGCC(真理子版)を

ライブラリは手元にマニュアルが残っていて、関数の使い方が確認しやすいXCのライブラリ…という環境を構築しようと思います

 
C言語環境セットアップ

http://www.ausystem.org/~aushacho/sfxvi/kouza/h06_10/1.htm

 

X68000 Programming / X680x0公会堂

 

GCCのドキュメントにもXCのライブラリを使う方法は記載されていますし、ネットで検索をかけると上のようなページがヒットします、こちらは手順がわすりやすく書かれていますので、手順通りにすすめれば構築できるはずですが…大変でした

 

解説サイトもドキュメントも十分親切でわかりやすいのですが

gnulib.l

というファイルがみあたりません

 

LIBC 1.1.32A - ライブラリ - プログラミング - ソフトウェアライブラリ - X68000 LIBRARY

こちらのアーカイブ

libgnu.a

というのはありますが微妙に名前が違います

 

どちらも同じものが含まれるライブラリなのですが書式が違います

そして、使用の際は書式を統一しないといけません

 

サイト等の解説には「.lの方を使ってください」的な記述ですが見当たりません

 

おそらくですが

過去に配布されたライブラリには.aと.lの両方が入っていたものの、現在配布されているものは.aだけ…という状況なのだと思われます。

 

ということで、現代では

libgnu.aからgnulib.lをこさえる作業が必要となります。

 

具体的な手順は

① AR.Xというソフトでibgnu.aの中身を取り出して

② LIB.Xというソフトでgnulib.lをこさえます

AR.XとLIB.Xは、XCコンパイラに同梱されています

AR.X、LIB.Xの使い方はXCの「アセンブラマニュアル」の第7章「アーカイバ」第8章「ライブラリアン」にあります

 

勉強不足でわからないのですが、取り出しやライブラリ作成でワイルドカードが使えなかったので「一個一個とりだして」「一個一個登録」的な作業が必要になります。

 

恐ろしく非効率的作業なので

ar -l libgnu.a > list.txt

パイプでリストをテキスト出力

これを元にエディターで頭の悪いバッチファイルをこさえて変換しました

https://drive.google.com/file/d/1UjMgIoLPc72xp4T28Vrz4nNb3zUTs-Mm/view?usp=sharing

 

出来上がりのファイル名が違っていますが、gnulib.lという名前に変更したら使えると思います