Create explicit microhttpd.gyp

Review URL: https://codereview.chromium.org/1779903002
This commit is contained in:
joshualitt 2016-03-09 14:00:52 -08:00 committed by Commit bot
parent c04df21bb6
commit 80993639df
4 changed files with 186 additions and 45 deletions

View File

@ -250,7 +250,6 @@
'skia_use_sdl%': 0,
'skia_fast%': 0,
'skia_dump_stats%': 0,
'skia_build_server%': 0,
'vulkan_merged_into_skia%': '<(vulkan_merged_into_skia)',
'skia_fast_flags': [
'-O3', # Even for Debug builds.

View File

@ -2,44 +2,181 @@
#
# 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': 'none',
'variables': {
'base_dir%': '../third_party/libmicrohttpd',
'out_dir%': '<(INTERMEDIATE_DIR)/build',
'src_dir%': '../third_party/externals/microhttpd',
},
'direct_dependent_settings': {
'include_dirs': [
'<(src_dir)/src/include',
],
# Link the built library to dependents.
'libraries': [
'<(PRODUCT_DIR)/libmicrohttpd.a',
],
},
'actions': [
{
'action_name': 'configure_and_build',
'inputs': [
'<(base_dir)/build.py',
'<(src_dir)/.git/HEAD', # This does not support local changes, but does support DEPS.
],
'outputs': [ '<(PRODUCT_DIR)/libmicrohttpd.a' ],
'action': [
'python',
'<(base_dir)/build.py',
'--src', '<(src_dir)',
'--out', '<(out_dir)',
'--dst', '<(PRODUCT_DIR)',
],
},
],
'variables': {
'skia_warnings_as_errors': 0,
},
'targets': [{
'target_name': 'microhttpd',
'type': 'static_library',
'direct_dependent_settings': {
'include_dirs': [ '../third_party/externals/microhttpd/src/include' ]
},
],
'include_dirs': [
'../third_party/externals/microhttpd/src/include',
'../third_party/libmicrohttpd',
],
'sources': [
'../third_party/externals/microhttpd/src/microhttpd/base64.c',
'../third_party/externals/microhttpd/src/microhttpd/basicauth.c',
'../third_party/externals/microhttpd/src/microhttpd/connection.c',
'../third_party/externals/microhttpd/src/microhttpd/daemon.c',
'../third_party/externals/microhttpd/src/microhttpd/digestauth.c',
'../third_party/externals/microhttpd/src/microhttpd/internal.c',
'../third_party/externals/microhttpd/src/microhttpd/md5.c',
'../third_party/externals/microhttpd/src/microhttpd/memorypool.c',
'../third_party/externals/microhttpd/src/microhttpd/postprocessor.c',
'../third_party/externals/microhttpd/src/microhttpd/reason_phrase.c',
'../third_party/externals/microhttpd/src/microhttpd/response.c',
'../third_party/externals/microhttpd/src/microhttpd/tsearch.c',
],
'conditions': [
# For each platform, run configure and scrape the generated MHD_config.h
# to get a list of platform specific defines
# the options to use for configure are:
# --disable-doc --disable-exapmles --enable-https=no --disable-curl
# --enable-spdy=no --enable-shared=no
['skia_os == "linux"', {
'cflags': [ '-w' ],
'libraries': [
'-lpthread',
],
'defines=': [ # equals sign throws away most Skia defines (just noise)
"_GNU_SOURCE=1",
"BAUTH_SUPPORT=1",
"DAUTH_SUPPORT=1",
"EPOLL_SUPPORT=1",
"HAVE_ACCEPT4=1",
"HAVE_ARPA_INET_H=1",
"HAVE_CLOCK_GETTIME=1",
"HAVE_DECL_SOCK_NONBLOCK=1",
"HAVE_DECL_TCP_CORK=1",
"HAVE_DECL_TCP_NOPUSH=0",
"HAVE_DLFCN_H=1",
"HAVE_EPOLL_CREATE1=1",
"HAVE_ERRNO_H=1",
"HAVE_FCNTL_H=1",
"HAVE_FSEEKO=1",
"HAVE_GCRYPT_H=1",
"HAVE_INET6=1",
"HAVE_INTTYPES_H=1",
"HAVE_LIMITS_H=1",
"HAVE_LISTEN_SHUTDOWN=1",
"HAVE_LOCALE_H=1",
"HAVE_MATH_H=1",
"HAVE_MEMMEM=1",
"HAVE_MEMORY_H=1",
"HAVE_MESSAGES=1",
"HAVE_NETDB_H=1",
"HAVE_NETINET_IN_H=1",
"HAVE_NETINET_TCP_H=1",
"HAVE_POLL=1",
"HAVE_POLL_H=1",
"HAVE_POSTPROCESSOR=1",
"HAVE_PTHREAD_H=1",
"HAVE_PTHREAD_PRIO_INHERIT=1",
"HAVE_PTHREAD_SETNAME_NP=1",
"HAVE_SEARCH_H=1",
"HAVE_SOCK_NONBLOCK=1",
"HAVE_STDINT_H=1",
"HAVE_STDIO_H=1",
"HAVE_STDLIB_H=1",
"HAVE_STRINGS_H=1",
"HAVE_STRING_H=1",
"HAVE_SYS_MMAN_H=1",
"HAVE_SYS_MSG_H=1",
"HAVE_SYS_SELECT_H=1",
"HAVE_SYS_SOCKET_H=1",
"HAVE_SYS_STAT_H=1",
"HAVE_SYS_TIME_H=1",
"HAVE_SYS_TYPES_H=1",
"HAVE_TIME_H=1",
"HAVE_UNISTD_H=1",
"HTTPS_SUPPORT=0",
"LINUX=1",
'LT_OBJDIR=".libs/"',
"MHD_USE_POSIX_THREADS=1",
'PACKAGE="libmicrohttpd"',
'PACKAGE_BUGREPORT="libmicrohttpd@gnu.org"',
'PACKAGE_NAME="libmicrohttp"',
'PACKAGE_STRING="libmicrohttpd 0.9.42"',
'PACKAGE_TARNAME="libmicrohttpd"',
'PACKAGE_URL=""',
'PACKAGE_VERSION="0.9.42"',
"SPDY_SUPPORT=0",
"STDC_HEADERS=1",
'VERSION="0.9.42"',
'_MHD_EXTERN=__attribute__((visibility("default"))) extern',
],
}],
['skia_os == "mac"', {
'cflags': [ '-w' ],
'libraries': [
'-lpthread',
],
'defines=': [ # equals sign throws away most Skia defines (just noise)
"_GNU_SOURCE=1",
"BAUTH_SUPPORT=1",
"DAUTH_SUPPORT=1",
"EPOLL_SUPPORT=0",
"HAVE_ARPA_INET_H=1",
"HAVE_CLOCK_GETTIME=1",
"HAVE_DECL_SOCK_NONBLOCK=0",
"HAVE_DECL_TCP_CORK=0",
"HAVE_DECL_TCP_NOPUSH=1",
"HAVE_DLFCN_H=1",
"HAVE_ERRNO_H=1",
"HAVE_FCNTL_H=1",
"HAVE_FSEEKO=1",
"HAVE_INET6=1",
"HAVE_INTTYPES_H=1",
"HAVE_LIMITS_H=1",
"HAVE_LOCALE_H=1",
"HAVE_MATH_H=1",
"HAVE_MEMMEM=1",
"HAVE_MEMORY_H=1",
"HAVE_MESSAGES=1",
"HAVE_NETDB_H=1",
"HAVE_NETINET_IN_H=1",
"HAVE_NETINET_TCP_H=1",
"HAVE_POLL=1",
"HAVE_POLL_H=1",
"HAVE_POSTPROCESSOR=1",
"HAVE_PTHREAD_H=1",
"HAVE_PTHREAD_PRIO_INHERIT=1",
"HAVE_SEARCH_H=1",
"HAVE_STDINT_H=1",
"HAVE_STDIO_H=1",
"HAVE_STDLIB_H=1",
"HAVE_STRINGS_H=1",
"HAVE_STRING_H=1",
"HAVE_SYS_MMAN_H=1",
"HAVE_SYS_MSG_H=1",
"HAVE_SYS_SELECT_H=1",
"HAVE_SYS_SOCKET_H=1",
"HAVE_SYS_STAT_H=1",
"HAVE_SYS_TIME_H=1",
"HAVE_SYS_TYPES_H=1",
"HAVE_TIME_H=1",
"HAVE_UNISTD_H=1",
"HTTPS_SUPPORT=0",
"OSX=1",
'LT_OBJDIR=".libs/"',
"MHD_USE_POSIX_THREADS=1",
'PACKAGE="libmicrohttpd"',
'PACKAGE_BUGREPORT="libmicrohttpd@gnu.org"',
'PACKAGE_NAME="libmicrohttp"',
'PACKAGE_STRING="libmicrohttpd 0.9.42"',
'PACKAGE_TARNAME="libmicrohttpd"',
'PACKAGE_URL=""',
'PACKAGE_VERSION="0.9.42"',
"SPDY_SUPPORT=0",
"STDC_HEADERS=1",
'VERSION="0.9.42"',
'_MHD_EXTERN=__attribute__((visibility("default"))) extern',
],
}],
]
}]
}

View File

@ -68,7 +68,10 @@
'dependencies': ['iOSShell.gyp:iOSShell' ],
}],
['skia_os == "mac" or skia_os == "linux"', {
'dependencies': [ 'nanomsg.gyp:*' ],
'dependencies': [
'nanomsg.gyp:*' ,
'skiaserve.gyp:skiaserve',
],
}],
[ 'skia_skip_gui',
{
@ -79,11 +82,6 @@
]
}
],
[ 'skia_build_server', {
'dependencies': [
'skiaserve.gyp:skiaserve',
],
}],
],
},
],

View File

@ -0,0 +1,7 @@
/*
* 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 dummy file so microhttpd compiles