#20107: Add optional gap3_jm package
-------------------------------------+-------------------------------------
       Reporter:  stumpc5            |        Owner:
           Type:  enhancement        |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-7.1
      Component:  packages:          |   Resolution:
  optional                           |    Merged in:
       Keywords:                     |    Reviewers:
        Authors:                     |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:  u/stumpc5/20107    |  6b1b7fbbaf0ac71060ef8820ed0482e14c61437c
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by dimpase):

 Replying to [comment:56 stumpc5]:
 >  to [comment:54 jdemeyer]:
 > > That doesn't really matter. It's trivial to just remove `-m32` and
 `-m64` everywhere.
 >
 > I updated the {{{Makefile}}} and removed all `-m32` options. The two
 {{{make}}}s for linux are now
 > {{{
 > @$(MAKE) system.o   CC=gcc  CFLAGS="$(COPTS) -O -DSYS_IS_64_BIT
 -DSYS_IS_USG -DSYS_HAS_TIME_PROTO -DSYS_HAS_SIGNAL_PROTO
 -DSYS_HAS_IOCTL_PROTO"
 > @$(MAKE) gap CC=gcc CFLAGS="$(COPTS) -O -DSYS_IS_64_BIT "
 SYS_FILE=system.o LOPTS="$(LOPTS) -static"
 > }}}
 > vs
 > {{{
 > @$(MAKE) system.o   CC=gcc  CFLAGS="$(COPTS) -O2 -DSYS_IS_USG
 -DSYS_HAS_TIME_PROTO -DSYS_HAS_SIGNAL_PROTO -DSYS_HAS_IOCTL_PROTO"
 > @$(MAKE) gap CC=gcc CFLAGS="$(COPTS) -O " SYS_FILE=system.o
 LOPTS="$(LOPTS) -static"
 > }}}
 >
 > Do you know if I can also remove the {{{-O -DSYS_IS_64_BIT}}} vs
 {{{-O2}}} option to completely get rid of the distinction between 32 and
 64 bit versions ?

 while `-O2` is almost harmless (OK, the resulting executable might get
 slower), `SYS_IS_64_BIT` and other `SYS_` variables are poor man's way to
 pass system parameters to the source code; if you just blindly remove
 them, you might easily get broken code, as the default might be, say,
 32-bit, and this will break low-level stuff that is not platform-
 independent in this sense. (Have a look at the source, some of these
 variables are used very heavily).

 A proper way to handle these flags is to figure out their values in spkg-
 install; you can certainly find tests for system being 32- or 64-bit in
 other spkg-install scripts.

 Some other `SYS_` things are clearly obsolete, on the other hand, i.e.
 they specify whether or not system has a feature certainly present on any
 system supported by Sage...

--
Ticket URL: <http://trac.sagemath.org/ticket/20107#comment:58>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to