changeset 5396:556b3b24d0a5

/GUB: more gcc-core/gcc tweaks.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Thu, 23 Jul 2009 15:38:22 +0200
parents 2329bfeb44c9
children 56f408767419
files gub/cross.py gub/settings.py gub/specs/cross/gcc-core.py gub/specs/cross/gcc.py
diffstat 4 files changed, 31 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/gub/cross.py	Thu Jul 23 15:37:55 2009 +0200
+++ b/gub/cross.py	Thu Jul 23 15:38:22 2009 +0200
@@ -44,6 +44,7 @@
         return self.native_compile_command () + ' %(makeflags)s'
     def install_command (self):
         return '''make %(makeflags)s DESTDIR=%(install_root)s prefix=%(prefix_dir)s%(cross_dir)s install'''
+#        return '''make %(makeflags)s DESTDIR=%(install_root)s install'''
     def get_subpackage_names (self):
         return ['doc', '']
     def install_license (self):
--- a/gub/settings.py	Thu Jul 23 15:37:55 2009 +0200
+++ b/gub/settings.py	Thu Jul 23 15:38:22 2009 +0200
@@ -244,8 +244,25 @@
             if not os.path.isdir (dir):
                 loggedos.makedirs (logging.default_logger, dir)
             if not os.path.exists (self.alltargetdir + self.alltargetdir):
-                loggedos.system (logging.default_logger, 'cd %(alltargetdir)s && ln -s . ./%(alltargetdir)s' % self.__dict__)
-        
+                self.lib = 'lib'
+                if self.build_bits == '64':
+                    self.lib = 'lib64'
+                loggedos.system (logging.default_logger, '''
+cd %(alltargetdir)s && ln -sf . ./%(alltargetdir)s
+cd %(alltargetdir)s && ln -sf %(system_prefix)s .
+cd %(alltargetdir)s && ln -sf %(system_prefix)s/bin .
+cd %(alltargetdir)s && ln -sf %(system_prefix)s/dev .
+cd %(alltargetdir)s && ln -sf %(system_prefix)s/etc .
+cd %(alltargetdir)s && ln -sf %(system_prefix)s/%(lib)s lib
+cd %(alltargetdir)s && mkdir -p lib
+cd %(alltargetdir)s && ln -sf %(system_prefix)s/bin/true lib/ld-linux.so.2      
+''' % self.__dict__)
+                loggedos.dump_file ('''
+PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/%(build_architecture)s/bin"
+alias l='ls -ltrF'
+alias p='less -nMiX'
+''', '%(alltargetdir)s/etc/profile' % self.__dict__)
+                                    
     def dependency_url (self, string):
         # FIXME: read from settings.rc, take platform into account
         name = string.replace ('-', '_')
--- a/gub/specs/cross/gcc-core.py	Thu Jul 23 15:37:55 2009 +0200
+++ b/gub/specs/cross/gcc-core.py	Thu Jul 23 15:38:22 2009 +0200
@@ -6,11 +6,6 @@
     source = 'ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.1/gcc-4.1.1.tar.bz2'
     def _get_build_dependencies (self):
         return gcc.Gcc._get_build_dependencies (self)
-    # Ugh, hope to keep checksum
-    def patch (self):
-        gcc.Gcc__from__source.patch (self)
-        self.file_sub ([('(NATIVE_SYSTEM_HEADER_DIR = )/usr/include', r'\1%(system_prefix)s/include')],
-                       '%(srcdir)s/gcc/Makefile.in')
     def get_subpackage_names (self):
         return ['']
     def name (self):
@@ -43,4 +38,3 @@
         cross.AutoBuild.install (self)
     def languages (self):
         return  ['c']
-
--- a/gub/specs/cross/gcc.py	Thu Jul 23 15:37:55 2009 +0200
+++ b/gub/specs/cross/gcc.py	Thu Jul 23 15:38:22 2009 +0200
@@ -77,6 +77,11 @@
         if 'c++' in self.languages ():
             cmd +=  ' ' + cxx_opt
         return misc.join_lines (cmd)
+    def makeflags (self):
+        return misc.join_lines ('''
+tooldir="%(cross_prefix)s/%(target_architecture)s"
+gcc_tooldir="%(prefix_dir)s/%(target_architecture)s"
+''')
     def FAILED_attempt_to_avoid_post_install_MOVE_TARGET_LIBS_makeflags (self):
         return misc.join_lines ('''
 toolexeclibdir=%(system_prefix)s
@@ -94,6 +99,12 @@
         # .so* because version numbers trail .so extension.
         for suf in ['.a', '.la', '.so*', '.dylib']:
             self.map_locate (move_target_lib, libdir, 'lib*%(suf)s' % locals ())
+    def pre_install (self):
+        cross.AutoBuild.pre_install (self)
+        # Only id <PREFIX>/<TARGET-ARCH>/bin exists, gcc's install installs
+        # the plain gcc drivers without <TOOLCHAIN-PREFIX>gcc
+#        self.system ('mkdir -p %(install_root)s%(cross_prefix)s/%(target_architecture)s/bin')
+        self.system ('mkdir -p %(install_root)s%(prefix_dir)s/%(target_architecture)s/bin')
     def install (self):
         cross.AutoBuild.install (self)
         self.move_target_libs (self.expand ('%(install_prefix)s%(cross_dir)s/%(target_architecture)s'))