changeset 3375:4dd2ea989d17

Update mingw to use get_cross_build_dependencies.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Tue, 01 May 2007 14:10:09 +0200
parents 314880aabe3f
children 94777d19388d
files gub/mingw.py gub/specs/cross/gcc.py gub/specs/cygcheck.py gub/specs/mingw-runtime.py gub/specs/w32api.py
diffstat 5 files changed, 72 insertions(+), 67 deletions(-) [+]
line wrap: on
line diff
--- a/gub/mingw.py	Tue May 01 11:59:07 2007 +0200
+++ b/gub/mingw.py	Tue May 01 14:10:09 2007 +0200
@@ -1,73 +1,14 @@
-import os
-import re
-
-from gub import mirrors
-from gub import gubb
-from gub import cross
-
-class Gcc (cross.Gcc):
-    def patch (self):
-        for f in ['%(srcdir)s/gcc/config/i386/mingw32.h',
-                  '%(srcdir)s/gcc/config/i386/t-mingw32']:
-            self.file_sub ([('/mingw/include','/usr/include'),
-                            ('/mingw/lib','/usr/lib'),
-                            ], f)
-
-# UGH: MI
-class Mingw_runtime (gubb.BinarySpec, gubb.SdkBuildSpec):
-    def install (self):
-        self.system ('''
-mkdir -p %(install_root)s/usr/share
-tar -C %(srcdir)s/ -cf - . | tar -C %(install_root)s/usr -xf -
-mv %(install_root)s/usr/doc %(install_root)s/share
-''', locals ())
-
-class Cygcheck (gubb.BinarySpec):
-    "Only need the cygcheck.exe binary."
-    def __init__ (self, settings):
-        gubb.BinarySpec.__init__ (self, settings)
-        self.with (version='1.5.18-1', mirror=mirrors.cygwin_bin, format='bz2')
-        
-    def untar (self):
-        gubb.BinarySpec.untar (self)
+def get_cross_packages (settings):
+    # obsolete
+    return []
 
-        file = self.expand ('%(srcdir)s/usr/bin/cygcheck.exe')
-        cygcheck = open (file).read ()
-        self.system ('rm -rf %(srcdir)s/')
-        self.system ('mkdir -p %(srcdir)s/usr/bin/')
-        open (file, 'w').write (cygcheck)
-
-    def basename (self):
-        f = gubb.BinarySpec.basename (self)
-        f = re.sub ('-1$', '', f)
-        return f
-
-
-# UGH: MI
-class W32api (gubb.BinarySpec, gubb.SdkBuildSpec):
-    def untar (self):
-        gubb.BinarySpec.untar (self)
-        self.system ('''
-cd  %(srcdir)s/ && mkdir usr && mv include lib usr/
-''')
-
-def get_cross_packages (settings):
-    return [cross.Binutils (settings).with (version='2.16.1',
-                                            mirror=mirrors.gnu,
-                                            format='bz2'),
-            Gcc (settings).with (version='4.1.1',
-                                 mirror=mirrors.gcc_41),
-            Mingw_runtime (settings).with (version='3.9',
-                                           strip_components=0,
-                                           mirror=mirrors.mingw),
-            W32api (settings).with (version='3.6',
-                                    strip_components=0,
-                                    mirror=mirrors.mingw)
-            ]
-
+def get_cross_build_dependencies (settings):
+    return ['cross/gcc']
+    
 def change_target_package (p):
+    from gub import cross
+    from gub import gubb
     cross.change_target_package (p)
-
     gubb.change_target_dict (p,
                     {
             'DLLTOOL': '%(tool_prefix)sdlltool',
--- a/gub/specs/cross/gcc.py	Tue May 01 11:59:07 2007 +0200
+++ b/gub/specs/cross/gcc.py	Tue May 01 14:10:09 2007 +0200
@@ -35,3 +35,17 @@
         self.system ('''
 mv %(install_root)s/usr/cross/lib/gcc/%(target_architecture)s/%(version)s/libgcc_eh.a %(install_root)s/usr/lib
 ''')
+
+class Gcc__mingw (cross.Gcc):
+    def __init__ (self, settings):
+        cross.Gcc.__init__ (self, settings)
+        self.with_tarball (mirror=mirrors.gnu, version='4.1.1', format='bz2')
+    def get_build_dependencies (self):
+        return (cross.Gcc.get_build_dependencies (self)
+                + ['mingw-runtime', 'w32api'])
+    def patch (self):
+        for f in ['%(srcdir)s/gcc/config/i386/mingw32.h',
+                  '%(srcdir)s/gcc/config/i386/t-mingw32']:
+            self.file_sub ([('/mingw/include','/usr/include'),
+                            ('/mingw/lib','/usr/lib'),
+                            ], f)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gub/specs/cygcheck.py	Tue May 01 14:10:09 2007 +0200
@@ -0,0 +1,23 @@
+from gub import gubb
+from gub import mirrors
+
+class Cygcheck (gubb.BinarySpec):
+    "Only need the cygcheck.exe binary."
+    def __init__ (self, settings):
+        gubb.BinarySpec.__init__ (self, settings)
+        self.with (version='1.5.18-1', mirror=mirrors.cygwin_bin, format='bz2')
+        
+    def untar (self):
+        gubb.BinarySpec.untar (self)
+
+        file = self.expand ('%(srcdir)s/usr/bin/cygcheck.exe')
+        cygcheck = open (file).read ()
+        self.system ('rm -rf %(srcdir)s/')
+        self.system ('mkdir -p %(srcdir)s/usr/bin/')
+        open (file, 'w').write (cygcheck)
+
+    def basename (self):
+        import re
+        f = gubb.BinarySpec.basename (self)
+        f = re.sub ('-1$', '', f)
+        return f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gub/specs/mingw-runtime.py	Tue May 01 14:10:09 2007 +0200
@@ -0,0 +1,14 @@
+from gub import gubb
+from gub import mirrors
+
+class Mingw_runtime (gubb.BinarySpec, gubb.SdkBuildSpec):
+    def __init__ (self, settings):
+        gubb.BinarySpec.__init__ (self, settings)
+        self.with (version='3.9', strip_components=0, mirror=mirrors.mingw)
+    def install (self):
+        self.system ('''
+mkdir -p %(install_root)s/usr/share
+tar -C %(srcdir)s/ -cf - . | tar -C %(install_root)s/usr -xf -
+mv %(install_root)s/usr/doc %(install_root)s/share
+''', locals ())
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gub/specs/w32api.py	Tue May 01 14:10:09 2007 +0200
@@ -0,0 +1,13 @@
+from gub import gubb
+from gub import mirrors
+
+class W32api (gubb.BinarySpec, gubb.SdkBuildSpec):
+    def __init__ (self, settings):
+        gubb.BinarySpec.__init__ (self, settings)
+        self.with (version='3.6', strip_components=0, mirror=mirrors.mingw)
+    def untar (self):
+        gubb.BinarySpec.untar (self)
+        self.system ('''
+cd  %(srcdir)s/ && mkdir usr && mv include lib usr/
+''')
+