public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] build-many-glibcs.py: Add ISL (0.24) support
@ 2021-12-23 16:44 H.J. Lu
  2021-12-23 18:40 ` Florian Weimer
  0 siblings, 1 reply; 6+ messages in thread
From: H.J. Lu @ 2021-12-23 16:44 UTC (permalink / raw)
  To: libc-alpha

---
 scripts/build-many-glibcs.py | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index b83bc159fd..2b46044bae 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
@@ -535,20 +535,20 @@ class Context(object):
         self.clear_last_build_state(action)
         build_time = datetime.datetime.utcnow()
         if action == 'host-libraries':
-            build_components = ('gmp', 'mpfr', 'mpc')
+            build_components = ('gmp', 'mpfr', 'mpc', 'isl')
             old_components = ()
             old_versions = {}
             self.build_host_libraries()
         elif action == 'compilers':
             build_components = ('binutils', 'gcc', 'glibc', 'linux', 'mig',
                                 'gnumach', 'hurd')
-            old_components = ('gmp', 'mpfr', 'mpc')
+            old_components = ('gmp', 'mpfr', 'mpc', 'isl')
             old_versions = self.build_state['host-libraries']['build-versions']
             self.build_compilers(configs)
         else:
             build_components = ('glibc',)
-            old_components = ('gmp', 'mpfr', 'mpc', 'binutils', 'gcc', 'linux',
-                              'mig', 'gnumach', 'hurd')
+            old_components = ('gmp', 'mpfr', 'mpc', 'isl', 'binutils',
+                              'gcc', 'linux', 'mig', 'gnumach', 'hurd')
             old_versions = self.build_state['compilers']['build-versions']
             if action == 'update-syscalls':
                 self.update_syscalls(configs)
@@ -697,6 +697,8 @@ class Context(object):
         self.remove_recreate_dirs(installdir, builddir, logsdir)
         cmdlist = CommandList('host-libraries', self.keep)
         self.build_host_library(cmdlist, 'gmp')
+        self.build_host_library(cmdlist, 'isl',
+                                ['--with-gmp=%s' % installdir])
         self.build_host_library(cmdlist, 'mpfr',
                                 ['--with-gmp=%s' % installdir])
         self.build_host_library(cmdlist, 'mpc',
@@ -788,6 +790,7 @@ class Context(object):
                             'linux': '5.15',
                             'mpc': '1.2.1',
                             'mpfr': '4.1.0',
+                            'isl': '0.24',
                             'mig': 'vcs-mainline',
                             'gnumach': 'vcs-mainline',
                             'hurd': 'vcs-mainline'}
@@ -970,6 +973,7 @@ class Context(object):
                    'linux': 'https://www.kernel.org/pub/linux/kernel/v%(major)s.x/linux-%(version)s.tar.xz',
                    'mpc': 'https://ftp.gnu.org/gnu/mpc/mpc-%(version)s.tar.gz',
                    'mpfr': 'https://ftp.gnu.org/gnu/mpfr/mpfr-%(version)s.tar.xz',
+                   'isl': 'https://libisl.sourceforge.io/isl-%(version)s.tar.xz',
                    'mig': 'https://ftp.gnu.org/gnu/mig/mig-%(version)s.tar.bz2',
                    'gnumach': 'https://ftp.gnu.org/gnu/gnumach/gnumach-%(version)s.tar.bz2',
                    'hurd': 'https://ftp.gnu.org/gnu/hurd/hurd-%(version)s.tar.bz2'}
@@ -1092,7 +1096,7 @@ class Context(object):
             for a in actions:
                 self.clear_last_build_state(a)
             self.exec_self()
-        check_components = {'host-libraries': ('gmp', 'mpfr', 'mpc'),
+        check_components = {'host-libraries': ('gmp', 'mpfr', 'mpc', 'isl'),
                             'compilers': ('binutils', 'gcc', 'glibc', 'linux',
                                           'mig', 'gnumach', 'hurd'),
                             'glibcs': ('glibc',)}
@@ -1455,7 +1459,8 @@ class Config(object):
         host_libs = self.ctx.host_libraries_installdir
         cfg_opts += ['--with-gmp=%s' % host_libs,
                      '--with-mpfr=%s' % host_libs,
-                     '--with-mpc=%s' % host_libs]
+                     '--with-mpc=%s' % host_libs,
+                     '--with-isl=%s' % host_libs]
         if bootstrap:
             tool_build = 'gcc-first'
             # Building a static-only, C-only compiler that is
-- 
2.33.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] build-many-glibcs.py: Add ISL (0.24) support
  2021-12-23 16:44 [PATCH] build-many-glibcs.py: Add ISL (0.24) support H.J. Lu
@ 2021-12-23 18:40 ` Florian Weimer
  2021-12-23 18:47   ` H.J. Lu
  0 siblings, 1 reply; 6+ messages in thread
From: Florian Weimer @ 2021-12-23 18:40 UTC (permalink / raw)
  To: H.J. Lu via Libc-alpha

What's the motiviation for this?  I thought ISL is optional?

Thanks,
Florian


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] build-many-glibcs.py: Add ISL (0.24) support
  2021-12-23 18:40 ` Florian Weimer
@ 2021-12-23 18:47   ` H.J. Lu
  2021-12-24 18:03     ` Florian Weimer
  2021-12-30 22:09     ` Joseph Myers
  0 siblings, 2 replies; 6+ messages in thread
From: H.J. Lu @ 2021-12-23 18:47 UTC (permalink / raw)
  To: Florian Weimer; +Cc: H.J. Lu via Libc-alpha

On Thu, Dec 23, 2021 at 10:40 AM Florian Weimer <fweimer@redhat.com> wrote:
>
> What's the motiviation for this?  I thought ISL is optional?
>
> Thanks,
> Florian
>

The motivation is to use build-many-glibcs.py to build Linux cross
compiler, which is as close to the native Linux compiler as possible,
not just for checking glibc.  For building a Linux cross compiler, it is
much more convenient than other alternatives.

-- 
H.J.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] build-many-glibcs.py: Add ISL (0.24) support
  2021-12-23 18:47   ` H.J. Lu
@ 2021-12-24 18:03     ` Florian Weimer
  2021-12-24 18:06       ` H.J. Lu
  2021-12-30 22:09     ` Joseph Myers
  1 sibling, 1 reply; 6+ messages in thread
From: Florian Weimer @ 2021-12-24 18:03 UTC (permalink / raw)
  To: H.J. Lu; +Cc: H.J. Lu via Libc-alpha

* H. J. Lu:

> On Thu, Dec 23, 2021 at 10:40 AM Florian Weimer <fweimer@redhat.com> wrote:
>>
>> What's the motiviation for this?  I thought ISL is optional?
>>
>> Thanks,
>> Florian
>>
>
> The motivation is to use build-many-glibcs.py to build Linux cross
> compiler, which is as close to the native Linux compiler as possible,
> not just for checking glibc.  For building a Linux cross compiler, it is
> much more convenient than other alternatives.

Are all distributions using ISL?  I thought some do, others don't?

Thanks,
Florian


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] build-many-glibcs.py: Add ISL (0.24) support
  2021-12-24 18:03     ` Florian Weimer
@ 2021-12-24 18:06       ` H.J. Lu
  0 siblings, 0 replies; 6+ messages in thread
From: H.J. Lu @ 2021-12-24 18:06 UTC (permalink / raw)
  To: Florian Weimer; +Cc: H.J. Lu via Libc-alpha

On Fri, Dec 24, 2021 at 10:04 AM Florian Weimer <fweimer@redhat.com> wrote:
>
> * H. J. Lu:
>
> > On Thu, Dec 23, 2021 at 10:40 AM Florian Weimer <fweimer@redhat.com> wrote:
> >>
> >> What's the motiviation for this?  I thought ISL is optional?
> >>
> >> Thanks,
> >> Florian
> >>
> >
> > The motivation is to use build-many-glibcs.py to build Linux cross
> > compiler, which is as close to the native Linux compiler as possible,
> > not just for checking glibc.  For building a Linux cross compiler, it is
> > much more convenient than other alternatives.
>
> Are all distributions using ISL?  I thought some do, others don't?
>
>

I don't know.

-- 
H.J.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] build-many-glibcs.py: Add ISL (0.24) support
  2021-12-23 18:47   ` H.J. Lu
  2021-12-24 18:03     ` Florian Weimer
@ 2021-12-30 22:09     ` Joseph Myers
  1 sibling, 0 replies; 6+ messages in thread
From: Joseph Myers @ 2021-12-30 22:09 UTC (permalink / raw)
  To: H.J. Lu; +Cc: Florian Weimer, H.J. Lu via Libc-alpha

On Thu, 23 Dec 2021, H.J. Lu via Libc-alpha wrote:

> On Thu, Dec 23, 2021 at 10:40 AM Florian Weimer <fweimer@redhat.com> wrote:
> >
> > What's the motiviation for this?  I thought ISL is optional?
> >
> > Thanks,
> > Florian
> >
> 
> The motivation is to use build-many-glibcs.py to build Linux cross
> compiler, which is as close to the native Linux compiler as possible,
> not just for checking glibc.  For building a Linux cross compiler, it is
> much more convenient than other alternatives.

Are you using build-many-glibcs.py --full-gcc, which is also needed to get 
something closer to a native system compiler (although the features added 
with --full-gcc are largely orthogonal to the use of ISL)?

There was no apparent interest from Go / Ada / libsanitizer people in 
actually fixing most of the problems shown up in a build with --full-gcc 
when I added that option (see the commit message for commit 
b1176270deffff46db9b39645bff10fe7b8c5fbd, some might have been fixed since 
then), or in running a bot with that option (which would be awkward 
because of Ada's requirement to build with same-version native GCC), but 
it might well still be of use when you just want to build a cross compiler 
for an architecture where all the libraries do build OK.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-12-30 22:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-23 16:44 [PATCH] build-many-glibcs.py: Add ISL (0.24) support H.J. Lu
2021-12-23 18:40 ` Florian Weimer
2021-12-23 18:47   ` H.J. Lu
2021-12-24 18:03     ` Florian Weimer
2021-12-24 18:06       ` H.J. Lu
2021-12-30 22:09     ` Joseph Myers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).