[csw-devel] SF.net SVN: gar:[4717] csw/mgar/gar/v2/bin/fixlibtool

valholla at users.sourceforge.net valholla at users.sourceforge.net
Wed May 6 18:11:39 CEST 2009


Revision: 4717
          http://gar.svn.sourceforge.net/gar/?rev=4717&view=rev
Author:   valholla
Date:     2009-05-06 16:11:36 +0000 (Wed, 06 May 2009)

Log Message:
-----------
new fixlibtool

Added Paths:
-----------
    csw/mgar/gar/v2/bin/fixlibtool

Copied: csw/mgar/gar/v2/bin/fixlibtool (from rev 4714, csw/mgar/pkg/fixlibtool/trunk/fixlibtool)
===================================================================
--- csw/mgar/gar/v2/bin/fixlibtool	                        (rev 0)
+++ csw/mgar/gar/v2/bin/fixlibtool	2009-05-06 16:11:36 UTC (rev 4717)
@@ -0,0 +1,66 @@
+#!/bin/bash
+####################################################
+#
+#  $URL$
+#  $Date$
+#  $Revision$
+#  $LastChangedRevision$
+#
+#  Author: Mike Watters (mwatters~~@~~opencsw.org)
+#  Intended to remove the use of libtool's 
+#  pseudo-libraries for opencsw builds.
+#
+#  Usage: fixlibtool $(WORKSRC)
+#
+#  Intened usage:
+#  DISTFILES += fixlibtool
+#  post-configure-modulated:
+#       @(echo "~~~ Fixing Libtool ~~~")
+#       @$(DOWNLOADDIR)/fixlibtool $(WORKSRC)
+#       @$(MAKECOOKIE)
+#
+####################################################
+
+umask 0022
+PATH=/opt/csw/bin
+
+if [ $# -ne 1 ]; then
+    gecho "USAGE: $(basename $0) WORKSRC"
+    exit 1
+fi
+BASEPATH=$1
+
+## Fix Makefiles
+for mk in $(gfind ${BASEPATH} -name Makefile -print); do
+    gcp ${mk} ${mk}.orig
+    LT_FILES=$(ggrep '/opt/csw.*/lib/.*\.la' ${mk} | \
+        gsed "s/^.*\(\/opt\/csw.*\/lib\/.*\.la\).*$/\1/")
+    
+    for file in ${LT_FILES}; do
+        LIB_NAME=$(ggrep 'dlname=' ${file} | \
+            gsed -e "s/.*'\(.*\)'/\1/" \
+                -e "s/^lib//" \
+                -e "s/\.so.*$//")
+        fixpath=$(gecho $file |gsed 's/\//\\\//g')
+        gsed "s/${fixpath}/-l${LIB_NAME}/g" ${mk} >${mk}.new
+        gmv ${mk}.new ${mk}
+        gchmod +x ${mk}
+    done
+done
+
+## Fix libtool Script
+for lt in $(gfind ${BASEPATH} -name libtool -print); do
+    gcp ${lt} ${lt}.orig
+    gsed "/for search_ext in .*\.la/s/\.la//" ${lt} >${lt}.new
+    gmv ${lt}.new ${lt}
+    gchmod +x ${lt}
+done
+
+for LTMAIN in $(gfind ${BASEPATH} -name ltmain.sh -print); do
+    gcp ${LTMAIN} ${LTMAIN}.orig
+    gsed "/for search_ext in .*\.la/s/\.la//" ${LTMAIN} >${LTMAIN}.new
+    gmv ${LTMAIN}.new ${LTMAIN}
+    gchmod +x ${LTMAIN}
+done
+
+exit 0


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the devel mailing list