aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/9c19
-rwxr-xr-xbin/9l13
-rw-r--r--include/u.h4
-rw-r--r--src/cmd/mkfile2
-rw-r--r--src/mk.AIX-power2
-rw-r--r--src/mkmk.sh6
6 files changed, 35 insertions, 11 deletions
diff --git a/bin/9c b/bin/9c
index 0f836d24..320a1634 100755
--- a/bin/9c
+++ b/bin/9c
@@ -82,6 +82,23 @@ useclang()
cflags="$ngflags -g"
}
+usexlc()
+{
+ cc=${CC9:-xlc_r}
+ ngflags=" \
+ -c \
+ -O0 \
+ -qmaxmem=-1 \
+ -qsuppress=1506-236 \
+ -qsuppress=1506-358 \
+ -qsuppress=1500-010 \
+ -qsuppress=1506-224 \
+ -qsuppress=1506-1300 \
+ -qsuppress=1506-342 \
+ "
+ cflags="$ngflags -g -qfullpath"
+}
+
tag="${SYSNAME:-`uname`}-${OBJTYPE:-`uname -m`}-${CC9:-cc}"
case "$tag" in
*DragonFly*gcc*|*BSD*gcc*) usegcc ;;
@@ -120,7 +137,7 @@ case "$tag" in
cflags="$ngflags -g"
cflags="$cflags -D__sun__ -D__${s}__"
;;
-*AIX*) usegcc
+*AIX*) usexlc
cflags="$ngflags -g -D__AIX__"
;;
*)
diff --git a/bin/9l b/bin/9l
index a10aab72..398adbd8 100755
--- a/bin/9l
+++ b/bin/9l
@@ -61,8 +61,9 @@ case "$tag" in
esac
;;
*AIX*)
- ld=${CC9:-gcc}
- nmflags="-B"
+ ld="${CC9:-xlc_r} -g -O0"
+ nmflags="-A -B"
+ extralibs="$extralibs -lpthread"
;;
*)
echo do not know how to link on "$tag" 1>&2
@@ -113,8 +114,8 @@ then
then
a=`
nm $nmflags $ofiles |
- grep '__p9l_autolib_[a-zA-Z0-9+-]*$' |
- sed 's/.*__p9l_autolib_//' |
+ grep '__p9l_autolib_[a-zA-Z0-9+-]*' |
+ sed 's/.*__p9l_autolib_//; s/:.*//' |
sort -u
`
for i in $a
@@ -144,8 +145,8 @@ then
do
b=`
nm $lpath/lib$i.a 2>/dev/null |
- grep '__p9l_autolib_[a-zA-Z0-9+-]*$' |
- sed 's/.*__p9l_autolib_//' |
+ grep '__p9l_autolib_[a-zA-Z0-9+-]*' |
+ sed 's/.*__p9l_autolib_//; s/:.*//' |
sort -u |
egrep -v '^(thread|draw)$'
`
diff --git a/include/u.h b/include/u.h
index 3bea890e..137b6161 100644
--- a/include/u.h
+++ b/include/u.h
@@ -20,7 +20,7 @@ extern "C" {
#define _NETBSD_SOURCE 1 /* NetBSD */
#define _SVID_SOURCE 1
#define _DEFAULT_SOURCE 1
-#if !defined(__APPLE__) && !defined(__OpenBSD__)
+#if !defined(__APPLE__) && !defined(__OpenBSD__) && !defined(__AIX__)
# define _XOPEN_SOURCE 1000
# define _XOPEN_SOURCE_EXTENDED 1
#endif
@@ -33,7 +33,7 @@ extern "C" {
# define __LONG_LONG_SUPPORTED
#endif
#if defined(__AIX__)
-# define _XOPEN_SOURCE 1
+# define _XOPEN_SOURCE 600
#endif
#if defined(__APPLE__)
# define _DARWIN_NO_64_BIT_INODE /* Snow Leopard */
diff --git a/src/cmd/mkfile b/src/cmd/mkfile
index bc8b5a0d..2d0c657e 100644
--- a/src/cmd/mkfile
+++ b/src/cmd/mkfile
@@ -27,7 +27,7 @@ $PLAN9/bin/lex: $PLAN9/bin/yacc
# This should not be necessary.
$PLAN9/bin/yacc: $O.yacc
- install -c $O.yacc $PLAN9/bin/yacc
+ $INSTALL -c $O.yacc $PLAN9/bin/yacc
$O.yacc: yacc.$O
$LD -o $target $prereq
yacc.$O: yacc.c
diff --git a/src/mk.AIX-power b/src/mk.AIX-power
new file mode 100644
index 00000000..39f8ee8a
--- /dev/null
+++ b/src/mk.AIX-power
@@ -0,0 +1,2 @@
+INSTALL=installbsd
+
diff --git a/src/mkmk.sh b/src/mkmk.sh
index dae87ddf..0d52d3f9 100644
--- a/src/mkmk.sh
+++ b/src/mkmk.sh
@@ -211,5 +211,9 @@ echo cd `pwd`
9c word.c
9c unix.c
9l -o o.mk arc.o archive.o bufblock.o env.o file.o graph.o job.o lex.o main.o match.o mk.o parse.o recipe.o rc.o rule.o run.o sh.o shell.o shprint.o symtab.o var.o varsub.o word.o unix.o
-install o.mk $PLAN9/bin/mk
+if [ `uname` = AIX ]; then
+ installbsd o.mk $PLAN9/bin/mk
+else
+ install o.mk $PLAN9/bin/mk
+fi
cd ..