1*4882a593SmuzhiyunFrom 16bf899447fc1524ffc3c79e1d35380e5285a552 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Jackie Huang <jackie.huang@windriver.com>
3*4882a593SmuzhiyunDate: Thu, 7 Jan 2016 22:37:30 -0800
4*4882a593SmuzhiyunSubject: [PATCH] libtool: do not use jlibtool
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunjlibtool is hardcoded to be used but we need to use
7*4882a593Smuzhiyunour libtool, so fix the makfiles to make it compatible
8*4882a593Smuzhiyunwith our libtool.
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunUpstream-Status: Inappropriate [oe specific]
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunSigned-off-by: Jackie Huang <jackie.huang@windriver.com>
13*4882a593SmuzhiyunSigned-off-by: Yi Zhao <yi.zhao@windriver.com>
14*4882a593Smuzhiyun---
15*4882a593Smuzhiyun Make.inc.in        |  4 ++--
16*4882a593Smuzhiyun scripts/boiler.mk  |  2 ++
17*4882a593Smuzhiyun scripts/install.mk | 14 +++++++-------
18*4882a593Smuzhiyun scripts/libtool.mk | 22 ++++++++++++++++------
19*4882a593Smuzhiyun 4 files changed, 27 insertions(+), 15 deletions(-)
20*4882a593Smuzhiyun
21*4882a593Smuzhiyundiff --git a/Make.inc.in b/Make.inc.in
22*4882a593Smuzhiyunindex 7a77625..fd8aa3e 100644
23*4882a593Smuzhiyun--- a/Make.inc.in
24*4882a593Smuzhiyun+++ b/Make.inc.in
25*4882a593Smuzhiyun@@ -57,7 +57,7 @@ CPPFLAGS	= @CPPFLAGS@
26*4882a593Smuzhiyun LIBPREFIX	= @LIBPREFIX@
27*4882a593Smuzhiyun EXEEXT		= @EXEEXT@
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun-LIBTOOL		= JLIBTOOL
30*4882a593Smuzhiyun+LIBTOOL		= @LIBTOOL@
31*4882a593Smuzhiyun ACLOCAL		= @ACLOCAL@
32*4882a593Smuzhiyun AUTOCONF	= @AUTOCONF@
33*4882a593Smuzhiyun AUTOHEADER	= @AUTOHEADER@
34*4882a593Smuzhiyun@@ -163,7 +163,7 @@ ANALYZE.c       := @clang_path@
35*4882a593Smuzhiyun #
36*4882a593Smuzhiyun ifeq "$(USE_SHARED_LIBS)" "yes"
37*4882a593Smuzhiyun 	TESTBINDIR = ./$(BUILD_DIR)/bin/local
38*4882a593Smuzhiyun-	TESTBIN    =  FR_LIBRARY_PATH=./build/lib/.libs $(JLIBTOOL) --quiet --mode=execute $(TESTBINDIR)
39*4882a593Smuzhiyun+	TESTBIN    =  FR_LIBRARY_PATH=./build/lib/.libs $(LIBTOOL) --quiet --mode=execute $(TESTBINDIR)
40*4882a593Smuzhiyun else
41*4882a593Smuzhiyun 	TESTBINDIR = ./$(BUILD_DIR)/bin
42*4882a593Smuzhiyun 	TESTBIN    = ./$(BUILD_DIR)/bin
43*4882a593Smuzhiyundiff --git a/scripts/boiler.mk b/scripts/boiler.mk
44*4882a593Smuzhiyunindex bccec5e..926a13e 100644
45*4882a593Smuzhiyun--- a/scripts/boiler.mk
46*4882a593Smuzhiyun+++ b/scripts/boiler.mk
47*4882a593Smuzhiyun@@ -266,6 +266,7 @@ define COMPILE_C_CMDS
48*4882a593Smuzhiyun 	$(Q)$(ECHO) CC $<
49*4882a593Smuzhiyun 	$(Q)$(strip ${COMPILE.c} -o $@ -c -MD ${CPPFLAGS} ${CFLAGS} ${SRC_CFLAGS} ${INCDIRS} \
50*4882a593Smuzhiyun 	    $(addprefix -I, ${SRC_INCDIRS}) ${SRC_DEFS} ${DEFS} $<)
51*4882a593Smuzhiyun+	${Q}mv $(dir $@)/.libs/$(notdir $*.d) ${BUILD_DIR}/objs/$*.d
52*4882a593Smuzhiyun endef
53*4882a593Smuzhiyun else
54*4882a593Smuzhiyun #
55*4882a593Smuzhiyun@@ -281,6 +282,7 @@ define COMPILE_C_CMDS
56*4882a593Smuzhiyun 	$(Q)cppcheck --enable=style -q ${CHECKFLAGS} $(filter -isystem%,${SRC_CFLAGS}) \
57*4882a593Smuzhiyun 	     $(filter -I%,${SRC_CFLAGS}) $(filter -D%,${SRC_CFLAGS}) ${INCDIRS} \
58*4882a593Smuzhiyun 	     $(addprefix -I,${SRC_INCDIRS}) ${SRC_DEFS} ${DEFS} --suppress=variableScope --suppress=invalidscanf $<
59*4882a593Smuzhiyun+	${Q}mv $(dir $@)/.libs/$(notdir $*.d) ${BUILD_DIR}/objs/$*.d
60*4882a593Smuzhiyun endef
61*4882a593Smuzhiyun endif
62*4882a593Smuzhiyun
63*4882a593Smuzhiyundiff --git a/scripts/install.mk b/scripts/install.mk
64*4882a593Smuzhiyunindex 9164115..e38c1ed 100644
65*4882a593Smuzhiyun--- a/scripts/install.mk
66*4882a593Smuzhiyun+++ b/scripts/install.mk
67*4882a593Smuzhiyun@@ -46,7 +46,7 @@ define ADD_INSTALL_RULE.exe
68*4882a593Smuzhiyun     install: $${${1}_INSTALLDIR}/$(notdir ${1})
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun     # Install executable ${1}
71*4882a593Smuzhiyun-    $${${1}_INSTALLDIR}/$(notdir ${1}): ${JLIBTOOL} $${${1}_BUILD}/${1} | $${${1}_INSTALLDIR}
72*4882a593Smuzhiyun+    $${${1}_INSTALLDIR}/$(notdir ${1}): ${LIBTOOL} $${${1}_BUILD}/${1} | $${${1}_INSTALLDIR}
73*4882a593Smuzhiyun 	@$(ECHO) INSTALL ${1}
74*4882a593Smuzhiyun 	$(Q)$${PROGRAM_INSTALL} -c -m 755 $${BUILD_DIR}/bin/${1} $${${1}_INSTALLDIR}/
75*4882a593Smuzhiyun 	$(Q)$${${1}_POSTINSTALL}
76*4882a593Smuzhiyun@@ -65,7 +65,7 @@ define ADD_INSTALL_RULE.a
77*4882a593Smuzhiyun     install: $${${1}_INSTALLDIR}/$(notdir ${1})
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun     # Install static library ${1}
80*4882a593Smuzhiyun-    $${${1}_INSTALLDIR}/$(notdir ${1}): ${JLIBTOOL} ${1} | $${${1}_INSTALLDIR}
81*4882a593Smuzhiyun+    $${${1}_INSTALLDIR}/$(notdir ${1}): ${LIBTOOL} ${1} | $${${1}_INSTALLDIR}
82*4882a593Smuzhiyun 	@$(ECHO) INSTALL ${1}
83*4882a593Smuzhiyun 	$(Q)$${PROGRAM_INSTALL} -c -m 755 $${BUILD_DIR}/lib/${1} $${${1}_INSTALLDIR}/
84*4882a593Smuzhiyun 	$(Q)$${${1}_POSTINSTALL}
85*4882a593Smuzhiyun@@ -87,9 +87,9 @@ define ADD_INSTALL_RULE.la
86*4882a593Smuzhiyun     install: $${${1}_INSTALLDIR}/$(notdir ${1})
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun     # Install libtool library ${1}
89*4882a593Smuzhiyun-    $${${1}_INSTALLDIR}/$(notdir ${1}): ${JLIBTOOL} $${${1}_BUILD}/${1} | $${${1}_INSTALLDIR}
90*4882a593Smuzhiyun+    $${${1}_INSTALLDIR}/$(notdir ${1}): ${LIBTOOL} $${${1}_BUILD}/${1} | $${${1}_INSTALLDIR}
91*4882a593Smuzhiyun 	@$(ECHO) INSTALL ${1}
92*4882a593Smuzhiyun-	$(Q)$${PROGRAM_INSTALL} -c -m 755 $${LOCAL_FLAGS_MIN} $${BUILD_DIR}/lib/${1} $${${1}_INSTALLDIR}/
93*4882a593Smuzhiyun+	$(Q)$${PROGRAM_INSTALL} -c -m 755 $${BUILD_DIR}/lib/${1} $${${1}_INSTALLDIR}/
94*4882a593Smuzhiyun 	$(Q)$${${1}_POSTINSTALL}
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun endef
97*4882a593Smuzhiyun@@ -107,7 +107,7 @@ define ADD_INSTALL_RULE.man
98*4882a593Smuzhiyun     install: ${2}/$(notdir ${1})
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun     # Install manual page ${1}
101*4882a593Smuzhiyun-    ${2}/$(notdir ${1}): ${JLIBTOOL} ${1} | ${2}
102*4882a593Smuzhiyun+    ${2}/$(notdir ${1}): ${LIBTOOL} ${1} | ${2}
103*4882a593Smuzhiyun 	@$(ECHO) INSTALL $(notdir ${1})
104*4882a593Smuzhiyun 	$(Q)$${PROGRAM_INSTALL} -c -m 644 ${1} ${2}/
105*4882a593Smuzhiyun
106*4882a593Smuzhiyun@@ -122,9 +122,9 @@ endef
107*4882a593Smuzhiyun define ADD_INSTALL_RULE.dir
108*4882a593Smuzhiyun     # Install directory
109*4882a593Smuzhiyun     .PHONY: ${1}
110*4882a593Smuzhiyun-    ${1}: ${JLIBTOOL}
111*4882a593Smuzhiyun+    ${1}: ${LIBTOOL}
112*4882a593Smuzhiyun 	@$(ECHO) INSTALL -d -m 755 ${1}
113*4882a593Smuzhiyun-	$(Q)$${PROGRAM_INSTALL} -d -m 755 ${1}
114*4882a593Smuzhiyun+	$(Q)$${INSTALL} -d -m 755 ${1}
115*4882a593Smuzhiyun endef
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun
118*4882a593Smuzhiyundiff --git a/scripts/libtool.mk b/scripts/libtool.mk
119*4882a593Smuzhiyunindex 57915e1..2cb2f7d 100644
120*4882a593Smuzhiyun--- a/scripts/libtool.mk
121*4882a593Smuzhiyun+++ b/scripts/libtool.mk
122*4882a593Smuzhiyun@@ -55,7 +55,9 @@ ifeq "${LIBTOOL}" "JLIBTOOL"
123*4882a593Smuzhiyun     # Tell GNU Make to use this value, rather than anything specified
124*4882a593Smuzhiyun     # on the command line.
125*4882a593Smuzhiyun     override LIBTOOL := ${JLIBTOOL}
126*4882a593Smuzhiyun-endif    # else we're not using jlibtool
127*4882a593Smuzhiyun+else    # else we're not using jlibtool
128*4882a593Smuzhiyun+    all install: ${LIBTOOL}
129*4882a593Smuzhiyun+endif
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun # When using libtool, it produces a '.libs' directory.  Ensure that it
132*4882a593Smuzhiyun # is removed on "make clean", too.
133*4882a593Smuzhiyun@@ -69,11 +71,19 @@ clean: .libs_clean
134*4882a593Smuzhiyun # Re-define compilers and linkers
135*4882a593Smuzhiyun #
136*4882a593Smuzhiyun OBJ_EXT = lo
137*4882a593Smuzhiyun-COMPILE.c = ${LIBTOOL} --silent --mode=compile ${CC}
138*4882a593Smuzhiyun-COMPILE.cxx = ${LIBTOOL} --mode=compile ${CXX}
139*4882a593Smuzhiyun-LINK.c = ${LIBTOOL} --silent --mode=link ${CC}
140*4882a593Smuzhiyun-LINK.cxx = ${LIBTOOL} --mode=link ${CXX}
141*4882a593Smuzhiyun-PROGRAM_INSTALL = ${LIBTOOL} --silent --mode=install ${INSTALL}
142*4882a593Smuzhiyun+ifeq "${LIBTOOL}" "JLIBTOOL"
143*4882a593Smuzhiyun+    COMPILE.c = ${LIBTOOL} --silent --mode=compile ${CC}
144*4882a593Smuzhiyun+    COMPILE.cxx = ${LIBTOOL} --mode=compile ${CXX}
145*4882a593Smuzhiyun+    LINK.c = ${LIBTOOL} --silent --mode=link ${CC}
146*4882a593Smuzhiyun+    LINK.cxx = ${LIBTOOL} --mode=link ${CXX}
147*4882a593Smuzhiyun+    PROGRAM_INSTALL = ${LIBTOOL} --silent --mode=install ${INSTALL}
148*4882a593Smuzhiyun+else
149*4882a593Smuzhiyun+    COMPILE.c = ${LIBTOOL} --mode=compile --tag=CC ${CC}
150*4882a593Smuzhiyun+    COMPILE.cxx = ${LIBTOOL} --mode=compile --tag=CC ${CXX}
151*4882a593Smuzhiyun+    LINK.c = ${LIBTOOL} --mode=link --tag=CC ${CC} -module -export-dynamic
152*4882a593Smuzhiyun+    LINK.cxx = ${LIBTOOL} --mode=link --tag=CC ${CXX} -module -export-dynamic
153*4882a593Smuzhiyun+    PROGRAM_INSTALL = ${LIBTOOL} --mode=install ${INSTALL}
154*4882a593Smuzhiyun+endif
155*4882a593Smuzhiyun
156*4882a593Smuzhiyun
157*4882a593Smuzhiyun # LIBTOOL_ENDINGS - Given a library ending in ".a" or ".so", replace that
158*4882a593Smuzhiyun--
159*4882a593Smuzhiyun2.10.2
160*4882a593Smuzhiyun
161