[Nexus-developers] NeXus makefiles

Peterson, Peter F. petersonpf at ornl.gov
Tue Oct 28 15:39:23 GMT 2003


How does organizing the static libraries affect shared libraries?
Specifically, java and idl normally would use the NAPI through a shared
library built using the c-code. However, I prefer Freddie's suggestion
of keeping the c-library out of the other libraries and require that
both be included when compiling.

P^2

-----Original Message-----
From: nexus-developers-bounces at anl.gov
[mailto:nexus-developers-bounces at anl.gov] On Behalf Of Akeroyd, FA
(Freddie) 
Sent: Tuesday, October 28, 2003 9:22 AM
To: 'nexus-developers at anl.gov'
Subject: RE: [Nexus-developers] NeXus makefiles


Hi,

Are we not going to use autoconf and friends? They have the facility to 
detect the operating system, compilers etc. and also search for HDF - it
would makes things even easier for the user. We use autoconf in GENIE
and i've been 
meaning to put a simple NeXus one together for a while - I can construct
a file 
if that is the way we would like to go. What is everybody else's views? 

Re libraries: I would go one step further and have "libNeXus.a"
containing 
only the C bindings and "libNeXusF77.a" only the Fortran bindings i.e.
you would
need to specify   -lNeXusF77 -lNeXus    to link against Fortran77 and
similarly
-lNeXusF90 -lNeXus to link Fortran90. Though you have to specify
multiple libraries for bindings other than C, it avoids the following
situation: if a large program required 
bindings in more than one language for different parts of the code, it
cannot link against multiple libraries that each contain their own copy
of napi.o 

Regards,

Freddie


> -----Original Message-----
> From: Mark Koennecke [mailto:Mark.Koennecke at psi.ch]
> Sent: 28 October 2003 10:48
> To: nexus-developers at anl.gov
> Subject: [Nexus-developers] NeXus makefiles
> 
> 
> 
>   High there,
> 
>   I'am currently working on the making the nexus stuff compile again.
>   I have now introduced a file, make_general, in the top
> level directory.
>   This file holds the flags where to find the HDF libraries and how 
>   all the flags necessary to compile and link nexus, 
> including the flags
>   selecting HDF4, HDF5 or both. This should be the only file 
> which needs
>   configuring through the user. All other Makefiles are supposed to
>   include this one and be done with anything NeXus with this. 
> Of course,
>   in the language bindings makefiles you have to specify 
> further machine
>   specific things like location of Java, Tcl etc. If someone 
> is opposed
>   to this scheme, please speak up now, before I write this back to the
>   cvs repository.   
> 
>   Formerly we had two test programs: napi4_test and napi5_test. I now
>   unified this, the program figures out from its own name if it should
>   test HDF4 or HDF5. Example: napi_test runs the HDF4 test,
> napi5_test the
>   HDF5 test. When building, napi_test gets copied onto napi5_test. 
>   The issue is that we are back to a single test program source file 
>   again. Any objections against the scheme?
> 
>   Another problem is the Fortran stuff. Up to know we had the
> F77 API in
>   the same library as the C-API. The new structure suggest this not to
>   be valid any longer. Shall I introduce new libraries:
>   libNeXusF77.a and libNeXusF90.a? These would include napi.o and the
>   necessary fortran stuff. Is there anybody out there with a better
>   suggestion?
> 
> 			Best Regards,
> 
> 				Mark Koennecke
> 
> 
> 
> 
> 
> 
> _______________________________________________
> NeXus-developers mailing list
> NeXus-developers at anl.gov 
> http://www.neutron.anl.gov/mailman/listinfo/nexus-developers
> 


_______________________________________________
NeXus-developers mailing list
NeXus-developers at anl.gov
http://www.neutron.anl.gov/mailman/listinfo/nexus-developers





More information about the NeXus-developers mailing list