diff options
Diffstat (limited to 'media/webrtc/trunk/tools/gyp/test/additional-targets')
5 files changed, 149 insertions, 0 deletions
diff --git a/media/webrtc/trunk/tools/gyp/test/additional-targets/gyptest-additional.py b/media/webrtc/trunk/tools/gyp/test/additional-targets/gyptest-additional.py new file mode 100755 index 000000000..466283e55 --- /dev/null +++ b/media/webrtc/trunk/tools/gyp/test/additional-targets/gyptest-additional.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python + +# Copyright (c) 2012 Google Inc. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +""" +Verifies simple actions when using an explicit build target of 'all'. +""" + +import TestGyp + +test = TestGyp.TestGyp() + +test.run_gyp('all.gyp', + '-G', 'xcode_ninja_target_pattern=^all_targets$', + chdir='src') + +test.relocate('src', 'relocate/src') + +# Build all. +test.build('all.gyp', chdir='relocate/src') + +if test.format=='xcode': + chdir = 'relocate/src/dir1' +else: + chdir = 'relocate/src' + +# Output is as expected. +file_content = 'Hello from emit.py\n' +test.built_file_must_match('out2.txt', file_content, chdir=chdir) + +test.built_file_must_not_exist('out.txt', chdir='relocate/src') +test.built_file_must_not_exist('foolib1', + type=test.SHARED_LIB, + chdir=chdir) + +# xcode-ninja doesn't generate separate workspaces for sub-gyps by design +if test.format == 'xcode-ninja': + test.pass_test() + +# TODO(mmoss) Make consistent with msvs, with 'dir1' before 'out/Default'? +if test.format in ('make', 'ninja', 'cmake'): + chdir='relocate/src' +else: + chdir='relocate/src/dir1' + +# Build the action explicitly. +test.build('actions.gyp', 'action1_target', chdir=chdir) + +# Check that things got run. +file_content = 'Hello from emit.py\n' +test.built_file_must_exist('out.txt', chdir=chdir) + +# Build the shared library explicitly. +test.build('actions.gyp', 'foolib1', chdir=chdir) + +test.built_file_must_exist('foolib1', + type=test.SHARED_LIB, + chdir=chdir, + subdir='dir1') + +test.pass_test() diff --git a/media/webrtc/trunk/tools/gyp/test/additional-targets/src/all.gyp b/media/webrtc/trunk/tools/gyp/test/additional-targets/src/all.gyp new file mode 100644 index 000000000..21c83080a --- /dev/null +++ b/media/webrtc/trunk/tools/gyp/test/additional-targets/src/all.gyp @@ -0,0 +1,13 @@ +# Copyright (c) 2009 Google Inc. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'targets': [ + { + 'target_name': 'all_targets', + 'type': 'none', + 'dependencies': ['dir1/actions.gyp:*'], + }, + ], +} diff --git a/media/webrtc/trunk/tools/gyp/test/additional-targets/src/dir1/actions.gyp b/media/webrtc/trunk/tools/gyp/test/additional-targets/src/dir1/actions.gyp new file mode 100644 index 000000000..5089c8091 --- /dev/null +++ b/media/webrtc/trunk/tools/gyp/test/additional-targets/src/dir1/actions.gyp @@ -0,0 +1,56 @@ +# Copyright (c) 2009 Google Inc. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'targets': [ + { + 'target_name': 'action1_target', + 'type': 'none', + 'suppress_wildcard': 1, + 'actions': [ + { + 'action_name': 'action1', + 'inputs': [ + 'emit.py', + ], + 'outputs': [ + '<(PRODUCT_DIR)/out.txt', + ], + 'action': ['python', 'emit.py', '<(PRODUCT_DIR)/out.txt'], + 'msvs_cygwin_shell': 0, + }, + ], + }, + { + 'target_name': 'action2_target', + 'type': 'none', + 'actions': [ + { + 'action_name': 'action2', + 'inputs': [ + 'emit.py', + ], + 'outputs': [ + '<(PRODUCT_DIR)/out2.txt', + ], + 'action': ['python', 'emit.py', '<(PRODUCT_DIR)/out2.txt'], + 'msvs_cygwin_shell': 0, + }, + ], + }, + { + 'target_name': 'foolib1', + 'type': 'shared_library', + 'suppress_wildcard': 1, + 'sources': ['lib1.c'], + }, + ], + 'conditions': [ + ['OS=="linux"', { + 'target_defaults': { + 'cflags': ['-fPIC'], + }, + }], + ], +} diff --git a/media/webrtc/trunk/tools/gyp/test/additional-targets/src/dir1/emit.py b/media/webrtc/trunk/tools/gyp/test/additional-targets/src/dir1/emit.py new file mode 100755 index 000000000..fd3138738 --- /dev/null +++ b/media/webrtc/trunk/tools/gyp/test/additional-targets/src/dir1/emit.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python + +# Copyright (c) 2009 Google Inc. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import sys + +f = open(sys.argv[1], 'wb') +f.write('Hello from emit.py\n') +f.close() diff --git a/media/webrtc/trunk/tools/gyp/test/additional-targets/src/dir1/lib1.c b/media/webrtc/trunk/tools/gyp/test/additional-targets/src/dir1/lib1.c new file mode 100644 index 000000000..df4cb10f7 --- /dev/null +++ b/media/webrtc/trunk/tools/gyp/test/additional-targets/src/dir1/lib1.c @@ -0,0 +1,6 @@ +#ifdef _WIN32 +__declspec(dllexport) +#endif +int func1(void) { + return 42; +} |