comp.lang.ada
 help / color / mirror / Atom feed
* Specifying an `--RTS` option in a GPR file, for a runtime library
@ 2013-04-14 19:54 Yannick Duchêne (Hibou57)
  2013-04-14 20:07 ` Yannick Duchêne (Hibou57)
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2013-04-14 19:54 UTC (permalink / raw)


Hi people once again,

I'm failing fixing an issue I have with a custom runtime.

First, the context:

   * I created a library project in a `runtime` directory;
   * It contains the directories `runtime/adalib` `runtime/adainclude` and  
`runtime/build`;
   * the library project file holds these attributes:

     for Library_Name use "gnat-4.6";
     for Library_Kind use "static";
     for Source_Dirs use ("runtime/adainclude");
     for Library_Dir use "runtime/adalib";
     for Object_Dir use "runtime/build";
     for Library_Version use "1";

Now I have a test project. I wanted to add an `--RTS` option in the  
Builder package, but the RTS seems to either be ignored (first case) or  
cause the compilation of the test project to fail (second case).

If in the test project file I specify an absolute path like with

     Switches :=
       ("-s",
        "--RTS=/<dir>/runtime");

I get this message from `gprbuild`: “warning: RTS for language ada is  
discarded (full path)”. Well, it compiles the test project, but `ldd`  
shows it does not use the expected runtime.

If in the test project file I specify a relative path like with

     Switches :=
       ("-s",
        "--RTS=runtime");

I get this message from `gprbuild`: “warning: no compiler specified for  
language "Ada", ignoring all its sources” then below “"test" is not a  
source of project "test" gprbuild: problems with main sources”, and the  
compilation fails.

I can't understand what's wrong, according to
http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gnat_ugn_unw/Switches-for-gnatmake.html
it should works as follow:

(documentations says)
> --RTS=rts-path
> Specifies the default location of the runtime library.GNAT looks for the  
> runtime in the following directories,and stops as soon as a valid  
> runtime is found (adaincludeor ada_source_path, and adalib or  
> ada_object_path present):
>
>        <current directory>/$rts_path
>        <default-search-dir>/$rts_path
>        <default-search-dir>/rts-$rts_path

My test project resides in the directory containing the `runtime`  
directory, so the relative path should be OK. Anyway, it does not work  
neither with an absolute path, and the result is surprisingly different.

In your opinion, is this just a search path issue or is it something wrong  
with the runtime library? (which is unmodified so far).


-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Specifying an `--RTS` option in a GPR file, for a runtime library
  2013-04-14 19:54 Specifying an `--RTS` option in a GPR file, for a runtime library Yannick Duchêne (Hibou57)
@ 2013-04-14 20:07 ` Yannick Duchêne (Hibou57)
  2013-04-14 20:36   ` Yannick Duchêne (Hibou57)
  2013-04-15  8:19   ` Brian Drummond
  2013-04-15 13:27 ` Yannick Duchêne (Hibou57)
  2013-04-23  1:26 ` Yannick Duchêne (Hibou57)
  2 siblings, 2 replies; 12+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2013-04-14 20:07 UTC (permalink / raw)


Le Sun, 14 Apr 2013 21:54:20 +0200, Yannick Duchêne (Hibou57)  
<yannick_duchene@yahoo.fr> a écrit:

> […]

I landed to the `-nostdinc` option, described here:
http://gcc.gnu.org/onlinedocs/gnat_ugn_unw/Search-Paths-and-the-Run_002dTime-Library-_0028RTL_0029.html

Using this set‑up variation gives another error:

     Switches :=
       ("-s",
        "-nostdinc",
        "--RTS=/<dir>/runtime");

It still starts with “warning: RTS for language ada is discarded (full  
path)” as before with the absolute path variant, but now `gprbuild` also  
returns this additional message: “raised TYPES.UNRECOVERABLE_ERROR :  
targparm.adb:177”.

This must be a file from the compiler source, as I could not find this in  
the runtime source files.


-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Specifying an `--RTS` option in a GPR file, for a runtime library
  2013-04-14 20:07 ` Yannick Duchêne (Hibou57)
@ 2013-04-14 20:36   ` Yannick Duchêne (Hibou57)
  2013-04-15  8:19   ` Brian Drummond
  1 sibling, 0 replies; 12+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2013-04-14 20:36 UTC (permalink / raw)


Le Sun, 14 Apr 2013 22:07:58 +0200, Yannick Duchêne (Hibou57)  
<yannick_duchene@yahoo.fr> a écrit:
> It still starts with “warning: RTS for language ada is discarded (full  
> path)” as before with the absolute path variant, but now `gprbuild` also  
> returns this additional message: “raised TYPES.UNRECOVERABLE_ERROR :  
> targparm.adb:177”.

More about this error. I fetched GCC 4.6 source files, and here is what's  
in `targparm.adb`, around line 177:

     if Text = null then
        Write_Line ("fatal error, run-time library not installed  
correctly");
        Write_Line ("cannot locate file system.ads");
        raise Unrecoverable_Error;
     end if;

And `Text` is declared as `Text : Source_Buffer_Ptr;`.

So, the runtime library is not installed correctly, but what is not  
correct, remains to be answered. If the exception is raised when a `Text`  
parameter is `null` and that `Text` parameter seems to be related to  
source file, does this means it can't find the source file? But the layout  
of the `runtime` directory looks OK, it contains the `adainclude`  
subdirectory, with a copy of all of the runtime source files.


-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Specifying an `--RTS` option in a GPR file, for a runtime library
  2013-04-14 20:07 ` Yannick Duchêne (Hibou57)
  2013-04-14 20:36   ` Yannick Duchêne (Hibou57)
@ 2013-04-15  8:19   ` Brian Drummond
  2013-04-15 11:22     ` Yannick Duchêne (Hibou57)
  1 sibling, 1 reply; 12+ messages in thread
From: Brian Drummond @ 2013-04-15  8:19 UTC (permalink / raw)


On Sun, 14 Apr 2013 22:07:58 +0200, Yannick Duchêne (Hibou57) wrote:

> Le Sun, 14 Apr 2013 21:54:20 +0200, Yannick Duchêne (Hibou57)
> <yannick_duchene@yahoo.fr> a écrit:

> It still starts with “warning: RTS for language ada is discarded (full
> path)” as before with the absolute path variant, but now `gprbuild` also
> returns this additional message: “raised TYPES.UNRECOVERABLE_ERROR :
> targparm.adb:177”.
> 
> This must be a file from the compiler source, as I could not find this
> in the runtime source files.

This error is "cannot find system.ads" - first make sure your RTS 
directory contains adainclude/system.ads, and then figure out why the --
RTS= option is ignored/wrong/broken.

As of a couple of revisions ago, some tools (FSF tree, gnatclean+?) were 
looking for system.ads in the wrong place (ignoring --RTS) but that 
didn't affect normal builds.

As a crosscheck, have you tried building with gnatmake and a direct 
command line (no gpr), which DOES honour the --RTS= option? This may 
yield some light on what's wrong.

- Brian




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Specifying an `--RTS` option in a GPR file, for a runtime library
  2013-04-15  8:19   ` Brian Drummond
@ 2013-04-15 11:22     ` Yannick Duchêne (Hibou57)
  2013-04-15 22:28       ` Yannick Duchêne (Hibou57)
  2013-04-17 11:43       ` Brian Drummond
  0 siblings, 2 replies; 12+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2013-04-15 11:22 UTC (permalink / raw)


Le Mon, 15 Apr 2013 10:19:32 +0200, Brian Drummond  
<brian@shapes.demon.co.uk> a écrit:

> On Sun, 14 Apr 2013 22:07:58 +0200, Yannick Duchêne (Hibou57) wrote:
>
>> Le Sun, 14 Apr 2013 21:54:20 +0200, Yannick Duchêne (Hibou57)
>> <yannick_duchene@yahoo.fr> a écrit:
>
>> It still starts with “warning: RTS for language ada is discarded (full
>> path)” as before with the absolute path variant, but now `gprbuild` also
>> returns this additional message: “raised TYPES.UNRECOVERABLE_ERROR :
>> targparm.adb:177”.
>>
>> This must be a file from the compiler source, as I could not find this
>> in the runtime source files.
>
> This error is "cannot find system.ads" -

I figured it later, when I get targparm.adb to have a look inside. Just  
above line 177, there is…

     Write_Line ("fatal error, run-time library not installed correctly");
     Write_Line ("cannot locate file system.ads");

…but this was not displayed (I checked it with two different terminal  
emulators). Is this the expected behaviour? That's strange there are two  
`Write_Line` just before the raise statement, and I only get the exception  
message without the “fatal error, run‑time […] cannot locate file  
system.ads” message.

> first make sure your RTS
> directory contains adainclude/system.ads, and then figure out why the --
> RTS= option is ignored/wrong/broken.

It contains `system.ads`, and the `adalib` contains the static library and  
ALI files.

> As of a couple of revisions ago, some tools (FSF tree, gnatclean+?) were
> looking for system.ads in the wrong place (ignoring --RTS) but that
> didn't affect normal builds.
>
> As a crosscheck, have you tried building with gnatmake and a direct
> command line (no gpr), which DOES honour the --RTS= option? This may
> yield some light on what's wrong.

I tried with GNATMake, although it seems to not understand the project  
file (it compiles files, but does not link an executable), I still tried.

   * say `runtime` is in <dir>. If I run GNATMake from <dir> to
     compile a `test.adb` file in <dir> too, seems to be OK
     with the `--RTS=runtime` option.
   * say a directory `source-test` is in <dir> and a `test.gpr`
     is in <dir>, then it's not OK anymore, it says the `--RTS=runtime`
     is not valid and is missing `adainclude` and `adalib`.
   * With the same as above, but with an absolute path given
     for the argument of the RTS options, GNATMake does not
     complain any more.

Trying the second and the third with GPRBuild, it complains in both case  
(with either an absolute or relative path). The only way seems to  
specifically assign `ADA_INCLUDE_PATH` and `ADA_OBJECTS_PATH` environment  
variables, but this can't be done from a GPR file (or is so, I don't know  
how to do).


-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Specifying an `--RTS` option in a GPR file, for a runtime library
  2013-04-14 19:54 Specifying an `--RTS` option in a GPR file, for a runtime library Yannick Duchêne (Hibou57)
  2013-04-14 20:07 ` Yannick Duchêne (Hibou57)
@ 2013-04-15 13:27 ` Yannick Duchêne (Hibou57)
  2013-04-15 13:29   ` Yannick Duchêne (Hibou57)
  2013-04-23  1:26 ` Yannick Duchêne (Hibou57)
  2 siblings, 1 reply; 12+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2013-04-15 13:27 UTC (permalink / raw)


Le Sun, 14 Apr 2013 21:54:20 +0200, Yannick Duchêne (Hibou57)  
<yannick_duchene@yahoo.fr> a écrit:
>
> I can't understand what's wrong, according to
> http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gnat_ugn_unw/Switches-for-gnatmake.html
> it should works as follow:
>
> (documentations says)
>> --RTS=rts-path
>> Specifies the default location of the runtime library.GNAT looks for  
>> the runtime in the following directories,and stops as soon as a valid  
>> runtime is found (adaincludeor ada_source_path, and adalib or  
>> ada_object_path present):
>>
>>        <current directory>/$rts_path
>>        <default-search-dir>/$rts_path
>>        <default-search-dir>/rts-$rts_path

There's something else on the same topic:

http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gnat_ugn_unw/Switches-and-Project-Files.html
(documentation says)
> When using gnatmake with project files, some switches or argumentsmay be  
> expressed as relative paths. As the working directory wherecompilation  
> occurs may change, these relative paths are convertedto absolute paths.  
> For the switches found in a project file, therelative paths are relative  
> to the project file directory, for theswitches on the command line, they  
> are relative to the directorywhere gnatmake is invoked. The switches for  
> which this occurs are:-I, -A, -L, -aO, -aL, -aI, as well as all  
> arguments that are notswitches (arguments to switch -o, object files  
> specified inpackage Linker or after -largs on the command line). The  
> exceptionto this rule is the switch –RTS= for which a relative path  
> argumentis never converted.

So there is finally an exception with the `--RTS` option. But that  
document talks about GNATMake, not GPRBuild. Also, it says nothing about  
the same option in a project file.

(still searching for more material)

-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Specifying an `--RTS` option in a GPR file, for a runtime library
  2013-04-15 13:27 ` Yannick Duchêne (Hibou57)
@ 2013-04-15 13:29   ` Yannick Duchêne (Hibou57)
  0 siblings, 0 replies; 12+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2013-04-15 13:29 UTC (permalink / raw)


Le Mon, 15 Apr 2013 15:27:00 +0200, Yannick Duchêne (Hibou57)  
<yannick_duchene@yahoo.fr> a écrit:
> Also, it says nothing about the same option in a project file.

Please, don't read the last sentence :D , I typed too fast (the mention of  
the exception still remains).


-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Specifying an `--RTS` option in a GPR file, for a runtime library
  2013-04-15 11:22     ` Yannick Duchêne (Hibou57)
@ 2013-04-15 22:28       ` Yannick Duchêne (Hibou57)
  2013-04-17 11:43       ` Brian Drummond
  1 sibling, 0 replies; 12+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2013-04-15 22:28 UTC (permalink / raw)


Here is something to check, which may explain why GNATMake and GPRBuild  
behave so differently.

http://docs.adacore.com/gprbuild-docs/html/gprbuild_ug.html
In section “1.5.2 Using Library Projects”
(documentation says)
> All ALI files will also be copied from the objectdirectory to the  
> library directory. To build executables,gnatmake will use the library  
> rather than the individualobject files.

That's about use of library projects, but a runtime is a kind of library  
after‑all.


Le Mon, 15 Apr 2013 13:22:27 +0200, Yannick Duchêne (Hibou57)  
<yannick_duchene@yahoo.fr> a écrit:

> I tried with GNATMake, although it seems to not understand the project  
> file (it compiles files, but does not link an executable), I still tried.
>
>    * say `runtime` is in <dir>. If I run GNATMake from <dir> to
>      compile a `test.adb` file in <dir> too, seems to be OK
>      with the `--RTS=runtime` option.
>    * say a directory `source-test` is in <dir> and a `test.gpr`
>      is in <dir>, then it's not OK anymore, it says the `--RTS=runtime`
>      is not valid and is missing `adainclude` and `adalib`.
>    * With the same as above, but with an absolute path given
>      for the argument of the RTS options, GNATMake does not
>      complain any more.
>
> Trying the second and the third with GPRBuild, it complains in both case  
> (with either an absolute or relative path). The only way seems to  
> specifically assign `ADA_INCLUDE_PATH` and `ADA_OBJECTS_PATH`  
> environment variables, but this can't be done from a GPR file (or is so,  
> I don't know how to do).



-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Specifying an `--RTS` option in a GPR file, for a runtime library
  2013-04-15 11:22     ` Yannick Duchêne (Hibou57)
  2013-04-15 22:28       ` Yannick Duchêne (Hibou57)
@ 2013-04-17 11:43       ` Brian Drummond
  2013-04-18 22:10         ` Yannick Duchêne (Hibou57)
  1 sibling, 1 reply; 12+ messages in thread
From: Brian Drummond @ 2013-04-17 11:43 UTC (permalink / raw)


On Mon, 15 Apr 2013 13:22:27 +0200, Yannick Duchêne (Hibou57) wrote:

> Le Mon, 15 Apr 2013 10:19:32 +0200, Brian Drummond
> <brian@shapes.demon.co.uk> a écrit:

>> This error is "cannot find system.ads" -
>      Write_Line ("fatal error, run-time library not installed);
>      Write_Line ("cannot locate file system.ads");
> …but this was not displayed (I checked it with two different terminal
> emulators). Is this the expected behaviour? 

Not to me ... unless GPRbuild suppresses some of the raw tool output. 
Does it have more verbose options? 
I haven't got to grips with it yet.

> I tried with GNATMake, although it seems to not understand the project
> file (it compiles files, but does not link an executable), I still
> tried.
> 
>    * say `runtime` is in <dir>. If I run GNATMake from <dir> to
>      compile a `test.adb` file in <dir> too, seems to be OK with the
>      `--RTS=runtime` option.

So Gnatmake accepts "." as a starting point for the RTS= option, and an 
absolute path.

The other valid root for RTS= options is in the compiler installation 
"lib" directory. I don't know exactly where that would be in your 
installation, but by analogy with a couple of mine :

if the path to my compiler (msp430-gnatmake) is /usr/local/msp430/bin
the root path for RTS= search is
/usr/local/msp430/lib/gcc/msp430/4.7.2/
so that "RTS=rts/msp430f2xx" translates to
/usr/local/msp430/lib/gcc/msp430/4.7.2/rts/msp430f2xx
and the compiler expects to find
/usr/local/msp430/lib/gcc/msp430/4.7.2/rts/msp430f2xx/adainclude/
system.ads

Similarly my AVR-Ada compiler installed in
/opt/avr_472_gnat/bin
expects to see the RTS root path in
/opt/avr_472_gnat/lib/gcc/avr/4.7.2/
so that "RTS=rts/avr5" looks in 
/opt/avr_472_gnat/lib/gcc/avr/4.7.2/rts/avr5

I can only guess that GPRbuild looks here for the RTS and is more 
restricted in its other possibilities.

- Brian



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Specifying an `--RTS` option in a GPR file, for a runtime library
  2013-04-17 11:43       ` Brian Drummond
@ 2013-04-18 22:10         ` Yannick Duchêne (Hibou57)
  0 siblings, 0 replies; 12+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2013-04-18 22:10 UTC (permalink / raw)


Le Wed, 17 Apr 2013 13:43:46 +0200, Brian Drummond  
<brian@shapes.demon.co.uk> a écrit:
> So Gnatmake accepts "." as a starting point for the RTS= option, and an
> absolute path.

I may have said an error about GNATMake (will be back on that a later day).

> The other valid root for RTS= options is in the compiler installation
> "lib" directory. I don't know exactly where that would be in your
> installation, but by analogy with a couple of mine :
>
> if the path to my compiler (msp430-gnatmake) is /usr/local/msp430/bin
> the root path for RTS= search is
> /usr/local/msp430/lib/gcc/msp430/4.7.2/
> so that "RTS=rts/msp430f2xx" translates to
> /usr/local/msp430/lib/gcc/msp430/4.7.2/rts/msp430f2xx
> and the compiler expects to find
> /usr/local/msp430/lib/gcc/msp430/4.7.2/rts/msp430f2xx/adainclude/
> system.ads
>
> Similarly my AVR-Ada compiler installed in
> /opt/avr_472_gnat/bin
> expects to see the RTS root path in
> /opt/avr_472_gnat/lib/gcc/avr/4.7.2/
> so that "RTS=rts/avr5" looks in
> /opt/avr_472_gnat/lib/gcc/avr/4.7.2/rts/avr5
>
> I can only guess that GPRbuild looks here for the RTS and is more
> restricted in its other possibilities.

You right and what you describe match what I've just read in  
`<prefix>/share/gprconfig/compilers.xml`, lines 332 .. 334, which shows  
GPRBuild defaults to paths with precise patterns, relatives to the GNAT  
compiler location GPRConfig found:

     \.\./lib/gcc/$TARGET/$gcc_version/adalib/
     \.\./lib/gcc/$TARGET/$gcc_version/ada_source_path
     \.\./lib/gcc/$TARGET/$gcc_version/rts-(.*)/adalib/

That's the place where it's specified.


-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Specifying an `--RTS` option in a GPR file, for a runtime library
  2013-04-14 19:54 Specifying an `--RTS` option in a GPR file, for a runtime library Yannick Duchêne (Hibou57)
  2013-04-14 20:07 ` Yannick Duchêne (Hibou57)
  2013-04-15 13:27 ` Yannick Duchêne (Hibou57)
@ 2013-04-23  1:26 ` Yannick Duchêne (Hibou57)
  2013-04-23 17:22   ` Yannick Duchêne (Hibou57)
  2 siblings, 1 reply; 12+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2013-04-23  1:26 UTC (permalink / raw)


Le Sun, 14 Apr 2013 21:54:20 +0200, Yannick Duchêne (Hibou57)  
<yannick_duchene@yahoo.fr> a écrit:

> If in the test project file I specify an absolute path like with
>
>      Switches :=
>        ("-s",
>         "--RTS=/<dir>/runtime");
>
> I get this message from `gprbuild`: “warning: RTS for language ada is  
> discarded (full path)”. Well, it compiles the test project, but `ldd`  
> shows it does not use the expected runtime.

The runtime was wrong, and was discarded fro this reason, but GPRBuild did  
not say it clearly, and instead, made a misleading reference to a full  
path, although using a full path was not the reason.

> If in the test project file I specify a relative path like with
>
>      Switches :=
>        ("-s",
>         "--RTS=runtime");
>
> I get this message from `gprbuild`: “warning: no compiler specified for  
> language "Ada", ignoring all its sources” then below “"test" is not a  
> source of project "test" gprbuild: problems with main sources”, and the  
> compilation fails.

That was because I messed up somethings: the target for this runtime  
source was not the same as the target of the compiler used, and GPRBuild  
did not found a compiler for the target, thus the “no compiler specified  
for language Ada”.

> I can't understand what's wrong, according to
> http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gnat_ugn_unw/Switches-for-gnatmake.html
> it should works as follow:
>
> (documentations says)
>> --RTS=rts-path
>> Specifies the default location of the runtime library.GNAT looks for  
>> the runtime in the following directories,and stops as soon as a valid  
>> runtime is found (adaincludeor ada_source_path, and adalib or  
>> ada_object_path present):
>>
>>        <current directory>/$rts_path
>>        <default-search-dir>/$rts_path
>>        <default-search-dir>/rts-$rts_path
>

The path is either absolute or relative to the build directory. The  
erroneously named “current directory” is not the one from which GPRBuild  
is invoked nor the directory containing the project file, that's the one  
to which GPRBuild switches, which is the build directory specified in the  
project file (the documentation is not very clear with this).

Last but not least, the `--RTS=…` option, has to be given in the Binder  
package, not the Builder package.


-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Specifying an `--RTS` option in a GPR file, for a runtime library
  2013-04-23  1:26 ` Yannick Duchêne (Hibou57)
@ 2013-04-23 17:22   ` Yannick Duchêne (Hibou57)
  0 siblings, 0 replies; 12+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2013-04-23 17:22 UTC (permalink / raw)


Le Tue, 23 Apr 2013 03:26:58 +0200, Yannick Duchêne (Hibou57)  
<yannick_duchene@yahoo.fr> a écrit:
> Last but not least, the `--RTS=…` option, has to be given in the Binder  
> package, not the Builder package.

And to the Compiler package too, and so, for both the runtime project and  
the projects using this runtime. If you forgot it (like I did) and only  
give `--RTS` to the Binder, you will face strange behaviours: runtime  
seeming always out of date, hard to track use of some of the default  
runtime sources files in your custom runtime, or addition/removal of the  
`-nostdinc` making the compilation either fails or succeed (if it fails  
with `-nostdinc`, this clearly indicates your forget to give `--RTS` to  
the Compiler).

-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2013-04-23 17:22 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-14 19:54 Specifying an `--RTS` option in a GPR file, for a runtime library Yannick Duchêne (Hibou57)
2013-04-14 20:07 ` Yannick Duchêne (Hibou57)
2013-04-14 20:36   ` Yannick Duchêne (Hibou57)
2013-04-15  8:19   ` Brian Drummond
2013-04-15 11:22     ` Yannick Duchêne (Hibou57)
2013-04-15 22:28       ` Yannick Duchêne (Hibou57)
2013-04-17 11:43       ` Brian Drummond
2013-04-18 22:10         ` Yannick Duchêne (Hibou57)
2013-04-15 13:27 ` Yannick Duchêne (Hibou57)
2013-04-15 13:29   ` Yannick Duchêne (Hibou57)
2013-04-23  1:26 ` Yannick Duchêne (Hibou57)
2013-04-23 17:22   ` Yannick Duchêne (Hibou57)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox