[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