aboutsummaryrefslogtreecommitdiff
path: root/backends.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2014-02-06 00:47:47 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2014-02-06 00:47:47 +0200
commit5d08d94561d123bd0fd81f45862801713628dcd9 (patch)
tree79062a63bbe0e91d4d79733fe63463838d2ce6b6 /backends.py
parent0384ca71f712554f3adfe21a16280d0b10969e5d (diff)
downloadmeson-5d08d94561d123bd0fd81f45862801713628dcd9.zip
meson-5d08d94561d123bd0fd81f45862801713628dcd9.tar.gz
meson-5d08d94561d123bd0fd81f45862801713628dcd9.tar.bz2
Can create pkg-config files.
Diffstat (limited to 'backends.py')
-rw-r--r--backends.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/backends.py b/backends.py
index 657b339..a6177e8 100644
--- a/backends.py
+++ b/backends.py
@@ -334,6 +334,29 @@ class Backend():
confdata = cf.get_configuration_data()
do_conf_file(infile, outfile, confdata)
+ def generate_pkgconfig_files(self):
+ for p in self.build.pkgconfig_gens:
+ outdir = self.environment.scratch_dir
+ fname = os.path.join(outdir, p.filebase + '.pc')
+ ofile = open(fname, 'w')
+ ofile.write('prefix=%s\n' % self.environment.get_coredata().prefix)
+ ofile.write('libdir=${prefix}/%s\n' % self.environment.get_coredata().libdir)
+ ofile.write('includedir=${prefix}/%s\n\n' % self.environment.get_coredata().includedir)
+ ofile.write('Name: %s\n' % p.name)
+ if len(p.description) > 0:
+ ofile.write('Description: %s\n' % p.description)
+ if len(p.version) > 0:
+ ofile.write('Version: %s\n' % p.version)
+ ofile.write('Libs: -L${libdir} ')
+ for l in p.libraries:
+ ofile.write('-l%s ' % l.name)
+ ofile.write('\n')
+ ofile.write('CFlags: ')
+ for h in p.headerdirs.keys():
+ ofile.write(os.path.join('-I${includedir}', h))
+ ofile.write(' ')
+ ofile.write('\n')
+
class NinjaBuildElement():
def __init__(self, outfilenames, rule, infilenames):
if isinstance(outfilenames, str):
@@ -408,6 +431,7 @@ class NinjaBackend(Backend):
tempfilename = outfilename + '~'
outfile = open(tempfilename, 'w')
self.generate_configure_files()
+ self.generate_pkgconfig_files()
outfile.write('# This is the build file for project "%s"\n' % self.build.get_project())
outfile.write('# It is autogenerated by the Meson build system.\n')
outfile.write('# Do not edit by hand.\n\n')