lilypond-auto
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] #5799 Fixes fo


From: Auto mailings of changes to Lily Issues via Testlilyissues-auto
Subject: [Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] #5799 Fixes for cross-compilation to x86_64-w64-mingw32
Date: Sat, 07 Mar 2020 11:26:34 -0000

commit f7df92a65504ff80d58c2f01425fa24e4ce282af
Author:     Jonas Hahnfeld <address@hidden>
AuthorDate: Sat Feb 29 11:14:45 2020 +0100
Commit:     Jonas Hahnfeld <address@hidden>
CommitDate: Sat Mar 7 11:06:40 2020 +0100

    Issue 5799/4: Rename DATADIR to CONFIG_DATADIR

    The header objidl.h from mingw has an enum called DATADIR. This
    conflicts with our definition and results in compilation errors
    because the preprocessor replaces the enum name with the configured
    string. This is apparently dealt with in mingw-compatibility.hh,
    but not in the configure checks. As a result, they return the wrong
    answer which leads to further compilation errors down the road.

commit 49a6e9c2a332afb31f3823649fdc38a325942b22
Author:     Jonas Hahnfeld <address@hidden>
AuthorDate: Wed Feb 26 20:21:02 2020 +0100
Commit:     Jonas Hahnfeld <address@hidden>
CommitDate: Sat Mar 7 11:06:40 2020 +0100

    Issue 5799/3: Use host triple when looking for windres

    --host=host-type
        the type of system on which the package runs. [...]

    The $target variable is meant for compilers. However, it is still needed
    for compatibility with GUB / i686-mingw32.

commit 7197db282cf197e451e55554f1e1ab5f982a9817
Author:     Jonas Hahnfeld <address@hidden>
AuthorDate: Wed Feb 26 19:27:04 2020 +0100
Commit:     Jonas Hahnfeld <address@hidden>
CommitDate: Sat Mar 7 11:06:40 2020 +0100

    Issue 5799/2: Improve cast from pointer to integer

    When cross-compiling to x86_64-w64-mingw32, 'long' (32 bit) is smaller
    than 'void *' (64 bit). This leads to compiler errors because the cast
    truncates. After analysis I think that truncation is actually ok here,
    so make this explicit by first casting to a suitable integer and then
    truncate to long.
    Note that 'suitable integer' is quite a mess: Ideally we would use
    intptr_t, but it's optional per the C++ standard. So instead rely on
    intmax_t and hope that it works.

commit 7cb1141f39e7508418b83038941409c5943b69c9
Author:     Jonas Hahnfeld <address@hidden>
AuthorDate: Sun Mar 1 21:00:51 2020 +0100
Commit:     Jonas Hahnfeld <address@hidden>
CommitDate: Sat Mar 7 11:06:40 2020 +0100

    Issue 5799/1: Include config.hh before cmath

    Recently commit 7396a28bde ("Add enabling extension definitions for
    `-std=c++11` option") added a few #defines to config.hh to make POSIX
    extensions available. Make sure that they are pulled in from config.hh
    before cmath is included.

[issues:#5799] Fixes for cross-compilation to x86_64-w64-mingw32

Status: Fixed
Labels: Fixed_2_21_0
Created: Thu Feb 27, 2020 04:14 PM UTC by Jonas Hahnfeld
Last Updated: Sat Mar 07, 2020 04:05 AM UTC
Owner: Jonas Hahnfeld

Fixes for cross-compilation to x86_64-w64-mingw32

1) Include config.hh before cmath

Recently commit 7396a28bde ("Add enabling extension definitions for
-std=c++11 option") added a few #defines to config.hh to make POSIX
extensions available. Make sure that they are pulled in from config.hh
before cmath is included.

2) Improve cast from pointer to integer

When cross-compiling to x86_64-w64-mingw32, 'long' (32 bit) is smaller
than 'void *' (64 bit). This leads to compiler errors because the cast
truncates. After analysis I think that truncation is actually ok here,
so make this explicit by first casting to a suitable integer and then
truncate to long.
Note that 'suitable integer' is quite a mess: Ideally we would use
intptr_t, but it's optional per the C++ standard. So instead rely on
intmax_t and hope that it works.

3) Use host triple when looking for windres

--host=host-type
the type of system on which the package runs. [...]

The $target variable is meant for compilers. However, it is still needed
for compatibility with GUB / i686-mingw32.

4) Rename DATADIR to CONFIG_DATADIR

The header objidl.h from mingw has an enum called DATADIR. This
conflicts with our definition and results in compilation errors
because the preprocessor replaces the enum name with the configured
string. This is apparently dealt with in mingw-compatibility.hh,
but not in the configure checks. As a result, they return the wrong
answer which leads to further compilation errors down the road.

http://codereview.appspot.com/579340043


Sent from sourceforge.net because address@hidden is subscribed to https://sourceforge.net/p/testlilyissues/issues/

To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/testlilyissues/admin/issues/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.

_______________________________________________
Testlilyissues-auto mailing list
address@hidden
https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto

reply via email to

[Prev in Thread] Current Thread [Next in Thread]