Might work, will mess with it over the weekend.
Issue with clang/llvm 16 and autoconf 2.13
Moderators: trava90, athenian200
-
- Project Contributor
- Posts: 497
- Joined: 2020-02-21, 17:35
-
- Project Contributor
- Posts: 497
- Joined: 2020-02-21, 17:35
Re: Issue with clang/llvm 16 and autoconf 2.13
So... I was trying to figure out the best way to do this, so I tried to find out if there were more examples of hotfixes in the current mozilla repository.
Turns out, they basically forked autoconf 2.13 and include it in their tree now.
https://github.com/mozilla/gecko-dev/co ... 39c3c36d33
Would it make sense to follow suit and just import only the required parts of autoconf into our tree like they did?
Turns out, they basically forked autoconf 2.13 and include it in their tree now.
https://github.com/mozilla/gecko-dev/co ... 39c3c36d33
Would it make sense to follow suit and just import only the required parts of autoconf into our tree like they did?
-
- Pale Moon guru
- Posts: 37633
- Joined: 2011-08-28, 17:27
- Location: Motala, SE
Re: Issue with clang/llvm 16 and autoconf 2.13
Yes.
"A dead end street is a place to turn around and go into a new direction" - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
-
- Project Contributor
- Posts: 497
- Joined: 2020-02-21, 17:35
Re: Issue with clang/llvm 16 and autoconf 2.13
Issue created, I should have code to test sometime this week: https://repo.palemoon.org/MoonchildProd ... ssues/2512
-
- Pale Moon guru
- Posts: 37633
- Joined: 2011-08-28, 17:27
- Location: Motala, SE
Re: Issue with clang/llvm 16 and autoconf 2.13
Thanks, it's appreciated. While forcing a no-error on it will obviously work in the meantime, I'm sure they will eventually just remove that option since they're making a point to suddenly trip over it after 25+ years.
"A dead end street is a place to turn around and go into a new direction" - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
-
- Contributing developer
- Posts: 1612
- Joined: 2018-10-28, 19:56
- Location: Georgia
Re: Issue with clang/llvm 16 and autoconf 2.13
That's actually what I was afraid we were going to have to do, but I was thinking it was going to be more of a nightmare than it was. I assumed autoconf was written in C and that it would have to be built in order to be used. But if all we are talking about is bringing in more m4 modules, we already have m4 as a build dependency and have dozens of m4 modules in-tree already...dbsoft wrote: ↑2024-05-06, 06:59Turns out, they basically forked autoconf 2.13 and include it in their tree now.
https://github.com/mozilla/gecko-dev/co ... 39c3c36d33
Would it make sense to follow suit and just import only the required parts of autoconf into our tree like they did?
So forking autoconf basically just means we have the m4 modules we've been using for years in our own tree, and it's that simple? In that case it sounds like a no-brainer... thanks for looking into it, I've been studying for final exams the last two weeks and haven't had much time to do anything UXP related.
Just be aware, I have a trick somewhere in the build system where I use a TOOLCHAIN_PREFIX to have the build system look for gm4 instead of m4, because Solaris m4 doesn't support the required functionality and it needs to use the GNU version... so I will have to test this out. The hidden dependency on m4 was a major pain point when porting to Solaris/illumos initially because it resulted in inexplicable failures of most autoconf stuff that wasn't being done through moz.configure.
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind
-
- Project Contributor
- Posts: 497
- Joined: 2020-02-21, 17:35
Re: Issue with clang/llvm 16 and autoconf 2.13
Yeah already handled that, but thanks! Had the same problem on FreeBSD, not sure if the m4 on FreeBSD would actually work, but it checks the version and fails that check.athenian200 wrote: ↑2024-05-07, 07:04Just be aware, I have a trick somewhere in the build system where I use a TOOLCHAIN_PREFIX to have the build system look for gm4 instead of m4, because Solaris m4 doesn't support the required functionality and it needs to use the GNU version... so I will have to test this out. The hidden dependency on m4 was a major pain point when porting to Solaris/illumos initially because it resulted in inexplicable failures of most autoconf stuff that wasn't being done through moz.configure.
https://repo.palemoon.org/dbsoft/UXP/co ... e54396f025
-
- Contributing developer
- Posts: 1612
- Joined: 2018-10-28, 19:56
- Location: Georgia
Re: Issue with clang/llvm 16 and autoconf 2.13
https://repo.palemoon.org/MoonchildProd ... 3ae9233c9a
Yeah, I did just see your commit. I was worried it might conflict with what I did here, but since the old-configure.in script is just using m4 blindly without pulling in a variable to check which version it should be using, it should work fine for now. I was worried it might make it something like "ggm4," but it looks like it should be able to wait until I can set it up to use the M4 environment variable instead of just using the m4 command with a TOOLCHAIN_PREFIX.
What you've done is probably how I should have done it in the first place, but I wasn't very knowledgeable about autoconf at the time or how it checked for programs.
Anyway, this is shaping up to be a good move overall... because now the dependency on m4 is made explicit.
Yeah, I did just see your commit. I was worried it might conflict with what I did here, but since the old-configure.in script is just using m4 blindly without pulling in a variable to check which version it should be using, it should work fine for now. I was worried it might make it something like "ggm4," but it looks like it should be able to wait until I can set it up to use the M4 environment variable instead of just using the m4 command with a TOOLCHAIN_PREFIX.
What you've done is probably how I should have done it in the first place, but I wasn't very knowledgeable about autoconf at the time or how it checked for programs.
Anyway, this is shaping up to be a good move overall... because now the dependency on m4 is made explicit.
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind
-
- Project Contributor
- Posts: 497
- Joined: 2020-02-21, 17:35
Re: Issue with clang/llvm 16 and autoconf 2.13
Along the same lines would it make sense to port this bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1717088
I remember having issues getting Epyrus building on Windows due to these missing headers?
I remember having issues getting Epyrus building on Windows due to these missing headers?