diff options
| author | rpj <rpj> | 2005-05-24 03:05:21 +0000 | 
|---|---|---|
| committer | rpj <rpj> | 2005-05-24 03:05:21 +0000 | 
| commit | 062f752862bc7be64c256ee7eb0c231cd6dbe309 (patch) | |
| tree | 2ec08738a3ad4f8f2cd91dbe193f64b0ff75daa5 | |
| parent | 33121c0115dbd27a848d7fc4ed0d42e5a7091c79 (diff) | |
Minor changes to make mingw32 cross compiling on Linux easier
| -rw-r--r-- | ChangeLog | 11 | ||||
| -rw-r--r-- | GNUmakefile | 49 | ||||
| -rw-r--r-- | ptw32_relmillisecs.c | 2 | 
3 files changed, 40 insertions, 22 deletions
| @@ -1,3 +1,14 @@ +2005-05-24  Mikael Magnusson <mikaelmagnusson at glocalnet.net> + +	* GNUmakefile: Patched to allow cross-compile with mingw32 on Linux. +	It uses macros instead of referencing dlltool, gcc and g++ directly; +	added a call to ranlib. For example the GC static library can be +	built with: +	make CC=i586-mingw32msvc-gcc RC=i586-mingw32msvc-windres \ +	RANLIB=i586-mingw32msvc-ranlib clean GC-static +	* ptw32_relmillisecs.c (ptw32_relmillisecs): Remove INLINE qualifier +	macro to link the GCE library. +  2005-05-13  Ross Johnson  <ross at callisto.canberra.edu.au>  	* pthread_win32_attach_detach_np.c (pthread_win32_thread_detach_np): diff --git a/GNUmakefile b/GNUmakefile index 877cc0c..daf7e00 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -49,6 +49,10 @@ RC	= windres  #CP	= copy  AR	= ar +DLLTOOL = dlltool +CC      = gcc +CXX     = g++ +RANLIB  = ranlib  OPT	= $(CLEANUP) -O3 -finline-functions  DOPT	= $(CLEANUP) -g -O0 @@ -69,15 +73,17 @@ LFLAGS		= -lwsock32  # POSIX says that applications should assume that thread IDs can be  # recycled. However, Solaris and some other systems use a [very large]  # sequence number as the thread ID, which provides virtual uniqueness. +# Pthreads-win32 provides pseudo-unique IDs when the default increment +# (1) is used, but pthread_t is not a scalar type like Solaris's.  #  # Usage:  # Set to any value in the range: 0 <= value <= 2^wordsize  #  # Examples:  # Set to 0 to emulate non recycle-unique behaviour like Linux or *BSD. -# Set to 1 for recycle-unique thread IDs like Solaris (this is the default). -# Set to some other +ve value to emulate smaller word size types (i.e. will -# wrap sooner). This might be useful to emulate some embedded systems. +# Set to 1 for recycle-unique thread IDs (this is the default). +# Set to some other +ve value to emulate smaller word size types +# (i.e. will wrap sooner).  #  #PTW32_FLAGS	= "-DPTW32_THREAD_ID_REUSE_INCREMENT=0"  # @@ -454,34 +460,34 @@ all:  	@ $(MAKE) clean GC  GC: -		$(MAKE) CC=gcc CLEANUP=-D__CLEANUP_C XC_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_OBJS)" $(GC_DLL) +		$(MAKE) CLEANUP=-D__CLEANUP_C XC_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_OBJS)" $(GC_DLL)  GC-debug: -		$(MAKE) CC=gcc CLEANUP=-D__CLEANUP_C XC_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_OBJS)" DLL_VER=$(DLL_VERD) OPT="$(DOPT)" $(GCD_DLL) +		$(MAKE) CLEANUP=-D__CLEANUP_C XC_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_OBJS)" DLL_VER=$(DLL_VERD) OPT="$(DOPT)" $(GCD_DLL)  GCE: -		$(MAKE) CC=g++ CLEANUP=-D__CLEANUP_CXX XC_FLAGS="$(GCE_CFLAGS)" OBJ="$(DLL_OBJS)" $(GCE_DLL) +		$(MAKE) CC=$(CXX) CLEANUP=-D__CLEANUP_CXX XC_FLAGS="$(GCE_CFLAGS)" OBJ="$(DLL_OBJS)" $(GCE_DLL)  GCE-debug: -		$(MAKE) CC=g++ CLEANUP=-D__CLEANUP_CXX XC_FLAGS="$(GCE_CFLAGS)" OBJ="$(DLL_OBJS)" DLL_VER=$(DLL_VERD) OPT="$(DOPT)" $(GCED_DLL) +		$(MAKE) CC=$(CXX) CLEANUP=-D__CLEANUP_CXX XC_FLAGS="$(GCE_CFLAGS)" OBJ="$(DLL_OBJS)" DLL_VER=$(DLL_VERD) OPT="$(DOPT)" $(GCED_DLL)  GC-inlined: -		$(MAKE) CC=gcc XOPT="-DPTW32_BUILD_INLINED" CLEANUP=-D__CLEANUP_C XC_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" $(GC_INLINED_STAMP) +		$(MAKE) XOPT="-DPTW32_BUILD_INLINED" CLEANUP=-D__CLEANUP_C XC_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" $(GC_INLINED_STAMP)  GC-inlined-debug: -		$(MAKE) CC=gcc XOPT="-DPTW32_BUILD_INLINED" CLEANUP=-D__CLEANUP_C XC_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" DLL_VER=$(DLL_VERD) OPT="$(DOPT)" $(GCD_INLINED_STAMP) +		$(MAKE) XOPT="-DPTW32_BUILD_INLINED" CLEANUP=-D__CLEANUP_C XC_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" DLL_VER=$(DLL_VERD) OPT="$(DOPT)" $(GCD_INLINED_STAMP)  GCE-inlined: -		$(MAKE) CC=g++ XOPT="-DPTW32_BUILD_INLINED" CLEANUP=-D__CLEANUP_CXX XC_FLAGS="$(GCE_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" $(GCE_INLINED_STAMP) +		$(MAKE) CC=$(CXX) XOPT="-DPTW32_BUILD_INLINED" CLEANUP=-D__CLEANUP_CXX XC_FLAGS="$(GCE_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" $(GCE_INLINED_STAMP)  GCE-inlined-debug: -		$(MAKE) CC=g++ XOPT="-DPTW32_BUILD_INLINED" CLEANUP=-D__CLEANUP_CXX XC_FLAGS="$(GCE_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" DLL_VER=$(DLL_VERD) OPT="$(DOPT)" $(GCED_INLINED_STAMP) +		$(MAKE) CC=$(CXX) XOPT="-DPTW32_BUILD_INLINED" CLEANUP=-D__CLEANUP_CXX XC_FLAGS="$(GCE_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" DLL_VER=$(DLL_VERD) OPT="$(DOPT)" $(GCED_INLINED_STAMP)  GC-static: -		$(MAKE) CC=gcc XOPT="-DPTW32_BUILD_INLINED -DPTW32_STATIC_LIB" CLEANUP=-D__CLEANUP_C XC_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" $(GC_STATIC_STAMP) +		$(MAKE) XOPT="-DPTW32_BUILD_INLINED -DPTW32_STATIC_LIB" CLEANUP=-D__CLEANUP_C XC_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" $(GC_STATIC_STAMP)  GC-static-debug: -		$(MAKE) CC=gcc XOPT="-DPTW32_BUILD_INLINED -DPTW32_STATIC_LIB" CLEANUP=-D__CLEANUP_C XC_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" DLL_VER=$(DLL_VERD) OPT="$(DOPT)" $(GCD_STATIC_STAMP) +		$(MAKE) XOPT="-DPTW32_BUILD_INLINED -DPTW32_STATIC_LIB" CLEANUP=-D__CLEANUP_C XC_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" DLL_VER=$(DLL_VERD) OPT="$(DOPT)" $(GCD_STATIC_STAMP)  tests:  	@ cd tests @@ -503,29 +509,30 @@ tests:  $(GC_DLL) $(GCD_DLL): $(DLL_OBJS)  	$(CC) $(OPT) -shared -o $(GC_DLL) $(DLL_OBJS) $(LFLAGS) -	dlltool -z pthread.def $(DLL_OBJS) -	dlltool -k --dllname $@ --output-lib $(GC_LIB) --def $(PTHREAD_DEF) +	$(DLLTOOL) -z pthread.def $(DLL_OBJS) +	$(DLLTOOL) -k --dllname $@ --output-lib $(GC_LIB) --def $(PTHREAD_DEF)  $(GCE_DLL): $(DLL_OBJS)  	$(CC) $(OPT) -mthreads -shared -o $(GCE_DLL) $(DLL_OBJS) $(LFLAGS) -	dlltool -z pthread.def $(DLL_OBJS) -	dlltool -k --dllname $@ --output-lib $(GCE_LIB) --def $(PTHREAD_DEF) +	$(DLLTOOL) -z pthread.def $(DLL_OBJS) +	$(DLLTOOL) -k --dllname $@ --output-lib $(GCE_LIB) --def $(PTHREAD_DEF)  $(GC_INLINED_STAMP) $(GCD_INLINED_STAMP): $(DLL_INLINED_OBJS)  	$(CC) $(OPT) $(XOPT) -shared -o $(GC_DLL) $(DLL_INLINED_OBJS) $(LFLAGS) -	dlltool -z pthread.def $(DLL_INLINED_OBJS) -	dlltool -k --dllname $(GC_DLL) --output-lib $(GC_LIB) --def $(PTHREAD_DEF) +	$(DLLTOOL) -z pthread.def $(DLL_INLINED_OBJS) +	$(DLLTOOL) -k --dllname $(GC_DLL) --output-lib $(GC_LIB) --def $(PTHREAD_DEF)  	echo touched > $(GC_INLINED_STAMP)  $(GCE_INLINED_STAMP) $(GCED_INLINED_STAMP): $(DLL_INLINED_OBJS)  	$(CC) $(OPT) $(XOPT) -mthreads -shared -o $(GCE_DLL) $(DLL_INLINED_OBJS)  $(LFLAGS) -	dlltool -z pthread.def $(DLL_INLINED_OBJS) -	dlltool -k --dllname $(GCE_DLL) --output-lib $(GCE_LIB) --def $(PTHREAD_DEF) +	$(DLLTOOL) -z pthread.def $(DLL_INLINED_OBJS) +	$(DLLTOOL) -k --dllname $(GCE_DLL) --output-lib $(GCE_LIB) --def $(PTHREAD_DEF)  	echo touched > $(GCE_INLINED_STAMP)  $(GC_STATIC_STAMP) $(GCD_STATIC_STAMP): $(DLL_INLINED_OBJS)  	$(RM) $(GC_LIB)  	$(AR) -rv $(GC_LIB) $(DLL_INLINED_OBJS) +	$(RANLIB) $(GC_LIB)  	echo touched > $(GC_STATIC_STAMP)  clean: diff --git a/ptw32_relmillisecs.c b/ptw32_relmillisecs.c index 11ff593..7031148 100644 --- a/ptw32_relmillisecs.c +++ b/ptw32_relmillisecs.c @@ -44,7 +44,7 @@  #endif -INLINE DWORD  +DWORD  ptw32_relmillisecs (const struct timespec * abstime)  {    const int64_t NANOSEC_PER_MILLISEC = 1000000; | 
