On Mon, Jun 15, 2015 at 11:07:35AM -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 <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]> Cheers, Peter > --- > > Move noinst_LTLIBRARIES = libwayland-util.la out of the ENABLE_LIBRARIES > conditional. > > Makefile.am | 45 ++++++++++++++++++++++++--------------------- > configure.ac | 30 ++++++++++++++++++++---------- > 2 files changed, 44 insertions(+), 31 deletions(-) > > diff --git a/Makefile.am b/Makefile.am > index 0ea300a..449415c 100644 > --- a/Makefile.am > +++ b/Makefile.am > @@ -15,9 +15,31 @@ dist_pkgdata_DATA = \ > pkgconfigdir = $(libdir)/pkgconfig > pkgconfig_DATA = > > -lib_LTLIBRARIES = libwayland-server.la libwayland-client.la > +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 > + > noinst_LTLIBRARIES = libwayland-util.la > > +if ENABLE_LIBRARIES > +lib_LTLIBRARIES = libwayland-server.la libwayland-client.la > + > include_HEADERS = \ > src/wayland-util.h \ > src/wayland-server.h \ > @@ -32,14 +54,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 +78,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 +225,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 [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
