[PATCH wayland] build: Allow disabling building of wayland libraries

Derek Foreman derekf at osg.samsung.com
Mon Jun 15 09:06:05 PDT 2015


On 14/06/15 07:48 PM, Peter Hutterer wrote:
> On Fri, Jun 12, 2015 at 03:01:24PM -0500, Derek Foreman wrote:
>> When cross-compiling it may be useful to build only the wayland-scanner
>> natively.  This patch makes it possible to disable build of the libraries.
>>
>> This also allows us to relax some of the build requirements when compiling
>> just the scanner.
>>
>> Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
> 
>> ---
>>  Makefile.am  | 42 ++++++++++++++++++++++--------------------
>>  configure.ac | 30 ++++++++++++++++++++----------
>>  2 files changed, 42 insertions(+), 30 deletions(-)
>>
>> diff --git a/Makefile.am b/Makefile.am
>> index 0ea300a..8ebc845 100644
>> --- a/Makefile.am
>> +++ b/Makefile.am
>> @@ -15,6 +15,27 @@ dist_pkgdata_DATA =				\
>>  pkgconfigdir = $(libdir)/pkgconfig
>>  pkgconfig_DATA =
>>  
>> +if ENABLE_SCANNER
>> +wayland_scanner = $(top_builddir)/wayland-scanner
>> +bin_PROGRAMS = wayland-scanner
>> +wayland_scanner_SOURCES = src/scanner.c
>> +wayland_scanner_CFLAGS = $(EXPAT_CFLAGS) $(AM_CFLAGS)
>> +wayland_scanner_LDADD = $(EXPAT_LIBS) libwayland-util.la
>> +$(BUILT_SOURCES) : wayland-scanner
>> +pkgconfig_DATA += src/wayland-scanner.pc
>> +else
>> +wayland_scanner = wayland-scanner
>> +endif
>> +
>> +libwayland_util_la_SOURCES =			\
>> +	src/connection.c			\
>> +	src/wayland-util.c			\
>> +	src/wayland-util.h			\
>> +	src/wayland-os.c			\
>> +	src/wayland-os.h			\
>> +	src/wayland-private.h
>> +
>> +if ENABLE_LIBRARIES
>>  lib_LTLIBRARIES = libwayland-server.la libwayland-client.la
>>  noinst_LTLIBRARIES = libwayland-util.la
> 
> this line doesn't look right, don't you need this outside of the if?

I've moved it there for v2.

Thanks

> Cheers,
>    Peter
> 
>>  
>> @@ -32,14 +53,6 @@ nodist_include_HEADERS =			\
>>  	protocol/wayland-server-protocol.h	\
>>  	protocol/wayland-client-protocol.h
>>  
>> -libwayland_util_la_SOURCES =			\
>> -	src/connection.c			\
>> -	src/wayland-util.c			\
>> -	src/wayland-util.h			\
>> -	src/wayland-os.c			\
>> -	src/wayland-os.h			\
>> -	src/wayland-private.h
>> -
>>  libwayland_server_la_CFLAGS = $(FFI_CFLAGS) $(GCC_CFLAGS) -pthread
>>  libwayland_server_la_LIBADD = $(FFI_LIBS) libwayland-util.la -lrt -lm
>>  libwayland_server_la_LDFLAGS = -version-info 1:0:1
>> @@ -64,18 +77,6 @@ nodist_libwayland_client_la_SOURCES =		\
>>  
>>  pkgconfig_DATA += src/wayland-client.pc src/wayland-server.pc
>>  
>> -if ENABLE_SCANNER
>> -wayland_scanner = $(top_builddir)/wayland-scanner
>> -bin_PROGRAMS = wayland-scanner
>> -wayland_scanner_SOURCES = src/scanner.c
>> -wayland_scanner_CFLAGS = $(EXPAT_CFLAGS) $(AM_CFLAGS)
>> -wayland_scanner_LDADD = $(EXPAT_LIBS) libwayland-util.la
>> -$(BUILT_SOURCES) : wayland-scanner
>> -pkgconfig_DATA += src/wayland-scanner.pc
>> -else
>> -wayland_scanner = wayland-scanner
>> -endif
>> -
>>  protocol/%-protocol.c : $(top_srcdir)/protocol/%.xml
>>  	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) code < $< > $@
>>  
>> @@ -223,3 +224,4 @@ AM_CFLAGS = $(GCC_CFLAGS) $(FFI_CFLAGS)
>>  
>>  exec_fd_leak_checker_SOURCES = tests/exec-fd-leak-checker.c
>>  exec_fd_leak_checker_LDADD = libtest-runner.la
>> +endif
>> diff --git a/configure.ac b/configure.ac
>> index 952f231..39e3107 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -54,16 +54,11 @@ AC_SUBST(GCC_CFLAGS)
>>  
>>  AC_CHECK_FUNCS([accept4 mkostemp posix_fallocate])
>>  
>> -AC_CHECK_DECL(SFD_CLOEXEC,[],
>> -	      [AC_MSG_ERROR("SFD_CLOEXEC is needed to compile wayland")],
>> -	      [[#include <sys/signalfd.h>]])
>> -AC_CHECK_DECL(TFD_CLOEXEC,[],
>> -	      [AC_MSG_ERROR("TFD_CLOEXEC is needed to compile wayland")],
>> -	      [[#include <sys/timerfd.h>]])
>> -AC_CHECK_DECL(CLOCK_MONOTONIC,[],
>> -	      [AC_MSG_ERROR("CLOCK_MONOTONIC is needed to compile wayland")],
>> -	      [[#include <time.h>]])
>> -AC_CHECK_HEADERS([execinfo.h])
>> +AC_ARG_ENABLE([libraries],
>> +	      [AC_HELP_STRING([--disable-libraries],
>> +			      [Disable compilation of wayland libraries])],
>> +	      [],
>> +	      [enable_libraries=yes])
>>  
>>  AC_ARG_ENABLE([scanner],
>>                [AC_HELP_STRING([--disable-scanner],
>> @@ -79,11 +74,26 @@ AC_ARG_ENABLE([documentation],
>>  
>>  AM_CONDITIONAL(ENABLE_SCANNER, test "x$enable_scanner" = xyes)
>>  
>> +AM_CONDITIONAL(ENABLE_LIBRARIES, test "x$enable_libraries" = xyes)
>> +
>>  AC_ARG_WITH(icondir, [  --with-icondir=<dir>    Look for cursor icons here],
>>  		     [  ICONDIR=$withval],
>>  		     [  ICONDIR=${datadir}/icons])
>>  AC_SUBST([ICONDIR])
>>  
>> +if test "x$enable_libraries" = "xyes"; then
>> +	AC_CHECK_DECL(SFD_CLOEXEC,[],
>> +		      [AC_MSG_ERROR("SFD_CLOEXEC is needed to compile wayland libraries")],
>> +		      [[#include <sys/signalfd.h>]])
>> +	AC_CHECK_DECL(TFD_CLOEXEC,[],
>> +		      [AC_MSG_ERROR("TFD_CLOEXEC is needed to compile wayland libraries")],
>> +		      [[#include <sys/timerfd.h>]])
>> +	AC_CHECK_DECL(CLOCK_MONOTONIC,[],
>> +		      [AC_MSG_ERROR("CLOCK_MONOTONIC is needed to compile wayland libraries")],
>> +		      [[#include <time.h>]])
>> +	AC_CHECK_HEADERS([execinfo.h])
>> +fi
>> +
>>  if test "x$enable_scanner" = "xyes"; then
>>  	PKG_CHECK_MODULES(EXPAT, [expat], [],
>>  		[AC_CHECK_HEADERS(expat.h, [],
>> -- 
>> 2.1.4
>>
>> _______________________________________________
>> wayland-devel mailing list
>> wayland-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>>



More information about the wayland-devel mailing list