You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ji...@apache.org on 2014/05/01 13:43:45 UTC

svn commit: r1591622 [4/33] - in /httpd/mod_spdy/trunk: ./ base/ base/base.xcodeproj/ base/metrics/ build/ build/all.xcodeproj/ build/build_util.xcodeproj/ build/install.xcodeproj/ build/internal/ build/linux/ build/mac/ build/util/ build/win/ install/...

Added: httpd/mod_spdy/trunk/build/compiler_version.py
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/compiler_version.py?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/compiler_version.py (added)
+++ httpd/mod_spdy/trunk/build/compiler_version.py Thu May  1 11:43:36 2014
@@ -0,0 +1,24 @@
+#!/usr/bin/python
+
+# Copyright 2010 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This script is wrapper for the Chromium version of compiler_version.py.
+
+import os
+
+script_dir = os.path.dirname(__file__)
+chrome_src = os.path.normpath(os.path.join(script_dir, os.pardir, 'third_party', 'chromium', 'src'))
+
+execfile(os.path.join(chrome_src, 'build', 'compiler_version.py'))

Propchange: httpd/mod_spdy/trunk/build/compiler_version.py
------------------------------------------------------------------------------
    svn:eol-style = native

Added: httpd/mod_spdy/trunk/build/features_override.gypi
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/features_override.gypi?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/features_override.gypi (added)
+++ httpd/mod_spdy/trunk/build/features_override.gypi Thu May  1 11:43:36 2014
@@ -0,0 +1,18 @@
+# Copyright 2010 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Chromium expects this file to be here, but for our purposes, it
+# doesn't need to actually do anything.
+
+{}

Added: httpd/mod_spdy/trunk/build/gyp_chromium
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/gyp_chromium?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/gyp_chromium (added)
+++ httpd/mod_spdy/trunk/build/gyp_chromium Thu May  1 11:43:36 2014
@@ -0,0 +1,24 @@
+#!/usr/bin/python
+
+# Copyright 2010 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This script is wrapper for the Chromium version of gyp_chromium.
+
+import os
+
+script_dir = os.path.dirname(__file__)
+chrome_src = os.path.normpath(os.path.join(script_dir, os.pardir, 'third_party', 'chromium', 'src'))
+
+execfile(os.path.join(chrome_src, 'build', 'gyp_chromium'))

Propchange: httpd/mod_spdy/trunk/build/gyp_chromium
------------------------------------------------------------------------------
    svn:executable = *

Added: httpd/mod_spdy/trunk/build/install.gyp
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/install.gyp?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/install.gyp (added)
+++ httpd/mod_spdy/trunk/build/install.gyp Thu May  1 11:43:36 2014
@@ -0,0 +1,200 @@
+# Copyright (c) 2010 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+  'variables': {
+    'install_path': '<(DEPTH)/install',
+    'version_py_path': '<(DEPTH)/build/version.py',
+    'version_path': '<(DEPTH)/mod_spdy/common/VERSION',
+    'lastchange_path': '<(SHARED_INTERMEDIATE_DIR)/build/LASTCHANGE',
+    'branding_path': '<(install_path)/common/BRANDING',
+  },
+  'conditions': [
+    ['OS=="linux"', {
+      'variables': {
+        'version' : '<!(python <(version_py_path) -f <(version_path) -t "@MAJOR@.@MINOR@.@BUILD@.@PATCH@")',
+        'revision' : '<!(python <(DEPTH)/build/util/lastchange.py | cut -d "=" -f 2)',
+        'packaging_files_common': [
+          '<(install_path)/common/apt.include',
+          '<(install_path)/common/mod-spdy.info',
+          '<(install_path)/common/installer.include',
+          '<(install_path)/common/repo.cron',
+          '<(install_path)/common/rpm.include',
+          '<(install_path)/common/rpmrepo.cron',
+          '<(install_path)/common/updater',
+          '<(install_path)/common/variables.include',
+          '<(install_path)/common/BRANDING',
+          '<(install_path)/common/spdy.load.template',
+          '<(install_path)/common/spdy.conf.template',
+          '<(install_path)/common/ssl.load.template',
+        ],
+        'packaging_files_deb': [
+          '<(install_path)/debian/build.sh',
+          '<(install_path)/debian/changelog.template',
+          '<(install_path)/debian/conffiles.template',
+          '<(install_path)/debian/control.template',
+          '<(install_path)/debian/postinst',
+          '<(install_path)/debian/postrm',
+          '<(install_path)/debian/preinst',
+          '<(install_path)/debian/prerm',
+        ],
+        'packaging_files_rpm': [
+          '<(install_path)/rpm/build.sh',
+          '<(install_path)/rpm/mod-spdy.spec.template',
+        ],
+        'packaging_files_binaries': [
+          '<(PRODUCT_DIR)/libmod_spdy.so',
+        ],
+        'flock_bash': ['flock', '--', '/tmp/linux_package_lock', 'bash'],
+        'deb_build': '<(PRODUCT_DIR)/install/debian/build.sh',
+        'rpm_build': '<(PRODUCT_DIR)/install/rpm/build.sh',
+        'deb_cmd': ['<@(flock_bash)', '<(deb_build)', '-o' '<(PRODUCT_DIR)',
+                    '-b', '<(PRODUCT_DIR)', '-a', '<(target_arch)'],
+        'rpm_cmd': ['<@(flock_bash)', '<(rpm_build)', '-o' '<(PRODUCT_DIR)',
+                    '-b', '<(PRODUCT_DIR)', '-a', '<(target_arch)'],
+        'conditions': [
+          ['target_arch=="ia32"', {
+            'deb_arch': 'i386',
+            'rpm_arch': 'i386',
+          }],
+          ['target_arch=="x64"', {
+            'deb_arch': 'amd64',
+            'rpm_arch': 'x86_64',
+          }],
+        ],
+      },
+      'targets': [
+        {
+          'target_name': 'linux_installer_configs',
+          'suppress_wildcard': 1,
+          'type': 'none',
+          # Add these files to the build output so the build archives will be
+          # "hermetic" for packaging.
+          'copies': [
+            {
+              'destination': '<(PRODUCT_DIR)/install/debian/',
+              'files': [
+                '<@(packaging_files_deb)',
+              ]
+            },
+            {
+              'destination': '<(PRODUCT_DIR)/install/rpm/',
+              'files': [
+                '<@(packaging_files_rpm)',
+              ]
+            },
+            {
+              'destination': '<(PRODUCT_DIR)/install/common/',
+              'files': [
+                '<@(packaging_files_common)',
+              ]
+            },
+            {
+              'destination': '<(PRODUCT_DIR)/',
+              'files': [
+                '<(DEPTH)/mod_ssl.so',
+              ]
+            },
+          ],
+          'actions': [
+            {
+              'action_name': 'save_build_info',
+              'inputs': [
+                '<(branding_path)',
+                '<(version_path)',
+                '<(lastchange_path)',
+              ],
+              'outputs': [
+                '<(PRODUCT_DIR)/installer/version.txt',
+              ],
+              # Just output the default version info variables.
+              'action': [
+                'python', '<(version_py_path)',
+                '-f', '<(branding_path)',
+                '-f', '<(version_path)',
+                '-f', '<(lastchange_path)',
+                '-o', '<@(_outputs)'
+              ],
+            },
+          ],
+        },
+        {
+          'target_name': 'linux_packages',
+          'suppress_wildcard': 1,
+          'type': 'none',
+          'dependencies': [
+            'linux_package_deb',
+            'linux_package_rpm',
+          ],
+        },
+        {
+          'target_name': 'linux_package_deb',
+          'suppress_wildcard': 1,
+          'type': 'none',
+          'dependencies': [
+            '<(DEPTH)/mod_spdy/mod_spdy.gyp:mod_spdy',
+            'linux_installer_configs',
+          ],
+          'actions': [
+            {
+              'variables': {
+                'channel': 'beta',
+              },
+              'action_name': 'deb_package_<(channel)',
+              'process_outputs_as_sources': 1,
+              'inputs': [
+                '<(deb_build)',
+                '<@(packaging_files_binaries)',
+                '<@(packaging_files_common)',
+                '<@(packaging_files_deb)',
+              ],
+              'outputs': [
+                '<(PRODUCT_DIR)/mod-spdy-<(channel)_<(version)-r<(revision)_<(deb_arch).deb',
+              ],
+              'action': [ '<@(deb_cmd)', '-c', '<(channel)', ],
+            },
+          ],
+        },
+        {
+          'target_name': 'linux_package_rpm',
+          'suppress_wildcard': 1,
+          'type': 'none',
+          'dependencies': [
+            '<(DEPTH)/mod_spdy/mod_spdy.gyp:mod_spdy',
+            'linux_installer_configs',
+          ],
+          'actions': [
+            {
+              'variables': {
+                'channel': 'beta',
+              },
+              'action_name': 'rpm_package_<(channel)',
+              'process_outputs_as_sources': 1,
+              'inputs': [
+                '<(rpm_build)',
+                '<(PRODUCT_DIR)/install/rpm/mod-spdy.spec.template',
+                '<@(packaging_files_binaries)',
+                '<@(packaging_files_common)',
+                '<@(packaging_files_rpm)',
+              ],
+              'outputs': [
+                '<(PRODUCT_DIR)/mod-spdy-<(channel)-<(version)-r<(revision).<(rpm_arch).rpm',
+              ],
+              'action': [ '<@(rpm_cmd)', '-c', '<(channel)', ],
+            },
+          ],
+        },
+      ],
+    },{
+      'targets': [
+      ],
+    }],
+  ],
+}
+
+# Local Variables:
+# tab-width:2
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=2 shiftwidth=2:

Added: httpd/mod_spdy/trunk/build/install.xcodeproj/project.pbxproj
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/install.xcodeproj/project.pbxproj?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/install.xcodeproj/project.pbxproj (added)
+++ httpd/mod_spdy/trunk/build/install.xcodeproj/project.pbxproj Thu May  1 11:43:36 2014
@@ -0,0 +1,83 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 45;
+	objects = {
+
+/* Begin PBXFileReference section */
+		2D38272961496AF7932EE4ED /* release_defaults.gypi */ = {isa = PBXFileReference; lastKnownFileType = text; name = release_defaults.gypi; path = internal/release_defaults.gypi; sourceTree = "<group>"; };
+		4CC30BA34724DE2A699AEAED /* common.gypi */ = {isa = PBXFileReference; lastKnownFileType = text; path = common.gypi; sourceTree = "<group>"; };
+		762E38F3BBA0EB0F4D269B05 /* release.gypi */ = {isa = PBXFileReference; lastKnownFileType = text; path = release.gypi; sourceTree = "<group>"; };
+		807102A55EBC3B028D9353A2 /* release_impl_official.gypi */ = {isa = PBXFileReference; lastKnownFileType = text; name = release_impl_official.gypi; path = internal/release_impl_official.gypi; sourceTree = "<group>"; };
+		8CA6D6BB9F7C8D1EFA78001D /* release_impl.gypi */ = {isa = PBXFileReference; lastKnownFileType = text; name = release_impl.gypi; path = internal/release_impl.gypi; sourceTree = "<group>"; };
+		F20D6A87A972FA302AD53944 /* install.gyp */ = {isa = PBXFileReference; lastKnownFileType = text; path = install.gyp; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXGroup section */
+		3D80D6105256C5F45486966F /* Build */ = {
+			isa = PBXGroup;
+			children = (
+				4CC30BA34724DE2A699AEAED /* common.gypi */,
+				F20D6A87A972FA302AD53944 /* install.gyp */,
+				762E38F3BBA0EB0F4D269B05 /* release.gypi */,
+				2D38272961496AF7932EE4ED /* release_defaults.gypi */,
+				8CA6D6BB9F7C8D1EFA78001D /* release_impl.gypi */,
+				807102A55EBC3B028D9353A2 /* release_impl_official.gypi */,
+			);
+			name = Build;
+			sourceTree = "<group>";
+		};
+		8372D6DB2657EE7E3E1E636F = {
+			isa = PBXGroup;
+			children = (
+				3D80D6105256C5F45486966F /* Build */,
+			);
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXProject section */
+		FD0F5106FD73CBEFA761275F /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				BuildIndependentTargetsInParallel = YES;
+			};
+			buildConfigurationList = 0C50D04C837EACFF6A6FF167 /* Build configuration list for PBXProject "install" */;
+			compatibilityVersion = "Xcode 3.2";
+			hasScannedForEncodings = 1;
+			mainGroup = 8372D6DB2657EE7E3E1E636F;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+			);
+		};
+/* End PBXProject section */
+
+/* Begin XCBuildConfiguration section */
+		1CA8C1E0DB8B70E5650470EC /* Default */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				INTERMEDIATE_DIR = "$(PROJECT_DERIVED_FILE_DIR)/$(CONFIGURATION)";
+				SDKROOT = macosx10.5;
+				SHARED_INTERMEDIATE_DIR = "$(SYMROOT)/DerivedSources/$(CONFIGURATION)";
+				SYMROOT = ../xcodebuild;
+			};
+			name = Default;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		0C50D04C837EACFF6A6FF167 /* Build configuration list for PBXProject "install" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				1CA8C1E0DB8B70E5650470EC /* Default */,
+			);
+			defaultConfigurationIsVisible = 1;
+			defaultConfigurationName = Default;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = FD0F5106FD73CBEFA761275F /* Project object */;
+}

Added: httpd/mod_spdy/trunk/build/internal/README.chromium
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/internal/README.chromium?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/internal/README.chromium (added)
+++ httpd/mod_spdy/trunk/build/internal/README.chromium Thu May  1 11:43:36 2014
@@ -0,0 +1,24 @@
+Internal property sheets:
+  essential.vsprops
+    Contains the common settings used throughout the projects. Is included by either ..\debug.vsprops or ..\release.vsprops, so in general, it is not included directly.
+
+  release_defaults.vsprops
+    Included by ..\release.vsprops. Its settings are overriden by release_impl$(CHROME_BUILD_TYPE).vsprops. Uses the default VS setting which is "Maximize Speed". Results in relatively fast build with reasonable optimization level but without whole program optimization to reduce build time.
+
+  release_impl.vsprops
+    Included by ..\release.vsprops by default when CHROME_BUILD_TYPE is undefined. Includes release_defaults.vsprops.
+
+  release_impl_checksenabled.vsprops
+    Included by ..\release.vsprops when CHROME_BUILD_TYPE=_checksenabled. Matches what release_defaults.vsprops does, but doesn't actually inherit from it as we couldn't quite get that working. The only difference is that _DEBUG is set instead of NDEBUG. Used for keeping debug checks enabled with a build that is fast enough to dogfood with.
+
+  release_impl_official.vsprops
+    Included by ..\release.vsprops when CHROME_BUILD_TYPE=_official. Includes release_defaults.vsprops. Enables Whole Program Optimizations (WPO), which doubles the build time. Results in much more optimized build. Uses "Full Optimization" and "Flavor small code".
+
+  release_impl_pgo_instrument.vsprops
+    Included by ..\release.vsprops when CHROME_BUILD_TYPE=_pgo_instrument. Includes release_defaults.vsprops. Enables Profile Guided Optimization (PGO) instrumentation (first pass). Uses "Full Optimization" and "Flavor small code".
+
+  release_impl_pgo_optimize.vsprops
+    Included by ..\release.vsprops when CHROME_BUILD_TYPE=_pgo_optimize. Includes release_defaults.vsprops. Enables Profile Guided Optimization (PGO) optimization (second pass). Uses "Full Optimization" and "Flavor small code".
+
+  release_impl_purify.vsprops
+    Included by ..\release.vsprops when CHROME_BUILD_TYPE=_purify. Includes release_defaults.vsprops. Disables optimizations. Used with Purify to test without debug tools and without optimization; i.e. NDEBUG is defined but the compiler doesn't optimize the binary.

Added: httpd/mod_spdy/trunk/build/internal/release_defaults.gypi
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/internal/release_defaults.gypi?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/internal/release_defaults.gypi (added)
+++ httpd/mod_spdy/trunk/build/internal/release_defaults.gypi Thu May  1 11:43:36 2014
@@ -0,0 +1,18 @@
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+{
+  'msvs_settings': {
+    'VCCLCompilerTool': {
+      'StringPooling': 'true',
+    },
+    'VCLinkerTool': {
+      # No incremental linking.
+      'LinkIncremental': '1',
+      # Eliminate Unreferenced Data (/OPT:REF).
+      'OptimizeReferences': '2',
+      # Folding on (/OPT:ICF).
+      'EnableCOMDATFolding': '2',
+    },
+  },
+}

Added: httpd/mod_spdy/trunk/build/internal/release_impl.gypi
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/internal/release_impl.gypi?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/internal/release_impl.gypi (added)
+++ httpd/mod_spdy/trunk/build/internal/release_impl.gypi Thu May  1 11:43:36 2014
@@ -0,0 +1,17 @@
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+{
+  'includes': ['release_defaults.gypi'],
+  'msvs_settings': {
+    'VCCLCompilerTool': {
+      'OmitFramePointers': 'false',
+      # The above is not sufficient (http://crbug.com/106711): it
+      # simply eliminates an explicit "/Oy", but both /O2 and /Ox
+      # perform FPO regardless, so we must explicitly disable.
+      # We still want the false setting above to avoid having
+      # "/Oy /Oy-" and warnings about overriding.
+      'AdditionalOptions': ['/Oy-'],
+    },
+  },
+}

Added: httpd/mod_spdy/trunk/build/internal/release_impl_official.gypi
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/internal/release_impl_official.gypi?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/internal/release_impl_official.gypi (added)
+++ httpd/mod_spdy/trunk/build/internal/release_impl_official.gypi Thu May  1 11:43:36 2014
@@ -0,0 +1,43 @@
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+{
+  'includes': ['release_defaults.gypi'],
+  'defines': ['OFFICIAL_BUILD'],
+  'msvs_settings': {
+    'VCCLCompilerTool': {
+      'InlineFunctionExpansion': '2',
+      'EnableIntrinsicFunctions': 'true',
+      'EnableFiberSafeOptimizations': 'true',
+      'OmitFramePointers': 'false',
+      # The above is not sufficient (http://crbug.com/106711): it
+      # simply eliminates an explicit "/Oy", but both /O2 and /Ox
+      # perform FPO regardless, so we must explicitly disable.
+      # We still want the false setting above to avoid having
+      # "/Oy /Oy-" and warnings about overriding.
+      'AdditionalOptions': ['/Oy-'],
+    },
+    'VCLibrarianTool': {
+      'AdditionalOptions': [
+        '/ltcg',
+        '/expectedoutputsize:120000000'
+      ],
+    },
+    'VCLinkerTool': {
+      'AdditionalOptions': [
+        '/time',
+        # This may reduce memory fragmentation during linking.
+        # The expected size is 40*1024*1024, which gives us about 10M of
+        # headroom as of Dec 16, 2011.
+        '/expectedoutputsize:41943040',
+      ],
+      'LinkTimeCodeGeneration': '1',
+      # The /PROFILE flag causes the linker to add a "FIXUP" debug stream to
+      # the generated PDB. According to MSDN documentation, this flag is only
+      # available (or perhaps supported) in the Enterprise (team development)
+      # version of Visual Studio. If this blocks your official build, simply
+      # comment out this line, then  re-run "gclient runhooks".
+      'Profile': 'true',
+    },
+  },
+}

Added: httpd/mod_spdy/trunk/build/lastchange.target.mk
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/lastchange.target.mk?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/lastchange.target.mk (added)
+++ httpd/mod_spdy/trunk/build/lastchange.target.mk Thu May  1 11:43:36 2014
@@ -0,0 +1,117 @@
+# This file is generated by gyp; do not edit.
+
+TOOLSET := target
+TARGET := lastchange
+### Rules for action "lastchange":
+quiet_cmd_build_build_util_gyp_lastchange_target_lastchange = ACTION Extracting last change to $(obj)/gen/build/LASTCHANGE $@
+cmd_build_build_util_gyp_lastchange_target_lastchange = LD_LIBRARY_PATH=$(builddir)/lib.host:$(builddir)/lib.target:$$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd build; mkdir -p $(obj)/gen/build; python util/lastchange.py -o "$(obj)/gen/build/LASTCHANGE" -d ../LASTCHANGE.in
+
+$(obj)/gen/build/LASTCHANGE.always: obj := $(abs_obj)
+$(obj)/gen/build/LASTCHANGE.always: builddir := $(abs_builddir)
+$(obj)/gen/build/LASTCHANGE.always: TOOLSET := $(TOOLSET)
+$(obj)/gen/build/LASTCHANGE.always: build/util/lastchange.py FORCE_DO_CMD
+	$(call do_cmd,build_build_util_gyp_lastchange_target_lastchange)
+$(obj)/gen/build/LASTCHANGE: $(obj)/gen/build/LASTCHANGE.always
+$(obj)/gen/build/LASTCHANGE: ;
+
+all_deps += $(obj)/gen/build/LASTCHANGE.always $(obj)/gen/build/LASTCHANGE
+action_build_build_util_gyp_lastchange_target_lastchange_outputs := $(obj)/gen/build/LASTCHANGE.always $(obj)/gen/build/LASTCHANGE
+
+
+DEFS_Debug := \
+	'-DDYNAMIC_ANNOTATIONS_ENABLED=1' \
+	'-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \
+	'-D_DEBUG'
+
+# Flags passed to all source files.
+CFLAGS_Debug := \
+	 \
+	-pthread \
+	-fno-exceptions \
+	-Wno-unused-parameter \
+	-Wno-missing-field-initializers \
+	-D_FILE_OFFSET_BITS=64 \
+	-fvisibility=hidden \
+	-pipe \
+	-fPIC \
+	-fno-strict-aliasing \
+	-Wno-deprecated \
+	-Wno-format \
+	-O0 \
+	-g
+
+# Flags passed to only C files.
+CFLAGS_C_Debug :=
+
+# Flags passed to only C++ files.
+CFLAGS_CC_Debug := \
+	-fno-rtti \
+	-fno-threadsafe-statics \
+	-fvisibility-inlines-hidden
+
+INCS_Debug := \
+	-Ithird_party/chromium/src
+
+DEFS_Release := \
+	'-DNDEBUG'
+
+# Flags passed to all source files.
+CFLAGS_Release := \
+	 \
+	-pthread \
+	-fno-exceptions \
+	-Wno-unused-parameter \
+	-Wno-missing-field-initializers \
+	-D_FILE_OFFSET_BITS=64 \
+	-fvisibility=hidden \
+	-pipe \
+	-fPIC \
+	-fno-strict-aliasing \
+	-Wno-deprecated \
+	-Wno-format \
+	-O2 \
+	-fno-ident \
+	-fdata-sections \
+	-ffunction-sections
+
+# Flags passed to only C files.
+CFLAGS_C_Release :=
+
+# Flags passed to only C++ files.
+CFLAGS_CC_Release := \
+	-fno-rtti \
+	-fno-threadsafe-statics \
+	-fvisibility-inlines-hidden
+
+INCS_Release := \
+	-Ithird_party/chromium/src
+
+OBJS :=
+
+# Add to the list of files we specially track dependencies for.
+all_deps += $(OBJS)
+
+# Make sure our actions/rules run before any of us.
+$(OBJS): | $(action_build_build_util_gyp_lastchange_target_lastchange_outputs)
+
+
+### Rules for final target.
+# Build our special outputs first.
+$(obj).target/build/lastchange.stamp: | $(action_build_build_util_gyp_lastchange_target_lastchange_outputs)
+
+# Preserve order dependency of special output on deps.
+$(action_build_build_util_gyp_lastchange_target_lastchange_outputs): | 
+
+$(obj).target/build/lastchange.stamp: TOOLSET := $(TOOLSET)
+$(obj).target/build/lastchange.stamp:  FORCE_DO_CMD
+	$(call do_cmd,touch)
+
+all_deps += $(obj).target/build/lastchange.stamp
+# Add target alias
+.PHONY: lastchange
+lastchange: $(obj).target/build/lastchange.stamp
+
+# Add target alias to "all" target.
+.PHONY: all
+all: lastchange
+

Added: httpd/mod_spdy/trunk/build/linux/chrome_linux.croc
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/linux/chrome_linux.croc?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/linux/chrome_linux.croc (added)
+++ httpd/mod_spdy/trunk/build/linux/chrome_linux.croc Thu May  1 11:43:36 2014
@@ -0,0 +1,29 @@
+# -*- python -*-
+# Crocodile config file for Chromium linux
+
+# TODO(jhawkins): We'll need to add a chromeos.croc once we get a coverage bot
+# for that platform.
+
+{
+  # List of rules, applied in order
+  'rules' : [
+    # Specify inclusions before exclusions, since rules are in order.
+
+    # Don't include non-Linux platform dirs
+    {
+      'regexp' : '.*/(chromeos|views)/',
+      'include' : 0,
+    },
+    # Don't include chromeos, windows, or mac specific files
+    {
+      'regexp' : '.*(_|/)(chromeos|mac|win|views)(\\.|_)',
+      'include' : 0,
+    },
+
+    # Groups
+    {
+      'regexp' : '.*_test_linux\\.',
+      'group' : 'test',
+    },
+  ],
+}

Added: httpd/mod_spdy/trunk/build/linux/dump_app_syms
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/linux/dump_app_syms?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/linux/dump_app_syms (added)
+++ httpd/mod_spdy/trunk/build/linux/dump_app_syms Thu May  1 11:43:36 2014
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+# Copyright (c) 2010 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Helper script to run dump_syms on Chrome Linux executables and strip
+# them if needed.
+
+set -e
+
+usage() {
+  echo -n "$0 <dump_syms_exe> <strip_binary> " >&2
+  echo "<binary_with_symbols> <symbols_output>" >&2
+}
+
+
+if [ $# -ne 4 ]; then
+  usage
+  exit 1
+fi
+
+SCRIPTDIR="$(readlink -f "$(dirname "$0")")"
+DUMPSYMS="$1"
+STRIP_BINARY="$2"
+INFILE="$3"
+OUTFILE="$4"
+
+# Dump the symbols from the given binary.
+if [ ! -e "$OUTFILE" -o "$INFILE" -nt "$OUTFILE" ]; then
+  "$DUMPSYMS" "$INFILE" > "$OUTFILE"
+fi
+
+if [ "$STRIP_BINARY" != "0" ]; then
+  strip "$INFILE"
+fi

Propchange: httpd/mod_spdy/trunk/build/linux/dump_app_syms
------------------------------------------------------------------------------
    svn:executable = *

Added: httpd/mod_spdy/trunk/build/linux/pkg-config-wrapper
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/linux/pkg-config-wrapper?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/linux/pkg-config-wrapper (added)
+++ httpd/mod_spdy/trunk/build/linux/pkg-config-wrapper Thu May  1 11:43:36 2014
@@ -0,0 +1,47 @@
+#!/bin/bash
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This program wraps around pkg-config to generate the correct include and
+# library paths when cross-compiling using a sysroot.
+# The assumption is that the sysroot contains the .pc files in usr/lib/pkgconfig
+# and usr/share/pkgconfig (relative to the sysroot) and that they output paths
+# relative to some parent path of the sysroot.
+# This assumption is valid for a range of sysroots, in particular: a
+# LSB-compliant root filesystem mounted at the sysroot, and a board build
+# directory of a Chromium OS chroot.
+
+root="$1"
+shift
+target_arch="$1"
+shift
+
+if [ -z "$root" -o -z "$target_arch" ]
+then
+  echo "usage: $0 /path/to/sysroot target_arch [pkg-config-arguments] package" >&2
+  exit 1
+fi
+
+if [ "$target_arch" = "x64" ]
+then
+  libpath="lib64"
+else
+  libpath="lib"
+fi
+
+rewrite=`dirname $0`/rewrite_dirs.py
+package=${!#}
+
+config_path=$root/usr/$libpath/pkgconfig:$root/usr/share/pkgconfig
+set -e
+# Some sysroots, like the Chromium OS ones, may generate paths that are not
+# relative to the sysroot. For example,
+# /path/to/chroot/build/x86-generic/usr/lib/pkgconfig/pkg.pc may have all paths
+# relative to /path/to/chroot (i.e. prefix=/build/x86-generic/usr) instead of
+# relative to /path/to/chroot/build/x86-generic (i.e prefix=/usr).
+# To support this correctly, it's necessary to extract the prefix to strip from
+# pkg-config's |prefix| variable.
+prefix=`PKG_CONFIG_PATH=$config_path pkg-config --variable=prefix "$package" | sed -e 's|/usr$||'`
+result=`PKG_CONFIG_PATH=$config_path pkg-config "$@"`
+echo "$result"| $rewrite --sysroot "$root" --strip-prefix "$prefix"

Propchange: httpd/mod_spdy/trunk/build/linux/pkg-config-wrapper
------------------------------------------------------------------------------
    svn:executable = *

Added: httpd/mod_spdy/trunk/build/linux/python_arch.sh
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/linux/python_arch.sh?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/linux/python_arch.sh (added)
+++ httpd/mod_spdy/trunk/build/linux/python_arch.sh Thu May  1 11:43:36 2014
@@ -0,0 +1,42 @@
+#!/bin/sh
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This figures out the architecture of the version of Python we are building
+# pyautolib against.
+#
+#  python_arch.sh /usr/lib/libpython2.5.so.1.0
+#  python_arch.sh /path/to/sysroot/usr/lib/libpython2.4.so.1.0
+#
+
+python=$(readlink -f "$1")
+if [ ! -r "$python" ]; then
+  echo unknown
+  exit 0
+fi
+file_out=$(file "$python")
+if [ $? -ne 0 ]; then
+  echo unknown
+  exit 0
+fi
+
+echo $file_out | grep -qs "ARM"
+if [ $? -eq 0 ]; then
+  echo arm
+  exit 0
+fi
+
+echo $file_out | grep -qs "x86-64"
+if [ $? -eq 0 ]; then
+  echo x64
+  exit 0
+fi
+
+echo $file_out | grep -qs "Intel 80386"
+if [ $? -eq 0 ]; then
+  echo ia32
+  exit 0
+fi
+
+exit 1

Propchange: httpd/mod_spdy/trunk/build/linux/python_arch.sh
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: httpd/mod_spdy/trunk/build/linux/python_arch.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: httpd/mod_spdy/trunk/build/linux/rewrite_dirs.py
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/linux/rewrite_dirs.py?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/linux/rewrite_dirs.py (added)
+++ httpd/mod_spdy/trunk/build/linux/rewrite_dirs.py Thu May  1 11:43:36 2014
@@ -0,0 +1,71 @@
+#!/usr/bin/env python
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Rewrites paths in -I, -L and other option to be relative to a sysroot."""
+
+import sys
+import os
+import optparse
+
+REWRITE_PREFIX = ['-I',
+                  '-idirafter',
+                  '-imacros',
+                  '-imultilib',
+                  '-include',
+                  '-iprefix',
+                  '-iquote',
+                  '-isystem',
+                  '-L']
+
+def RewritePath(path, opts):
+  """Rewrites a path by stripping the prefix and prepending the sysroot."""
+  sysroot = opts.sysroot
+  prefix = opts.strip_prefix
+  if os.path.isabs(path) and not path.startswith(sysroot):
+    if path.startswith(prefix):
+      path = path[len(prefix):]
+    path = path.lstrip('/')
+    return os.path.join(sysroot, path)
+  else:
+    return path
+
+
+def RewriteLine(line, opts):
+  """Rewrites all the paths in recognized options."""
+  args = line.split()
+  count = len(args)
+  i = 0
+  while i < count:
+    for prefix in REWRITE_PREFIX:
+      # The option can be either in the form "-I /path/to/dir" or
+      # "-I/path/to/dir" so handle both.
+      if args[i] == prefix:
+        i += 1
+        try:
+          args[i] = RewritePath(args[i], opts)
+        except IndexError:
+          sys.stderr.write('Missing argument following %s\n' % prefix)
+          break
+      elif args[i].startswith(prefix):
+        args[i] = prefix + RewritePath(args[i][len(prefix):], opts)
+    i += 1
+
+  return ' '.join(args)
+
+
+def main(argv):
+  parser = optparse.OptionParser()
+  parser.add_option('-s', '--sysroot', default='/', help='sysroot to prepend')
+  parser.add_option('-p', '--strip-prefix', default='', help='prefix to strip')
+  opts, args = parser.parse_args(argv[1:])
+
+  for line in sys.stdin.readlines():
+    line = RewriteLine(line.strip(), opts)
+    print line
+  return 0
+
+
+if __name__ == '__main__':
+  sys.exit(main(sys.argv))

Propchange: httpd/mod_spdy/trunk/build/linux/rewrite_dirs.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: httpd/mod_spdy/trunk/build/linux/rewrite_dirs.py
------------------------------------------------------------------------------
    svn:executable = *

Added: httpd/mod_spdy/trunk/build/linux/system.gyp
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/linux/system.gyp?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/linux/system.gyp (added)
+++ httpd/mod_spdy/trunk/build/linux/system.gyp Thu May  1 11:43:36 2014
@@ -0,0 +1,634 @@
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+  'variables': {
+    'conditions': [
+      ['sysroot!=""', {
+        'pkg-config': './pkg-config-wrapper "<(sysroot)" "<(target_arch)"',
+      }, {
+        'pkg-config': 'pkg-config'
+      }]
+    ],
+  },
+  'conditions': [
+    [ 'os_posix==1 and OS!="mac"', {
+      'variables': {
+        # We use our own copy of libssl3, although we still need to link against
+        # the rest of NSS.
+        'use_system_ssl%': 0,
+      },
+    }, {
+      'variables': {
+        'use_system_ssl%': 1,
+      },
+    }],
+    [ 'chromeos==0', {
+      # Hide GTK and related dependencies for Chrome OS, so they won't get
+      # added back to Chrome OS. Don't try to use GTK on Chrome OS.
+      'targets': [
+        {
+          'target_name': 'gtk',
+          'type': 'none',
+          'toolsets': ['host', 'target'],
+          'variables': {
+            # gtk requires gmodule, but it does not list it as a dependency
+            # in some misconfigured systems.
+            'gtk_packages': 'gmodule-2.0 gtk+-2.0 gthread-2.0',
+          },
+          'conditions': [
+            ['_toolset=="target"', {
+              'direct_dependent_settings': {
+                'cflags': [
+                  '<!@(<(pkg-config) --cflags <(gtk_packages))',
+                ],
+              },
+              'link_settings': {
+                'ldflags': [
+                  '<!@(<(pkg-config) --libs-only-L --libs-only-other <(gtk_packages))',
+                ],
+                'libraries': [
+                  '<!@(<(pkg-config) --libs-only-l <(gtk_packages))',
+                ],
+              },
+            }, {
+              'direct_dependent_settings': {
+                'cflags': [
+                  '<!@(pkg-config --cflags <(gtk_packages))',
+                ],
+              },
+              'link_settings': {
+                'ldflags': [
+                  '<!@(pkg-config --libs-only-L --libs-only-other <(gtk_packages))',
+                ],
+                'libraries': [
+                  '<!@(pkg-config --libs-only-l <(gtk_packages))',
+                ],
+              },
+            }],
+          ],
+        },
+        {
+          'target_name': 'gtkprint',
+          'type': 'none',
+          'conditions': [
+            ['_toolset=="target"', {
+              'direct_dependent_settings': {
+                'cflags': [
+                  '<!@(<(pkg-config) --cflags gtk+-unix-print-2.0)',
+                ],
+              },
+              'link_settings': {
+                'ldflags': [
+                  '<!@(<(pkg-config) --libs-only-L --libs-only-other gtk+-unix-print-2.0)',
+                ],
+                'libraries': [
+                  '<!@(<(pkg-config) --libs-only-l gtk+-unix-print-2.0)',
+                ],
+              },
+            }],
+          ],
+        },
+        {
+          'target_name': 'gdk',
+          'type': 'none',
+          'conditions': [
+            ['_toolset=="target"', {
+              'direct_dependent_settings': {
+                'cflags': [
+                  '<!@(<(pkg-config) --cflags gdk-2.0)',
+                ],
+              },
+              'link_settings': {
+                'ldflags': [
+                  '<!@(<(pkg-config) --libs-only-L --libs-only-other gdk-2.0)',
+                ],
+                'libraries': [
+                  '<!@(<(pkg-config) --libs-only-l gdk-2.0)',
+                ],
+              },
+            }],
+          ],
+        },
+      ],  # targets
+    }]  # chromeos==0
+  ],  # conditions
+  'targets': [
+    {
+      'target_name': 'ssl',
+      'type': 'none',
+      'conditions': [
+        ['_toolset=="target"', {
+          'conditions': [
+            ['use_openssl==1', {
+              'dependencies': [
+                '../../third_party/openssl/openssl.gyp:openssl',
+              ],
+            }],
+            ['use_openssl==0 and use_system_ssl==0', {
+              'dependencies': [
+                '../../net/third_party/nss/ssl.gyp:libssl',
+                '../../third_party/zlib/zlib.gyp:zlib',
+              ],
+              'direct_dependent_settings': {
+                'include_dirs+': [
+                  # We need for our local copies of the libssl3 headers to come
+                  # before other includes, as we are shadowing system headers.
+                  '<(DEPTH)/net/third_party/nss/ssl',
+                ],
+                'cflags': [
+                  '<!@(<(pkg-config) --cflags nss)',
+                ],
+              },
+              'link_settings': {
+                'ldflags': [
+                  '<!@(<(pkg-config) --libs-only-L --libs-only-other nss)',
+                ],
+                'libraries': [
+                  '<!@(<(pkg-config) --libs-only-l nss | sed -e "s/-lssl3//")',
+                ],
+              },
+            }],
+            ['use_openssl==0 and use_system_ssl==1', {
+              'direct_dependent_settings': {
+                'cflags': [
+                  '<!@(<(pkg-config) --cflags nss)',
+                ],
+                'defines': [
+                  'USE_SYSTEM_SSL',
+                ],
+              },
+              'link_settings': {
+                'ldflags': [
+                  '<!@(<(pkg-config) --libs-only-L --libs-only-other nss)',
+                ],
+                'libraries': [
+                  '<!@(<(pkg-config) --libs-only-l nss)',
+                ],
+              },
+            }],
+          ]
+        }],
+      ],
+    },
+    {
+      'target_name': 'freetype2',
+      'type': 'none',
+      'conditions': [
+        ['_toolset=="target"', {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(<(pkg-config) --cflags freetype2)',
+            ],
+          },
+          'link_settings': {
+            'ldflags': [
+              '<!@(<(pkg-config) --libs-only-L --libs-only-other freetype2)',
+            ],
+            'libraries': [
+              '<!@(<(pkg-config) --libs-only-l freetype2)',
+            ],
+          },
+        }],
+      ],
+    },
+    {
+      'target_name': 'fontconfig',
+      'type': 'none',
+      'conditions': [
+        ['_toolset=="target"', {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(<(pkg-config) --cflags fontconfig)',
+            ],
+          },
+          'link_settings': {
+            'ldflags': [
+              '<!@(<(pkg-config) --libs-only-L --libs-only-other fontconfig)',
+            ],
+            'libraries': [
+              '<!@(<(pkg-config) --libs-only-l fontconfig)',
+            ],
+          },
+        }],
+      ],
+    },
+    {
+      'target_name': 'gconf',
+      'type': 'none',
+      'conditions': [
+        ['use_gconf==1 and _toolset=="target"', {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(<(pkg-config) --cflags gconf-2.0)',
+            ],
+            'defines': [
+              'USE_GCONF',
+            ],
+          },
+          'link_settings': {
+            'ldflags': [
+              '<!@(<(pkg-config) --libs-only-L --libs-only-other gconf-2.0)',
+            ],
+            'libraries': [
+              '<!@(<(pkg-config) --libs-only-l gconf-2.0)',
+            ],
+          },
+        }],
+      ],
+    },
+    {
+      'target_name': 'gio',
+      'type': 'none',
+      'conditions': [
+        ['use_gio==1 and _toolset=="target"', {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(<(pkg-config) --cflags gio-2.0)',
+            ],
+            'defines': [
+              'USE_GIO',
+            ],
+            'conditions': [
+              ['linux_link_gsettings==0', {
+                'defines': ['DLOPEN_GSETTINGS'],
+              }],
+            ],
+          },
+          'link_settings': {
+            'ldflags': [
+              '<!@(<(pkg-config) --libs-only-L --libs-only-other gio-2.0)',
+            ],
+            'libraries': [
+              '<!@(<(pkg-config) --libs-only-l gio-2.0)',
+            ],
+            'conditions': [
+              ['linux_link_gsettings==0 and OS=="linux"', {
+                'libraries': [
+                  '-ldl',
+                ],
+              }],
+            ],
+          },
+        }],
+      ],
+    },
+    {
+      'target_name': 'x11',
+      'type': 'none',
+      'toolsets': ['host', 'target'],
+      'conditions': [
+        ['_toolset=="target"', {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(<(pkg-config) --cflags x11)',
+            ],
+          },
+          'link_settings': {
+            'ldflags': [
+              '<!@(<(pkg-config) --libs-only-L --libs-only-other x11 xi)',
+            ],
+            'libraries': [
+              '<!@(<(pkg-config) --libs-only-l x11 xi)',
+            ],
+          },
+        }, {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(pkg-config --cflags x11)',
+            ],
+          },
+          'link_settings': {
+            'ldflags': [
+              '<!@(pkg-config --libs-only-L --libs-only-other x11 xi)',
+            ],
+            'libraries': [
+              '<!@(pkg-config --libs-only-l x11 xi)',
+            ],
+          },
+        }],
+      ],
+    },
+    {
+      'target_name': 'xext',
+      'type': 'none',
+      'conditions': [
+        ['_toolset=="target"', {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(<(pkg-config) --cflags xext)',
+            ],
+          },
+          'link_settings': {
+            'ldflags': [
+              '<!@(<(pkg-config) --libs-only-L --libs-only-other xext)',
+            ],
+            'libraries': [
+              '<!@(<(pkg-config) --libs-only-l xext)',
+            ],
+          },
+        }],
+      ],
+    },
+    {
+      'target_name': 'xfixes',
+      'type': 'none',
+      'conditions': [
+        ['_toolset=="target"', {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(<(pkg-config) --cflags xfixes)',
+            ],
+          },
+          'link_settings': {
+            'ldflags': [
+              '<!@(<(pkg-config) --libs-only-L --libs-only-other xfixes)',
+            ],
+            'libraries': [
+              '<!@(<(pkg-config) --libs-only-l xfixes)',
+            ],
+          },
+        }],
+      ],
+    },
+    {
+      'target_name': 'libgcrypt',
+      'type': 'none',
+      'conditions': [
+        ['_toolset=="target" and use_cups==1', {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(libgcrypt-config --cflags)',
+            ],
+          },
+          'link_settings': {
+            'libraries': [
+              '<!@(libgcrypt-config --libs)',
+            ],
+          },
+        }],
+      ],
+    },
+    {
+      'target_name': 'selinux',
+      'type': 'none',
+      'conditions': [
+        ['_toolset=="target"', {
+          'link_settings': {
+            'libraries': [
+              '-lselinux',
+            ],
+          },
+        }],
+      ],
+    },
+    {
+      'target_name': 'gnome_keyring',
+      'type': 'none',
+      'conditions': [
+        ['use_gnome_keyring==1', {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(<(pkg-config) --cflags gnome-keyring-1)',
+            ],
+            'defines': [
+              'USE_GNOME_KEYRING',
+            ],
+            'conditions': [
+              ['linux_link_gnome_keyring==0', {
+                'defines': ['DLOPEN_GNOME_KEYRING'],
+              }],
+            ],
+          },
+          'conditions': [
+            ['linux_link_gnome_keyring!=0', {
+              'link_settings': {
+                'ldflags': [
+                  '<!@(<(pkg-config) --libs-only-L --libs-only-other gnome-keyring-1)',
+                ],
+                'libraries': [
+                  '<!@(<(pkg-config) --libs-only-l gnome-keyring-1)',
+                ],
+              },
+            }, {
+              'conditions': [
+                ['OS=="linux"', {
+                 'link_settings': {
+                   'libraries': [
+                     '-ldl',
+                   ],
+                 },
+                }],
+              ],
+            }],
+          ],
+        }],
+      ],
+    },
+    {
+      # The unit tests use a few convenience functions from the GNOME
+      # Keyring library directly. We ignore linux_link_gnome_keyring and
+      # link directly in this version of the target to allow this.
+      # *** Do not use this target in the main binary! ***
+      'target_name': 'gnome_keyring_direct',
+      'type': 'none',
+      'conditions': [
+        ['use_gnome_keyring==1', {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(<(pkg-config) --cflags gnome-keyring-1)',
+            ],
+            'defines': [
+              'USE_GNOME_KEYRING',
+            ],
+            'conditions': [
+              ['linux_link_gnome_keyring==0', {
+                'defines': ['DLOPEN_GNOME_KEYRING'],
+              }],
+            ],
+          },
+          'link_settings': {
+            'ldflags': [
+              '<!@(<(pkg-config) --libs-only-L --libs-only-other gnome-keyring-1)',
+            ],
+            'libraries': [
+              '<!@(<(pkg-config) --libs-only-l gnome-keyring-1)',
+            ],
+          },
+        }],
+      ],
+    },
+    {
+      'target_name': 'dbus',
+      'type': 'none',
+      'direct_dependent_settings': {
+        'cflags': [
+          '<!@(<(pkg-config) --cflags dbus-1)',
+        ],
+      },
+      'link_settings': {
+        'ldflags': [
+          '<!@(<(pkg-config) --libs-only-L --libs-only-other dbus-1)',
+        ],
+        'libraries': [
+          '<!@(<(pkg-config) --libs-only-l dbus-1)',
+        ],
+      },
+    },
+    {
+      # TODO(satorux): Remove this once dbus-glib clients are gone.
+      'target_name': 'dbus-glib',
+      'type': 'none',
+      'direct_dependent_settings': {
+        'cflags': [
+          '<!@(<(pkg-config) --cflags dbus-glib-1)',
+        ],
+      },
+      'link_settings': {
+        'ldflags': [
+          '<!@(<(pkg-config) --libs-only-L --libs-only-other dbus-glib-1)',
+        ],
+        'libraries': [
+          '<!@(<(pkg-config) --libs-only-l dbus-glib-1)',
+        ],
+      },
+    },
+    {
+      'target_name': 'glib',
+      'type': 'none',
+      'toolsets': ['host', 'target'],
+      'variables': {
+        'glib_packages': 'glib-2.0 gmodule-2.0 gobject-2.0 gthread-2.0',
+      },
+      'conditions': [
+        ['_toolset=="target"', {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(<(pkg-config) --cflags <(glib_packages))',
+            ],
+          },
+          'link_settings': {
+            'ldflags': [
+              '<!@(<(pkg-config) --libs-only-L --libs-only-other <(glib_packages))',
+            ],
+            'libraries': [
+              '<!@(<(pkg-config) --libs-only-l <(glib_packages))',
+            ],
+          },
+        }, {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(pkg-config --cflags <(glib_packages))',
+            ],
+          },
+          'link_settings': {
+            'ldflags': [
+              '<!@(pkg-config --libs-only-L --libs-only-other <(glib_packages))',
+            ],
+            'libraries': [
+              '<!@(pkg-config --libs-only-l <(glib_packages))',
+            ],
+          },
+        }],
+        ['chromeos==1', {
+          'link_settings': {
+            'libraries': [ '-lXtst' ]
+          }
+        }],
+      ],
+    },
+    {
+      'target_name': 'pangocairo',
+      'type': 'none',
+      'toolsets': ['host', 'target'],
+      'conditions': [
+        ['_toolset=="target"', {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(<(pkg-config) --cflags pangocairo)',
+            ],
+          },
+          'link_settings': {
+            'ldflags': [
+              '<!@(<(pkg-config) --libs-only-L --libs-only-other pangocairo)',
+            ],
+            'libraries': [
+              '<!@(<(pkg-config) --libs-only-l pangocairo)',
+            ],
+          },
+        }, {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(pkg-config --cflags pangocairo)',
+            ],
+          },
+          'link_settings': {
+            'ldflags': [
+              '<!@(pkg-config --libs-only-L --libs-only-other pangocairo)',
+            ],
+            'libraries': [
+              '<!@(pkg-config --libs-only-l pangocairo)',
+            ],
+          },
+        }],
+      ],
+    },
+    {
+      'target_name': 'libresolv',
+      'type': 'none',
+      'link_settings': {
+        'libraries': [
+          '-lresolv',
+        ],
+      },
+    },
+    {
+      'target_name': 'ibus',
+      'type': 'none',
+      'conditions': [
+        ['use_ibus==1', {
+          'variables': {
+            'ibus_min_version': '1.3.99.20110425',
+          },
+          'direct_dependent_settings': {
+            'defines': ['HAVE_IBUS=1'],
+            'cflags': [
+              '<!@(<(pkg-config) --cflags "ibus-1.0 >= <(ibus_min_version)")',
+            ],
+          },
+          'link_settings': {
+            'ldflags': [
+              '<!@(<(pkg-config) --libs-only-L --libs-only-other "ibus-1.0 >= <(ibus_min_version)")',
+            ],
+            'libraries': [
+              '<!@(<(pkg-config) --libs-only-l "ibus-1.0 >= <(ibus_min_version)")',
+            ],
+          },
+        }],
+      ],
+    },
+    {
+      'target_name': 'udev',
+      'type': 'none',
+      'conditions': [
+        # libudev is not available on *BSD
+        ['_toolset=="target" and os_bsd!=1', {
+          'direct_dependent_settings': {
+            'cflags': [
+              '<!@(<(pkg-config) --cflags libudev)'
+            ],
+          },
+          'link_settings': {
+            'ldflags': [
+              '<!@(<(pkg-config) --libs-only-L --libs-only-other libudev)',
+            ],
+            'libraries': [
+              '<!@(<(pkg-config) --libs-only-l libudev)',
+            ],
+          },
+        }],
+      ],
+    },
+  ],
+}

Added: httpd/mod_spdy/trunk/build/linux_installer_configs.target.mk
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/linux_installer_configs.target.mk?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/linux_installer_configs.target.mk (added)
+++ httpd/mod_spdy/trunk/build/linux_installer_configs.target.mk Thu May  1 11:43:36 2014
@@ -0,0 +1,152 @@
+# This file is generated by gyp; do not edit.
+
+TOOLSET := target
+TARGET := linux_installer_configs
+### Rules for action "save_build_info":
+quiet_cmd_build_install_gyp_linux_installer_configs_target_save_build_info = ACTION build_install_gyp_linux_installer_configs_target_save_build_info $@
+cmd_build_install_gyp_linux_installer_configs_target_save_build_info = LD_LIBRARY_PATH=$(builddir)/lib.host:$(builddir)/lib.target:$$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd build; mkdir -p $(builddir)/installer; python ../build/version.py -f ../install/common/BRANDING -f ../mod_spdy/common/VERSION -f "$(obj)/gen/build/LASTCHANGE" -o "$(builddir)/installer/version.txt"
+
+$(builddir)/installer/version.txt: obj := $(abs_obj)
+$(builddir)/installer/version.txt: builddir := $(abs_builddir)
+$(builddir)/installer/version.txt: TOOLSET := $(TOOLSET)
+$(builddir)/installer/version.txt: install/common/BRANDING mod_spdy/common/VERSION $(obj)/gen/build/LASTCHANGE FORCE_DO_CMD
+	$(call do_cmd,build_install_gyp_linux_installer_configs_target_save_build_info)
+
+all_deps += $(builddir)/installer/version.txt
+action_build_install_gyp_linux_installer_configs_target_save_build_info_outputs := $(builddir)/installer/version.txt
+
+
+### Generated for copy rule.
+$(builddir)/install/debian/build.sh: TOOLSET := $(TOOLSET)
+$(builddir)/install/debian/build.sh: install/debian/build.sh FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/debian/build.sh
+$(builddir)/install/debian/changelog.template: TOOLSET := $(TOOLSET)
+$(builddir)/install/debian/changelog.template: install/debian/changelog.template FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/debian/changelog.template
+$(builddir)/install/debian/conffiles.template: TOOLSET := $(TOOLSET)
+$(builddir)/install/debian/conffiles.template: install/debian/conffiles.template FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/debian/conffiles.template
+$(builddir)/install/debian/control.template: TOOLSET := $(TOOLSET)
+$(builddir)/install/debian/control.template: install/debian/control.template FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/debian/control.template
+$(builddir)/install/debian/postinst: TOOLSET := $(TOOLSET)
+$(builddir)/install/debian/postinst: install/debian/postinst FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/debian/postinst
+$(builddir)/install/debian/postrm: TOOLSET := $(TOOLSET)
+$(builddir)/install/debian/postrm: install/debian/postrm FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/debian/postrm
+$(builddir)/install/debian/preinst: TOOLSET := $(TOOLSET)
+$(builddir)/install/debian/preinst: install/debian/preinst FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/debian/preinst
+$(builddir)/install/debian/prerm: TOOLSET := $(TOOLSET)
+$(builddir)/install/debian/prerm: install/debian/prerm FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/debian/prerm
+$(builddir)/install/rpm/build.sh: TOOLSET := $(TOOLSET)
+$(builddir)/install/rpm/build.sh: install/rpm/build.sh FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/rpm/build.sh
+$(builddir)/install/rpm/mod-spdy.spec.template: TOOLSET := $(TOOLSET)
+$(builddir)/install/rpm/mod-spdy.spec.template: install/rpm/mod-spdy.spec.template FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/rpm/mod-spdy.spec.template
+$(builddir)/install/common/apt.include: TOOLSET := $(TOOLSET)
+$(builddir)/install/common/apt.include: install/common/apt.include FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/common/apt.include
+$(builddir)/install/common/mod-spdy.info: TOOLSET := $(TOOLSET)
+$(builddir)/install/common/mod-spdy.info: install/common/mod-spdy.info FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/common/mod-spdy.info
+$(builddir)/install/common/installer.include: TOOLSET := $(TOOLSET)
+$(builddir)/install/common/installer.include: install/common/installer.include FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/common/installer.include
+$(builddir)/install/common/repo.cron: TOOLSET := $(TOOLSET)
+$(builddir)/install/common/repo.cron: install/common/repo.cron FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/common/repo.cron
+$(builddir)/install/common/rpm.include: TOOLSET := $(TOOLSET)
+$(builddir)/install/common/rpm.include: install/common/rpm.include FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/common/rpm.include
+$(builddir)/install/common/rpmrepo.cron: TOOLSET := $(TOOLSET)
+$(builddir)/install/common/rpmrepo.cron: install/common/rpmrepo.cron FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/common/rpmrepo.cron
+$(builddir)/install/common/updater: TOOLSET := $(TOOLSET)
+$(builddir)/install/common/updater: install/common/updater FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/common/updater
+$(builddir)/install/common/variables.include: TOOLSET := $(TOOLSET)
+$(builddir)/install/common/variables.include: install/common/variables.include FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/common/variables.include
+$(builddir)/install/common/BRANDING: TOOLSET := $(TOOLSET)
+$(builddir)/install/common/BRANDING: install/common/BRANDING FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/common/BRANDING
+$(builddir)/install/common/spdy.load.template: TOOLSET := $(TOOLSET)
+$(builddir)/install/common/spdy.load.template: install/common/spdy.load.template FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/common/spdy.load.template
+$(builddir)/install/common/spdy.conf.template: TOOLSET := $(TOOLSET)
+$(builddir)/install/common/spdy.conf.template: install/common/spdy.conf.template FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/common/spdy.conf.template
+$(builddir)/install/common/ssl.load.template: TOOLSET := $(TOOLSET)
+$(builddir)/install/common/ssl.load.template: install/common/ssl.load.template FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/install/common/ssl.load.template
+$(builddir)/mod_ssl.so: TOOLSET := $(TOOLSET)
+$(builddir)/mod_ssl.so: mod_ssl.so FORCE_DO_CMD
+	$(call do_cmd,copy)
+
+all_deps += $(builddir)/mod_ssl.so
+build_install_gyp_linux_installer_configs_target_copies = $(builddir)/install/debian/build.sh $(builddir)/install/debian/changelog.template $(builddir)/install/debian/conffiles.template $(builddir)/install/debian/control.template $(builddir)/install/debian/postinst $(builddir)/install/debian/postrm $(builddir)/install/debian/preinst $(builddir)/install/debian/prerm $(builddir)/install/rpm/build.sh $(builddir)/install/rpm/mod-spdy.spec.template $(builddir)/install/common/apt.include $(builddir)/install/common/mod-spdy.info $(builddir)/install/common/installer.include $(builddir)/install/common/repo.cron $(builddir)/install/common/rpm.include $(builddir)/install/common/rpmrepo.cron $(builddir)/install/common/updater $(builddir)/install/common/variables.include $(builddir)/install/common/BRANDING $(builddir)/install/common/spdy.load.template $(builddir)/install/common/spdy.conf.template $(builddir)/install/common/ssl.load.template $(builddir)/mod_ssl.so
+
+### Rules for final target.
+# Build our special outputs first.
+$(obj).target/build/linux_installer_configs.stamp: | $(action_build_install_gyp_linux_installer_configs_target_save_build_info_outputs) $(build_install_gyp_linux_installer_configs_target_copies)
+
+# Preserve order dependency of special output on deps.
+$(action_build_install_gyp_linux_installer_configs_target_save_build_info_outputs) $(build_install_gyp_linux_installer_configs_target_copies): | 
+
+$(obj).target/build/linux_installer_configs.stamp: TOOLSET := $(TOOLSET)
+$(obj).target/build/linux_installer_configs.stamp:  FORCE_DO_CMD
+	$(call do_cmd,touch)
+
+all_deps += $(obj).target/build/linux_installer_configs.stamp
+# Add target alias
+.PHONY: linux_installer_configs
+linux_installer_configs: $(obj).target/build/linux_installer_configs.stamp
+

Added: httpd/mod_spdy/trunk/build/linux_package_deb.target.mk
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/linux_package_deb.target.mk?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/linux_package_deb.target.mk (added)
+++ httpd/mod_spdy/trunk/build/linux_package_deb.target.mk Thu May  1 11:43:36 2014
@@ -0,0 +1,114 @@
+# This file is generated by gyp; do not edit.
+
+TOOLSET := target
+TARGET := linux_package_deb
+### Rules for action "deb_package_beta":
+quiet_cmd_build_install_gyp_linux_package_deb_target_deb_package_beta = ACTION build_install_gyp_linux_package_deb_target_deb_package_beta $@
+cmd_build_install_gyp_linux_package_deb_target_deb_package_beta = LD_LIBRARY_PATH=$(builddir)/lib.host:$(builddir)/lib.target:$$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd build; mkdir -p $(builddir); flock -- /tmp/linux_package_lock bash "$(builddir)/install/debian/build.sh" "-o$(builddir)" -b "$(builddir)" -a x64 -c beta
+
+$(builddir)/mod-spdy-beta_0.9.4.1-r407_amd64.deb: obj := $(abs_obj)
+$(builddir)/mod-spdy-beta_0.9.4.1-r407_amd64.deb: builddir := $(abs_builddir)
+$(builddir)/mod-spdy-beta_0.9.4.1-r407_amd64.deb: TOOLSET := $(TOOLSET)
+$(builddir)/mod-spdy-beta_0.9.4.1-r407_amd64.deb: $(builddir)/install/debian/build.sh $(builddir)/libmod_spdy.so install/common/apt.include install/common/mod-spdy.info install/common/installer.include install/common/repo.cron install/common/rpm.include install/common/rpmrepo.cron install/common/updater install/common/variables.include install/common/BRANDING install/common/spdy.load.template install/common/spdy.conf.template install/common/ssl.load.template install/debian/build.sh install/debian/changelog.template install/debian/conffiles.template install/debian/control.template install/debian/postinst install/debian/postrm install/debian/preinst install/debian/prerm FORCE_DO_CMD
+	$(call do_cmd,build_install_gyp_linux_package_deb_target_deb_package_beta)
+
+all_deps += $(builddir)/mod-spdy-beta_0.9.4.1-r407_amd64.deb
+action_build_install_gyp_linux_package_deb_target_deb_package_beta_outputs := $(builddir)/mod-spdy-beta_0.9.4.1-r407_amd64.deb
+
+
+DEFS_Debug := \
+	'-DDYNAMIC_ANNOTATIONS_ENABLED=1' \
+	'-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \
+	'-D_DEBUG'
+
+# Flags passed to all source files.
+CFLAGS_Debug := \
+	 \
+	-pthread \
+	-fno-exceptions \
+	-Wno-unused-parameter \
+	-Wno-missing-field-initializers \
+	-D_FILE_OFFSET_BITS=64 \
+	-fvisibility=hidden \
+	-pipe \
+	-fPIC \
+	-fno-strict-aliasing \
+	-Wno-deprecated \
+	-Wno-format \
+	-O0 \
+	-g
+
+# Flags passed to only C files.
+CFLAGS_C_Debug :=
+
+# Flags passed to only C++ files.
+CFLAGS_CC_Debug := \
+	-fno-rtti \
+	-fno-threadsafe-statics \
+	-fvisibility-inlines-hidden
+
+INCS_Debug := \
+	-Ithird_party/chromium/src
+
+DEFS_Release := \
+	'-DNDEBUG'
+
+# Flags passed to all source files.
+CFLAGS_Release := \
+	 \
+	-pthread \
+	-fno-exceptions \
+	-Wno-unused-parameter \
+	-Wno-missing-field-initializers \
+	-D_FILE_OFFSET_BITS=64 \
+	-fvisibility=hidden \
+	-pipe \
+	-fPIC \
+	-fno-strict-aliasing \
+	-Wno-deprecated \
+	-Wno-format \
+	-O2 \
+	-fno-ident \
+	-fdata-sections \
+	-ffunction-sections
+
+# Flags passed to only C files.
+CFLAGS_C_Release :=
+
+# Flags passed to only C++ files.
+CFLAGS_CC_Release := \
+	-fno-rtti \
+	-fno-threadsafe-statics \
+	-fvisibility-inlines-hidden
+
+INCS_Release := \
+	-Ithird_party/chromium/src
+
+OBJS :=
+
+# Add to the list of files we specially track dependencies for.
+all_deps += $(OBJS)
+
+# Make sure our dependencies are built before any of us.
+$(OBJS): | $(builddir)/libmod_spdy.so $(obj).target/build/linux_installer_configs.stamp
+
+# Make sure our actions/rules run before any of us.
+$(OBJS): | $(action_build_install_gyp_linux_package_deb_target_deb_package_beta_outputs)
+
+
+### Rules for final target.
+# Build our special outputs first.
+$(obj).target/build/linux_package_deb.stamp: | $(action_build_install_gyp_linux_package_deb_target_deb_package_beta_outputs)
+
+# Preserve order dependency of special output on deps.
+$(action_build_install_gyp_linux_package_deb_target_deb_package_beta_outputs): | $(builddir)/libmod_spdy.so $(obj).target/build/linux_installer_configs.stamp
+
+$(obj).target/build/linux_package_deb.stamp: TOOLSET := $(TOOLSET)
+$(obj).target/build/linux_package_deb.stamp: $(builddir)/libmod_spdy.so $(obj).target/build/linux_installer_configs.stamp FORCE_DO_CMD
+	$(call do_cmd,touch)
+
+all_deps += $(obj).target/build/linux_package_deb.stamp
+# Add target alias
+.PHONY: linux_package_deb
+linux_package_deb: $(obj).target/build/linux_package_deb.stamp
+

Added: httpd/mod_spdy/trunk/build/linux_package_rpm.target.mk
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/linux_package_rpm.target.mk?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/linux_package_rpm.target.mk (added)
+++ httpd/mod_spdy/trunk/build/linux_package_rpm.target.mk Thu May  1 11:43:36 2014
@@ -0,0 +1,114 @@
+# This file is generated by gyp; do not edit.
+
+TOOLSET := target
+TARGET := linux_package_rpm
+### Rules for action "rpm_package_beta":
+quiet_cmd_build_install_gyp_linux_package_rpm_target_rpm_package_beta = ACTION build_install_gyp_linux_package_rpm_target_rpm_package_beta $@
+cmd_build_install_gyp_linux_package_rpm_target_rpm_package_beta = LD_LIBRARY_PATH=$(builddir)/lib.host:$(builddir)/lib.target:$$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd build; mkdir -p $(builddir); flock -- /tmp/linux_package_lock bash "$(builddir)/install/rpm/build.sh" "-o$(builddir)" -b "$(builddir)" -a x64 -c beta
+
+$(builddir)/mod-spdy-beta-0.9.4.1-r407.x86_64.rpm: obj := $(abs_obj)
+$(builddir)/mod-spdy-beta-0.9.4.1-r407.x86_64.rpm: builddir := $(abs_builddir)
+$(builddir)/mod-spdy-beta-0.9.4.1-r407.x86_64.rpm: TOOLSET := $(TOOLSET)
+$(builddir)/mod-spdy-beta-0.9.4.1-r407.x86_64.rpm: $(builddir)/install/rpm/build.sh $(builddir)/install/rpm/mod-spdy.spec.template $(builddir)/libmod_spdy.so install/common/apt.include install/common/mod-spdy.info install/common/installer.include install/common/repo.cron install/common/rpm.include install/common/rpmrepo.cron install/common/updater install/common/variables.include install/common/BRANDING install/common/spdy.load.template install/common/spdy.conf.template install/common/ssl.load.template install/rpm/build.sh install/rpm/mod-spdy.spec.template FORCE_DO_CMD
+	$(call do_cmd,build_install_gyp_linux_package_rpm_target_rpm_package_beta)
+
+all_deps += $(builddir)/mod-spdy-beta-0.9.4.1-r407.x86_64.rpm
+action_build_install_gyp_linux_package_rpm_target_rpm_package_beta_outputs := $(builddir)/mod-spdy-beta-0.9.4.1-r407.x86_64.rpm
+
+
+DEFS_Debug := \
+	'-DDYNAMIC_ANNOTATIONS_ENABLED=1' \
+	'-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \
+	'-D_DEBUG'
+
+# Flags passed to all source files.
+CFLAGS_Debug := \
+	 \
+	-pthread \
+	-fno-exceptions \
+	-Wno-unused-parameter \
+	-Wno-missing-field-initializers \
+	-D_FILE_OFFSET_BITS=64 \
+	-fvisibility=hidden \
+	-pipe \
+	-fPIC \
+	-fno-strict-aliasing \
+	-Wno-deprecated \
+	-Wno-format \
+	-O0 \
+	-g
+
+# Flags passed to only C files.
+CFLAGS_C_Debug :=
+
+# Flags passed to only C++ files.
+CFLAGS_CC_Debug := \
+	-fno-rtti \
+	-fno-threadsafe-statics \
+	-fvisibility-inlines-hidden
+
+INCS_Debug := \
+	-Ithird_party/chromium/src
+
+DEFS_Release := \
+	'-DNDEBUG'
+
+# Flags passed to all source files.
+CFLAGS_Release := \
+	 \
+	-pthread \
+	-fno-exceptions \
+	-Wno-unused-parameter \
+	-Wno-missing-field-initializers \
+	-D_FILE_OFFSET_BITS=64 \
+	-fvisibility=hidden \
+	-pipe \
+	-fPIC \
+	-fno-strict-aliasing \
+	-Wno-deprecated \
+	-Wno-format \
+	-O2 \
+	-fno-ident \
+	-fdata-sections \
+	-ffunction-sections
+
+# Flags passed to only C files.
+CFLAGS_C_Release :=
+
+# Flags passed to only C++ files.
+CFLAGS_CC_Release := \
+	-fno-rtti \
+	-fno-threadsafe-statics \
+	-fvisibility-inlines-hidden
+
+INCS_Release := \
+	-Ithird_party/chromium/src
+
+OBJS :=
+
+# Add to the list of files we specially track dependencies for.
+all_deps += $(OBJS)
+
+# Make sure our dependencies are built before any of us.
+$(OBJS): | $(builddir)/libmod_spdy.so $(obj).target/build/linux_installer_configs.stamp
+
+# Make sure our actions/rules run before any of us.
+$(OBJS): | $(action_build_install_gyp_linux_package_rpm_target_rpm_package_beta_outputs)
+
+
+### Rules for final target.
+# Build our special outputs first.
+$(obj).target/build/linux_package_rpm.stamp: | $(action_build_install_gyp_linux_package_rpm_target_rpm_package_beta_outputs)
+
+# Preserve order dependency of special output on deps.
+$(action_build_install_gyp_linux_package_rpm_target_rpm_package_beta_outputs): | $(builddir)/libmod_spdy.so $(obj).target/build/linux_installer_configs.stamp
+
+$(obj).target/build/linux_package_rpm.stamp: TOOLSET := $(TOOLSET)
+$(obj).target/build/linux_package_rpm.stamp: $(builddir)/libmod_spdy.so $(obj).target/build/linux_installer_configs.stamp FORCE_DO_CMD
+	$(call do_cmd,touch)
+
+all_deps += $(obj).target/build/linux_package_rpm.stamp
+# Add target alias
+.PHONY: linux_package_rpm
+linux_package_rpm: $(obj).target/build/linux_package_rpm.stamp
+

Added: httpd/mod_spdy/trunk/build/linux_packages.target.mk
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/linux_packages.target.mk?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/linux_packages.target.mk (added)
+++ httpd/mod_spdy/trunk/build/linux_packages.target.mk Thu May  1 11:43:36 2014
@@ -0,0 +1,14 @@
+# This file is generated by gyp; do not edit.
+
+TOOLSET := target
+TARGET := linux_packages
+### Rules for final target.
+$(obj).target/build/linux_packages.stamp: TOOLSET := $(TOOLSET)
+$(obj).target/build/linux_packages.stamp: $(obj).target/build/linux_package_deb.stamp $(obj).target/build/linux_package_rpm.stamp FORCE_DO_CMD
+	$(call do_cmd,touch)
+
+all_deps += $(obj).target/build/linux_packages.stamp
+# Add target alias
+.PHONY: linux_packages
+linux_packages: $(obj).target/build/linux_packages.stamp
+

Added: httpd/mod_spdy/trunk/build/mac/OWNERS
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/mac/OWNERS?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/mac/OWNERS (added)
+++ httpd/mod_spdy/trunk/build/mac/OWNERS Thu May  1 11:43:36 2014
@@ -0,0 +1,2 @@
+mark@chromium.org
+thomasvl@chromium.org

Added: httpd/mod_spdy/trunk/build/mac/change_mach_o_flags.py
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/mac/change_mach_o_flags.py?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/mac/change_mach_o_flags.py (added)
+++ httpd/mod_spdy/trunk/build/mac/change_mach_o_flags.py Thu May  1 11:43:36 2014
@@ -0,0 +1,273 @@
+#!/usr/bin/env python
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Usage: change_mach_o_flags.py [--executable-heap] [--no-pie] <executablepath>
+
+Arranges for the executable at |executable_path| to have its data (heap)
+pages protected to prevent execution on Mac OS X 10.7 ("Lion"), and to have
+the PIE (position independent executable) bit set to enable ASLR (address
+space layout randomization). With --executable-heap or --no-pie, the
+respective bits are cleared instead of set, making the heap executable or
+disabling PIE/ASLR.
+
+This script is able to operate on thin (single-architecture) Mach-O files
+and fat (universal, multi-architecture) files. When operating on fat files,
+it will set or clear the bits for each architecture contained therein.
+
+NON-EXECUTABLE HEAP
+
+Traditionally in Mac OS X, 32-bit processes did not have data pages set to
+prohibit execution. Although user programs could call mprotect and
+mach_vm_protect to deny execution of code in data pages, the kernel would
+silently ignore such requests without updating the page tables, and the
+hardware would happily execute code on such pages. 64-bit processes were
+always given proper hardware protection of data pages. This behavior was
+controllable on a system-wide level via the vm.allow_data_exec sysctl, which
+is set by default to 1. The bit with value 1 (set by default) allows code
+execution on data pages for 32-bit processes, and the bit with value 2
+(clear by default) does the same for 64-bit processes.
+
+In Mac OS X 10.7, executables can "opt in" to having hardware protection
+against code execution on data pages applied. This is done by setting a new
+bit in the |flags| field of an executable's |mach_header|. When
+MH_NO_HEAP_EXECUTION is set, proper protections will be applied, regardless
+of the setting of vm.allow_data_exec. See xnu-1699.22.73/osfmk/vm/vm_map.c
+override_nx and xnu-1699.22.73/bsd/kern/mach_loader.c load_machfile.
+
+The Apple toolchain has been revised to set the MH_NO_HEAP_EXECUTION when
+producing executables, provided that -allow_heap_execute is not specified
+at link time. Only linkers shipping with Xcode 4.0 and later (ld64-123.2 and
+later) have this ability. See ld64-123.2.1/src/ld/Options.cpp
+Options::reconfigureDefaults() and
+ld64-123.2.1/src/ld/HeaderAndLoadCommands.hpp
+HeaderAndLoadCommandsAtom<A>::flags().
+
+This script sets the MH_NO_HEAP_EXECUTION bit on Mach-O executables. It is
+intended for use with executables produced by a linker that predates Apple's
+modifications to set this bit itself. It is also useful for setting this bit
+for non-i386 executables, including x86_64 executables. Apple's linker only
+sets it for 32-bit i386 executables, presumably under the assumption that
+the value of vm.allow_data_exec is set in stone. However, if someone were to
+change vm.allow_data_exec to 2 or 3, 64-bit x86_64 executables would run
+without hardware protection against code execution on data pages. This
+script can set the bit for x86_64 executables, guaranteeing that they run
+with appropriate protection even when vm.allow_data_exec has been tampered
+with.
+
+POSITION-INDEPENDENT EXECUTABLES/ADDRESS SPACE LAYOUT RANDOMIZATION
+
+This script sets or clears the MH_PIE bit in an executable's Mach-O header,
+enabling or disabling position independence on Mac OS X 10.5 and later.
+Processes running position-independent executables have varying levels of
+ASLR protection depending on the OS release. The main executable's load
+address, shared library load addresess, and the heap and stack base
+addresses may be randomized. Position-independent executables are produced
+by supplying the -pie flag to the linker (or defeated by supplying -no_pie).
+Executables linked with a deployment target of 10.7 or higher have PIE on
+by default.
+
+This script is never strictly needed during the build to enable PIE, as all
+linkers used are recent enough to support -pie. However, it's used to
+disable the PIE bit as needed on already-linked executables.
+"""
+
+import optparse
+import os
+import struct
+import sys
+
+
+# <mach-o/fat.h>
+FAT_MAGIC = 0xcafebabe
+FAT_CIGAM = 0xbebafeca
+
+# <mach-o/loader.h>
+MH_MAGIC = 0xfeedface
+MH_CIGAM = 0xcefaedfe
+MH_MAGIC_64 = 0xfeedfacf
+MH_CIGAM_64 = 0xcffaedfe
+MH_EXECUTE = 0x2
+MH_PIE = 0x00200000
+MH_NO_HEAP_EXECUTION = 0x01000000
+
+
+class MachOError(Exception):
+  """A class for exceptions thrown by this module."""
+
+  pass
+
+
+def CheckedSeek(file, offset):
+  """Seeks the file-like object at |file| to offset |offset| and raises a
+  MachOError if anything funny happens."""
+
+  file.seek(offset, os.SEEK_SET)
+  new_offset = file.tell()
+  if new_offset != offset:
+    raise MachOError, \
+          'seek: expected offset %d, observed %d' % (offset, new_offset)
+
+
+def CheckedRead(file, count):
+  """Reads |count| bytes from the file-like |file| object, raising a
+  MachOError if any other number of bytes is read."""
+
+  bytes = file.read(count)
+  if len(bytes) != count:
+    raise MachOError, \
+          'read: expected length %d, observed %d' % (count, len(bytes))
+
+  return bytes
+
+
+def ReadUInt32(file, endian):
+  """Reads an unsinged 32-bit integer from the file-like |file| object,
+  treating it as having endianness specified by |endian| (per the |struct|
+  module), and returns it as a number. Raises a MachOError if the proper
+  length of data can't be read from |file|."""
+
+  bytes = CheckedRead(file, 4)
+
+  (uint32,) = struct.unpack(endian + 'I', bytes)
+  return uint32
+
+
+def ReadMachHeader(file, endian):
+  """Reads an entire |mach_header| structure (<mach-o/loader.h>) from the
+  file-like |file| object, treating it as having endianness specified by
+  |endian| (per the |struct| module), and returns a 7-tuple of its members
+  as numbers. Raises a MachOError if the proper length of data can't be read
+  from |file|."""
+
+  bytes = CheckedRead(file, 28)
+
+  magic, cputype, cpusubtype, filetype, ncmds, sizeofcmds, flags = \
+      struct.unpack(endian + '7I', bytes)
+  return magic, cputype, cpusubtype, filetype, ncmds, sizeofcmds, flags
+
+
+def ReadFatArch(file):
+  """Reads an entire |fat_arch| structure (<mach-o/fat.h>) from the file-like
+  |file| object, treating it as having endianness specified by |endian|
+  (per the |struct| module), and returns a 5-tuple of its members as numbers.
+  Raises a MachOError if the proper length of data can't be read from
+  |file|."""
+
+  bytes = CheckedRead(file, 20)
+
+  cputype, cpusubtype, offset, size, align = struct.unpack('>5I', bytes)
+  return cputype, cpusubtype, offset, size, align
+
+
+def WriteUInt32(file, uint32, endian):
+  """Writes |uint32| as an unsinged 32-bit integer to the file-like |file|
+  object, treating it as having endianness specified by |endian| (per the
+  |struct| module)."""
+
+  bytes = struct.pack(endian + 'I', uint32)
+  assert len(bytes) == 4
+
+  file.write(bytes)
+
+
+def HandleMachOFile(file, options, offset=0):
+  """Seeks the file-like |file| object to |offset|, reads its |mach_header|,
+  and rewrites the header's |flags| field if appropriate. The header's
+  endianness is detected. Both 32-bit and 64-bit Mach-O headers are supported
+  (mach_header and mach_header_64). Raises MachOError if used on a header that
+  does not have a known magic number or is not of type MH_EXECUTE. The
+  MH_PIE and MH_NO_HEAP_EXECUTION bits are set or cleared in the |flags| field
+  according to |options| and written to |file| if any changes need to be made.
+  If already set or clear as specified by |options|, nothing is written."""
+
+  CheckedSeek(file, offset)
+  magic = ReadUInt32(file, '<')
+  if magic == MH_MAGIC or magic == MH_MAGIC_64:
+    endian = '<'
+  elif magic == MH_CIGAM or magic == MH_CIGAM_64:
+    endian = '>'
+  else:
+    raise MachOError, \
+          'Mach-O file at offset %d has illusion of magic' % offset
+
+  CheckedSeek(file, offset)
+  magic, cputype, cpusubtype, filetype, ncmds, sizeofcmds, flags = \
+      ReadMachHeader(file, endian)
+  assert magic == MH_MAGIC or magic == MH_MAGIC_64
+  if filetype != MH_EXECUTE:
+    raise MachOError, \
+          'Mach-O file at offset %d is type 0x%x, expected MH_EXECUTE' % \
+              (offset, filetype)
+
+  original_flags = flags
+
+  if options.no_heap_execution:
+    flags |= MH_NO_HEAP_EXECUTION
+  else:
+    flags &= ~MH_NO_HEAP_EXECUTION
+
+  if options.pie:
+    flags |= MH_PIE
+  else:
+    flags &= ~MH_PIE
+
+  if flags != original_flags:
+    CheckedSeek(file, offset + 24)
+    WriteUInt32(file, flags, endian)
+
+
+def HandleFatFile(file, options, fat_offset=0):
+  """Seeks the file-like |file| object to |offset| and loops over its
+  |fat_header| entries, calling HandleMachOFile for each."""
+
+  CheckedSeek(file, fat_offset)
+  magic = ReadUInt32(file, '>')
+  assert magic == FAT_MAGIC
+
+  nfat_arch = ReadUInt32(file, '>')
+
+  for index in xrange(0, nfat_arch):
+    cputype, cpusubtype, offset, size, align = ReadFatArch(file)
+    assert size >= 28
+
+    # HandleMachOFile will seek around. Come back here after calling it, in
+    # case it sought.
+    fat_arch_offset = file.tell()
+    HandleMachOFile(file, options, offset)
+    CheckedSeek(file, fat_arch_offset)
+
+
+def main(me, args):
+  parser = optparse.OptionParser('%prog [options] <executable_path>')
+  parser.add_option('--executable-heap', action='store_false',
+                    dest='no_heap_execution', default=True,
+                    help='Clear the MH_NO_HEAP_EXECUTION bit')
+  parser.add_option('--no-pie', action='store_false',
+                    dest='pie', default=True,
+                    help='Clear the MH_PIE bit')
+  (options, loose_args) = parser.parse_args(args)
+  if len(loose_args) != 1:
+    parser.print_usage()
+    return 1
+
+  executable_path = loose_args[0]
+  executable_file = open(executable_path, 'rb+')
+
+  magic = ReadUInt32(executable_file, '<')
+  if magic == FAT_CIGAM:
+    # Check FAT_CIGAM and not FAT_MAGIC because the read was little-endian.
+    HandleFatFile(executable_file, options)
+  elif magic == MH_MAGIC or magic == MH_CIGAM or \
+      magic == MH_MAGIC_64 or magic == MH_CIGAM_64:
+    HandleMachOFile(executable_file, options)
+  else:
+    raise MachOError, '%s is not a Mach-O or fat file' % executable_file
+
+  executable_file.close()
+  return 0
+
+
+if __name__ == '__main__':
+  sys.exit(main(sys.argv[0], sys.argv[1:]))

Propchange: httpd/mod_spdy/trunk/build/mac/change_mach_o_flags.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: httpd/mod_spdy/trunk/build/mac/change_mach_o_flags.py
------------------------------------------------------------------------------
    svn:executable = *

Added: httpd/mod_spdy/trunk/build/mac/change_mach_o_flags_from_xcode.sh
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/mac/change_mach_o_flags_from_xcode.sh?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/mac/change_mach_o_flags_from_xcode.sh (added)
+++ httpd/mod_spdy/trunk/build/mac/change_mach_o_flags_from_xcode.sh Thu May  1 11:43:36 2014
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This is a small wrapper script around change_mach_o_flags.py allowing it to
+# be invoked easily from Xcode. change_mach_o_flags.py expects its arguments
+# on the command line, but Xcode puts its parameters in the environment.
+
+set -e
+
+exec "$(dirname "${0}")/change_mach_o_flags.py" \
+     "${@}" \
+     "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}"

Propchange: httpd/mod_spdy/trunk/build/mac/change_mach_o_flags_from_xcode.sh
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: httpd/mod_spdy/trunk/build/mac/change_mach_o_flags_from_xcode.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: httpd/mod_spdy/trunk/build/mac/chrome_mac.croc
URL: http://svn.apache.org/viewvc/httpd/mod_spdy/trunk/build/mac/chrome_mac.croc?rev=1591622&view=auto
==============================================================================
--- httpd/mod_spdy/trunk/build/mac/chrome_mac.croc (added)
+++ httpd/mod_spdy/trunk/build/mac/chrome_mac.croc Thu May  1 11:43:36 2014
@@ -0,0 +1,36 @@
+# -*- python -*-
+# Crocodile config file for Chromium mac
+
+{
+  # List of rules, applied in order
+  'rules' : [
+    # Specify inclusions before exclusions, since rules are in order.
+
+    # Don't include chromeos, linux, or windows specific files
+    {
+      'regexp' : '.*(_|/)(chromeos|linux|win|views)(\\.|_)',
+      'include' : 0,
+    },
+    # Don't include ChromeOS dirs
+    {
+      'regexp' : '.*/chromeos/',
+      'include' : 0,
+    },
+
+    # Groups
+    {
+      'regexp' : '.*_test_mac\\.',
+      'group' : 'test',
+    },
+
+    # Languages
+    {
+      'regexp' : '.*\\.m$',
+      'language' : 'ObjC',
+    },
+    {
+      'regexp' : '.*\\.mm$',
+      'language' : 'ObjC++',
+    },
+  ],
+}