New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
replace scons with gyp #10
Comments
Not interested. I suppose there could be good reasons for switching to cmake, but even there I would need to see a good argument of the benefits versus the time it would take. Resolving a trivial library version problem by switching to a new build system is certainly not a good reason :) |
Going to close this. Feel free to build a proof of concept gyp builder for Radiant if that's something you want to do. I'm not saying we'd switch to that unless there are some very clear advantages, but out of pure technical curiosity it'd be something interesting to look at. |
This isssue: ``` netradiant/plugins/vfspk3/vfs.cpp:595:7: warning: array index 1024 is past the end of the array (which contains 1024 elements) [-Warray-bounds] tmppath[PATH_MAX] = '\0'; ^ ~~~~~~~~ netradiant/plugins/vfspk3/vfs.cpp:587:5: note: array 'tmppath' declared here char tmppath[PATH_MAX]; ^ netradiant/plugins/vfspk3/vfs.cpp:607:7: warning: array index 1024 is past the end of the array (which contains 1024 elements) [-Warray-bounds] tmppath[PATH_MAX] = '\0'; ^ ~~~~~~~~ netradiant/plugins/vfspk3/vfs.cpp:587:5: note: array 'tmppath' declared here char tmppath[PATH_MAX]; ``` is producing this (on macOS): ``` * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT frame #0: 0x00007fff58f4f2c6 libsystem_kernel.dylib`__pthread_kill + 10 libsystem_kernel.dylib`__pthread_kill: -> 0x7fff58f4f2c6 <+10>: jae 0x7fff58f4f2d0 ; <+20> 0x7fff58f4f2c8 <+12>: movq %rax, %rdi 0x7fff58f4f2cb <+15>: jmp 0x7fff58f49457 ; cerror_nocancel 0x7fff58f4f2d0 <+20>: retq Target 0: (netradiant) stopped. (lldb) thread backtrace all * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT * frame #0: 0x00007fff58f4f2c6 libsystem_kernel.dylib`__pthread_kill + 10 frame #1: 0x00007fff5900abf1 libsystem_pthread.dylib`pthread_kill + 284 frame TTimo#2: 0x00007fff58eb9745 libsystem_c.dylib`__abort + 144 frame TTimo#3: 0x00007fff58eb9ff3 libsystem_c.dylib`__stack_chk_fail + 205 frame TTimo#4: 0x000000010a8a7e59 libvfspk3.so`InitDirectory(char const*, Modules<_QERArchiveTable>&) + 7689 frame TTimo#5: 0x00000001000e0a57 netradiant`QE_InitVFS() + 1351 frame TTimo#6: 0x0000000100094673 netradiant`VFSModuleObserver::realise() + 19 frame TTimo#7: 0x000000010009478a netradiant`HomePathsModuleObserver::realise() + 58 frame TTimo#8: 0x000000010008906a netradiant`EnginePath_Realise() + 58 frame TTimo#9: 0x00000001000d3f5f netradiant`Radiant::Radiant() + 351 frame TTimo#10: 0x00000001000d15d1 netradiant`Radiant_Construct(ModuleServer&) + 353 frame TTimo#11: 0x000000010008a84a netradiant`Radiant_Initialise() + 42 frame TTimo#12: 0x0000000100088087 netradiant`main + 535 frame TTimo#13: 0x00007fff58e143d5 libdyld.dylib`start + 1 thread TTimo#2 frame #0: 0x00007fff58f4abfe libsystem_kernel.dylib`__workq_kernreturn + 10 frame #1: 0x00007fff59007636 libsystem_pthread.dylib`_pthread_wqthread + 458 frame TTimo#2: 0x00007fff590073fd libsystem_pthread.dylib`start_wqthread + 13 thread TTimo#3 frame #0: 0x00007fff58f4abfe libsystem_kernel.dylib`__workq_kernreturn + 10 frame #1: 0x00007fff59007636 libsystem_pthread.dylib`_pthread_wqthread + 458 frame TTimo#2: 0x00007fff590073fd libsystem_pthread.dylib`start_wqthread + 13 thread TTimo#4 frame #0: 0x00007fff58f4abfe libsystem_kernel.dylib`__workq_kernreturn + 10 frame #&1: 0x00007fff590076e6 libsystem_pthread.dylib`_pthread_wqthread + 634 frame TTimo#2: 0x00007fff590073fd libsystem_pthread.dylib`start_wqthread + 13 ```
That's http://code.google.com/p/gyp/ - the build system used by chromium, v8 and node.js (what I get paid to work on so account for bias), among others.
This is more of a conversation starter than anything else but here are a couple of reasons why gyp > scons:
Downsides:
One reason that I recommend gyp is that it would make it easy to steal e.g. libpng (see #9) from the chromium source tree and bundle that with gtkradiant.
Thoughts?
The text was updated successfully, but these errors were encountered: