mirror of https://github.com/nodejs/node.git
build: update build targets for io.js
PR-URL: https://github.com/nodejs/io.js/pull/1938 Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
This commit is contained in:
parent
8e9089ac35
commit
dcbb9e1da6
131
Makefile
131
Makefile
|
@ -5,6 +5,9 @@ PYTHON ?= python
|
||||||
DESTDIR ?=
|
DESTDIR ?=
|
||||||
SIGN ?=
|
SIGN ?=
|
||||||
PREFIX ?= /usr/local
|
PREFIX ?= /usr/local
|
||||||
|
STAGINGSERVER ?= iojs-www
|
||||||
|
|
||||||
|
OSTYPE := $(shell uname -s | tr '[A-Z]' '[a-z]')
|
||||||
|
|
||||||
# Determine EXEEXT
|
# Determine EXEEXT
|
||||||
EXEEXT := $(shell $(PYTHON) -c \
|
EXEEXT := $(shell $(PYTHON) -c \
|
||||||
|
@ -56,7 +59,7 @@ uninstall:
|
||||||
$(PYTHON) tools/install.py $@ '$(DESTDIR)' '$(PREFIX)'
|
$(PYTHON) tools/install.py $@ '$(DESTDIR)' '$(PREFIX)'
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
-rm -rf out/Makefile $(NODE_EXE) $(NODE_G_EXE) out/$(BUILDTYPE)/$(NODE_EXE) blog.html email.md
|
-rm -rf out/Makefile $(NODE_EXE) $(NODE_G_EXE) out/$(BUILDTYPE)/$(NODE_EXE)
|
||||||
@if [ -d out ]; then find out/ -name '*.o' -o -name '*.a' | xargs rm -rf; fi
|
@if [ -d out ]; then find out/ -name '*.o' -o -name '*.a' | xargs rm -rf; fi
|
||||||
-rm -rf node_modules
|
-rm -rf node_modules
|
||||||
|
|
||||||
|
@ -64,7 +67,7 @@ distclean:
|
||||||
-rm -rf out
|
-rm -rf out
|
||||||
-rm -f config.gypi icu_config.gypi
|
-rm -f config.gypi icu_config.gypi
|
||||||
-rm -f config.mk
|
-rm -f config.mk
|
||||||
-rm -rf $(NODE_EXE) $(NODE_G_EXE) blog.html email.md
|
-rm -rf $(NODE_EXE) $(NODE_G_EXE)
|
||||||
-rm -rf node_modules
|
-rm -rf node_modules
|
||||||
-rm -rf deps/icu
|
-rm -rf deps/icu
|
||||||
-rm -rf deps/icu4c*.tgz deps/icu4c*.zip deps/icu-tmp
|
-rm -rf deps/icu4c*.tgz deps/icu4c*.zip deps/icu-tmp
|
||||||
|
@ -184,14 +187,49 @@ docclean:
|
||||||
|
|
||||||
RAWVER=$(shell $(PYTHON) tools/getnodeversion.py)
|
RAWVER=$(shell $(PYTHON) tools/getnodeversion.py)
|
||||||
VERSION=v$(RAWVER)
|
VERSION=v$(RAWVER)
|
||||||
|
|
||||||
|
# For nightly builds, you must set DISTTYPE to "nightly", "next-nightly" or
|
||||||
|
# "custom". For the nightly and next-nightly case, you need to set DATESTRING
|
||||||
|
# and COMMIT in order to properly name the build.
|
||||||
|
# For the rc case you need to set CUSTOMTAG to an appropriate CUSTOMTAG number
|
||||||
|
|
||||||
|
ifndef DISTTYPE
|
||||||
|
DISTTYPE=release
|
||||||
|
endif
|
||||||
|
ifeq ($(DISTTYPE),release)
|
||||||
FULLVERSION=$(VERSION)
|
FULLVERSION=$(VERSION)
|
||||||
|
else # ifeq ($(DISTTYPE),release)
|
||||||
|
ifeq ($(DISTTYPE),custom)
|
||||||
|
ifndef CUSTOMTAG
|
||||||
|
$(error CUSTOMTAG is not set for DISTTYPE=custom)
|
||||||
|
endif # ifndef CUSTOMTAG
|
||||||
|
TAG=$(CUSTOMTAG)
|
||||||
|
else # ifeq ($(DISTTYPE),custom)
|
||||||
|
ifndef DATESTRING
|
||||||
|
$(error DATESTRING is not set for nightly)
|
||||||
|
endif # ifndef DATESTRING
|
||||||
|
ifndef COMMIT
|
||||||
|
$(error COMMIT is not set for nightly)
|
||||||
|
endif # ifndef COMMIT
|
||||||
|
ifneq ($(DISTTYPE),nightly)
|
||||||
|
ifneq ($(DISTTYPE),next-nightly)
|
||||||
|
$(error DISTTYPE is not release, custom, nightly or next-nightly)
|
||||||
|
endif # ifneq ($(DISTTYPE),next-nightly)
|
||||||
|
endif # ifneq ($(DISTTYPE),nightly)
|
||||||
|
TAG=$(DISTTYPE)$(DATESTRING)$(COMMIT)
|
||||||
|
endif # ifeq ($(DISTTYPE),custom)
|
||||||
|
FULLVERSION=$(VERSION)-$(TAG)
|
||||||
|
endif # ifeq ($(DISTTYPE),release)
|
||||||
|
|
||||||
|
DISTTYPEDIR ?= $(DISTTYPE)
|
||||||
RELEASE=$(shell sed -ne 's/\#define NODE_VERSION_IS_RELEASE \([01]\)/\1/p' src/node_version.h)
|
RELEASE=$(shell sed -ne 's/\#define NODE_VERSION_IS_RELEASE \([01]\)/\1/p' src/node_version.h)
|
||||||
PLATFORM=$(shell uname | tr '[:upper:]' '[:lower:]')
|
PLATFORM=$(shell uname | tr '[:upper:]' '[:lower:]')
|
||||||
NPMVERSION=v$(shell cat deps/npm/package.json | grep '"version"' | sed 's/^[^:]*: "\([^"]*\)",.*/\1/')
|
NPMVERSION=v$(shell cat deps/npm/package.json | grep '"version"' | sed 's/^[^:]*: "\([^"]*\)",.*/\1/')
|
||||||
|
|
||||||
ifeq ($(findstring x86_64,$(shell uname -m)),x86_64)
|
ifeq ($(findstring x86_64,$(shell uname -m)),x86_64)
|
||||||
DESTCPU ?= x64
|
DESTCPU ?= x64
|
||||||
else
|
else
|
||||||
DESTCPU ?= ia32
|
DESTCPU ?= x86
|
||||||
endif
|
endif
|
||||||
ifeq ($(DESTCPU),x64)
|
ifeq ($(DESTCPU),x64)
|
||||||
ARCH=x64
|
ARCH=x64
|
||||||
|
@ -202,26 +240,24 @@ else
|
||||||
ARCH=x86
|
ARCH=x86
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifdef NIGHTLY
|
|
||||||
TAG = nightly-$(NIGHTLY)
|
# enforce "x86" over "ia32" as the generally accepted way of referring to 32-bit intel
|
||||||
FULLVERSION=$(VERSION)-$(TAG)
|
ifeq ($(ARCH),ia32)
|
||||||
|
override ARCH=x86
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(DESTCPU),ia32)
|
||||||
|
override DESTCPU=x86
|
||||||
|
endif
|
||||||
|
|
||||||
TARNAME=iojs-$(FULLVERSION)
|
TARNAME=iojs-$(FULLVERSION)
|
||||||
TARBALL=$(TARNAME).tar
|
TARBALL=$(TARNAME).tar
|
||||||
BINARYNAME=$(TARNAME)-$(PLATFORM)-$(ARCH)
|
BINARYNAME=$(TARNAME)-$(PLATFORM)-$(ARCH)
|
||||||
BINARYTAR=$(BINARYNAME).tar
|
BINARYTAR=$(BINARYNAME).tar
|
||||||
|
# OSX doesn't have xz installed by default, http://macpkg.sourceforge.net/
|
||||||
XZ=$(shell which xz > /dev/null 2>&1; echo $$?)
|
XZ=$(shell which xz > /dev/null 2>&1; echo $$?)
|
||||||
XZ_COMPRESSION ?= 9
|
XZ_COMPRESSION ?= 9
|
||||||
PKG=out/$(TARNAME).pkg
|
PKG=$(TARNAME).pkg
|
||||||
PACKAGEMAKER ?= /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
|
PACKAGEMAKER ?= /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
|
||||||
|
|
||||||
PKGSRC=iojs-$(DESTCPU)-$(RAWVER).tgz
|
|
||||||
ifdef NIGHTLY
|
|
||||||
PKGSRC=iojs-$(DESTCPU)-$(RAWVER)-$(TAG).tgz
|
|
||||||
endif
|
|
||||||
|
|
||||||
dist: doc $(TARBALL) $(PKG)
|
|
||||||
|
|
||||||
PKGDIR=out/dist-osx
|
PKGDIR=out/dist-osx
|
||||||
|
|
||||||
release-only:
|
release-only:
|
||||||
|
@ -236,7 +272,7 @@ release-only:
|
||||||
echo "" >&2 ; \
|
echo "" >&2 ; \
|
||||||
exit 1 ; \
|
exit 1 ; \
|
||||||
fi
|
fi
|
||||||
@if [ "$(NIGHTLY)" != "" -o "$(RELEASE)" = "1" ]; then \
|
@if [ "$(DISTTYPE)" != "release" -o "$(RELEASE)" = "1" ]; then \
|
||||||
exit 0; \
|
exit 0; \
|
||||||
else \
|
else \
|
||||||
echo "" >&2 ; \
|
echo "" >&2 ; \
|
||||||
|
@ -246,29 +282,28 @@ release-only:
|
||||||
exit 1 ; \
|
exit 1 ; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
pkg: $(PKG)
|
|
||||||
|
|
||||||
$(PKG): release-only
|
$(PKG): release-only
|
||||||
rm -rf $(PKGDIR)
|
rm -rf $(PKGDIR)
|
||||||
rm -rf out/deps out/Release
|
rm -rf out/deps out/Release
|
||||||
$(PYTHON) ./configure --dest-cpu=ia32 --tag=$(TAG)
|
|
||||||
$(MAKE) install V=$(V) DESTDIR=$(PKGDIR)/32
|
|
||||||
rm -rf out/deps out/Release
|
|
||||||
$(PYTHON) ./configure --dest-cpu=x64 --tag=$(TAG)
|
$(PYTHON) ./configure --dest-cpu=x64 --tag=$(TAG)
|
||||||
$(MAKE) install V=$(V) DESTDIR=$(PKGDIR)
|
$(MAKE) install V=$(V) DESTDIR=$(PKGDIR)
|
||||||
SIGN="$(APP_SIGN)" PKGDIR="$(PKGDIR)" bash tools/osx-codesign.sh
|
SIGN="$(CODESIGN_CERT)" PKGDIR="$(PKGDIR)" bash tools/osx-codesign.sh
|
||||||
lipo $(PKGDIR)/32/usr/local/bin/iojs \
|
cat tools/osx-pkg.pmdoc/index.xml.tmpl \
|
||||||
$(PKGDIR)/usr/local/bin/iojs \
|
| sed -E "s/\\{iojsversion\\}/$(FULLVERSION)/g" \
|
||||||
-output $(PKGDIR)/usr/local/bin/iojs-universal \
|
| sed -E "s/\\{npmversion\\}/$(NPMVERSION)/g" \
|
||||||
-create
|
> tools/osx-pkg.pmdoc/index.xml
|
||||||
mv $(PKGDIR)/usr/local/bin/iojs-universal $(PKGDIR)/usr/local/bin/iojs
|
|
||||||
rm -rf $(PKGDIR)/32
|
|
||||||
cat tools/osx-pkg.pmdoc/index.xml.tmpl | sed -e 's|__iojsversion__|'$(FULLVERSION)'|g' | sed -e 's|__npmversion__|'$(NPMVERSION)'|g' > tools/osx-pkg.pmdoc/index.xml
|
|
||||||
$(PACKAGEMAKER) \
|
$(PACKAGEMAKER) \
|
||||||
--id "org.nodejs.Node" \
|
--id "org.iojs.pkg" \
|
||||||
--doc tools/osx-pkg.pmdoc \
|
--doc tools/osx-pkg.pmdoc \
|
||||||
--out $(PKG)
|
--out $(PKG)
|
||||||
SIGN="$(INT_SIGN)" PKG="$(PKG)" bash tools/osx-productsign.sh
|
SIGN="$(PRODUCTSIGN_CERT)" PKG="$(PKG)" bash tools/osx-productsign.sh
|
||||||
|
|
||||||
|
pkg: $(PKG)
|
||||||
|
|
||||||
|
pkg-upload: pkg
|
||||||
|
ssh $(STAGINGSERVER) "mkdir -p staging/$(DISTTYPEDIR)/$(FULLVERSION)"
|
||||||
|
scp -p iojs-$(FULLVERSION).pkg $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).pkg
|
||||||
|
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).pkg.done"
|
||||||
|
|
||||||
$(TARBALL): release-only $(NODE_EXE) doc
|
$(TARBALL): release-only $(NODE_EXE) doc
|
||||||
git checkout-index -a -f --prefix=$(TARNAME)/
|
git checkout-index -a -f --prefix=$(TARNAME)/
|
||||||
|
@ -291,6 +326,20 @@ endif
|
||||||
|
|
||||||
tar: $(TARBALL)
|
tar: $(TARBALL)
|
||||||
|
|
||||||
|
tar-upload: tar
|
||||||
|
ssh $(STAGINGSERVER) "mkdir -p staging/$(DISTTYPEDIR)/$(FULLVERSION)"
|
||||||
|
scp -p iojs-$(FULLVERSION).tar.gz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).tar.gz
|
||||||
|
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).tar.gz.done"
|
||||||
|
ifeq ($(XZ), 0)
|
||||||
|
scp -p iojs-$(FULLVERSION).tar.xz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).tar.xz
|
||||||
|
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).tar.xz.done"
|
||||||
|
endif
|
||||||
|
|
||||||
|
doc-upload: tar
|
||||||
|
ssh $(STAGINGSERVER) "mkdir -p staging/$(DISTTYPEDIR)/$(FULLVERSION)"
|
||||||
|
scp -r out/doc/ $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/
|
||||||
|
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/doc.done"
|
||||||
|
|
||||||
$(BINARYTAR): release-only
|
$(BINARYTAR): release-only
|
||||||
rm -rf $(BINARYNAME)
|
rm -rf $(BINARYNAME)
|
||||||
rm -rf out/deps out/Release
|
rm -rf out/deps out/Release
|
||||||
|
@ -309,18 +358,14 @@ endif
|
||||||
|
|
||||||
binary: $(BINARYTAR)
|
binary: $(BINARYTAR)
|
||||||
|
|
||||||
$(PKGSRC): release-only
|
binary-upload: binary
|
||||||
rm -rf dist out
|
ssh $(STAGINGSERVER) "mkdir -p staging/$(DISTTYPEDIR)/$(FULLVERSION)"
|
||||||
$(PYTHON) configure --prefix=/ \
|
scp -p iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz
|
||||||
--dest-cpu=$(DESTCPU) --tag=$(TAG) $(CONFIG_FLAGS)
|
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz.done"
|
||||||
$(MAKE) install DESTDIR=dist
|
ifeq ($(XZ), 0)
|
||||||
(cd dist; find * -type f | sort) > packlist
|
scp -p iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz
|
||||||
pkg_info -X pkg_install | \
|
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz.done"
|
||||||
egrep '^(MACHINE_ARCH|OPSYS|OS_VERSION|PKGTOOLS_VERSION)' > build-info
|
endif
|
||||||
pkg_create -B build-info -c tools/pkgsrc/comment -d tools/pkgsrc/description \
|
|
||||||
-f packlist -I /opt/local -p dist -U $(PKGSRC)
|
|
||||||
|
|
||||||
pkgsrc: $(PKGSRC)
|
|
||||||
|
|
||||||
haswrk=$(shell which wrk > /dev/null 2>&1; echo $$?)
|
haswrk=$(shell which wrk > /dev/null 2>&1; echo $$?)
|
||||||
wrk:
|
wrk:
|
||||||
|
|
|
@ -26,7 +26,7 @@ import nodedownload
|
||||||
parser = optparse.OptionParser()
|
parser = optparse.OptionParser()
|
||||||
|
|
||||||
valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux', 'android')
|
valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux', 'android')
|
||||||
valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'x32', 'x64')
|
valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'x32', 'x64', 'x86')
|
||||||
valid_arm_float_abi = ('soft', 'softfp', 'hard')
|
valid_arm_float_abi = ('soft', 'softfp', 'hard')
|
||||||
valid_mips_arch = ('loongson', 'r1', 'r2', 'r6', 'rx')
|
valid_mips_arch = ('loongson', 'r1', 'r2', 'r6', 'rx')
|
||||||
valid_mips_fpu = ('fp32', 'fp64', 'fpxx')
|
valid_mips_fpu = ('fp32', 'fp64', 'fpxx')
|
||||||
|
@ -607,6 +607,10 @@ def configure_node(o):
|
||||||
|
|
||||||
host_arch = host_arch_win() if os.name == 'nt' else host_arch_cc()
|
host_arch = host_arch_win() if os.name == 'nt' else host_arch_cc()
|
||||||
target_arch = options.dest_cpu or host_arch
|
target_arch = options.dest_cpu or host_arch
|
||||||
|
# ia32 is preferred by the build tools (GYP) over x86 even if we prefer the latter
|
||||||
|
# the Makefile resets this to x86 afterward
|
||||||
|
if target_arch == 'x86':
|
||||||
|
target_arch = 'ia32'
|
||||||
o['variables']['host_arch'] = host_arch
|
o['variables']['host_arch'] = host_arch
|
||||||
o['variables']['target_arch'] = target_arch
|
o['variables']['target_arch'] = target_arch
|
||||||
|
|
||||||
|
|
5
node.gyp
5
node.gyp
|
@ -184,12 +184,15 @@
|
||||||
'defines': [
|
'defines': [
|
||||||
'NODE_ARCH="<(target_arch)"',
|
'NODE_ARCH="<(target_arch)"',
|
||||||
'NODE_PLATFORM="<(OS)"',
|
'NODE_PLATFORM="<(OS)"',
|
||||||
'NODE_TAG="<(node_tag)"',
|
|
||||||
'NODE_V8_OPTIONS="<(node_v8_options)"',
|
'NODE_V8_OPTIONS="<(node_v8_options)"',
|
||||||
'NODE_WANT_INTERNALS=1',
|
'NODE_WANT_INTERNALS=1',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
||||||
'conditions': [
|
'conditions': [
|
||||||
|
[ 'node_tag!=""', {
|
||||||
|
'defines': [ 'NODE_TAG="<(node_tag)"' ],
|
||||||
|
}],
|
||||||
# No node_main.cc for anything except executable
|
# No node_main.cc for anything except executable
|
||||||
[ 'node_target_type!="executable"', {
|
[ 'node_target_type!="executable"', {
|
||||||
'sources!': [
|
'sources!': [
|
||||||
|
|
|
@ -12,23 +12,18 @@
|
||||||
#define NODE_STRINGIFY_HELPER(n) #n
|
#define NODE_STRINGIFY_HELPER(n) #n
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NODE_VERSION_IS_RELEASE
|
#ifndef NODE_TAG
|
||||||
# ifndef NODE_TAG
|
# if NODE_VERSION_IS_RELEASE
|
||||||
# define NODE_TAG ""
|
# define NODE_TAG ""
|
||||||
# endif
|
# else
|
||||||
# define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \
|
|
||||||
NODE_STRINGIFY(NODE_MINOR_VERSION) "." \
|
|
||||||
NODE_STRINGIFY(NODE_PATCH_VERSION) \
|
|
||||||
NODE_TAG
|
|
||||||
#else
|
|
||||||
# ifndef NODE_TAG
|
|
||||||
# define NODE_TAG "-pre"
|
# define NODE_TAG "-pre"
|
||||||
# endif
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
# define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \
|
# define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \
|
||||||
NODE_STRINGIFY(NODE_MINOR_VERSION) "." \
|
NODE_STRINGIFY(NODE_MINOR_VERSION) "." \
|
||||||
NODE_STRINGIFY(NODE_PATCH_VERSION) \
|
NODE_STRINGIFY(NODE_PATCH_VERSION) \
|
||||||
NODE_TAG
|
NODE_TAG
|
||||||
#endif
|
|
||||||
|
|
||||||
#define NODE_VERSION "v" NODE_VERSION_STRING
|
#define NODE_VERSION "v" NODE_VERSION_STRING
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<ProductVersion>3.5</ProductVersion>
|
<ProductVersion>3.5</ProductVersion>
|
||||||
<ProjectGuid>{1d808ff0-b5a9-4be9-859d-b334b6f48be2}</ProjectGuid>
|
<ProjectGuid>{1d808ff0-b5a9-4be9-859d-b334b6f48be2}</ProjectGuid>
|
||||||
<SchemaVersion>2.0</SchemaVersion>
|
<SchemaVersion>2.0</SchemaVersion>
|
||||||
<OutputName>iojs-v$(NodeVersion)-$(Platform)</OutputName>
|
<OutputName>iojs-v$(FullVersion)-$(Platform)</OutputName>
|
||||||
<OutputType>Package</OutputType>
|
<OutputType>Package</OutputType>
|
||||||
<EnableProjectHarvesting>True</EnableProjectHarvesting>
|
<EnableProjectHarvesting>True</EnableProjectHarvesting>
|
||||||
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
|
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
|
||||||
|
@ -14,25 +14,25 @@
|
||||||
<NodeVersion Condition=" '$(NodeVersion)' == '' ">0.0.0.0</NodeVersion>
|
<NodeVersion Condition=" '$(NodeVersion)' == '' ">0.0.0.0</NodeVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||||
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
|
<OutputPath>..\..\..\</OutputPath>
|
||||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
|
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||||
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
|
<OutputPath>..\..\..\</OutputPath>
|
||||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
|
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
|
||||||
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
|
<OutputPath>..\..\..\</OutputPath>
|
||||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
|
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
|
||||||
<Cultures>en-US</Cultures>
|
<Cultures>en-US</Cultures>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
|
||||||
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
|
<OutputPath>..\..\..\</OutputPath>
|
||||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
|
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<EnableProjectHarvesting>True</EnableProjectHarvesting>
|
<EnableProjectHarvesting>True</EnableProjectHarvesting>
|
||||||
|
|
|
@ -85,7 +85,7 @@
|
||||||
<Feature Level="1"
|
<Feature Level="1"
|
||||||
Id="DocumentationShortcuts"
|
Id="DocumentationShortcuts"
|
||||||
Title="Online documentation shortcuts"
|
Title="Online documentation shortcuts"
|
||||||
Description="Add start menu entries that link the the online documentation for io.js $(var.ProductVersion) and the io.js website.">
|
Description="Add start menu entries that link the the online documentation for io.js v$(var.FullVersion) and the io.js website.">
|
||||||
<ComponentRef Id="DocumentationShortcuts"/>
|
<ComponentRef Id="DocumentationShortcuts"/>
|
||||||
</Feature>
|
</Feature>
|
||||||
|
|
||||||
|
@ -225,7 +225,7 @@
|
||||||
Type="url"/>
|
Type="url"/>
|
||||||
<util:InternetShortcut Id="DocsShortcut"
|
<util:InternetShortcut Id="DocsShortcut"
|
||||||
Name="io.js documentation"
|
Name="io.js documentation"
|
||||||
Target="https://iojs.org/dist/v$(var.ProductVersion)/doc/api/"
|
Target="https://iojs.org/download/$(var.DistTypeDir)/v$(var.FullVersion)/doc/api/"
|
||||||
Type="url"/>
|
Type="url"/>
|
||||||
</Component>
|
</Component>
|
||||||
</DirectoryRef>
|
</DirectoryRef>
|
||||||
|
|
|
@ -3,10 +3,9 @@
|
||||||
set -x
|
set -x
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if ! [ -n "$SIGN" ] && [ $STEP -eq 1 ]; then
|
if [ "X$SIGN" == "X" ]; then
|
||||||
echo "No SIGN environment var. Skipping codesign." >&2
|
echo "No SIGN environment var. Skipping codesign." >&2
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
codesign -s "$SIGN" "$PKGDIR"/usr/local/bin/node
|
codesign -s "$SIGN" "$PKGDIR"/usr/local/bin/node
|
||||||
codesign -s "$SIGN" "$PKGDIR"/32/usr/local/bin/node
|
|
||||||
|
|
|
@ -1 +1,25 @@
|
||||||
<pkgref spec="1.12" uuid="053587FE-BDF3-4EF5-815D-281427431048"><config><identifier>org.iojs.pkg</identifier><version>1.0</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true" mod="true">../out/dist-osx/usr/local/</installFrom><installTo mod="true" relocatable="true">/usr/local</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>installTo.isRelativeType</mod><mod>installTo</mod><mod>locationType</mod><mod>relocatable</mod><mod>installFrom.path</mod><mod>installTo.isAbsoluteType</mod><mod>identifier</mod><mod>parent</mod><mod>installTo.path</mod><mod>installFrom.isRelativeType</mod></config></pkgref>
|
<pkgref spec="1.12" uuid="053587FE-BDF3-4EF5-815D-281427431048">
|
||||||
|
<config>
|
||||||
|
<identifier>org.iojs.iojs.pkg</identifier>
|
||||||
|
<version>1.0</version>
|
||||||
|
<description></description>
|
||||||
|
<post-install type="none"/>
|
||||||
|
<requireAuthorization/>
|
||||||
|
<installFrom relative="true" mod="true">../out/dist-osx/usr/local/</installFrom>
|
||||||
|
<installTo mod="true" relocatable="true">/usr/local</installTo>
|
||||||
|
<flags>
|
||||||
|
<followSymbolicLinks/>
|
||||||
|
</flags>
|
||||||
|
<packageStore type="internal"></packageStore>
|
||||||
|
<mod>installTo.isRelativeType</mod>
|
||||||
|
<mod>installTo</mod>
|
||||||
|
<mod>locationType</mod>
|
||||||
|
<mod>relocatable</mod>
|
||||||
|
<mod>installFrom.path</mod>
|
||||||
|
<mod>installTo.isAbsoluteType</mod>
|
||||||
|
<mod>identifier</mod>
|
||||||
|
<mod>parent</mod>
|
||||||
|
<mod>installTo.path</mod>
|
||||||
|
<mod>installFrom.isRelativeType</mod>
|
||||||
|
</config>
|
||||||
|
</pkgref>
|
||||||
|
|
|
@ -1 +1,24 @@
|
||||||
<pkgref spec="1.12" uuid="DF0233A3-6B5D-4FBF-8048-8FC57F42278F"><config><identifier>org.iojs.npm.pkg</identifier><version>1.0</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true">../deps/npm</installFrom><installTo mod="true">/usr/local/lib/node_modules/npm</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>installTo.path</mod><mod>installFrom.isRelativeType</mod><mod>installTo</mod><mod>scripts.postinstall.isRelativeType</mod><mod>parent</mod><mod>installTo.isAbsoluteType</mod></config><scripts><postinstall relative="true" mod="true">osx-pkg-postinstall.sh</postinstall></scripts></pkgref>
|
<pkgref spec="1.12" uuid="DF0233A3-6B5D-4FBF-8048-8FC57F42278F">
|
||||||
|
<config>
|
||||||
|
<identifier>org.iojs.npm.pkg</identifier>
|
||||||
|
<version>1.0</version>
|
||||||
|
<description></description>
|
||||||
|
<post-install type="none"/>
|
||||||
|
<requireAuthorization/>
|
||||||
|
<installFrom relative="true">../deps/npm</installFrom>
|
||||||
|
<installTo mod="true">/usr/local/lib/node_modules/npm</installTo>
|
||||||
|
<flags>
|
||||||
|
<followSymbolicLinks/>
|
||||||
|
</flags>
|
||||||
|
<packageStore type="internal"></packageStore>
|
||||||
|
<mod>installTo.path</mod>
|
||||||
|
<mod>installFrom.isRelativeType</mod>
|
||||||
|
<mod>installTo</mod>
|
||||||
|
<mod>scripts.postinstall.isRelativeType</mod>
|
||||||
|
<mod>parent</mod>
|
||||||
|
<mod>installTo.isAbsoluteType</mod>
|
||||||
|
</config>
|
||||||
|
<scripts>
|
||||||
|
<postinstall relative="true" mod="true">osx-pkg-postinstall.sh</postinstall>
|
||||||
|
</scripts>
|
||||||
|
</pkgref>
|
||||||
|
|
|
@ -1,9 +1,35 @@
|
||||||
<pkmkdoc spec="1.12"><properties><title>io.js</title><build>/Users/iojs/Desktop/iojs.pkg</build><organization>org.iojs</organization><userSees ui="both"/><min-target os="3"/><domain system="true"/></properties><distribution><versions min-spec="1.000000"/><scripts></scripts></distribution><contents><choice title="io.js" id="choice3" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="org.iojs.pkg"/></choice><choice title="npm" id="choice4" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="org.iojs.npm.pkg"/></choice></contents><resources bg-scale="none" bg-align="topleft"><locale lang="en"><resource relative="true" mod="true" type="background">../doc/osx_installer_logo.png</resource><resource relative="true" mod="true" type="license">../LICENSE</resource><resource mime-type="text/rtf" kind="embedded" type="welcome"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360
|
<pkmkdoc spec="1.12">
|
||||||
|
<properties>
|
||||||
|
<title>io.js</title>
|
||||||
|
<build>/Users/iojs/Desktop/iojs.pkg</build>
|
||||||
|
<organization>org.iojs</organization>
|
||||||
|
<userSees ui="both"/>
|
||||||
|
<min-target os="3"/>
|
||||||
|
<domain system="true"/>
|
||||||
|
</properties>
|
||||||
|
<distribution>
|
||||||
|
<versions min-spec="1.000000"/>
|
||||||
|
<scripts></scripts>
|
||||||
|
</distribution>
|
||||||
|
<contents>
|
||||||
|
<choice title="io.js" id="choice1" starts_selected="true" starts_enabled="true" starts_hidden="false">
|
||||||
|
<pkgref id="org.iojs.iojs.pkg"/>
|
||||||
|
</choice>
|
||||||
|
<choice title="npm" id="choice2" starts_selected="true" starts_enabled="true" starts_hidden="false">
|
||||||
|
<pkgref id="org.iojs.npm.pkg"/>
|
||||||
|
</choice>
|
||||||
|
</contents>
|
||||||
|
<resources bg-scale="none" bg-align="topleft">
|
||||||
|
<locale lang="en">
|
||||||
|
<resource relative="true" mod="true" type="background">../doc/osx_installer_logo.png</resource>
|
||||||
|
<resource relative="true" mod="true" type="license">../LICENSE</resource>
|
||||||
|
<resource mime-type="text/rtf" kind="embedded" type="welcome"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360
|
||||||
{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
|
{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
|
||||||
{\colortbl;\red255\green255\blue255;}
|
{\colortbl;\red255\green255\blue255;}
|
||||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
|
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
|
||||||
|
|
||||||
\f0\fs26 \cf0 This package will install io.js __iojsversion__ and npm __npmversion__ into /usr/local/. The binary /usr/local/bin/iojs will also be symlinked as /usr/local/bin/node.}]]></resource><resource mime-type="text/rtf" kind="embedded" type="conclusion"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360
|
\f0\fs26 \cf0 This package will install io.js {iojsversion} and npm {npmversion} into /usr/local/. The binary /usr/local/bin/iojs will also be symlinked as /usr/local/bin/node.}]]></resource>
|
||||||
|
<resource mime-type="text/rtf" kind="embedded" type="conclusion"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360
|
||||||
{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
|
{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
|
||||||
{\colortbl;\red255\green255\blue255;}
|
{\colortbl;\red255\green255\blue255;}
|
||||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
|
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
|
||||||
|
@ -18,4 +44,14 @@ npm was installed at\
|
||||||
\
|
\
|
||||||
/usr/local/bin/npm\
|
/usr/local/bin/npm\
|
||||||
\
|
\
|
||||||
Make sure that /usr/local/bin is in your $PATH.}]]></resource></locale></resources><flags/><item type="file">01local.xml</item><item type="file">02npm.xml</item><mod>properties.title</mod><mod>properties.userDomain</mod><mod>properties.anywhereDomain</mod><mod>properties.systemDomain</mod></pkmkdoc>
|
Make sure that /usr/local/bin is in your $PATH.}]]></resource>
|
||||||
|
</locale>
|
||||||
|
</resources>
|
||||||
|
<flags/>
|
||||||
|
<item type="file">01local.xml</item>
|
||||||
|
<item type="file">02npm.xml</item>
|
||||||
|
<mod>properties.title</mod>
|
||||||
|
<mod>properties.userDomain</mod>
|
||||||
|
<mod>properties.anywhereDomain</mod>
|
||||||
|
<mod>properties.systemDomain</mod>
|
||||||
|
</pkmkdoc>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
set -x
|
set -x
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if ! [ -n "$SIGN" ]; then
|
if [ "X$SIGN" == "X" ]; then
|
||||||
echo "No SIGN environment var. Skipping codesign." >&2
|
echo "No SIGN environment var. Skipping codesign." >&2
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
93
vcbuild.bat
93
vcbuild.bat
|
@ -13,9 +13,8 @@ if /i "%1"=="/?" goto help
|
||||||
|
|
||||||
@rem Process arguments.
|
@rem Process arguments.
|
||||||
set config=Release
|
set config=Release
|
||||||
set msiplatform=x86
|
|
||||||
set target=Build
|
set target=Build
|
||||||
set target_arch=ia32
|
set target_arch=x86
|
||||||
set debug_arg=
|
set debug_arg=
|
||||||
set snapshot_arg=
|
set snapshot_arg=
|
||||||
set noprojgen=
|
set noprojgen=
|
||||||
|
@ -24,6 +23,7 @@ set nosign=
|
||||||
set nosnapshot=
|
set nosnapshot=
|
||||||
set test_args=
|
set test_args=
|
||||||
set msi=
|
set msi=
|
||||||
|
set upload=
|
||||||
set licensertf=
|
set licensertf=
|
||||||
set jslint=
|
set jslint=
|
||||||
set buildnodeweak=
|
set buildnodeweak=
|
||||||
|
@ -41,8 +41,8 @@ if "%1"=="" goto args-done
|
||||||
if /i "%1"=="debug" set config=Debug&goto arg-ok
|
if /i "%1"=="debug" set config=Debug&goto arg-ok
|
||||||
if /i "%1"=="release" set config=Release&goto arg-ok
|
if /i "%1"=="release" set config=Release&goto arg-ok
|
||||||
if /i "%1"=="clean" set target=Clean&goto arg-ok
|
if /i "%1"=="clean" set target=Clean&goto arg-ok
|
||||||
if /i "%1"=="ia32" set target_arch=ia32&goto arg-ok
|
if /i "%1"=="ia32" set target_arch=x86&goto arg-ok
|
||||||
if /i "%1"=="x86" set target_arch=ia32&goto arg-ok
|
if /i "%1"=="x86" set target_arch=x86&goto arg-ok
|
||||||
if /i "%1"=="x64" set target_arch=x64&goto arg-ok
|
if /i "%1"=="x64" set target_arch=x64&goto arg-ok
|
||||||
if /i "%1"=="noprojgen" set noprojgen=1&goto arg-ok
|
if /i "%1"=="noprojgen" set noprojgen=1&goto arg-ok
|
||||||
if /i "%1"=="nobuild" set nobuild=1&goto arg-ok
|
if /i "%1"=="nobuild" set nobuild=1&goto arg-ok
|
||||||
|
@ -61,6 +61,7 @@ if /i "%1"=="test-pummel" set test_args=%test_args% pummel&goto arg-ok
|
||||||
if /i "%1"=="test-all" set test_args=%test_args% sequential parallel message gc internet pummel&set buildnodeweak=1&set jslint=1&goto arg-ok
|
if /i "%1"=="test-all" set test_args=%test_args% sequential parallel message gc internet pummel&set buildnodeweak=1&set jslint=1&goto arg-ok
|
||||||
if /i "%1"=="jslint" set jslint=1&goto arg-ok
|
if /i "%1"=="jslint" set jslint=1&goto arg-ok
|
||||||
if /i "%1"=="msi" set msi=1&set licensertf=1&goto arg-ok
|
if /i "%1"=="msi" set msi=1&set licensertf=1&goto arg-ok
|
||||||
|
if /i "%1"=="upload" set upload=1&goto arg-ok
|
||||||
if /i "%1"=="small-icu" set i18n_arg=%1&goto arg-ok
|
if /i "%1"=="small-icu" set i18n_arg=%1&goto arg-ok
|
||||||
if /i "%1"=="full-icu" set i18n_arg=%1&goto arg-ok
|
if /i "%1"=="full-icu" set i18n_arg=%1&goto arg-ok
|
||||||
if /i "%1"=="intl-none" set i18n_arg=%1&goto arg-ok
|
if /i "%1"=="intl-none" set i18n_arg=%1&goto arg-ok
|
||||||
|
@ -75,7 +76,6 @@ goto next-arg
|
||||||
|
|
||||||
:args-done
|
:args-done
|
||||||
if "%config%"=="Debug" set debug_arg=--debug
|
if "%config%"=="Debug" set debug_arg=--debug
|
||||||
if "%target_arch%"=="x64" set msiplatform=x64
|
|
||||||
if defined nosnapshot set snapshot_arg=--without-snapshot
|
if defined nosnapshot set snapshot_arg=--without-snapshot
|
||||||
if defined noetw set noetw_arg=--without-etw& set noetw_msi_arg=/p:NoETW=1
|
if defined noetw set noetw_arg=--without-etw& set noetw_msi_arg=/p:NoETW=1
|
||||||
if defined noperfctr set noperfctr_arg=--without-perfctr& set noperfctr_msi_arg=/p:NoPerfCtr=1
|
if defined noperfctr set noperfctr_arg=--without-perfctr& set noperfctr_msi_arg=/p:NoPerfCtr=1
|
||||||
|
@ -84,9 +84,21 @@ if "%i18n_arg%"=="full-icu" set i18n_arg=--with-intl=full-icu
|
||||||
if "%i18n_arg%"=="small-icu" set i18n_arg=--with-intl=small-icu
|
if "%i18n_arg%"=="small-icu" set i18n_arg=--with-intl=small-icu
|
||||||
if "%i18n_arg%"=="intl-none" set i18n_arg=--with-intl=none
|
if "%i18n_arg%"=="intl-none" set i18n_arg=--with-intl=none
|
||||||
|
|
||||||
if defined NIGHTLY set TAG=nightly-%NIGHTLY%
|
call :getnodeversion || exit /b 1
|
||||||
|
|
||||||
@rem Set environment for msbuild
|
@rem Set environment for msbuild
|
||||||
|
:project-gen
|
||||||
|
@rem Skip project generation if requested.
|
||||||
|
if defined noprojgen goto msbuild
|
||||||
|
|
||||||
|
@rem Generate the VS project.
|
||||||
|
SETLOCAL
|
||||||
|
if defined VS100COMNTOOLS call "%VS100COMNTOOLS%\VCVarsQueryRegistry.bat"
|
||||||
|
python configure %download_arg% %i18n_arg% %debug_arg% %snapshot_arg% %noetw_arg% %noperfctr_arg% --dest-cpu=%target_arch% --tag=%TAG%
|
||||||
|
if errorlevel 1 goto create-msvs-files-failed
|
||||||
|
if not exist node.sln goto create-msvs-files-failed
|
||||||
|
echo Project files generated.
|
||||||
|
ENDLOCAL
|
||||||
|
|
||||||
@rem Look for Visual Studio 2015
|
@rem Look for Visual Studio 2015
|
||||||
if not defined VS140COMNTOOLS goto vc-set-2013
|
if not defined VS140COMNTOOLS goto vc-set-2013
|
||||||
|
@ -152,20 +164,31 @@ if errorlevel 1 echo Failed to generate license.rtf&goto exit
|
||||||
:msi
|
:msi
|
||||||
@rem Skip msi generation if not requested
|
@rem Skip msi generation if not requested
|
||||||
if not defined msi goto run
|
if not defined msi goto run
|
||||||
call :getnodeversion
|
|
||||||
|
|
||||||
if not defined NIGHTLY goto msibuild
|
|
||||||
set NODE_VERSION=%NODE_VERSION%.%NIGHTLY%
|
|
||||||
|
|
||||||
:msibuild
|
:msibuild
|
||||||
echo Building iojs-%NODE_VERSION%
|
echo Building iojs-v%FULLVERSION%-%target_arch%.msi
|
||||||
msbuild "%~dp0tools\msvs\msi\nodemsi.sln" /m /t:Clean,Build /p:Configuration=%config% /p:Platform=%msiplatform% /p:NodeVersion=%NODE_VERSION% %noetw_msi_arg% %noperfctr_msi_arg% /clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo
|
msbuild "%~dp0tools\msvs\msi\nodemsi.sln" /m /t:Clean,Build /p:Configuration=%config% /p:Platform=%target_arch% /p:NodeVersion=%NODE_VERSION% /p:FullVersion=%FULLVERSION% /p:DistTypeDir=%DISTTYPEDIR% %noetw_msi_arg% %noperfctr_msi_arg% /clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo
|
||||||
if errorlevel 1 goto exit
|
if errorlevel 1 goto exit
|
||||||
|
|
||||||
if defined nosign goto run
|
if defined nosign goto upload
|
||||||
signtool sign /a /d "io.js" /t http://timestamp.globalsign.com/scripts/timestamp.dll Release\iojs-v%NODE_VERSION%-%msiplatform%.msi
|
signtool sign /a /d "io.js" /t http://timestamp.globalsign.com/scripts/timestamp.dll iojs-v%FULLVERSION%-%target_arch%.msi
|
||||||
if errorlevel 1 echo Failed to sign msi&goto exit
|
if errorlevel 1 echo Failed to sign msi&goto exit
|
||||||
|
|
||||||
|
:upload
|
||||||
|
@rem Skip upload if not requested
|
||||||
|
if not defined upload goto run
|
||||||
|
|
||||||
|
if not defined SSHCONFIG (
|
||||||
|
echo SSHCONFIG is not set for upload
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
if not defined STAGINGSERVER set STAGINGSERVER=iojs-www
|
||||||
|
ssh -F %SSHCONFIG% %STAGINGSERVER% "mkdir -p staging/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%"
|
||||||
|
scp -F %SSHCONFIG% Release\iojs.exe %STAGINGSERVER%:staging/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%/iojs.exe
|
||||||
|
scp -F %SSHCONFIG% Release\iojs.lib %STAGINGSERVER%:staging/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%/iojs.lib
|
||||||
|
scp -F %SSHCONFIG% iojs-v%FULLVERSION%-%target_arch%.msi %STAGINGSERVER%:staging/%DISTTYPEDIR%/v%FULLVERSION%/
|
||||||
|
ssh -F %SSHCONFIG% %STAGINGSERVER% "touch staging/%DISTTYPEDIR%/v%FULLVERSION%/iojs-v%FULLVERSION%-%target_arch%.msi.done staging/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%.done"
|
||||||
|
|
||||||
:run
|
:run
|
||||||
@rem Run tests if requested.
|
@rem Run tests if requested.
|
||||||
|
|
||||||
|
@ -218,6 +241,46 @@ rem ***************
|
||||||
|
|
||||||
:getnodeversion
|
:getnodeversion
|
||||||
set NODE_VERSION=
|
set NODE_VERSION=
|
||||||
|
set TAG=
|
||||||
|
set FULLVERSION=
|
||||||
|
|
||||||
for /F "usebackq tokens=*" %%i in (`python "%~dp0tools\getnodeversion.py"`) do set NODE_VERSION=%%i
|
for /F "usebackq tokens=*" %%i in (`python "%~dp0tools\getnodeversion.py"`) do set NODE_VERSION=%%i
|
||||||
if not defined NODE_VERSION echo Cannot determine current version of io.js & exit /b 1
|
if not defined NODE_VERSION (
|
||||||
|
echo Cannot determine current version of io.js
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
if not defined DISTTYPE set DISTTYPE=release
|
||||||
|
if "%DISTTYPE%"=="release" (
|
||||||
|
set FULLVERSION=%NODE_VERSION%
|
||||||
|
goto exit
|
||||||
|
)
|
||||||
|
if "%DISTTYPE%"=="custom" (
|
||||||
|
if not defined CUSTOMTAG (
|
||||||
|
echo "CUSTOMTAG is not set for DISTTYPE=custom"
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
set TAG=%CUSTOMTAG%
|
||||||
|
)
|
||||||
|
if not "%DISTTYPE%"=="custom" (
|
||||||
|
if not defined DATESTRING (
|
||||||
|
echo "DATESTRING is not set for nightly"
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
if not defined COMMIT (
|
||||||
|
echo "COMMIT is not set for nightly"
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
if not "%DISTTYPE%"=="nightly" (
|
||||||
|
if not "%DISTTYPE%"=="next-nightly" (
|
||||||
|
echo "DISTTYPE is not release, custom, nightly or next-nightly"
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
)
|
||||||
|
set TAG=%DISTTYPE%%DATESTRING%%COMMIT%
|
||||||
|
)
|
||||||
|
set FULLVERSION=%NODE_VERSION%-%TAG%
|
||||||
|
|
||||||
|
:exit
|
||||||
|
if not defined DISTTYPEDIR set DISTTYPEDIR=%DISTTYPE%
|
||||||
goto :EOF
|
goto :EOF
|
||||||
|
|
Loading…
Reference in New Issue