Hi all,
I am trying to cross compile Glib into Mini-OS. I add the 'cross-glib'
target in Makefile. The cross compilation and installation are succeed. But when
cross compiled with the main.c that include <glib.h>, it yields:
cross-root-x86_64/x86_64-xen-elf/include/glib-2.0/glib/deprecated/gthread.h:162:5:
error: unknown type name ‘pthread_t’
make[1]: *** [main.o] Error 1
I find pthread_t is defined in <sys/types.h>, which is included in
'pthread.h':
#if defined(_POSIX_THREADS)
#include <sys/types.h>
#include <time.h>
#include <sys/sched.h>
Does it mean the system doesn't define "_POSIX_THREADS"? If so,
can I still use the glib in the Mini-OS without the support of
"_POSIX_THREADS"?
The Makefile rules added are as follows:
TARGET_CPPFLAGS += -isystem
$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include/glib-2.0
TARGET_CPPFLAGS += -isystem
$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib/glib-2.0/include
.PHONY: cross-glib
cross-glib: glib-$(GLIB_VERSION) $(NEWLIB_STAMPFILE)
( cd $< && \
CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS)"
./configure --prefix=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf --verbose
--host=$(GNU_TARGET_ARCH)-xen-elf && \
$(MAKE) DESTDIR= && \
$(MAKE) DESTDIR= install )
.PHONY: $(CROSS_ROOT)
$(CROSS_ROOT): cross-newlib cross-zlib cross-libpci cross-glib
Any advice will be appreciated!
Lele Ma
_______________________________________________
Xen-users mailing list
Xen-users@lists.xen.org
http://lists.xen.org/xen-users