From 0aa91b2c62d1b6b0caebe9039228c26b0e563c0d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ale=C5=A1=20K=C5=99enek?= Date: Wed, 21 Sep 2005 12:13:17 +0000 Subject: [PATCH] the first attempt to fix #9701 --- org.glite.security.gsoap-plugin/Makefile | 24 +++++++++++---------- .../project/libtool-paths-split.pl | 25 ++++++++++++++++++++++ 2 files changed, 38 insertions(+), 11 deletions(-) create mode 100644 org.glite.security.gsoap-plugin/project/libtool-paths-split.pl diff --git a/org.glite.security.gsoap-plugin/Makefile b/org.glite.security.gsoap-plugin/Makefile index 6fce5b1..4cef38b 100644 --- a/org.glite.security.gsoap-plugin/Makefile +++ b/org.glite.security.gsoap-plugin/Makefile @@ -57,6 +57,7 @@ LINK:=libtool --mode=link ${CC} -rpath ${stagedir}/lib ${LDFLAGS} LINKXX:=libtool --mode=link ${CXX} ${LDFLAGS} INSTALL:=libtool --mode=install install LINKXX:=libtool --mode=link ${CXX} -rpath ${stagedir}/lib ${LDFLAGS} +LTSPLIT:=${top_srcdir}/project/libtool-paths-split.pl GLOBUS_INC:= -I${globus_prefix}/include/${nothrflavour} GLOBUS_LIBS:= -L${globus_prefix}/lib \ @@ -80,9 +81,9 @@ GSS_LTLIB:=libglite_security_gss_${nothrflavour}.la GSS_THRLTLIB:=libglite_security_gss_${thrflavour}.la OBJS:=${GSS_OBJS} glite_gsplugin.o -LOBJS:=${GSS_OBJS:.o=.lo} -THROBJS:=${GSS_OBJS:.o=.thr.o} -THRLOBJS:=${GSS_OBJS:.o=.thr.lo} +LOBJS:=${OBJS:.o=.lo} +THROBJS:=${OBJS:.o=.thr.o} +THRLOBJS:=${OBJS:.o=.thr.lo} STATICLIB:=libglite_security_gsoap_plugin_${nothrflavour}.a THRSTATICLIB:=libglite_security_gsoap_plugin_${thrflavour}.a @@ -98,10 +99,10 @@ ${GSS_THRSTATICLIB}: ${GSS_THROBJS} ranlib $@ ${GSS_LTLIB}: ${GSS_OBJS} - ${LINK} ${version_info} -o $@ ${GSS_LOBJS} + ${LINK} ${version_info} -o $@ ${GSS_LOBJS} ${EX_LIBS} ${GSS_THRLTLIB}: ${GSS_THROBJS} - ${LINK} ${version_info} -o $@ ${GSS_THRLOBJS} + ${LINK} ${version_info} -o $@ ${GSS_THRLOBJS} ${EX_LIBS} ${STATICLIB}: ${OBJS} ar crv $@ ${OBJS} @@ -112,10 +113,10 @@ ${THRSTATICLIB}: ${THROBJS} ranlib $@ ${LTLIB}: ${OBJS} - ${LINK} ${version_info} -o $@ ${LOBJS} + ${LINK} ${version_info} -o $@ ${LOBJS} ${EX_LIBS} ${THRLTLIB}: ${THROBJS} - ${LINK} ${version_info} -o $@ ${THRLOBJS} + ${LINK} ${version_info} -o $@ ${THRLOBJS} ${EX_LIBS} default: all @@ -128,7 +129,7 @@ check.gss: test_gss echo test_gss not run automatically util we have got some credentials test_gss: test_gss.o - ${LINKXX} -o $@ test_gss.o ${GSS_LTLIB} ${TEST_LIBS} ${GLOBUS_LIBS} ${EX_LIBS} + ${LINKXX} -o $@ test_gss.o ${GSS_LTLIB} ${TEST_LIBS} test_coverage: -mkdir coverage @@ -155,13 +156,13 @@ endif wscalc_clt_ex: ${WSCALC_CLT_OBJS} ${STATICLIB} - ${LINK} -o $@ ${STATICLIB} ${GSOAP_LIBS} ${EX_LIBS} ${WSCALC_CLT_OBJS} + ${LINK} -o $@ ${WSCALC_CLT_OBJS} ${LTLIB} ${GSOAP_LIBS} wscalc_srv_ex: ${WSCALC_SRV_OBJS} ${STATICLIB} - ${LINK} -o $@ ${STATICLIB} ${GSOAP_LIBS} ${EX_LIBS} ${WSCALC_SRV_OBJS} + ${LINK} -o $@ ${WSCALC_SRV_OBJS} ${LTLIB} ${GSOAP_LIBS} wscalc_srv_ex2: ${WSCALC_SRV2_OBJS} ${STATICLIB} - ${LINK} -o $@ ${STATICLIB} ${GSOAP_LIBS} ${EX_LIBS} ${WSCALC_SRV2_OBJS} + ${LINK} -o $@ ${WSCALC_SRV2_OBJS} ${LTLIB} ${GSOAP_LIBS} ${GSOAP_FPREFIX}H.h ${GSOAP_FPREFIX}C.c ${GSOAP_FPREFIX}Server.c ${GSOAP_FPREFIX}Client.c ${GSOAP_FPREFIX}ServerLib.c ${GSOAP_FPREFIX}ClientLib.c soap_gen: calc.h.S ${gsoap_prefix}/bin/soapcpp2 -c -p ${GSOAP_FPREFIX} ${top_srcdir}/examples/calc.h.S @@ -195,6 +196,7 @@ install: -mkdir -p ${PREFIX}/share/doc/${package}-${version} -mkdir -p ${PREFIX}/include/glite/security/${package} ${INSTALL} -m 644 ${GSS_LTLIB} ${GSS_THRLTLIB} ${PREFIX}/lib + ${LTSPLIT} ${PREFIX}/lib/${GSS_LTLIB} ${PREFIX}/lib/${GSS_THRLTLIB} ${INSTALL} -m 644 ${top_srcdir}/LICENSE ${PREFIX}/share/doc/${package}-${version} cd ${top_srcdir}/interface && ${INSTALL} -m 644 ${HDRS} ${PREFIX}/include/glite/security/ if [ x${DOSTAGE} = xyes ]; then \ diff --git a/org.glite.security.gsoap-plugin/project/libtool-paths-split.pl b/org.glite.security.gsoap-plugin/project/libtool-paths-split.pl new file mode 100644 index 0000000..5dce72f --- /dev/null +++ b/org.glite.security.gsoap-plugin/project/libtool-paths-split.pl @@ -0,0 +1,25 @@ +#!/usr/bin/perl -p -i + +next unless /^dependency_libs=/; + +s/^dependency_libs=//; +s/\s*'\s*//g; + +$out = ''; + +undef $libs; +undef %paths; + +for (split) { + if (/^-L(.*)/) { $paths{$1} = 'x'; } + elsif (/^-l(.*)/) { $libs .= " -l$1"; } + elsif (/^(.*)\/lib(.*)\.(la|so).*$/) { $paths{$1} = 'x'; $libs .= " -l$2" ; } +# XXX else { $out .= " $_"; } + else { print STDERR "$_: unknown\n"; } +} + +# $_ = "dependency_libs='$out'"; +$_ = "dependency_libs='"; +$_ .= '-L' . join ' -L',keys %paths if %paths; +$_ .= $libs if $libs; +$_ .= "'"; -- 1.8.2.3