slang: multiple fixes

Add a gentoo patch to fix the wicked slsh link line that ended in the
bizarre prefix/exec_prefix/DESTDIR trickery.
Also fixes:
http://autobuild.buildroot.net/results/c3f/c3fb5337a4bdf87baead64106427c4929241c58d/

Also be explicit with enabling/disabling libpng, pcre, readline and zlib
support since they get picked up from the host if header files are
around because of the problem known as "absolute paths" when trying to
autodetect.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Gustavo Zacarias 2014-03-28 20:29:20 -03:00 committed by Thomas Petazzoni
parent 200e9595c2
commit e708f030a5
2 changed files with 43 additions and 18 deletions

View File

@ -0,0 +1,17 @@
Link against sources instead of installation paths that aren't DESTDIRed.
Patch taken from gentoo portage, upstream status unknown, author
probably Diego Pettenò.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
--- a/slsh/Makefile.in
+++ b/slsh/Makefile.in
@@ -80,7 +80,7 @@
$(OBJDIR)/slsh_exe: $(OBJDIR)/slsh.o $(OBJDIR)/readline.o
$(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh_exe $(LDFLAGS) $(SRC_LIBS)
$(OBJDIR)/slsh: $(OBJDIR)/slsh.o $(OBJDIR)/readline.o
- $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh $(LDFLAGS) $(INST_LIBS)
+ $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh $(LDFLAGS) $(SRC_LIBS)
$(OBJDIR)/slsh.o: $(OBJDIR) slsh.c slsh.h config.h Makefile
cd $(OBJDIR) && $(CC) -c $(CFLAGS) $(SLANG_SRCINC) $(DEFS) $(SRCDIR)/slsh.c
$(OBJDIR)/readline.o: $(OBJDIR) readline.c slsh.h config.h Makefile

View File

@ -13,27 +13,35 @@ SLANG_LICENSE_FILES = COPYING
SLANG_INSTALL_STAGING = YES SLANG_INSTALL_STAGING = YES
SLANG_MAKE = $(MAKE1) SLANG_MAKE = $(MAKE1)
ifeq ($(BR2_PACKAGE_NCURSES),y) # Absolute path hell, sigh...
SLANG_DEPENDENCIES = ncurses ifeq ($(BR2_PACKAGE_LIBPNG),y)
SLANG_CONF_OPT += --with-png=$(STAGING_DIR)/usr
SLANG_DEPENDENCIES += libpng
else else
SLANG_CONF_OPT = ac_cv_path_nc5config=no SLANG_CONF_OPT += --with-png=no
endif
ifeq ($(BR2_PACKAGE_PCRE),y)
SLANG_CONF_OPT += --with-pcre=$(STAGING_DIR)/usr
SLANG_DEPENDENCIES += pcre
else
SLANG_CONF_OPT += --with-pcre=no
endif
ifeq ($(BR2_PACKAGE_ZLIB),y)
SLANG_CONF_OPT += --with-z=$(STAGING_DIR)/usr
SLANG_DEPENDENCIES += zlib
else
SLANG_CONF_OPT += --with-z=no
endif endif
# The installation location of the slang library ifeq ($(BR2_PACKAGE_NCURSES),y)
# does not take into account the DESTDIR directory. SLANG_DEPENDENCIES += ncurses
# So SLANG_INST_LIB is initialized with -L/usr/lib/ else
# and slang may be linked with host's libdl.so (if any) SLANG_CONF_OPT += ac_cv_path_nc5config=no
# Therefore, we have to pass correct installation paths. endif
SLANG_INSTALL_STAGING_OPT = \
prefix=$(STAGING_DIR)/usr \
exec_prefix=$(STAGING_DIR)/usr \
DESTDIR=$(STAGING_DIR) \
install
SLANG_INSTALL_TARGET_OPT = \ ifeq ($(BR2_PACKAGE_READLINE),y)
prefix=$(STAGING_DIR)/usr \ SLANG_CONF_OPT += --with-readline=gnu
exec_prefix=$(STAGING_DIR)/usr \ SLANG_DEPENDENCIES += readline
DESTDIR=$(TARGET_DIR) \ endif
install
$(eval $(autotools-package)) $(eval $(autotools-package))