No, because of two things:

1. This is an additional requirement to run make with (nobody wants to know 
these requirements when they build your library).
2. It doesn't work either.

I have my library's gyp-file. It depends on V8's gyp-file. I generate my 
library's Makefiles with GYP (I use configure script similar to Node.JS). 
And when I type `CFLAGS="-fPIC" CXXFLAGS="-fPIC" make` in my library to 
build everything, these cflags are not being passed to V8 compile commands.

--
Marat

On Thursday, April 17, 2014 5:06:27 PM UTC+4, Jakob Kummerow wrote:
>
> On Thu, Apr 17, 2014 at 2:57 PM, Peter Olsson 
> <pe...@olssononline.se<javascript:>
> > wrote:
>
>> You can also specify flags when building, I'm doing it like this in one 
>> project. It works as expected.
>>
>> CFLAGS="-fPIC" CXXFLAGS="-fPIC" make native
>>
>> I think this is easy enough that we don't need to add a GYP option. 
>
> Den onsdagen den 16:e april 2014 kl. 23:56:38 UTC+2 skrev Marat Abdullin:
>>
>> No positive result.
>>>
>>> I've found a dirty hack to enable PIC.
>>> And I've submitted a patch that allows to force PIC to V8. I really hope 
>>> it will be accepted.
>>>
>>> --
>>> Marat
>>>
>>> On Wednesday, April 16, 2014 9:35:13 PM UTC+4, Jakob Kummerow wrote:
>>>>
>>>> Try depending on 'v8_base.<(v8_target_arch)' and 'v8_snapshot' instead. 
>>>> The 'v8' target is just a meta target, you can probably fold everything it 
>>>> does into your own custom shared library (those dependencies being the 
>>>> most 
>>>> important bits).
>>>>
>>>>
>>>> On Wed, Apr 16, 2014 at 12:29 PM, Marat Abdullin 
>>>> <dak...@brokenpipe.ru>wrote:
>>>>
>>>>> I use GYP for my entire project and it doesn't work.
>>>>>
>>>>> I add V8 using:
>>>>>     "dependencies": [
>>>>>         "deps/v8/tools/gyp/v8.gyp:v8",
>>>>>     ]
>>>>>
>>>>> with `component` set to `static_library` (and my library's target type 
>>>>> is `shared_library`).
>>>>>
>>>>> Here is an example of compiler call (I use `make V=1` to get this) 
>>>>> when it builds V8:
>>>>>
>>>>> g++ '-DV8_TARGET_ARCH_X64' '-DENABLE_DEBUGGER_SUPPORT' 
>>>>> '-DV8_USE_DEFAULT_PLATFORM' '-DENABLE_HANDLE_ZAPPING' -Ideps/v8/src  
>>>>> -fno-strict-aliasing -m64 -fdata-sections -ffunction-sections -O3  -MMD 
>>>>> -MF 
>>>>> out/Release/.deps/out/Release/obj.host/v8_base.x64/deps/v8/src/accessors.o.d.raw
>>>>>   
>>>>> -c -o out/Release/obj.host/v8_base.x64/deps/v8/src/accessors.o 
>>>>> deps/v8/src/accessors.cc
>>>>> No -fPIC (and quick V8's gyp-files examination shows that -fPIC is 
>>>>> being added only in case `component` is set to `shared_library`).
>>>>>
>>>>> --
>>>>> Marat
>>>>>
>>>>>  
>>>>> On Wednesday, April 16, 2014 12:23:29 PM UTC+4, Jakob Kummerow wrote:
>>>>>
>>>>>> If you use GYP for your entire project, things should "just work". 
>>>>>> Otherwise you'll probably have to modify V8's .gyp files. I'm not sure 
>>>>>> how, 
>>>>>> you'll have to find that out for yourself. Try adding -fPIC to the 
>>>>>> 'cflags' 
>>>>>> lists in build/toolchain.gypi.
>>>>>>  
>>>>>>
>>>>>> On Wed, Apr 16, 2014 at 1:45 AM, Marat Abdullin <dak...@brokenpipe.ru
>>>>>> > wrote:
>>>>>>
>>>>>>>  This thing is pretty old but I still have the same problem.
>>>>>>> Is there any fix?
>>>>>>>
>>>>>>> I'm building a dynamic library and I'm statically linking V8 
>>>>>>> (version 3.24.40) in it. On OSX everything is linking just fine, but on 
>>>>>>> Linux I get:
>>>>>>>
>>>>>>> /usr/bin/ld: out/Release/obj.target/deps/v8
>>>>>>> /tools/gyp/../../../../v8_base.x64/deps/v8/src/accessors.o: 
>>>>>>> relocation R_X86_64_32S against `vtable for v8::internal::StackFrame' 
>>>>>>> can 
>>>>>>> not be used when making a shared object; recompile with -fPIC
>>>>>>>
>>>>>>> out/Release/obj.target/deps/v8/tools/gyp/../../../../v8_base
>>>>>>> .x64/deps/v8/src/accessors.o: could not read symbols: Bad value
>>>>>>>
>>>>>>> collect2: ld returned 1 exit status
>>>>>>>
>>>>>>> So, I need a way to tell V8 to build static library with -fPIC. Or 
>>>>>>> is there any other fix for this?
>>>>>>>
>>>>>>> --
>>>>>>> Marat
>>>>>>>
>>>>>>> On Monday, July 2, 2012 4:33:02 AM UTC+4, Charles Lowell wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I'm trying to build a shared object and link in the static v8 
>>>>>>>> library. This works fine for me on OSX, but on Linux I get the 
>>>>>>>> following 
>>>>>>>> error:
>>>>>>>>
>>>>>>>>     /usr/bin/ld: /tmp/build_321giz8disep/vendor
>>>>>>>> /v8/out/x64.release/obj.target/v8_base/src/api.o: relocation 
>>>>>>>> R_X86_64_32S against `vtable for v8::ScriptData' can not be used when 
>>>>>>>> making a shared object; recompile with -fPIC
>>>>>>>>        
>>>>>>>> /tmp/build_321giz8disep/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a:
>>>>>>>>  
>>>>>>>> could not read symbols: Bad value
>>>>>>>>        collect2: ld returned 1 exit status
>>>>>>>>  
>>>>>>>> Is there a way to tell GYP to build a static v8 library with -fPIC? 
>>>>>>>> Is there a way to do this without patching one of the gypfiles?
>>>>>>>>
>>>>>>>> cheers,
>>>>>>>> Charles
>>>>>>>>
>>>>>>>  -- 
>>>>>>> -- 
>>>>>>> v8-users mailing list
>>>>>>> v8-u...@googlegroups.com
>>>>>>>
>>>>>>> http://groups.google.com/group/v8-users
>>>>>>> --- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "v8-users" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an email to v8-users+u...@googlegroups.com.
>>>>>>>
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>  -- 
>>>>> -- 
>>>>> v8-users mailing list
>>>>> v8-u...@googlegroups.com
>>>>> http://groups.google.com/group/v8-users
>>>>> --- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "v8-users" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to v8-users+u...@googlegroups.com.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>  -- 
>> -- 
>> v8-users mailing list
>> v8-u...@googlegroups.com <javascript:>
>> http://groups.google.com/group/v8-users
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "v8-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to v8-users+u...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to