Commit e708f030 authored by Gustavo Zacarias's avatar Gustavo Zacarias Committed by Thomas Petazzoni
Browse files

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: default avatarGustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 200e9595
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
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
+26 −18
Original line number Diff line number Diff line
@@ -13,27 +13,35 @@ SLANG_LICENSE_FILES = COPYING
SLANG_INSTALL_STAGING = YES
SLANG_MAKE = $(MAKE1)

ifeq ($(BR2_PACKAGE_NCURSES),y)
	SLANG_DEPENDENCIES = ncurses
# Absolute path hell, sigh...
ifeq ($(BR2_PACKAGE_LIBPNG),y)
	SLANG_CONF_OPT += --with-png=$(STAGING_DIR)/usr
	SLANG_DEPENDENCIES += libpng
else
	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 = ac_cv_path_nc5config=no
	SLANG_CONF_OPT += --with-z=no
endif

# The installation location of the slang library
# does not take into account the DESTDIR directory.
# So SLANG_INST_LIB is initialized with -L/usr/lib/
# and slang may be linked with host's libdl.so (if any)
# Therefore, we have to pass correct installation paths.
SLANG_INSTALL_STAGING_OPT = \
	prefix=$(STAGING_DIR)/usr \
	exec_prefix=$(STAGING_DIR)/usr \
	DESTDIR=$(STAGING_DIR) \
	install
ifeq ($(BR2_PACKAGE_NCURSES),y)
	SLANG_DEPENDENCIES += ncurses
else
	SLANG_CONF_OPT += ac_cv_path_nc5config=no
endif

SLANG_INSTALL_TARGET_OPT = \
	prefix=$(STAGING_DIR)/usr \
	exec_prefix=$(STAGING_DIR)/usr \
	DESTDIR=$(TARGET_DIR) \
	install
ifeq ($(BR2_PACKAGE_READLINE),y)
	SLANG_CONF_OPT += --with-readline=gnu
	SLANG_DEPENDENCIES += readline
endif

$(eval $(autotools-package))