Rosen Penev [Sun, 25 May 2025 01:20:09 +0000 (18:20 -0700)]
ath79: db120: use led-sources for ath9k
The ath9k driver creates an ath9k LED by default. Instead of having a
non functional LED, configure it properly and remove the extra as it's
not needed.
Zhenfu Shi [Wed, 20 Aug 2025 04:00:26 +0000 (14:00 +1000)]
mediatek: filogic: support WAVLINK WL-WN586X3 Rev B
This commit adds support for the WAVLINK WL-WN586X3 Rev B, which swaps
the 16MB NOR flash for an 128MB NAND flash chip, and uses UBI for
data partition. This commit utilizes the previous submitted dtsi that
includes common hardware for a few Wavlink routers.
Hardware
--------
- SOC: MediaTek MT7981B
- RAM: 256MB DDR3
- Flash: 128MB SPI-NAND (ESMT F50L1G41LB)
- Ethernet: 2x1Gb Lan 1x1Gb Wan
- WiFi: MediaTek MT7981B 2x2 DBDC 802.11ax 2T2R (2.4/5) with 4 external and 1 internal antennae
- LEDs: 2xLan 1x Wan 1x WIFI 1xSTATUS
Installation
------------
Flashing over the vendor WebUI has been tested and unsuccessful (YMMV).
The image need to be flashed via TFTP which can be activated over the onboard UART serial console:
1. Connect UART: TX->board RX, RX->board TX, GND->board GND.
2. Connect PC to router lan port.
3. Setup the tftp server on PC, set IP to 192.168.10.100.
4. Power on the device. Interrupt boot countdown at uboot boot menu and select 2. Upgrade firmware option.
5. Input the image name and start flashing.
Axel Sepulveda [Wed, 19 Feb 2025 17:19:03 +0000 (18:19 +0100)]
ramips: CREALITY BOX WB01
CREALITY BOX WB01 is small footprint router based on MediaTek MT7688,
is a device intended to interface Creality brand 3D printers to a cloud service.
Specifications:
- SoC: MediaTek MT7688AN @ 580MHz
- RAM: DDR2 128M (Winbond W971GG6SB-25)
- Flash: BoyaMicro BY25Q128AS (16 MiB, SPI NOR) handled by BoHong bh25q128as driver
- WiFi: 2.4GHz 1T1R internal panel antenna
- Ethernet: 1x LAN (10/100)
- USB: 2x USB2.0 port (Genesys Logic GL850G 2 port USB 2.0 hub)
- UART: 3.3V, TX, RX, GND / 56700 8N1 / only pads on PCB
- microSD SD-XC Class 10 slot
- micro USB input (for power only)
- reset button
- FCC ID: 2AXH6CREALITY-BOX
MAC addresses as verified by OEM firmware:
vendor OpenWrt source
LAN eth0 factory 0x2e
2.4GHz phy0-ap0 factory 0x04 (label)
LEDs
color vendor OpenWRT configurable
red SD card activity - yes
green Cloud connectivity status yes
blue LAN activity eth0 yes
yellow WIFI activity phy0tpt yes
Return to OEM & debrick
- download "cxsw_update.tar.bz2" from manufacturer site
- extract archive to FAT32 USB stick root
- put USB stick in USB2 port
- press & hold reset button
- power on device while holding reset
- wait approx 10 sec
- release reset button
Installation with SD Card
- power on device
- wait for device to finish starting
- copy "openwrt-ramips-mt76x8-creality_wb-01-squashfs-cxsw_update.tar.bz2"
to root of FAT32 SD card
- rename openwrt-ramips-mt76x8-creality_wb-01-squashfs-cxsw_update.tar.bz2
to "cxsw_update.tar.bz2"
- put SD card in device
- device will install OpenWRT on internal flash
Installation via telnet:
- extract the "factory.bin" and "install.sh" from newly created
openwrt-ramips-mt76x8-creality_wb-01-squashfs-cxsw_update.tar.bz2
to FAT32 USB stick root
- telnet to 10.10.10.254, user: root, password: cxswprin
- plug the USB in USB1 port
- cd /media/usbdisk/
- sh install.sh
- device will write "factory.bin" to internal flash
Co-authored-by: George Brooke <figgyc@figgyc.uk> Co-authored-by: Peca Nesovanovic <peca.nesovanovic@sattrakt.com> Co-authored-by: shivajiva101 <github.com/shivajiva101> Co-authored-by: Axel Sepulveda <ansepulveda@uc.cl> Signed-off-by: Axel Sepulveda <ansepulveda@uc.cl> Link: https://github.com/openwrt/openwrt/pull/19686 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Shiji Yang [Sun, 10 Aug 2025 12:16:21 +0000 (20:16 +0800)]
uboot-mediatek: adjust the reserved memory regions
* Increase mt7986 ATF reserved memory to 256 kiB to follow the linux
kernel and Trusted Firmware-A changes.
* Remove unnecessary reserved memory region for the WiFi hardware. The
u-boot can not drive the WiFi hardware. Hence we don't need to keep
this memory region.
Shiji Yang [Fri, 8 Aug 2025 13:05:10 +0000 (21:05 +0800)]
mediatek: dts: convert pinctrl bias to the Linux generic style
There are two types properties here that can control the pin bias
resistors. "mediatek,pull-{up,down}-adv" and "bias-pull-{up,down}"
actually do the same thing[1]. The first type is customized by the
Mediatek and the second type is widely used in the Linux pinctrl
framework. To avoid confusing developers, unify pinctrl bias to the
new Linux generic style.
Shiji Yang [Fri, 8 Aug 2025 12:53:58 +0000 (20:53 +0800)]
mediatek: dts: fix the broken memory node
Add the missing "device_type" property to fix the memory node. The
Linux kernel can not get the memory size without it. Though u-boot
can automatically fixup the memory node by adding the "device_type"
and "reg" properties if the CONFIG_ARCH_FIXUP_FDT_MEMORY symbol is
enabled, it's better not to rely on this optional feature. This
patch also adds the reg address for the memory node name to follow
the naming rules.
Felix Fietkau [Sun, 24 Aug 2025 05:18:43 +0000 (07:18 +0200)]
udebug: update to Git HEAD (2025-08-24)
6e4ffe2c6657 ucode: add function for getting the number of entries in a snapshot a62edd89255b ucode: add support for fetching kernel tracepoint events edeb4d6dc690 udebug-cli: add support for streaming tracing data
Shiji Yang [Fri, 6 Jun 2025 12:32:26 +0000 (20:32 +0800)]
ath10k-ct-firmware: update wave2 chip firmware to latest beta version
Release Notes:
* Support enabling/disabling rts/cts. Not sure if this really works as
hoped though.
* Improved compiler options to build smaller sized binaries.
* Sept 15, 2022: Fix per-peer txpower to not over-ride tpc when value
is 0 (ie, not set yet). This in turn fixes TPC over-ride through the
txo path.
* April 4, 2023: Fix uninitialized minccapwr threshold variables,
reported by Sebastian.
Candela Technologies has already used this beta firmware in their
commercial product "LANforge". And the -ct firmware homepage states
that "This is code is not being changed much, and should be considered
for stable use now." On QCA9888 and IPQ4019, I didn't catch any speed
or stability issues compared to the previous version. Therefore, I
think it is worth updating this beta version.
Shiji Yang [Fri, 6 Jun 2025 12:32:26 +0000 (20:32 +0800)]
ath10k-ct-firmware: update qca988X firmware to latest beta version
Release Notes:
* Attempt to fix crash in scanning logic by making probe_timer
ignore re-arm.
Candela Technologies has already used this beta firmware in their
commercial product "LANforge". On QCA9882, I didn't catch any speed
or stability issues compared to the previous version. Therefore, I
think it is worth updating this beta version.
Issam Hamdi [Fri, 28 Mar 2025 09:39:44 +0000 (10:39 +0100)]
realtek: rtl93xx: fix incorrect destination port selection
When testing LLDP and STP, we observed that locally generated multicast
packets (e.g. LLDP, STP) were not restricted to the designated output
port(s). For example, when transmitting on `lan1`, the same packet was also
forwarded to other ports such as `lan2`.
Steps to reproduce:
1. Configure lldpd to use `lan1` in UCI and restart the service
2. Connect devices to `lan1` and `lan2`
3. Observe that the device on `lan2` still receives LLDP packets
The issue was caused by an incorrect `FWD_TYPE` setting in the TX CPU TAG,
which failed to enforce the selected egress port(s).
Fix this by updating the TX CPU TAG to set `FWD_TYPE` correctly, ensuring
that locally generated packets are transmitted only on the intended
port(s).
1. Configure TFTP server with IP 192.168.1.66. Copy `openwrt-mediatek-filogic-acer_predator-w6x-initramfs-kernel.bin` to TFTP root and rename to `predator.bin`
2. Interrupt boot by pressing 0 on startup or select `U-Boot Console` in U-Boot Boot Menu.
3. Run setenv `serverip 192.168.1.66; setenv ipaddr 192.168.1.1; tftpboot 0x46000000 predator.bin; fdt addr $(fdtcontroladdr); fdt rm /signature; bootm` in uboot console.
4. Wait for boot complete on Openwrt initramfs env.
** You can back up the MTD partitions at this point. Refer to Backup Instructions section.
5. On client PC, transfer `openwrt-mediatek-filogic-acer_predator-w6x-squashfs-sysupgrade.bin` to /tmp/ - `scp -O openwrt-mediatek-filogic-acer_predator-w6x-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/sysupgrade.bin`
6. On router, run sysupgrade - `sysupgrade -n /tmp/sysupgrade.bin`
Should now boot to Openwrt. Ensure it boots automatically to Openwrt by replugging the power.
Mapping in initramfs env:
```
dev: size erasesize name
mtd0: 0010000000020000 "bl2"
mtd1: 0008000000020000 "u-boot-env"
mtd2: 0020000000020000 "factory"
mtd3: 0020000000020000 "fip"
mtd4: 0002000000020000 "prod"
mtd5: 0010000000020000 "dual"
mtd6: 0010000000020000 "pot"
mtd7: 0640000000020000 "ubi"
mtd8: 0640000000020000 "ubi1"
mtd9: 0080000000020000 "storage"
```
1. While in openwrt initramfs environment, back up all the partitions by running the following:
```
cat /dev/mtd0 > /tmp/bl2.bin
cat /dev/mtd1 > /tmp/u-boot-env.bin
cat /dev/mtd2 > /tmp/factgory.bin
cat /dev/mtd3 > /tmp/fip.bin
cat /dev/mtd4 > /tmp/prod.bin
cat /dev/mtd5 > /tmp/dual.bin
cat /dev/mtd6 > /tmp/pot.bin
cat /dev/mtd7 > /tmp/ubi.bin
cat /dev/mtd8 > /tmp/ubi1.bin
cat /dev/mtd9 > /tmp/storage.bin
```
2. Transfer files to client PC for safekeeping. On client PC, run `scp -O root@192.168.1.1:/tmp/*.bin ./`
* Restore to Stock Firmware:
1. Boot to openwrt initramfs env.
2. Confirm layout matches as follows by running `cat /proc/mtd`. Ensure dev `mtd7` is named `ubi`:
```
dev: size erasesize name
mtd0: 0010000000020000 "bl2"
mtd1: 0008000000020000 "u-boot-env"
mtd2: 0020000000020000 "factory"
mtd3: 0020000000020000 "fip"
mtd4: 0002000000020000 "prod"
mtd5: 0010000000020000 "dual"
mtd6: 0010000000020000 "pot"
mtd7: 0640000000020000 "ubi"
mtd8: 0640000000020000 "ubi1"
mtd9: 0080000000020000 "storage"
```
3. Detach `ubi` partition - `ubidetach -p /dev/mtd7`
4. Transfer stock firmware's `ubi.bin` to router from client PC: `scp -O ubi.bin root@192.168.1.1/tmp/`
5. Format and replace with backup `ubiformat /dev/mtd7 -y -f /tmp/ubi.bin`
6. Reboot and you should now be back on stock firmware.
* LEDS:
LED color can be controlled by specifying values in GRB format in `/sys/class/leds/rgb:status/multi_intensity`. Default is `255 255 255` (white).
Example: `echo '75 0 130' > /sys/class/leds/rgb:status/multi_intensity`
LED brightness can be changed by specifying the value from 0-255 in /sys/class/leds/rgb:status/brightness. Default is `255` (full brightness).
Example: `echo 100 > /sys/class/leds/rgb:status/brightness`
For persistence across reboots, put the relevant command(s) in /etc/rc.local.
* Notes:
root access on stock firmware:
Before flashing openwrt, and while in openwrt initramfs env:
1. Mount /dev/ubi0_2: `mkdir /tmp/ubi0_2; mount -t ubifs /dev/ubi0_2 /tmp/ubi0_2`
2. Modify `/tmp/ubi0_2/upper/etc/passwd` and change line with `root:x:0:0...` to `root::0:0...`, remove the `x`.
3. Save and reboot.
4. You should now be able to log in with root and empty password while booted in stock firmware.
While on Openwrt, subsequent upgrades can be made by sysupgrade, or via Luci. UART should not be necessary unless you want to revert to stock firmeware.
Hauke Mehrtens [Thu, 21 Aug 2025 20:07:06 +0000 (22:07 +0200)]
kernel: Remove patch for fixed bug
The problem was fixed in upstream kernel in a different way and the
change was backported to kernel 6.6 in the following change:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=48e8791843206baf76827df1b6ee3cb88a2a17d8
The removed patch changes the endianness again and breaks the
functionality, use only the upstream code and remove our unneeded patch.
The 823-v6.12-0003-nvmem-layouts-add-U-Boot-env-layout.patch patch was
adapted in the kernel bump too. It moves the code with the fix now.
Fixes: 05d344cb2ca3 ("kernel: bump 6.6 to 6.6.100") Reported-by: Michael Pratt <mcpratt@pm.me> Link: https://github.com/openwrt/openwrt/pull/19830 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Alexandra Alth [Thu, 14 Aug 2025 17:55:44 +0000 (19:55 +0200)]
realtek: add support for XikeStor SKS8310-8X
XikeStor (Seeker) SKS8310-8X is a 8 ports Multi-Gig switch, based on
RTL9303.
Specifications:
- SoC : Realtek RTL9303
- RAM : DDR3 512 MiB
- Flash : SPI-NOR 32 MiB (Macronix)
- Ethernet : 8x 1/2.5/10 Gbps (SFP+)
- LEDs/Keys (GPIO) : 1x/1x
- UART : "Console" port on the front panel
- type : RS-232C
- connector : RJ-45
- settings : 115200 8N1
- Power : 12 VDC, 2 A
Flash instruction using initramfs image:
1. Prepare TFTP server & connect to serial port.
2. Connect your computer to one of the ports on SKS8310-8X with a
suitable SFP module (some work, some don't).
3. Power on SKS8310-8X and interrupt autoboot with Shift + A.
4. Use Shift + Q to drop from vendor CLI to U-Boot CLI.
5. Enable networking within U-Boot.
> rtk network on
6. Set switch IP and TFTP server IP (optional, adjust to your setup).
> setenv ipaddr <ip>
> setenv serverip <ip>
7. Download initramfs image from TFTP server.
> tftpboot 0x82000000 <image name>
8. Boot with the downloaded image.
> bootm 0x82000000
9. With rambooted OpenWrt, backup the stock firmware if needed.
10. Copy sysupgrade image to the device.
11. Perform sysupgrade with the sysupgrade image.
12. After reboot, you should have functional OpenWrt.
Reverting to stock firmware:
1. Download latest firmware from XikeStor and upload to your device.
1. Write firmware with 'sysupgrade -F'.
2. After reboot, stock firmware should boot automatically.
Co-authored-by: Jonas Jelonek <jelonek.jonas@gmail.com> Signed-off-by: Alexandra Alth <alexandra@alth.de> Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19782 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Stefan Dösinger [Sat, 9 Aug 2025 14:29:38 +0000 (17:29 +0300)]
ramips: fix TP-Link mr600 radio partition offset
This makes 5ghz WiFi work out of the box on these devices, eliminating
the need to flash a magic blob to the radio partition.
This was found by user BulldozerBSG on the OpenWRT Forums:
https://forum.openwrt.org/t/tp-link-archer-mr600-exploration/65489/20
All credit belongs to them. I can confirm the correctness of the
findings. At least one other user (Iggy87100) confirmed them too.
Shiji Yang [Thu, 21 Aug 2025 11:56:15 +0000 (19:56 +0800)]
ipq40xx: do not build EnGenius EAP1300 and ENS620EXT by default
The 6.12 kernel has exceeded the kernel size limit. the buildbot
can no longer build images for them. Developers can try switching
the kernel type to zImage to enable them again.
Andre Heider [Wed, 7 May 2025 06:44:19 +0000 (08:44 +0200)]
kernel/omap: Restore kernel files for v6.6
This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.
For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
Shiji Yang [Fri, 22 Aug 2025 01:06:43 +0000 (09:06 +0800)]
uboot-layerscape: do not build efimkcapsule tool
OpenWrt layerscape target does not use this command. If the host is
missing gnutls, this tool will fail to build. Fix build error:
tools/mkeficapsule.c:20:10: fatal error: gnutls/gnutls.h: No such file or directory
20 | #include <gnutls/gnutls.h>
| ^~~~~~~~~~~~~~~~~
Fixes: c773c3f4d377 ("uboot-layerscape: bump to lf-6.12.20-2.0.0") Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/19836 Signed-off-by: Robert Marko <robimarko@gmail.com>
Whilst testing Hasivo s1100wp-8gt-se LED configuration, several error
messages were presented which didn't indicate which led_set they were
referencing, nor what the value was that caused the invalid configuration.
Migrate to use dev_ print messages for this function.
And tidy up both when the error message is reported (don't show it when
an led_set isn't in the DTS) and what details the message presents.
realtek: mdio: rtl931x: move functions over to bus
This commit repeats the mdio function relocation from the other targets.
In short that means:
- phy read/write functions are moved away from the phy driver
- SerDes read/write functions are moved away from the dsa driver
- All gets consolidated into the mdio driver (inside the ethernet driver)
This is mostly a copy/paste to keep the changes small. The SerDes phy mapping
and the simplification of the central bus functions will come later.
Shiji Yang [Mon, 11 Aug 2025 10:52:30 +0000 (18:52 +0800)]
ipq40xx: dts: reduce the maximum SPI clock frequency to 24MHz
The IPQ4019 datasheet indicates that the maximum supported SPI
frequency is 25 MHz. My experiment on SKSpruce WIA3300-20 shows
that exceeding this threshold can lead to instability of SPI
peripheral. Limit the SPI clock frequency to the QSDK recommended
value 24MHz to enhance stability.
Thomas Richard [Thu, 14 Aug 2025 15:03:04 +0000 (17:03 +0200)]
uboot-stm32: bump to 2025.07
Now devicetrees imported from Linux kernel release are used, so update
DEVICE_TREE to use correct path. A patch was backported to increase
SYS_MALLOC_F_LEN for stm32mp13 (more alloc space is needed due to SCMI
update to protocol v2.0).
Pawel Dembicki [Sun, 8 Jun 2025 08:40:24 +0000 (10:40 +0200)]
kernel/layerscape: Restore kernel files for v6.6
This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.
For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
realtek: add RTL8231 driver configuration to kernel build
Now that the driver has been enhanced for RTL931x devices and
the DTS is up to date, activate the needed kernel configuration
for the two RTL931x subtargets.
A network interrupt may be received before the device is setup
properly. In this case NAPI structures are missing and __napi_poll()
will find a NULL pointer in n->poll. Avoid this by registering the
device after initialization is complete.
The Realtek DTS's use several macros for convenient phy/port definition.
These are repeated for the RTL83xx targets and most are missing for the
RTL93xx targets. In the near future we want to add high port count
switches with 1GBit Ethernet for them too. As a preparation provide a
central include so the definition is only needed once and is available
for all targets.
Tobias Waldvogel [Thu, 14 Aug 2025 08:09:58 +0000 (10:09 +0200)]
wifi-scripts: iface should be optional in wifi-vlan definition
The option iface should be optional according to the description
of /etc/config/wireless in order to avoid repeating the definition
for each virtual interface.
Jonas Jelonek [Tue, 24 Jun 2025 19:02:33 +0000 (19:02 +0000)]
realtek: adapt devices to backported i2c driver
Adapt the device tree definitions of rtl93xx devices and the base dtsi
for rtl930x and rtl931x to match with what's expected by the recently
backported RTL9300 I2C driver.
Jonas Jelonek [Tue, 24 Jun 2025 16:22:00 +0000 (16:22 +0000)]
realtek: backport upstream RTL9300 I2C driver
Backport/add all patches for the upstream RTL9300 I2C driver.
The upstream driver was added in 6.13 and was heavily based on our
downstream driver except for how the multiplexing behaviour is handled.
This driver was working fine with basic SFP operation on RTL930x devices
but there was no support for RTL931x though.
Major advantage over our downstream driver is: The multiplexing
behaviour is handled completely by the driver. Thus, there's no need for
a separate rtl9300-mux driver as we had it downstream. Moreover, this
simplifies the DTS of affected devices a lot since we can now move the
controller definition - which is in the DTS of each device so far - to
the base DTSI.
Currently pending patches are also included because the progress on
getting this upstream seems really slow right now, albeit upstream
maintainers may require several changes to the current state.
These include:
- patches fixing several issues in the driver
- patches doing a refactoring of the driver and adding support for RTL931x
See the commit messages included in each patch to have details on the
changes.
Rosen Penev [Tue, 12 Aug 2025 18:22:27 +0000 (11:22 -0700)]
mpc85xx: tl-wdr4900: add back 5ghz LED
In the conversion to dts, qca,led-pin was used for both interfaces.
Unfortunately, it's mutually exclusive with gpio-controller which made
it not do anything.
Fixes: 949e1a0 ("mpc85xx: tl-wdr4900: move platform code to dts") Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19758 Signed-off-by: Robert Marko <robimarko@gmail.com>
Felix Fietkau [Tue, 12 Aug 2025 18:19:14 +0000 (20:19 +0200)]
netifd: update to Git HEAD (2025-08-12)
843a736a4e26 ubus: fix type check in procd ubus data callback 94c3869941b0 interface: avoid memleaks on invalid interfaces 6ead304877ad global: use blobmsg_parse_attr 813b9882dbab config: add support for defining devices via procd data 575b04326e32 config: add support for defining interfaces via procd data a0be934399cf examples: sync wireless.uc
Zoltan HERPAI [Sun, 3 Aug 2025 13:57:15 +0000 (15:57 +0200)]
sunxi: change target to use FIT kernel images
Modernize the target slightly to use kernel+dtb FIT images in all
subtargets. LZMA compression will be used for the cortexa53 devices,
and we'll stay conservative and use gzip for the cortexa7/a8 devices
due to performance differences.
Tested-on:
- Linksprite pcDuino v2 (cortexa8 / A10)
- Olinuxino Micro (cortexa7 / A20)
- Banana Pi M2 Berry (cortexa7 / V40)
- Banana Pi P2 Zero (cortexa7 / H2+)
- Xunlong Orange Pi 2 (cortexa7/ H3)
- OrangePi PC Zero 2 (cortexa53 / H616)
Michael Pratt [Fri, 8 Aug 2025 05:27:08 +0000 (01:27 -0400)]
gettext-full: remove usage of autoreconf
Running the bootstrap script autogen.sh
handles the execution of autotools already,
so calling autoreconf before configure
makes this happen twice, which is unnecessary
and can lead to an occasional build problem.
Michael Pratt [Tue, 5 Aug 2025 22:52:13 +0000 (18:52 -0400)]
gettext-full: force compiling target in C23 standard
Currently, the build system overrides the value of the CC variable
for actual compilation after configuring for target builds.
However, the configure script now modifies the CC variable
to include "-std=gnu23" when the test for C23 features is successful.
The configure script also tests for the ability to use alignof
without including the stdalign.h header, and only includes it if necessary.
The test in the configure script is being done with the C23 standard option
but the compilation is being done without the C23 standard option,
leading to an unusual build error where alignof() is not defined.
Resolving the conflict between the autoconf macros and the build system
causes several other packages to fail, so instead in the meantime,
force the use of C23 standard to compile as part of the new standard
includes alignof as a keyword to deprecate the stdalign.h macro.
Forcing use of the new standard is safe for target builds
as the toolchain is known to support the option
and is always within our scope of version control.
Michael Pratt [Fri, 8 Aug 2025 05:23:34 +0000 (01:23 -0400)]
tools: libtool: always install all auxillary files
Remove the needless restriction
for which auxillary files are installed.
This aligns the behavior of libtoolize
with the existing behavior of automake.
This can prevent the seemingly random error
if autoreconf happens to be ran multiple times:
Michael Pratt [Fri, 8 Aug 2025 04:58:56 +0000 (00:58 -0400)]
tools: gnulib: always use std-gnu23 module
The new "std-gnu23" module has the stated goal of:
"...to update the c99 module to depend on std-gnu23
instead of on std-gnu11, and to make std-gnu11 obsolete."
in upstream commit 8990abb50 ("std-gnu23: new module").
However, for now, it's design is optional, so that
definitions of the latest standard module overrides the former.
At some point, upstream gnulib will replace the dependency
instead of add it alongside the older one.
Because all macros are copied to the aclocal directory,
for complex projects, not including the module
may cause the macros to apply only to some subdirectories
rather than all of them and top-level together.
For projects that import source from local gnulib,
always include the std-gnu23.m4 macros for consistency.