1. 19 Jul, 2019 15 commits
  2. 18 Jul, 2019 14 commits
  3. 17 Jul, 2019 11 commits
    • Saleem Abdulrasool's avatar
      Swift: support SONAME on ELFish targets · 5803a8a2
      Saleem Abdulrasool authored
      We should enable the soname to be setup for ELF shared libraries.
      Failure to do so generates binaries with incorrect names which prevents
      loading.
      5803a8a2
    • Saleem Abdulrasool's avatar
      Swift: support multithreaded compilation · 47e28cbe
      Saleem Abdulrasool authored
      Query the number of logical CPUs available to enable parallel
      compilation for Swift.
      47e28cbe
    • Saleem Abdulrasool's avatar
      Swift: add rules for static linking · 6814567e
      Saleem Abdulrasool authored
      The Swift driver recently learnt how to generate static libraries using
      the `-static` flag.  This enables us to generate proper static libraries
      with dependency tracking with Swift as well.
      6814567e
    • Saleem Abdulrasool's avatar
      Swift: Add library search paths for dependencies · c8741e8f
      Saleem Abdulrasool authored
      When building Swift executables and libraries which import a module, an
      implicit link will be added by the driver.  Because this links by name
      rather than path, the library search path needs to be provided to
      indicate where to find the library.  For all local dependencies, add the
      library paths for the targets when linking.  This ensures that you can
      link against local libraries without explicitly setting a library path.
      
      Fixes: #19304
      c8741e8f
    • Saleem Abdulrasool's avatar
      Support per-language library link flags · be0d4042
      Saleem Abdulrasool authored
      This changes the behaviour of the generators to use a per-language
      library search path flag.  This is needed for multi-language projects
      with different compilers (e.g. cl + gfortran).  Since the adjusted
      variable has been part of the user settings, we control this based on a
      policy.
      
      Fixes: #19307
      be0d4042
    • Brad King's avatar
      AIX: Do not enable runtime linking by default anymore · 3fb3157d
      Brad King authored
      We've long created shared objects on AIX using the linker's `-G` option
      (also offered by the XL front-end).  The `-G` option implies `-brtl` and
      enables runtime linking.  This has been largely unnecessary because we
      provide all dependencies on the link line and both XL and GNU compilers
      offer builtin behavior to export symbols.  Since commit 0f150b69 (AIX:
      Explicitly compute shared object exports for both XL and GNU,
      2019-07-11) we compute exports explicitly and consistently.
      Therefore runtime linking is no longer necessary for shared objects.
      
      We've also long created executables on AIX using the linker's `-brtl`
      option to enable runtime linking in case they load plugins at runtime.
      Since commit 9f5c2040 (AIX: Explicitly compute executable exports for
      both XL and GNU, 2019-07-12) and commit 2fa920c0 (AIX: Create import
      library for executables with exports, 2019-07-16) we now provide the
      linker enough information to fully resolve symbols in plugins up front.
      Therefore runtime linking is no longer necessary for executables.
      
      Drop use of `-G` for creating shared objects and use the XL `-qmkshrobj`
      and GCC `-shared` options instead.  Both invoke the linker with the
      `-bM:SRE -bnoentry` options to create a shared object without runtime
      linking enabled.  Also drop use of `-brtl` for creating executables.
      
      Issue: #19163
      3fb3157d
    • Saleem Abdulrasool's avatar
      Swift: refactor rule construction to reduce duplication · 151ef7ce
      Saleem Abdulrasool authored
      Use the placeholder expansion to avoid constructing the `-target` option
      by hand if specified.  This reduces duplication and simplifies the
      rules.
      151ef7ce
    • Brad King's avatar
      Merge branch 'release-3.15' · 744dd2cc
      Brad King authored
      744dd2cc
    • Brad King's avatar
      Merge topic 'aix-exe-implib' · 44a64683
      Brad King authored
      2fa920c0 AIX: Create import library for executables with exports
      Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
      Merge-request: !3561
      44a64683
    • Sebastian Holtermann's avatar
    • Sebastian Holtermann's avatar