menuselect: Add libxml2 support (Patch 3)

This is the final patch in adding menuselect to Asterisk.
 - The first patch (r418832) added menuselect along with mxml
 - The second patch (r418833) removed mxml from menuselect

This patch adds support for libxml2 to menuselect, and makes libxml2 a
required library for Asterisk.

Note that the libxml2 portion of this patch was written by Sean Bright,
and was made available on a team branch:
  http://svn.digium.com/svn/menuselect/team/seanbright/libxml2/

Review: https://reviewboard.asterisk.org/r/3773/

ASTERISK-20703 #close
patches:
  some_mysterious_team_branch uploaded by seanbright (License 5060)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Matthew Jordan
2014-07-17 19:02:22 +00:00
parent 62f5e26d35
commit 26c7e684ea
15 changed files with 2248 additions and 3476 deletions

View File

@@ -57,6 +57,7 @@ ifdef NEWT_LIB
endif
M_OBJS += menuselect_stub.o
M_LIBS += $(LIBXML2_LIB)
ALL_TGTS += menuselect
all: $(ALL_TGTS)
@@ -65,13 +66,16 @@ $(OBJS) $(C_OBJS) $(N_OBJS) $(G_OBJS) $(M_OBJS): autoconfig.h menuselect.h
makeopts autoconfig.h: autoconfig.h.in makeopts.in
@./configure $(CONFIGURE_SILENT)
$(ALL_TGTS): mxml/libmxml.a
@echo "****"
@echo "**** The configure script was just executed, so 'make' needs to be"
@echo "**** restarted."
@echo "****"
@exit 1
ifdef C_OBJS
menuselect_curses.o: CFLAGS+=$(C_INCLUDE)
cmenuselect: $(OBJS) $(C_OBJS)
$(CC) $(LDFLAGS) -o $@ $^ $(C_LIBS)
$(CC) $(LDFLAGS) -o $@ $^ $(C_LIBS) $(LIBXML2_LIB)
else
cmenuselect:
endif
@@ -79,7 +83,7 @@ endif
ifdef G_OBJS
menuselect_gtk.o: CFLAGS+=$(G_INCLUDE)
gmenuselect: $(OBJS) $(G_OBJS)
$(CC) $(LDFLAGS) -o $@ $^ $(G_LIBS)
$(CC) $(LDFLAGS) -o $@ $^ $(G_LIBS) $(LIBXML2_LIB)
else
gmenuselect:
endif
@@ -87,18 +91,16 @@ endif
ifdef N_OBJS
menuselect_newt.o: CFLAGS+=$(N_INCLUDE)
nmenuselect: $(OBJS) $(N_OBJS)
$(CC) $(LDFLAGS) -o $@ $^ $(N_LIBS)
$(CC) $(LDFLAGS) -o $@ $^ $(N_LIBS) $(LIBXML2_LIB)
else
nmenuselect:
endif
menuselect.o: CFLAGS+=$(LIBXML2_INCLUDE)
menuselect: $(OBJS) $(M_OBJS)
$(CC) $(LDFLAGS) -o $@ $^ $(M_LIBS)
mxml/libmxml.a:
@if test ! -f mxml/Makefile ; then cd mxml && ./configure ; fi
@$(MAKE) -C mxml libmxml.a
test: menuselect
(cd test; ../$< menuselect.makeopts)
@@ -113,11 +115,9 @@ ntest: nmenuselect
clean:
rm -f menuselect cmenuselect gmenuselect nmenuselect $(OBJS) $(M_OBJS) $(C_OBJS) $(G_OBJS) $(N_OBJS)
@if test -f mxml/Makefile ; then $(MAKE) -C mxml clean ; fi
dist-clean: distclean
distclean: clean
@if test -f mxml/Makefile ; then $(MAKE) -C mxml distclean ; fi
rm -f autoconfig.h config.status config.log makeopts
rm -rf autom4te.cache