Skip to content
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

Closed
bnoordhuis opened this issue Mar 19, 2012 · 2 comments
Closed

replace scons with gyp #10

bnoordhuis opened this issue Mar 19, 2012 · 2 comments

Comments

@bnoordhuis
Copy link
Contributor

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:

  • smart and fast (something that scons decidedly isn't)
  • actively maintained
  • approachable maintainers
  • generates VS projects
  • generates XCode projects
  • generates great Makefiles

Downsides:

  • mingw32 is not yet supported

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?

@TTimo
Copy link
Owner

TTimo commented Mar 19, 2012

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 :)

@TTimo
Copy link
Owner

TTimo commented Mar 23, 2012

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.

@TTimo TTimo closed this as completed Mar 23, 2012
nyov pushed a commit to xonotic/netradiant that referenced this issue Dec 23, 2020
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
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants