{
    'conditions': [
        ['OS=="mac" or OS=="solaris"', {

            # If we are on the Mac, or a Solaris derivative, attempt
            # to build the DTrace provider extension.

            'targets': [
                {
                    'target_name': 'DTraceProviderBindings',
                    'sources': [
                        'dtrace_provider.cc',
                        'dtrace_probe.cc',
                        'dtrace_argument.cc'
                    ],
                    'include_dirs': [
	                'libusdt'
                    ],
                    'dependencies': [
                        'libusdt'
                    ],
                    'libraries': [
                        '-L<(module_root_dir)/libusdt -l usdt'
                    ]
                },
                {
                    'target_name': 'libusdt',
                    'type': 'none',
                    'actions': [{
                        'inputs': [''],
                        'outputs': [''],
                        'action_name': 'build_libusdt',
	      	        'action': [
                            'sh', 'libusdt-build.sh'
		        ]
                    }]
                }
            ]
        },

        # If we are not on the Mac or Solaris, DTrace is unavailable. 
        # This target is necessary because GYP requires at least one
        # target to exist.

        {
            'targets': [ 
                {
                    'target_name': 'DTraceProviderStub',
                    'type': 'none'
                }
            ]
        }]
    ]
}

@@ -55,16 +55,126 @@
 ris%22', %7B
+%0A            'variables': %7B%0A              'escaped_root': '%3C!(printf %25q %22%3C(module_root_dir)%22)',%0A            %7D,
 %0A%0A      
@@ -832,31 +832,28 @@
    '-L%3C(
-module
+escaped
 _root
-_dir
 )/libusd

support paths that require escaping