CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
Modified pkgmk.in to have support for crosscompilation. Added new function: fix_cross...
authorJose V Beneyto <sepen@crux.nu>
Tue, 13 Aug 2013 19:46:46 +0000 (19:46 +0000)
committerJose V Beneyto <sepen@crux.nu>
Tue, 13 Aug 2013 19:46:46 +0000 (19:46 +0000)
pkgmk.in

index 997453deb50f39ae87bed92b53fe8bef3efe682d..45406c6b5e1d5bdb83dd61d2c8239092b0ea0d8c 100755 (executable)
--- a/pkgmk.in
+++ b/pkgmk.in
@@ -4,6 +4,9 @@
 # 
 #  Copyright (c) 2000-2005 Per Liden
 #  Copyright (c) 2006-2013 by CRUX team (http://crux.nu)
+#
+#  Patches for crosscompilation by Jose V Beneyto <sepen@crux.nu>
+#  (CRUX-ARM System Team <devel@crux-arm.nu>)
 # 
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
@@ -278,13 +281,13 @@ strip_files() {
        find . -type f -printf "%P\n" | $FILTER | while read FILE; do
                case $(file -b "$FILE") in
                *ELF*executable*not\ stripped)
-                       strip --strip-all "$FILE"
+                       $STRIP_CMD --strip-all "$FILE"
                        ;;
                *ELF*shared\ object*not\ stripped)
-                       strip --strip-unneeded "$FILE"
+                       $STRIP_CMD --strip-unneeded "$FILE"
                        ;;
                current\ ar\ archive)
-                       strip --strip-debug "$FILE"
+                       $STRIP_CMD --strip-debug "$FILE"
                esac
        done
 }
@@ -314,6 +317,13 @@ compress_manpages() {
        done
 }
 
+fix_cross_paths() {
+        # remove the last / from CLFS path if appeared
+        CLFS=${CLFS%*/}
+
+        find $PKG -type f -name '*.la' -exec sed -e "s|$CLFS||g" -e "s|$CROSTOOLS/$CTARGET|/usr|g" -i {} \;
+}
+
 check_footprint() {
        local FILE="$PKGMK_WORK_DIR/.tmp"
        
@@ -390,8 +400,9 @@ build_package() {
                if [ "$PKGMK_NO_STRIP" = "no" ]; then
                        strip_files
                fi
-               
+
                compress_manpages
+               fix_cross_paths
                
                cd $PKG
                info "Build result:"
@@ -611,12 +622,6 @@ parse_options() {
 }
 
 main() {
-       # multilib
-       PKGMK_ARCH=64
-       if [ -f ".32bit" ]; then
-               PKGMK_ARCH=32
-       fi
-
        local FILE TARGET
        
        parse_options "$@"