Merged branch default (CVS HEAD) development
authorJan Vrany <jan.vrany@fit.cvut.cz>
Mon, 29 Apr 2013 21:08:38 +0100
branchdevelopment
changeset 2566 f1cea8b752ba
parent 2565 cacefec17a70 (current diff)
parent 2562 c0a608f4f88c (diff)
child 2567 b7befaec5b54
Merged branch default (CVS HEAD)
GroovyCompiler.st
GroovyEvaluator.st
Java.st
JavaClass.st
JavaClassReader.st
JavaClassRegistry.st
JavaCodeBundle.st
JavaCodeLibrary.st
JavaCodeLibraryOrBundle.st
JavaEmbeddedFrameView.st
JavaLanguage.st
JavaMethod.st
JavaNativeMethod.st
JavaNativeMethodImpl_OpenJDK6.st
JavaProcess.st
JavaRelease.st
JavaUnresolvedClassConstant.st
Make.proto
Make.spec
Makefile
bc.mak
experiments/stx_libjava_experiments.st
extensions.st
libInit.cc
libjava.rc
mingwmake.bat
stx_libjava.st
tools/stx_libjava_tools.st
vcmake.bat
--- a/GroovyCompiler.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/GroovyCompiler.st	Mon Apr 29 21:08:38 2013 +0100
@@ -53,7 +53,6 @@
 "
 ! !
 
-
 !GroovyCompiler class methodsFor:'initialization'!
 
 flushGroovyClassLoader
@@ -63,7 +62,6 @@
     "Created: / 18-02-2012 / 22:25:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !GroovyCompiler class methodsFor:'instance creation'!
 
 new
@@ -72,19 +70,6 @@
     ^ self basicNew initialize.
 ! !
 
-
-!GroovyCompiler class methodsFor:'* As yet uncategorized *'!
-
-evaluate: source notifying: requestor compile: doCompile
-
-    ^self new
-        requestor: requestor;
-        compile: source
-
-    "Created: / 04-04-2012 / 10:07:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-
 !GroovyCompiler class methodsFor:'compiler interface'!
 
 compile: source
@@ -133,6 +118,16 @@
     "Created: / 07-09-2012 / 10:35:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!GroovyCompiler class methodsFor:'evaluating'!
+
+evaluate: source notifying: requestor compile: doCompile
+
+    ^self new
+        requestor: requestor;
+        compile: source
+
+    "Created: / 04-04-2012 / 10:07:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
 
 !GroovyCompiler methodsFor:'accessing'!
 
@@ -144,7 +139,6 @@
     requestor := something.
 ! !
 
-
 !GroovyCompiler methodsFor:'compiler interface'!
 
 compile: source
@@ -177,12 +171,11 @@
         ^Compiler compile:source in: class notifying: requestor ifFail: block
     ].
 
-    self error:'Not yet supported'.
+    self shouldImplement.
 
     "Created: / 04-09-2012 / 23:56:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !GroovyCompiler methodsFor:'error reporting'!
 
 error: message line: line from: start to: end
@@ -193,8 +186,6 @@
      error (and/or to abort the compile).
      Return the result passed back by the requestor."
 
-    |err|
-
     Smalltalk isInitialized ifFalse:[
         Smalltalk isStandAloneDebug ifTrue:[
             "/ error during startup
@@ -208,13 +199,12 @@
         requestor error:message position:start to:end from:self.
         ^ self
     ].
-    Parser parseErrorSignal isHandled ifTrue:[
-        err := (Smalltalk at:#'Parser::ParseError') new.
-        err errorMessage: message startPosition: start endPosition: end.
-        err parameter:self.
-        err lineNumber:line.
-        err raiseRequest.
-        ^ self
+    ParseError isHandled ifTrue:[
+        ParseError new
+            errorMessage: message startPosition: start endPosition: end;
+            parameter:self;
+            lineNumber:line;
+            raiseRequest.
     ].
 
     "Created: / 27-02-2012 / 21:10:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -235,7 +225,6 @@
     "Created: / 27-02-2012 / 21:09:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !GroovyCompiler methodsFor:'initialization'!
 
 initialize
@@ -266,19 +255,22 @@
     "Created: / 18-02-2012 / 19:14:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !GroovyCompiler class methodsFor:'documentation'!
 
+version
+    ^ '$Header: /cvs/stx/stx/libjava/GroovyCompiler.st,v 1.4 2013-04-11 09:35:13 stefan Exp $'
+!
+
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/GroovyCompiler.st,v 1.2 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/GroovyCompiler.st,v 1.4 2013-04-11 09:35:13 stefan Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ 'Changeset: <not expanded> '
 !
 
 version_SVN
-    ^ '§Id§'
+    ^ 'Id'
 ! !
 
--- a/GroovyEvaluator.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/GroovyEvaluator.st	Mon Apr 29 21:08:38 2013 +0100
@@ -53,8 +53,7 @@
 "
 ! !
 
-
-!GroovyEvaluator class methodsFor:'* As yet uncategorized *'!
+!GroovyEvaluator class methodsFor:'evaluating'!
 
 evaluate: source in: context receiver: receiver  notifying: requestor logged: log ifFail: failblock
     ^self new evaluate: source in: context receiver: receiver  notifying: requestor logged: log ifFail: failblock
@@ -62,7 +61,6 @@
     "Created: / 13-04-2012 / 17:24:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !GroovyEvaluator class methodsFor:'utilities'!
 
 flushWorkspaceBinding
@@ -72,7 +70,6 @@
     "Created: / 02-12-2011 / 23:23:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !GroovyEvaluator methodsFor:'accessing'!
 
 currentNameSpace: ns
@@ -89,7 +86,6 @@
     "Created: / 07-04-2012 / 09:26:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !GroovyEvaluator methodsFor:'compiler interface'!
 
 evaluate:src
@@ -171,7 +167,6 @@
     "Created: / 16-08-2011 / 10:15:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !GroovyEvaluator methodsFor:'error reporting'!
 
 syntaxError: exception
@@ -201,7 +196,6 @@
         ].
     ].
 
-
     "/ backward compatibility - will vanish eventually (use a handler, Luke)
 
     sourceStream := source string readStream.
@@ -213,8 +207,8 @@
         requestor error: cause getOriginalMessage position: startCol to: endCol from: self.
         ^ self
     ].
-    (Smalltalk at:#'Parser::ParseError') isHandled ifTrue:[
-        (Smalltalk at:#'Parser::ParseError') new
+    ParseError isHandled ifTrue:[
+        ParseError new
             errorMessage: cause getOriginalMessage startPosition:startCol endPosition:endCol;
             parameter:self;
             lineNumber:cause getLine;
@@ -224,16 +218,15 @@
     "Created: / 21-08-2012 / 17:10:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !GroovyEvaluator class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/GroovyEvaluator.st,v 1.2 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/GroovyEvaluator.st,v 1.3 2013-04-11 09:10:13 stefan Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ '§Changeset: <not expanded> §'
 !
 
 version_SVN
--- a/Java.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/Java.st	Mon Apr 29 21:08:38 2013 +0100
@@ -163,6 +163,10 @@
     ].
     ^Release
 
+    "
+     Release := nil
+    "
+
     "Created: / 22-11-2010 / 12:38:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
@@ -725,7 +729,7 @@
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ '§Changeset: <not expanded> §'
 ! !
 
 !Java class methodsFor:'paths-accessing'!
@@ -1445,49 +1449,49 @@
 
     argString := argStringIn.
     argString isNil ifTrue:[
-	argString := Dialog
-		    request:'argument string:'
-		    initialAnswer:LastArgumentString ? ''
-		    onCancel:nil.
-	argString isNil ifTrue:[^ nil].
+        argString := Dialog
+                    request:'argument string:'
+                    initialAnswer:LastArgumentString ? ''
+                    onCancel:nil.
+        argString isNil ifTrue:[^ nil].
 
-	LastArgumentString := argString.
+        LastArgumentString := argString.
     ].
 
     JavaVM initializeVMIfNoEventThreadRunning.
     (Java at:'java.lang.System') instVarNamed:'security' put:nil.
 
     argString isEmpty ifTrue:[
-	argStringArray := #()
+        argStringArray := #()
     ] ifFalse:[
-	argStringArray := argString asCollectionOfWords collect:[:s | Java as_String:s] as:Array.
+        argStringArray := (argString asCollectionOfWords collect:[:s | Java as_String:s]) asArray.
     ].
 
     p := JavaProcess
-	    for:[
-		    "/ if the program reads from stdin, let user provide a file
-		    "/ for it.
-		    JavaVM stdinReplacementFileQuerySignal handle:[:ex |
-			|fn|
+            for:[
+                    "/ if the program reads from stdin, let user provide a file
+                    "/ for it.
+                    JavaVM stdinReplacementFileQuerySignal handle:[:ex |
+                        |fn|
 
-			alreadyAskedForStdin == true ifFalse:[
-			    fn := Dialog
-				    requestFileName:'Program reads from Stdin - give inputFile or cancel for EOF'
-				    default:nil
-				    fromDirectory:(FileSelectionBox lastFileSelectionDirectory).
-			    fn notNil ifTrue:[
-				stdInReplacement := fn asFilename readStream.
-			    ].
-			    alreadyAskedForStdin := true.
-			].
-			ex proceedWith:stdInReplacement
-		    ] do:[
-			aJavaClass
-			    performStatic:#'main([Ljava/lang/String;)V'
-			    with:argStringArray.
-		    ]
-		]
-	    priority:(Processor activePriority - 1).
+                        alreadyAskedForStdin == true ifFalse:[
+                            fn := Dialog
+                                    requestFileName:'Program reads from Stdin - give inputFile or cancel for EOF'
+                                    default:nil
+                                    fromDirectory:(FileSelectionBox lastFileSelectionDirectory).
+                            fn notNil ifTrue:[
+                                stdInReplacement := fn asFilename readStream.
+                            ].
+                            alreadyAskedForStdin := true.
+                        ].
+                        ex proceedWith:stdInReplacement
+                    ] do:[
+                        aJavaClass
+                            performStatic:#'main([Ljava/lang/String;)V'
+                            with:argStringArray.
+                    ]
+                ]
+            priority:(Processor activePriority - 1).
 
     p name:(aJavaClass fullName , '::main()').
     p restartable:true.
@@ -1592,11 +1596,11 @@
 !Java class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libjava/Java.st,v 1.139 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/Java.st,v 1.141 2013-04-02 12:03:01 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/Java.st,v 1.139 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/Java.st,v 1.141 2013-04-02 12:03:01 stefan Exp $'
 !
 
 version_SVN
--- a/JavaClass.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/JavaClass.st	Mon Apr 29 21:08:38 2013 +0100
@@ -703,7 +703,7 @@
 
     components := fullName asCollectionOfSubstringsSeparatedBy:$/.
     components size > 1 ifTrue:[
-	^ (components copyWithoutLast:1) asStringWith:$.
+        ^ (components copyButLast:1) asStringWith:$.
     ].
     ^ fullName
 
@@ -721,7 +721,7 @@
 
     components := fullName asCollectionOfSubstringsSeparatedBy:$/.
     components size > 1 ifTrue:[
-        ^ (components copyWithoutLast:1) asStringWith: Filename separator
+        ^ (components copyButLast:1) asStringWith: Filename separator
     ].
     ^ fullName
 
@@ -912,7 +912,6 @@
 
     "Created: / 14-04-2013 / 12:28:09 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
 ! !
-
 !JavaClass methodsFor:'accessing - java'!
 
 javaMirror
@@ -1309,15 +1308,15 @@
 
     p := Java javaProcessForMainOf:self argumentString:aCommandLineString.
     p notNil ifTrue:[
-	p resume.
-	Object abortSignal handle:[:ex |
+        p resume.
+        AbortOperationRequest handle:[:ex |
 p == JavaVM javaScreenUpdaterThread ifTrue:[self halt].
 p == JavaVM javaEventQueueThread ifTrue:[self halt].
-	    p terminate.
-	    ex reject.
-	] do:[
-	    p waitUntilTerminated
-	].
+            p terminate.
+            ex reject.
+        ] do:[
+            p waitUntilTerminated
+        ].
     ]
 
     "Modified: / 24.12.1999 / 02:35:04 / cg"
@@ -2879,24 +2878,23 @@
 
     "Created: / 14-04-2013 / 14:04:20 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
 ! !
-
 !JavaClass class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libjava/JavaClass.st,v 1.133 2013-03-04 19:10:26 +0000 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaClass.st,v 1.135 2013-04-27 12:31:15 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaClass.st,v 1.133 2013-03-04 19:10:26 +0000 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaClass.st,v 1.135 2013-04-27 12:31:15 cg Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ 'Changeset: <not expanded> '
 !
 
 version_SVN
-    ^ '§Id§'
+    ^ 'Id'
 ! !
 
 
--- a/JavaClassReader.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/JavaClassReader.st	Mon Apr 29 21:08:38 2013 +0100
@@ -574,8 +574,8 @@
                                 loadSuperclassIdentifiedBy: (constants at: super_class_index)
                                 ignoring: classesbeingLoaded
             ].
-            super_class isNil ifTrue: [ 
-                self halt: 'Cannot find super class?!!' 
+            super_class isNil ifTrue: [
+                self breakPoint:#jv info: 'Cannot find super class?!!' 
             ].
         ].
     ].
@@ -2431,16 +2431,16 @@
 !JavaClassReader class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libjava/JavaClassReader.st,v 1.95 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaClassReader.st,v 1.97 2013-03-18 16:59:01 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaClassReader.st,v 1.95 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaClassReader.st,v 1.97 2013-03-18 16:59:01 cg Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ '§Changeset: <not expanded> §'
 !
 
 version_SVN
--- a/JavaClassRegistry.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/JavaClassRegistry.st	Mon Apr 29 21:08:38 2013 +0100
@@ -106,7 +106,7 @@
     class := self classNamed: className loader: classLoader.
     class notNil ifTrue: [ ^ class ].
     "if java vm is booted, nil class loader means system class loader, lets check it too"
-    (vm booted and: [classLoader isNil]) ifTrue: [
+    (vm notNil and:[vm booted and: [classLoader isNil]]) ifTrue: [
         class := self classNamed: className loader: vm systemClassLoader. 
         class notNil ifTrue: [^class]
     ].
@@ -357,7 +357,7 @@
     ].
 
     nameComponents size > 1 ifTrue:[
-        javaclass setPackage:((nameComponents copyWithoutLast:1) asStringWith:$/) asSymbol
+        javaclass setPackage:((nameComponents copyButLast:1) asStringWith:$/) asSymbol
     ] ifFalse:[
         javaclass setPackage:javaclass name asSymbol
     ].
@@ -470,12 +470,12 @@
 !JavaClassRegistry class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaClassRegistry.st,v 1.2 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaClassRegistry.st,v 1.4 2013-04-25 13:10:25 stefan Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ '§Changeset: <not expanded> §'
 !
 
 version_SVN
--- a/JavaCodeBundle.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/JavaCodeBundle.st	Mon Apr 29 21:08:38 2013 +0100
@@ -225,11 +225,11 @@
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaCodeBundle.st,v 1.3 2013-03-07 15:32:16 +0000 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaCodeBundle.st,v 1.3 2013-03-07 15:32:16 vrany Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ 'Changeset: <not expanded> '
 ! !
 
--- a/JavaCodeLibrary.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/JavaCodeLibrary.st	Mon Apr 29 21:08:38 2013 +0100
@@ -145,11 +145,11 @@
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaCodeLibrary.st,v 1.3 2013-03-07 15:32:02 +0000 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaCodeLibrary.st,v 1.3 2013-03-07 15:32:02 vrany Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ 'Changeset: <not expanded> '
 ! !
 
--- a/JavaCodeLibraryOrBundle.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/JavaCodeLibraryOrBundle.st	Mon Apr 29 21:08:38 2013 +0100
@@ -163,11 +163,11 @@
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaCodeLibraryOrBundle.st,v 1.3 2013-03-07 15:32:09 +0000 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaCodeLibraryOrBundle.st,v 1.3 2013-03-07 15:32:09 vrany Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ 'Changeset: <not expanded> '
 ! !
 
--- a/JavaEmbeddedFrameView.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/JavaEmbeddedFrameView.st	Mon Apr 29 21:08:38 2013 +0100
@@ -56,7 +56,6 @@
 "
 ! !
 
-
 !JavaEmbeddedFrameView class methodsFor:'support'!
 
 newAppletContext
@@ -76,7 +75,6 @@
     "Modified: / 20.10.1998 / 15:43:47 / cg"
 ! !
 
-
 !JavaEmbeddedFrameView methodsFor:'accessing'!
 
 applet
@@ -178,7 +176,6 @@
     "Created: / 28.1.1998 / 21:01:20 / cg"
 ! !
 
-
 !JavaEmbeddedFrameView methodsFor:'applet control'!
 
 appletDESTROY
@@ -355,11 +352,11 @@
     appletThread := JavaProcess 
             for:[
                     "/ passnotifications to the documentFrame ...
-                    Object informationSignal handle:[:ex |
+                    UserInformation handle:[:ex |
                         JavaVM javaConsoleStream showCR:ex errorString.
                         ex proceed.
                     ] do:[
-                        Object activityNotificationSignal handle:[:ex |
+                        ActivityNotification handle:[:ex |
                             infoDisplayReceiver notNil ifTrue:[
                                 infoDisplayReceiver infoDisplay:ex errorString.
                             ] ifFalse:[
@@ -438,7 +435,6 @@
     "Modified: / 14-09-2011 / 21:42:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaEmbeddedFrameView methodsFor:'initialize / release'!
 
 destroy
@@ -474,7 +470,6 @@
     "Modified: / 20.10.1998 / 15:46:32 / cg"
 ! !
 
-
 !JavaEmbeddedFrameView methodsFor:'private'!
 
 setupAppletFrameIn:anAppletContextOrNil
@@ -605,7 +600,6 @@
     "Modified: / 24.12.1999 / 01:38:17 / cg"
 ! !
 
-
 !JavaEmbeddedFrameView methodsFor:'resizing'!
 
 sizeChanged:how
@@ -628,20 +622,19 @@
     "Modified: / 1.2.1998 / 19:15:07 / cg"
 ! !
 
-
 !JavaEmbeddedFrameView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libjava/JavaEmbeddedFrameView.st,v 1.30 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaEmbeddedFrameView.st,v 1.31 2013-04-27 12:31:24 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaEmbeddedFrameView.st,v 1.30 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaEmbeddedFrameView.st,v 1.31 2013-04-27 12:31:24 cg Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ '§Changeset: <not expanded> §'
 !
 
 version_SVN
--- a/JavaLanguage.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/JavaLanguage.st	Mon Apr 29 21:08:38 2013 +0100
@@ -98,7 +98,6 @@
     "There is no evaluator for Java. If you would like to
      evaluate Java code, use GroovyEvaluator instead"
     
-    (OperatingSystem getLoginName = 'm') ifTrue: [ ^ Parser ].
     ^ GroovyEvaluator
 
     "Created: / 16-08-2011 / 10:03:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -223,12 +222,12 @@
 !JavaLanguage class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaLanguage.st,v 1.4 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaLanguage.st,v 1.5 2013-04-11 09:34:19 stefan Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ '§Changeset: <not expanded> §'
 !
 
 version_SVN
--- a/JavaMethod.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/JavaMethod.st	Mon Apr 29 21:08:38 2013 +0100
@@ -1130,7 +1130,7 @@
 !
 
 name
-    ^ (selector copyWithoutLast:descriptor size) asSymbol
+    ^ (selector copyButLast:descriptor size) asSymbol
 
     "Created: 16.4.1996 / 11:34:22 / cg"
 !
@@ -1537,9 +1537,9 @@
 "/        self isAbstract ifFalse:[
             aStream nextPutAll:'// source not available...'; cr.
             SignalSet anySignal handle:[:ex |
-                ex signal == Object haltSignal ifTrue:[ex reject].
-                ex signal == MessageTracer breakpointSignal ifTrue:[ex reject].
-                ex signal == Signal noHandlerSignal ifTrue:[ex reject].
+                ex creator == Object haltSignal ifTrue:[ex reject].
+                ex creator == MessageTracer breakpointSignal ifTrue:[ex reject].
+                ex creator == Signal noHandlerSignal ifTrue:[ex reject].
 
                 aStream nextPutAll:'error while decompiling:'.
                 aStream cr; cr; spaces:4.
@@ -2664,16 +2664,16 @@
 !JavaMethod class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libjava/JavaMethod.st,v 1.112 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaMethod.st,v 1.114 2013-04-25 13:11:44 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaMethod.st,v 1.112 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaMethod.st,v 1.114 2013-04-25 13:11:44 stefan Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ '§Changeset: <not expanded> §'
 !
 
 version_SVN
--- a/JavaNativeMethod.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/JavaNativeMethod.st	Mon Apr 29 21:08:38 2013 +0100
@@ -302,7 +302,7 @@
 
     ^'%1
 
-    <javanative: ''', javaClass name , ''' name: ''', (selector copyWithoutLast:signature size), '''>
+    <javanative: ''', javaClass name , ''' name: ''', (selector copyButLast:signature size), '''>
 
     %3'
 
@@ -477,7 +477,6 @@
             { (ReturnNode expression: sendTree) };
         yourself.
 
-
     compiler := ByteCodeCompiler new.
     compiler methodClass: Method.
     trampoline := compiler 
@@ -555,15 +554,15 @@
 !JavaNativeMethod class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethod.st,v 1.15 2013-03-04 17:32:26 +0000 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethod.st,v 1.16 2013-04-25 13:11:51 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethod.st,v 1.15 2013-03-04 17:32:26 +0000 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethod.st,v 1.16 2013-04-25 13:11:51 stefan Exp $'
 !
 
 version_SVN
-    ^ '§Id§'
+    ^ 'Id'
 
 ! !
 
--- a/JavaNativeMethodImpl_OpenJDK6.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/JavaNativeMethodImpl_OpenJDK6.st	Mon Apr 29 21:08:38 2013 +0100
@@ -3560,7 +3560,7 @@
     stProcess := JavaProcess
                 for: [
                     | procName |
-                    Object abortSignal
+                    AbortOperationRequest
                         handle: [
                             :ex |
                             procName := stProcess name.
@@ -3597,7 +3597,7 @@
                                         ex return.
                                     ]
                                     do: [
-                                        Object messageNotUnderstoodSignal
+                                        MessageNotUnderstood
                                             handle: [
                                                 :ex |
                                                 |
@@ -4198,7 +4198,7 @@
 
     view := self viewForWPeer: nativeContext.
 
-    Object errorSignal catch:[
+    Error catch:[
         view destroy.
     ].
     JavaWindowGroup removeView:view.
@@ -4268,10 +4268,11 @@
 
     view := self viewForWPeer: nativeContext.
 
-    Object errorSignal handle:[:ex |
-    ] do:[
-        view disable
-    ]
+    Error 
+        handle:[:ex |] 
+        do:[
+            view disable
+        ]
 
     "Created: / 6.1.1998 / 18:26:36 / cg"
     "Modified: / 8.1.1998 / 17:32:53 / cg"
@@ -4282,7 +4283,7 @@
 
     view := self viewForWPeer: nativeContext.
 
-    Object errorSignal handle:[:ex |
+    Error handle:[:ex |
     ] do:[
         view enable
     ]
@@ -4366,7 +4367,7 @@
     view := self viewForWPeer: nativeContext.
 "/ view isPopUpView ifTrue:[self halt].
 
-    Object errorSignal handle:[:ex |
+    Error handle:[:ex |
     ] do:[
         view beInvisible
     ]
@@ -13740,7 +13741,6 @@
 
     ^ JavaVM unimplementedNativeMethodSignal raise
 ! !
-
 !JavaNativeMethodImpl_OpenJDK6 class methodsFor:'native - stx.libjava'!
 
 _stx_libjava_ClassLoader_findClassS: this _:a1 
@@ -13831,7 +13831,6 @@
 
     "Modified: / 30-03-2013 / 00:43:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-
 !JavaNativeMethodImpl_OpenJDK6 class methodsFor:'native - sun.awt'!
 
 _sun_awt_DebugSettings_setCTracingOn: this _: a1 
@@ -20703,12 +20702,16 @@
 
 !JavaNativeMethodImpl_OpenJDK6 class methodsFor:'documentation'!
 
+version
+    ^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethodImpl_OpenJDK6.st,v 1.4 2013-04-27 12:29:56 cg Exp $'
+!
+
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethodImpl_OpenJDK6.st,v 1.2 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethodImpl_OpenJDK6.st,v 1.4 2013-04-27 12:29:56 cg Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
-! !
-
+    ^ 'Changeset: <not expanded> '
+! !
+
--- a/JavaProcess.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/JavaProcess.st	Mon Apr 29 21:08:38 2013 +0100
@@ -60,7 +60,6 @@
 "
 ! !
 
-
 !JavaProcess class methodsFor:'instance creation'!
 
 newHelper
@@ -70,7 +69,6 @@
     "Created: / 15-12-2010 / 11:11:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaProcess methodsFor:'accessing'!
 
 suspendedContext
@@ -97,7 +95,6 @@
     "Created: 7.5.1996 / 09:02:12 / cg"
 ! !
 
-
 !JavaProcess methodsFor:'interrupts'!
 
 clearInterruptActions
@@ -119,7 +116,6 @@
     "Created: / 10.4.1998 / 15:21:15 / cg"
 ! !
 
-
 !JavaProcess methodsFor:'suspend & resume'!
 
 terminateNoSignal
@@ -135,7 +131,6 @@
     "Modified: / 27-08-2012 / 11:50:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaProcess::Helper methodsFor:'initialization'!
 
 javaProcess:something
@@ -146,12 +141,11 @@
     javaThreadObject := something.
 ! !
 
-
 !JavaProcess::Helper methodsFor:'support'!
 
 value
     | procName |
-    Object abortSignal 
+    AbortOperationRequest
         handle: [
             :ex | 
             procName := javaProcess name.
@@ -202,7 +196,7 @@
                         ex return.
                     ]
                     do: [
-                        Object messageNotUnderstoodSignal 
+                        MessageNotUnderstood 
                             handle: [
                                 :ex | 
                                 | 
@@ -265,20 +259,19 @@
     "Modified: / 09-12-2011 / 12:51:55 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
 ! !
 
-
 !JavaProcess class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libjava/JavaProcess.st,v 1.18 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaProcess.st,v 1.20 2013-04-27 12:26:38 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaProcess.st,v 1.18 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaProcess.st,v 1.20 2013-04-27 12:26:38 cg Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ '§Changeset: <not expanded> §'
 !
 
 version_SVN
--- a/JavaRelease.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/JavaRelease.st	Mon Apr 29 21:08:38 2013 +0100
@@ -232,10 +232,27 @@
 !
 
 available
-    | releases |
+    | releases out path |
+
     releases := self all select: [:rel | rel isAvailable ].
-    releases isEmpty
-        ifTrue: [ self error: 'No Java release found'. ^nil ].
+    releases isEmpty ifTrue: [
+        "/ none of the releases seems to be installed in a way that it is found
+        "/ out of the box. Try a 'java' command...
+        (path := OperatingSystem pathOfCommand:'java') notNil ifTrue:[
+            out := WriteStream on:(String new:100).
+            (OperatingSystem executeCommand:'java -version' outputTo:out) ifTrue:[
+                out := out contents.
+                releases := self all select:[:rel | rel validateJavaVersionString:out].
+                ('/System/Library/Java' asFilename) exists  
+                releases do:[:each |
+                    each javaHome:('/System/Library/Java/Home' asFilename).
+                ].
+            ].
+        ].
+        releases isEmpty ifTrue: [ 
+            self error: 'No Java release found'. ^nil 
+        ].
+    ].
     ^releases
 
     "
@@ -278,9 +295,10 @@
     "Returns a default value of sun.boot.class.path"
 
     bootClassPath isNil ifTrue:[
-        | libs |
+        | jreHome libs |
 
-        libs := self jreHome / 'lib'.
+        jreHome := self jreHome.
+        libs := jreHome / 'lib'.
         bootClassPath := OrderedCollection new.
         libs directoryContentsAsFilenames do:[:each|
             (each pathName endsWith:'.jar') ifTrue:[
@@ -304,6 +322,16 @@
     "Modified (format): / 11-04-2013 / 14:30:16 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
 !
 
+bootClassPath:aCollectionOfPathes
+    "Change the bootClassPath"                         
+
+    bootClassPath := OrderedCollection withAll:aCollectionOfPathes.
+
+    "
+    Java release bootClassPath
+    "
+!
+
 javaBundle
     "Returns bundle representing Java code (both core + extections)"
 
@@ -462,6 +490,10 @@
 
     | jreHome |
 
+    OperatingSystem isOSXlike ifTrue:[
+        ^ '/System/Library/Java/Home' asFilename
+    ].
+
     self javaHome isNil ifTrue:[ ^ nil ].
 
     ^(jreHome := self javaHome asFilename / 'jre') exists
@@ -800,8 +832,9 @@
         (self validateJavaHome: h) ifTrue:[ javaHome := h. ^ javaHome ].
     ].
 
-    self javaHomes do:
-        [:home| | homeAsFilename |
+    self javaHomes do: [:home| 
+        | homeAsFilename |
+
         homeAsFilename := home asFilename.
         homeAsFilename exists ifTrue:
             [(self validateJavaHome: homeAsFilename) ifTrue:
@@ -882,6 +915,13 @@
 
     "Created: / 27-10-2010 / 19:14:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 12-02-2013 / 02:51:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+validateJavaVersionString:aVersionString
+    "Return true if aVersionString (which is what 'java -version' returns)
+     matches what I expect."
+
+    ^ false
 ! !
 
 !JavaRelease::OpenJDK6 class methodsFor:'documentation'!
@@ -1101,6 +1141,13 @@
 
     "Created: / 12-02-2013 / 02:52:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 11-04-2013 / 14:22:19 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+!
+
+validateJavaVersionString:aVersionString
+    "Return true if aVersionString (which is what 'java -version' returns)
+     matches what I expect."
+
+    ^ aVersionString matches: 'java version "1.6.*'
 ! !
 
 !JavaRelease::OpenJDK7 class methodsFor:'documentation'!
@@ -1230,6 +1277,15 @@
     "Modified: / 08-02-2013 / 00:57:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!JavaRelease::OpenJDK7 methodsFor:'validating'!
+
+validateJavaVersionString:aVersionString
+    "Return true if aVersionString (which is what 'java -version' returns)
+     matches what I expect."
+
+    ^ aVersionString matches: 'java version "1.7.*' 
+! !
+
 !JavaRelease::OracleJDK6 class methodsFor:'documentation'!
 
 copyright
@@ -1455,6 +1511,13 @@
 
     "Created: / 12-02-2013 / 02:52:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 16-02-2013 / 02:54:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+validateJavaVersionString:aVersionString
+    "Return true if aVersionString (which is what 'java -version' returns)
+     matches what I expect."
+
+    ^ aVersionString matches: 'java version "1.6.*' 
 ! !
 
 !JavaRelease::OracleJDK7 class methodsFor:'documentation'!
@@ -1489,7 +1552,7 @@
     "Return path to java home (either JDK or JRE) based on values in registry.
      If not on windows or registry key not found, return nil"
 
-    |entry vsn home |
+    |entry vsn home prg|
 
     OperatingSystem isMSWINDOWSlike ifFalse:[ ^ nil ].
     vsn := '1.7'.
@@ -1507,6 +1570,12 @@
         (home notNil and:[(home := home asFilename) exists]) ifTrue:[ ^ home ].
     ].
 
+    (prg := OperatingSystem getEnvironment:'ProgramFiles(x86)') notEmptyOrNil ifTrue:[
+        (home := prg asFilename / 'Java' / 'jre7') exists ifTrue:[ ^ home ].
+    ].
+    (prg := OperatingSystem getEnvironment:'ProgramFiles') notEmptyOrNil ifTrue:[
+        (home := prg asFilename / 'Java' / 'jre7') exists ifTrue:[ ^ home ].
+    ].
     ^nil
 
     "Created: / 16-02-2013 / 02:52:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -1680,6 +1749,13 @@
 
     "Created: / 12-02-2013 / 02:52:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 16-02-2013 / 02:54:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+validateJavaVersionString:aVersionString
+    "Return true if aVersionString (which is what 'java -version' returns)
+     matches what I expect."
+
+    ^ aVersionString matches: 'java version "1.7.*' 
 ! !
 
 !JavaRelease::SunJDK122 class methodsFor:'documentation'!
@@ -1777,14 +1853,23 @@
     "Created: / 27-07-2012 / 00:04:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!JavaRelease::SunJDK122 methodsFor:'validating'!
+
+validateJavaVersionString:aVersionString
+    "Return true if aVersionString (which is what 'java -version' returns)
+     matches what I expect."
+
+    ^ aVersionString matches: 'java version "1.2.*'
+! !
+
 !JavaRelease class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libjava/JavaRelease.st,v 1.8 2013-02-25 19:38:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaRelease.st,v 1.10 2013-03-18 17:08:04 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaRelease.st,v 1.8 2013-02-25 19:38:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaRelease.st,v 1.10 2013-03-18 17:08:04 cg Exp $'
 !
 
 version_SVN
--- a/JavaUnresolvedClassConstant.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/JavaUnresolvedClassConstant.st	Mon Apr 29 21:08:38 2013 +0100
@@ -53,7 +53,6 @@
 "
 ! !
 
-
 !JavaUnresolvedClassConstant class methodsFor:'instance creation'!
 
 fullName:nm
@@ -84,7 +83,6 @@
     "Modified: / 4.2.1998 / 22:13:38 / cg"
 ! !
 
-
 !JavaUnresolvedClassConstant methodsFor:'* As yet uncategorized *'!
 
 javaClassForNew
@@ -94,7 +92,6 @@
     "Created: / 16-03-2011 / 16:09:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaUnresolvedClassConstant methodsFor:'accessing'!
 
 className
@@ -223,7 +220,6 @@
     "Created: 7.4.1997 / 13:35:25 / cg"
 ! !
 
-
 !JavaUnresolvedClassConstant methodsFor:'converting'!
 
 asClassPointerRef
@@ -245,7 +241,6 @@
     "Modified: / 25.1.1998 / 19:56:54 / cg"
 ! !
 
-
 !JavaUnresolvedClassConstant methodsFor:'printing & storing'!
 
 displayString
@@ -257,7 +252,6 @@
     "Modified: / 18.7.1998 / 22:57:36 / cg"
 ! !
 
-
 !JavaUnresolvedClassConstant methodsFor:'queries'!
 
 isJavaClassRef
@@ -279,14 +273,13 @@
 
     components := fullName asCollectionOfSubstringsSeparatedBy:$/.
     components size > 1 ifTrue:[
-        ^ (components copyWithoutLast:1) asStringWith:$/
+        ^ (components copyButLast:1) asStringWith:$/
     ].
     ^ fullName
 
     "Created: / 12.11.1998 / 21:11:30 / cg"
 ! !
 
-
 !JavaUnresolvedClassConstant methodsFor:'resolving'!
 
 preResolve
@@ -350,20 +343,19 @@
     "Modified: / 11-02-2011 / 10:41:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaUnresolvedClassConstant class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libjava/JavaUnresolvedClassConstant.st,v 1.47 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaUnresolvedClassConstant.st,v 1.48 2013-04-25 13:09:57 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaUnresolvedClassConstant.st,v 1.47 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaUnresolvedClassConstant.st,v 1.48 2013-04-25 13:09:57 stefan Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ '§Changeset: <not expanded> §'
 !
 
 version_SVN
--- a/extensions.st	Wed Apr 24 18:35:29 2013 +0100
+++ b/extensions.st	Mon Apr 29 21:08:38 2013 +0100
@@ -785,13 +785,14 @@
 !Float class methodsFor:'autoboxing support'!
 
 javaUnbox: object onError: errorBlock
+
+    | value |
+
     (object class name = 'java/lang/Double') ifFalse:[
         errorBlock value.
     ].
-    ^object instVarNamed: #value.
-
-    "Created: / 22-11-2011 / 11:52:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 09-03-2013 / 12:13:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    value := object instVarNamed: #value.
+    ^value
 ! !
 
 !Float class methodsFor:'accessing'!
@@ -1906,7 +1907,6 @@
 
 !stx_libjava class methodsFor:'documentation'!
 
-extensionsVersion_HG
-
-    ^ '$Changeset: <not expanded> $'
+extensionsVersion_CVS
+    ^ '$Header: /cvs/stx/stx/libjava/extensions.st,v 1.4 2013-03-08 09:47:48 cg Exp $'
 ! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/fdlibm/Makefile.mingw32	Mon Apr 29 21:08:38 2013 +0100
@@ -0,0 +1,149 @@
+#
+#
+
+USEMINGW32=1
+
+!include ..\..\..\rules\stdHeader_bc
+
+#
+# There are two options in making libm at fdlibm compile time:
+#       _IEEE_LIBM      --- IEEE libm; smaller, and somewhat faster
+#       _MULTI_LIBM     --- Support multi-standard at runtime by
+#                           imposing wrapper functions defined in
+#                           fdlibm.h:
+#                               _IEEE_MODE      -- IEEE
+#                               _XOPEN_MODE     -- X/OPEN
+#                               _POSIX_MODE     -- POSIX/ANSI
+#                               _SVID3_MODE     -- SVID
+#
+# Here is how to set up CFLAGS to create the desired libm at
+# compile time:
+#
+#       CFLAGS = -D_IEEE_LIBM           ... IEEE libm (recommended)
+#       CFLAGS = -D_SVID3_MODE  ... Multi-standard supported
+#                                           libm with SVID as the
+#                                           default standard
+#       CFLAGS = -D_XOPEN_MODE  ... Multi-standard supported
+#                                           libm with XOPEN as the
+#                                           default standard
+#       CFLAGS = -D_POSIX_MODE  ... Multi-standard supported
+#                                           libm with POSIX as the
+#                                           default standard
+#       CFLAGS =                        ... Multi-standard supported
+#                                           libm with IEEE as the
+#                                           default standard
+#
+# NOTE: if scalb's second arguement is an int, then one must
+# define _SCALB_INT in CFLAGS. The default prototype of scalb
+# is double scalb(double, double)
+#
+OUTDIR=
+
+INCL=
+
+AR      = ar
+
+# CC      = gcc
+
+#
+# Default IEEE libm
+#
+# CFLAGS  = -O $(INCL)
+
+CHMOD   = chmod
+
+CP      = cp
+
+INCFILES = fdlibm.h
+
+LDFLAGS =
+
+LIB     = libfdm.lib
+
+LIBS    =
+
+RANLIB  = ranlib
+
+RM      = del
+
+
+
+src =   k_standard.c k_rem_pio2.c \
+	k_cos.c k_sin.c k_tan.c \
+	e_acos.c e_acosh.c e_asin.c e_atan2.c \
+	e_atanh.c e_cosh.c e_exp.c e_fmod.c \
+	e_gamma.c e_gamma_r.c e_hypot.c e_j0.c \
+	e_j1.c e_jn.c e_lgamma.c e_lgamma_r.c \
+	e_log.c e_log10.c e_pow.c e_rem_pio2.c e_remainder.c \
+	e_scalb.c e_sinh.c e_sqrt.c \
+	w_acos.c w_acosh.c w_asin.c w_atan2.c \
+	w_atanh.c w_cosh.c w_exp.c w_fmod.c \
+	w_gamma.c w_gamma_r.c w_hypot.c w_j0.c \
+	w_j1.c w_jn.c w_lgamma.c w_lgamma_r.c \
+	w_log.c w_log10.c w_pow.c w_remainder.c \
+	w_scalb.c w_sinh.c w_sqrt.c \
+	s_asinh.c s_atan.c s_cbrt.c s_ceil.c s_copysign.c \
+	s_cos.c s_erf.c s_expm1.c s_fabs.c s_finite.c s_floor.c \
+	s_frexp.c s_ilogb.c s_isnan.c s_ldexp.c s_lib_version.c \
+	s_log1p.c s_logb.c s_matherr.c s_modf.c s_nextafter.c \
+	s_rint.c s_scalbn.c s_signgam.c s_significand.c s_sin.c \
+	s_tan.c s_tanh.c
+
+obj =   $(OUTDIR)k_standard.$(O) $(OUTDIR)k_rem_pio2.$(O) \
+	$(OUTDIR)k_cos.$(O) $(OUTDIR)k_sin.$(O) $(OUTDIR)k_tan.$(O) \
+	$(OUTDIR)e_acos.$(O) $(OUTDIR)e_acosh.$(O) $(OUTDIR)e_asin.$(O) $(OUTDIR)e_atan2.$(O) \
+	$(OUTDIR)e_atanh.$(O) $(OUTDIR)e_cosh.$(O) $(OUTDIR)e_exp.$(O) $(OUTDIR)e_fmod.$(O) \
+	$(OUTDIR)e_gamma.$(O) $(OUTDIR)e_gamma_r.$(O) $(OUTDIR)e_hypot.$(O) $(OUTDIR)e_j0.$(O) \
+	$(OUTDIR)e_j1.$(O) $(OUTDIR)e_jn.$(O) $(OUTDIR)e_lgamma.$(O) $(OUTDIR)e_lgamma_r.$(O) \
+	$(OUTDIR)e_log.$(O) $(OUTDIR)e_log10.$(O) $(OUTDIR)e_pow.$(O) $(OUTDIR)e_rem_pio2.$(O) $(OUTDIR)e_remainder.$(O)  \
+	$(OUTDIR)e_scalb.$(O) $(OUTDIR)e_sinh.$(O) $(OUTDIR)e_sqrt.$(O) \
+	$(OUTDIR)w_acos.$(O) $(OUTDIR)w_acosh.$(O) $(OUTDIR)w_asin.$(O) $(OUTDIR)w_atan2.$(O) \
+	$(OUTDIR)w_atanh.$(O) $(OUTDIR)w_cosh.$(O) $(OUTDIR)w_exp.$(O) $(OUTDIR)w_fmod.$(O) \
+	$(OUTDIR)w_gamma.$(O) $(OUTDIR)w_gamma_r.$(O) $(OUTDIR)w_hypot.$(O) $(OUTDIR)w_j0.$(O) \
+	$(OUTDIR)w_j1.$(O) $(OUTDIR)w_jn.$(O) $(OUTDIR)w_lgamma.$(O) $(OUTDIR)w_lgamma_r.$(O) \
+	$(OUTDIR)w_log.$(O) $(OUTDIR)w_log10.$(O) $(OUTDIR)w_pow.$(O) $(OUTDIR)w_remainder.$(O) \
+	$(OUTDIR)w_scalb.$(O) $(OUTDIR)w_sinh.$(O) $(OUTDIR)w_sqrt.$(O) \
+	$(OUTDIR)s_asinh.$(O) $(OUTDIR)s_atan.$(O) $(OUTDIR)s_cbrt.$(O) $(OUTDIR)s_ceil.$(O) $(OUTDIR)s_copysign.$(O) \
+	$(OUTDIR)s_cos.$(O) $(OUTDIR)s_erf.$(O) $(OUTDIR)s_expm1.$(O) $(OUTDIR)s_fabs.$(O) $(OUTDIR)s_finite.$(O) $(OUTDIR)s_floor.$(O) \
+	$(OUTDIR)s_frexp.$(O) $(OUTDIR)s_ilogb.$(O) $(OUTDIR)s_isnan.$(O) $(OUTDIR)s_ldexp.$(O) $(OUTDIR)s_lib_version.$(O) \
+	$(OUTDIR)s_log1p.$(O) $(OUTDIR)s_logb.$(O) $(OUTDIR)s_matherr.$(O) $(OUTDIR)s_modf.$(O) $(OUTDIR)s_nextafter.$(O) \
+	$(OUTDIR)s_rint.$(O) $(OUTDIR)s_scalbn.$(O) $(OUTDIR)s_signgam.$(O) $(OUTDIR)s_significand.$(O) $(OUTDIR)s_sin.$(O) \
+	$(OUTDIR)s_tan.$(O) $(OUTDIR)s_tanh.$(O)
+
+all: $(LIB)
+
+check:
+	@echo This package does not have a validation suite.
+
+clean:
+	-$(RM) *.$(O) $(LIB)
+
+distclean:      mostlyclean
+	-$(RM) $(LIB)
+	-$(RM) -r autom4te.cache/
+	-$(RM) config.cache config.log config.status Makefile
+
+install:        $(LIB) uninstall
+	$(CP) $(LIB) $(prefix)/lib/$(LIB)
+	$(CHMOD) 664 $(prefix)/lib/$(LIB)
+	$(RANLIB) $(prefix)/lib/$(LIB) || true
+
+$(LIB) : $(obj)
+	-del $(LIB)
+	$(AR) r $(LIB) $(obj)
+
+maintainer-clean:       distclean
+	@echo "This command is intended for maintainers to use;"
+	@echo "it deletes files that may require special tools to rebuild."
+	-$(RM) configure
+
+mostlyclean:    clean
+	-$(RM) $(obj)
+
+source: $(src) README
+
+uninstall:
+	-$(RM) $(prefix)/lib/$(LIB)
+
+.c.$(O):
+	$(CC) $(CFLAGS) -c{ $<}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/fdlibm/Makefile.mingw64	Mon Apr 29 21:08:38 2013 +0100
@@ -0,0 +1,149 @@
+#
+#
+
+USEMINGW64=1
+
+!include ..\..\..\rules\stdHeader_bc
+
+#
+# There are two options in making libm at fdlibm compile time:
+#       _IEEE_LIBM      --- IEEE libm; smaller, and somewhat faster
+#       _MULTI_LIBM     --- Support multi-standard at runtime by
+#                           imposing wrapper functions defined in
+#                           fdlibm.h:
+#                               _IEEE_MODE      -- IEEE
+#                               _XOPEN_MODE     -- X/OPEN
+#                               _POSIX_MODE     -- POSIX/ANSI
+#                               _SVID3_MODE     -- SVID
+#
+# Here is how to set up CFLAGS to create the desired libm at
+# compile time:
+#
+#       CFLAGS = -D_IEEE_LIBM           ... IEEE libm (recommended)
+#       CFLAGS = -D_SVID3_MODE  ... Multi-standard supported
+#                                           libm with SVID as the
+#                                           default standard
+#       CFLAGS = -D_XOPEN_MODE  ... Multi-standard supported
+#                                           libm with XOPEN as the
+#                                           default standard
+#       CFLAGS = -D_POSIX_MODE  ... Multi-standard supported
+#                                           libm with POSIX as the
+#                                           default standard
+#       CFLAGS =                        ... Multi-standard supported
+#                                           libm with IEEE as the
+#                                           default standard
+#
+# NOTE: if scalb's second arguement is an int, then one must
+# define _SCALB_INT in CFLAGS. The default prototype of scalb
+# is double scalb(double, double)
+#
+OUTDIR=
+
+INCL=
+
+AR      = ar
+
+# CC      = gcc
+
+#
+# Default IEEE libm
+#
+# CFLAGS  = -O $(INCL)
+
+CHMOD   = chmod
+
+CP      = cp
+
+INCFILES = fdlibm.h
+
+LDFLAGS =
+
+LIB     = libfdm.lib
+
+LIBS    =
+
+RANLIB  = ranlib
+
+RM      = del
+
+
+
+src =   k_standard.c k_rem_pio2.c \
+	k_cos.c k_sin.c k_tan.c \
+	e_acos.c e_acosh.c e_asin.c e_atan2.c \
+	e_atanh.c e_cosh.c e_exp.c e_fmod.c \
+	e_gamma.c e_gamma_r.c e_hypot.c e_j0.c \
+	e_j1.c e_jn.c e_lgamma.c e_lgamma_r.c \
+	e_log.c e_log10.c e_pow.c e_rem_pio2.c e_remainder.c \
+	e_scalb.c e_sinh.c e_sqrt.c \
+	w_acos.c w_acosh.c w_asin.c w_atan2.c \
+	w_atanh.c w_cosh.c w_exp.c w_fmod.c \
+	w_gamma.c w_gamma_r.c w_hypot.c w_j0.c \
+	w_j1.c w_jn.c w_lgamma.c w_lgamma_r.c \
+	w_log.c w_log10.c w_pow.c w_remainder.c \
+	w_scalb.c w_sinh.c w_sqrt.c \
+	s_asinh.c s_atan.c s_cbrt.c s_ceil.c s_copysign.c \
+	s_cos.c s_erf.c s_expm1.c s_fabs.c s_finite.c s_floor.c \
+	s_frexp.c s_ilogb.c s_isnan.c s_ldexp.c s_lib_version.c \
+	s_log1p.c s_logb.c s_matherr.c s_modf.c s_nextafter.c \
+	s_rint.c s_scalbn.c s_signgam.c s_significand.c s_sin.c \
+	s_tan.c s_tanh.c
+
+obj =   $(OUTDIR)k_standard.$(O) $(OUTDIR)k_rem_pio2.$(O) \
+	$(OUTDIR)k_cos.$(O) $(OUTDIR)k_sin.$(O) $(OUTDIR)k_tan.$(O) \
+	$(OUTDIR)e_acos.$(O) $(OUTDIR)e_acosh.$(O) $(OUTDIR)e_asin.$(O) $(OUTDIR)e_atan2.$(O) \
+	$(OUTDIR)e_atanh.$(O) $(OUTDIR)e_cosh.$(O) $(OUTDIR)e_exp.$(O) $(OUTDIR)e_fmod.$(O) \
+	$(OUTDIR)e_gamma.$(O) $(OUTDIR)e_gamma_r.$(O) $(OUTDIR)e_hypot.$(O) $(OUTDIR)e_j0.$(O) \
+	$(OUTDIR)e_j1.$(O) $(OUTDIR)e_jn.$(O) $(OUTDIR)e_lgamma.$(O) $(OUTDIR)e_lgamma_r.$(O) \
+	$(OUTDIR)e_log.$(O) $(OUTDIR)e_log10.$(O) $(OUTDIR)e_pow.$(O) $(OUTDIR)e_rem_pio2.$(O) $(OUTDIR)e_remainder.$(O)  \
+	$(OUTDIR)e_scalb.$(O) $(OUTDIR)e_sinh.$(O) $(OUTDIR)e_sqrt.$(O) \
+	$(OUTDIR)w_acos.$(O) $(OUTDIR)w_acosh.$(O) $(OUTDIR)w_asin.$(O) $(OUTDIR)w_atan2.$(O) \
+	$(OUTDIR)w_atanh.$(O) $(OUTDIR)w_cosh.$(O) $(OUTDIR)w_exp.$(O) $(OUTDIR)w_fmod.$(O) \
+	$(OUTDIR)w_gamma.$(O) $(OUTDIR)w_gamma_r.$(O) $(OUTDIR)w_hypot.$(O) $(OUTDIR)w_j0.$(O) \
+	$(OUTDIR)w_j1.$(O) $(OUTDIR)w_jn.$(O) $(OUTDIR)w_lgamma.$(O) $(OUTDIR)w_lgamma_r.$(O) \
+	$(OUTDIR)w_log.$(O) $(OUTDIR)w_log10.$(O) $(OUTDIR)w_pow.$(O) $(OUTDIR)w_remainder.$(O) \
+	$(OUTDIR)w_scalb.$(O) $(OUTDIR)w_sinh.$(O) $(OUTDIR)w_sqrt.$(O) \
+	$(OUTDIR)s_asinh.$(O) $(OUTDIR)s_atan.$(O) $(OUTDIR)s_cbrt.$(O) $(OUTDIR)s_ceil.$(O) $(OUTDIR)s_copysign.$(O) \
+	$(OUTDIR)s_cos.$(O) $(OUTDIR)s_erf.$(O) $(OUTDIR)s_expm1.$(O) $(OUTDIR)s_fabs.$(O) $(OUTDIR)s_finite.$(O) $(OUTDIR)s_floor.$(O) \
+	$(OUTDIR)s_frexp.$(O) $(OUTDIR)s_ilogb.$(O) $(OUTDIR)s_isnan.$(O) $(OUTDIR)s_ldexp.$(O) $(OUTDIR)s_lib_version.$(O) \
+	$(OUTDIR)s_log1p.$(O) $(OUTDIR)s_logb.$(O) $(OUTDIR)s_matherr.$(O) $(OUTDIR)s_modf.$(O) $(OUTDIR)s_nextafter.$(O) \
+	$(OUTDIR)s_rint.$(O) $(OUTDIR)s_scalbn.$(O) $(OUTDIR)s_signgam.$(O) $(OUTDIR)s_significand.$(O) $(OUTDIR)s_sin.$(O) \
+	$(OUTDIR)s_tan.$(O) $(OUTDIR)s_tanh.$(O)
+
+all: $(LIB)
+
+check:
+	@echo This package does not have a validation suite.
+
+clean:
+	-$(RM) *.$(O) $(LIB)
+
+distclean:      mostlyclean
+	-$(RM) $(LIB)
+	-$(RM) -r autom4te.cache/
+	-$(RM) config.cache config.log config.status Makefile
+
+install:        $(LIB) uninstall
+	$(CP) $(LIB) $(prefix)/lib/$(LIB)
+	$(CHMOD) 664 $(prefix)/lib/$(LIB)
+	$(RANLIB) $(prefix)/lib/$(LIB) || true
+
+$(LIB) : $(obj)
+	-del $(LIB)
+	$(AR) r $(LIB) $(obj)
+
+maintainer-clean:       distclean
+	@echo "This command is intended for maintainers to use;"
+	@echo "it deletes files that may require special tools to rebuild."
+	-$(RM) configure
+
+mostlyclean:    clean
+	-$(RM) $(obj)
+
+source: $(src) README
+
+uninstall:
+	-$(RM) $(prefix)/lib/$(LIB)
+
+.c.$(O):
+	$(CC) $(CFLAGS) -c -o $*.$(O) $*.c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/.cvsignore	Mon Apr 29 21:08:38 2013 +0100
@@ -0,0 +1,14 @@
+*.H
+*.STH
+objbc
+objvc
+objmingw
+objlc
+ntLibInit.c
+.listOfSTfiles
+makefile
+*.res
+*.RES
+*.sc
+*.@@@
+*.c