Roger Pau Monne
2012-Apr-13 10:02 UTC
[PATCH] libxl/build: print a pretty message if flex/bison are needed but not found
This patchs adds better support for both Flex and Bison, which might be needed to compile libxl. Now configure script sets BISON and FLEX Makefile vars if bison and flex are found, but doesn''t complain if they are not found. Also, added some Makefile soccery to print a nice error message if Bison or Flex are needed but not found. Please run autogen after applying this patch. Signed-off-by: Roger Pau Monne <roger.pau@citrix.com> Cc: zhihao wang <accept.acm@gmail.com> Cc: Ian Campbell <Ian.Campbell@citrix.com> --- tools/configure.ac | 2 ++ tools/libxl/Makefile | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/tools/configure.ac b/tools/configure.ac index 3da0c82..8ccdc92 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -75,6 +75,8 @@ AC_PROG_CC AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_INSTALL +AC_PATH_PROG([BISON], [bison]) +AC_PATH_PROG([FLEX], [flex]) AX_PATH_PROG_OR_FAIL([PERL], [perl]) AS_IF([test "x$xapi" = "xy"], [ AX_PATH_PROG_OR_FAIL([CURL], [curl-config]) diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile index ac8b810..e8ec8e9 100644 --- a/tools/libxl/Makefile +++ b/tools/libxl/Makefile @@ -48,6 +48,18 @@ please check libxl_linux.c and libxl_netbsd.c to see how to get it ported) endif endif +ifeq ($(FLEX),) +%.c %.h:: %.l + $(error Flex is needed to compile libxl, please install it and rerun \ + configure) +endif + +ifeq ($(BISON),) +%.c %.h:: %.y + $(error Bison is needed to compile libxl, please install it an rerun \ + configure) +endif + LIBXL_LIBS += -lyajl LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \ @@ -83,11 +95,11 @@ all: $(CLIENTS) libxenlight.so libxenlight.a libxlutil.so libxlutil.a \ $(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS): $(AUTOINCS) -%.c %.h: %.y +%.c %.h:: %.y @rm -f $*.[ch] $(BISON) --output=$*.c $< -%.c %.h: %.l +%.c %.h:: %.l @rm -f $*.[ch] $(FLEX) --header-file=$*.h --outfile=$*.c $< -- 1.7.7.5 (Apple Git-26)
Ian Jackson
2012-Apr-24 16:47 UTC
Re: [PATCH] libxl/build: print a pretty message if flex/bison are needed but not found
Roger Pau Monne writes ("[Xen-devel] [PATCH] libxl/build: print a pretty message if flex/bison are needed but not found"):> This patchs adds better support for both Flex and Bison, which might be needed > to compile libxl. Now configure script sets BISON and FLEX Makefile vars if > bison and flex are found, but doesn''t complain if they are not found.Please see my recent comments in response to Jean Guyader''s related patch. Thanks, Ian.