| Disable module support in the statically linked version of slsh |
| |
| Adapt an upstream patch to make it apply on 2.3.0. Unnecessary changes |
| have been ignored. |
| |
| Repository: git://git.jedsoft.org/git/slang.git |
| Commit ID: 997c85f5cdb19802a5c97afe44e366a60f94a069 |
| Author: John E. Davis <jed@jedsoft.org> |
| |
| Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> |
| --- |
| diff -rup a/slsh/Makefile.in b/slsh/Makefile.in |
| --- a/slsh/Makefile.in 2014-12-09 10:04:44.084899944 +0000 |
| +++ b/slsh/Makefile.in 2014-12-09 10:16:11.545897275 +0000 |
| @@ -1,9 +1,11 @@ |
| #-*-sh-*- |
| CC = @CC@ |
| CFLAGS = @CFLAGS@ @SLANG_DLL_CFLAGS@ |
| -LDFLAGS = @LDFLAGS@ @DYNAMIC_LINK_FLAGS@ |
| +LDFLAGS = @LDFLAGS@ |
| +DLINK_FLAGS = @DYNAMIC_LINK_FLAGS@ |
| CONFIG_DIR = @CONFIG_DIR@ |
| OBJDIR = $(ARCH)objs |
| +SOBJDIR = static_objs |
| SRCDIR = $(CONFIG_DIR)/slsh |
| #--------------------------------------------------------------------------- |
| # Installation location of the slang library |
| @@ -19,7 +21,8 @@ SLANG_SRCINC = -I@SRCDIR@ |
| SLANG_ELFLIB = -L@ELFDIR@# for dynamically linked |
| SLANG_OBJLIB = -L@OBJDIR@# for statically linked |
| #--------------------------------------------------------------------------- |
| -OTHER_LIBS = @TERMCAP@ @DYNAMIC_LINK_LIB@ @LIBS@ @M_LIB@ |
| +DYNAMIC_LIBS = @TERMCAP@ @DYNAMIC_LINK_LIB@ @LIBS@ @M_LIB@ |
| +STATIC_LIBS = @TERMCAP@ @LIBS@ @M_LIB@ |
| RPATH = @RPATH@ |
| #---------------------------------------------------------------------------- |
| INSTALL = @INSTALL@ |
| @@ -69,29 +72,37 @@ DEST_SLSH_DOC_DIR= $(DESTDIR)$(SLSH_DOC_ |
| #---------------------------------------------------------------------------- |
| @SET_MAKE@ |
| SHELL = /bin/sh |
| -#INST_LIBS = $(RPATH) $(SLANG_INST_LIB) $(DEST_LIB_DIR) -lslang $(READLINE_LIB) $(OTHER_LIBS) |
| -INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(SLANG_INST_LIB) -lslang $(READLINE_LIB) $(OTHER_LIBS) |
| +INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(SLANG_INST_LIB) -lslang $(READLINE_LIB) $(DYNAMIC_LIBS) |
| DEFS = -DSLSH_CONF_DIR='"$(SLSH_CONF_DIR)"' -DSLSH_PATH='"$(SLSH_LIB_DIR)"' \ |
| -DSLSH_CONF_DIR_ENV='$(SLSH_CONF_DIR_ENV)' -DSLSH_LIB_DIR_ENV='$(SLSH_LIB_DIR_ENV)' \ |
| -DSLSH_PATH_ENV='$(SLSH_PATH_ENV)' |
| -SRC_LIBS = $(SLANG_ELFLIB) -lslang $(READLINE_LIB) $(OTHER_LIBS) |
| -STATIC_SRC_LIBS = $(SLANG_OBJLIB) -lslang $(READLINE_LIB) $(OTHER_LIBS) |
| +SDEFS = $(DEFS) -DSLSH_STATIC |
| +SRC_LIBS = $(SLANG_ELFLIB) -lslang $(READLINE_LIB) $(DYNAMIC_LIBS) |
| +STATIC_SRC_LIBS = $(SLANG_OBJLIB) -lslang $(READLINE_LIB) $(STATIC_LIBS) |
| # |
| all: $(OBJDIR)/slsh_exe |
| slsh: $(OBJDIR)/slsh |
| -static: $(OBJDIR)/slsh_static |
| $(OBJDIR)/slsh_exe: $(OBJDIR)/slsh.o $(OBJDIR)/readline.o |
| - $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh_exe $(LDFLAGS) $(SRC_LIBS) |
| + $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh_exe $(LDFLAGS) $(DLINK_FLAGS) $(SRC_LIBS) |
| $(OBJDIR)/slsh: $(OBJDIR)/slsh.o $(OBJDIR)/readline.o |
| - $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh $(LDFLAGS) $(SRC_LIBS) |
| + $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh $(LDFLAGS) $(DLINK_FLAGS) $(SRC_LIBS) |
| $(OBJDIR)/slsh.o: $(OBJDIR) slsh.c slsh.h config.h Makefile |
| cd $(OBJDIR) && $(CC) $(SLANG_SRCINC) $(CFLAGS) -c $(DEFS) $(SRCDIR)/slsh.c |
| $(OBJDIR)/readline.o: $(OBJDIR) readline.c slsh.h config.h Makefile |
| cd $(OBJDIR) && $(CC) $(SLANG_SRCINC) $(CFLAGS) -c $(DEFS) -DUSE_GNU_READLINE=$(GNU_READLINE) $(SRCDIR)/readline.c |
| -$(OBJDIR)/slsh_static: $(OBJDIR)/slsh.o $(OBJDIR)/readline.o |
| - $(CC) $(CFLAGS) $(OBJDIR)/slsh.o $(OBJDIR)/readline.o -o $(OBJDIR)/slsh_static $(LDFLAGS) $(STATIC_SRC_LIBS) |
| $(OBJDIR): |
| -$(MKINSDIR) $(OBJDIR) |
| +# |
| +static: $(SOBJDIR)/slsh |
| +$(SOBJDIR)/slsh: $(SOBJDIR)/slsh.o $(SOBJDIR)/readline.o |
| + $(CC) $(CFLAGS) $(SOBJDIR)/slsh.o $(SOBJDIR)/readline.o -o $(SOBJDIR)/slsh $(LDFLAGS) $(STATIC_SRC_LIBS) |
| +$(SOBJDIR)/slsh.o: $(SOBJDIR) slsh.c slsh.h config.h Makefile |
| + cd $(SOBJDIR) && $(CC) $(SLANG_SRCINC) $(CFLAGS) -c $(SDEFS) $(SRCDIR)/slsh.c |
| +$(SOBJDIR)/readline.o: $(SOBJDIR) readline.c slsh.h config.h Makefile |
| + cd $(SOBJDIR) && $(CC) $(SLANG_SRCINC) $(CFLAGS) -c $(SDEFS) -DUSE_GNU_READLINE=$(GNU_READLINE) $(SRCDIR)/readline.c |
| +$(SOBJDIR): |
| + -$(MKINSDIR) $(SOBJDIR) |
| +# |
| config.h: ../src/config.h |
| cp ../src/config.h . |
| install_directories: |
| @@ -158,7 +169,7 @@ install: slsh install_directories instal |
| $(INSTALL_DATA) doc/man/slsh.1 $(DEST_MAN_DIR)/ |
| install-static: static install_directories install_lib_files install_rline_files \ |
| install_scripts install_help install_docs |
| - $(INSTALL) $(OBJDIR)/slsh_static $(DEST_BIN_DIR)/slsh |
| + $(INSTALL) $(SOBJDIR)/slsh $(DEST_BIN_DIR)/ |
| $(INSTALL_DATA) etc/slsh.rc $(DEST_SLSH_CONF_DIR)/ |
| echo 'prepend_to_slang_load_path("$(SLSH_LOCALLIB_DIR)");' >> $(DEST_SLSH_CONF_DIR)/slsh.rc |
| $(INSTALL_DATA) doc/man/slsh.1 $(DEST_MAN_DIR)/ |
| @@ -167,6 +178,7 @@ install-static: static install_directori |
| #--------------------------------------------------------------------------- |
| clean: |
| -/bin/rm -f *~ $(OBJDIR)/slsh.o $(OBJDIR)/readline.o $(OBJDIR)/slsh $(OBJDIR)/slsh_exe scripts/*~ lib/*~ |
| + -/bin/rm -f $(SOBJDIR)/slsh.o $(SOBJDIR)/readline.o $(SOBJDIR)/slsh $(SOBJDIR)/slsh_exe |
| distclean: clean |
| -/bin/rm -f Makefile config.h |
| # |
| diff -rup a/slsh/slsh.c b/slsh/slsh.c |
| --- a/slsh/slsh.c 2014-09-18 04:02:24.000000000 +0100 |
| +++ b/slsh/slsh.c 2014-12-09 10:17:04.602824146 +0000 |
| @@ -514,7 +514,9 @@ int main (int argc, char **argv) |
| |
| if ((-1 == SLang_init_all ()) |
| || (-1 == SLang_init_array_extra ()) |
| +#ifndef SLSH_STATIC |
| || (-1 == SLang_init_import ()) /* dynamic linking */ |
| +#endif |
| || (-1 == SLadd_intrin_fun_table (Intrinsics, NULL)) |
| || (-1 == slsh_init_readline_intrinsics ())) |
| { |