Re: linking c/c++ code against fortran libraries

2008-05-31 Thread Mark Moll

On May 31, 2008, at 8:21 AM, Takeshi Enomoto wrote:

> Hi,
>
>> However, to properly link against libfoo.a I also need to
>> include "-lgfortran".
>
> With a fortran compiler, necessary libraries will be linked.


Yes, but I can't specify in a Portfile two compilers (one for  
compiling c/c++ code, and one for linking the object files). Below is  
how I currently attempt to get around this problem in the arpack  
variant of the slepc port. Arpack is a port for a Fortran library,  
slepc is a port for a C++ library. I am open to suggestions for  
improvement.

variant arpack description {compile with ARPACK support} {
pre-fetch {
if {![file exists ${prefix}/lib/libparpack.a]} {
return -code error "Please install the mpi variant of  
arpack first."
}
}
# This is a rather fragile way to figure out where the fortran  
library can be
# found that is needed to link against libparpack.a:
if {[file exists ${prefix}/lib/gcc43]} {
set fortrandir ${prefix}/lib/gcc43
} else {
if {[file exists ${prefix}/lib/gcc42]} {
set fortrandir ${prefix}/lib/gcc42
} else {
if {[file exists ${prefix}/lib/g95]} {
set fortrandir ${prefix}/lib/gcc95
} else {
return -code error "Please install a fortran compiler  
by installing one of the following ports: gcc42, gcc43, or g95."
}
}
}
depends_lib-append  port:arpack
configure.args-append   --with-arpack-dir=${fortrandir} \
--with-arpack-flags=-lparpack,-larpack,-lgfortran,- 
lmpi_f77
}


-- 
Mark


-- 
Mark



___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev


Re: linking c/c++ code against fortran libraries

2008-05-31 Thread Takeshi Enomoto
Hi,

> However, to properly link against libfoo.a I also need to
> include "-lgfortran".

With a fortran compiler, necessary libraries will be linked.

> What is the right C compiler
> to link against code compiled with g95?

Currently g95 builds against gcc-4.0.4, which is the same source code  
as gcc40 port.

Takeshi
___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev