139 lines
4.7 KiB
Python
139 lines
4.7 KiB
Python
# Copyright 2009 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.
|
|
|
|
{
|
|
'variables': {
|
|
'instaweb_root': '../..',
|
|
'chromium_code': 1,
|
|
# Warning: duplicated from icu.gyp; so please remember to change both spots
|
|
# if changing the default.
|
|
'use_system_icu%': 0,
|
|
},
|
|
'targets': [
|
|
{
|
|
# PSI relies on this library, so we keep it for backwards compatibility.
|
|
# However, it doesn't build on OS X if it has no code, so we also inject
|
|
# a dummy source file
|
|
'target_name': 'instaweb_htmlparse_core',
|
|
'type': '<(library)',
|
|
'sources': [
|
|
'htmlparse/dummy.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/pagespeed/kernel.gyp:pagespeed_html',
|
|
],
|
|
'export_dependent_settings': [
|
|
'<(DEPTH)/pagespeed/kernel.gyp:pagespeed_html',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'instaweb_rewriter_html',
|
|
'type': '<(library)',
|
|
# Like above, we need a dummy .cc file for OS X to build this.
|
|
# It should go away once PSI has been ported to new target names.
|
|
'sources': [
|
|
'htmlparse/dummy.cc',
|
|
],
|
|
'dependencies': [
|
|
'instaweb_htmlparse_core',
|
|
'<(DEPTH)/base/base.gyp:base',
|
|
'<(DEPTH)/pagespeed/kernel.gyp:pagespeed_base_core',
|
|
'<(DEPTH)/pagespeed/kernel.gyp:pagespeed_http_core',
|
|
],
|
|
'include_dirs': [
|
|
'<(instaweb_root)',
|
|
'<(DEPTH)',
|
|
],
|
|
'direct_dependent_settings': {
|
|
'include_dirs': [
|
|
'<(instaweb_root)',
|
|
'<(DEPTH)',
|
|
],
|
|
},
|
|
'export_dependent_settings': [
|
|
'<(DEPTH)/pagespeed/kernel.gyp:pagespeed_base_core',
|
|
'<(DEPTH)/pagespeed/kernel.gyp:pagespeed_http_core',
|
|
'instaweb_htmlparse_core',
|
|
]
|
|
},
|
|
{
|
|
'target_name': 'html_minifier_main',
|
|
'type': 'executable',
|
|
'dependencies': [
|
|
'<(DEPTH)/base/base.gyp:base',
|
|
'instaweb_htmlparse_core',
|
|
'instaweb_rewriter_html',
|
|
'<(DEPTH)/pagespeed/kernel.gyp:pagespeed_base_core',
|
|
'<(DEPTH)/pagespeed/kernel.gyp:pagespeed_http_core',
|
|
],
|
|
'sources': [
|
|
'rewriter/html_minifier_main.cc',
|
|
],
|
|
},
|
|
],
|
|
'conditions': [
|
|
['OS=="linux" and use_system_icu==0', {
|
|
'targets': [
|
|
# We build this target to make sure that we don't accidentially
|
|
# introduce dependencies from the core libraries to non-core
|
|
# libraries.
|
|
{
|
|
'target_name': 'html_minifier_main_dependency_check',
|
|
'type': 'none',
|
|
'dependencies': [
|
|
'html_minifier_main',
|
|
],
|
|
'actions': [
|
|
{
|
|
'action_name': 'html_minifier_main_dependency_check',
|
|
'inputs': [
|
|
'<(PRODUCT_DIR)/html_minifier_main',
|
|
],
|
|
'outputs': [
|
|
'<(PRODUCT_DIR)/html_minifier_main_dependency_check',
|
|
],
|
|
'action': [
|
|
'g++',
|
|
'-pthread',
|
|
'-o', '<@(_outputs)',
|
|
'<(LIB_DIR)/html_minifier_main/net/instaweb/rewriter/html_minifier_main.o',
|
|
|
|
# Only the following dependencies are allowed. If you
|
|
# find yourself needing to add additional dependencies,
|
|
# please check with bmcquade first.
|
|
#
|
|
# Note: these must be in dependency order to work; you can't
|
|
# sort this list alphabetically.
|
|
'<(LIB_DIR)/net/instaweb/libinstaweb_rewriter_html.a',
|
|
'<(LIB_DIR)/pagespeed/libpagespeed_html.a',
|
|
'<(LIB_DIR)/pagespeed/libpagespeed_html_gperf.a',
|
|
'<(LIB_DIR)/pagespeed/libpagespeed_http_core.a',
|
|
'<(LIB_DIR)/pagespeed/libpagespeed_base_core.a',
|
|
'<(LIB_DIR)/url/liburl_lib.a',
|
|
'<(LIB_DIR)/base/libbase.a',
|
|
'<(LIB_DIR)/base/libbase_static.a',
|
|
'<(LIB_DIR)/third_party/chromium/src/base/third_party/dynamic_annotations/libdynamic_annotations.a',
|
|
'<(LIB_DIR)/third_party/modp_b64/libmodp_b64.a',
|
|
'<(LIB_DIR)/third_party/icu/libicuuc.a',
|
|
'<(LIB_DIR)/third_party/icu/libicudata.a',
|
|
'-lrt',
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
}],
|
|
],
|
|
}
|