marksalpeter / yaffs2utils

Automatically exported from code.google.com/p/yaffs2utils
GNU General Public License v2.0
0 stars 1 forks source link

support for mac os x #12

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
yaffs2utils_endian.c loads byteorder.h, which is linux only, and prevents from 
compiling.

ignoring the header seems to work on mac

#ifdef __MACH__ 
#else 
#include <asm/byteorder.h>
#endif /* __MACH__ */ 

I believe the equivalent functionality can be found in 

#include <libkern/OSByteOrder.h> 

Original issue reported on code.google.com by eddie.tejeda on 18 Apr 2011 at 11:57

GoogleCodeExporter commented 8 years ago
Which version of yaffs2utils are used?
Since I do not have the mac computer,
I can try to provide the patch to you and integrate it into 0.2 version.

Thanks.

Original comment by penguin.lin on 16 May 2011 at 8:15

GoogleCodeExporter commented 8 years ago
Would you try this patch to solve the problem?

Thanks a lot.

===== PATCH ====

diff -uar old/src/yaffs2utils_endian.c new/src/yaffs2utils_endian.c
--- old/src/yaffs2utils_endian.c        2011-06-08 13:32:39.000000000 +0800
+++ new/src/yaffs2utils_endian.c        2011-06-08 13:32:47.000000000 +0800
@@ -18,7 +18,6 @@

 #include <stdio.h>
 #include <string.h>
-#include <asm/byteorder.h>

 #include "yaffs_packedtags1.h"
 #include "yaffs_packedtags2.h"
diff -uar old/src/yaffs2utils_endian.h new/src/yaffs2utils_endian.h
--- old/src/yaffs2utils_endian.h        2011-06-08 13:32:39.000000000 +0800
+++ new/src/yaffs2utils_endian.h        2011-06-08 13:32:47.000000000 +0800
@@ -19,6 +19,12 @@
 #ifndef _YAFFS2UTILS_ENDIAN_H
 #define _YAFFS2UTILS_ENDIAN_H

+#ifdef __MACH__
+#include <libkern/OSByteOrder.h>
+#else
+#include <asm/byteorder.h>
+#endif
+
 void oh_endian_transform (struct yaffs_obj_hdr *oh);
 void packedtags1_endian_transform (struct yaffs_packed_tags1 *pt, unsigned reverse);
 void packedtags2_tagspart_endian_transform (struct yaffs_packed_tags2 *t);

Original comment by penguin.lin on 8 Jun 2011 at 5:38

GoogleCodeExporter commented 8 years ago

Original comment by penguin.lin on 7 Jul 2011 at 10:20

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Revision 21 can be build using the above patch as well as by adding:

#ifndef PATH_MAX
#define PATH_MAX 1024
#endif

below the #include statements in mkyaffs2.c.

The latest revision can not be compiled because MTD is not available on OS X.

Original comment by benjamin...@gmail.com on 4 Jan 2012 at 3:34

GoogleCodeExporter commented 8 years ago
Dear Benjamin:

Did you mean the file "mtd/mtd-user.h"?
The file "yaffs2utils_mtd.h" has been removed from the revision 25.
In my opinion, the files related to MTD should be included by using the header 
files of the tool chain (cross-build) or your local system(native-build).

About the "PATH_MAX" definition of OSX, I will fix it in the next revision.

Best Regards,
by Luen-Yung.

Original comment by penguin.lin on 16 Jan 2012 at 1:43

GoogleCodeExporter commented 8 years ago
Dear Benjamin:

For the issue about PATH_MAX definition of OSX, would you try to include 
"sys/syslimits.h" to solve the problem? such as: 

#ifndef PATH_MAX
#include <sys/syslimits.h>
#endif

Thanks a lot.

Best Regards,
by Luen-Yung.

Original comment by penguin.lin on 16 Jan 2012 at 1:54