Skip to content

Commit

Permalink
Update README.osx
Browse files Browse the repository at this point in the history
  • Loading branch information
bsampath committed Mar 25, 2013
1 parent b798cac commit 0039f56
Showing 1 changed file with 18 additions and 12 deletions.
30 changes: 18 additions & 12 deletions folly/README.osx
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,23 @@ In addition to the dependencies listed in the README file, the following would b
# make
# make install

Major source changes
--------------------
Most Macs come with a case insensitive file system. This causes issue with String.h in folly. As a
temporary fix, it has been renamed as FollyString.h to prevent it from interfering with standard headers.
Besides this, the following linux/gcc-isms have been modified to enable compilation on OSX,
Compiler and OS Versions
------------------------
This successfully compiled on Mountain Lion with GCC 4.7.2. Three unit tests that fail have been disabled
for mac OSX
- eventfd_test
- thread_cached_int_test
- thread_local_test

1. byteswap.h is auto generated on compile, when the system doesn't have one.
2. Added boost system and gnulib m4 macros
3. OSX does not have clock_getres and clock_gettime functions. Created these as wrappers around mach time
kernel interfaces.
4. Handled the case where the POPCNT instruction is not present for the processor architecture and gnu
indirect functions are not supported.
5. Handled the __GNU_PREREQ missing case with a locally defined macro.
Major changes
-------------
- Most Macs come with a case insensitive file system. This causes issue with String.h in folly. As a
temporary fix, it has been renamed as FollyString.h to prevent it from interfering with standard headers.
- byteswap.h is auto generated on compile, when the system doesn't have one.
- Added boost system and gnulib m4 macros
- OSX does not have clock_getres and clock_gettime functions. Created these as wrappers around mach time
kernel interfaces.
- Handled the case where the POPCNT instruction is not present for the processor architecture and gnu
indirect functions are not supported.
- Handled the __GNU_PREREQ missing case with a locally defined macro.

0 comments on commit 0039f56

Please sign in to comment.