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 |