| OLD | NEW |
| (Empty) |
| 1 # Copyright 2009, Google Inc. | |
| 2 # All rights reserved. | |
| 3 # | |
| 4 # Redistribution and use in source and binary forms, with or without | |
| 5 # modification, are permitted provided that the following conditions are | |
| 6 # met: | |
| 7 # | |
| 8 # * Redistributions of source code must retain the above copyright | |
| 9 # notice, this list of conditions and the following disclaimer. | |
| 10 # * Redistributions in binary form must reproduce the above | |
| 11 # copyright notice, this list of conditions and the following disclaimer | |
| 12 # in the documentation and/or other materials provided with the | |
| 13 # distribution. | |
| 14 # * Neither the name of Google Inc. nor the names of its | |
| 15 # contributors may be used to endorse or promote products derived from | |
| 16 # this software without specific prior written permission. | |
| 17 # | |
| 18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
| 19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
| 20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
| 21 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
| 22 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
| 23 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
| 24 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
| 25 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
| 26 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
| 27 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
| 28 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| 29 | |
| 30 | |
| 31 Import('env') | |
| 32 | |
| 33 env.Append( | |
| 34 CPPDEFINES = [ | |
| 35 '_MIDL_USE_GUIDDEF_', | |
| 36 'DLL_NPAPI_HOST_CONTROL_EXPORT' | |
| 37 ], | |
| 38 CCFLAGS = [ | |
| 39 '/Wp64', | |
| 40 '/TP', | |
| 41 '/FIplugin/npapi_host_control/win/precompile.h' | |
| 42 ], | |
| 43 CPPPATH = [ | |
| 44 'win', | |
| 45 '$SCONSTRUCT_DIR/plugin/npapi_host_control/win', | |
| 46 '$NPAPI_DIR', | |
| 47 ], | |
| 48 LIBS = [ | |
| 49 'wininet', | |
| 50 ], | |
| 51 LINKFLAGS = [ | |
| 52 '/DEF:$SCONSTRUCT_DIR/plugin/npapi_host_control/win/npapi_host_control.def' | |
| 53 ], | |
| 54 ) | |
| 55 | |
| 56 env.Append( | |
| 57 CPPDEFINES = [ | |
| 58 ('O3D_PLUGIN_NAME', '\\"$O3D_PLUGIN_NAME\\"'), | |
| 59 ('O3D_PLUGIN_DESCRIPTION', '\\"$O3D_PLUGIN_DESCRIPTION\\"'), | |
| 60 ('O3D_PLUGIN_VERSION', '\\"$O3D_PLUGIN_VERSION\\"') | |
| 61 ]) | |
| 62 | |
| 63 resource_files = env.RES('win/npapi_host_control.rc'), | |
| 64 | |
| 65 inputs = [ | |
| 66 'win/npapi_host_control_i.c', | |
| 67 'win/npapi_host_control.cc', | |
| 68 'win/host_control.cc', | |
| 69 'win/np_browser_proxy.cc', | |
| 70 'win/np_object_proxy.cc', | |
| 71 'win/np_plugin_proxy.cc', | |
| 72 'win/dispatch_proxy.cc', | |
| 73 'win/stream_operation.cc', | |
| 74 'win/variant_utils.cc', | |
| 75 resource_files, | |
| 76 ] | |
| 77 | |
| 78 if env['TARGET_PLATFORM'] == 'WINDOWS': | |
| 79 env['PCH'], obj = env.PCH('win/precompile.cc') | |
| 80 env['PCHSTOP'] = 'plugin/npapi_host_control/win/precompile.h' | |
| 81 inputs += [obj] | |
| 82 else: | |
| 83 inputs += ['precompile.cc'] | |
| 84 | |
| 85 | |
| 86 type_lib = env.TypeLibrary(source=['win/npapi_host_control.idl']) | |
| 87 | |
| 88 # Must not register the plugin while building. Only installing should | |
| 89 # register the plugin. | |
| 90 o3d_host_control = env.SharedLibrary('o3d_host', inputs) | |
| 91 env.Requires(o3d_host_control, type_lib) | |
| 92 env.Requires(resource_files, type_lib) | |
| 93 | |
| 94 env.Replicate('$ARTIFACTS_DIR', o3d_host_control) | |
| 95 | |
| 96 # TODO: have a common way to do colliding installs like this. | |
| 97 # Do the install step only if this variant is the first target. | |
| 98 if env.Bit('windows'): | |
| 99 if (env['BUILD_TYPE'] == ARGUMENTS.get('MODE') or | |
| 100 (ARGUMENTS.get('MODE', 'default') == 'default' and | |
| 101 env['BUILD_TYPE'] == 'dbg-d3d')): | |
| 102 i = env.Replicate('$IE_PLUGIN_DIR', o3d_host_control[0]) | |
| 103 c = env.AddPostAction(i, '$REGSVR $REGSVRFLAGS $TARGET') | |
| 104 env.Alias('install', c) | |
| OLD | NEW |