Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make 4.3 fix #493

Merged
merged 2 commits into from
Feb 5, 2020
Merged

Make 4.3 fix #493

merged 2 commits into from
Feb 5, 2020

Conversation

belegdol
Copy link
Contributor

@belegdol belegdol commented Feb 4, 2020

As of make-4.3 vairables no longer start with space when += is user to prepend an empty variable [1]:

Previously appending using '+=' to an empty variable would result in a value starting with a space. Now the initial space is only added if the variable already contains some value. Similarly, appending an empty string does not add a trailing space.

This was causing issues when building mame [2].
[1] https://lwn.net/Articles/810071/
[2] mamedev/mame#6248

@bkaradzic
Copy link
Owner

And everything continues to work with prior versions of make?

@belegdol
Copy link
Contributor Author

belegdol commented Feb 4, 2020

I tested mame rebuild with make-4.2.1 (windows, bash shell) and make-4.1 (windows, cmd shell) and make-4.2.1 (fedora, bash shell). I did not see any problems.

@bkaradzic bkaradzic merged commit 9cca005 into bkaradzic:master Feb 5, 2020
@belegdol belegdol deleted the make-4.3-fix branch February 5, 2020 17:30
AluisioASG added a commit to AluisioASG/mame2016-libretro that referenced this pull request Oct 28, 2020
Apply the upstream fix from bkaradzic/GENie#493,
which was verified to work with previous Make releases as well.
AluisioASG added a commit to AluisioASG/nixpkgs that referenced this pull request Oct 28, 2020
Builds currently fail with `ar` trying to operate on what are clearly
two paths concatenated together.  It stems from a backward-incompatible
change in Make:

> Previously appending using '+=' to an empty variable would result in
> a value starting with a space.  Now the initial space is only added
> if the variable already contains some value.  Similarly, appending an
> empty string does not add a trailing space.

This issue was first reported on the MAME repository proper
(mamedev/mame#6248), and affects libretro's
2016 snapshot as well.  A fix that is reported to work with previous
versions of Make was upstreamed to:
- GENie, the build system: bkaradzic/GENie#493
- MAME: mamedev/mame#6262
- libretro: libretro/mame2016-libretro#47

The fetched patch comes from the last of these.
AluisioASG added a commit to AluisioASG/nixpkgs that referenced this pull request Oct 30, 2020
Builds currently fail with `ar` trying to operate on what are clearly
two paths concatenated together.  It stems from a backward-incompatible
change in Make:

> Previously appending using '+=' to an empty variable would result in
> a value starting with a space.  Now the initial space is only added
> if the variable already contains some value.  Similarly, appending an
> empty string does not add a trailing space.

This issue was first reported on the MAME repository proper
(mamedev/mame#6248), and affects libretro's
2016 snapshot as well.  A fix that is reported to work with previous
versions of Make was upstreamed to:
- GENie, the build system: bkaradzic/GENie#493
- MAME: mamedev/mame#6262
- libretro: libretro/mame2016-libretro#47

The fetched patch comes from the last of these.

(cherry picked from commit 8880179)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants