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++',
+ },
+ ],
+}