Ignore:
Timestamp:
Aug 20, 2013, 5:06:43 PM (6 years ago)
Author:
jeremyhu@…
Message:

muniversal: Deal with arch flags in pkgconfig (and legacy -config) files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dports/_resources/port1.0/group/muniversal-1.0.tcl

    r109791 r109843  
    569569                                        *.pc -
    570570                                        *-config {
    571                                             return -code error "${prefixDir}/${fl} differs in ${base1} and ${base2} and cannot be merged"
     571                                            set known_file "yes"
     572
     573                                            set tempdir [mkdtemp "/tmp/muniversal.XXXXXXXX"]
     574                                            set tempfile1 "${tempdir}/${arch1}-${fl}"
     575                                            set tempfile2 "${tempdir}/${arch2}-${fl}"
     576
     577                                            copy ${dir1}/${fl} ${tempfile1}
     578                                            copy ${dir2}/${fl} ${tempfile2}
     579
     580                                            reinplace {s:-arch  *[^ ][^ ]*::} ${tempfile1} ${tempfile2}
     581                                            reinplace {s:-m32::} ${tempfile1} ${tempfile2}
     582                                            reinplace {s:-m64::} ${tempfile1} ${tempfile2}
     583
     584                                            if { ! [catch {system "/usr/bin/cmp -s \"${tempfile1}\" \"${tempfile2}\""}] } {
     585                                                # modified files are identical
     586                                                ui_debug "universal: merge: ${prefixDir}/${fl} differs in ${base1} and ${base2} but are the same when stripping out -m32, -m64, and -arch XXX"
     587                                                copy ${tempfile1} ${dir}/${fl}
     588                                            } else {
     589                                                return -code error "${prefixDir}/${fl} differs in ${base1} and ${base2} and cannot be merged (see ${tempdir})"
     590                                            }
     591
     592                                            delete ${tempfile1} ${tempfile2} ${tempdir}
    572593                                        }
    573594                                    }
Note: See TracChangeset for help on using the changeset viewer.