And, by the way, here is my 
patch: https://codereview.chromium.org/240473003/patch/1/10001
It is rather simple and works the same way `v8_no_strict_aliasing` works.

In conclusion, I don't build V8 from V8 folder, GYP builds it as my 
library's dependency, and in this case there is no way to pass cflags for 
V8 saying CFLAGS="" before make command.

--
Marat

On Thursday, April 17, 2014 5:36:09 PM UTC+4, Marat Abdullin wrote:
>
> 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>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
>>> 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-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