Can link against shared libraries.

pull/15/head
Jussi Pakkanen 12 years ago
parent 216a8ca1ea
commit b9f3ab1c48
  1. 8
      shellgenerator.py
  2. 5
      test cases/6 linkshared/builder.txt
  3. 3
      test cases/6 linkshared/libfile.c
  4. 5
      test cases/6 linkshared/main.c

@ -70,13 +70,13 @@ class ShellGenerator():
outfile.write('\necho Compiling \\"%s\\"\n' % src)
outfile.write(' '.join(quoted) + ' || exit\n')
return abs_obj
def build_target_link_arguments(self, deps):
args = []
for d in deps:
if not isinstance(d, interpreter.StaticLibrary):
print(d)
raise RuntimeError('Only static libraries supported ATM.')
if not isinstance(d, interpreter.StaticLibrary) and\
not isinstance(d, interpreter.SharedLibrary):
raise RuntimeError('Tried to link with a non-library target "%s".' % d.get_basename())
args.append(self.get_target_filename(d))
return args

@ -0,0 +1,5 @@
project('shared library linking test')
language('c')
lib = shared_library('mylib', 'libfile.c')
exe = executable('prog', 'main.c')
exe.link(lib)

@ -0,0 +1,3 @@
int func() {
return 0;
}

@ -0,0 +1,5 @@
int func();
int main(int argc, char **arg) {
return func();
}
Loading…
Cancel
Save