Skip to content

Instantly share code, notes, and snippets.

@Hamayama
Last active June 25, 2024 11:16
Show Gist options
  • Save Hamayama/d20ab805b50756ce1d9d to your computer and use it in GitHub Desktop.
Save Hamayama/d20ab805b50756ce1d9d to your computer and use it in GitHub Desktop.
Gauche の 外部パッケージ作成手順 メモ (Gauche v0.9.6 の場合)

Gauche の 外部パッケージ作成手順 メモ (Gauche v0.9.6 の場合)

  • Gauche の 外部パッケージ作成手順のメモです (Gauche v0.9.6 の場合)。
    (情報が古くなっている可能性があります)
  1. Gauche のインストール
    事前に Gauche がインストールされている必要があります。
    Windows の場合は、以下のページに Windows用バイナリインストーラ があるので
    インストールを実施ください。
    http://practical-scheme.net/gauche/download-j.html
    (すでにインストール済みであれば本手順は不要です)

  2. 開発環境のインストール
    C言語の開発環境が必要です。
    Windows の場合は、以下のページを参考に、MSYS2/MinGW-w64 (64bit/32bit) の
    開発環境をインストールしてください。
    https://gist.github.com/Hamayama/eb4b4824ada3ac71beee0c9bb5fa546d
    (すでにインストール済みであれば本手順は不要です)

  3. パッケージの雛形の作成
    適当な作業用のフォルダで、
    gauche-package generate パッケージ名 のようにコマンドを実行します。
    Windows の場合は、以下のように実行してください。
    <MSYS2/MinGW-w64 (64bit) 環境の場合>
    プログラムメニューから MSYS2 の MinGW 64bit Shell を起動して、以下のコマンドを実行します。
    <MSYS2/MinGW-w64 (32bit) 環境の場合>
    プログラムメニューから MSYS2 の MinGW 32bit Shell を起動して、以下のコマンドを実行します。
    (作業用のフォルダを /c/work とし、パッケージ名を msicon とした場合)

      cd /c/work
      gauche-package generate msicon
    

    フォルダ msicon ができて、中に雛形のファイルが生成されます。

  4. パッケージ情報の編集
    生成された package.scm の内容を編集して、バージョン番号や説明等を記述します。

  5. プログラムの作成
    以下のファイルを編集して、プログラムを作成します。
    (パッケージ名を msicon とした場合)

    ファイル名
    内容
    msicon.c Cの関数を追加します。
    msicon.h Cの関数の宣言を追加します。
    msiconlib.stub Cの関数を呼び出す手続きを追加します。
    msicon.scm 手続きの export を追加します。
    あとは普通にモジュールの処理を記述します。
    test.scm テストを記述します。

  6. コンパイル、インストール、テスト
    展開したフォルダで、./configure と make install を実行して、インストールを行います。
    また、make check でテストを行います。
    Windows の場合は、以下のように実行してください。
    <MSYS2/MinGW-w64 (64bit) 環境の場合>
    プログラムメニューから MSYS2 の MinGW 64bit Shell を起動して、以下のコマンドを実行します。
    <MSYS2/MinGW-w64 (32bit) 環境の場合>
    プログラムメニューから MSYS2 の MinGW 32bit Shell を起動して、以下のコマンドを実行します。
    (作業用のフォルダを /c/work とし、パッケージ名を msicon とした場合)

      cd /c/work/msicon
      ./configure   # Makefile等を生成します
      make          # コンパイルを実行します
      make install  # Gaucheのライブラリフォルダにインストールします
      make check    # テストを実行します
    

    (注意) Windows の環境によっては、make install を実行すると
    「*** ERROR: mkstemp failed」というエラーが発生します。
    このエラーは、インストール先のフォルダに書き込み権限がないとき等に発生します。
    その場合には、プログラムメニューからの開発環境の起動時に右クリックして、
    「管理者として実行」を選択してください。
    そして再度上記のコマンドを実行してください。

  • 以上です。

その他 情報等

  • コメント等に日本語を書く場合には、ファイルの文字コードに注意が必要です。
    (UTF-8 (BOMなし) にする)

  • 参考プロジェクト
    https://github.com/Hamayama/msicon
    (ただし configure と Makefile.in を一部改造しています
    (環境変数の無効化、CFLAGS,CPPFLAGS,LDFLAGS,LIBS,DEF_UNICODE の対応、
    Gauche v0.9.4 の対応等を追加しています))

(2018-8-15)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment