From 0704fe331cd5deacee1f02fc884c7ce9e88f4e09 Mon Sep 17 00:00:00 2001 From: lsj119 Date: Thu, 18 Jul 2019 11:38:27 +0900 Subject: [PATCH] add configure for drm Change-Id: I6a191f08398796aaa3a4cfa62e584c202d47eaa9 --- Makefile.am | 2 ++ configure.ac | 59 ++++++++++++++++++++++++++--------------- packaging/pepper.spec | 8 ++++++ src/Makefile.am | 5 +++- src/samples/Makefile.am | 2 ++ 5 files changed, 53 insertions(+), 23 deletions(-) diff --git a/Makefile.am b/Makefile.am index c007542..2d93008 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,7 +6,9 @@ pkgconfig_DATA = pkgconfig_DATA += pkgconfig/pepper.pc pkgconfig_DATA += pkgconfig/pepper-render.pc +if ENABLE_DRM pkgconfig_DATA += pkgconfig/pepper-drm.pc +endif if ENABLE_TDM pkgconfig_DATA += pkgconfig/pepper-tdm.pc endif diff --git a/configure.ac b/configure.ac index b0c9074..b6602a8 100644 --- a/configure.ac +++ b/configure.ac @@ -189,28 +189,38 @@ AC_SUBST(PEPPER_RENDER_LIBS) AC_SUBST(PEPPER_RENDER_REQUIRES) # pepper-drm -PEPPER_DRM_REQUIRES="libdrm gbm pixman-1" -PKG_CHECK_MODULES(PEPPER_DRM, [$PEPPER_DRM_REQUIRES]) - -PKG_CHECK_MODULES([DRM_SPRD], [libdrm_sprd], [have_drm_sprd=yes], [have_drm_sprd=no]) -if test x$have_drm_sprd = xyes; then - AC_DEFINE([HAVE_DRM_SPRD], [1], [Build the drm_sprd]) - PEPPER_DRM_REQUIRES="$PEPPER_DRM_REQUIRES libdrm-sprd" - PEPPER_DRM_CFLAGS="$PEPPER_DRM_CFLAGS $DRM_SPRD_CFLAGS" - PEPPER_DRM_LIBS="$PEPPER_DRM_LIBS $DRM_SPRD_LIBS" +AC_ARG_ENABLE(drm, + AC_HELP_STRING([--disable-drm], + [disable drm backend module]), + enable_drm=$enableval, + enable_drm=yes) + +AM_CONDITIONAL(ENABLE_DRM, test x$enable_drm = xyes) + +if test x$enable_drm = xyes; then + PEPPER_DRM_REQUIRES="libdrm gbm pixman-1" + PKG_CHECK_MODULES(PEPPER_DRM, [$PEPPER_DRM_REQUIRES]) + + PKG_CHECK_MODULES([DRM_SPRD], [libdrm_sprd], [have_drm_sprd=yes], [have_drm_sprd=no]) + if test x$have_drm_sprd = xyes; then + AC_DEFINE([HAVE_DRM_SPRD], [1], [Build the drm_sprd]) + PEPPER_DRM_REQUIRES="$PEPPER_DRM_REQUIRES libdrm-sprd" + PEPPER_DRM_CFLAGS="$PEPPER_DRM_CFLAGS $DRM_SPRD_CFLAGS" + PEPPER_DRM_LIBS="$PEPPER_DRM_LIBS $DRM_SPRD_LIBS" + fi + + PEPPER_DRM_DIR="-I\$(top_srcdir)/src/lib/drm" + PEPPER_DRM_LIB="\$(top_srcdir)/src/lib/drm/libpepper-drm.la" + + PEPPER_DRM_CFLAGS="$PEPPER_DIR $PEPPER_RENDER_DIR $PEPPER_LIBINPUT_DIR $PEPPER_DRM_CFLAGS $TBM_CFLAGS" + PEPPER_DRM_CFLAGS="$PEPPER_DRM_CFLAGS $PEPPER_CFLAGS" + PEPPER_DRM_LIBS="$PEPPER_LIB $PEPPER_RENDER_LIB $PEPPER_LIBINPUT_LIB $PEPPER_DRM_LIBS $TBM_LIBS" + + AC_SUBST(PEPPER_DRM_CFLAGS) + AC_SUBST(PEPPER_DRM_LIBS) + AC_SUBST(PEPPER_DRM_REQUIRES) fi -PEPPER_DRM_DIR="-I\$(top_srcdir)/src/lib/drm" -PEPPER_DRM_LIB="\$(top_srcdir)/src/lib/drm/libpepper-drm.la" - -PEPPER_DRM_CFLAGS="$PEPPER_DIR $PEPPER_RENDER_DIR $PEPPER_LIBINPUT_DIR $PEPPER_DRM_CFLAGS $TBM_CFLAGS" -PEPPER_DRM_CFLAGS="$PEPPER_DRM_CFLAGS $PEPPER_CFLAGS" -PEPPER_DRM_LIBS="$PEPPER_LIB $PEPPER_RENDER_LIB $PEPPER_LIBINPUT_LIB $PEPPER_DRM_LIBS $TBM_LIBS" - -AC_SUBST(PEPPER_DRM_CFLAGS) -AC_SUBST(PEPPER_DRM_LIBS) -AC_SUBST(PEPPER_DRM_REQUIRES) - # pepper-tdm AC_ARG_ENABLE(tdm, AC_HELP_STRING([--disable-tdm], @@ -405,14 +415,12 @@ src/lib/xkb/Makefile src/lib/libinput/Makefile src/lib/desktop-shell/Makefile src/lib/render/Makefile -src/lib/drm/Makefile src/lib/fbdev/Makefile src/lib/wayland/Makefile src/bin/doctor/Makefile src/samples/Makefile pkgconfig/pepper.pc pkgconfig/pepper-render.pc -pkgconfig/pepper-drm.pc pkgconfig/pepper-fbdev.pc pkgconfig/pepper-inotify.pc pkgconfig/pepper-keyrouter.pc @@ -431,6 +439,13 @@ if test x$enable_tdm = xyes; then ]) fi +if test x$enable_drm = xyes; then + AC_CONFIG_FILES([ + src/lib/drm/Makefile + pkgconfig/pepper-drm.pc + ]) +fi + if test x$enable_x11 = xyes; then AC_CONFIG_FILES([ src/lib/x11/Makefile diff --git a/packaging/pepper.spec b/packaging/pepper.spec index ceee2e0..05c66f4 100644 --- a/packaging/pepper.spec +++ b/packaging/pepper.spec @@ -9,6 +9,7 @@ Source: %{name}-%{version}.tar.xz source1001: %name.manifest %define ENABLE_TDM 1 +%define ENABLE_DRM 0 BuildRequires: autoconf > 2.64 BuildRequires: automake >= 1.11 @@ -20,7 +21,9 @@ BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(pixman-1) BuildRequires: pkgconfig(libinput) BuildRequires: pkgconfig(libdrm) +%if "%{ENABLE_DRM}" == "1" BuildRequires: pkgconfig(gbm) +%endif BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(xkbcommon) @@ -264,6 +267,9 @@ cp %{SOURCE1001} . %build %autogen \ --disable-x11 \ +%if "%{ENABLE_DRM}" == "0" + --disable-drm \ +%endif %if "%{ENABLE_TDM}" == "0" --disable-tdm \ %endif @@ -473,6 +479,7 @@ rm -f %{_unitdir_user}/basic.target.wants/display-user.service %{_libdir}/pkgconfig/pepper-render.pc %{_libdir}/libpepper-render.so +%if "%{ENABLE_DRM}" == "1" %files drm %manifest %{name}.manifest %defattr(-,root,root,-) @@ -485,6 +492,7 @@ rm -f %{_unitdir_user}/basic.target.wants/display-user.service %{_includedir}/pepper/pepper-drm.h %{_libdir}/pkgconfig/pepper-drm.pc %{_libdir}/libpepper-drm.so +%endif %if "%{ENABLE_TDM}" == "1" %files tdm diff --git a/src/Makefile.am b/src/Makefile.am index 800689f..d66c56a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -6,11 +6,14 @@ SUBDIRS = lib/pepper \ lib/xkb \ lib/desktop-shell \ lib/render \ - lib/drm \ lib/fbdev \ lib/wayland \ lib/inotify +if ENABLE_DRM +SUBDIRS += lib/drm +endif + if ENABLE_TDM SUBDIRS += lib/tdm endif diff --git a/src/samples/Makefile.am b/src/samples/Makefile.am index bd63fb5..c562ffc 100644 --- a/src/samples/Makefile.am +++ b/src/samples/Makefile.am @@ -1,12 +1,14 @@ bin_PROGRAMS = # drm-backend +if ENABLE_DRM bin_PROGRAMS += drm-backend drm_backend_CFLAGS = $(SAMPLES_CFLAGS) drm_backend_LDADD = $(SAMPLES_LIBS) drm_backend_SOURCES = drm-backend.c +endif # tdm-backend if ENABLE_TDM -- 2.34.1