Hi, On 17 July 2015 at 11:55, Burton, Ross <[email protected]> wrote: > Bump. Lots of mails but no concrete acceptance or rejection.
Rationale is solid to me. Applied, bikeshedded naming (with Ross's OK), tested, pushed. Cheers, Daniel > Ross > > On 1 July 2015 at 22:51, Ross Burton <[email protected]> wrote: >> >> The previous idiom for building a cross-compiled Wayland is to build once >> for >> the build host (with --enable-scanner --disable-libraries) to get a >> wayland-scanner binary that can then be used in a cross-compile (with >> --disable-scanner). The problem with this is that the cross wayland is >> missing >> a wayland-scanner binary, which means you then can't do any Wayland >> development >> on the target. >> >> Instead, always build wayland-scanner for the target and change >> --enable/disable-scanner to --with/without-host-scanner. Normal builds >> use the >> default of --without-host-scanner and run the wayland-scanner it just >> built, and >> cross-compiled builds pass --with-host-scanner to use a previously built >> host >> scanner but still get a wayland-scanner to install. >> >> (a theoretically neater solution would be to build two scanners if >> required (one >> to run and one to install), but automake makes this overly complicated) >> >> Signed-off-by: Ross Burton <[email protected]> >> --- >> Makefile.am | 9 +++++---- >> configure.ac | 34 ++++++++++++++++------------------ >> 2 files changed, 21 insertions(+), 22 deletions(-) >> >> diff --git a/Makefile.am b/Makefile.am >> index 58f5595..151c54b 100644 >> --- a/Makefile.am >> +++ b/Makefile.am >> @@ -22,16 +22,17 @@ 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 >> + >> +if HOST_SCANNER >> wayland_scanner = wayland-scanner >> +else >> +$(BUILT_SOURCES) : wayland-scanner >> +wayland_scanner = $(top_builddir)/wayland-scanner >> endif >> >> libwayland_util_la_CFLAGS = $(AM_CFLAGS) >> diff --git a/configure.ac b/configure.ac >> index 3fa3cf4..61d23bf 100644 >> --- a/configure.ac >> +++ b/configure.ac >> >> @@ -59,11 +59,11 @@ AC_ARG_ENABLE([libraries], >> [], >> [enable_libraries=yes]) >> >> -AC_ARG_ENABLE([scanner], >> - [AC_HELP_STRING([--disable-scanner], >> - [Disable compilation of wayland-scanner])], >> - [], >> - [enable_scanner=yes]) >> +AC_ARG_WITH([host-scanner], >> + [AC_HELP_STRING([--with-host-scanner], >> + [Use a host wayland-scanner])], >> + [], >> + [with_host_scanner=no]) >> >> AC_ARG_ENABLE([documentation], >> [AC_HELP_STRING([--disable-documentation], >> @@ -71,7 +71,7 @@ AC_ARG_ENABLE([documentation], >> [], >> [enable_documentation=yes]) >> >> -AM_CONDITIONAL(ENABLE_SCANNER, test "x$enable_scanner" = xyes) >> +AM_CONDITIONAL(HOST_SCANNER, test "x$with_host_scanner" = xyes) >> >> AM_CONDITIONAL(ENABLE_LIBRARIES, test "x$enable_libraries" = xyes) >> >> @@ -94,18 +94,16 @@ if test "x$enable_libraries" = "xyes"; then >> AC_CHECK_HEADERS([execinfo.h]) >> fi >> >> -if test "x$enable_scanner" = "xyes"; then >> - PKG_CHECK_MODULES(EXPAT, [expat], [], >> - [AC_CHECK_HEADERS(expat.h, [], >> - [AC_MSG_ERROR([Can't find expat.h. Please install >> expat.])]) >> - SAVE_LIBS="$LIBS" >> - AC_SEARCH_LIBS(XML_ParserCreate, expat, [], >> - [AC_MSG_ERROR([Can't find expat library. Please >> install expat.])]) >> - EXPAT_LIBS="$LIBS" >> - LIBS="$SAVE_LIBS" >> - AC_SUBST(EXPAT_LIBS) >> - ]) >> -fi >> +PKG_CHECK_MODULES(EXPAT, [expat], [], >> + [AC_CHECK_HEADERS(expat.h, [], >> + [AC_MSG_ERROR([Can't find expat.h. Please install >> expat.])]) >> + SAVE_LIBS="$LIBS" >> + AC_SEARCH_LIBS(XML_ParserCreate, expat, [], >> + [AC_MSG_ERROR([Can't find expat library. Please install >> expat.])]) >> + EXPAT_LIBS="$LIBS" >> + LIBS="$SAVE_LIBS" >> + AC_SUBST(EXPAT_LIBS) >> + ]) >> >> AC_PATH_PROG(XSLTPROC, xsltproc) >> AM_CONDITIONAL([HAVE_XSLTPROC], [test "x$XSLTPROC" != "x"]) >> -- >> 2.1.4 >> > > > _______________________________________________ > wayland-devel mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/wayland-devel > _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
