slackbuilds_ponce/perl/perl-WWW-Curl/WWW-Curl-4.150.0-curl-7.50.2.patch
Willy Sudiarto Raharjo 0c8e98aeec perl/perl-WWW-Curl: Fix Build.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
2016-10-13 13:08:30 +07:00

40 lines
1.2 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

curl-7.50.2 introduced a #define without integer value:
#ifdef CURL_NO_OLDIES
#define CURL_STRICTER
#endif
Heuristics in 'Makefile.PL' assumes all defines in form of
#define CURL_<something> <an-expression>
and generates a symbol lookup table in 'curlopt-constants.c'
as:
static int
constant(const char *name)
{
errno = 0;
if (strncmp(name, "CURL_", 5) == 0) {
name += 5;
switch (*name) {
...
case 'S':
if (strEQ(name, "STRICTER")) return CURL_STRICTER;
Which is not valid C:
curlopt-constants.c:128:49: error: CURL_STRICTER undeclared (first use in this function)
if (strEQ(name, "STRICTER")) return CURL_STRICTER;
^~~~~~~~~~~~~
diff --git a/Makefile.PL b/Makefile.PL
index f9170bb..fc1a55a 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -122,2 +122,9 @@ if (!defined($curl_h)) {
while(<H>) {
+ # Skip defines without values like:
+ # #define CURL_STRICTER
+ if (/^#define (CURL[A-Za-z0-9_]*)$/) {
+ chomp;
+ warn "Skipping '$_': does not define a symbol";
+ next;
+ }
if (/^#define (CURL[A-Za-z0-9_]*)/) {