From 6ff07305c31eb69c418196281841b45e28682153 Mon Sep 17 00:00:00 2001 From: Tzafrir Cohen Date: Tue, 16 Mar 2010 19:02:36 +0200 Subject: [PATCH] allow using system copy of libedit Asterisk includes its own modified copy of editline. This patch allows using the system copy of this library if both: * The user asked for it explicitly: --enabled-system-editline * It was actually discovered to exist As the usage of it is not tested, it is mostly intended to simplify testing. --- configure.ac | 12 ++++++++++++ main/Makefile | 17 +++++++++++++---- makeopts.in | 5 +++++ 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 5a4aac7..e0b6a6f 100644 --- a/configure.ac +++ b/configure.ac @@ -378,6 +378,18 @@ AST_EXT_LIB_SETUP([X11], [X11 support], [x11]) AST_EXT_LIB_SETUP([ZLIB], [zlib], [z]) AST_EXT_LIB_SETUP([TIMERFD], [timerfd], [timerfd]) +# Only enable system libedit if user asked for it explicitly: +test_system_edit=no +AC_ARG_ENABLE([system-editline], + [AS_HELP_STRING([--enable-system-editline], + [Use system libedit for editline])], + [case "${enableval}" in y*) test_system_edit=yes;; esac]) + +if test "$test_system_edit" = 'yes'; then + AST_EXT_LIB_SETUP([EDIT], [BSD LibEdit (System)], [edit]) + AST_EXT_LIB_CHECK([EDIT], [edit], [history_init], [histedit.h]) +fi + # check for basic system features and functionality before # checking for package libraries diff --git a/main/Makefile b/main/Makefile index ade3968..31719e3 100644 --- a/main/Makefile +++ b/main/Makefile @@ -165,13 +165,22 @@ ifneq ($(findstring ENABLE_UPLOADS,$(MENUSELECT_CFLAGS)),) GMIMELDFLAGS+=$(GMIME_LIB) endif -$(MAIN_TGT): $(OBJS) editline/libedit.a db1-ast/libdb1.a $(AST_EMBED_LDSCRIPTS) asterisk.exports +ifeq ($(PBX_EDIT),1) + EDITLINE_TGT = + EDITLINE_LIB = $(EDIT_LIB) +else + EDITLINE_TGT = editline/libedit.a + EDITLINE_LIB = editline/libedit.a +endif + + +$(MAIN_TGT): $(OBJS) $(EDITLINE_TGT) db1-ast/libdb1.a $(AST_EMBED_LDSCRIPTS) asterisk.exports @$(CC) -c -o buildinfo.o $(_ASTCFLAGS) buildinfo.c $(ASTCFLAGS) - $(ECHO_PREFIX) echo " [LD] $(OBJS) editline/libedit.a db1-ast/libdb1.a $(AST_EMBED_LDSCRIPTS) -> $@" + $(ECHO_PREFIX) echo " [LD] $(OBJS) $(EDITLINE_TGT) db1-ast/libdb1.a $(AST_EMBED_LDSCRIPTS) -> $@" ifneq ($(findstring chan_h323,$(MENUSELECT_CHANNELS)),) - $(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(_ASTLDFLAGS) $(ASTLDFLAGS) $(OBJS) editline/libedit.a db1-ast/libdb1.a $(AST_EMBED_LDSCRIPTS) buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(GMIMELDFLAGS) + $(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(_ASTLDFLAGS) $(ASTLDFLAGS) $(OBJS) $(EDITLINE_LIB) db1-ast/libdb1.a $(AST_EMBED_LDSCRIPTS) buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(GMIMELDFLAGS) else - $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(_ASTLDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $(OBJS) editline/libedit.a db1-ast/libdb1.a $(AST_EMBED_LDSCRIPTS) buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(H323LDLIBS) $(GMIMELDFLAGS) + $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(_ASTLDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $(OBJS) $(EDITLINE_LIB) db1-ast/libdb1.a $(AST_EMBED_LDSCRIPTS) buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(H323LDLIBS) $(GMIMELDFLAGS) endif clean:: diff --git a/makeopts.in b/makeopts.in index 2c79d0b..4d2b606 100644 --- a/makeopts.in +++ b/makeopts.in @@ -260,6 +260,11 @@ SUPPSERV_LIB=@SUPPSERV_LIB@ CAP_LIB=@CAP_LIB@ CAP_INCLUDE=@CAP_INCLUDE@ +EDIT_LIB=@EDIT_LIB@ +EDIT_INCLUDE=@EDIT_INCLUDE@ +PBX_EDIT=@PBX_EDIT@ + + BKTR_INCLUDE=@BKTR_INCLUDE@ BKTR_LIB=@BKTR_LIB@ -- 1.7.0