[Python-checkins] CVS: python/dist/src/RISCOS sleep.c,NONE,1.1 Makefile,1.1,1.2

Guido van Rossum gvanrossum@users.sourceforge.net
Tue, 10 Apr 2001 15:03:36 -0700


Update of /cvsroot/python/python/dist/src/RISCOS
In directory usw-pr-cvs1:/tmp/cvs-serv7847

Modified Files:
	Makefile 
Added Files:
	sleep.c 
Log Message:
Updated version of RISCOS support. SF patch 411213 by Dietmar Schwertberger

--- NEW FILE: sleep.c ---
#include "osmodule.h"
#include <stdio.h>
#include "kernel.h"
#include <limits.h>
#include <errno.h>
#include "taskwindow.h"
#include "Python.h"


int sleep(double delay)
{
	os_t starttime, endtime, time; /* monotonic times (centiseconds) */
	int *pollword, ret;
	bool claimed;

        /* calculate end time */
	starttime = os_read_monotonic_time();
	if (starttime + 100.0*delay >INT_MAX)
		endtime = INT_MAX;
	else
		endtime = (os_t)(starttime + 100.0*delay);

	/* allocate (in RMA) and set pollword for xupcall_sleep */
	pollword = osmodule_alloc(4);
	*pollword = 1;

	time = starttime;
	ret = 0;
	while ( time<endtime && time>=starttime ) {
		xupcall_sleep (pollword, &claimed);
		if (PyErr_CheckSignals()) {
			ret = 1;
			break;
		}
		time = os_read_monotonic_time();
	}

	/* deallocate pollword */
	osmodule_free(pollword);
	return ret;
}

Index: Makefile
===================================================================
RCS file: /cvsroot/python/python/dist/src/RISCOS/Makefile,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** Makefile	2001/03/02 05:58:11	1.1
--- Makefile	2001/04/10 22:03:33	1.2
***************
*** 13,19 ****
  MAKEDLK = $(DLKLIB).makedlk
  
! # change from time to time
  TARGET=Python21
! BUILD=10
  
  
--- 13,19 ----
  MAKEDLK = $(DLKLIB).makedlk
  
! # change from time to time (don't forget to change !Boot also)
  TARGET=Python21
! BUILD=12
  
  
***************
*** 24,28 ****
  
  DLKFLAG= -DDLK
! DLKOBJS = $(DLKLIB).o.dlk_load o.linktab
  
  HEADERS = @,@.^.Include,@.^.Modules,@.^.Objects,@.^.Python,$(CLIB),$(OSLIBS),$(DLKLIB)
--- 24,28 ----
  
  DLKFLAG= -DDLK
! DLKOBJS = $(DLKLIB).o.dlk_load @.o.linktab
  
  HEADERS = @,@.^.Include,@.^.Modules,@.^.Objects,@.^.Python,$(CLIB),$(OSLIBS),$(DLKLIB)
***************
*** 33,37 ****
  
  LINK = link
! LINKFLAGS = -aif -NOUNUSED #-d
  LOADLIBS = $(CLIB).o.Stubs $(OSLIB).o.OSLib $(DLKOBJS)
  
--- 33,37 ----
  
  LINK = link
! LINKFLAGS = -aif #-NOUNUSED #-d
  LOADLIBS = $(CLIB).o.Stubs $(OSLIB).o.OSLib $(DLKOBJS)
  
***************
*** 42,182 ****
  
  # code for main Python binary
! MODULES_STATIC = \
! 	@.^.Modules.o.python \
! 	@.^.Modules.o.main \
! 	Modules.o.config \
! 	@.^.Modules.o.getbuildinfo \
! 	Modules.o.getpath_riscos \
! 	Modules.o.riscosmodule \
! 	@.^.Modules.o._sre
  
  
  # dynamic Modules
! MODULES_DYNAMIC = \
! 	@.^.Lib.array/pyd \
! 	@.^.Lib.audioop/pyd \
! 	@.^.Lib.binascii/pyd \
! 	@.^.Lib.cmath/pyd \
! 	@.^.Lib.cPickle/pyd \
! 	@.^.Lib.cStringIO/pyd \
! 	@.^.Lib.errno/pyd \
! 	@.^.Lib.imageop/pyd \
! 	@.^.Lib.math/pyd \
! 	@.^.Lib.md5/pyd \
! 	@.^.Lib.new/pyd \
! 	@.^.Lib.operator/pyd \
! 	@.^.Lib.parser/pyd \
! 	@.^.Lib.pcre/pyd \
! 	@.^.Lib.regex/pyd \
! 	@.^.Lib.rgbimg/pyd \
! 	@.^.Lib.rotor/pyd \
! 	@.^.Lib.sha/pyd \
! 	@.^.Lib.signal/pyd \
! 	@.^.Lib.struct/pyd \
! 	@.^.Lib.time/pyd \
! 	@.^.Lib._locale/pyd \
! 	@.^.Lib.zlib/pyd \
! 	@.^.Lib.select/pyd \
! 	@.^.Lib._socket/pyd \
! 	@.^.Lib._codecs/pyd \
! 	@.^.Lib._weakref/pyd \
! 	@.^.Lib._testcapi/pyd \
! 	@.^.Lib.unicodedata/pyd \
! 	@.^.Lib.xreadlines/pyd \
! 	@.^.Lib.pyexpat/pyd \
! 	@.^.Lib.plat-riscos.drawf/pyd \
! 	@.^.Lib.plat-riscos.swi/pyd
! 
! 	# @.^.Lib.soundex/pyd \
! 	# leave  strop out? It's no longer in use for string operations
! 	# @.^.Lib.mmap/pyd would it make sense? I read about a mmap
! 	# implementation for RISC OS recently in usenet news.
! 
! 	#@.^.Lib.strop/pyd \
! 	#@.^.Lib._sre/pyd \
! 
! 
! OBJECTS_PYTHON = \
! 	@.^.Python.o.traceback \
! 	@.^.Python.o.sysmodule \
! 	@.^.Python.o.structmember \
! 	@.^.Python.o.strdup \
! 	@.^.Python.o.sigcheck \
! 	@.^.Python.o.pythonrun \
! 	@.^.Python.o.pystate \
! 	@.^.Python.o.pyfpe \
! 	@.^.Python.o.mystrtoul \
! 	@.^.Python.o.modsupport \
! 	@.^.Python.o.marshal \
! 	@.^.Python.o.importdl \
! 	@.^.Python.o.import \
! 	@.^.Python.o.graminit \
! 	@.^.Python.o.getversion \
! 	@.^.Python.o.getplatform \
! 	@.^.Python.o.getopt \
! 	@.^.Python.o.getcopyright \
! 	@.^.Python.o.getcompiler \
! 	@.^.Python.o.getargs \
! 	@.^.Python.o.frozenmain \
! 	@.^.Python.o.frozen \
! 	@.^.Python.o.errors \
! 	@.^.Python.o.compile \
! 	@.^.Python.o.ceval \
! 	@.^.Python.o.bltinmodule \
! 	@.^.Python.o.exceptions \
! 	@.^.Python.o.hypot \
! 	@.^.Python.o.codecs \
! 	@.^.Python.o.symtable
! # @.^.Python.o.atof @.^.Python.o.strerror
! 
! 
! OBJECTS_RISCOS =  \
! 	@.Python.o.dynload_riscos \
! 	@.Python.o.getcwd_riscos \
! 	@.Python.o.getmtime_riscos \
  	@.o.unixstuff
  
  
! OBJECTS_OBJECTS = \
! 	@.^.Objects.o.typeobject \
! 	@.^.Objects.o.tupleobject \
! 	@.^.Objects.o.stringobject \
! 	@.^.Objects.o.sliceobject \
! 	@.^.Objects.o.rangeobject \
! 	@.^.Objects.o.object \
! 	@.^.Objects.o.moduleobject \
! 	@.^.Objects.o.methodobject \
! 	@.^.Objects.o.longobject \
! 	@.^.Objects.o.listobject \
! 	@.^.Objects.o.intobject \
! 	@.^.Objects.o.funcobject \
! 	@.^.Objects.o.frameobject \
! 	@.^.Objects.o.floatobject \
! 	@.^.Objects.o.fileobject \
! 	@.^.Objects.o.dictobject \
! 	@.^.Objects.o.complexobject \
! 	@.^.Objects.o.cobject \
! 	@.^.Objects.o.classobject \
! 	@.^.Objects.o.cellobject \
! 	@.^.Objects.o.bufferobject \
! 	@.^.Objects.o.abstract \
! 	@.^.Objects.o.unicodectype \
  	@.^.Objects.o.unicodeobject
  
  
! OBJECTS_PARSER = \
! 	@.^.Parser.o.tokenizer \
! 	@.^.Parser.o.printgrammar \
! 	@.^.Parser.o.parsetok \
! 	@.^.Parser.o.parser \
! 	@.^.Parser.o.node \
! 	@.^.Parser.o.myreadline \
! 	@.^.Parser.o.metagrammar \
! 	@.^.Parser.o.listnode \
! 	@.^.Parser.o.intrcheck \
! 	@.^.Parser.o.grammar1 \
! 	@.^.Parser.o.grammar \
! 	@.^.Parser.o.firstsets \
! 	@.^.Parser.o.bitset \
  	@.^.Parser.o.acceler
  
--- 42,174 ----
  
  # code for main Python binary
! MODULES_STATIC =\
! 	@.^.Modules.o.python\
! 	@.^.Modules.o.main\
! 	Modules.o.config\
! 	@.^.Modules.o.getbuildinfo\
! 	Modules.o.getpath_riscos\
! 	Modules.o.riscosmodule
  
  
  # dynamic Modules
! MODULES_DYNAMIC =\
! 	@.^.Lib.array/pyd\
! 	@.^.Lib.audioop/pyd\
! 	@.^.Lib.binascii/pyd\
! 	@.^.Lib.cmath/pyd\
! 	@.^.Lib.cPickle/pyd\
! 	@.^.Lib.cStringIO/pyd\
! 	@.^.Lib.errno/pyd\
! 	@.^.Lib.imageop/pyd\
! 	@.^.Lib.math/pyd\
! 	@.^.Lib.md5/pyd\
! 	@.^.Lib.new/pyd\
! 	@.^.Lib.operator/pyd\
! 	@.^.Lib.parser/pyd\
! 	@.^.Lib.pcre/pyd\
! 	@.^.Lib.regex/pyd\
! 	@.^.Lib.rgbimg/pyd\
! 	@.^.Lib.rotor/pyd\
! 	@.^.Lib.sha/pyd\
! 	@.^.Lib.signal/pyd\
! 	@.^.Lib.struct/pyd\
! 	@.^.Lib.time/pyd\
! 	@.^.Lib._locale/pyd\
! 	@.^.Lib.zlib/pyd\
! 	@.^.Lib.select/pyd\
! 	@.^.Lib._socket/pyd\
! 	@.^.Lib._codecs/pyd\
! 	@.^.Lib._weakref/pyd\
! 	@.^.Lib._testcapi/pyd\
! 	@.^.Lib.unicodedata/pyd\
! 	@.^.Lib.xreadlines/pyd\
! 	@.^.Lib.pyexpat/pyd\
! 	@.^.Lib.plat-riscos.drawf/pyd\
! 	@.^.Lib.plat-riscos.swi/pyd\
! 	@.^.Lib._sre/pyd
! 
! 
! OBJECTS_PYTHON =\
! 	@.^.Python.o.traceback\
! 	@.^.Python.o.sysmodule\
! 	@.^.Python.o.structmember\
! 	@.^.Python.o.strdup\
! 	@.^.Python.o.sigcheck\
! 	@.^.Python.o.pythonrun\
! 	@.^.Python.o.pystate\
! 	@.^.Python.o.pyfpe\
! 	@.^.Python.o.mystrtoul\
! 	@.^.Python.o.modsupport\
! 	@.^.Python.o.marshal\
! 	@.^.Python.o.importdl\
! 	@.^.Python.o.import\
! 	@.^.Python.o.graminit\
! 	@.^.Python.o.getversion\
! 	@.^.Python.o.getplatform\
! 	@.^.Python.o.getopt\
! 	@.^.Python.o.getcopyright\
! 	@.^.Python.o.getcompiler\
! 	@.^.Python.o.getargs\
! 	@.^.Python.o.frozenmain\
! 	@.^.Python.o.frozen\
! 	@.^.Python.o.errors\
! 	@.^.Python.o.compile\
! 	@.^.Python.o.ceval\
! 	@.^.Python.o.bltinmodule\
! 	@.^.Python.o.exceptions\
! 	@.^.Python.o.hypot\
! 	@.^.Python.o.codecs\
! 	@.^.Python.o.symtable\
! 	@.^.Python.o.future
! 
! 
! OBJECTS_RISCOS = \
! 	@.Python.o.dynload_riscos\
! 	@.Python.o.getcwd_riscos\
! 	@.Python.o.getmtime_riscos\
  	@.o.unixstuff
  
  
! OBJECTS_OBJECTS =\
! 	@.^.Objects.o.typeobject\
! 	@.^.Objects.o.tupleobject\
! 	@.^.Objects.o.stringobject\
! 	@.^.Objects.o.sliceobject\
! 	@.^.Objects.o.rangeobject\
! 	@.^.Objects.o.object\
! 	@.^.Objects.o.moduleobject\
! 	@.^.Objects.o.methodobject\
! 	@.^.Objects.o.longobject\
! 	@.^.Objects.o.listobject\
! 	@.^.Objects.o.intobject\
! 	@.^.Objects.o.funcobject\
! 	@.^.Objects.o.frameobject\
! 	@.^.Objects.o.floatobject\
! 	@.^.Objects.o.fileobject\
! 	@.^.Objects.o.dictobject\
! 	@.^.Objects.o.complexobject\
! 	@.^.Objects.o.cobject\
! 	@.^.Objects.o.classobject\
! 	@.^.Objects.o.cellobject\
! 	@.^.Objects.o.bufferobject\
! 	@.^.Objects.o.abstract\
! 	@.^.Objects.o.unicodectype\
  	@.^.Objects.o.unicodeobject
  
  
! OBJECTS_PARSER =\
! 	@.^.Parser.o.tokenizer\
! 	@.^.Parser.o.printgrammar\
! 	@.^.Parser.o.parsetok\
! 	@.^.Parser.o.parser\
! 	@.^.Parser.o.node\
! 	@.^.Parser.o.myreadline\
! 	@.^.Parser.o.metagrammar\
! 	@.^.Parser.o.listnode\
! 	@.^.Parser.o.intrcheck\
! 	@.^.Parser.o.grammar1\
! 	@.^.Parser.o.grammar\
! 	@.^.Parser.o.firstsets\
! 	@.^.Parser.o.bitset\
  	@.^.Parser.o.acceler
  
***************
*** 197,201 ****
  
  #########################################################################
! # Support files
  @.^.!Boot: support.!Boot
  	copy support.!Boot @.^.!Boot ~C~VF
--- 189,194 ----
  
  #########################################################################
! # RISC OS support files
! #
  @.^.!Boot: support.!Boot
  	copy support.!Boot @.^.!Boot ~C~VF
***************
*** 298,304 ****
  	$(MAKEDLK) -d @.^.Lib.plat-riscos.swi/pyd -s s.linktab -o Modules.o.swilink -e initswi
  
- @.^.Lib.time/pyd: @.^.Modules.o.timemodule s.linktab
- 	$(MAKEDLK) -d @.^.Lib.time/pyd -s s.linktab -o @.^.Modules.o.timemodule -e inittime
- 
  @.^.Lib._locale/pyd: @.^.Modules.o._localemodule s.linktab
  	$(MAKEDLK) -d @.^.Lib._locale/pyd -s s.linktab -o @.^.Modules.o._localemodule -e init_locale
--- 291,294 ----
***************
*** 323,330 ****
  
  
- ##@.^.Lib.mmap/pyd: @.^.Modules.o.mmapmodule s.linktab
- ##	$(MAKEDLK) -d @.^.Lib.mmap/pyd -s s.linktab -o @.^.Modules.o.mmapmodule -e initmmap
- 
- 
  
  ############################################################################
--- 313,316 ----
***************
*** 354,357 ****
--- 340,348 ----
  
  
+ @.^.Lib.time/pyd: @.^.Modules.o.timemodule s.linktab @.o.sleep
+ 	$(LINK) -aof -o @.^.Modules.o.timelink @.^.Modules.o.timemodule @.o.sleep $(OSLIB).o.OSLib
+ 	$(MAKEDLK) -d @.^.Lib.time/pyd -s s.linktab -o @.^.Modules.o.timelink -e inittime
+ 
+ 
  @.^.Lib.pyexpat/pyd: @.^.Modules.o.pyexpat s.linktab
  	$(LINK) -aof -o @.^.Modules.o.pyexpatlink @.^.Modules.o.pyexpat $(EXPAT).expat_lib
***************
*** 363,367 ****
  
  ##########################################################################
! 
  o.linktab: s.linktab
  	ObjAsm s.linktab o.linktab
--- 354,359 ----
  
  ##########################################################################
! # dynamic linking symbol table
! #
  o.linktab: s.linktab
  	ObjAsm s.linktab o.linktab
***************
*** 370,375 ****
  	$(OBJSCAN) -s s.linktab -o $(OBJECTS) $(clib).o.stubs
  
  
! clean:
  	create @.^.Objects.o.dummy
  	create @.^.Parser.o.dummy
--- 362,383 ----
  	$(OBJSCAN) -s s.linktab -o $(OBJECTS) $(clib).o.stubs
  
+ ##########################################################################
+ # special targets
+ #
+ libclean:
+ 	create @.^.Lib.dummy/pyc
+ 	create @.^.Lib.dummy/pyo
+ 	create @.^.Lib.plat-riscos.dummy/pyc
+ 	create @.^.Lib.plat-riscos.dummy/pyo
+ 	create @.^.Lib.test.dummy/pyc
+ 	create @.^.Lib.test.dummy/pyo
+ 	wipe @.^.Lib.*/pyc ~C~V
+ 	wipe @.^.Lib.*/pyo ~C~V
+ 	wipe @.^.Lib.plat-riscos.*/pyc ~C~V
+ 	wipe @.^.Lib.plat-riscos.*/pyo ~C~V
+ 	wipe @.^.Lib.test.*/pyc ~C~V
+ 	wipe @.^.Lib.test.*/pyo ~C~V
  
! clean: libclean
  	create @.^.Objects.o.dummy
  	create @.^.Parser.o.dummy
***************
*** 377,385 ****
  	create o.dummy
  	create @.^.Python.o.dummy
- 	create @.^.Lib.dummy/pyc
- 	create @.^.Lib.dummy/pyo
- 	create @.^.Lib.plat-riscos.dummy/pyc
- 	create @.^.Lib.plat-riscos.dummy/pyo
- 	create @.^.Lib.test.dummy/pyc
  	wipe @.^.Modules.o.* ~C ~V
  	wipe @.^.Objects.o.* ~C ~V
--- 385,388 ----
***************
*** 387,395 ****
  	wipe @.^.Python.o.* ~C ~V
  	wipe o.* ~C ~V
- 	wipe @.^.Lib.*/pyc ~C~V
- 	wipe @.^.Lib.*/pyo ~C~V
- 	wipe @.^.Lib.plat-riscos.*/pyc ~C~V
- 	wipe @.^.Lib.plat-riscos.*/pyo ~C~V
- 	wipe @.^.Lib.test.*/pyc ~C~V
  
  rebuild: clean
--- 390,393 ----