Skip to content
  • Alec Theriault's avatar
    Check that libs found by GCC aren't folders · 6b5ec08a
    Alec Theriault authored
    Summary:
    We use 'gcc -B<base-location> --print-file-name mylib.a' as a way of
    checking if 'gcc' can discover 'mylib.a' at the given location. However,
    this can break down if there is a folder caller 'mylib.a' that 'gcc' can
    discover. We can guard against this by explicitly checking that the path
    returned by 'gcc' is a file.
    
    This may seem like a far-fetched scenario, but since
    3d17f1f1, we look for libraries without
    any prefix or suffix (ie. 'extra-libraries: softfloat', we look for just
    'softfloat' as well as 'softloat.a', 'softfloat.dll.a', etc.) which means
    that there might actusally be a folder of that name in one of the base
    locations.
    
    Reviewers: Phyx, bgamari, hvr, angerman
    
    Reviewed By: Phyx, angerman
    
    Subscribers: angerman, rwbarton, carter
    
    GHC Trac Issues: #16063
    
    Differential Revision: https://phabricator.haskell.org/D5462
    6b5ec08a