Gentoo Archives: gentoo-commits

From: Alessandro Barbieri <lssndrbarbieri@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: media-libs/imgui/
Date: Sun, 03 Apr 2022 23:49:50
Message-Id: 1649029736.5c020d8f944c29c170388836cabd1f2e3cb46854.Alessandro-Barbieri@gentoo
1 commit: 5c020d8f944c29c170388836cabd1f2e3cb46854
2 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
3 AuthorDate: Sun Apr 3 17:29:14 2022 +0000
4 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
5 CommitDate: Sun Apr 3 23:48:56 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=5c020d8f
7
8 media-libs/imgui: explicitly link the build objects
9
10 Closes: https://bugs.gentoo.org/836695
11 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
12
13 .../{imgui-1.87.ebuild => imgui-1.87-r1.ebuild} | 32 ++++++++++++++--------
14 1 file changed, 21 insertions(+), 11 deletions(-)
15
16 diff --git a/media-libs/imgui/imgui-1.87.ebuild b/media-libs/imgui/imgui-1.87-r1.ebuild
17 similarity index 71%
18 rename from media-libs/imgui/imgui-1.87.ebuild
19 rename to media-libs/imgui/imgui-1.87-r1.ebuild
20 index 0b811f029..4339ad386 100644
21 --- a/media-libs/imgui/imgui-1.87.ebuild
22 +++ b/media-libs/imgui/imgui-1.87-r1.ebuild
23 @@ -87,13 +87,17 @@ src_configure() {
24 src_compile() {
25 set -x || die
26
27 + local objects=()
28 +
29 for i in imgui{,_draw,_demo,_tables,_widgets}; do
30 - ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c ${i}.cpp -o ${i}.o || die
31 + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c ${i}.cpp -o ${i}.o || die
32 + objects+=( ${i}.o )
33 done
34
35 if use freetype; then
36 pushd misc/freetype || die
37 - ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_freetype.cpp -o imgui_freetype.o || die
38 + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_freetype.cpp -o imgui_freetype.o || die
39 + objects+=( misc/freetype/imgui_freetype.o )
40 popd || die
41 pushd misc/fonts || die
42 ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -fPIE binary_to_compressed_c.cpp -o binary_to_compressed_c || die
43 @@ -102,27 +106,33 @@ src_compile() {
44
45 pushd backends || die
46 if use allegro; then
47 - ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_impl_allegro5.cpp -o imgui_impl_allegro5.o || die
48 + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_allegro5.cpp -o imgui_impl_allegro5.o || die
49 + objects+=( backends/imgui_impl_allegro5.o )
50 fi
51 if use glfw; then
52 - ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_impl_glfw.cpp -o imgui_impl_glfw.o || die
53 + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_glfw.cpp -o imgui_impl_glfw.o || die
54 + objects+=( backends/imgui_impl_glfw.o )
55 fi
56 if use glut; then
57 - ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_impl_glut.cpp -o imgui_impl_glut.o || die
58 + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_glut.cpp -o imgui_impl_glut.o || die
59 + objects+=( backends/imgui_impl_glut.o )
60 fi
61 if use opengl; then
62 - ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_impl_opengl2.cpp -o imgui_impl_opengl2.o || die
63 - ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_impl_opengl3.cpp -o imgui_impl_opengl3.o || die
64 + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_opengl2.cpp -o imgui_impl_opengl2.o || die
65 + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_opengl3.cpp -o imgui_impl_opengl3.o || die
66 + objects+=( backends/imgui_impl_opengl2.o backends/imgui_impl_opengl3.o )
67 fi
68 if use sdl; then
69 - ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_impl_sdl.cpp -o imgui_impl_sdl.o || die
70 - ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_impl_sdlrenderer.cpp -o imgui_impl_sdlrenderer.o || die
71 + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_sdl.cpp -o imgui_impl_sdl.o || die
72 + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_sdlrenderer.cpp -o imgui_impl_sdlrenderer.o || die
73 + objects+=( backends/imgui_impl_sdl.o backends/imgui_impl_sdlrenderer.o )
74 fi
75 if use vulkan; then
76 - ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_impl_vulkan.cpp -o imgui_impl_vulkan.o || die
77 + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_vulkan.cpp -o imgui_impl_vulkan.o || die
78 + objects+=( backends/imgui_impl_vulkan.o )
79 fi
80 popd || die
81 - ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -shared -Wl,-soname,libimgui.so *.o backends/*.o misc/freetype/*.o -o libimgui.so ${LIBS} || die
82 + ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -shared -Wl,-soname,libimgui.so ${objects[@]} -o libimgui.so ${LIBS} || die
83
84 if use examples; then
85 mkdir ex || die