Commit Graph

43 Commits

Author SHA1 Message Date
Richard Lau
4f77a23615
build: add support for 64-bit AIX
Pass -Dtarget_arch=ppc64 to gyp_uv.py to activate.

Refs: https://github.com/nodejs/node/pull/20129
Refs: https://github.com/libuv/libuv/pull/1795
PR-URL: https://github.com/libuv/libuv/pull/1807
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2018-04-21 21:09:51 -04:00
Ryuichi KAWAMATA
3f8f6dc4c7 build: fix commmon.gypi comment
PR-URL: https://github.com/libuv/libuv/pull/1669
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
2018-02-21 10:27:57 +01:00
John Barboza
9991bb7c62 build: avoid -fstrict-aliasing compile option
Libuv is not aliasing-safe if you consider aliasing to be nominal
rather than structural and it's not as if it makes much of a
difference in the quality of the generated code, at least for libuv.

PR-URL: https://github.com/libuv/libuv/pull/1457
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2017-09-30 14:21:11 +02:00
John Barboza
eb1fe77f66 zos: change platform name to match python
The latest python on z/OS (2.7.13) was changed to update sys.platform to
return "zos" instead of "os390". So a change has been submitted to the
official gyp repository here.

PR-URL: https://github.com/libuv/libuv/pull/1557
Refs: https://chromium-review.googlesource.com/c/external/gyp/+/679077
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2017-09-26 19:35:08 +02:00
John Barboza
d5fc593b5f
zos: avoid compiler warnings
Some of these compiler flags are not supported. So don't
use them.

PR-URL: https://github.com/libuv/libuv/pull/1373
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-06-23 09:47:16 +02:00
Jameson Nash
fd39cec4b8
build: add -Wstrict-prototypes
Fixes: https://github.com/libuv/libuv/pull/1320
PR-URL: https://github.com/libuv/libuv/pull/1326
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2017-05-02 23:00:33 +02:00
John Barboza
c5bb773bdd zos: use gyp OS label "os390" on z/OS
This is what `uname` on the system actually displays.
Also, other gyp based projects use 'os390'

PR-URL: https://github.com/libuv/libuv/pull/1207
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2017-01-23 07:46:51 +01:00
John Barboza
1cff5b7557 zos: add support for new platform
- zos: disable test cases not applicable
- zos: build options
- zos: semaphore implementation
- zos: use compare and swap builtins
- zos: struct rusage not the same as other platforms
- zos: backlog<=0 produces undefined behaviour
    Will redefine backlog in the following way
    * if backlog == 0, set it to 1
    * if backlog < 0, set it to SOMAXCONN
- zos: define IMAXBEL as empty flag and implement uv__tty_make_raw
- zos: use udp multicast operations from aix
- zos: ESC in ebcdic
- zos: use LIBPATH for dynamic linker path
- zos: uv_udp_set_ttl only works for ipv6
- zos: increase pthread stack size by factor of 4
- zos: return ENODEV instead of ENXIO errors for setsockopt
- zos: use uv_cond_init the same way as aix
- test: enable oob test for zos
- zos: return EINVAL for zos error code EOPNOTSUPP

PR-URL: https://github.com/libuv/libuv/pull/937
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2016-08-19 01:34:29 +02:00
Ben Noordhuis
4844c75de8 build: always compile with -fvisibility=hidden
The 'visibility%' gyp variable was designed as an override mechanism for
old (<=3.4) versions of gcc that don't know about -fvisibility=hidden.

It turns out it's fairly easy for embedders to muck up the define, as
witnessed by the fact that node.js is currently leaking internal libuv
symbols due to not properly setting 'visibility%'.

While that could be fixed by tweaking node.js, because we don't support
gcc 3.4 anymore and haven't for a long time, making -fvisibility=hidden
the default here seems all around easier.

PR-URL: https://github.com/libuv/libuv/pull/847
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2016-04-29 17:03:16 +02:00
Saúl Ibarra Corretgé
2a98e76b45 build: remove unused 'component' GYP option
PR-URL: https://github.com/libuv/libuv/pull/548
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-09-24 23:17:23 +02:00
Michael Neumann
d58e94408f build,gyp: add DragonFly to the list of OSes
PR-URL: https://github.com/libuv/libuv/pull/466
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2015-09-01 09:20:48 +02:00
guworks
d57c7e685f build: proper support for android cross compilation
The build script needs to properly specify the target as android
so the gyp build scripts can properly leverage cross compilation
using the android NDK.

PR-URL: https://github.com/libuv/libuv/pull/433
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2015-07-15 10:16:22 +02:00
Saúl Ibarra Corretgé
44485ce682 build: remove ancient condition from common.gypi
PR-URL: https://github.com/libuv/libuv/pull/435
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-07-10 12:53:40 +02:00
Ben Noordhuis
fcb2223da8 build: remove clang and gcc_version gyp defines
The clang and gcc_version defines were used to:

1. Conditionally enable -fvisibility=hidden, a switch introduced in
   gcc 4.0.  Because 4.2 is the minimum supported version, we can
   make it unconditional.  People that want to build with older
   versions, can use '-Dvisibility='.

2. To conditionally enable -Wno-dollar-in-identifier-extension,
   an Apple extension that suppressed warnings about sigils in
   dtrace probe names.  Dtrace probes were removed in cb514002.

PR-URL: https://github.com/libuv/libuv/pull/76
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2014-12-20 23:12:07 +01:00
Ben Noordhuis
f914721c24 build: add x32 support to gyp build
This commit adds x32 support to the gyp build.  Configure with:

    $ ./gyp_uv.py -Dtarget_arch=x32
2014-11-10 20:12:22 -03:00
Fedor Indutny
7301d21e46 gyp: qualify library variable
Use prefixed variable name for better control over dependencies.
2014-02-05 21:29:25 +04:00
Ben Noordhuis
636f2056a7 Merge remote-tracking branch 'origin/v0.10'
Conflicts:
	ChangeLog
	include/uv-darwin.h
	src/unix/darwin.c
	src/unix/fsevents.c
	src/version.c
	src/win/fs.c
2013-10-01 13:20:21 +02:00
Ben Noordhuis
712835a673 build: remove GCC_WARN_ABOUT_MISSING_NEWLINE
Not compatible with non-Apple gcc builds.  Fixes the following build
error:

    gcc-4.8: error: unrecognized command line option '-Wnewline-eof'
2013-09-05 21:33:59 +02:00
Ben Noordhuis
ce2458c053 Merge remote-tracking branch 'origin/v0.10'
Conflicts:
	test/test-fs.c
	test/test-list.h
2013-06-26 10:35:41 +02:00
Ben Noordhuis
a0bc4cca74 build: darwin: disable -fstrict-aliasing warnings
gcc 4.2.1 as shipped with Xcode complains incessantly about aliasing
warnings, which, while technically true, disregards the fact that the
aliased types have the same layout in memory. Squelch the warnings.
2013-06-26 13:13:53 +02:00
Linus Mårtensson
ff3ee84442 build: set OS=="android" for android builds
Work around the build name issues by instead manually adding the build
target for android builds using '-DOS=android'

This additionally resolves problems caused by the OS variable being
rewritten from "android" to "linux" in gyp. This causes errors, as
real-time support (-lrt) and pthread support (-lpthread) is not
available in the android NDK toolchain as libraries.

The functions present in these libraries are included automatically
during the build instead during the android compilation process.
2013-06-13 21:04:03 +02:00
Ben Noordhuis
eb1f60c022 build: fix build breakage from 3fdd2a1
Make sure the android_build variable is defined.
2013-05-31 17:18:22 +02:00
Linus Mårtensson
3fdd2a1128 uv: support android libuv standalone build
Tested most of my compilation in the previous patch on NodeJS
and extracted the patches from there. This patch ensures libuv
will be capable of building standalone as well, both with gyp
and Makefiles.

Build documentation was added to the README.md file.

Some tests are failing, and I have not heavily investigated
the reasons. The failures are generally on errors, and are
likely related to differences between fully POSIX-compatible
systems and android.
2013-05-31 13:25:17 +02:00
Linus Mårtensson
fc6a2ad24f unix: support for android builds
Adds targets and fixes to ensure building for android works.

To build on android, refer to the android standalone toolchain.
2013-05-25 21:16:52 +02:00
Timothy J Fontaine
0da533e84f sunos: re-export entire library when static
This is useful to make sure linker doesn't strip things like dtrace
2013-04-10 14:10:05 +02:00
Timothy J Fontaine
e294975bb4 build: gyp disable thin archives
Thin archives aren't available on all platforms, notably smartos
2013-04-10 14:10:05 +02:00
Ben Noordhuis
6ba6f4b4d6 build: turn on strict aliasing in release builds 2013-02-25 03:43:03 +01:00
Ben Noordhuis
0761fb51b2 build: support 64 bits darwin builds
Before this commit, gyp built 32 bits versions of libuv exclusively.

Enable with:

  $ ./gyp_uv -Dtarget_arch=x64
2013-02-24 02:24:09 +01:00
Ben Noordhuis
d8de4fbd13 build: compile with -fwrapv in debug mode 2012-10-15 00:52:27 +02:00
Luigi Grilli
5bfb7c917b windows: build system improvements
* Add shared/static library option
* Add x86/x64 target option
* Improve Visual Studio detection
* Set GYP_MSVS_VERSION to pick VS2010 over VS2008

Closes GH-504
Closes GH-514
2012-09-21 00:53:55 +02:00
Ben Noordhuis
2c3e8b6aa6 build: rework -fvisibility=hidden detection
Make the gcc_version macro conform with what node.js and v8 use. Important
because node.js's common.gypi is going to export it soon.
2012-08-13 15:29:21 +02:00
Ben Noordhuis
5b8a1127fe darwin: compile at -O0 in debug builds 2012-06-29 02:27:20 +02:00
Bert Belder
b386c44e5e Windows: always enable multicore compile 2012-04-29 02:18:17 +02:00
Bert Belder
0c32087973 Windows: disable minimal rebuild (/Gm)
If enabled multicore compile doesn't work.
2012-04-29 02:08:25 +02:00
Ben Noordhuis
32b291d5be build: don't set -mmacosx-version-min
It sets __MAC_OS_X_VERSION_MIN_REQUIRED__, which is what we use for feature
detection.
2012-01-19 16:20:44 +01:00
Carter Allen
1393ee7d26 build: remove hard-coded GCC_VERSION setting (OS X/XCode) 2011-11-03 12:19:34 +01:00
Ben Noordhuis
3ecb319128 build: sunos expects -pthreads, not -pthread 2011-10-25 23:52:03 +00:00
Ben Noordhuis
cb6cd92305 build: fix gcc 3.x build
Detect gcc version, -fvisibility is a gcc 4.x switch.
2011-10-25 23:52:03 +00:00
Ryan Dahl
2c0179197f Make libev verify itself in debug build 2011-09-26 21:07:05 -07:00
Ben Noordhuis
8f6f324746 build: use -m32 only when host_arch != target_arch
Unbreaks the gyp build on x86_64 linux systems.
2011-09-19 16:57:39 +02:00
Peter Bright
7db243dc6f Bring inline with node common.gypi.
Win32 readlink()
2011-09-04 13:24:45 -07:00
Peter Bright
2942f5a8cc GYP upates 2011-08-13 20:27:39 -07:00
Bert Belder
d3cc9a39ed Move gyp files to root 2011-08-10 22:58:00 +02:00