[PATCH] Initial AIX portability fixes.

Subsystems: kernel build + files below scripts/ (unless maintained elsewhere), the rest

DORMANTno replies

3 messages, 2 authors, 2016-06-15 · open the first message on its own page

[PATCH] Initial AIX portability fixes.

From: Jason Riedy <hidden>
Date: 2016-06-15 22:42:14

Added an AIX clause in the Makefile; that clause likely
will be wrong for any AIX pre-5.2, but I can only test
on 5.3.  mailinfo.c was missing the compat header file,
and convert-objects.c needs to define a specific
_XOPEN_SOURCE as well as _XOPEN_SOURCE_EXTENDED.

Signed-off-by: E. Jason Riedy <redacted>

---

 Makefile          |    4 ++++
 convert-objects.c |    3 ++-
 mailinfo.c        |    1 +
 3 files changed, 7 insertions(+), 1 deletions(-)

54b8c282e017b246612b94bcbf5b88ab39c042a0
diff --git a/Makefile b/Makefile
index 425c519..01b6643 100644
--- a/Makefile
+++ b/Makefile
@@ -243,6 +243,10 @@ ifeq ($(uname_S),NetBSD)
 	ALL_CFLAGS += -I/usr/pkg/include
 	ALL_LDFLAGS += -L/usr/pkg/lib -Wl,-rpath,/usr/pkg/lib
 endif
+ifeq ($(uname_S),AIX)
+	NO_STRCASESTR=YesPlease
+	NEEDS_LIBICONV=YesPlease
+endif
 ifneq (,$(findstring arm,$(uname_M)))
 	ARM_SHA1 = YesPlease
 endif
diff --git a/convert-objects.c b/convert-objects.c
index d78a8b4..b49bce2 100644
--- a/convert-objects.c
+++ b/convert-objects.c
@@ -1,4 +1,5 @@
-#define _XOPEN_SOURCE /* glibc2 needs this */
+#define _XOPEN_SOURCE 500 /* glibc2 and AIX 5.3L need this */
+#define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
 #include <time.h>
 #include "cache.h"
 
diff --git a/mailinfo.c b/mailinfo.c
index 3b97a89..d4b4163 100644
--- a/mailinfo.c
+++ b/mailinfo.c
@@ -8,6 +8,7 @@
 #include <string.h>
 #include <ctype.h>
 #include <iconv.h>
+#include "git-compat-util.h"
 #include "cache.h"
 
 static FILE *cmitmsg, *patchfile;
-- 
0.99.9.GIT

Re: [PATCH] Initial AIX portability fixes.

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:42:14

Hi,

On Tue, 6 Dec 2005, Jason Riedy wrote:
-#define _XOPEN_SOURCE /* glibc2 needs this */
+#define _XOPEN_SOURCE 500 /* glibc2 and AIX 5.3L need this */
+#define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
Why not enclose the #define in #ifndef/#endif, and do the real magic in 
the Makefile? Within the AIX clause:

	ALL_CFLAGS += -D_XOPEN_SOURCE=500 -XOPEN_SOURCE_EXTENDED=1

This way the source does not get cluttered with platform dependent 
defines.

Hth,
Dscho

Re: [PATCH] Initial AIX portability fixes.

From: Jason Riedy <hidden>
Date: 2016-06-15 22:42:14

And Johannes Schindelin writes:
 - Why not enclose the #define in #ifndef/#endif, and do the real magic in 
 - the Makefile? Within the AIX clause:
 - 	ALL_CFLAGS += -D_XOPEN_SOURCE=500 -XOPEN_SOURCE_EXTENDED=1

Because other files do _not_ compile when given those options.
I'm going for minimal changes to the existing structure; the
#define for glibc2 has been there a long, long time.  Yes, it
probably can be done better, but these are 1.0rc versions...

Jason
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help