Fix shared libraries for fortran

pull/250/head
Marko Raatikainen 10 years ago
parent 4a06f6d399
commit 28f60ca474
  1. 1
      build.py
  2. 8
      compilers.py
  3. 17
      test cases/fortran/6 dynamic/dynamic.f95
  4. 6
      test cases/fortran/6 dynamic/main.f95
  5. 4
      test cases/fortran/6 dynamic/meson.build

@ -630,6 +630,7 @@ class SharedLibrary(BuildTarget):
self.prefix = environment.get_shared_lib_prefix()
self.suffix = environment.get_shared_lib_suffix()
self.importsuffix = environment.get_import_lib_suffix()
self.filename = self.prefix + self.name + '.' + self.suffix
def process_kwargs(self, kwargs, environment):
super().process_kwargs(kwargs, environment)

@ -1260,6 +1260,14 @@ class FortranCompiler():
def get_language(self):
return self.language
def get_pic_args(self):
if self.gcc_type == GCC_MINGW:
return [] # On Windows gcc defaults to fpic being always on.
return ['-fPIC']
def get_std_shared_lib_link_args(self):
return ['-shared']
def needs_static_linker(self):
return True

@ -0,0 +1,17 @@
module dynamic
implicit none
private
public :: hello
interface hello
module procedure say
end interface hello
contains
subroutine say
print *, "Hello, hello..."
end subroutine say
end module dynamic

@ -0,0 +1,6 @@
program main
use dynamic
implicit none
call hello()
end program main

@ -0,0 +1,4 @@
project('dynamic_fortran', 'fortran')
dynamic = shared_library('dynamic', 'dynamic.f95')
executable('test_exe', 'main.f95', link_with : dynamic)
Loading…
Cancel
Save