[PATCH weston 2/2] Makefile.am: Link modules to libweston.la
Quentin Glidic
sardemff7+wayland at sardemff7.net
Thu Aug 18 09:15:45 UTC 2016
From: Quentin Glidic <sardemff7+git at sardemff7.net>
Modules are using libweston symbols (at least weston_log) and should
explicitly link to it.
This patch also reorders some flags.
Signed-off-by: Quentin Glidic <sardemff7+git at sardemff7.net>
---
It doesn’t allow to build with --no-undefined, but it gets closer to that.
Makefile.am | 105 ++++++++++++++++++++++++++++++++++++++++++------------------
1 file changed, 73 insertions(+), 32 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 1e63a58..b746399 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -116,7 +116,9 @@ libweston_ at LIBWESTON_MAJOR@_la_SOURCES = \
lib_LTLIBRARIES += libweston-desktop- at LIBWESTON_MAJOR@.la
libweston_desktop_ at LIBWESTON_MAJOR@_la_CPPFLAGS = $(AM_CPPFLAGS) -DIN_WESTON
libweston_desktop_ at LIBWESTON_MAJOR@_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
-libweston_desktop_ at LIBWESTON_MAJOR@_la_LIBADD = libweston- at LIBWESTON_MAJOR@.la $(COMPOSITOR_LIBS)
+libweston_desktop_ at LIBWESTON_MAJOR@_la_LIBADD = \
+ libweston- at LIBWESTON_MAJOR@.la \
+ $(COMPOSITOR_LIBS)
libweston_desktop_ at LIBWESTON_MAJOR@_la_LDFLAGS = -version-info $(LT_VERSION_INFO)
libweston_desktop_ at LIBWESTON_MAJOR@_la_SOURCES = \
@@ -145,7 +147,7 @@ libweston-desktop- at LIBWESTON_MAJOR@.la libweston-desktop/libweston_desktop_ at LIBW
if SYSTEMD_NOTIFY_SUPPORT
module_LTLIBRARIES += systemd-notify.la
systemd_notify_la_LDFLAGS = -module -avoid-version
-systemd_notify_la_LIBADD = $(SYSTEMD_DAEMON_LIBS)
+systemd_notify_la_LIBADD = libweston- at LIBWESTON_MAJOR@.la $(SYSTEMD_DAEMON_LIBS)
systemd_notify_la_CFLAGS = \
$(COMPOSITOR_CFLAGS) \
$(SYSTEMD_DAEMON_CFLAGS) \
@@ -216,7 +218,7 @@ libsession_helper_la_SOURCES = \
libweston/launcher-weston-launch.c \
libweston/launcher-direct.c
libsession_helper_la_CFLAGS = $(AM_CFLAGS) $(LIBDRM_CFLAGS) $(PIXMAN_CFLAGS) $(COMPOSITOR_CFLAGS)
-libsession_helper_la_LIBADD = $(LIBDRM_LIBS)
+libsession_helper_la_LIBADD = libweston- at LIBWESTON_MAJOR@.la $(LIBDRM_LIBS)
if ENABLE_DBUS
if HAVE_SYSTEMD_LOGIN
@@ -305,7 +307,10 @@ endif
if ENABLE_EGL
libweston_module_LTLIBRARIES += gl-renderer.la
gl_renderer_la_LDFLAGS = -module -avoid-version
-gl_renderer_la_LIBADD = $(COMPOSITOR_LIBS) $(EGL_LIBS)
+gl_renderer_la_LIBADD = \
+ libweston- at LIBWESTON_MAJOR@.la \
+ $(EGL_LIBS) \
+ $(COMPOSITOR_LIBS)
gl_renderer_la_CFLAGS = \
$(COMPOSITOR_CFLAGS) \
$(EGL_CFLAGS) \
@@ -322,15 +327,18 @@ endif
if ENABLE_X11_COMPOSITOR
libweston_module_LTLIBRARIES += x11-backend.la
x11_backend_la_LDFLAGS = -module -avoid-version
-x11_backend_la_LIBADD = $(COMPOSITOR_LIBS) $(X11_COMPOSITOR_LIBS) \
- libshared-cairo.la
+x11_backend_la_LIBADD = \
+ libshared-cairo.la \
+ libweston- at LIBWESTON_MAJOR@.la \
+ $(X11_COMPOSITOR_LIBS) \
+ $(COMPOSITOR_LIBS)
x11_backend_la_CFLAGS = \
+ $(AM_CFLAGS) \
$(COMPOSITOR_CFLAGS) \
$(EGL_CFLAGS) \
$(PIXMAN_CFLAGS) \
$(CAIRO_CFLAGS) \
- $(X11_COMPOSITOR_CFLAGS) \
- $(AM_CFLAGS)
+ $(X11_COMPOSITOR_CFLAGS)
x11_backend_la_SOURCES = \
libweston/compositor-x11.c \
libweston/compositor-x11.h \
@@ -349,12 +357,13 @@ if ENABLE_DRM_COMPOSITOR
libweston_module_LTLIBRARIES += drm-backend.la
drm_backend_la_LDFLAGS = -module -avoid-version
drm_backend_la_LIBADD = \
+ libsession-helper.la \
+ libweston- at LIBWESTON_MAJOR@.la \
$(COMPOSITOR_LIBS) \
$(DRM_COMPOSITOR_LIBS) \
$(INPUT_BACKEND_LIBS) \
libshared.la \
- $(CLOCK_GETTIME_LIBS) \
- libsession-helper.la
+ $(CLOCK_GETTIME_LIBS)
drm_backend_la_CFLAGS = \
$(COMPOSITOR_CFLAGS) \
$(EGL_CFLAGS) \
@@ -372,6 +381,7 @@ drm_backend_la_SOURCES = \
if ENABLE_VAAPI_RECORDER
drm_backend_la_SOURCES += libweston/vaapi-recorder.c libweston/vaapi-recorder.h
drm_backend_la_LIBADD += $(LIBVA_LIBS)
+drm_backend_la_LDFLAGS += -pthread
drm_backend_la_CFLAGS += $(LIBVA_CFLAGS)
endif
endif
@@ -380,9 +390,10 @@ if ENABLE_WAYLAND_COMPOSITOR
libweston_module_LTLIBRARIES += wayland-backend.la
wayland_backend_la_LDFLAGS = -module -avoid-version
wayland_backend_la_LIBADD = \
+ libshared-cairo.la \
+ libweston- at LIBWESTON_MAJOR@.la \
$(COMPOSITOR_LIBS) \
- $(WAYLAND_COMPOSITOR_LIBS) \
- libshared-cairo.la
+ $(WAYLAND_COMPOSITOR_LIBS)
wayland_backend_la_CFLAGS = \
$(COMPOSITOR_CFLAGS) \
$(EGL_CFLAGS) \
@@ -402,7 +413,10 @@ endif
if ENABLE_HEADLESS_COMPOSITOR
libweston_module_LTLIBRARIES += headless-backend.la
headless_backend_la_LDFLAGS = -module -avoid-version
-headless_backend_la_LIBADD = $(COMPOSITOR_LIBS) libshared.la
+headless_backend_la_LIBADD = \
+ libshared.la \
+ libweston- at LIBWESTON_MAJOR@.la \
+ $(COMPOSITOR_LIBS)
headless_backend_la_CFLAGS = $(COMPOSITOR_CFLAGS) $(AM_CFLAGS)
headless_backend_la_SOURCES = \
libweston/compositor-headless.c \
@@ -414,11 +428,12 @@ if ENABLE_FBDEV_COMPOSITOR
libweston_module_LTLIBRARIES += fbdev-backend.la
fbdev_backend_la_LDFLAGS = -module -avoid-version
fbdev_backend_la_LIBADD = \
+ libshared.la \
+ libsession-helper.la \
+ libweston- at LIBWESTON_MAJOR@.la \
$(COMPOSITOR_LIBS) \
$(FBDEV_COMPOSITOR_LIBS) \
- $(INPUT_BACKEND_LIBS) \
- libsession-helper.la \
- libshared.la
+ $(INPUT_BACKEND_LIBS)
fbdev_backend_la_CFLAGS = \
$(COMPOSITOR_CFLAGS) \
$(EGL_CFLAGS) \
@@ -435,9 +450,11 @@ endif
if ENABLE_RDP_COMPOSITOR
libweston_module_LTLIBRARIES += rdp-backend.la
rdp_backend_la_LDFLAGS = -module -avoid-version
-rdp_backend_la_LIBADD = $(COMPOSITOR_LIBS) \
- $(RDP_COMPOSITOR_LIBS) \
- libshared.la
+rdp_backend_la_LIBADD = \
+ libshared.la \
+ libweston- at LIBWESTON_MAJOR@.la \
+ $(COMPOSITOR_LIBS) \
+ $(RDP_COMPOSITOR_LIBS)
rdp_backend_la_CFLAGS = \
$(COMPOSITOR_CFLAGS) \
$(RDP_COMPOSITOR_CFLAGS) \
@@ -451,7 +468,11 @@ endif
if HAVE_LCMS
module_LTLIBRARIES += cms-static.la
cms_static_la_LDFLAGS = -module -avoid-version
-cms_static_la_LIBADD = $(COMPOSITOR_LIBS) $(LCMS_LIBS) libshared.la
+cms_static_la_LIBADD = \
+ libshared.la \
+ libweston- at LIBWESTON_MAJOR@.la \
+ $(LCMS_LIBS) \
+ $(COMPOSITOR_LIBS)
cms_static_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS) $(LCMS_CFLAGS)
cms_static_la_SOURCES = \
compositor/cms-static.c \
@@ -461,7 +482,12 @@ cms_static_la_SOURCES = \
if ENABLE_COLORD
module_LTLIBRARIES += cms-colord.la
cms_colord_la_LDFLAGS = -module -avoid-version
-cms_colord_la_LIBADD = $(COMPOSITOR_LIBS) $(COLORD_LIBS)
+cms_colord_la_LIBADD = \
+ libshared.la \
+ libweston- at LIBWESTON_MAJOR@.la \
+ $(COLORD_LIBS) \
+ $(LCMS_LIBS) \
+ $(COMPOSITOR_LIBS)
cms_colord_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS) $(COLORD_CFLAGS)
cms_colord_la_SOURCES = \
compositor/cms-colord.c \
@@ -937,7 +963,9 @@ fullscreen_shell_la_CPPFLAGS = \
-DIN_WESTON
fullscreen_shell_la_LDFLAGS = -module -avoid-version
-fullscreen_shell_la_LIBADD = $(COMPOSITOR_LIBS)
+fullscreen_shell_la_LIBADD = \
+ libweston- at LIBWESTON_MAJOR@.la \
+ $(COMPOSITOR_LIBS)
fullscreen_shell_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
fullscreen_shell_la_SOURCES = \
fullscreen-shell/fullscreen-shell.c \
@@ -957,7 +985,10 @@ module_LTLIBRARIES += \
ivi_shell = ivi-shell.la
ivi_shell_la_LDFLAGS = -module -avoid-version
-ivi_shell_la_LIBADD = libshared.la $(COMPOSITOR_LIBS)
+ivi_shell_la_LIBADD = \
+ libshared.la \
+ libweston- at LIBWESTON_MAJOR@.la \
+ $(COMPOSITOR_LIBS)
ivi_shell_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
ivi_shell_la_SOURCES = \
ivi-shell/ivi-layout-export.h \
@@ -977,7 +1008,10 @@ BUILT_SOURCES += $(nodist_ivi_shell_la_SOURCES)
hmi_controller = hmi-controller.la
hmi_controller_la_LDFLAGS = -module -avoid-version
-hmi_controller_la_LIBADD = libshared.la $(COMPOSITOR_LIBS)
+hmi_controller_la_LIBADD = \
+ libshared.la \
+ libweston- at LIBWESTON_MAJOR@.la \
+ $(COMPOSITOR_LIBS)
hmi_controller_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
hmi_controller_la_SOURCES = \
ivi-shell/ivi-layout-export.h \
@@ -1000,6 +1034,7 @@ screen_share_la_CPPFLAGS = $(AM_CPPFLAGS) -DBINDIR='"$(bindir)"'
screen_share_la_LDFLAGS = -module -avoid-version
screen_share_la_LIBADD = \
libshared-cairo.la \
+ libweston- at LIBWESTON_MAJOR@.la \
$(COMPOSITOR_LIBS) \
$(SCREEN_SHARE_LIBS)
screen_share_la_CFLAGS = \
@@ -1030,8 +1065,9 @@ xwayland_la_CPPFLAGS = \
-DLIBEXECDIR='"$(libexecdir)"'
xwayland_la_LDFLAGS = -module -avoid-version
-xwayland_la_LIBADD = \
- libshared-cairo.la \
+xwayland_la_LIBADD = \
+ libshared-cairo.la \
+ libweston- at LIBWESTON_MAJOR@.la \
$(XWAYLAND_LIBS)
xwayland_la_CFLAGS = \
$(AM_CFLAGS) \
@@ -1207,22 +1243,27 @@ noinst_PROGRAMS += \
$(ivi_tests) \
matrix-test
-test_module_ldflags = \
- -module -avoid-version -rpath $(libdir) $(COMPOSITOR_LIBS)
+test_module_ldflags = -module -avoid-version -rpath $(libdir)
+test_module_libadd = \
+ libweston- at LIBWESTON_MAJOR@.la \
+ $(COMPOSITOR_LIBS)
plugin_registry_test_la_SOURCES = tests/plugin-registry-test.c
+plugin_registry_test_la_LIBADD = $(test_module_libadd)
plugin_registry_test_la_LDFLAGS = $(test_module_ldflags)
plugin_registry_test_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
surface_global_test_la_SOURCES = tests/surface-global-test.c
+surface_global_test_la_LIBADD = $(test_module_libadd)
surface_global_test_la_LDFLAGS = $(test_module_ldflags)
surface_global_test_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
surface_test_la_SOURCES = tests/surface-test.c
+surface_test_la_LIBADD = $(test_module_libadd)
surface_test_la_LDFLAGS = $(test_module_ldflags)
surface_test_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
-weston_test_la_LIBADD = libshared.la $(COMPOSITOR_LIBS)
+weston_test_la_LIBADD = libshared.la $(test_module_libadd)
weston_test_la_LDFLAGS = $(test_module_ldflags)
weston_test_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
weston_test_la_SOURCES = \
@@ -1367,13 +1408,13 @@ module_tests += \
ivi-layout-internal-test.la \
ivi-layout-test.la
-ivi_layout_internal_test_la_LIBADD = $(COMPOSITOR_LIBS)
+ivi_layout_internal_test_la_LIBADD = $(test_module_libadd)
ivi_layout_internal_test_la_LDFLAGS = $(test_module_ldflags)
ivi_layout_internal_test_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
ivi_layout_internal_test_la_SOURCES = \
tests/ivi_layout-internal-test.c
-ivi_layout_test_la_LIBADD = $(COMPOSITOR_LIBS)
+ivi_layout_test_la_LIBADD = $(test_module_libadd)
ivi_layout_test_la_LDFLAGS = $(test_module_ldflags)
ivi_layout_test_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
ivi_layout_test_la_SOURCES = \
@@ -1461,7 +1502,7 @@ EXTRA_DIST += \
noinst_LTLIBRARIES += \
surface-screenshot.la
-surface_screenshot_la_LIBADD = libshared.la $(COMPOSITOR_LIBS)
+surface_screenshot_la_LIBADD = libshared.la $(test_module_libadd)
surface_screenshot_la_LDFLAGS = $(test_module_ldflags)
surface_screenshot_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
surface_screenshot_la_SOURCES = tests/surface-screenshot.c
--
2.9.2
More information about the wayland-devel
mailing list