make 4.2.1 does build on Solaris 10 with Oracle Studio 12.6 C99

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

make 4.2.1 does build on Solaris 10 with Oracle Studio 12.6 C99

Dennis Clarke

I just had to do a quick check on this and the exact same machine that I
am using to test 4.2.90 RC with does build 4.2.1 fine onceI apply a few
very very small patches.

beta$
beta$ uname -a
SunOS beta 5.10 Generic_150400-65 sun4u sparc SUNW,SPARC-Enterprise
beta$ psrinfo -pv
The physical processor has 8 virtual processors (0-7)
   SPARC64-VII+ (portid 1024 impl 0x7 ver 0xa1 clock 2860 MHz)
beta$
beta$ c99 -V
c99: Studio 12.6 Sun C 5.15 SunOS_sparc 2017/05/30
beta$
beta$
beta$
beta$ cat ../../src/make_4.2.1_patch_01.u
*** configure.ac_backup Mon Jun  6 12:27:31 2016
--- configure.ac        Mon Apr  2 16:57:41 2018
***************
*** 399,408 ****
   #include <glob.h>
   #include <fnmatch.h>

- #define GLOB_INTERFACE_VERSION 1
   #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
   # include <gnu-versions.h>
! # if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
      gnu glob
   # endif
   #endif],
--- 399,407 ----
   #include <glob.h>
   #include <fnmatch.h>

   #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
   # include <gnu-versions.h>
! # if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2
      gnu glob
   # endif
   #endif],
beta$


beta$ cat ../../src/make_4.2.1_patch_02.u
*** dir.c.orig  2016-05-31 07:17:26.000000000 +0000
--- dir.c       2018-04-03 03:25:44.892913153 +0000
***************
*** 1260,1276 ****
    * regular file; fix that here.
    */
   #if !defined(stat) && !defined(WINDOWS32) || defined(VMS)
! # ifndef VMS
! #  ifndef HAVE_SYS_STAT_H
   int stat (const char *path, struct stat *sbuf);
! #  endif
! # else
!     /* We are done with the fake stat.  Go back to the real stat */
! #   ifdef stat
! #     undef stat
! #   endif
! # endif
! # define local_stat stat
   #else
   static int
   local_stat (const char *path, struct stat *buf)
--- 1260,1276 ----
    * regular file; fix that here.
    */
   #if !defined(stat) && !defined(WINDOWS32) || defined(VMS)
! #ifndef VMS
! #ifndef HAVE_SYS_STAT_H
   int stat (const char *path, struct stat *sbuf);
! #endif
! #else
! /* We are done with the fake stat.  Go back to the real stat */
! #ifdef stat
! #undef stat
! #endif
! #endif
! #define local_stat stat
   #else
   static int
   local_stat (const char *path, struct stat *buf)
***************
*** 1293,1300 ****
           return -1;
       }
   #endif

!   EINTRLOOP (e, stat (path, buf));
     return e;
   }
   #endif
--- 1293,1322 ----
           return -1;
       }
   #endif
+ #endif

! /* Similarly for lstat.  */
! #if !defined(lstat) && !defined(WINDOWS32) || defined(VMS)
! #ifndef VMS
! #ifndef HAVE_SYS_STAT_H
! int lstat (const char *path, struct stat *sbuf);
! #endif
! #else
! /* We are done with the fake lstat.  Go back to the real lstat */
! #ifdef lstat
! #undef lstat
! #endif
! #endif
! #define local_lstat lstat
! #elif defined(WINDOWS32)
! /* Windows doesn't support lstat().  */
! #define local_lstat local_stat
! #else
! static int
! local_lstat (const char *path, struct stat *buf)
! {
!   int e;
!   EINTRLOOP (e, lstat (path, buf));
     return e;
   }
   #endif
***************
*** 1305,1313 ****
     gl->gl_opendir = open_dirstream;
     gl->gl_readdir = read_dirstream;
     gl->gl_closedir = free;
     gl->gl_stat = local_stat;
-   /* We don't bother setting gl_lstat, since glob never calls it.
-      The slot is only there for compatibility with 4.4 BSD.  */
   }

   void
--- 1327,1334 ----
     gl->gl_opendir = open_dirstream;
     gl->gl_readdir = read_dirstream;
     gl->gl_closedir = free;
+   gl->gl_lstat = local_lstat;
     gl->gl_stat = local_stat;
   }

   void
beta$


Then :

beta$ /usr/local/bin/autoreconf -v -f --install
autoreconf: Entering directory `.'
autoreconf: running: autopoint --force
Copying file config/codeset.m4
Copying file config/extern-inline.m4
Copying file config/fcntl-o.m4
Copying file config/glibc2.m4
Copying file config/glibc21.m4
Copying file config/intdiv0.m4
Copying file config/intl.m4
Copying file config/intldir.m4
Copying file config/intmax.m4
Copying file config/inttypes-pri.m4
Copying file config/inttypes_h.m4
Copying file config/lcmessage.m4
Copying file config/lock.m4
Copying file config/printf-posix.m4
Copying file config/size_max.m4
Copying file config/stdint_h.m4
Copying file config/threadlib.m4
Copying file config/uintmax_t.m4
Copying file config/visibility.m4
Copying file config/wchar_t.m4
Copying file config/wint_t.m4
Copying file config/xsize.m4
Copying file po/Makevars.template
autoreconf: running: /usr/local/bin/aclocal --force -I config
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/local/bin/autoconf --force
autoreconf: running: /usr/local/bin/autoheader --force
autoreconf: running: /usr/local/bin/automake --add-missing --copy
--force-missing
autoreconf: Leaving directory `.'
beta$

Testsuite seems fine near as I can tell :

------------------------------------------------------------------------------
              Running tests for GNU make on SunOS beta 5.10 sun4u
                                 GNU Make 4.2.1
------------------------------------------------------------------------------

Finding tests...

features/archives ....................................... ok     (10 passed)
features/comments ....................................... ok     (1 passed)
.
.
.
functions/guile ......................................... N/A
.
.
.
misc/close_stdout ....................................... FAILED (no
tests found!)
.
.
.
vms/library ............................................. N/A

582 Tests in 119 Categories Complete ... No Failures :-)

The system uptime program believes the load average to be:
uptime
  10:03pm  up 18 day(s),  5:11,  3 users,  load average: 0.22, 0.17, 0.14
The GNU load average checking code thinks:
./loadavg
1-minute: 0.222656  5-minute: 0.167969  15-minute: 0.140625

=======================================================================================================
  Regression PASSED: GNU Make 4.2.1 (sparc-sun-solaris2.10) built with
/opt/developerstudio12.6/bin/c99
=======================================================================================================

gmake[2]: Leaving directory
'/opt/bw/build/make-4.2.1_SunOS5.10_sparc64vii+.002'
gmake[1]: Leaving directory
'/opt/bw/build/make-4.2.1_SunOS5.10_sparc64vii+.002'



I will use this GNU make to work on make 4.2.90 going forwards.




--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional

_______________________________________________
Bug-make mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-make