diff options
author | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2011-12-20 00:51:44 +0000 |
---|---|---|
committer | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2011-12-20 00:51:44 +0000 |
commit | 016c273333231759f122b5daf80bf89155cd34a9 (patch) | |
tree | b376db91c16e1c7c2591ef4ef426a9fd87918b45 /os.h | |
parent | 87ffbd6e2fb730264ddfcc0f3b6137008e988801 (diff) | |
download | flashrom-016c273333231759f122b5daf80bf89155cd34a9.zip flashrom-016c273333231759f122b5daf80bf89155cd34a9.tar.gz |
Cross-compilation fixes
Switch from host OS detection to target OS detection.
Complain about unknown target OS/architecture.
Disable annoying format string warnings on DJGPP.
Native and cross-compilation now usually just require setting CC.
Examples:
make CC=i586-pc-msdosdjgpp-gcc
make CC="clang -m64"
make CC=i686-w64-mingw32-gcc
Tested for a boatload of native and cross compilation configurations.
There is a new target "make libpayload" in case you don't want to
specify all tools by hand.
Corresponding to flashrom svn r1476.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: David Hendricks <dhendrix@google.com>
Diffstat (limited to 'os.h')
-rw-r--r-- | os.h | 58 |
1 files changed, 58 insertions, 0 deletions
@@ -0,0 +1,58 @@ +/* + * This file is part of the flashrom project. + * + * Copyright (C) 2011 Carl-Daniel Hailfinger + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * Header file for OS checking. + */ + +// Solaris +#if defined (__sun) && (defined(__i386) || defined(__amd64)) +#define __FLASHROM_OS__ "SunOS" +// OS X +#elif defined(__MACH__) && defined(__APPLE__) +#define __FLASHROM_OS__ "Darwin" +// FreeBSD +#elif defined(__FreeBSD__) +#define __FLASHROM_OS__ "FreeBSD" +// DragonFlyBSD +#elif defined(__DragonFly__) +#define __FLASHROM_OS__ "DragonFlyBSD" +// NetBSD +#elif defined(__NetBSD__) +#define __FLASHROM_OS__ "NetBSD" +// OpenBSD +#elif defined(__OpenBSD__) +#define __FLASHROM_OS__ "OpenBSD" +// DJGPP +#elif defined(__DJGPP__) +#define __FLASHROM_OS__ "DOS" +// MinGW (always has _WIN32 available) +#elif defined(__MINGW32__) +#define __FLASHROM_OS__ "MinGW" +// Cygwin (usually without _WIN32) +#elif defined( __CYGWIN__) +#define __FLASHROM_OS__ "Cygwin" +// libpayload +#elif defined(__LIBPAYLOAD__) +#define __FLASHROM_OS__ "libpayload" +// Linux +#elif defined(__linux__) +#define __FLASHROM_OS__ "Linux" +#endif +__FLASHROM_OS__ |