aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar diego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-12-29 18:01:22 +0000
committerGravatar diego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-12-29 18:01:22 +0000
commit2b1310abba4c1af6207beee0228ea9b8885f86d2 (patch)
tree1605bcdde65efda589d775d212b5a6ddd05cb4c7
parent92a1ac27cb5305f99321e0a884b1a0fab9442704 (diff)
AIX PPC port
patch by "Derek E. Lewis" < -- dlewis -- @ -- solnetworks -- . -- net -- > git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17265 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--Makefile2
-rwxr-xr-xconfigure27
-rw-r--r--osdep/getch2.c6
3 files changed, 31 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index a78557c06c..3be59b6b83 100644
--- a/Makefile
+++ b/Makefile
@@ -395,6 +395,7 @@ LIBS_MPLAYER = libvo/libvo.a \
$(ARCH_LIB) \
$(I18NLIBS) \
$(MATH_LIB) \
+ $(LIBC_LIB) \
$(PRG): $(MPLAYER_DEP)
ifeq ($(TARGET_WIN32),yes)
@@ -424,6 +425,7 @@ LIBS_MENCODER = libmpcodecs/libmpencoders.a \
$(ARCH_LIB) \
$(I18NLIBS) \
$(MATH_LIB) \
+ $(LIBC_LIB) \
$(PRG_MENCODER): $(MENCODER_DEP)
$(CC) $(CFLAGS) -o $(PRG_MENCODER) $(OBJS_MENCODER) $(LIBS_MENCODER)
diff --git a/configure b/configure
index 5e1116254e..7127244cf0 100755
--- a/configure
+++ b/configure
@@ -75,6 +75,7 @@ linux() { issystem "Linux" ; return "$?" ; }
sunos() { issystem "SunOS" ; return "$?" ; }
hpux() { issystem "HP-UX" ; return "$?" ; }
irix() { issystem "IRIX" ; return "$?" ; }
+aix() { issystem "AIX" ; return "$?" ; }
cygwin() { issystem "CYGWIN" ; return "$?" ; }
freebsd() { issystem "FreeBSD" ; return "$?" ; }
netbsd() { issystem "NetBSD" ; return "$?" ; }
@@ -479,7 +480,7 @@ if test -z "$_target" ; then
# OS name
system_name=`uname -s 2>&1`
case "$system_name" in
- Linux|FreeBSD|NetBSD|BSD/OS|OpenBSD|SunOS|QNX|Darwin|GNU|BeOS|MorphOS)
+ Linux|FreeBSD|NetBSD|BSD/OS|OpenBSD|SunOS|QNX|Darwin|GNU|BeOS|MorphOS|AIX)
;;
IRIX*)
system_name=IRIX
@@ -597,6 +598,12 @@ if darwin; then
_ldd="otool -L"
fi
+if aix ; then
+ _ld_libC="-lC"
+else
+ _ld_libC=""
+fi
+
# Check how to call 'head' and 'tail'. Newer versions spit out warnings
# if used as 'head -1' instead of 'head -n 1', but older versions don't
# know about '-n'.
@@ -760,6 +767,9 @@ elif test -r /compat/linux/proc/cpuinfo && not x86 ; then
elif darwin ; then
# use hostinfo on Darwin
_cpuinfo="hostinfo"
+elif aix; then
+ # use 'lsattr' on AIX
+ _cpuinfo="lsattr -E -l proc0"
elif x86; then
# all other OSes try to extract CPU information from a small helper
# program TOOLS/cpuinfo instead
@@ -1181,6 +1191,9 @@ EOF
;;
esac
;;
+ AIX)
+ proc=`$_cpuinfo | grep 'type' | cut -f 7 -d ' ' | sed 's/PowerPC_//'`
+ ;;
esac
if test "$_altivec" = yes; then
echores "$proc altivec"
@@ -1198,6 +1211,9 @@ EOF
604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
+ POWER) _march='-mcpu=power' _mcpu='-mtune=power' ;;
+ POWER2) _march='-mcpu=power2' _mcpu='-mtune=power2' ;;
+ POWER3) _march='-mcpu=power3' _mcpu='-mtune=power3' ;;
*) ;;
esac
# gcc 3.1(.1) and up supports 7400 and 7450
@@ -1216,6 +1232,14 @@ EOF
*) ;;
esac
fi
+ # gcc 3.3 and up supports POWER4
+ if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
+ case "$proc" in
+ POWER4) _march='-mcpu=power4' _mcpu='-mtune=power4'
+ _def_dcbzl='#undef NO_DCBZL' ;;
+ *) ;;
+ esac
+ fi
fi
if test -n "$_mcpu"; then
@@ -7095,6 +7119,7 @@ STATIC_LIB = $_ld_static
ENCA_LIB = $_ld_enca
HAVE_PTHREADS = $_pthreads
MATH_LIB = $_ld_lm
+LIBC_LIB = $_ld_libC
X11_INC = $_inc_x11
X11DIR = $_ld_x11
diff --git a/osdep/getch2.c b/osdep/getch2.c
index 89f369e068..4c40b055c6 100644
--- a/osdep/getch2.c
+++ b/osdep/getch2.c
@@ -220,7 +220,7 @@ static int getch2_status=0;
void getch2_enable(){
#ifdef HAVE_TERMIOS
struct termios tio_new;
-#if defined(__NetBSD__) || defined(__svr4__) || defined(__CYGWIN__) || defined(__OS2__) || defined(__GLIBC__)
+#if defined(__NetBSD__) || defined(__svr4__) || defined(__CYGWIN__) || defined(__OS2__) || defined(__GLIBC__) || defined(_AIX)
tcgetattr(0,&tio_orig);
#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__bsdi__) || defined(__APPLE__) || defined(__DragonFly__)
ioctl(0,TIOCGETA,&tio_orig);
@@ -231,7 +231,7 @@ struct termios tio_new;
tio_new.c_lflag &= ~(ICANON|ECHO); /* Clear ICANON and ECHO. */
tio_new.c_cc[VMIN] = 1;
tio_new.c_cc[VTIME] = 0;
-#if defined(__NetBSD__) || defined(__svr4__) || defined(__CYGWIN__) || defined(__OS2__) || defined(__GLIBC__)
+#if defined(__NetBSD__) || defined(__svr4__) || defined(__CYGWIN__) || defined(__OS2__) || defined(__GLIBC__) || defined(_AIX)
tcsetattr(0,TCSANOW,&tio_new);
#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__bsdi__) || defined(__APPLE__) || defined(__DragonFly__)
ioctl(0,TIOCSETA,&tio_new);
@@ -245,7 +245,7 @@ struct termios tio_new;
void getch2_disable(){
if(!getch2_status) return; // already disabled / never enabled
#ifdef HAVE_TERMIOS
-#if defined(__NetBSD__) || defined(__svr4__) || defined(__CYGWIN__) || defined(__OS2__) || defined(__GLIBC__)
+#if defined(__NetBSD__) || defined(__svr4__) || defined(__CYGWIN__) || defined(__OS2__) || defined(__GLIBC__) || defined(_AIX)
tcsetattr(0,TCSANOW,&tio_orig);
#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__bsdi__) || defined(__APPLE__) || defined(__DragonFly__)
ioctl(0,TIOCSETA,&tio_orig);