From 937ddb60c1a1368b407032ed0153cd7c3108d20d Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Sun, 6 Mar 2011 16:54:58 +0000 Subject: 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 --- configh.in | 6 +++++- configure.in | 4 +++- mac_endianness.h | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 mac_endianness.h diff --git a/configh.in b/configh.in index c0f95fd69..3d1c4d1f0 100644 --- a/configh.in +++ b/configh.in @@ -161,8 +161,12 @@ * * Byte order of your machine: 1 = big-endian, 0 = little-endian. */ - + +#ifdef __APPLE__ +#include +#else #define WORDS_BIGENDIAN 0 +#endif /* * U16, U32, U64: diff --git a/configure.in b/configure.in index c089af4a6..b965761bb 100644 --- a/configure.in +++ b/configure.in @@ -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) diff --git a/mac_endianness.h b/mac_endianness.h new file mode 100644 index 000000000..8005b9c94 --- /dev/null +++ b/mac_endianness.h @@ -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$". + */ -- cgit v1.2.3