add script to compile dependencies

This commit is contained in:
Chris Lee
2019-04-28 19:24:51 +02:00
parent 10723b1db5
commit b9c313cd18
2 changed files with 95 additions and 5 deletions

21
packaging/configure vendored
View File

@@ -52,6 +52,7 @@ def pkg_config(lib):
lf = _pkgconfig(lib, '--libs-only-l')
cf = _pkgconfig(lib, '--cflags')
ldf = _pkgconfig(lib, '--libs-only-L')
print("Found", lib, "in:", ldf)
return (lf, cf, ldf)
@@ -110,6 +111,14 @@ def install_dir(prefix, suffix, dest_dir, dest_suffix=''):
return result
def remove_duplicates(ls):
result = []
for x in ls:
if x not in result:
result.append(x)
return result
class Executable(object):
def __init__(self, name):
self.name = name
@@ -126,9 +135,9 @@ class Executable(object):
f.write('# Executable: {}\n'.format(self.name))
ninja_write_vars(f, **{
'cc_' + self.name: self.cc,
'cflags_' + self.name: ninja_join(self.cflags),
'lflags_' + self.name: ninja_join(self.lflags),
'libs_' + self.name: ninja_join(self.libs)})
'cflags_' + self.name: ninja_join(remove_duplicates(self.cflags)),
'lflags_' + self.name: ninja_join(remove_duplicates(self.lflags)),
'libs_' + self.name: ninja_join(remove_duplicates(self.libs))})
ninja_write_rule(f, 'cc_' + self.name,
command='$cc_{} -MMD -MT $out -MF $out.d $cflags_{} -c $in -o $out'.format(self.name, self.name),
description='CC $out',
@@ -339,11 +348,13 @@ for dep in ['x11',
'xext',
'xrender',
'xrandr>=1.3',
'gmodule-2.0',
'gio-2.0',
'glib-2.0',
'gobject-2.0',
'pangocairo',
'pango',
'cairo',
'glib-2.0',
'gobject-2.0',
'imlib2>=1.4.2']:
lib, cf, lf = pkg_config(dep)
LIBS += lib