同様の不満の後、私はちょうど今、両方のAをまとめましたMinGW-w64を使用するlibreadline 6.2の32ビット版と64ビット版。私DEVディレクトリの
レイアウト:
32ビットのビルドのためのいくつかの環境変数を設定し
c:\dev\msys
c:\dev\mingw32
c:\dev\local32
c:\dev\mingw64
c:\dev\local64
:
export CPPFLAGS=-I/c/dev/local32/include
export LDFLAGS=-L/c/dev/local32/lib
termcap 1.3.1.
実行インクルードをここに私はそれをしなかった私の方法ですconfigureスクリプト:
./configure --host=i686-w64_mingw32 --prefix=/c/dev/local32
termcap.cを編集し、一番上に数行を修正してください。鉱山は、次のようになります。
/* Emacs config.h may rename various library functions such as malloc. */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#ifdef emacs
#include <lisp.h> /* xmalloc is here */
/* Get the O_* definitions for open et al. */
#include <sys/file.h>
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#endif
//#ifdef HAVE_UNISTD_H
#include <unistd.h>
//#endif
#else /* not emacs */
//#ifdef STDC_HEADERS
#include <stdlib.h>
#include <string.h>
#define bcopy(b1,b2,len) (memmove((b2), (b1), (len)), (void) 0)
//#else
//char *getenv();
//char *malloc();
//char *realloc();
//#endif
とtparam.c
/* Emacs config.h may rename various library functions such as malloc. */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#ifdef emacs
#include "lisp.h" /* for xmalloc */
#else
//#ifdef STDC_HEADERS
#include <stdlib.h>
#include <string.h>
//#else
//char *malloc();
//char *realloc();
//#endif
/* Do this after the include, in case string.h prototypes bcopy. */
//#if (defined(HAVE_STRING_H) || defined(STDC_HEADERS)) && !defined(bcopy)
#define bcopy(s, d, n) memcpy ((d), (s), (n))
//#endif
#endif /* not emacs */
してMakefileを変更します。その呼び出し後
Line 23: CC = i686-w64-mingw32-gcc
Line 24: AR = i686-w64-mingw32-ar
Line 36: prefix = /c/dev/local32
Line 49: #oldincludedir = /usr/local
ををインストールし、それは警告やエラーなしでコンパイルする必要があります。
./configure --prefix=/c/dev/local32 --host=i686-w64-mingw32 --enable-static --enable-shared
Makefileを編集:
Line 40: AR = i686-w64-mingw32-ar
がをインストールしますが、今コンパイルしreadlineのをインストールする必要があり、同じCPPFLAGSを設定し、呼び出す前のtermcapのように変数をLDFLAGS
readline 6.2
!
あなたは64ビットのライブラリをしたい場合は、* x86_64版-W64-MINGW32とのi686-W64-MINGW32 *とlocal64とlocal32を交換してください。
私はWindowsプログラミングについてはほとんど知らないが、それを手伝ってはいけないが、GNU readlineはGPLされているので、バイナリのみのパッケージは配布できないことに注意してください(プリコンパイル済みのものを配布できます著作権侵害)。 – AProgrammer
興味深いことに、まさにこれらの要件は何ですか? (私たちのプロジェクトはオープンソースなので、私たちは確かに遵守することができますが、ライセンス部門にはあまり熟練していません:)。オンラインソースへの参照を含むバイナリの配布などが許可されているのですか、またはソースは常に含まれていなければなりませんか? –
そのために弁護士が必要です。私は元のソースが利用可能である限り、参照付きバイナリは許されていると信じています。最大のハードルは、あなたのソフトウェアもGPLでなければならないということです(他の、より寛大なオープンソースライセンスではありません)。さまざまな段階でeditlineと呼ばれるBSDのコピーライドされたreadlineクローンがあります。 –