Blame view

buildroot/buildroot-2016.08.1/package/slang/0002-Enable-a-statically-linked-version-of-slsh.patch 5.29 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
  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