Fix STR #2582 (Mac OS): The problem: under Mac OS, file config.h can be used with distinct

architectures when using configure --with-archflags option, thus file config.h should not contain
architecture-dependent definitions.
The fix: 1) don't use autoconf's endianness determination procedure because it can't give a result
that fits both big and little endian architectures.
2) have config.h include a mac-specific file under Mac OS.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8511 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Manolo Gouy 2011-03-06 16:54:58 +00:00
parent cff882f34d
commit 937ddb60c1
3 changed files with 46 additions and 2 deletions

View File

@ -161,8 +161,12 @@
*
* Byte order of your machine: 1 = big-endian, 0 = little-endian.
*/
#ifdef __APPLE__
#include <mac_endianness.h>
#else
#define WORDS_BIGENDIAN 0
#endif
/*
* U16, U32, U64:

View File

@ -427,7 +427,9 @@ dnl this will only be used to compile resources for Windows .exe files
AC_PATH_TOOL(RC,windres)
dnl Architecture checks...
AC_C_BIGENDIAN
if test "$uname" != Darwin; then
AC_C_BIGENDIAN
fi
AC_CHECK_SIZEOF(short, 2)
AC_CHECK_SIZEOF(int, 4)

38
mac_endianness.h Normal file
View File

@ -0,0 +1,38 @@
/*
* "$Id$"
*
* Mac-specific configuration file for the Fast Light Tool Kit (FLTK).
*
* Copyright 1998-2011 by Bill Spitzak and others.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA.
*
* Please report all bugs and problems on the following page:
*
* http://www.fltk.org/str.php
*/
#ifdef __APPLE__
# ifdef __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# else
# define WORDS_BIGENDIAN 0
# endif
#endif
/*
* End of "$Id$".
*/