aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2015-04-20 14:02:03 +0000
committerJan Beich <jbeich@FreeBSD.org>2015-04-20 14:02:03 +0000
commit8319f15154eea69db1c8fa213cebb637aec5a39c (patch)
tree0f146055458cc4370b4bc6f8297369a40acae09f
parent43d1f3cc8d53728c79d033d4cdf8809eb6e17802 (diff)
downloadports-8319f15154eea69db1c8fa213cebb637aec5a39c.tar.gz
ports-8319f15154eea69db1c8fa213cebb637aec5a39c.zip
Apply r379037 instead of trying to use C11's max_align_t
While here use my own comment within the file in order to: - Avoid $FreeBSD$ keywords in patches (per Porter's Handbook) - Improve rationale Suggested by: marino
Notes
Notes: svn path=/head/; revision=384361
-rw-r--r--games/openbor/files/patch-source_webmlib_halloc39
-rw-r--r--games/openbor/files/patch-source_webmlib_halloc_align.h24
2 files changed, 39 insertions, 24 deletions
diff --git a/games/openbor/files/patch-source_webmlib_halloc b/games/openbor/files/patch-source_webmlib_halloc
new file mode 100644
index 000000000000..41b2971ddef8
--- /dev/null
+++ b/games/openbor/files/patch-source_webmlib_halloc
@@ -0,0 +1,39 @@
+C11 defines different max_align_t in stddef.h. It may either come from
+compiler (GCC, Clang) or provided by the system (DragonFly, musl libc).
+FreeBSD's Clang has neither due to bug 193594.
+
+So, keep the old behavior by renaming the type here to avoid building
+with -ansi (upstream nestegg) or -std=gnu89 (SUSE).
+
+ In file included from source/webmlib/halloc/halloc.c:19:0:
+ source/webmlib/halloc/align.h:42:25: error: conflicting types for 'max_align_t'
+ typedef union max_align max_align_t;
+ ^
+ In file included from source/webmlib/halloc/halloc.h:18:0,
+ from source/webmlib/halloc/halloc.c:18:
+ /usr/local/lib/gcc5/**/include/stddef.h:429:3: note: previous declaration of 'max_align_t' was here
+ } max_align_t;
+ ^
+
+--- source/webmlib/halloc/align.h.orig 2015-04-09 22:13:36 UTC
++++ source/webmlib/halloc/align.h
+@@ -39,7 +39,7 @@ union max_align
+ void (*q)(void);
+ };
+
+-typedef union max_align max_align_t;
++typedef union max_align halloc_max_align_t;
+
+ #endif
+
+--- source/webmlib/halloc/halloc.c.orig 2015-04-09 22:13:36 UTC
++++ source/webmlib/halloc/halloc.c
+@@ -30,7 +30,7 @@ typedef struct hblock
+ #endif
+ hlist_item_t siblings; /* 2 pointers */
+ hlist_head_t children; /* 1 pointer */
+- max_align_t data[1]; /* not allocated, see below */
++ halloc_max_align_t data[1]; /* not allocated, see below */
+
+ } hblock_t;
+
diff --git a/games/openbor/files/patch-source_webmlib_halloc_align.h b/games/openbor/files/patch-source_webmlib_halloc_align.h
deleted file mode 100644
index 152db1ef5d00..000000000000
--- a/games/openbor/files/patch-source_webmlib_halloc_align.h
+++ /dev/null
@@ -1,24 +0,0 @@
-GCC 5.0 defaults to -std=gnu11 which exposes max_align_t in its stddef.h.
-Clang also provides max_align_t but not on FreeBSD (see bug 193594).
-
- In file included from source/webmlib/halloc/halloc.c:19:0:
- source/webmlib/halloc/align.h:42:25: error: conflicting types for 'max_align_t'
- typedef union max_align max_align_t;
- ^
- In file included from source/webmlib/halloc/halloc.h:18:0,
- from source/webmlib/halloc/halloc.c:18:
- /usr/local/lib/gcc5/**/include/stddef.h:429:3: note: previous declaration of 'max_align_t' was here
- } max_align_t;
- ^
-
---- source/webmlib/halloc/align.h.orig 2015-04-09 22:13:36 UTC
-+++ source/webmlib/halloc/align.h
-@@ -22,7 +22,7 @@
- */
- typedef double max_align_t;
-
--#else
-+#elif !defined(__CLANG_MAX_ALIGN_T_DEFINED) && !defined(_GCC_MAX_ALIGN_T)
-
- /*
- * a type with the most strict alignment requirements