meson move to core
This commit is contained in:
Executable
+23
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Licensed under the GNU General Public License, version 3.
|
||||
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||
|
||||
from pisi.actionsapi import shelltools
|
||||
from pisi.actionsapi import pythonmodules
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import get
|
||||
|
||||
def build():
|
||||
pythonmodules.compile(pyVer="3")
|
||||
|
||||
def install():
|
||||
pythonmodules.install(pyVer="3")
|
||||
|
||||
pisitools.insinto("/usr/share/vim/vimfiles", "data/syntax-highlighting/vim/*")
|
||||
pisitools.insinto("/usr/share/emacs/site-lisp", "data/syntax-highlighting/emacs/*")
|
||||
pisitools.insinto("/usr/share/zsh/site-functions", "data/shell-completions/zsh/*")
|
||||
pisitools.remove("/usr/share/vim/vimfiles/README")
|
||||
|
||||
pisitools.dodoc("COPYING", "README*")
|
||||
@@ -0,0 +1,91 @@
|
||||
From 212a05b87ed34f921dfd07142305389dbfa9bb7d Mon Sep 17 00:00:00 2001
|
||||
From: Xavier Claessens <xavier.claessens@collabora.com>
|
||||
Date: Fri, 11 Oct 2019 11:01:22 -0400
|
||||
Subject: [PATCH] Remove duplicated object files in static libraries
|
||||
|
||||
When a static library link_whole to a bunch of other static libraries,
|
||||
we have to extract all their objects recursively. But that could
|
||||
introduce duplicated objects. ar is dumb enough to allow this without
|
||||
error, but once the resulting static library is linked into an
|
||||
executable or shared library, the linker will complain about duplicated
|
||||
symbols.
|
||||
---
|
||||
mesonbuild/backend/backends.py | 3 ++-
|
||||
test cases/unit/69 static link/lib/func17.c | 4 ++++
|
||||
test cases/unit/69 static link/lib/func18.c | 6 ++++++
|
||||
test cases/unit/69 static link/lib/func19.c | 7 +++++++
|
||||
test cases/unit/69 static link/lib/meson.build | 12 ++++++++++++
|
||||
5 files changed, 31 insertions(+), 1 deletion(-)
|
||||
create mode 100644 test cases/unit/69 static link/lib/func17.c
|
||||
create mode 100644 test cases/unit/69 static link/lib/func18.c
|
||||
create mode 100644 test cases/unit/69 static link/lib/func19.c
|
||||
|
||||
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
|
||||
index 947be1cbef..e54809657f 100644
|
||||
--- a/mesonbuild/backend/backends.py
|
||||
+++ b/mesonbuild/backend/backends.py
|
||||
@@ -281,7 +281,8 @@ def relpath(self, todir, fromdir):
|
||||
os.path.join('dummyprefixdir', fromdir))
|
||||
|
||||
def flatten_object_list(self, target, proj_dir_to_build_root=''):
|
||||
- return self._flatten_object_list(target, target.get_objects(), proj_dir_to_build_root)
|
||||
+ obj_list = self._flatten_object_list(target, target.get_objects(), proj_dir_to_build_root)
|
||||
+ return list(dict.fromkeys(obj_list))
|
||||
|
||||
def _flatten_object_list(self, target, objects, proj_dir_to_build_root):
|
||||
obj_list = []
|
||||
diff --git a/test cases/unit/69 static link/lib/func17.c b/test cases/unit/69 static link/lib/func17.c
|
||||
new file mode 100644
|
||||
index 0000000000..d1d8ec498c
|
||||
--- /dev/null
|
||||
+++ b/test cases/unit/69 static link/lib/func17.c
|
||||
@@ -0,0 +1,4 @@
|
||||
+int func17()
|
||||
+{
|
||||
+ return 1;
|
||||
+}
|
||||
diff --git a/test cases/unit/69 static link/lib/func18.c b/test cases/unit/69 static link/lib/func18.c
|
||||
new file mode 100644
|
||||
index 0000000000..c149085ba4
|
||||
--- /dev/null
|
||||
+++ b/test cases/unit/69 static link/lib/func18.c
|
||||
@@ -0,0 +1,6 @@
|
||||
+int func17();
|
||||
+
|
||||
+int func18()
|
||||
+{
|
||||
+ return func17() + 1;
|
||||
+}
|
||||
diff --git a/test cases/unit/69 static link/lib/func19.c b/test cases/unit/69 static link/lib/func19.c
|
||||
new file mode 100644
|
||||
index 0000000000..69120e4bf8
|
||||
--- /dev/null
|
||||
+++ b/test cases/unit/69 static link/lib/func19.c
|
||||
@@ -0,0 +1,7 @@
|
||||
+int func17();
|
||||
+int func18();
|
||||
+
|
||||
+int func19()
|
||||
+{
|
||||
+ return func17() + func18();
|
||||
+}
|
||||
diff --git a/test cases/unit/69 static link/lib/meson.build b/test cases/unit/69 static link/lib/meson.build
|
||||
index 5f04aab6a1..8f95fc4546 100644
|
||||
--- a/test cases/unit/69 static link/lib/meson.build
|
||||
+++ b/test cases/unit/69 static link/lib/meson.build
|
||||
@@ -66,3 +66,15 @@ libfunc15 = static_library('func15', 'func15.c',
|
||||
libfunc16 = static_library('func16', 'func16.c',
|
||||
link_with : libfunc15,
|
||||
install : true)
|
||||
+
|
||||
+# Verify func17.c.o gets included only once into libfunc19, otherwise
|
||||
+# func19-shared would failed with duplicated symbol.
|
||||
+libfunc17 = static_library('func17', 'func17.c',
|
||||
+ install : false)
|
||||
+libfunc18 = static_library('func18', 'func18.c',
|
||||
+ link_with : libfunc17,
|
||||
+ install : false)
|
||||
+libfunc19 = static_library('func19', 'func19.c',
|
||||
+ link_whole : [libfunc17, libfunc18],
|
||||
+ install : false)
|
||||
+shared_library('func19-shared', link_whole : [libfunc19])
|
||||
@@ -0,0 +1,24 @@
|
||||
diff -Nuar "a/test cases/frameworks/15 llvm/meson.build" "b/test cases/frameworks/15 llvm/meson.build"
|
||||
--- "a/test cases/frameworks/15 llvm/meson.build" 2017-10-08 22:22:05.000000000 +0300
|
||||
+++ "b/test cases/frameworks/15 llvm/meson.build" 2017-12-07 18:31:23.786683687 +0300
|
||||
@@ -17,5 +17,5 @@
|
||||
llvm_dep,
|
||||
dependency('zlib'),
|
||||
meson.get_compiler('c').find_library('dl', required : false),
|
||||
- dependency('tinfo'),
|
||||
+ dependency('ncursesw'),
|
||||
])
|
||||
diff -Nuar "a/test cases/frameworks/4 qt/meson.build" "b/test cases/frameworks/4 qt/meson.build"
|
||||
--- "a/test cases/frameworks/4 qt/meson.build" 2017-10-08 21:47:57.000000000 +0300
|
||||
+++ "b/test cases/frameworks/4 qt/meson.build" 2017-12-07 18:33:49.091673203 +0300
|
||||
@@ -77,8 +77,9 @@
|
||||
moc_headers : 'plugin/plugin.h',
|
||||
include_directories : plugin_includes
|
||||
)
|
||||
- plugin = library('plugin', 'plugin/plugin.cpp', pluginpreprocess,
|
||||
+ plugin = library(qt + 'plugin', 'plugin/plugin.cpp', pluginpreprocess,
|
||||
include_directories : plugin_includes,
|
||||
dependencies : qtcore)
|
||||
+ endif
|
||||
endif
|
||||
endforeach
|
||||
Executable
+105
@@ -0,0 +1,105 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>meson</Name>
|
||||
<Homepage>http://mesonbuild.com/</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>Apache</License>
|
||||
<IsA>app:console</IsA>
|
||||
<Summary>High productivity build system</Summary>
|
||||
<Description>Yüksek verimli üretme sistemi</Description>
|
||||
<Archive sha1sum="f5b924f5128f53f9eaeffc2e72ac3f757977a809" type="targz">https://github.com/mesonbuild/meson/releases/download/0.52.1/meson-0.52.1.tar.gz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>python3-devel</Dependency>
|
||||
<Dependency>python3-setuptools</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<Patch level="1">212a05b8.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
<Package>
|
||||
<Name>meson</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>python3-setuptools</Dependency>
|
||||
<Dependency>python3</Dependency>
|
||||
<Dependency>ninja</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="library">/usr/lib</Path>
|
||||
<Path fileType="data">/usr/share</Path>
|
||||
<Path fileType="man">/usr/share/man</Path>
|
||||
<Path fileType="data">/usr/share/vim</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
<History>
|
||||
<Update release="9">
|
||||
<Date>2019-12.10</Date>
|
||||
<Version>0.52.1</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Idris Kalp</Name>
|
||||
<Email>idriskalp@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="8">
|
||||
<Date>2019-11-17</Date>
|
||||
<Version>0.52.0</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="7">
|
||||
<Date>2019-10-06</Date>
|
||||
<Version>0.51.2</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="6">
|
||||
<Date>2018-11-09</Date>
|
||||
<Version>0.48.2</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="5">
|
||||
<Date>2018-07-31</Date>
|
||||
<Version>0.47.0</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2018-05-13</Date>
|
||||
<Version>0.46.0</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2018-04-08</Date>
|
||||
<Version>0.45.1</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2018-02-22</Date>
|
||||
<Version>0.44.1</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2017-12-07</Date>
|
||||
<Version>0.43.0</Version>
|
||||
<Comment>First release.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>meson</Name>
|
||||
<Summary xml:lang="tr">High productivity build system</Summary>
|
||||
<Description xml:lang="tr">Yüksek verimli üretme sistemi</Description>
|
||||
</Source>
|
||||
</PISI>
|
||||
Reference in New Issue
Block a user