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