Cleanup: Get this rid of "this->" in fpdfsdk/
[pdfium.git] / build / standalone.gypi
index 967db1e..c0eaef4 100644 (file)
@@ -42,6 +42,7 @@
     'target_arch%': '<(target_arch)',
     'werror%': '-Werror',
     'v8_optimized_debug%': 0,
+    'v8_use_external_startup_data%': 0,
     'icu_gyp_path': '../v8/third_party/icu/icu.gyp',
     'conditions': [
       ['OS == "win"', {
@@ -57,7 +58,7 @@
       'Debug': {
         'cflags': [
           '-g',
-          '-O0',          
+          '-O0',
           '-fdata-sections',
           '-ffunction-sections',
         ],
           }],
         ],  # conditions
       },
+      'Debug_x64': {
+        'inherit_from': ['Debug'],
+        'msvs_configuration_platform': 'x64',
+      },
+      'Release_x64': {
+        'inherit_from': ['Release'],
+        'msvs_configuration_platform': 'x64',
+      },
     },
-    'defines!': [
-      'DEBUG',
-    ],
     'cflags': [
       '-Wall',
       '-W',
+      '-Wno-missing-field-initializers',
+      # Code might someday be made clean for -Wsign-compare, but for now
+      # this produces too much noise to be useful.
+      '-Wno-sign-compare',
       '-Wno-unused-parameter',
-      '-pthread', '-fno-exceptions',
+      '-pthread',
+      '-fno-exceptions',
       '-fvisibility=hidden',
     ],
     'cflags_cc': [
+      '-std=gnu++0x',
       '-Wnon-virtual-dtor',
       '-fno-rtti',
     ],
     'ldflags': [
       '-pthread',
     ],
+    'defines': [
+      # Don't use deprecated V8 APIs anywhere.
+      'V8_DEPRECATION_WARNINGS',
+    ],
     'msvs_cygwin_dirs': ['<(DEPTH)/v8/third_party/cygwin'],
     'msvs_configuration_attributes': {
       'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)',
       'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
       'CharacterSet': '1',
     },
+    'msvs_disabled_warnings': [4800, 4996, 4456, 4457, 4458, 4459, 4091],
+    # 4456, 4457, 4458, 4459 are variable shadowing warnings that are new in
+    # VS2015.
+    # C4091: 'typedef ': ignored on left of 'X' when no variable is
+    #                    declared.
+    # This happens in a number of Windows headers with VS 2015.
     'msvs_settings': {
       'VCCLCompilerTool': {
         'MinimalRebuild': 'false',
         'EnableFunctionLevelLinking': 'true',
         'RuntimeTypeInfo': 'false',
         'WarningLevel': '3',
-        'WarnAsError': 'false',
         'DebugInformationFormat': '3',
         'Detect64BitPortabilityProblems': 'false',
         'conditions': [
           }, {
             'ExceptionHandling': '0',
           }],
+          ['target_arch=="x64"', {
+            # 64-bit warnings need to be resolved.
+            # https://code.google.com/p/pdfium/issues/detail?id=101
+            'WarnAsError': 'false',
+          }, {
+            'WarnAsError': 'true',
+          }],
         ],
       },
       'VCLibrarianTool': {
     },
     'xcode_settings': {
       'ALWAYS_SEARCH_USER_PATHS': 'NO',
+      'CLANG_CXX_LANGUAGE_STANDARD': 'gnu++11',
       'GCC_CW_ASM_SYNTAX': 'NO',                # No -fasm-blocks
       'GCC_DYNAMIC_NO_PIC': 'NO',               # No -mdynamic-no-pic
                                                 # (Equivalent to -fPIC)
         ],  # target_conditions
       },  # target_defaults
     }],  # OS=="mac"
+    ['v8_use_external_startup_data==1', {
+      'target_defaults': {
+        'defines': [
+          'V8_USE_EXTERNAL_STARTUP_DATA',
+        ],
+      },
+    }],  # v8_use_external_startup_data==1
   ],
   'xcode_settings': {
     # See comment in Chromium's common.gypi for why this is needed.
     'SYMROOT': '<(DEPTH)/xcodebuild',
   }
-}
\ No newline at end of file
+}