diff options
author | H. Peter Anvin <hpa@zytor.com> | 2008-07-16 17:01:33 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2008-07-16 17:01:33 -0700 |
commit | 963a38fc45a50d555d61f4a4640b02d7c398b4f4 (patch) | |
tree | a38961de7f3fc1753f3176654c3b18c0c35c254f | |
parent | b852724c9d4b2fe91c327447666c51409fc263f8 (diff) | |
download | syslinux-963a38fc45a50d555d61f4a4640b02d7c398b4f4.tar.gz |
win32: search for a mingw compiler under several names
Search for the MinGW compiler under several names, since different
distros like to install it under different names. What's wrong with a
simple mingw- prefix??
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r-- | win32/Makefile | 31 | ||||
-rwxr-xr-x | win32/find-mingw.sh | 23 |
2 files changed, 37 insertions, 17 deletions
diff --git a/win32/Makefile b/win32/Makefile index fe94d1e4..9ea96435 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -19,30 +19,27 @@ OSTYPE = $(shell uname -msr) ifeq ($(findstring CYGWIN,$(OSTYPE)),CYGWIN) -WINCC = gcc -WINAR = ar -WINRANLIB = ranlib -WINCFLAGS = -mno-cygwin -W -Wall -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -WINPIC = -WINLDFLAGS = -mno-cygwin -Os -s +## Compiling on Cygwin +WINPREFIX := +WINCFLAGS := -mno-cygwin -W -Wall -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 +WINLDFLAGS := -mno-cygwin -Os -s else +## Compiling on some variant of MinGW ifeq ($(findstring MINGW32,$(OSTYPE)),MINGW32) -WINCC = gcc -WINAR = ar -WINRANLIB = ranlib +WINPREFIX := else -WINCC = i386-mingw32-gcc -WINAR = i386-mingw32-ar -WINRANLIB = i386-mingw32-ranlib +WINPREFIX := $(shell find-mingw.sh gcc) endif - -WINCFLAGS = -W -Wall -Wno-sign-compare -Os -fomit-frame-pointer \ - -D_FILE_OFFSET_BITS=64 -WINPIC = -WINLDFLAGS = -Os -s +WINCFLAGS := -W -Wall -Wno-sign-compare -Os -fomit-frame-pointer \ + -D_FILE_OFFSET_BITS=64 +WINLDFLAGS := -Os -s endif WINCFLAGS += -I. -I.. -I../libfat -I../libinstaller +WINCC := $(WINPREFIX)gcc +WINAR := $(WINPREFIX)ar +WINRANLIB := $(WINPREFIX)ranlib + WINCC_IS_GOOD := $(shell $(WINCC) $(WINCFLAGS) $(WINLDFLAGS) -o hello.exe hello.c >/dev/null 2>&1 ; echo $$?) .SUFFIXES: .c .o .i .s .S diff --git a/win32/find-mingw.sh b/win32/find-mingw.sh new file mode 100755 index 00000000..59c5d31a --- /dev/null +++ b/win32/find-mingw.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +cc="$1" + +for prefix in \ + mingw- \ + i386-mingw32- \ + i486-mingw32- \ + i586-mingw32- \ + i686-mingw32- \ + i386-mingw32msvc- \ + i486-mingw32msvc- \ + i586-mingw32msvc- \ + i686-mingw32msvc-; do + if "${prefix}${cc}" -v > /dev/null 2>&1; then + echo "$prefix" + exit 0 + fi +done + +# No prefix, no idea what to do now... +echo missing- +exit 1 |