diff options
Diffstat (limited to 'meta-networking/recipes-connectivity/samba/samba-4.1.12/0005-build-unify-and-fix-endian-tests.patch')
-rw-r--r-- | meta-networking/recipes-connectivity/samba/samba-4.1.12/0005-build-unify-and-fix-endian-tests.patch | 169 |
1 files changed, 0 insertions, 169 deletions
diff --git a/meta-networking/recipes-connectivity/samba/samba-4.1.12/0005-build-unify-and-fix-endian-tests.patch b/meta-networking/recipes-connectivity/samba/samba-4.1.12/0005-build-unify-and-fix-endian-tests.patch deleted file mode 100644 index 5546b6d65e..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba-4.1.12/0005-build-unify-and-fix-endian-tests.patch +++ /dev/null @@ -1,169 +0,0 @@ -From 81379b6b14ea725c72953be2170b382403ed8728 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias <gustavo@zacarias.com.ar> -Date: Mon, 21 Apr 2014 10:18:15 -0300 -Subject: [PATCH 5/7] build: unify and fix endian tests - -Unify the endian tests out of lib/ccan/wscript into wafsamba since -they're almost cross-compile friendly. -While at it fix them to be so by moving the preprocessor directives out -of main scope since that will fail. -And keep the WORDS_BIGENDIAN, HAVE_LITTLE_ENDIAN and HAVE_BIG_ENDIAN -defines separate because of different codebases. - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> -Reviewed-by: Andrew Bartlett <abartlet@samba.org> -Reviewed-by: David Disseldorp <ddiss@samba.org> - -Upstream-Status: Backport - -Signed-off-by: Jackie Huang <jackie.huang@windriver.com> ---- - buildtools/wafsamba/wscript | 65 ++++++++++++++++++++++++++++++++++++++++++--- - lib/ccan/wscript | 55 -------------------------------------- - 2 files changed, 62 insertions(+), 58 deletions(-) - -diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript -index 7984227..1a2cfe6 100755 ---- a/buildtools/wafsamba/wscript -+++ b/buildtools/wafsamba/wscript -@@ -390,9 +390,68 @@ def configure(conf): - else: - conf.define('SHLIBEXT', "so", quote=True) - -- conf.CHECK_CODE('long one = 1; return ((char *)(&one))[0]', -- execute=True, -- define='WORDS_BIGENDIAN') -+ # First try a header check for cross-compile friendlyness -+ conf.CHECK_CODE(code = """#ifdef __BYTE_ORDER -+ #define B __BYTE_ORDER -+ #elif defined(BYTE_ORDER) -+ #define B BYTE_ORDER -+ #endif -+ -+ #ifdef __LITTLE_ENDIAN -+ #define LITTLE __LITTLE_ENDIAN -+ #elif defined(LITTLE_ENDIAN) -+ #define LITTLE LITTLE_ENDIAN -+ #endif -+ -+ #if !defined(LITTLE) || !defined(B) || LITTLE != B -+ #error Not little endian. -+ #endif -+ int main(void) { return 0; }""", -+ addmain=False, -+ headers="endian.h sys/endian.h", -+ define="HAVE_LITTLE_ENDIAN") -+ conf.CHECK_CODE(code = """#ifdef __BYTE_ORDER -+ #define B __BYTE_ORDER -+ #elif defined(BYTE_ORDER) -+ #define B BYTE_ORDER -+ #endif -+ -+ #ifdef __BIG_ENDIAN -+ #define BIG __BIG_ENDIAN -+ #elif defined(BIG_ENDIAN) -+ #define BIG BIG_ENDIAN -+ #endif -+ -+ #if !defined(BIG) || !defined(B) || BIG != B -+ #error Not big endian. -+ #endif -+ int main(void) { return 0; }""", -+ addmain=False, -+ headers="endian.h sys/endian.h", -+ define="HAVE_BIG_ENDIAN") -+ -+ if not conf.CONFIG_SET("HAVE_BIG_ENDIAN") and not conf.CONFIG_SET("HAVE_LITTLE_ENDIAN"): -+ # That didn't work! Do runtime test. -+ conf.CHECK_CODE("""union { int i; char c[sizeof(int)]; } u; -+ u.i = 0x01020304; -+ return u.c[0] == 0x04 && u.c[1] == 0x03 && u.c[2] == 0x02 && u.c[3] == 0x01 ? 0 : 1;""", -+ addmain=True, execute=True, -+ define='HAVE_LITTLE_ENDIAN', -+ msg="Checking for HAVE_LITTLE_ENDIAN - runtime") -+ conf.CHECK_CODE("""union { int i; char c[sizeof(int)]; } u; -+ u.i = 0x01020304; -+ return u.c[0] == 0x01 && u.c[1] == 0x02 && u.c[2] == 0x03 && u.c[3] == 0x04 ? 0 : 1;""", -+ addmain=True, execute=True, -+ define='HAVE_BIG_ENDIAN', -+ msg="Checking for HAVE_BIG_ENDIAN - runtime") -+ -+ # Extra sanity check. -+ if conf.CONFIG_SET("HAVE_BIG_ENDIAN") == conf.CONFIG_SET("HAVE_LITTLE_ENDIAN"): -+ Logs.error("Failed endian determination. The PDP-11 is back?") -+ sys.exit(1) -+ else: -+ if conf.CONFIG_SET("HAVE_BIG_ENDIAN"): -+ conf.DEFINE('WORDS_BIGENDIAN', 1) - - # check if signal() takes a void function - if conf.CHECK_CODE('return *(signal (0, 0)) (0) == 1', -diff --git a/lib/ccan/wscript b/lib/ccan/wscript -index a0b5406..5b3a910 100644 ---- a/lib/ccan/wscript -+++ b/lib/ccan/wscript -@@ -25,61 +25,6 @@ def configure(conf): - conf.CHECK_CODE('int __attribute__((used)) func(int x) { return x; }', - addmain=False, link=False, cflags=conf.env['WERROR_CFLAGS'], - define='HAVE_ATTRIBUTE_USED') -- # We try to use headers for a compile-time test. -- conf.CHECK_CODE(code = """#ifdef __BYTE_ORDER -- #define B __BYTE_ORDER -- #elif defined(BYTE_ORDER) -- #define B BYTE_ORDER -- #endif -- -- #ifdef __LITTLE_ENDIAN -- #define LITTLE __LITTLE_ENDIAN -- #elif defined(LITTLE_ENDIAN) -- #define LITTLE LITTLE_ENDIAN -- #endif -- -- #if !defined(LITTLE) || !defined(B) || LITTLE != B -- #error Not little endian. -- #endif""", -- headers="endian.h sys/endian.h", -- define="HAVE_LITTLE_ENDIAN") -- conf.CHECK_CODE(code = """#ifdef __BYTE_ORDER -- #define B __BYTE_ORDER -- #elif defined(BYTE_ORDER) -- #define B BYTE_ORDER -- #endif -- -- #ifdef __BIG_ENDIAN -- #define BIG __BIG_ENDIAN -- #elif defined(BIG_ENDIAN) -- #define BIG BIG_ENDIAN -- #endif -- -- #if !defined(BIG) || !defined(B) || BIG != B -- #error Not big endian. -- #endif""", -- headers="endian.h sys/endian.h", -- define="HAVE_BIG_ENDIAN") -- -- if not conf.CONFIG_SET("HAVE_BIG_ENDIAN") and not conf.CONFIG_SET("HAVE_LITTLE_ENDIAN"): -- # That didn't work! Do runtime test. -- conf.CHECK_CODE("""union { int i; char c[sizeof(int)]; } u; -- u.i = 0x01020304; -- return u.c[0] == 0x04 && u.c[1] == 0x03 && u.c[2] == 0x02 && u.c[3] == 0x01 ? 0 : 1;""", -- addmain=True, execute=True, -- define='HAVE_LITTLE_ENDIAN', -- msg="Checking for HAVE_LITTLE_ENDIAN - runtime") -- conf.CHECK_CODE("""union { int i; char c[sizeof(int)]; } u; -- u.i = 0x01020304; -- return u.c[0] == 0x01 && u.c[1] == 0x02 && u.c[2] == 0x03 && u.c[3] == 0x04 ? 0 : 1;""", -- addmain=True, execute=True, -- define='HAVE_BIG_ENDIAN', -- msg="Checking for HAVE_BIG_ENDIAN - runtime") -- -- # Extra sanity check. -- if conf.CONFIG_SET("HAVE_BIG_ENDIAN") == conf.CONFIG_SET("HAVE_LITTLE_ENDIAN"): -- Logs.error("Failed endian determination. The PDP-11 is back?") -- sys.exit(1) - - conf.CHECK_CODE('return __builtin_choose_expr(1, 0, "garbage");', - link=True, --- -1.9.1 - |