121 lines
5.3 KiB
Diff
121 lines
5.3 KiB
Diff
|
Enable a statically-linked version of slsh to be built and installed
|
||
|
|
||
|
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: 3796db6fb94a2fc7fe2fb0b6918501b69a4d3a02
|
||
|
Author: John E. Davis <jed@jedsoft.org>
|
||
|
|
||
|
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
|
||
|
---
|
||
|
diff -rup a/autoconf/Makefile.in b/autoconf/Makefile.in
|
||
|
--- a/autoconf/Makefile.in 2014-09-18 04:02:24.000000000 +0100
|
||
|
+++ b/autoconf/Makefile.in 2014-12-08 11:59:30.879313080 +0000
|
||
|
@@ -41,16 +41,19 @@ src/Makefile: configure src/Makefile.in
|
||
|
#
|
||
|
makefiles: Makefile slsh/Makefile modules/Makefile src/Makefile
|
||
|
help:
|
||
|
- @echo "make install : install a shared version of the library"
|
||
|
- @echo "make install-static : install a static version"
|
||
|
- @echo "make install-all : install both shared and static versions"
|
||
|
- @echo "make check : Build the library and run the regression tests"
|
||
|
+ @echo "make install ==> shared version of the library, slsh and modules"
|
||
|
+ @echo "make install-static ==> static version of the library and slsh; no modules"
|
||
|
+ @echo "make install-all ==> shared/static versions of the library/modules + shared slsh."
|
||
|
+ @echo "make install-modules ==> install the modules"
|
||
|
+ @echo "make check ==> Build the library and run the regression tests"
|
||
|
slang.pc: configure autoconf/slangpc.in
|
||
|
@echo "slang.pc needs to be updated -- rerun configure"
|
||
|
@exit 1
|
||
|
static: makefiles slang.pc
|
||
|
cd src; $(MAKE) static
|
||
|
- cd slsh; $(MAKE) all
|
||
|
+ cd slsh; $(MAKE) static
|
||
|
+modules:
|
||
|
+ cd modules; $(MAKE) all
|
||
|
elf: makefiles slang.pc
|
||
|
cd src; $(MAKE) elf
|
||
|
cd slsh; $(MAKE) all
|
||
|
@@ -73,10 +76,11 @@ clean:
|
||
|
cd demo; $(MAKE) clean
|
||
|
install-static:
|
||
|
cd src; $(MAKE) install-static
|
||
|
+ cd slsh; $(MAKE) install-static
|
||
|
install-pkgconfig: slang.pc
|
||
|
$(MKINSDIR) $(DEST_PKGCONFIGDIR)
|
||
|
$(INSTALL_DATA) slang.pc $(DEST_PKGCONFIGDIR)/
|
||
|
-install-elf:
|
||
|
+install-elf: install-pkgconfig
|
||
|
cd src; $(MAKE) install-elf
|
||
|
@echo Now installing slsh
|
||
|
cd slsh; $(MAKE) install
|
||
|
@@ -86,7 +90,10 @@ install-elf:
|
||
|
@echo "On some systems, e.g., linux, you may also have to run ldconfig."
|
||
|
@echo ""
|
||
|
install: install-elf install-pkgconfig
|
||
|
-install-all: install-elf install-static install-pkgconfig
|
||
|
+install-all: install-elf
|
||
|
+ cd src; $(MAKE) install-static
|
||
|
+install-modules:
|
||
|
+ cd modules; $(MAKE) install
|
||
|
install-links:
|
||
|
cd src; $(MAKE) install-links
|
||
|
#
|
||
|
diff -rup a/slsh/Makefile.in b/slsh/Makefile.in
|
||
|
--- a/slsh/Makefile.in 2014-12-08 11:52:51.303284637 +0000
|
||
|
+++ b/slsh/Makefile.in 2014-12-08 12:06:44.811939732 +0000
|
||
|
@@ -16,7 +16,8 @@ SLANG_INST_INC = -I@includedir@
|
||
|
SLANG_INST_LIB = -L$(INST_LIB_DIR)
|
||
|
#---------------------------------------------------------------------------
|
||
|
SLANG_SRCINC = -I@SRCDIR@
|
||
|
-SLANG_SRCLIB = -L@ELFDIR@
|
||
|
+SLANG_ELFLIB = -L@ELFDIR@# for dynamically linked
|
||
|
+SLANG_OBJLIB = -L@OBJDIR@# for statically linked
|
||
|
#---------------------------------------------------------------------------
|
||
|
OTHER_LIBS = @TERMCAP@ @DYNAMIC_LINK_LIB@ @LIBS@ @M_LIB@
|
||
|
RPATH = @RPATH@
|
||
|
@@ -73,10 +74,12 @@ INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(S
|
||
|
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_SRCLIB) -lslang $(READLINE_LIB) $(OTHER_LIBS)
|
||
|
+SRC_LIBS = $(SLANG_ELFLIB) -lslang $(READLINE_LIB) $(OTHER_LIBS)
|
||
|
+STATIC_SRC_LIBS = $(SLANG_OBJLIB) -lslang $(READLINE_LIB) $(OTHER_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)
|
||
|
$(OBJDIR)/slsh: $(OBJDIR)/slsh.o $(OBJDIR)/readline.o
|
||
|
@@ -85,6 +88,8 @@ $(OBJDIR)/slsh.o: $(OBJDIR) slsh.c slsh.
|
||
|
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)
|
||
|
config.h: ../src/config.h
|
||
|
@@ -151,6 +156,12 @@ install: slsh install_directories instal
|
||
|
$(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)/
|
||
|
+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_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)/
|
||
|
#---------------------------------------------------------------------------
|
||
|
# Housekeeping
|
||
|
#---------------------------------------------------------------------------
|
||
|
@@ -161,5 +172,5 @@ distclean: clean
|
||
|
#
|
||
|
.PHONY: all clean distclean symlinks slsh install install_directories \
|
||
|
install_lib_files install_rline_files install_scripts install_help \
|
||
|
- install_docs
|
||
|
+ install_docs install-static static
|
||
|
|