From c1cf0a7a537cfa0bab525a922014bb5a29eeb7c2 Mon Sep 17 00:00:00 2001 From: David Joseph Date: Sun, 24 Feb 2013 18:27:19 -0600 Subject: [PATCH] build: Add support for MinGW-w64. --- configure | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/configure b/configure index 19b6739..12ea6ad 100755 --- a/configure +++ b/configure @@ -419,10 +419,6 @@ else VMA_BITS_VALUE_R="${VMA_BITS}ULL" fi -# Platform will be used as a macro. -PROFILE="${PROFILE:-$PLATFORM}" -PLATFORM="__${PLATFORM}__" - # `which` on Solaris sucks pathsearch() { @@ -488,6 +484,9 @@ cat << EOF > .1.c #include int main(void) { #if defined(_WIN32) +#if defined(__MINGW64__) + puts("mingw64"); + return (0); #if defined(__MINGW32__) && (__MINGW32_MAJOR_VERSION >= 3) puts("mingw32"); return (0); @@ -525,7 +524,7 @@ if test "$COMPILER" = "suncc"; then LDFLAGS="-G -z text -h libck.so.$VERSION_MAJOR $LDFLAGS" CFLAGS="-xO5 $CFLAGS" PTHREAD_CFLAGS="-mt -lpthread" -elif test "$COMPILER" = "gcc" || test "$COMPILER" = "clang" || test "$COMPILER" = "mingw32"; then +elif test "$COMPILER" = "gcc" || test "$COMPILER" = "clang" || test "$COMPILER" = "mingw32" || test "$COMPILER" = "mingw64"; then LD=$CC if test "$SYSTEM" = "darwin"; then CC_WL_OPT="-install_name" @@ -535,6 +534,10 @@ elif test "$COMPILER" = "gcc" || test "$COMPILER" = "clang" || test "$COMPILER" LDFLAGS="-shared -fPIC -Wl,$CC_WL_OPT,libck.so.$VERSION_MAJOR $LDFLAGS" CFLAGS="-D_XOPEN_SOURCE=600 -D_BSD_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses $CFLAGS" PTHREAD_CFLAGS="-pthread" + if test "$COMPILER" = "mingw64"; then + ENVIRONMENT=64 + PLATFORM=x86_64 + fi else assert "" "unknown compiler" fi @@ -558,6 +561,10 @@ EOF fi done +# Platform will be used as a macro. +PROFILE="${PROFILE:-$PLATFORM}" +PLATFORM="__${PLATFORM}__" + printf "Generating header files.........." generate include/ck_md.h.in include/ck_md.h echo "success"