config BR2_PACKAGE_LIBEDIT
bool "libedit"
- depends on ( BR2_arm || BR2_armeb || BR2_m68k || BR2_i386 || BR2_x86_64 ) # libbsd
- depends on BR2_TOOLCHAIN_HAS_THREADS # libbsd
- select BR2_PACKAGE_LIBBSD
select BR2_PACKAGE_NCURSES
help
The editline library (from BSD) provides generic line editing
and history functions. It slightly resembles GNU readline.
+ The official homepage is at:
http://ftp.netbsd.org/pub/NetBSD/NetBSD-release-5-0/src/lib/libedit/
-comment "libedit requires a toolchain with thread support"
- depends on ( BR2_arm || BR2_armeb || BR2_m68k || BR2_i386 || BR2_x86_64 ) # libbsd
- depends on !BR2_TOOLCHAIN_HAS_THREADS # libbsd
+ Jess Thrysoee maintains an autotoolified packaged, which we use
+ in Buildroot as it makes it much simpler than using the upstream
+ sources which require pmake:
+ http://www.thrysoee.dk/editline/
#
################################################################################
-# Note: libedit does not have a regular homepage, and it seems
-# there is no place where to download a tarball from. That's
-# why we use the Debian way-back machine.
-LIBEDIT_VERSION_MAJOR = 2
-LIBEDIT_VERSION_MINOR = 11
-LIBEDIT_VERSION_EXTRA = -20080614
-LIBEDIT_VERSION = $(LIBEDIT_VERSION_MAJOR).$(LIBEDIT_VERSION_MINOR)
-LIBEDIT_SOURCE = libedit_$(LIBEDIT_VERSION)$(LIBEDIT_VERSION_EXTRA).orig.tar.bz2
-LIBEDIT_SITE = http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/libe/libedit
-LIBEDIT_SUBDIR = libedit
-LIBEDIT_PATCH = libedit_2.11-20080614-5.debian.tar.bz2
+LIBEDIT_VERSION = 20130712-3.1
+LIBEDIT_SITE = http://www.thrysoee.dk/editline/
LIBEDIT_INSTALL_STAGING = YES
-LIBEDIT_DEPENDENCIES = host-pmake libbsd ncurses
-
-define LIBEDIT_POST_PATCH_PERMISSIONS
- chmod +x $(@D)/libedit/makelist
-endef
-
-LIBEDIT_POST_PATCH_HOOKS += LIBEDIT_POST_PATCH_PERMISSIONS
-
-define LIBEDIT_FIX_VIS_H_INCLUDE
- $(SED) 's,^#include <vis\.h>$$,#include <bsd/vis\.h>,;' \
- $(@D)/libedit/filecomplete.c \
- $(@D)/libedit/history.c \
- $(@D)/libedit/readline.c
-endef
-LIBEDIT_POST_PATCH_HOOKS += LIBEDIT_FIX_VIS_H_INCLUDE
-
-LIBEDIT_PMAKE_OPTS = MKPROFILE=no MKCATPAGES=no MLINKS= MANPAGES= NOGCCERROR=1 \
- SHLIB_SHFLAGS="-Wl,-soname,libedit.so.${LIBEDIT_VERSION_MAJOR}" \
-
-define LIBEDIT_BUILD_CMDS
- cd $(@D)/$(LIBEDIT_SUBDIR); \
- $(TARGET_CONFIGURE_OPTS) LDADD="-lbsd -lcurses" pmake $(LIBEDIT_PMAKE_OPTS)
-endef
-
-LIBEDIT_MAN_LINKS = el_init el_end el_reset el_gets el_getc el_push el_parse \
- el_set el_get el_source el_resize el_line el_insertstr \
- el_deletestr history_init history_end history
-
-# $1: DESTDIR to install into
-# Can't use pmake to install, it wants to be root. sigh... :-(
-# We need to create the .so links, otherwise we can't link; and waiting for
-# ldconfig is too late as it's done just before building the images.
-define LIBEDIT_INSTALL_CMDS
- $(INSTALL) -D -m 0644 package/libedit/libedit.pc $(1)/usr/lib/pkgconfig/libedit.pc
- $(INSTALL) -D -m 0644 $(@D)/libedit/libedit.a $(1)/usr/lib/libedit.a
- $(INSTALL) -D -m 0644 $(@D)/libedit/libedit_pic.a $(1)/usr/lib/libedit_pic.a
- $(INSTALL) -D -m 0644 $(@D)/libedit/libedit.so.2.11 $(1)/usr/lib/libedit.so.2.11
- $(INSTALL) -D -m 0644 $(@D)/libedit/histedit.h $(1)/usr/include/histedit.h
- ln -sf libedit.so.$(LIBEDIT_VERSION) $(1)/usr/lib/libedit.so.$(LIBEDIT_VERSION_MAJOR)
- ln -sf libedit.so.$(LIBEDIT_VERSION_MAJOR) $(1)/usr/lib/libedit.so
- $(INSTALL) -D -m 0644 $(@D)/libedit/readline/readline.h $(1)/usr/include/editline/readline.h
- $(INSTALL) -v -D -m 0644 $(@D)/libedit/editline.3 $(1)/usr/share/man/man3/editline.3el
- $(INSTALL) -v -D -m 0644 $(@D)/libedit/editrc.5 $(1)/usr/share/man/man5/editrc.5el
- for lnk in $(LIBEDIT_MAN_LINKS); do \
- ln -sfv editline.3el $(1)/usr/share/man/man3/$${lnk}.3el; \
- done
-endef
-
-define LIBEDIT_INSTALL_STAGING_CMDS
- $(call LIBEDIT_INSTALL_CMDS,$(STAGING_DIR))
-endef
-
-define LIBEDIT_INSTALL_TARGET_CMDS
- $(call LIBEDIT_INSTALL_CMDS,$(TARGET_DIR))
-endef
-
-$(eval $(generic-package))
+LIBEDIT_DEPENDENCIES = ncurses
+
+# We're patching configure.ac
+LIBEDIT_AUTORECONF = YES
+
+# Note: libbsd required for *vis functions, but works only with a toolchain
+# with __progname; otherwise, some features are disabled, as if libbsd was
+# missing entirely.
+ifeq ($(BR2_PACKAGE_LIBBSD),y)
+LIBEDIT_DEPENDENCIES += libbsd
+endif
+
+# Wide-char support is not autodetected by configure, we have to help a bit.
+ifeq ($(BR2_TOOLCHAIN_EXTERNAL_WCHAR),y)
+LIBEDIT_CONF_OPT += --enable-widec
+else
+LIBEDIT_CONF_OPT += --disable-widec
+endif
+
+$(eval $(autotools-package))