Mail Archives: djgpp/2011/07/26/07:02:35
On 07/26/2011 12:48 PM, Ozkan Sezer wrote:
> On Tue, Jul 26, 2011 at 12:38 PM, Andris Pavenis<andris DOT pavenis AT iki DOT fi> wrote:
>> On 07/26/2011 12:33 PM, Ozkan Sezer wrote:
>>> On Tue, Jul 26, 2011 at 8:51 AM, Ozkan Sezer<sezeroz AT gmail DOT com> wrote:
>>>> On Tue, Jul 26, 2011 at 8:36 AM, Andris Pavenis<andris DOT pavenis AT iki DOT fi>
>>>> wrote:
>>>>> On 07/26/2011 01:02 AM, Ozkan Sezer wrote:
>>>>>> I use __DJGPP_MINOR__ to understand whether I have djgpp>=2.04 or not.
>>>>>> In more recent versions of gcc, specifically starting with gcc>=4.3.0,
>>>>>> DJGPP_MINOR is no longer defined and djgpp.ver is no longer generated.
>>>>>> Is there a specific reason? (If this is a well known thing, sorry.)
>>>>> You have to include sys/version.h or some other header which includes it
>>>>> to get DJGPP_MINOR
>>>>>
>>>> I know that. However, gcc-3.x and gcc<= 4.2.x already did that by
>>>> itself and defined the macro, which is no longer the case with gcc>=
>>>> 4.3.x
>>>>
>>> Specifically, the t-djgpp change, i.e.:
>>>
>>> --- t-djgpp~1 2005-05-28 12:36:36.000000000 +0000
>>> +++ t-djgpp 2005-05-28 18:58:38.000000000 +0000
>>> @@ -1,2 +1,10 @@
>>> # Location of DJGPP's header directory.
>>> NATIVE_SYSTEM_HEADER_DIR=$(DJDIR)/include
>>> +
>>> +# We should have djgpp.ver before we can compile anything
>>> +EXTRA_PARTS += djgpp.ver
>>> +# djgpp.ver is needed for compilation, so we need it also here
>>> +EXTRA_PASSES += djgpp.ver
>>> +
>>> +djgpp.ver:
>>> + echo '#include<sys/version.h>'>djgpp.ver
>>>
>>> ... is no longer being done. And the old djgpp.h change of:
>>>
>>> #define CPP_SPEC "-remap %{posix:-D_POSIX_SOURCE} \
>>> - -imacros %s../include/sys/version.h"
>>> + %{!nostdinc:-imacros %sdjgpp.ver}"
>>>
>>> ... just turned into this:
>>>
>>> -#define CPP_SPEC "-remap %{posix:-D_POSIX_SOURCE} \
>>> - -imacros %s../include/sys/version.h"
>>> +#define CPP_SPEC "-remap %{posix:-D_POSIX_SOURCE}"
>>>
>>> ... eliminating the djgpp.ver mechanism.
>>>
>>> Any specific reasons?
>>>
>> Now I remember why I removed it:
>>
>> including sys/version.h this way did not work properly in GCC
>> build process any more (in some cases it was not found at
>> all)
> Hmm, IIRC, sys/version.h is a djgpp>= 2.02 thing. Would that
> be the reason? If that is the case, a configury trick maybe???
>
No. In some conditions xgcc.exe did not find djgpp.ver while
bootstrapping gcc and as result I got build error.
I have not tried with newer versions any more though.
Also versions before 2.03 are not expected to be used with new
GCC versions.
- Raw text -