diff --git a/packager/common.gypi b/packager/common.gypi index 04824c2781..f3f27e3447 100644 --- a/packager/common.gypi +++ b/packager/common.gypi @@ -13,14 +13,30 @@ # musl is a lightweight C standard library used in Alpine Linux. 'musl%': 0, }, + 'shaka_code%': '<(shaka_code)', 'musl%': '<(musl)', 'libpackager_type%': 'static_library', + 'conditions': [ ['shaka_code==1', { # This enable warnings and warnings-as-errors. 'chromium_code': 1, }], + # These are some Chromium build settings that are normally keyed off of + # component=="shared_library". We don't use component=="shared_library" + # because it would result in a shared lib for every single component, but + # we still need these settings for a shared library build of libpackager + # on Windows. + ['libpackager_type=="shared_library"', { + # Make sure we use a dynamic CRT to avoid issues with std::string in + # the library API on Windows. + 'win_release_RuntimeLibrary': '2', # 2 = /MD (nondebug DLL) + 'win_debug_RuntimeLibrary': '3', # 3 = /MDd (debug DLL) + # Skip the Windows allocator shim on Windows. Using this with a shared + # library results in build errors. + 'win_use_allocator_shim': 0, + }], ], }, 'target_defaults': {