ポータブルOpenBSD ksh(1) 。公式OpenBSDプロジェクトではありません。
すべてのオペレーティングシステムは良いシェルに値するからです。
OpenBSD KSHの他のポートとは異なり、このポートは完全に自己完結型であり、オペレーティングシステムとCコンパイラ全体で最大限にポータブルにすることを目指しています。私たちは常にサポートを追加するための新しい組み合わせを探しています。
oksh 、次のオペレーティングシステムで実行されることが知られています。
ここにリストされていないシステムで実行されていますか?それを追加して、プルリクエストを送信してください!
oksh次のプラットフォームで動作すると考えていますが、テストが必要です。助けが大歓迎され、励まされます!
oksh 、次のCコンパイラで構築されることが知られています。
ここにリストされていないコンパイラを備えた建物?それを追加して、プルリクエストを送信してください!
okshは一部のパッケージシステムに含まれています。
さらに、いくつかの非公式パッケージがあります。
ここにリストされていないパッケージを使用しますか?それを追加して、プルリクエストを送信してください!
C99コンパイラは、 okshが正しく構築されるようにする最も簡単な方法です。既知の作業コンパイラのリストについては、上記のCコンパイラのリストをご覧ください。
必須ではありませんが、 ncursesライブラリは、 configure段階でライブラリが見つかった場合、画面クリアリングルーチンに使用されます。これは--disable-cursesフラグを渡してconfigureことで、ユーザーがオフにすることができます。
POSIX Makefileを生成するconfigureスクリプトは、構築とインストールを容易にし、以下を実行できます。
$ ./configure
$ make && sudo make install
configureスクリプトは、ツリーの構築を好む場合は、ツリー外ビルドを検出します。これが機能するためには、 VPATH拡張機能を作成します。 POSIXではありませんが、 VPATH BSD MakeとGNU Makeで動作することが知られています。ツリー内ビルドは、完全にPOSIX Makefileを作成します。
クロスコンパイルは、次のようにconfigure実行することで実現できます。
CC=/path/to/cross/cc CFLAGS="any needed cflags" LDFLAGS="any needed ldflags" ./configure --no-thanks
これにより、すべてのconfigureチェックをスキップし、一般的なMakefileとpconfig.hを書き留めます。 Cross GCCまたはClangを使用している場合、これは非常にうまく機能する可能性があります(すべての互換がコンパイルされています)。これらのファイルを編集して、 makeする前にシステムを反映できます。
すべての環境変数と構成フラグは--no-thanks使用するときに尊重されます。さらに指定します--no-link --no-thanksはソースファイルをオブジェクトファイルにコンパイルし、ターゲットマシンに転送してそこにリンクします。
--no-thanksフラグは、システムのバージョンの機能に依存するのではなく、コンパイルされたすべての互換性関数を使用してネイティブokshをコンパイルするために使用することもできます。
新しいプラットフォームを追加し、既存のプラットフォームのサポートを改善するパッチはいつでも大歓迎です。
oksh上流のOpenBSD KSHの動作から逸脱するパッチは、OpenBSD Tech@メーリングリストに送信するのに適しています。 Tech@に送信する前に、最初にOpenBSDマシンでパッチをテストしてください。パッチを受け入れたら、上流のopenbsddコードと同期します。ここで問題を開いてTech@でパッチの進行状況を追跡したい場合は、問題ありません。
主なKornシェルファイルはパブリックドメインです( LEGALを参照)。移植性ファイルはBSDまたはISCライセンスです。詳細については、個々のファイルヘッダーを参照してください。
[リリース]タブを参照してください。最新リリースはOKSH-7.5で、2024年4月5日にリリースされたOpenBSD 7.5のKSH(1)と一致します。