]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
tools/bc: let getopt() prototype be defined normally
authorMichael Pratt <mcpratt@pm.me>
Tue, 24 Jun 2025 19:35:33 +0000 (15:35 -0400)
committerRobert Marko <robimarko@gmail.com>
Sat, 26 Jul 2025 12:38:07 +0000 (14:38 +0200)
Add a patch in order to remove an obsolete workaround
that is currently causing issues on some macOS systems.

Add patch:
 - 000-getopt-prototype.patch

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
tools/bc/patches/000-getopt-prototype.patch [new file with mode: 0644]

diff --git a/tools/bc/patches/000-getopt-prototype.patch b/tools/bc/patches/000-getopt-prototype.patch
new file mode 100644 (file)
index 0000000..ca62469
--- /dev/null
@@ -0,0 +1,18 @@
+--- a/h/getopt.h
++++ b/h/getopt.h
+@@ -135,15 +135,7 @@ struct option
+    arguments to the option '\0'.  This behavior is specific to the GNU
+    `getopt'.  */
+-#ifdef __GNU_LIBRARY__
+-/* Many other libraries have conflicting prototypes for getopt, with
+-   differences in the consts, in stdlib.h.  To avoid compilation
+-   errors, only prototype getopt for the GNU C library.  */
+ extern int getopt (int ___argc, char *const *___argv, const char *__shortopts);
+-#else /* not __GNU_LIBRARY__ */
+-extern int getopt ();
+-#endif /* __GNU_LIBRARY__ */
+-
+ #ifndef __need_getopt
+ extern int getopt_long (int ___argc, char *const *___argv,
+                       const char *__shortopts,