)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000160,"name":"Paul Fertser","email":"fercerpav@gmail.com","username":"pfertser"},"change_message_id":"c8cd9c9cd1e3fae0a09ed60557f99d6caa00e100","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2fa96c90_8286989d","updated":"2026-03-22 20:54:10.000000000","message":"I agree Meson is a much better language than m4+shell. But native out of tree builds are supported in autotools as well, why do you mention that, it\u0027s not a new feature?\n\nWonder how widely it is available on older GNU/Linux distros and less popular Unicies such as OpenBSD. Also to be tested is cross-building. As I understand it the plan is to drop autoconf altogether because maintaining two build approaches in parallel would be a waste, right?","commit_id":"29cd936ba0c332e7498360406d4ac9e4ba30789f"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"21d066b3b7d071e4afb19a0ca5748fde74b3d3e1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"91013823_25d36f4c","in_reply_to":"2fa96c90_8286989d","updated":"2026-03-23 08:11:59.000000000","message":"\u003e I agree Meson is a much better language than m4+shell. But native out of tree builds are supported in autotools as well, why do you mention that, it\u0027s not a new feature?\n\nOh, you\u0027re right. Meson enforces out-of-tree builds, it\u0027s not a feature in that sense.\n\n\u003e Wonder how widely it is available on older GNU/Linux distros and less popular Unicies such as OpenBSD.\n\nFrom my point of view, it\u0027s availability should not be a problem. Especially since we require a quite old Meson version (0.59). It\u0027s also available on OpenBSD [1].\n\n\u003e Also to be tested is cross-building.\n\nGood point, will do this soon(ish).\n\n\u003e As I understand it the plan is to drop autoconf altogether because maintaining two build approaches in parallel would be a waste, right?\n\nIt does not make sense to maintain multiple build systems in my opinion. The idea is to drop Autotools, if we agree on Meson,  Let\u0027s see what kind of feedback we get.\n\n[1] https://openports.pl/path/devel/meson","commit_id":"29cd936ba0c332e7498360406d4ac9e4ba30789f"},{"author":{"_account_id":1000019,"name":"Xiaofan Chen","email":"xiaofanc@gmail.com","username":"xiaofan"},"change_message_id":"51fb02c3e0b42fc91dacdb246fbfa268ecbaf844","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"7a4b0315_896cd9f8","updated":"2026-03-25 12:58:11.000000000","message":"Build under macOS seems to fail.\n\nmcuee@mcuees-MacBook openocd % meson setup build   \nThe Meson build system\nVersion: 1.10.2\nSource dir: /Users/mcuee/build/libusb/openocd\nBuild dir: /Users/mcuee/build/libusb/openocd/build\nBuild type: native build\nProject name: openocd\nProject version: 0.12.0\nC compiler for the host machine: cc (clang 17.0.0 \"Apple clang version 17.0.0 (clang-1700.6.4.2)\")\nC linker for the host machine: cc ld64 1230.1\nHost machine cpu family: aarch64\nHost machine cpu: aarch64\nProgram git found: YES (/usr/bin/git)\nChecking for function \"realpath\" : YES \nChecking for function \"usleep\" : YES \nChecking for function \"gettimeofday\" : YES \nChecking for function \"strnlen\" : YES \nChecking for function \"strndup\" : YES \nChecking for function \"mallinfo\" : NO \nChecking for function \"mallinfo2\" : NO \nHas header \"arpa/inet.h\" : YES \nHas header \"elf.h\" : NO \nHas header \"fcntl.h\" : YES \nHas header \"inttypes.h\" : YES \nHas header \"linux/pci.h\" : NO \nHas header \"linux/spi/spidev.h\" : NO \nHas header \"malloc.h\" : NO \nHas header \"netdb.h\" : YES \nHas header \"netinet/in.h\" : YES \nHas header \"netinet/tcp.h\" : YES \nHas header \"poll.h\" : YES \nHas header \"stdbool.h\" : YES \nHas header \"strings.h\" : YES \nHas header \"sys/ioctl.h\" : YES \nHas header \"sys/mman.h\" : YES \nHas header \"sys/param.h\" : YES \nHas header \"sys/select.h\" : YES \nHas header \"sys/socket.h\" : YES \nHas header \"sys/stat.h\" : YES \nHas header \"sys/sysctl.h\" : YES \nHas header \"sys/time.h\" : YES \nHas header \"sys/types.h\" : YES \nHas header \"unistd.h\" : YES \n\nmeson.build:118:3: ERROR: C symbol environ not found in header unistd.h","commit_id":"c5af9116bcaccc6a4713b1e6e1e191035af10d41"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"28facf9d282e56c7bf22435ad1120c56e4355f66","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bcc5ca8a_4a2dca55","updated":"2026-03-23 20:24:09.000000000","message":"Cross-compiling with Meson is straightforward. I was able to build a MinGW-w64 target on Linux using the steps below.\n\n#### Steps to reproduce\n\n```bash\nmeson setup build-mingw64 --cross-file cross-mingw64.txt\nmeson compile -v -C build-mingw64\n```\n\nMake sure you cross-compile and install `jimtcl` beforehand, and set `PKG_CONFIG_LIBDIR` accordingly.\n\n#### Sample cross file: `cross-mingw64.txt`\n\n```ini\n[binaries]\nc \u003d \u0027x86_64-w64-mingw32-gcc\u0027\ncpp \u003d \u0027x86_64-w64-mingw32-g++\u0027\nar \u003d \u0027x86_64-w64-mingw32-gcc-ar\u0027\nstrip \u003d \u0027x86_64-w64-mingw32-strip\u0027\nwindres \u003d \u0027x86_64-w64-mingw32-windres\u0027\npkg-config \u003d \u0027pkg-config\u0027\n\n[host_machine]\nsystem \u003d \u0027windows\u0027\ncpu_family \u003d \u0027x86_64\u0027\ncpu \u003d \u0027x86_64\u0027\nendian \u003d \u0027little\u0027\n```","commit_id":"c5af9116bcaccc6a4713b1e6e1e191035af10d41"},{"author":{"_account_id":1000019,"name":"Xiaofan Chen","email":"xiaofanc@gmail.com","username":"xiaofan"},"change_message_id":"0947ab1f04237035c5a82d4085a3dfd4e535d1e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"22c5320c_34a595ae","in_reply_to":"72d53961_84c5fd44","updated":"2026-03-29 01:47:42.000000000","message":"mcuee@mcuees-MacBook openocd % meson setup build \nThe Meson build system\nVersion: 1.10.2\nSource dir: /Users/mcuee/build/libusb/openocd\nBuild dir: /Users/mcuee/build/libusb/openocd/build\nBuild type: native build\nProject name: openocd\nProject version: 0.12.0\nC compiler for the host machine: cc (clang 21.0.0 \"Apple clang version 21.0.0 (clang-2100.0.123.102)\")\nC linker for the host machine: cc ld64 1266.8\nHost machine cpu family: aarch64\nHost machine cpu: aarch64\nProgram git found: YES (/usr/bin/git)\nChecking for function \"realpath\" : YES \nChecking for function \"usleep\" : YES \nChecking for function \"gettimeofday\" : YES \nChecking for function \"strnlen\" : YES \nChecking for function \"strndup\" : YES \nChecking for function \"mallinfo\" : NO \nChecking for function \"mallinfo2\" : NO \nHas header \"arpa/inet.h\" : YES \nHas header \"elf.h\" : NO \nHas header \"fcntl.h\" : YES \nHas header \"inttypes.h\" : YES \nHas header \"linux/pci.h\" : NO \nHas header \"linux/spi/spidev.h\" : NO \nHas header \"malloc.h\" : NO \nHas header \"netdb.h\" : YES \nHas header \"netinet/in.h\" : YES \nHas header \"netinet/tcp.h\" : YES \nHas header \"poll.h\" : YES \nHas header \"stdbool.h\" : YES \nHas header \"strings.h\" : YES \nHas header \"sys/ioctl.h\" : YES \nHas header \"sys/mman.h\" : YES \nHas header \"sys/param.h\" : YES \nHas header \"sys/select.h\" : YES \nHas header \"sys/socket.h\" : YES \nHas header \"sys/stat.h\" : YES \nHas header \"sys/sysctl.h\" : YES \nHas header \"sys/time.h\" : YES \nHas header \"sys/types.h\" : YES \nHas header \"unistd.h\" : YES \nHeader \"unistd.h\" has symbol \"environ\" : NO \nChecking if \"extern environ\" links: YES \nHeader \"elf.h\" has symbol \"Elf64_Ehdr\" : NO \nLibrary m found: YES\nFound pkg-config: YES (/opt/homebrew/bin/pkg-config) 2.5.1\nRun-time dependency jimtcl found: YES 0.83\nRun-time dependency libusb-1.0 found: YES 1.0.29\nFound CMake: /opt/homebrew/bin/cmake (4.3.0)\nRun-time dependency libjaylink found: NO (tried pkgconfig, framework and cmake)\nRun-time dependency libgpiod found: NO (tried pkgconfig, framework and cmake)\nRun-time dependency hidapi-libusb found: NO (tried pkgconfig, framework and cmake)\nRun-time dependency hidapi-hidraw found: NO (tried pkgconfig, framework and cmake)\nRun-time dependency libftdi1 found: YES 1.5\nRun-time dependency capstone found: YES 5.0.7\nChecking if define \"__MINGW32__\" exists: NO \nConfiguring config.h using configuration\nCompiler for C supports arguments -Wstrict-prototypes: YES \nCompiler for C supports arguments -Wformat-security: YES \nCompiler for C supports arguments -Wshadow: YES \nCompiler for C supports arguments -Wno-unused-parameter: YES \nCompiler for C supports arguments -Wno-gnu-folding-constant: YES \nCompiler for C supports arguments -Wbad-function-cast: YES \nCompiler for C supports arguments -Wcast-align: YES \nCompiler for C supports arguments -Wredundant-decls: YES \nCompiler for C supports arguments -Wpointer-arith: YES \nCompiler for C supports arguments -Wundef: YES \nConfiguring Doxyfile using configuration\nProgram makeinfo found: YES (/opt/homebrew/bin/makeinfo)\nProgram date found: YES (/bin/date)\nConfiguring version.texi using configuration\nProgram doxygen found: YES (/opt/homebrew/bin/doxygen)\nBuild targets in project: 26\n\nopenocd 0.12.0\n\n  Debug adapters\n    AM335X GPIO bitbang adapter           : auto\n    NanoXplore ANGIE adapter              : auto\n    Olimex ARM-JTAG-EW adapter            : auto\n    AT91RM9200 GPIO bitbang adapter       : disabled\n    BCM2835 GPIO bitbang adapter          : auto\n    Bus Pirate adapter                    : auto\n    CMSIS-DAP adapter (USB HID)           : disabled\n    CMSIS-DAP v2 adapter (USB bulk)       : auto\n    CMSIS-DAP v2 adapter (TCP)            : auto\n    CoreSight direct memory adapter       : disabled\n    Dummy adapter                         : auto\n    EP93xx GPIO bitbang adapter           : disabled\n    Espressif JTAG adapter                : auto\n    FT232R GPIO bitbang adapter           : auto\n    FTDI adapter (MPSSE mode)             : auto\n    FTDI adapter with cJTAG support       : auto\n    IMX GPIO bitbang adapter              : auto\n    SEGGER J-Link adapter                 : disabled\n    CH347-based adapter                   : auto\n    JTAG DPI adapter                      : auto\n    JTAG VPI adapter                      : auto\n    Cypress KitProg adapter               : disabled\n    Linux GPIO bitbang adapter (libgpiod) : disabled\n    Linux SPI-based adapter (spidev)      : disabled\n    Nuvoton Nu-Link adapter               : disabled\n    OpenDous JTAG adapter                 : auto\n    OpenJTAG adapter                      : auto\n    OSBDM adapter                         : auto\n    ASIX Presto adapter                   : auto\n    Parallel port bitbang adapter         : disabled\n    Remote bitbang adapter                : auto\n    Raisonance RLink adapter              : auto\n    RShim-based adapter                   : disabled\n    ST-Link adapter                       : auto\n    Linux GPIO bitbang adapter (sysfsgpio): disabled\n    TI ICDI adapter                       : auto\n    Keil ULINK adapter                    : auto\n    Altera USB-Blaster adapter            : auto\n    Altera USB-Blaster II adapter         : auto\n    USBProg adapter                       : auto\n    Cadence virtual debug adapter         : auto\n    Versaloon-Link JTAG adapter           : auto\n    TI XDS110 adapter                     : auto\n    Xilinx XVC adapter                    : disabled\n\n  Features\n    Capstone disassembly framework        : YES 5.0.7\n\nFound ninja-1.13.2 at /opt/homebrew/bin/ninja\n\nmcuee@mcuees-MacBook openocd % meson compile -v -C build\nINFO: autodetecting backend as ninja\n...\n\nmcuee@mcuees-MacBook openocd % ./build/openocd -v\nOpen On-Chip Debugger 0.12.0-02444-gf78e993dd\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html","commit_id":"c5af9116bcaccc6a4713b1e6e1e191035af10d41"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"6269573ae0d89c77e5b76687b12eb08268343a39","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"b5b84b4f_8b84c9ab","in_reply_to":"7a4b0315_896cd9f8","updated":"2026-03-28 08:02:54.000000000","message":"Thanks for testing Xiaofan!\n\nI\u0027ve pushed a new version that should resolve the \"environ\" check. When you have a moment, could you test it again?","commit_id":"c5af9116bcaccc6a4713b1e6e1e191035af10d41"},{"author":{"_account_id":1000019,"name":"Xiaofan Chen","email":"xiaofanc@gmail.com","username":"xiaofan"},"change_message_id":"46958547d80ee210168606e2fab61e88dd46c2f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"72d53961_84c5fd44","in_reply_to":"b5b84b4f_8b84c9ab","updated":"2026-03-29 01:43:44.000000000","message":"Yes, this is resolved. Thanks for the fast fix.","commit_id":"c5af9116bcaccc6a4713b1e6e1e191035af10d41"},{"author":{"_account_id":1000019,"name":"Xiaofan Chen","email":"xiaofanc@gmail.com","username":"xiaofan"},"change_message_id":"0947ab1f04237035c5a82d4085a3dfd4e535d1e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"82a531bc_36829d63","updated":"2026-03-29 01:47:42.000000000","message":"Build log for reference.","commit_id":"f78e993ddc098e3a931026aae5e96fb26c6b5522"},{"author":{"_account_id":1000019,"name":"Xiaofan Chen","email":"xiaofanc@gmail.com","username":"xiaofan"},"change_message_id":"46958547d80ee210168606e2fab61e88dd46c2f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9641159d_90d679fc","updated":"2026-03-29 01:43:44.000000000","message":"Yes, Patch set 5 fix the issue.","commit_id":"f78e993ddc098e3a931026aae5e96fb26c6b5522"}]}
