Skip to contentSkip to conversation

tools/os_support: add OS X Lion support

PATCH New Andreas Bießmann 4 participants 6 messages Nov 24, 2011 – Nov 26, 2011

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 tools/os_support: add OS X Lion support

OS X Lion's c-library implements getline(), therefore prevent including the old helper implementation for __DARWIN_C_LEVEL < 200809L.

Without this patch following error occours:

---8<---
In file included from os_support.h:32,

                 from img2srec.c:55:

getline.h:1: error: conflicting types for ?getline? /usr/include/stdio.h:449: error: previous declaration of ?getline? was here
--->8---

---
total: 0 errors, 0 warnings, 15 lines checked

NOTE: Ignored message types: COMPLEX_MACRO CONSIDER_KSTRTO MINMAX MULTISTATEMENT_MACRO_USE_DO_WHILE

0001-tools-os_support-add-OS-X-Lion-support.patch has no obvious style problems and is ready for submission.

 tools/os_support.c |    2 +-
 tools/os_support.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
tools/os_support.c +1 -1
index 1ed89e6..319c0fe 100644
@@ -23,6 +23,6 @@
 #ifdef __MINGW32__
 #include "mingw_support.c"
 #endif
-#ifdef __APPLE__
+#if defined(__APPLE__) && __DARWIN_C_LEVEL < 200809L
 #include "getline.c"
 #endif
tools/os_support.h +1 -1
index 7dcbee4..5bf7add 100644
@@ -28,7 +28,7 @@
 #include "mingw_support.h"
 #endif
 
-#ifdef __APPLE__
+#if defined(__APPLE__) && __DARWIN_C_LEVEL < 200809L
 #include "getline.h"
 #endif
 
Signature · 1 line
1.7.7.4
#1 lore raw

PATCH 1/1 tools/os_support: add OS X Lion support

Quoted 44 lines

OS X Lion's c-library implements getline(), therefore prevent including the old helper implementation for __DARWIN_C_LEVEL < 200809L.

Without this patch following error occours:

---8<---
In file included from os_support.h:32,

                 from img2srec.c:55:

getline.h:1: error: conflicting types for ?getline? /usr/include/stdio.h:449: error: previous declaration of ?getline? was here
--->8---

---
total: 0 errors, 0 warnings, 15 lines checked

NOTE: Ignored message types: COMPLEX_MACRO CONSIDER_KSTRTO MINMAX MULTISTATEMENT_MACRO_USE_DO_WHILE

0001-tools-os_support-add-OS-X-Lion-support.patch has no obvious style problems and is ready for submission.

 tools/os_support.c |    2 +-
 tools/os_support.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
tools/os_support.c +1 -1
index 1ed89e6..319c0fe 100644
@@ -23,6 +23,6 @@
 #ifdef __MINGW32__
 #include "mingw_support.c"
 #endif
-#ifdef __APPLE__
+#if defined(__APPLE__) && __DARWIN_C_LEVEL < 200809L
 #include "getline.c"
 #endif
tools/os_support.h +0 -0
index 7dcbee4..5bf7add 100644

tools/os_support.h line 33

Quoted 7 lines
tools/os_support.h +1 -1
@@ -28,7 +28,7 @@
 #include "mingw_support.h"
 #endif
 
-#ifdef __APPLE__
+#if defined(__APPLE__) && __DARWIN_C_LEVEL < 200809L
 #include "getline.h"
 #endif
#2 lore raw

PATCH 1/1 tools/os_support: add OS X Lion support

Quoted 53 lines
Quoted 53 lines

OS X Lion's c-library implements getline(), therefore prevent including the old helper implementation for __DARWIN_C_LEVEL < 200809L.

Without this patch following error occours:

---8<---
In file included from os_support.h:32,

                 from img2srec.c:55:

getline.h:1: error: conflicting types for ?getline? /usr/include/stdio.h:449: error: previous declaration of ?getline? was here
--->8---

---
total: 0 errors, 0 warnings, 15 lines checked

NOTE: Ignored message types: COMPLEX_MACRO CONSIDER_KSTRTO MINMAX MULTISTATEMENT_MACRO_USE_DO_WHILE

0001-tools-os_support-add-OS-X-Lion-support.patch has no obvious style problems and is ready for submission.

 tools/os_support.c |    2 +-
 tools/os_support.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
tools/os_support.c +1 -1
index 1ed89e6..319c0fe 100644
@@ -23,6 +23,6 @@
 
 #ifdef __MINGW32__
 #include "mingw_support.c"
 #endif
 
-#ifdef __APPLE__
+#if defined(__APPLE__) && __DARWIN_C_LEVEL < 200809L

#include "getline.c"
#endif

tools/os_support.h +0 -0
index 7dcbee4..5bf7add 100644
@@ -28,7 +28,7 @@
 
 #include "mingw_support.h"
 #endif
 
Quoted 7 lines
Quoted 5 lines
tools/os_support.h +1 -1
-#ifdef __APPLE__
+#if defined(__APPLE__) && __DARWIN_C_LEVEL < 200809L
 
 #include "getline.h"

#endif

Picked to:
u-boot-staging.git / marek.vasut at gmail.com

#3 lore raw

PATCH 1/1 tools/os_support: add OS X Lion support

In reply to Andreas Bießmann

I've been trying to get the compiler to run on Mac OS X for a bit, but haven't managed to get it to build (let alone get U-Boot to build). Any chance you could send me some pointers to how you got one up and running?

Quoted 58 lines · Andreas Bie?mann

OS X Lion's c-library implements getline(), therefore prevent including the old helper implementation for __DARWIN_C_LEVEL < 200809L.

Without this patch following error occours:

---8<---
In file included from os_support.h:32,
? ? ? ? ? ? ? ? from img2srec.c:55:
getline.h:1: error: conflicting types for ?getline? /usr/include/stdio.h:449: error: previous declaration of ?getline? was here
--->8---

---
total: 0 errors, 0 warnings, 15 lines checked

NOTE: Ignored message types: COMPLEX_MACRO CONSIDER_KSTRTO MINMAX MULTISTATEMENT_MACRO_USE_DO_WHILE

0001-tools-os_support-add-OS-X-Lion-support.patch has no obvious style problems and is ready for submission.

?tools/os_support.c | ? ?2 +-
?tools/os_support.h | ? ?2 +-
?2 files changed, 2 insertions(+), 2 deletions(-)

tools/os_support.c +0 -0
index 1ed89e6..319c0fe 100644
@@ -23,6 +23,6 @@

?#ifdef __MINGW32__
?#include "mingw_support.c"
?#endif

tools/os_support.c +1 -1
-#ifdef __APPLE__
+#if defined(__APPLE__) && __DARWIN_C_LEVEL < 200809L

?#include "getline.c"
?#endif

tools/os_support.h +0 -0
index 7dcbee4..5bf7add 100644
@@ -28,7 +28,7 @@

?#include "mingw_support.h"
?#endif

tools/os_support.h +1 -1
-#ifdef __APPLE__
+#if defined(__APPLE__) && __DARWIN_C_LEVEL < 200809L

?#include "getline.h"
?#endif

--
1.7.7.4

_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

#4 lore raw

PATCH 1/1 tools/os_support: add OS X Lion support

Dear Andy Fleming,

Am 25.11.2011 um 20:29 schrieb Andy Fleming:

Quoted 2 lines

I've been trying to get the compiler to run on Mac OS X for a bit, but haven't managed to get it to build (let alone get U-Boot to build).

Well building sandbox will (currently) not work. But having a (self compiled) GNU cross toolchain for some architecture you can build u-boot for boards with that arch. I've tested some arm devices and can successfully build u-boot for at91rm9200ek, at91sam9260ek, dockstar and devkit8000 on my OS X box (since 10.5). Last upgrade to 10.7 broke the mentioned getline() in tools.

Quoted 2 lines

Any chance you could send me some pointers to how you got one up and running?

Getting a cross toolchain running on OS X is (nearly) the same effort than using a linux box as host system. You need to get the tools for building the toolchain, the sources for the toolchain itself and some receipts to build it.
I use fink [1] to get the base system (gnu coreutils, flex/bison, awk, sed, ?) and then build my toolchain from scratch with some self built makefiles (I could provide them but they are rather outdated). You can also use macports [2], AFAIK they have some ports for at least gnu arm cross chains.

If you like to build your toolchain for your own I recommend reading some about 'How to build a cross toolchain'. Dan Kegel's (outdated) 'Building and Testing gcc toolchain' [3] has some pointers for OS X as host system and is in general a good starting point for toolchain building. LFS [4] has some general pointers about building a toolchain from scratch and CLFS [5] considers special cases for cross compilation. Another starting point could be crosstool-ng [6], ELDK [7], buildroot [8] and a lot of other collections of receipts to build your toolchain (note I have used none of them on OS X but it may work).
I'm currently trying to get pengutronix ptxdist [9] working on OS X to build my toolchain with that tool (OSELAS toolchain [10]). We use these toolchain at work, using it at home too would be great.

I hope I could answer your question, if not feel free to ask ...

best regards

Andreas Bie?mann

[1] http://www.finkproject.org/
[2] http://www.macports.org/
[3] http://kegel.com/crosstool/crosstool-0.43/doc/crosstool-howto.html
[4] http://www.linuxfromscratch.org/
[5] http://trac.cross-lfs.org/
[6] http://crosstool-ng.org/
[7] http://www.denx.de/wiki/DULG/ELDK
[8] http://buildroot.uclibc.org/
[9] http://ptxdist.org/software/ptxdist/index_en.html
[10] http://www.ptxdist.org/oselas/toolchain/index_en.html

#5 lore raw

PATCH 1/1 tools/os_support: add OS X Lion support

In reply to Andy Fleming
Quoted 4 lines · On Friday 25 November 2011 14:29:02 Andy Fleming wrote:

I've been trying to get the compiler to run on Mac OS X for a bit, but haven't managed to get it to build (let alone get U-Boot to build). Any chance you could send me some pointers to how you got one up and running?

i don't recall having any problems when compiling binutils/gcc to run on OS X. i had to disable nls, but that was easy enough.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20111126/f690fefb/attachment.pgp>