[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-internals
Subject:    RE: [PHP-DEV] php5 as universal binary (Mac OS X)
From:       Christian Speich <kleinweby () kleinweby ! de>
Date:       2007-07-27 18:16:12
Message-ID: 1185560172.6559.15.camel () kleinweby-laptop
[Download RAW message or body]

it looks good, very good :)

i have add the followings lines to the php-config.h
#if defined(__BIG_ENDIAN__)

# undef WORDS_BIGENDIAN

# define WORDS_BIGENDIAN __BIG_ENDIAN__

#endif

Note: __BIG_ENDIAN__ is only defined when we bulid ppc

thank you,
kleinweby

Am Freitag, den 27.07.2007, 12:47 +0200 schrieb Christian Speich:
> thanks,
> 
> thats great :)
> 
> I would be try now if it works.
> 
> I add these two lines after the configure to the main/php-config.h i
> hope its correct:
> #undef WORDS_BIGENDIAN
> #define WORDS_BIGENDIAN __BIG_ENDIAN__
> 
> thank you,
> 
> kleinweby :)
> 
> Am Freitag, den 27.07.2007, 12:23 +0200 schrieb Uwe Schindler:
> > The simpliest would be to create a patch that is included *after* the
> > configure-generated .h file. I do not exactly now, in which PHP/Zend
> > specific .h file the configure generated php_config.h one is included, but
> > that would be the place to place the following macro:
> > 
> > #if defined(MACOSX)   (I do not know the exact macro for detecting osx)
> > # undef WORDS_BIGENDIAN
> > # define WORDS_BIGENDIAN __BIG_ENDIAN__
> > #endif
> > 
> > Just an idea.
> > Or just update to a newer autoconf version that can detect this (I know
> > newer ones do this correctly). But this is not possible for PHP.
> > 
> > -----
> > Uwe Schindler
> > thetaphi@php.net - http://www.php.net
> > NSAPI SAPI developer
> > Bremen, Germany
> > 
> > > -----Original Message-----
> > > From: Antony Dovgal [mailto:antony@zend.com]
> > > Sent: Friday, July 27, 2007 11:46 AM
> > > To: internals@lists.php.net
> > > Subject: Re: [PHP-DEV] php5 as universal binary (Mac OS X)
> > > 
> > > Intel Mac is little-endian, PPC Mac is big-endian.
> > > Endiannes is detected during configure run, that's why the binary works
> > > fine on Intel Mac, but not on PPC.
> > > 
> > > To make it work on both you either need to build separate binaries on PPC
> > > and Intel, and
> > > then merge them (IIRC that was possible), or you need to patch PHP
> > > sources.
> > > In my case patching PHP sources was the easiest solution, so I replaced
> > > WORDS_BIGENDIAN macro (defined by configure) with __BIG_ENDIAN__ (defined
> > > by Mac GCC in compile time).
> > > 
> > > If anyone have any suggestions on how to improve universal binary support
> > > so that
> > > it would not require patching, I'd gladly listen to them.
> > > 
> > > On 27.07.2007 13:15, Christian Speich wrote:
> > > > hello,
> > > >
> > > > I have asked in the gernal php list and they say I should be ask here:
> > > >
> > > > I have an problem with php5 as universal binary on Mac OsX.
> > > >
> > > > The universal binary was build on an intel mac and it works good... on
> > > > an intel mac ;)
> > > >
> > > > When a friend it try on an ppc mac he had some problems.
> > > >
> > > > For example phpsqliteadmin say this error:
> > > > Fatal error: Balloc() allocation exceeds list boundary
> > > > in /Applications/xampp/xamppfiles/phpsqliteadmin/SPSQLite.class.php on
> > > > line 998
> > > >
> > > > And phpmyadmin loads and loads and loads and loads...
> > > >
> > > > BUT my php4 universal binary works perfect on intel and ppc macs... :/
> > > >
> > > > My configure for php5 look like this:
> > > >
> > > > PREFIX=/Applications/xampp/xamppfiles
> > > > SYSCONFDIR=/Applications/xampp/etc
> > > >
> > > > export LD_RUN_PATH="$PREFIX/lib"
> > > > export LD_LIBRARY_PATH="$PREFIX/lib"
> > > > export CFLAGS="-I$PREFIX/include -L$PREFIX/lib
> > > > -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
> > > > export CPPFLAGS="-I$PREFIX/include"
> > > > export CXXFLAGS="-I$PREFIX/include -L$PREFIX/lib"
> > > > export LDFLAGS="-L$PREFIX/lib -I$PREFIX/include"
> > > > export SOFLAGS="-L$PREFIX/lib"
> > > >
> > > > CFLAGS="$CFLAGS -arch i386 -arch ppc" ./configure --prefix=$PREFIX
> > > > --program-suffix=-5.2.3 --libdir=$PREFIX/lib/php/php5 --includedir=
> > > > $PREFIX/include/php/php5 --with-apxs2=$PREFIX/bin/apxs
> > > > --with-config-file-path=$SYSCONFDIR --with-mysql=$PREFIX --disable-debug
> > > > --enable-bcmath --enable-calendar --enable-ctype --enable-dbase
> > > > --enable-discard-path --enable-exif --enable-filepro
> > > > --enable-force-cgi-redirect --enable-ftp --enable-gd-imgstrttf
> > > > --enable-gd-native-ttf --with-ttf --enable-magic-quotes
> > > > --enable-memory-limit --enable-safe-mode --enable-shmop
> > > > --enable-sigchild --enable-sysvsem --enable-sysvshm --enable-track-vars
> > > > --enable-trans-sid --enable-wddx --enable-yp --with-ftp --with-ncurses=
> > > > $PREFIX --with-gdbm=$PREFIX --with-jpeg-dir=$PREFIX --with-png-dir=
> > > > $PREFIX --with-freetype-dir=$PREFIX --without-xpm --with-zlib=yes
> > > > --with-zlib-dir=$PREFIX --with-openssl=$PREFIX --with-expat-dir=$PREFIX
> > > > --enable-xslt=$PREFIX --with-xsl=$PREFIX --with-dom=$PREFIX --with-ldap=
> > > > $PREFIX --with-gd=$PREFIX --with-mysql-sock=$PREFIX/var/mysql/mysql.sock
> > > > --with-mcrypt=$PREFIX --with-mhash=$PREFIX --enable-sockets
> > > > --with-curl=$PREFIX --enable-mbregex --enable-zend-multibyte --with-zip=
> > > > $PREFIX --enable-exif --with-sqlite --with-libxml-dir=$PREFIX
> > > > --enable-soap --enable-pcntl --enable-dbx --with-mysqli=
> > > > $PREFIX/bin/mysql_config --with-bz2=$PREFIX --with-pear=
> > > > $PREFIX/lib/php/pear --with-mssql=$PREFIX --with-imap-dir=$PREFIX
> > > > --with-imap=$PREFIX --enable-mbstring=all --with-pgsql=shared,/usr
> > > > --with-gettext=$PREFIX
> > > >
> > > > I don't think thats this are errors from the php-scripts, I think thats
> > > > an problem with php.
> > > >
> > > > I hope you can help me to resolve this problem
> > > >
> > > > thanks,
> > > > kleinweby
> > > >
> > > 
> > > 
> > > --
> > > Wbr,
> > > Antony Dovgal
> > > 
> > > --
> > > PHP Internals - PHP Runtime Development Mailing List
> > > To unsubscribe, visit: http://www.php.net/unsub.php
> > 
> 

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic