OpenBSD patches for base and build, part 2

base/base.gyp: 
  - exclude test/test_file_util_linux.cc on OpenBSD because of
    missing fdatasync()

base/base.gypi:
  - include linux_util.cc on OpenBSD too
  - exclude some linux specific files from the OpenBSD build
    because the openbsd implementation is different

base/file_util_posix.cc:
  - Use file_util::GetTempDir directly to get the shm dir
    on !linux

base/sys_info_freebsd.cc:
   - return 0 and do a NOTREACHED() in case sysctlbyname() fails

base/sys_info_openbsd.cc:
  - cleanup includes
  - use arraysize() in the sysctl() call
  - implement SysInfo::MaxSharedMemorySize()

build/common.gypi:
  - -Wno-deprecated is C++ only flag so move it to cflags_cc
  - Do not exclude linux specific files, dirs on OpenBSD since
    90% of it is sharable

base/sys_info_linux.cc:
  - DCHECK if the read string is empty
  - Use base::StringToInt64() to convert the string
    to an int64
  - DCHECK if the returned int64 is okay for a size_t
  - call NOTREACHED() and return 0 if fails

BUG=
TEST=runs on linux?


Review URL: http://codereview.chromium.org/8382001

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106984 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/build/common.gypi b/build/common.gypi
index cc29fc1..d6ba8afe 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -1153,9 +1153,11 @@
               '-Wextra',
               '-Werror',
             ],
-            'cflags': [
+            'cflags_cc': [
               # Don't warn about hash_map in third-party code.
               '-Wno-deprecated',
+            ],
+            'cflags': [
               # Don't warn about printf format problems.
               # This is off by default in gcc but on in Ubuntu's gcc(!).
               '-Wno-format',
@@ -1246,7 +1248,10 @@
               ['exclude', '(^|/)(wayland)_[^/]*\\.(h|cc)$'],
             ],
           }],
-          ['OS!="linux"', {
+          # Do not exclude the linux files on OpenBSD since most of them can be
+          # shared at this point.
+          # In case a file is not needed, it is going to be excluded later on.
+          ['OS!="linux" and OS!="openbsd"', {
             'sources/': [
               ['exclude', '_linux(_unittest)?\\.(h|cc)$'],
               ['exclude', '(^|/)linux/'],