4375 Commits

Author SHA1 Message Date
Pascal Obry
e767c3bc0b Add documentation for new --cross-install option.
Continued work for TN eng/gpr/gpr-issues#134

Merge request eng/gpr/gpr!783 from branch 'topic/cross-install' into 'main'
2026-02-11 12:08:46 +01:00
Pascal Obry
4c4c5f7076 Add documentation for new --cross-install option.
Continued work for TN eng/gpr/gpr-issues#134
2026-02-11 10:43:32 +01:00
Vincent Jicquel
e3c0521a21 Rephrase the Parser's Is_Open description
no-tn-check: minor improvement

Merge request eng/gpr/gpr!788 from branch 'mr/jicquel/gpr-issues#-1.minor-improvement' into 'main'
2026-02-10 17:56:05 +00:00
Vincent Jicquel
0e48afe488 Rephrase the Parser's Is_Open description
no-tn-check: minor improvement
2026-02-10 15:40:36 +01:00
Vincent Jicquel
3d639f80e0 Remove Action's Skip subprogram
The Skip subprogram existed before Is_Deactivated, but both ended
serving the same main purpose. A skipped action is an action whose signature
is correct. A deactivated action, on the other hand, is an action that should
not be executed, regardless of its signature. An action can be deactivated
either manually or automatically when a project's nature does not allow its
execution, for example when linking is disabled.

Moreover, this change fixes an issue where a manually skipped action had an
invalid signature, which caused the entire process manager execution to fail.

Issue: eng/gpr/gpr-issues#765

Merge request eng/gpr/gpr!784 from branch 'mr/jicquel/gpr-issues#765' into 'main'
2026-02-05 09:48:10 +00:00
Vincent Jicquel
495d43fae7 Remove Action's Skip subprogram
The Skip subprogram existed before Is_Deactivated, but both ended
serving the same main purpose. A skipped action is an action whose signature
is correct. A deactivated action, on the other hand, is an action that should
not be executed, regardless of its signature. An action can be deactivated
either manually or automatically when a project's nature does not allow its
execution, for example when linking is disabled.

Moreover, this change fixes an issue where a manually skipped action had an
invalid signature, which caused the entire process manager execution to fail.

Issue: eng/gpr/gpr-issues#765
2026-02-04 17:25:21 +01:00
Vincent Jicquel
b9514bb0d6 Fix library name uniqueness checking
Each view is checked for validity in topological order. Before this patch,
the entire closure of each view was examined to detect duplicate library names
before ensuring that all views were valid. Accessing an invalid library view
that did not have a library name caused exceptions during the library name
uniqueness check.

Fixes eng/gpr/gpr-issues#783

Merge request eng/gpr/gpr!782 from branch 'mr/jicquel/gpr-issues#783' into 'main'
2026-02-03 16:34:05 +00:00
Vincent Jicquel
81d8ea20b0 Fix library name uniqueness checking
Each view is checked for validity in topological order. Before this patch,
the entire closure of each view was examined to detect duplicate library names
before ensuring that all views were valid. Accessing an invalid library view
that did not have a library name caused exceptions during the library name
uniqueness check.

Fixes eng/gpr/gpr-issues#783
2026-02-03 13:12:30 +01:00
Vincent Jicquel
7fecc5fe24 Update gprinspect test output with new attribute Disable_Linking
One expected test output was not up to date.

Fixes: eng/gpr/gpr-issues#787

Merge request eng/gpr/gpr!780 from branch 'mr/jicquel/gpr-issues#787' into 'main'
2026-02-03 12:01:08 +00:00
Vincent Jicquel
097239f606 Update gprinspect test output with new attribute Disable_Linking
One expected test output was not up to date.

Fixes: eng/gpr/gpr-issues#787
2026-02-03 10:48:39 +00:00
Vincent Jicquel
d27e58957f Update Linux runtime_build test baseline after a change in GNAT
The libutil dependency has been removed from GNAT on Linux.

Fixes: eng/gpr/gpr-issues#792

Merge request eng/gpr/gpr!781 from branch 'mr/jicquel/gpr-issues#792' into 'main'
2026-02-02 14:37:21 +00:00
Vincent Jicquel
7f1963519d Update Linux runtime_build test baseline after a change in GNAT
The libutil dependency has been removed from GNAT on Linux.

Fixes: eng/gpr/gpr-issues#792
2026-02-02 11:11:08 +01:00
Pascal Obry
b2e6c5bd4e GPRinstall: Add support for cross installation.
The new option --cross-install can be used to use a cross-specific
directory structure for cross installation. The --prefix option
specified the root directory for the installation, and the
current <target> and <runtime> are added to it to create the final
location of the cross installation:

```
   <prefix>[/<target>[/<runtime>]]
      include
      lib
      shared
         gpr
            <prj>.gpr
```

TN eng/gpr/gpr-issues#134

Merge request eng/gpr/gpr!769 from branch 'topic/gprinstall-cross' into 'main'
2026-02-02 07:26:23 +01:00
Pascal Obry
2f502fbaf4 GPRinstall: Add support for cross installation.
The new option --cross-install can be used to use a cross-specific
directory structure for cross installation. The --prefix option
specified the root directory for the installation, and the
current <target> and <runtime> are added to it to create the final
location of the cross installation:

   <prefix>[/<target>[/<runtime>]]
      include
      lib
      shared
         gpr
            <prj>.gpr

TN eng/gpr/gpr-issues#134
2026-01-30 18:37:16 +01:00
Pascal Obry
690d9a4b72 Minor code clean-up.
no-issue-check
2026-01-30 14:49:39 +01:00
Vincent Jicquel
189a0f4f55 Disable rpath generation
When a project is installed, most rpaths become unusable. Performance can
become an issue when searching for rpaths located on a remote filesystem.
Therefore, rpath generation is now disabled by default.

Issue: eng/gpr/gpr-issues#748

Merge request eng/gpr/gpr!779 from branch 'mr/jicquel/gpr-issues#748' into 'main'
2026-01-29 15:52:37 +00:00
Vincent Jicquel
bcc347b385 Disable rpath generation
When a project is installed, most rpaths become unusable. Performance can
become an issue when searching for rpaths located on a remote filesystem.
Therefore, rpath generation is now disabled by default.

Issue: eng/gpr/gpr-issues#748
2026-01-29 15:42:08 +01:00
Pierre Béguet
d1282c6aa7 Follow simlinks when a main unit is provided on the command line
Issue: eng/gpr/gpr-issues#673

Merge request eng/gpr/gpr!773 from branch 'mr/pbeguet/issue-673-gpr2build-fixedbugs' into 'main'
2026-01-29 10:15:55 +00:00
Pierre Béguet
d121739f23 Port tests from GNAT fixedbugs
Issue: eng/gpr/gpr-issues#673
2026-01-28 15:25:54 +01:00
Pierre Béguet
1744678830 Properly add unit part to ignore in the mapping file for compilation
Issue: eng/gpr/gpr-issues#673
2026-01-28 15:25:23 +01:00
Pierre Béguet
dc086c7f45 Consider recursively excluded dirs before non-recursive ones to properly disallow walking on subdirs
Issue: eng/gpr/gpr-issues#673
2026-01-28 15:05:07 +01:00
Pierre Béguet
c18bcb1136 Follow simlinks when a main unit is provided on the command line
Issue: eng/gpr/gpr-issues#673
2026-01-28 15:03:49 +01:00
Vincent Jicquel
086e4b7602 Always use an absolute path for the linker library directory option
A relative path may become very long if it has to traverse up to the filesystem
root before descending again to the actual path.

Fixes: eng/gpr/gpr-issues#781

Merge request eng/gpr/gpr!776 from branch 'mr/jicquel/gpr-issues#781' into 'main'
2026-01-27 10:24:17 +00:00
Vincent Jicquel
c95cad7dff Always use an absolute path for the linker library directory option
A relative path may become very long if it has to traverse up to the filesystem
root before descending again to the actual path.

Fixes: eng/gpr/gpr-issues#781
2026-01-23 11:57:09 +00:00
Vincent Jicquel
89e330542d Skip link phase when the new attribute Disable_Linking is true
Several targets, such as c, ccg, or jvm, do not support linking.
To avoid hardcoded values in the gpr2 code, a new attribute, Disable_Linking,
has been introduced. It defaults to false, so only the targets mentioned above
need to define it.

Depends-On: eng/gpr/gprconfig_kb!87
Issue: eng/gpr/gpr-issues#765

Merge request eng/gpr/gpr!766 from branch 'mr/jicquel/gpr-issues#765' into 'main'
2026-01-22 16:27:08 +00:00