Build and link microhttpd from gyp
BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1628363002 Review URL: https://codereview.chromium.org/1628363002
This commit is contained in:
parent
89061ed2e7
commit
8cc3f4e38f
43
gyp/microhttpd.gyp
Normal file
43
gyp/microhttpd.gyp
Normal file
@ -0,0 +1,43 @@
|
||||
# Copyright 2016 Google Inc.
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
# A simple gyp file to generate microhttpd for internal purposes
|
||||
# most of the work(configure and make) is performed in a python script
|
||||
{
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'microhttpd',
|
||||
'type': 'static_library',
|
||||
'variables': {
|
||||
'base_dir%': '../third_party/libmicrohttpd',
|
||||
'src_dir%': '../third_party/externals/microhttpd',
|
||||
},
|
||||
'direct_dependent_settings': {
|
||||
'include_dirs': [
|
||||
'<(src_dir)/src/include',
|
||||
],
|
||||
# for reasons I can't quite fathom, we need the below line to trigger
|
||||
# a link
|
||||
'libraries': [
|
||||
'libmicrohttpd.a',
|
||||
],
|
||||
},
|
||||
'actions': [
|
||||
{
|
||||
'action_name': 'configure_and_build',
|
||||
'inputs': [
|
||||
'<(PRODUCT_DIR)/',
|
||||
],
|
||||
'outputs': [ '<(PRODUCT_DIR)/libmicrohttpd.a' ],
|
||||
'action': [
|
||||
'python',
|
||||
'<(base_dir)/build.py',
|
||||
'--src', '<(src_dir)',
|
||||
'--dst', '<(PRODUCT_DIR)',
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
}
|
@ -12,11 +12,6 @@
|
||||
{
|
||||
'target_name': 'skiaserve',
|
||||
'type': 'executable',
|
||||
'include_dirs': [
|
||||
'../src/core',
|
||||
#TODO make this a real project
|
||||
'../third_party/externals/microhttpd/src/include',
|
||||
],
|
||||
'sources': [
|
||||
'<!@(python find.py ../tools/skiaserve "*.cpp")',
|
||||
],
|
||||
@ -24,20 +19,12 @@
|
||||
'flags.gyp:flags',
|
||||
'gputest.gyp:skgputest',
|
||||
'jsoncpp.gyp:jsoncpp',
|
||||
'microhttpd.gyp:microhttpd',
|
||||
'skia_lib.gyp:skia_lib',
|
||||
'tools.gyp:crash_handler',
|
||||
'tools.gyp:proc_stats',
|
||||
'tools.gyp:resources',
|
||||
],
|
||||
#TODO real libmicrohttpd gyp
|
||||
'link_settings': {
|
||||
'ldflags': [
|
||||
'-L../../third_party/externals/microhttpd/src/microhttpd/.libs',
|
||||
],
|
||||
'libraries': [
|
||||
'-lmicrohttpd',
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
|
34
third_party/libmicrohttpd/build.py
vendored
Normal file
34
third_party/libmicrohttpd/build.py
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
# Copyright 2016 Google Inc.
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
# this script will configure and build microhttpd in a temp directory and then
|
||||
# copy the static library generated to a destination folder
|
||||
import argparse
|
||||
import os
|
||||
from subprocess import call
|
||||
import shutil
|
||||
import tempfile
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--src", help="microhttpd src directory")
|
||||
parser.add_argument("--dst", help="output for build files")
|
||||
args = parser.parse_args()
|
||||
|
||||
temp_dir = tempfile.mkdtemp()
|
||||
cwd = os.getcwd()
|
||||
os.chdir(temp_dir)
|
||||
call([cwd + "/" + args.src + "/configure",
|
||||
"--disable-doc",
|
||||
"--disable-examples",
|
||||
"--enable-https=no",
|
||||
"--disable-curl",
|
||||
"--enable-spdy=no",
|
||||
"--enable-shared=no"])
|
||||
call(["make", "--silent"])
|
||||
call(["cp",
|
||||
temp_dir + "/src/microhttpd/.libs/libmicrohttpd.a",
|
||||
cwd + "/" + args.dst])
|
||||
shutil.rmtree(temp_dir)
|
||||
|
Loading…
Reference in New Issue
Block a user