autoconf-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Porting make to HP NonStop


From: Schmitz, Joachim
Subject: Porting make to HP NonStop
Date: Thu, 9 Sep 2010 12:43:35 +0000

Hi there

 

I just tried to port make-3.82 to HP-Nonstop. I got it to work (almost) with the following minor changes:

 

diff -u ./arscan.c.orig ./arscan.c

--- ./arscan.c.orig     2010-07-12 20:20:32.000000000 -0500

+++ ./arscan.c  2010-09-08 02:32:44.000000000 -0500

@@ -253,7 +253,7 @@

 #endif

 

 #ifndef WINDOWS32

-# ifndef __BEOS__

+# if !defined(__BEOS__) && !defined(__TANDEM)

 #  include <ar.h>

 # else

    /* BeOS 5 doesn't have <ar.h> but has archives in the same format

diff -u ./config/config.sub.orig ./config/config.sub

--- ./config/config.sub.orig    2010-07-28 00:42:11.000000000 -0500

+++ ./config/config.sub 2010-09-08 02:14:41.000000000 -0500

@@ -860,6 +860,9 @@

        np1)

                basic_machine=np1-gould

                ;;

+       nse-tandem)

+               basic_machine=nse-tandem

+               ;;

        nsr-tandem)

                basic_machine=nsr-tandem

                ;;

diff -u ./make.h.orig ./make.h

--- ./make.h.orig       2010-07-20 08:12:06.000000000 -0500

+++ ./make.h    2010-09-09 06:17:32.000000000 -0500

@@ -28,6 +28,13 @@

 

 #define _GNU_SOURCE 1

 

+#ifdef __TANDEM

+#include <floss.h>

+/* we have it but it somehow behaves differently from what 'make check' expects

+*/

+#undef HAVE_REALPATH

+#endif

+

 /* AIX requires this to be the first thing in the file.  */

 #if HAVE_ALLOCA_H

 # include <alloca.h>

@@ -37,7 +44,11 @@

 # else

 #  if !defined(__GNUC__) && !defined(WINDOWS32)

 #   ifndef alloca /* predefined by HP cc +Olibcalls */

+#ifdef __STDC__

+void *alloca ();

+#else

 char *alloca ();

+#endif

 #   endif

 #  endif

 # endif

 

 

Remaining issue is that ‘make check’ fails in the parallelism:
$ make check


 check. features/parallelism .................................... Error running /usr/local/Floss/make-3.82/tests/../make (expected 0; got 14): /usr/local/Floss/make-3.82/tests/../make -f work/features/parallelism.mk.2 -j4

 

Caught signal 14!

FAILED (6/8 passed)

 

Running the tests manually shows:

 

$ cd tests

$ sh work/features/parallelism.run.2

THREE.inc

ONE.inc

TWO.inc

ONE

TWO

THREE

Success

$

 

Looks like this is not the expected order? No idea why that is though.  It may have to do with the architecture of an HP-NonStop machine, which is more like a cluster than a single (SMP) machine. Any hints to get it to work are more than welcome.

 

Also I haven’t yet fully understood why realpath failed the ‘make check’ step, when HAVE_REALPATH was in effect, maybe our realpath() API behaves slightly different then the one from other vendors. Disabling if as per the first chunk of the last patch is good enough for me though.

 

I’d like at least the first two patches and the last chunk of the last patch to get accepted into the make source.

The second patch might need to go to the autoconf folks too (‘configure’ is version 2.65), hence the CC.

 

Bye, Jojo

Joachim Schmitz

NonStop and Neoview Support Expert

Global Customer Support Center (GCSC)

Europe, Middle East, Africa

Hewlett-Packard GmbH

 

+49 69 95307-561 / Phone

+49 2102 90-8510 / Fax

address@hidden / Email

Berliner Str. 111

40591 Ratingen

Germany

 

hp

 

Please consider the environment before printing this email.

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]