dee1cf0cdf
Samba 4.1.x uses the waf build system which isn't very cross-compile friendly, and also some tests are formulated in a way that isn't cross-build friendly either by needing to run them. For this reason the samba4 build system includes a way to define answers for many of the tests, but this support isn't complete and some tests still want to be executed. Samba 4.1.x also requires a proper answers file for each architecture, and at the moment i've only tested for ARM and PowerPC so only those architectures are supported to begin with. To add support for another architecture basically copy one of the cache files to the proper name, enable it in Config.in and adjust endianess and all of the "size of" answers. I'm in the process of automating the sizeof and endianess answers within the samba build system to make them cross friendly to simplify the answers file to just one generic linux variant. The 3.6.x branch is still security supported for the forseeable future. I'm currently working with samba upstream to solve many of these issues but this will probably happen with the yet unreleased 4.2 branch only. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
70 lines
2.4 KiB
Diff
70 lines
2.4 KiB
Diff
From 960d710ee5410a5c03815a5ce6837203be00d218 Mon Sep 17 00:00:00 2001
|
|
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
Date: Thu, 30 Jan 2014 11:14:27 -0300
|
|
Subject: [PATCH 1/3] build: don't execute tests/summary.c
|
|
|
|
tests/summary.c will never be able to be executed when cross compiling.
|
|
Use #error and #warning directives to fail or warn accordingly when
|
|
compiling it.
|
|
|
|
Status: upstream for next branch.
|
|
|
|
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
---
|
|
tests/summary.c | 14 +++++---------
|
|
wscript | 1 -
|
|
2 files changed, 5 insertions(+), 10 deletions(-)
|
|
|
|
diff --git a/tests/summary.c b/tests/summary.c
|
|
index 27f7d4d..0843ee2 100644
|
|
--- a/tests/summary.c
|
|
+++ b/tests/summary.c
|
|
@@ -5,27 +5,23 @@ void exit(int);
|
|
int main()
|
|
{
|
|
#if !defined(HAVE_FCNTL_LOCK)
|
|
- printf("ERROR: No locking available. Running Samba would be unsafe\n");
|
|
- exit(1);
|
|
+#error "ERROR: No locking available. Running Samba would be unsafe"
|
|
#endif
|
|
|
|
#if !(defined(HAVE_IFACE_GETIFADDRS) || defined(HAVE_IFACE_IFCONF) || defined(HAVE_IFACE_IFREQ) || defined(HAVE_IFACE_AIX))
|
|
- printf("WARNING: No automated network interface determination\n");
|
|
+#warning "WARNING: No automated network interface determination"
|
|
#endif
|
|
|
|
#if !(defined(USE_SETEUID) || defined(USE_SETREUID) || defined(USE_SETRESUID) || defined(USE_SETUIDX) || defined(USE_LINUX_THREAD_CREDENTIALS))
|
|
- printf("ERROR: no seteuid method available\n");
|
|
- exit(1);
|
|
+#error "ERROR: no seteuid method available"
|
|
#endif
|
|
|
|
#if !(defined(STAT_STATVFS) || defined(STAT_STATFS3_OSF1) || defined(STAT_STATFS2_BSIZE) || defined(STAT_STATFS4) || defined(STAT_STATFS2_FSIZE) || defined(STAT_STATFS2_FS_DATA))
|
|
- printf("ERROR: No disk free routine!\n");
|
|
- exit(1);
|
|
+#error "ERROR: No disk free routine!"
|
|
#endif
|
|
|
|
#if !((defined(HAVE_RANDOM) || defined(HAVE_RAND)) && (defined(HAVE_SRANDOM) || defined(HAVE_SRAND)))
|
|
- printf("ERROR: No random or srandom routine!\n");
|
|
- exit(1);
|
|
+#error "ERROR: No random or srandom routine!"
|
|
#endif
|
|
|
|
exit(0);
|
|
diff --git a/wscript b/wscript
|
|
index 47b7b50..26431a4 100644
|
|
--- a/wscript
|
|
+++ b/wscript
|
|
@@ -170,7 +170,6 @@ def configure(conf):
|
|
if not conf.CHECK_CODE('#include "tests/summary.c"',
|
|
define='SUMMARY_PASSES',
|
|
addmain=False,
|
|
- execute=True,
|
|
msg='Checking configure summary'):
|
|
raise Utils.WafError('configure summary failed')
|
|
|
|
--
|
|
1.8.3.2
|
|
|