Issue with clang/llvm 16 and autoconf 2.13

Discussions about the development and maturation of the platform code (UXP).
Warning: may contain highly-technical topics.

Moderators: trava90, athenian200

dbsoft
Project Contributor
Project Contributor
Posts: 497
Joined: 2020-02-21, 17:35

Re: Issue with clang/llvm 16 and autoconf 2.13

Unread post by dbsoft » 2024-05-03, 20:46

vannilla wrote:
2024-05-03, 18:55
Untested, but maybe this:
Might work, will mess with it over the weekend.

dbsoft
Project Contributor
Project Contributor
Posts: 497
Joined: 2020-02-21, 17:35

Re: Issue with clang/llvm 16 and autoconf 2.13

Unread post by dbsoft » 2024-05-06, 06:59

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?

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 37633
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: Issue with clang/llvm 16 and autoconf 2.13

Unread post by Moonchild » 2024-05-06, 09:32

dbsoft wrote:
2024-05-06, 06:59
Would it make sense to follow suit and just import only the required parts of autoconf into our tree like they did?
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

dbsoft
Project Contributor
Project Contributor
Posts: 497
Joined: 2020-02-21, 17:35

Re: Issue with clang/llvm 16 and autoconf 2.13

Unread post by dbsoft » 2024-05-06, 22:11

Issue created, I should have code to test sometime this week: https://repo.palemoon.org/MoonchildProd ... ssues/2512

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 37633
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: Issue with clang/llvm 16 and autoconf 2.13

Unread post by Moonchild » 2024-05-06, 22:15

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

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1612
Joined: 2018-10-28, 19:56
Location: Georgia

Re: Issue with clang/llvm 16 and autoconf 2.13

Unread post by athenian200 » 2024-05-07, 07:04

dbsoft wrote:
2024-05-06, 06:59
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?
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...

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

dbsoft
Project Contributor
Project Contributor
Posts: 497
Joined: 2020-02-21, 17:35

Re: Issue with clang/llvm 16 and autoconf 2.13

Unread post by dbsoft » 2024-05-07, 08:04

athenian200 wrote:
2024-05-07, 07:04
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.
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.

https://repo.palemoon.org/dbsoft/UXP/co ... e54396f025

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1612
Joined: 2018-10-28, 19:56
Location: Georgia

Re: Issue with clang/llvm 16 and autoconf 2.13

Unread post by athenian200 » 2024-05-07, 16:59

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.
"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

dbsoft
Project Contributor
Project Contributor
Posts: 497
Joined: 2020-02-21, 17:35

Re: Issue with clang/llvm 16 and autoconf 2.13

Unread post by dbsoft » 2024-05-16, 17:53

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?