#autoconf

Barry Schwartz πŸ«–chemoelectric@masto.ai
2025-11-19

I have started migrating macros from the Sorts Mill Autoconf Archive to a new archive, with improvements: github.com/chemoelectric/chemo

Mostly the improvements are making the cache variables not have names that start with things like β€˜________ac’.

#GNU #Autoconf #Autotools

xyhhx πŸ”»xyhhx@nso.group
2025-05-05

i gotta say tho, as someone who spent the first ~15 years of my career doing web dev, going through the autotools docs was like exploring a museum. like a relic of the past

this c shit crazy

#autotools #c #automake #autoconf

2025-03-22

It's been a while since I ran a build with #autoconf / #autotools. I had forgotten just how many different little things it checks for.

One of the main things it's checking for is whether certain headers and functions exist. That reminds me: #Rust `cfg` directives really ought to allow a predicate of β€œsuch-and-such function/type/whatever exists”. Then you can, for example, call a libc function that exists only on platforms that have it, with fallback on platforms that don't.

2025-02-04
Just upstreamed small fix to #bitbake in #yocto project.

During my work and life I make different changes/fixes to many #FLOSS systems. But for the last five years I had no enough something (not in the mood? too obsessed with other life issues?) to publish them. Hope, after this small step with yocto I'll continue with it and finally will contribute network-manager-l2tp to #guix, will re-send again my suggestions for #autoconf, share my fixes for obuspa, bash, repo-tool and other things where I made fixes but then just abandon them.
2025-01-28

When building alsa-utils with a custom toolchain + sysroot, I get this error:

libtool: error: cannot find the library '/usr/lib/libasound.la' or unhandled argument '/usr/lib/libasound.la'

However, the file does exist inside of the sysroot, and configure claims to use the sysroot that the compiler specifies.

How do I solve this?

2025-01-09

LibMPU (созданиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²)

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ сдСлали ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ возмоТностСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими числами. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, для автоматичСского задания Ρ„Π»Π°Π³ΠΎΠ² компилятора ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ°, ΠΌΡ‹ рассмотрСли использованиС скрипта mpu-config . Π”Π°Π½Π½Ρ‹ΠΉ скрипт поставляСтся Π²ΠΎ врСмя инсталляции LibMPU ΠΈ позволяСт ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ написаниС Make-Ρ„Π°ΠΉΠ»ΠΎΠ² для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ LibMPU . Однако это Π½Π΅ СдинствСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ составлСния Make-Ρ„Π°ΠΉΠ»ΠΎΠ² с использованиСм Π΄Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ GNU Autotools , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ созданиС слоТных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². ПослС инсталляции LibMPU Π½Π° Π²Π°ΡˆΡƒ GNU/Linux систСму Π² распоряТСнии ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠΎΠΌΠΈΠΌΠΎ самой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ m4-скрипт /usr/share/aclocal/libmpu.m4. Π‘ΠΊΡ€ΠΈΠΏΡ‚ l ibmpu.m4 ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для использования Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, создаваСмых с помошью ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ Autoconf , Automake .

habr.com/ru/articles/872332/

#gnu #autotools #autoconf #Automake #configure #длинная_Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ° #большиС_числа

Alfred M. Szmidtamszmidt
2024-08-21

A wonderful history of early and much later by David MacKenzie -- who wrote many of the core utilities used today on all /#Linux systems, , and lots of other wonderful things.

youtube.com/watch?v=D7vfI-WSP8Q

2024-07-10

#foss enthusiasts… Fancy a #gnu #autoconf #automake and #libtool #book? Swing by Hammersmith area and it’s yours. #macos #bsd #devops #books #development #developers #programming #oss #opensource #unix #linux

Neustradamus :xmpp: :linux:neustradamus
2024-06-23

1.1 has been released (#autotools / ) gitlab.com/esr/autodafe

ΰ€°ΰ€žΰ₯ΰ€œΰ€Ώΰ€€ (Ranjit Mathew)rmathew
2024-06-02
Geoff WinklessGeoff@mastodon.cloud
2024-05-21

Had to try to rescue a #Mikrotik today, connected to a (not-current) x86 Linux. Trying to build #MACTelnet for that system was unnecessarily complex: what's the point in using #autoconf if you insist that everyone must have the latest version of it, especially when nothing about your conf requires that version?

In the end I just had to remove the requirement for 2.71, take out a bunch of calls to htoleXX (easy because it's a le host anyway) and polyfill getrandom(), and it Just Works. πŸ€·β€β™‚οΈ </rant>

2024-05-12

#GCC14 promoted some warnings to errors. This can break #autoconf, #CMake, #Meson or other build environments autoprobing for features, resulting in code built with missing or altered functionality. This could even lead to security impact, if some security related feature is unexpectedly not enabled.

Passing CC as "gcc -fpermissive" should fix this. If this is not an option there's even the nuclear option of adding a gcc wrapper script that does:

#!/bin/sh
exec /usr/bin/gcc -fpermissive "$@"

EDIT: I do not mean to say that these new options should blanket-disabled globally. There however are currently some packages that have problems with GCC 14 (missing features or existing functions not being used, or just failing to build). Naturally these packages should be fixed themselves. Meanwhile -fpermissive will allow building most of these troublesome packages.

2024-04-13

People say #autoconf is incompatible with itself, but I just used autoconf 2.61 (!), an 18 year old(!!!) release, to generate a configure script for my project, for which I usually use autoconf 2.71.

Is the generated configure script identical? Of course not. Does the generated configure script work? Yes, without any buts!

So, if people are worried about shipping generated configure scripts due to what happened to #xz: Just don’t! Require the user to install autoconf and run ./autogen.sh before ./configure. The user doesn’t need to install a specific autoconf version if you write your configure.ac correctly.

Also, as for incompatible with itself: #CMake had several breaking changes in this timespan.

2024-04-11

One of the sad side-effects of the #xz #backdoor is that many projects feel like they need to move away from #autoconf, when the problem wasn’t autoconf itself, but shipping a bunch of .m4 files – and that nobody diffed repo vs tarball (if nobody does that, it doesn’t matter what you do in the repo, e.g. switching build systems).

This is sad because it means cross-compiling stuff will soon no longer be possible, as autoconf is so far the only thing that gets cross-compiling right. CMake is a complete mess, Meson is far from great for cross-compiling and everything else just outright doesn’t support it.

People, clean up your configure.ac, get rid of .m4 and audit repo vs. tarball! That’s less work, much more effective and doesn’t kill cross-compiling!

Also, if you absolutely must blame a piece of software that was used by xz for this: That’ll be #gettext, which was the reason for the insane amount of .m4 files in the first place. gettext is a mess and that is really something we should get rid of.

2024-04-06

"If you don't see the use of it, I certainly won't let you clear it away. Go away and think. Then, when you can come back and tell me that you do see the use of it, I may allow you to destroy it."

en.wikipedia.org/wiki/G._K._Ch

#autoconf

2024-04-02

Regarding the #xz backdoor Jonathan Corbet from lwn.net/ thinks that #autoconf is part of the problem: "Why are we still using ancient build systems that almost nobody understands?"
So do I. I have not been using #sendmail for decades which used to have the same #m4 bullshit.

Zack Weinbergzwol@hackers.town
2024-04-02

It's late enough to be hacker hours, if you're as old as I am. Gonna write down a bunch of rambly thoughts about #xz and #autoconf and capital-F Free Software sustainability and all that jazz. Plan is to edit it into a Proper Blog Postβ„’ tomorrow. Rest of the thread will be unlisted but boosts and responses are encouraged.

Zack Weinbergzwol@hackers.town
2024-04-01

Poll for the #autoconf haters:

You get to send *one* of the implementation languages to the cornfield. Which do you want gone more?

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst