为什么configure.sh认为win32是Unix?

时间:2009-10-26 23:46:09

标签: build-process cygwin

我正在尝试在Windows中从源代码构建一个需要一些Unix工具的应用程序。我认为这显然是标准./configure; make; make install(没有INSTALL文件)。首先我尝试了MinGW,但对于bash, autoconf, m4,中没有automake\bin前任感到困惑。我确定我错过了一些明显的东西,但我还是安装了Cygwin只是为了前进。出于某种原因我跑

sh configure.sh

我明白了:

platform                    unix
  compiler                    cc
  configuration directory     ./builds/unix
  configuration rules         ./builds/unix/unix.mk

我的操作系统存在身份问题。显然makefile是完全错误的,因为我不是在unix而是win32。配置脚本为什么会这样想?我认为它与Cygwin有关,但如果我删除它,我根本无法构建它。请帮忙;我很困惑。

还可以使用MinGW构建吗?什么是bash命令,mingw32-makemake相同?我注意到它们的尺寸不同。

3 个答案:

答案 0 :(得分:3)

一切都很好。当你在CygWin中时,你基本上是在模拟UNIX。 sh在CygWin中运行,因此将操作系统正确识别为Unix。

查看GCW - The Gnu C compiler for Windows

答案 1 :(得分:1)

另外,您可能对this help page感兴趣,它会详细介绍最小系统(MSYS),例如如何安装,配置等。角

这应该可以帮助你获得bash,配置,其余的也适用于MinGW。

答案 2 :(得分:0)

来自Cygwin主页

Cygwin是一个类似Linux的Windows环境。它由两部分组成:

  • 一个DLL(cygwin1.dll),它充当Linux API仿真层,提供大量Linux API功能。
  • 提供Linux外观的工具集。

由于configure正在使用Cygwin环境,因此它正在与仿真层进行交互,因此它就像在Unix环境中工作一样。

您是否尝试构建应用程序并查看其是否有效?