scheduler/pthread.c breakage (and fix)
Gerald Pfeifer
gerald at pfeifer.com
Sat Nov 8 05:09:17 CST 2003
[ wine-devel -> wine-patches ]
On Thu, 6 Nov 2003, Gerald Pfeifer wrote:
> Revision 1.47 of scheduler/pthread.c broke compilation on FreeBSD
> -CURRENT:
>
> ../scheduler/pthread.c: In function `wine_pthread_create_thread':
> ../scheduler/pthread.c:265: error: `SYS_rfork' undeclared...
I noticed that your (Alexandre's) follow-up patches fixed this, thanks!
Unfortunately, FreeBSD is still broken without the patch below, which I
successfully tested on SUSE Linux 9.0, FreeBSD 4.8, and FreeBSD 5.1.
Gerald
ChangeLog:
Add appropriate pthread flags for FreeBSD.
Index: loader/Makefile.in
===================================================================
RCS file: /home/wine/wine/loader/Makefile.in,v
retrieving revision 1.11
diff -u -3 -p -r1.11 Makefile.in
--- Makefile.in 6 Nov 2003 23:05:41 -0000 1.11
+++ Makefile.in 8 Nov 2003 09:49:14 -0000
@@ -28,7 +28,12 @@ wine-kthread: $(KTHREAD_OBJS) Makefile.i
$(CC) -o $@ $(LDEXECFLAGS) $(KTHREAD_OBJS) $(LIBWINE) $(LIBPORT) $(EXTRALIBS) $(LDFLAGS)
wine-pthread: $(PTHREAD_OBJS) Makefile.in
- $(CC) -o $@ $(LDEXECFLAGS) $(PTHREAD_OBJS) $(LIBWINE) $(LIBPORT) $(LIBPTHREAD) $(EXTRALIBS) $(LDFLAGS)
+ if [ `uname -s` = "FreeBSD" ] && [ `uname -r | cut -c1` = 4 ]; then \
+ l=-pthread; \
+ elif [ `uname -s` = "FreeBSD" ]; then \
+ l=-lc_r; \
+ fi; \
+ $(CC) -o $@ $(LDEXECFLAGS) $(PTHREAD_OBJS) $(LIBWINE) $(LIBPORT) $(LIBPTHREAD) $(EXTRALIBS) $(LDFLAGS) $$l
$(MODULE): $(MAIN_BINARY)
$(RM) $(MODULE) && $(LN_S) $(MAIN_BINARY) $(MODULE)
More information about the wine-patches
mailing list