There are only three issues left, and after that Wine could be built on a Mac OS X/Darwin from WineHQ's CVS.
When building dynamic library (shared object) object files, the -fno-common flag must be specified because Mac OS X's linker doesn't allow common symbols in shared library. So I added a LIBFLAGS var which can be specfied to add the -fno-common flag to the CFLAGS.
Please Notice that the static lib libwine_wpp mustn't have a -fno-common, whereas libwine_port must have one. To handle the different cases, libs which need -fno-common receive a @COMMONFLAG@ defined in the configure.ac.
Thanks,
Pierre.
ChangeLog Add Support for /libs building on Darwin/Mac OS X.
Index: configure.ac =================================================================== RCS file: /home/wine/wine/configure.ac,v retrieving revision 1.211 diff -u -r1.211 configure.ac --- configure.ac 25 Nov 2003 03:31:26 -0000 1.211 +++ configure.ac 25 Nov 2003 19:57:10 -0000 @@ -841,6 +841,7 @@ AC_SUBST(DLLFLAGS,"-D_REENTRANT") AC_SUBST(DLLIBS,"") AC_SUBST(LDSHARED,"") +AC_SUBST(COMMONFLAGS,"") AC_SUBST(LDDLL,"") AC_SUBST(LIBEXT,"so") AC_SUBST(IMPLIBEXT,"def") @@ -926,6 +927,7 @@ LIBEXT="dylib" LDDLL="\$(CC) -bundle -flat_namespace -undefined suppress" LDSHARED="\$(CC) -dynamiclib" + COMMONFLAGS="-fno-common" CFLAGS="$CFLAGS -ffixed-r13 -no-cpp-precomp" fi fi Index: Make.rules.in =================================================================== RCS file: /home/wine/wine/Make.rules.in,v retrieving revision 1.163 diff -u -r1.163 Make.rules.in --- Make.rules.in 11 Oct 2003 01:05:18 -0000 1.163 +++ Make.rules.in 25 Nov 2003 19:57:52 -0000 @@ -55,7 +55,7 @@ LINTFLAGS = @LINTFLAGS@ INCLUDES = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include $(EXTRAINCL) EXTRACFLAGS = @EXTRACFLAGS@ -ALLCFLAGS = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) +ALLCFLAGS = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(LIBFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) ALLLINTFLAGS = $(INCLUDES) $(DEFS) $(LINTFLAGS) IDLFLAGS = $(INCLUDES) $(DEFS) $(EXTRAIDLFLAGS) MKINSTALLDIRS= $(TOPSRCDIR)/tools/mkinstalldirs -m 755 Index: libs/port/Makefile.in =================================================================== RCS file: /home/wine/wine/libs/port/Makefile.in,v retrieving revision 1.8 diff -u -r1.8 Makefile.in --- libs/port/Makefile.in 12 Nov 2003 03:16:00 -0000 1.8 +++ libs/port/Makefile.in 25 Nov 2003 19:58:57 -0000 @@ -1,5 +1,6 @@ DEFS = -D__WINESRC__ DLLFLAGS = @DLLFLAGS@ +LIBFLAGS = @COMMONFLAGS@ TOPSRCDIR = @top_srcdir@ TOPOBJDIR = ../.. SRCDIR = @srcdir@ Index: libs/unicode/Makefile.in =================================================================== RCS file: /home/wine/wine/libs/unicode/Makefile.in,v retrieving revision 1.6 diff -u -r1.6 Makefile.in --- libs/unicode/Makefile.in 15 Oct 2003 20:52:28 -0000 1.6 +++ libs/unicode/Makefile.in 25 Nov 2003 19:58:58 -0000 @@ -4,6 +4,7 @@ VPATH = @srcdir@ LIBRARY = wine_unicode SOVERSION = 1 +LIBFLAGS = @COMMONFLAGS@ EXTRADEFS = -D__WINESRC__ -DNO_LIBWINE_PORT CODEPAGES = \ Index: libs/wine/Makefile.in =================================================================== RCS file: /home/wine/wine/libs/wine/Makefile.in,v retrieving revision 1.6 diff -u -r1.6 Makefile.in --- libs/wine/Makefile.in 11 Nov 2003 22:21:29 -0000 1.6 +++ libs/wine/Makefile.in 25 Nov 2003 20:02:00 -0000 @@ -4,6 +4,7 @@ VPATH = @srcdir@ LIBRARY = wine SOVERSION = 1 +LIBFLAGS = @COMMONFLAGS@ EXTRADEFS = -D__WINESRC__ -DBINDIR="\"$(bindir)\"" -DDLLDIR="\"$(dlldir)\"" EXTRALIBS = $(LIBPORT) @DLLIBS@ @CRTLIBS@