Commit Graph

4 Commits

Author SHA1 Message Date
Mike McGreevy
98362b664c [svn-r20504] Purpose:
General shared library improvements for CYGWIN / AIX

Description:

    Shared libraries are disabled on both CYGWIN and AIX due
    to inability to build them correctly. Part of the problem
    in both of these situations is the lack of the libtool
    flag -no-undefined, which tells libtool that all needed
    symbols are defined at link time (a requirement on these
    systems) and that it's okay to build shared libraries.

    Another problem are lack of dependencies between wrapper
    libraries and core C HDF5 library.

    This patch addresses both of these by fixing configure to
    add in -no-undefined flag for libtool during linking and
    adds automake dependencies in the Makefile.am files.

    After testing, both CYGWIN and AIX now generate shared
    libraries, but there are still some test failures in each.
    (cache_api, dt_arith, and testerror.sh on CYGWIN, and
    fortran tests on AIX).

    Even though the shared libraries are not quite perfect,
    this is a general improvement to what we had before, so
    I'm applying the patch anyways. Note that default behavior
    of shared libraries on these systems being disabled has
    NOT been changed and requires the use of the
    --enable-unsupported to attempt to build them.

    We will need to address the test failures in each
    architecture prior to formally supporting shared
    libraries on each.

Tested:

    h5committested & CYGWIN tested (on bangan)
    (AIX tested by Albert on bp-login2)
2011-04-14 16:21:59 -05:00
Albert Cheng
7cca328350 [svn-r19471] Bug fix: 1961-- AIX 6.1 --enable-share did not work.
Description:
The AIX platform does not install the lib*.so for some reason but libhdf5.a
acts like a shared library.  Until we can find out how to fix this, patch
up tetlibinfo.sh to not look for an lib*.so in AIX. (Note the test results
look wierd as it says libhdf5.a passed and skipped.)

Tested: NCSA BP for both enable and disable-shared.
2010-09-22 17:53:43 -05:00
Albert Cheng
cd0f704f4d [svn-r17503] Bug fix:
Test failed with libhdf5.so not found in MacOS which uses a different
suffix (*.dylib) for shared lib.

Solution:
Added code to setup shared lib file suffix according to OS types.

Tested:
Tejeda, jam.
2009-09-22 11:09:56 -05:00
Albert Cheng
1d2bf10ae7 [svn-r17502] Purpose:
Stage 2 implementation of embedded library information feature.

H5.c: added code to print the embedded library information when there is
a library versions mis-match occurs. This ensures the library information
string is included in the executable.
Also modifies the code so that the Library mismatch warning string is
included only once in the executable.

H5private.h:
Added a global reference to the libinfo string variable to prepare
for possible stage 3 implementation of a public API.

test/testlibinfo.sh.in:
A new test added to verify the library information is indeed included
in the executables.

configure.in:
configure:
Added entry to auto-generate test/testlibinfo.sh.

H5detect.c:
Modified the libhdf5settings generating code to allow it to insert the
strings to a file other than stdout.  This maybe needed in stage 3
implementation.

MANIFEST:
updated with the newly added file of testlibinfo.sh.in.

Tested:
h5committest passed. Additional tests:
jam serial; jam --disable-embedded-libinfo; jam --disable-shared. All passed.
2009-09-21 00:28:44 -05:00