Early support for Windows (32-bits, via MinGW)

This commit is contained in:
Pierre Pronchery 2011-06-02 19:35:21 +00:00
parent 736f7ab1a5
commit 12c19e4214
3 changed files with 19 additions and 9 deletions

View File

@ -46,6 +46,7 @@ const String * sHostOS[HO_COUNT] =
"MacOSX", "MacOSX",
"FreeBSD", "NetBSD", "OpenBSD", "FreeBSD", "NetBSD", "OpenBSD",
"SunOS", "SunOS",
"MINGW32_NT-5.0",
"unknown" "unknown"
}; };
const struct HostKernel sHostKernel[] = const struct HostKernel sHostKernel[] =

View File

@ -42,6 +42,7 @@ typedef enum _HostOS
HO_MACOSX, HO_MACOSX,
HO_FREEBSD, HO_NETBSD, HO_OPENBSD, HO_FREEBSD, HO_NETBSD, HO_OPENBSD,
HO_SUNOS, HO_SUNOS,
HO_WIN32,
HO_UNKNOWN HO_UNKNOWN
} HostOS; } HostOS;
# define HO_LAST HO_UNKNOWN # define HO_LAST HO_UNKNOWN

View File

@ -517,12 +517,17 @@ static void _binary_ldflags(Configure * configure, FILE * fp,
String const * ldflags) String const * ldflags)
{ {
char const * libs_bsd[] = { "dl", "resolv", "ossaudio", "socket", char const * libs_bsd[] = { "dl", "resolv", "ossaudio", "socket",
"ws2_32", NULL };
char const * libs_deforaos[] = { "ossaudio", "resolv", "ssl", "ws2_32",
NULL }; NULL };
char const * libs_deforaos[] = { "ossaudio", "resolv", "ssl", NULL }; char const * libs_gnu[] = { "ossaudio", "resolv", "socket", "ws2_32",
char const * libs_gnu[] = { "ossaudio", "resolv", "socket", NULL }; NULL };
char const * libs_macosx[] = { "crypt", "ossaudio", "socket", NULL }; char const * libs_macosx[] = { "crypt", "ossaudio", "socket", "ws2_32",
char const * libs_netbsd[] = { "dl", "resolv", "socket", NULL }; NULL };
char const * libs_sunos[] = { "dl", "ossaudio", NULL }; char const * libs_netbsd[] = { "dl", "resolv", "socket", "ws2_32",
NULL };
char const * libs_sunos[] = { "dl", "ossaudio", "ws2_32", NULL };
char const * libs_win32[] = { "dl", "ossaudio", NULL };
char buf[10]; char buf[10];
char const ** libs; char const ** libs;
String * p; String * p;
@ -536,13 +541,16 @@ static void _binary_ldflags(Configure * configure, FILE * fp,
} }
switch(configure->os) switch(configure->os)
{ {
case HO_GNU_LINUX: case HO_DEFORAOS:
libs = libs_gnu; libs = libs_deforaos;
break; break;
case HO_FREEBSD: case HO_FREEBSD:
case HO_OPENBSD: case HO_OPENBSD:
libs = libs_bsd; libs = libs_bsd;
break; break;
case HO_GNU_LINUX:
libs = libs_gnu;
break;
case HO_MACOSX: case HO_MACOSX:
libs = libs_macosx; libs = libs_macosx;
break; break;
@ -552,8 +560,8 @@ static void _binary_ldflags(Configure * configure, FILE * fp,
case HO_SUNOS: case HO_SUNOS:
libs = libs_sunos; libs = libs_sunos;
break; break;
case HO_DEFORAOS: case HO_WIN32:
libs = libs_deforaos; libs = libs_win32;
break; break;
default: default:
libs = libs_gnu; libs = libs_gnu;