From 73c20eea7bf0f12795ab94685fbb98eda0cf2cce Mon Sep 17 00:00:00 2001 From: Bernhard Nortmann Date: Wed, 13 Apr 2016 13:29:41 +0200 Subject: [PATCH] Makefile: Have portable_endian.h properly expose all functions For Linux, this requires additional #defines, see https://gist.github.com/panzi/6856583#gistcomment-1656524 Placing those #defines into portable_endian.h would mean we depend on the specific order of #includes (whatever pulls in endian.h first, including other system includes). Avoid this by using symbols provided "globally" via the Makefile. Also nuke the _NETBSD_SOURCE definition in fel.c Signed-off-by: Bernhard Nortmann --- Makefile | 9 ++++++++- fel.c | 6 ------ phoenix_info.c | 5 ----- pio.c | 5 ----- 4 files changed, 8 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index 8e7f106..d16577b 100644 --- a/Makefile +++ b/Makefile @@ -18,9 +18,16 @@ CC = gcc CFLAGS = -g -O0 -Wall -Wextra -CFLAGS += -std=c99 -D_POSIX_C_SOURCE=200112L +CFLAGS += -std=c99 $(DEFINES) CFLAGS += -Iinclude/ +DEFINES = -D_POSIX_C_SOURCE=200112L +# Define _BSD_SOURCE, necessary to expose all endian conversions properly. +# See http://linux.die.net/man/3/endian +DEFINES += -D_BSD_SOURCE +# glibc 2.20+ also requires _DEFAULT_SOURCE +DEFINES += -D_DEFAULT_SOURCE + # Tools useful on host and target TOOLS = sunxi-fexc sunxi-bootinfo sunxi-fel sunxi-nand-part diff --git a/fel.c b/fel.c index 4932d71..c102345 100644 --- a/fel.c +++ b/fel.c @@ -15,12 +15,6 @@ * along with this program. If not, see . */ -/* Needs _BSD_SOURCE for htole and letoh */ -/* glibc 2.20+ also requires _DEFAULT_SOURCE */ -#define _DEFAULT_SOURCE -#define _BSD_SOURCE -#define _NETBSD_SOURCE - #include #include #include diff --git a/phoenix_info.c b/phoenix_info.c index 0529391..07a217e 100644 --- a/phoenix_info.c +++ b/phoenix_info.c @@ -15,11 +15,6 @@ * along with this program. If not, see . */ -/* Needs _BSD_SOURCE for htole and letoh */ -/* glibc 2.20+ also requires _DEFAULT_SOURCE */ -#define _DEFAULT_SOURCE -#define _BSD_SOURCE - #include #include #include diff --git a/pio.c b/pio.c index a34c6c5..f545cc4 100644 --- a/pio.c +++ b/pio.c @@ -17,11 +17,6 @@ * MA 02111-1307 USA */ -/* needs _BSD_SOURCE for htole and letoh */ -/* glibc 2.20+ also requires _DEFAULT_SOURCE */ -#define _DEFAULT_SOURCE -#define _BSD_SOURCE - #include #include #include