views:

71

answers:

3

I'm trying to build an application from source in windows that requires some Unix tools. I think it's the apparently standard ./configure; make; make install (there's no INSTALL file). First I tried MinGW but got confused that there was no bash, autoconf, m4, or automake exes in \bin. I'm sure I missed something obvious but I installed Cygwin anyways just to move forward. For some reason when I run

sh configure.sh

I get:

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

My OS has identity problems. Obviously the makefile is all wrong since I'm not on unix but win32. Why would the configure script think this? I assume it has something to do with Cygwin but if I remove that I can't build it at all. Please help; I'm very confused.

Also is it possible to build using MinGW? What's the command for bash and is mingw32-make the same as make? I noticed they're different sizes.

+3  A: 

Everything is fine. When you are inside CygWin, you are basically emulating an UNIX. sh runs inside CygWin, and thus identifies the OS correctly as Unix.

Have a look at GCW - The Gnu C compiler for Windows

Martin Hohenberg
A: 

From the Cygwin home page

Cygwin is a Linux-like environment for Windows. It consists of two parts:

  • A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API functionality.
  • A collection of tools which provide Linux look and feel.

Since configure is using the Cygwin environment, it is interacting against the emulation layer and so it is just like it's working on a Unix environment.

Have you tried building the application and seeing if it works?

R Samuel Klatchko
yes I run make and I get 'no such file or directory', Error 1, I assumed this was because it thought I was on Linux and not Win32
RobbR
+1  A: 

Also, you might be interested in this help page, that goes into some detail about the minimal system (MSYS), such as how to install, configure et. c.

That should help you get bash, configure and the rest to work for MinGW as well.

Mikael Ohlson