summaryrefslogtreecommitdiff
path: root/common.gypi
AgeCommit message (Collapse)Author
2014-03-26Merge remote-tracking branch 'origin/v0.10'Fedor Indutny
Conflicts: src/node.cc src/node_crypto.cc src/node_crypto.h
2014-03-23build: fix g++ 4.8 build, disable -WerrorBen Noordhuis
Turn off -Werror when building V8, it hits -Werror=unused-local-typedefs with g++ 4.8. The warning itself is harmless so don't abort the build. This was originally implemented in commit d2ab314e back in 2011 but the build process has gone through a few iterations since then, that change no longer works.
2014-02-17build: don't enable gc-sectionsTimothy J Fontaine
In some scenarios this will strip the DOF sections for DTrace, and in a future world where we re-export all static libraries it would defeat that purpose.
2014-01-24Merge remote-tracking branch 'upstream/v0.10'Timothy J Fontaine
Conflicts: AUTHORS ChangeLog deps/uv/AUTHORS deps/uv/ChangeLog deps/uv/src/unix/process.c deps/uv/src/version.c lib/net.js node.gyp src/node_version.h
2014-01-20gyp: fix non-ninja buildFedor Indutny
2014-01-16gyp: fix `ninja` build on linuxFedor Indutny
fix #6679
2014-01-07build: unconditionally disable -WerrorBen Noordhuis
Forcibly disable -Werror, the old { 'werror': '' } hack in node.gyp no longer works with newer versions of V8. We support a wide range of compilers, it's simply not feasible to squelch all warnings, never mind that the libraries in deps/ are not under our control. Fixes #6817.
2013-12-05build: add libicu i18n supportBen Noordhuis
Adds a --with-icu-path= switch to the configure script. Requires that the user checks out the copy of libicu that's bundled with chromium to a fixed directory. It's still a little rough around the edges but it works. Fixes #6371.
2013-12-01Merge remote-tracking branch 'upstream/v0.10'Timothy J Fontaine
Conflicts: src/stream_wrap.cc
2013-12-01build: include postmortem symbols on linuxTimothy J Fontaine
Previously we were building the symbols, but the linker was garbage collecting the symbols because they weren't used. Inform the linker that we want to keep all symbols from v8 around.
2013-08-01build: disable some msvc compiler warningsBert Belder
These are not real problems, and they are so plenty that actual problems are hidden from view.
2013-07-06build: don't enable --gc-sections on sunosBen Noordhuis
The SunOS linker doesn't support it. Fixes build breakage introduced in commit 9b3de60.
2013-07-06build: remove --unsafe-optimizations flagBen Noordhuis
The previous commit removes our patch that builds V8 at -O2 rather than -O3 so there is not much point in keeping the configure switch around. The reason it did so was to work around an assortment of compiler and linker bugs. In particular, certain combinations of g++ and binutils generate bad or no code when -ffunction-sections or -finline-functions is enabled (which -O3 implicitly does.) It was quite the problem back in the day because everyone and his dog built from source. Now that we have prebuilt binaries and packages available, there is no longer a pressing need to be so accommodating. If you experience spurious (or possibly not so spurious) segmentation faults after this commit, you need to upgrade your compiler/linker toolchain.
2013-06-17build: add android supportLinus MÃ¥rtensson
Resolves minor discrepancies between android and standard POSIX systems. In addition, some configure parameters were added, and a helper-script for android configuration. Ideally, this script should be merged into the standard configure script. To build for android, source the android-configure script with an NDK path: source ./android-configure ~/android-ndk-r8d This will create an android standalone toolchain and export the necessary environment parameters. After that, build as normal: make -j8 After the build, you should now have android-compatible NodeJS binaries.
2013-04-04build: fix windows build, disable postmortemBen Noordhuis
Always define v8_postmortem_support, even if the platform does not support it. Commit d8852aa adds a rule that references it in node.gyp. Fixes the Windows build.
2013-03-05Revert "build, windows: disable SEH"Bert Belder
This is no longer necessary - the underlying issue was fixed in 01fa5ee. This reverts commit d87904286024f5ceb6a2d0d5f17e919c775830a0.
2013-02-28Merge remote-tracking branch 'origin/v0.8'Ben Noordhuis
Conflicts: AUTHORS ChangeLog deps/uv/src/unix/pipe.c lib/http.js src/node_version.h
2013-02-28build, windows: disable SEHBen Noordhuis
Turn off safe exception handlers, they're incompatible with how openssl is compiled / linked under MSVS 2012. Addresses the following build error: openssl.lib(x86cpuid.obj) : error LNK2026: module unsafe for SAFESEH image. [g:\jenkins\workspace\nodejs-oneoff\node.vcxproj] openssl.lib(x86.obj) : error LNK2026: module unsafe for SAFESEH image. [g:\jenkins\workspace\nodejs-oneoff\node.vcxproj] # etc. etc. g:\jenkins\workspace\nodejs-oneoff\Release\node.exe : fatal error LNK1281: Unable to generate SAFESEH image. [g:\jenkins\workspace\nodejs-oneoff\node.vcxproj] Fixes #4242.
2013-01-21gyp: fix build with dtrace support on FreeBSDFedor Indutny
Fix undefined reference to `gelf_getsym`... and other undefined symbols from libelf, by adding `-lelf` to linker options on FreeBSD.
2012-11-21build: disable use of thin archiveShigeki Ohtsu
Thin archive needs binutils >= 2.19, disable it for supporting old ar even if static libraries are linked within a local build.
2012-11-20build: make python executable configurableBen Noordhuis
Upstreamed in https://codereview.chromium.org/11418101/ Fixes #4287.
2012-11-06build: let xcode pick proper compilerTimothy J Fontaine
2012-11-04build: remove _LARGEFILE_SOURCE, _FILE_OFFSET_BITSBen Noordhuis
Don't define the _LARGEFILE_SOURCE and _FILE_OFFSET_BITS flags, they're inherited from libuv now.
2012-11-02build: make debug build on os x compile at -O0Ben Noordhuis
Set GCC_OPTIMIZATION_LEVEL explicitly, otherwise GYP defaults to -Os.
2012-08-28Merge branch 'v0.8'Bert Belder
Conflicts: ChangeLog deps/openssl/openssl.gyp src/node_version.h
2012-08-27build: compile with -fno-tree-sink if gcc <= 4.4Ben Noordhuis
Fixes a 'pure virtual method called' run-time error with some versions of gcc on some platforms, notably ARM.
2012-08-27build: fix -fno-tree-vrp heuristicBen Noordhuis
-fno-tree-vrp is a gcc only switch. Don't enable it when compiling with clang, it will only complain about -fno-tree-vrp being ignored.
2012-08-22build: compile with -Wextra -Wno-unused-parameterBen Noordhuis
2012-08-20build: don't use "-Wnewline-eof" on OS XNathan Rajlich
This is the only thing preventing a manually compiled version of GCC (rather than Apple's provided llvm-gcc or heavily modified gcc 4.2) from working properly, so we might as well enable support for that. With this patch I was able to compile node using a manually compiled gcc 4.7.1. Closes #3887.
2012-08-13build: compile with -fno-tree-vrp when gcc >= 4.0Ben Noordhuis
2012-07-19build: unbreak ustack on smartosBen Noordhuis
I disabled the -ffunction-sections and -fdata-sections switches in 202df30 because they're horribly buggy with some gcc/binutils combos. However, it turns out that the dtrace/ustack post-processing tool requires that V8 is compiled with said switches and was broken because of it. This commit turns them on again on SunOS systems. Let's hope for the best.
2012-07-19build: link with -rdynamic, not -Wl,--export-dynamicBen Noordhuis
The system linker on SunOS doesn't understand --export-dynamic.
2012-07-12build: disable unsafe optimizationsBen Noordhuis
Compile at -O2 and disable optimizations that trigger gcc bugs. Some people still reported mksnapshot crashes after commit b40f813 ("build: fix spurious mksnapshot crashes for good" - so much for that). Average performance of the -O2 binary is on par with the -O3 binary. Variance on the http_simple bytes/8 benchmark appears to be slightly greater but small enough that the possibly of it being noise cannot be excluded. The new binary very slightly but consistently outperforms the -O3 binary (by about 0.5%) on the mostly CPU-bound bytes/102400 benchmark. That could be an artifact of the system I benchmarked it on, a Core 2 Duo with a puny 32 kB of L1 instruction cache. The smaller binary seems to play nicer with the cache.
2012-07-11build: fix spurious mksnapshot crashes for goodBen Noordhuis
A variety of gcc bugs made mksnapshot crash with either a segmentation fault or a 'pure virtual method callled' run-time error. After much wailing and gnashing of teeth I managed to deduce that the bugs show up when: 1. gcc 4.5.2 for i386-pc-solaris2.11 is used and -fstrict-aliasing is enabled, or 2. gcc version 4.4.6 for x86_64-redhat-linux is used and -ffunction-sections -finline-functions at -O2 or higher is enabled Therefore, disable -ffunction-sections and -fdata-sections unconditionally and disable -fstrict-aliasing only on Solaris. The -ffunction-sections and -fdata-sections switches were nonsense anyway because we don't link with -Wl,--gc-sections.
2012-07-03build: rename strict_aliasing to node_no_strict_aliasingBen Noordhuis
Make the variable naming consistent with the other strict aliasing var, v8_no_strict_aliasing.
2012-06-07x64 target should always pass -m64Robert Mustacchi
2012-04-29Merge branch 'v0.6'Bert Belder
Conflicts: deps/uv/include/uv-private/uv-unix.h deps/uv/include/uv-private/uv-win.h deps/uv/src/uv-common.c deps/uv/src/win/fs.c src/process_wrap.cc
2012-04-27Windows: turn off /GmBert Belder
Otherwise multicode compile doesn't work.
2012-04-12build: configure opensslBen Noordhuis
* compile with -DOPENSSL_NO_SOCK and -DOPENSSL_NO_DGRAM, we don't need it * compile with -DOPENSSL_NO_GOST and -DOPENSSL_NO_HW_PADLOCK, works around the brain dead linker on solaris and maybe others * compile with -DTERMIOS, OS X doesn't have <termio.h> * compile with -D__EXTENSIONS__ on solaris, makes siginfo_t available * compile without -ansi on linux, it hides a number of POSIX declarations (sigaction, NI_MAXHOST, etc.)
2012-04-10build: add comment explaining MACOSX_DEPLOYMENT_TARGET.Nathan Rajlich
2012-04-10Re-apply "build: target OSX 10.5 when building on darwin"Nathan Rajlich
This reverts commit 93eca95aece9804d22b012cc89487f4b0064a86d. Fixes #3072 (once again).
2012-04-08Revert "build: target OSX 10.5 when building on darwin"isaacs
This reverts commit b6d6a54f8057d0adad13d4bcc11eb3f443079ddc, which fixed #3072, so we'll have to figure out another way to make that work.
2012-04-05build: target OSX 10.5 when building on darwinNathan Rajlich
2012-04-03Disable V8 postmortem debugging on WindowsBert Belder
It is not supported by V8.
2012-04-02build: define _DARWIN_USE_64_BIT_INODE=1 on OS XBen Noordhuis
Fixes a segmentation fault on some OS X systems due to sizeof(struct stat) mismatches. Fixes #2061.
2012-04-01build: add support for DTrace and postmortemDave Pacheco
* fixes #2110 * includes V8 postmortem metadata in Solaris builds * adds GYP support for DTrace probes and ustack helper * ustack helper derives constants dynamically from libv8_base.a * build with DTrace support by default on SunOS
2012-03-02build: disable -fstrict-aliasing if gcc < 4.6.0Ben Noordhuis
A compiler bug in older versions of gcc makes it do unsafe optimizations at -O1 and higher. This manifested itself with (at least) gcc 4.5.2 on SmartOS because it made V8 hang in a busy loop. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45883
2012-02-27Fix #2830 for the old gcc bug on SmartOSShigeki Ohtsu
2012-02-27build: use -pthreads (not -pthread) on SolarisNathan Rajlich
2012-02-23build: change default BUILDTYPE of gyp to ReleaseShigeki Ohtsu