Here a followup to myself:

>>>>> "bernard" == bernard URBAN <[EMAIL PROTECTED]> writes:

    bernard> But there are several problems on HP-PA: $uname -a HP-UX
    bernard> adagio B.10.20 A 9000/899 614401342 two-user license
    bernard> using the HP C compiler.

    bernard> 1) When compiling ltdl.c, the compiler has not options
    bernard> -Aa -D_HPUX_SOURCE

Actually, it is the const keyword which caused problem.
You should have:
#define const
in config.h

In configure, const is detected as working !!!. Wild guess:
config.cache is used, which uses ANSI C compiler to perform the const test.

    bernard> 2) The following #ifdef must be added, as by default the
    bernard> HP C compiler does not recognize long long (for this, you
    bernard> must use -Ae instead of -Aa).

This has been corrected in guile-1.4

    bernard> 3) guile-doc-snarf produces this: (file alist.x)

    bernard>  scm_make_gsubr (s_ ## scm_acons, 3, 0, 0, (SCM (*)())
    bernard> scm_acons); scm_make_gsubr (s_ ## scm_sloppy_assq, 2, 0,
    [...]

The CPP variable in guile-doc-snarf is cc -E, it can be made ANSI
compliant with cc -E -Aa. So I would suggest to perform the ANSI C
flags test before the cpp test.

    bernard> 4) In file ice-9/boot-9.scm, the definition

    bernard> (define (try-using-sharlib-name libdir libname)
    bernard> (in-vicinity libdir (string-append libname ".so")))

    bernard> requires that shared objects end with .so, but the
    bernard> dynamic linker of HP-PA needs .sl. Actually I have an
    bernard> equivalent dynamic linking method in hobbit, which picks
    bernard> up the correct suffix from the .la files.  (See
    bernard> definition of path-from in hobbit4d/link.scm)

4) is a reminder...

And with all the bug-fixes above, it compiles ok.
But at the linking process, it fails by not finding
lt_preloaded_symbols, which is a variable, not a function.

In guile.c, I undefined the only place where this variable is
referenced, namely here:
#ifdef DYNAMIC_LINKING
  LTDL_SET_PRELOADED_SYMBOLS ();
#endif
and linking went ok and gave me a correct executable (except
dyn-loading of course). 

In conclusion, guile-1.4 is safe on HP, but some details need to be
polished. 

Regards.

-- 

B. Urban

Reply via email to